@acorex/components 6.0.5 → 6.0.10

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 (77) hide show
  1. package/alert/src/alert.component.d.ts +1 -1
  2. package/badge/src/badge.component.d.ts +1 -1
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -4
  4. package/button/src/button-group.component.d.ts +4 -4
  5. package/button/src/button-item.component.d.ts +4 -4
  6. package/color-picker/src/color-picker.component.d.ts +14 -14
  7. package/data-table/src/data-table.component.d.ts +3 -1
  8. package/date-picker/src/datepicker.component.d.ts +11 -11
  9. package/esm2020/color-palette/src/color-palette-picker.component.mjs +1 -1
  10. package/esm2020/context-menu/src/context-menu.component.mjs +17 -15
  11. package/esm2020/data-table/src/data-table.component.mjs +11 -4
  12. package/esm2020/form/src/form.component.mjs +8 -3
  13. package/esm2020/image-uploader/acorex-components-image-uploader.mjs +5 -0
  14. package/esm2020/image-uploader/public-api.mjs +3 -0
  15. package/esm2020/image-uploader/src/image-uploader.component.mjs +16 -0
  16. package/esm2020/image-uploader/src/image-uploader.module.mjs +19 -0
  17. package/esm2020/menu/src/menu.component.mjs +5 -3
  18. package/esm2020/mixin/src/datalist-component.class.mjs +1 -1
  19. package/esm2020/popover/src/popover.component.mjs +2 -2
  20. package/esm2020/range-slider/src/range-slider.component.mjs +8 -5
  21. package/fesm2015/acorex-components-color-palette.mjs +1 -1
  22. package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
  23. package/fesm2015/acorex-components-context-menu.mjs +16 -14
  24. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  25. package/fesm2015/acorex-components-data-table.mjs +10 -3
  26. package/fesm2015/acorex-components-data-table.mjs.map +1 -1
  27. package/fesm2015/acorex-components-form.mjs +7 -2
  28. package/fesm2015/acorex-components-form.mjs.map +1 -1
  29. package/fesm2015/acorex-components-image-uploader.mjs +39 -0
  30. package/fesm2015/acorex-components-image-uploader.mjs.map +1 -0
  31. package/fesm2015/acorex-components-menu.mjs +4 -2
  32. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  33. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  34. package/fesm2015/acorex-components-popover.mjs +1 -1
  35. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  36. package/fesm2015/acorex-components-range-slider.mjs +5 -2
  37. package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
  38. package/fesm2020/acorex-components-color-palette.mjs +1 -1
  39. package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
  40. package/fesm2020/acorex-components-context-menu.mjs +16 -14
  41. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  42. package/fesm2020/acorex-components-data-table.mjs +10 -3
  43. package/fesm2020/acorex-components-data-table.mjs.map +1 -1
  44. package/fesm2020/acorex-components-form.mjs +7 -2
  45. package/fesm2020/acorex-components-form.mjs.map +1 -1
  46. package/fesm2020/acorex-components-image-uploader.mjs +39 -0
  47. package/fesm2020/acorex-components-image-uploader.mjs.map +1 -0
  48. package/fesm2020/acorex-components-menu.mjs +4 -2
  49. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  50. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  51. package/fesm2020/acorex-components-popover.mjs +1 -1
  52. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  53. package/fesm2020/acorex-components-range-slider.mjs +5 -2
  54. package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
  55. package/form/src/form.component.d.ts +2 -1
  56. package/image-uploader/index.d.ts +5 -0
  57. package/image-uploader/public-api.d.ts +2 -0
  58. package/image-uploader/src/image-uploader.component.d.ts +9 -0
  59. package/image-uploader/src/image-uploader.module.d.ts +8 -0
  60. package/mixin/src/base-components.class.d.ts +1 -1
  61. package/mixin/src/base-menu-mixin.class.d.ts +4 -4
  62. package/mixin/src/button-mixin.class.d.ts +1 -1
  63. package/mixin/src/clickable-mixin.class.d.ts +1 -1
  64. package/mixin/src/color-look-mixing.class.d.ts +1 -1
  65. package/mixin/src/datalist-component.class.d.ts +9 -9
  66. package/mixin/src/dropdown-mixin.class.d.ts +1 -1
  67. package/mixin/src/interactive-mixin.class.d.ts +3 -3
  68. package/mixin/src/loading-mixin.class.d.ts +1 -1
  69. package/mixin/src/mixin.class.d.ts +42 -42
  70. package/mixin/src/page-component.class.d.ts +1 -1
  71. package/mixin/src/selection-component.class.d.ts +1 -1
  72. package/mixin/src/sizable-mixin.class.d.ts +1 -1
  73. package/mixin/src/textbox-mixin.class.d.ts +3 -3
  74. package/mixin/src/value-mixin.class.d.ts +7 -7
  75. package/package.json +9 -1
  76. package/range-slider/src/range-slider.component.d.ts +2 -1
  77. package/tabs/src/tab-item.component.d.ts +1 -1
@@ -11,7 +11,7 @@ export declare const AXBaseAlertMixin: (new (...args: any[]) => {
11
11
  look: import("@acorex/components/common").AXStyleLookType;
12
12
  id: string;
13
13
  rtl: boolean;
14
- "__#32625@#elementRef": ElementRef<any>;
14
+ "__#33097@#elementRef": ElementRef<any>;
15
15
  _cdr: ChangeDetectorRef;
16
16
  _isInited: boolean;
17
17
  _isRendered: boolean;
@@ -10,7 +10,7 @@ export declare const AXBaseBadgeMixin: (new (...args: any[]) => {
10
10
  look: import("@acorex/components/common").AXStyleLookType;
11
11
  id: string;
12
12
  rtl: boolean;
13
- "__#32625@#elementRef": ElementRef<any>;
13
+ "__#33097@#elementRef": ElementRef<any>;
14
14
  _cdr: ChangeDetectorRef;
15
15
  _isInited: boolean;
16
16
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { ChangeDetectorRef, ElementRef } from '@angular/core';
3
3
  import { AXBreadCrumbsComponent } from './breadcrumbs.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) => {
6
- "__#32628@#disabled": boolean;
6
+ "__#33100@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#32628@#tabIndex": number;
8
+ "__#33100@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -15,7 +15,7 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
17
  rtl: boolean;
18
- "__#32625@#elementRef": ElementRef<any>;
18
+ "__#33097@#elementRef": ElementRef<any>;
19
19
  _cdr: ChangeDetectorRef;
20
20
  _isInited: boolean;
21
21
  _isRendered: boolean;
@@ -38,7 +38,7 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
38
38
  _emitOnClickEvent(e: MouseEvent): void;
39
39
  id: string;
40
40
  rtl: boolean;
41
- "__#32625@#elementRef": ElementRef<any>;
41
+ "__#33097@#elementRef": ElementRef<any>;
42
42
  /**
43
43
  * @ignore
44
44
  */
@@ -4,9 +4,9 @@ import { AXClickEvent, AXItemClickEvent, AXSelectionMode, AXSelectionValueChange
4
4
  import { AXBaseComponent } from '@acorex/components/mixin';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
7
- "__#32628@#disabled": boolean;
7
+ "__#33100@#disabled": boolean;
8
8
  disabled: boolean;
9
- "__#32628@#tabIndex": number;
9
+ "__#33100@#tabIndex": number;
10
10
  tabIndex: number;
11
11
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
12
12
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -16,7 +16,7 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
16
16
  hasFocus(): boolean;
17
17
  id: string;
18
18
  rtl: boolean;
19
- "__#32625@#elementRef": ElementRef<any>;
19
+ "__#33097@#elementRef": ElementRef<any>;
20
20
  _cdr: ChangeDetectorRef;
21
21
  _isInited: boolean;
22
22
  _isRendered: boolean;
@@ -43,7 +43,7 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
43
43
  look: import("@acorex/components/common").AXStyleLookType;
44
44
  id: string;
45
45
  rtl: boolean;
46
- "__#32625@#elementRef": ElementRef<any>;
46
+ "__#33097@#elementRef": ElementRef<any>;
47
47
  _cdr: ChangeDetectorRef;
48
48
  _isInited: boolean;
49
49
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { AXStyleColorType } from '@acorex/components/common';
3
3
  import { AXBaseComponent } from '@acorex/components/mixin';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
6
- "__#32628@#disabled": boolean;
6
+ "__#33100@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#32628@#tabIndex": number;
8
+ "__#33100@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -15,7 +15,7 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
17
  rtl: boolean;
18
- "__#32625@#elementRef": ElementRef<any>;
18
+ "__#33097@#elementRef": ElementRef<any>;
19
19
  _cdr: ChangeDetectorRef;
20
20
  _isInited: boolean;
21
21
  _isRendered: boolean;
@@ -38,7 +38,7 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
38
38
  _emitOnClickEvent(e: MouseEvent): void;
39
39
  id: string;
40
40
  rtl: boolean;
41
- "__#32625@#elementRef": ElementRef<any>;
41
+ "__#33097@#elementRef": ElementRef<any>;
42
42
  _cdr: ChangeDetectorRef;
43
43
  _isInited: boolean;
44
44
  _isRendered: boolean;
@@ -6,9 +6,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
6
6
  import { AXBaseComponent } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
9
- "__#32628@#disabled": boolean;
9
+ "__#33100@#disabled": boolean;
10
10
  disabled: boolean;
11
- "__#32628@#tabIndex": number;
11
+ "__#33100@#tabIndex": number;
12
12
  tabIndex: number;
13
13
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
14
14
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -18,7 +18,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
18
18
  hasFocus(): boolean;
19
19
  id: string;
20
20
  rtl: boolean;
21
- "__#32625@#elementRef": ElementRef<any>;
21
+ "__#33097@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -52,7 +52,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
52
52
  readonly isOpen: boolean;
53
53
  id: string;
54
54
  rtl: boolean;
55
- "__#32625@#elementRef": ElementRef<any>;
55
+ "__#33097@#elementRef": ElementRef<any>;
56
56
  _cdr: ChangeDetectorRef;
57
57
  _isInited: boolean;
58
58
  _isRendered: boolean;
@@ -71,17 +71,17 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
71
71
  }) & (new (...args: any[]) => {
72
72
  onValueChanged: import("@angular/core").EventEmitter<AXValueChangedEvent<any>>;
73
73
  valueChange: import("@angular/core").EventEmitter<any>;
74
- "__#32630@#readonly": boolean;
74
+ "__#33102@#readonly": boolean;
75
75
  readonly: boolean;
76
- "__#32630@#allowNull": boolean;
76
+ "__#33102@#allowNull": boolean;
77
77
  allowNull: boolean;
78
- "__#32630@#name": string;
78
+ "__#33102@#name": string;
79
79
  name: string;
80
- "__#32630@#isUserInteraction": boolean;
80
+ "__#33102@#isUserInteraction": boolean;
81
81
  readonly isUserInteraction: boolean;
82
- "__#32630@#value": any;
82
+ "__#33102@#value": any;
83
83
  value: any;
84
- "__#32630@#state": "error" | "clear" | "success";
84
+ "__#33102@#state": "error" | "clear" | "success";
85
85
  readonly state: "error" | "clear" | "success";
86
86
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
87
87
  _internalSetValue(value: any): any;
@@ -97,7 +97,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
97
97
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
98
98
  id: string;
99
99
  rtl: boolean;
100
- "__#32625@#elementRef": ElementRef<any>;
100
+ "__#33097@#elementRef": ElementRef<any>;
101
101
  _cdr: ChangeDetectorRef;
102
102
  _isInited: boolean;
103
103
  _isRendered: boolean;
@@ -119,8 +119,8 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
119
119
  maxLength: number;
120
120
  autoComplete: string;
121
121
  debounceTime: number;
122
- "__#32629@#valueSubscription": import("rxjs").Subscription;
123
- "__#32629@#valueSubject": import("rxjs").Subject<unknown>;
122
+ "__#33101@#valueSubscription": import("rxjs").Subscription;
123
+ "__#33101@#valueSubject": import("rxjs").Subject<unknown>;
124
124
  onKeyDown: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
125
125
  onKeyUp: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
126
126
  onKeyPress: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
@@ -133,7 +133,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
133
133
  onDestroy(): void;
134
134
  id: string;
135
135
  rtl: boolean;
136
- "__#32625@#elementRef": ElementRef<any>;
136
+ "__#33097@#elementRef": ElementRef<any>;
137
137
  _cdr: ChangeDetectorRef;
138
138
  _isInited: boolean;
139
139
  _isRendered: boolean;
@@ -7,6 +7,8 @@ export declare class AXDataTableComponent extends AXBaseComponentMixin implement
7
7
  _columns: QueryList<AXDataColumnComponent>;
8
8
  onPageChanged: EventEmitter<AXValueChangedEvent<number>>;
9
9
  rowTemplate?: TemplateRef<any>;
10
+ emptyTemplate?: TemplateRef<any>;
11
+ showHeader: boolean;
10
12
  private _pageSize;
11
13
  get pageSize(): number;
12
14
  set pageSize(v: number);
@@ -31,5 +33,5 @@ export declare class AXDataTableComponent extends AXBaseComponentMixin implement
31
33
  refresh(): void;
32
34
  goToPage(page: number): void;
33
35
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "rowTemplate": "rowTemplate"; "pageSize": "pageSize"; "fetchDataMode": "fetchDataMode"; "items": "items"; }, { "onPageChanged": "onPageChanged"; }, ["_columns"], ["ax-header", "ax-footer"], false>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "rowTemplate": "rowTemplate"; "emptyTemplate": "emptyTemplate"; "showHeader": "showHeader"; "pageSize": "pageSize"; "fetchDataMode": "fetchDataMode"; "items": "items"; }, { "onPageChanged": "onPageChanged"; }, ["_columns"], ["ax-header", "ax-footer"], false>;
35
37
  }
@@ -6,9 +6,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
6
6
  import { AXComponentOptionChanged } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
9
- "__#32628@#disabled": boolean;
9
+ "__#33100@#disabled": boolean;
10
10
  disabled: boolean;
11
- "__#32628@#tabIndex": number;
11
+ "__#33100@#tabIndex": number;
12
12
  tabIndex: number;
13
13
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
14
14
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -18,7 +18,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
18
18
  hasFocus(): boolean;
19
19
  id: string;
20
20
  rtl: boolean;
21
- "__#32625@#elementRef": ElementRef<any>;
21
+ "__#33097@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -52,7 +52,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
52
52
  readonly isOpen: boolean;
53
53
  id: string;
54
54
  rtl: boolean;
55
- "__#32625@#elementRef": ElementRef<any>;
55
+ "__#33097@#elementRef": ElementRef<any>;
56
56
  _cdr: ChangeDetectorRef;
57
57
  _isInited: boolean;
58
58
  _isRendered: boolean;
@@ -71,17 +71,17 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
71
71
  }) & (new (...args: any[]) => {
72
72
  onValueChanged: EventEmitter<import("@acorex/components/common").AXValueChangedEvent<any>>;
73
73
  valueChange: EventEmitter<any>;
74
- "__#32630@#readonly": boolean;
74
+ "__#33102@#readonly": boolean;
75
75
  readonly: boolean;
76
- "__#32630@#allowNull": boolean;
76
+ "__#33102@#allowNull": boolean;
77
77
  allowNull: boolean;
78
- "__#32630@#name": string;
78
+ "__#33102@#name": string;
79
79
  name: string;
80
- "__#32630@#isUserInteraction": boolean;
80
+ "__#33102@#isUserInteraction": boolean;
81
81
  readonly isUserInteraction: boolean;
82
- "__#32630@#value": any;
82
+ "__#33102@#value": any;
83
83
  value: any;
84
- "__#32630@#state": "error" | "clear" | "success";
84
+ "__#33102@#state": "error" | "clear" | "success";
85
85
  readonly state: "error" | "clear" | "success";
86
86
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
87
87
  _internalSetValue(value: any): any;
@@ -97,7 +97,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
97
97
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
98
98
  id: string;
99
99
  rtl: boolean;
100
- "__#32625@#elementRef": ElementRef<any>;
100
+ "__#33097@#elementRef": ElementRef<any>;
101
101
  _cdr: ChangeDetectorRef;
102
102
  _isInited: boolean;
103
103
  _isRendered: boolean;
@@ -79,7 +79,7 @@ AXColorPalettePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
79
79
  provide: AXColorPaletteChildComponent,
80
80
  useExisting: AXColorPalettePickerComponent,
81
81
  },
82
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-color\"></div>\r\n <div class=\"ax-color-picker-overlay-gradient\"></div>\r\n <div class=\"ax-color-picker-pointer\"></div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color"], outputs: ["valueChange", "onValueChanged", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
82
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-color\"></div>\r\n <div class=\"ax-color-picker-overlay-gradient\"></div>\r\n <div class=\"ax-color-picker-pointer\"></div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color", "oriantaion"], outputs: ["valueChange", "onValueChanged", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'ax-color-palette-picker', host: { class: 'ax-color-palette-picker' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -40,20 +40,22 @@ export class AXContextMenuComponent extends AXBaseMenuMixin {
40
40
  ngAfterViewInit() {
41
41
  super.onViewInit();
42
42
  this._templatePortal = new TemplatePortal(this._contextTemplate ? this._contextTemplate : this._menuTmp, this._viewContainerRef);
43
- this._target.addEventListener('contextmenu', (e) => {
44
- e.preventDefault();
45
- const position = {
46
- getBoundingClientRect: () => ({
47
- bottom: e.clientY,
48
- height: 0,
49
- left: e.clientX,
50
- right: e.clientX,
51
- top: e.clientY,
52
- width: 0,
53
- }),
54
- };
55
- this._openAsOverlay(new ElementRef(position));
56
- });
43
+ if (this._target) {
44
+ this._target.addEventListener('contextmenu', (e) => {
45
+ e.preventDefault();
46
+ const position = {
47
+ getBoundingClientRect: () => ({
48
+ bottom: e.clientY,
49
+ height: 0,
50
+ left: e.clientX,
51
+ right: e.clientX,
52
+ top: e.clientY,
53
+ width: 0,
54
+ }),
55
+ };
56
+ this._openAsOverlay(new ElementRef(position));
57
+ });
58
+ }
57
59
  }
58
60
  _openAsOverlay(position) {
59
61
  this._overlayRef = this._overlay.create({
@@ -254,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
254
256
  }], target: [{
255
257
  type: Input
256
258
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixVQUFVLEVBR1YsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3JEOzs7O0dBSUc7QUF3QkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUE0QnpELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsaUJBQW1DLEVBQ25DLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFOaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFHL0IsQ0FBQztJQWhDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVdELElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lB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YUFBYTtxQkFDZCxXQUNRLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxtQkFDaEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTsrTUFJckMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVE1QixRQUFRO3NCQURQLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVM0IsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBJbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJhc2VNZW51TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNvbnRleHQtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAnZGlzYWJsZWQnLFxyXG4gICAgJ3RleHRGaWVsZCcsXHJcbiAgICAndmFsdWVGaWVsZCcsXHJcbiAgICAnaXRlbXMnLFxyXG4gICAgJ3BhcmVudElkJyxcclxuICAgICdpY29uRmllbGQnLFxyXG4gICAgJ2lzT3BlbicsXHJcbiAgICAnaXNBY3RpdmUnLFxyXG4gICAgJ3Zpc2libGVGaWVsZCcsXHJcbiAgICAnZGlzYWJsZUZpZWxkJyxcclxuICAgICdoYXNDaGlsZEZpZWxkJyxcclxuICAgICdkaXZpZGVyRmllbGQnLFxyXG4gICAgJ29wZW5Nb2RlJyxcclxuICAgICdvcmllbnRhdGlvbicsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ29uQmx1cicsICdvbkZvY3VzJywgJ29uTWVudUl0ZW1DbGljayddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdjb250ZXh0VGVtcGxhdGUnKVxyXG4gIF9jb250ZXh0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGdldCBjb250ZXh0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGV4dFRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnbWVudVRtcCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgX21lbnVUbXA6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcblxyXG4gIHByaXZhdGUgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB0aGlzLl90YXJnZXQgPSB2O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHRoaXMuX3RhcmdldCA9IHYubmF0aXZlRWxlbWVudDtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBBWEJhc2VDb21wb25lbnQpIHRoaXMuX3RhcmdldCA9IHYuX2dldElubmVyRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuXHJcbiAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgdGhpcy5fY29udGV4dFRlbXBsYXRlID8gdGhpcy5fY29udGV4dFRlbXBsYXRlIDogdGhpcy5fbWVudVRtcCxcclxuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0ge1xyXG4gICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCkgPT4gKHtcclxuICAgICAgICAgIGJvdHRvbTogZS5jbGllbnRZLFxyXG4gICAgICAgICAgaGVpZ2h0OiAwLFxyXG4gICAgICAgICAgbGVmdDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgcmlnaHQ6IGUuY2xpZW50WCxcclxuICAgICAgICAgIHRvcDogZS5jbGllbnRZLFxyXG4gICAgICAgICAgd2lkdGg6IDAsXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkobmV3IEVsZW1lbnRSZWYocG9zaXRpb24pKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzT3ZlcmxheShwb3NpdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9zaXRpb24pXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSlcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZSgpIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICB0aGlzLmRpc3BsYXlJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqZGVmdWx0VG1wKioqKioqKioqKiovXHJcbiAgb25Db250ZXh0TWVudUNsaWNrKGUpIHtcclxuICAgIHRoaXMub25NZW51SXRlbUNsaWNrLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGV4dFRlbXBsYXRlUmVmPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHRUZW1wbGF0ZSAgZWxzZSBtZW51VG1wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnRleHQtbWVudVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGV4dFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51VG1wPlxyXG4gICAgPGF4LW1lbnUgY2xhc3M9XCJheC1jb250ZXh0LW1lbnVcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCIgb3Blbk1vZGU9XCJob3ZlclwiIFtpdGVtc109J2l0ZW1zJ1xyXG4gICAgICAgIFtkaXNhYmxlRmllbGRdPVwiZGlzYWJsZUZpZWxkXCIgW2hhc0NoaWxkRmllbGRdPVwiaGFzQ2hpbGRGaWVsZFwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW2ljb25GaWVsZF09XCJpY29uRmllbGRcIlxyXG4gICAgICAgIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIiBbZGl2aWRlckZpZWxkXT1cImRpdmlkZXJGaWVsZFwiIChvbk1lbnVJdGVtQ2xpY2spPSdvbkNvbnRleHRNZW51Q2xpY2soJGV2ZW50KSc+XHJcbiAgICA8L2F4LW1lbnU+XHJcbjwvbmctdGVtcGxhdGU+Il19
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixVQUFVLEVBR1YsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3JEOzs7O0dBSUc7QUF3QkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUE0QnpELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsaUJBQW1DLEVBQ25DLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFOaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFHL0IsQ0FBQztJQWhDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVdELElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lB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O3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGFBQWE7cUJBQ2QsV0FDUSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsbUJBQ2hDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7K01BSXJDLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGlCQUFpQjtnQkFRNUIsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBVTNCLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT25Jbml0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jb250ZXh0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0ZXh0RmllbGQnLFxyXG4gICAgJ3ZhbHVlRmllbGQnLFxyXG4gICAgJ2l0ZW1zJyxcclxuICAgICdwYXJlbnRJZCcsXHJcbiAgICAnaWNvbkZpZWxkJyxcclxuICAgICdpc09wZW4nLFxyXG4gICAgJ2lzQWN0aXZlJyxcclxuICAgICd2aXNpYmxlRmllbGQnLFxyXG4gICAgJ2Rpc2FibGVGaWVsZCcsXHJcbiAgICAnaGFzQ2hpbGRGaWVsZCcsXHJcbiAgICAnZGl2aWRlckZpZWxkJyxcclxuICAgICdvcGVuTW9kZScsXHJcbiAgICAnb3JpZW50YXRpb24nLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnY29udGV4dFRlbXBsYXRlJylcclxuICBfY29udGV4dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgY29udGV4dFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21lbnVUbXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIF9tZW51VG1wOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICBwcml2YXRlIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0YXJnZXQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCkge1xyXG4gICAgaWYgKHYgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgdGhpcy5fdGFyZ2V0ID0gdjtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgQVhCYXNlQ29tcG9uZW50KSB0aGlzLl90YXJnZXQgPSB2Ll9nZXRJbm5lckVsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcblxyXG4gICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgIHRoaXMuX2NvbnRleHRUZW1wbGF0ZSA/IHRoaXMuX2NvbnRleHRUZW1wbGF0ZSA6IHRoaXMuX21lbnVUbXAsXHJcbiAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuX3RhcmdldCkge1xyXG4gICAgICB0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHtcclxuICAgICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCkgPT4gKHtcclxuICAgICAgICAgICAgYm90dG9tOiBlLmNsaWVudFksXHJcbiAgICAgICAgICAgIGhlaWdodDogMCxcclxuICAgICAgICAgICAgbGVmdDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgICByaWdodDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgICB0b3A6IGUuY2xpZW50WSxcclxuICAgICAgICAgICAgd2lkdGg6IDAsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkobmV3IEVsZW1lbnRSZWYocG9zaXRpb24pKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHBvc2l0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwb3NpdGlvbilcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdKVxyXG4gICAgICAgIC53aXRoUHVzaChmYWxzZSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInLCAnYXgtb3ZlcmxheS1tZW51J10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgZWxlbWVudC5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKipkZWZ1bHRUbXAqKioqKioqKioqKi9cclxuICBvbkNvbnRleHRNZW51Q2xpY2soZSkge1xyXG4gICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdChlKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZXh0VGVtcGxhdGVSZWY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dFRlbXBsYXRlICBlbHNlIG1lbnVUbXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udGV4dC1tZW51XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZXh0VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVUbXA+XHJcbiAgICA8YXgtbWVudSBjbGFzcz1cImF4LWNvbnRleHQtbWVudVwiIG9yaWVudGF0aW9uPVwidmVydGljYWxcIiBvcGVuTW9kZT1cImhvdmVyXCIgW2l0ZW1zXT0naXRlbXMnXHJcbiAgICAgICAgW2Rpc2FibGVGaWVsZF09XCJkaXNhYmxlRmllbGRcIiBbaGFzQ2hpbGRGaWVsZF09XCJoYXNDaGlsZEZpZWxkXCIgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIiBbaWNvbkZpZWxkXT1cImljb25GaWVsZFwiXHJcbiAgICAgICAgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiIFtkaXZpZGVyRmllbGRdPVwiZGl2aWRlckZpZWxkXCIgKG9uTWVudUl0ZW1DbGljayk9J29uQ29udGV4dE1lbnVDbGljaygkZXZlbnQpJz5cclxuICAgIDwvYXgtbWVudT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -12,6 +12,7 @@ export class AXDataTableComponent extends AXBaseComponentMixin {
12
12
  super(elementRef, cdr);
13
13
  this._columns = {};
14
14
  this.onPageChanged = new EventEmitter();
15
+ this.showHeader = true;
15
16
  this._pageSize = 20;
16
17
  this.fetchDataMode = 'auto';
17
18
  this._currentPage = 1;
@@ -101,18 +102,20 @@ export class AXDataTableComponent extends AXBaseComponentMixin {
101
102
  }
102
103
  }
103
104
  refresh() {
105
+ this._totalItems = 0;
106
+ this._loadedItems = [];
104
107
  this._fetchData();
105
108
  }
106
109
  goToPage(page) {
107
110
  this._currentPage = page;
108
- this.refresh();
111
+ this._fetchData();
109
112
  }
110
113
  }
111
114
  AXDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
112
- AXDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, host: { classAttribute: "ax-data-table" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead>\r\n \r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>\r\n\r\n<!-- <br>\r\n<table class=\"ax-table ax-table-responsive ax-table-alternate\">\r\n <thead>\r\n <col>\r\n <colgroup span=\"2\"></colgroup>\r\n <colgroup span=\"2\"></colgroup>\r\n <tr>\r\n <th rowspan=\"2\">Index</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Mars</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Venus</th>\r\n </tr>\r\n <tr>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td >Teddy Bears</td>\r\n <td>50,000</td>\r\n <td>30,000</td>\r\n <td>100,000</td>\r\n <td>80,000</td>\r\n </tr>\r\n <tr>\r\n <td >Board Games</td>\r\n <td>10,000</td>\r\n <td>5,000</td>\r\n <td>12,000</td>\r\n <td>9,000</td>\r\n </tr>\r\n </tbody>\r\n </table> -->", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "directive", type: i3.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
+ AXDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXDataTableComponent, selector: "ax-data-table", inputs: { rowTemplate: "rowTemplate", emptyTemplate: "emptyTemplate", showHeader: "showHeader", pageSize: "pageSize", fetchDataMode: "fetchDataMode", items: "items" }, outputs: { onPageChanged: "onPageChanged" }, host: { classAttribute: "ax-data-table" }, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], queries: [{ propertyName: "_columns", predicate: AXDataColumnComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n<table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #defaultEmptyTemplate>\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXResultComponent, selector: "ax-result", inputs: ["type", "caption", "description"] }, { kind: "directive", type: i3.AXLoadingDirective, selector: "[axIsLoading]", inputs: ["axIsLoading"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
113
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXDataTableComponent, decorators: [{
114
117
  type: Component,
115
- args: [{ selector: 'ax-data-table', host: { class: 'ax-data-table' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n <table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead>\r\n \r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>\r\n\r\n<!-- <br>\r\n<table class=\"ax-table ax-table-responsive ax-table-alternate\">\r\n <thead>\r\n <col>\r\n <colgroup span=\"2\"></colgroup>\r\n <colgroup span=\"2\"></colgroup>\r\n <tr>\r\n <th rowspan=\"2\">Index</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Mars</th>\r\n <th colspan=\"2\" scope=\"colgroup\">Venus</th>\r\n </tr>\r\n <tr>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n <th scope=\"col\">Produced</th>\r\n <th scope=\"col\">Sold</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td >Teddy Bears</td>\r\n <td>50,000</td>\r\n <td>30,000</td>\r\n <td>100,000</td>\r\n <td>80,000</td>\r\n </tr>\r\n <tr>\r\n <td >Board Games</td>\r\n <td>10,000</td>\r\n <td>5,000</td>\r\n <td>12,000</td>\r\n <td>9,000</td>\r\n </tr>\r\n </tbody>\r\n </table> -->" }]
118
+ args: [{ selector: 'ax-data-table', host: { class: 'ax-data-table' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }], template: "<ng-content select=\"ax-header\">\r\n</ng-content>\r\n<div class=\"ax-wrapper\">\r\n<table class=\"ax-table ax-table-bordered\" tabindex=\"0\" [axIsLoading]=\"_isLoading\">\r\n <thead *ngIf=\"showHeader\">\r\n <tr>\r\n <th *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #captionTpl>\r\n {{c.caption}}\r\n </ng-template>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"displayItems.length; else emptyTpl\">\r\n <ng-container *ngFor=\"let d of displayItems;let rIndex=index\">\r\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\r\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #rowTpl>\r\n <tr>\r\n <ng-container *ngFor=\"let c of _columns\">\r\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\r\n <ng-container *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:d,rowIndex:rIndex} }\">\r\n </ng-container>\r\n </ng-template>\r\n <ng-template #cellTpl>\r\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\">\r\n {{d[c.valueField]}}\r\n </td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #emptyTpl>\r\n <tr>\r\n <td [attr.colspan]=\"_columns.length\">\r\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\r\n </ng-template>\r\n <ng-template #defaultEmptyTemplate>\r\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </tbody>\r\n </table>\r\n</div>\r\n<ng-content select=\"ax-footer\">\r\n</ng-content>" }]
116
119
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _columns: [{
117
120
  type: ContentChildren,
118
121
  args: [AXDataColumnComponent]
@@ -120,6 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
120
123
  type: Output
121
124
  }], rowTemplate: [{
122
125
  type: Input
126
+ }], emptyTemplate: [{
127
+ type: Input
128
+ }], showHeader: [{
129
+ type: Input
123
130
  }], pageSize: [{
124
131
  type: Input
125
132
  }], fetchDataMode: [{
@@ -127,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
127
134
  }], items: [{
128
135
  type: Input
129
136
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxlQUFlLEVBR2YsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEdBR2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFnRCxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFXOUcsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBdUU1QixZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQXBFekIsYUFBUSxHQUFxQyxFQUFzQyxDQUFDO1FBR3BGLGtCQUFhLEdBQThDLElBQUksWUFBWSxFQUV4RSxDQUFDO1FBS0ksY0FBUyxHQUFXLEVBQUUsQ0FBQztRQVUvQixrQkFBYSxHQUFzQixNQUFNLENBQUM7UUFFbEMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBY3pCLFdBQU0sR0FBb0IsRUFBRSxD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QyxxQkFBcUI7Z0JBSXRDLGFBQWE7c0JBRFosTUFBTTtnQkFNUCxXQUFXO3NCQURWLEtBQUs7Z0JBS0ssUUFBUTtzQkFEbEIsS0FBSztnQkFTTixhQUFhO3NCQURaLEtBQUs7Z0JBeUJGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFYUGFnZWRDb21wb25lbnQsXHJcbiAgQVhQYWdlZENvbXBvbmVudEludGVyZmFjZSxcclxuICBBWFZhbHVlQ2hhbmdlZEV2ZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQVhEYXRhQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWNvbHVtbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiwgQVhEYXRhTGlzdEZldGNoRGF0YUNhbGxiYWNrLCBBWERhdGFMaXN0SXRlbXMgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtZGF0YS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1kYXRhLXRhYmxlJyB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFBhZ2VkQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEYXRhVGFibGVDb21wb25lbnQgfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERhdGFUYWJsZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW5cclxuICBpbXBsZW1lbnRzIEFYUGFnZWRDb21wb25lbnRJbnRlcmZhY2Vcclxue1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhEYXRhQ29sdW1uQ29tcG9uZW50KVxyXG4gIF9jb2x1bW5zOiBRdWVyeUxpc3Q8QVhEYXRhQ29sdW1uQ29tcG9uZW50PiA9IHt9IGFzIFF1ZXJ5TGlzdDxBWERhdGFDb2x1bW5Db21wb25lbnQ+O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblBhZ2VDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj5cclxuICA+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcm93VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9wYWdlU2l6ZTogbnVtYmVyID0gMjA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGFnZVNpemUodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9wYWdlU2l6ZSA9IHY7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGZldGNoRGF0YU1vZGU6ICdhdXRvJyB8ICdtYW51YWwnID0gJ2F1dG8nO1xyXG5cclxuICBwcml2YXRlIF9jdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBfaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbG9hZGVkSXRlbXM6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdG90YWxJdGVtczogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfaXNMYXp5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCB0b3RhbENvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdG90YWxJdGVtcztcclxuICB9XHJcblxyXG4gIGdldCBpc0xhenkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNMYXp5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxvYWRlZENvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbG9hZGVkSXRlbXM/Lmxlbmd0aCB8fCAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXRlbXM6IEFYRGF0YUxpc3RJdGVtcyA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBpdGVtcygpOiBBWERhdGFMaXN0SXRlbXMge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuICBzZXQgaXRlbXModjogQVhEYXRhTGlzdEl0ZW1zKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMuX2lzTGF6eSA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2l0ZW1zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzcGxheUl0ZW1zKCk6IGFueVtdIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5faXRlbXMgfHwgW10pIGFzIGFueVtdO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5faXRlbXMgPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbG9hZGVkSXRlbXMgfHwgW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25WaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZldGNoRGF0YU1vZGUgPT0gJ2F1dG8nKSB0aGlzLl9mZXRjaERhdGEoKTtcclxuICB9XHJcblxyXG4gIF9mZXRjaERhdGEob3B0cz86IHsgc2VhcmNoUXVlcnk/OiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3Qgc2tpcCA9ICh0aGlzLl9jdXJyZW50UGFnZSAtIDEpICogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgdGFrZSA9IHRoaXMucGFnZVNpemU7XHJcbiAgICBpZiAoXHJcbiAgICAgICh0aGlzLmxvYWRlZENvdW50ID49IHRoaXMudG90YWxDb3VudCAmJiB0aGlzLnRvdGFsQ291bnQgIT0gMCkgfHxcclxuICAgICAgdGhpcy5faXNMb2FkaW5nIHx8XHJcbiAgICAgICF0aGlzLl9pc0xhenkgfHxcclxuICAgICAgc2tpcCA+IHRoaXMudG90YWxDb3VudFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pdGVtcykge1xyXG4gICAgICB0aGlzLl9pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIGNvbnN0IGZldGNoRm4gPSB0aGlzLl9pdGVtcyBhcyBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2s7XHJcbiAgICAgIGZldGNoRm4oeyBza2lwLCB0YWtlLCBzZWFyY2hRdWVyeTogb3B0cz8uc2VhcmNoUXVlcnkgfSlcclxuICAgICAgICAudGhlbigoYykgPT4ge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcclxuICAgICAgICAgICAgdGhpcy5fbG9hZGVkSXRlbXMgPSBjO1xyXG4gICAgICAgICAgICB0aGlzLl90b3RhbEl0ZW1zID0gYy5sZW5ndGg7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl90b3RhbEl0ZW1zID0gYy50b3RhbCB8fCBjLml0ZW1zPy5sZW5ndGggfHwgMDtcclxuICAgICAgICAgICAgLy90aGlzLl9sb2FkZWRJdGVtcyA9IFsuLi5uZXcgU2V0KHRoaXMuX2xvYWRlZEl0ZW1zLmNvbmNhdChjLml0ZW1zKSldO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkZWRJdGVtcyA9IFsuLi5uZXcgU2V0KGMuaXRlbXMpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5vblBhZ2VDaGFuZ2VkLm5leHQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbmFtZTogJ3BhZ2UnLFxyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5fY3VycmVudFBhZ2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICB9XHJcblxyXG4gIGdvVG9QYWdlKHBhZ2U6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxkaXYgY2xhc3M9XCJheC13cmFwcGVyXCI+XHJcbiAgPHRhYmxlIGNsYXNzPVwiYXgtdGFibGUgYXgtdGFibGUtYm9yZGVyZWRcIiB0YWJpbmRleD1cIjBcIiBbYXhJc0xvYWRpbmddPVwiX2lzTG9hZGluZ1wiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgIFxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjIG9mIF9jb2x1bW5zXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5oZWFkZXJUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJjYXB0aW9uVHBsXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjLmhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXB0aW9uVHBsPlxyXG4gICAgICAgICAgICB7e2MuY2FwdGlvbn19XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG4gICAgPHRib2R5PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUl0ZW1zLmxlbmd0aDsgZWxzZSBlbXB0eVRwbFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGQgb2YgZGlzcGxheUl0ZW1zO2xldCBySW5kZXg9aW5kZXhcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJyb3dUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJyb3dUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd1RlbXBsYXRlO2NvbnRleHQ6IHsgJGltcGxpY2l0OiB7ZGF0YTpkLHJvd0luZGV4OnJJbmRleH0gfVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3Jvd1RwbD5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgX2NvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjLmNlbGxUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJjZWxsVHBsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjLmNlbGxUZW1wbGF0ZTtjb250ZXh0OiB7ICRpbXBsaWNpdDoge2RhdGE6ZCxyb3dJbmRleDpySW5kZXh9IH1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsVHBsPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgW2F0dHIuZGF0YS1sYWJlbF09XCJjLmNhcHRpb25cIiB0YWJpbmRleD1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2RbYy52YWx1ZUZpZWxkXX19XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlUcGw+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiX2NvbHVtbnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxheC1yZXN1bHQgdHlwZT1cImVtcHR5XCIgY2FwdGlvbj1cIiB7eydjb21tb24ubm8tcmVzdWx0LWZvdW5kJyB8IHRyYW5zIH19XCI+PC9heC1yZXN1bHQ+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Rib2R5PlxyXG4gIDwvdGFibGU+XHJcbjwvZGl2PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1mb290ZXJcIj5cclxuPC9uZy1jb250ZW50PlxyXG5cclxuPCEtLSA8YnI+XHJcbjx0YWJsZSBjbGFzcz1cImF4LXRhYmxlIGF4LXRhYmxlLXJlc3BvbnNpdmUgIGF4LXRhYmxlLWFsdGVybmF0ZVwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICA8Y29sPlxyXG4gICAgICA8Y29sZ3JvdXAgc3Bhbj1cIjJcIj48L2NvbGdyb3VwPlxyXG4gICAgICA8Y29sZ3JvdXAgc3Bhbj1cIjJcIj48L2NvbGdyb3VwPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoIHJvd3NwYW49XCIyXCI+SW5kZXg8L3RoPlxyXG4gICAgICAgIDx0aCBjb2xzcGFuPVwiMlwiIHNjb3BlPVwiY29sZ3JvdXBcIj5NYXJzPC90aD5cclxuICAgICAgICA8dGggY29sc3Bhbj1cIjJcIiBzY29wZT1cImNvbGdyb3VwXCI+VmVudXM8L3RoPlxyXG4gICAgICA8L3RyPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+UHJvZHVjZWQ8L3RoPlxyXG4gICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlNvbGQ8L3RoPlxyXG4gICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlByb2R1Y2VkPC90aD5cclxuICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5Tb2xkPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGhlYWQ+XHJcbiAgICA8dGJvZHk+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGQgPlRlZGR5IEJlYXJzPC90ZD5cclxuICAgICAgICA8dGQ+NTAsMDAwPC90ZD5cclxuICAgICAgICA8dGQ+MzAsMDAwPC90ZD5cclxuICAgICAgICA8dGQ+MTAwLDAwMDwvdGQ+XHJcbiAgICAgICAgPHRkPjgwLDAwMDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGQgPkJvYXJkIEdhbWVzPC90ZD5cclxuICAgICAgICA8dGQ+MTAsMDAwPC90ZD5cclxuICAgICAgICA8dGQ+NSwwMDA8L3RkPlxyXG4gICAgICAgIDx0ZD4xMiwwMDA8L3RkPlxyXG4gICAgICAgIDx0ZD45LDAwMDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3Rib2R5PlxyXG4gIDwvdGFibGU+IC0tPiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlL3NyYy9kYXRhLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUvc3JjL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLEtBQUssRUFDTCxlQUFlLEVBR2YsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEdBR2pCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFnRCxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFXOUcsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG9CQUFvQjtJQXlFNUQsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3hELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUF4RXpCLGFBQVEsR0FBcUMsRUFBc0MsQ0FBQztRQUdwRixrQkFBYSxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQVMzRyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRW5CLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFVL0Isa0JBQWEsR0FBc0IsTUFBTSxDQUFDO1FBRWxDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDcEIsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFeEIsWUFBTyxHQUFZLEtBQUss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QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHNCQUFzQixFQUFFLENBQUM7aUlBSTdFLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBSXRDLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFLSyxRQUFRO3NCQURsQixLQUFLO2dCQVNOLGFBQWE7c0JBRFosS0FBSztnQkF5QkYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBJbnB1dCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQVhQYWdlZENvbXBvbmVudCxcclxuICBBWFBhZ2VkQ29tcG9uZW50SW50ZXJmYWNlLFxyXG4gIEFYVmFsdWVDaGFuZ2VkRXZlbnQsXHJcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBBWERhdGFDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtY29sdW1uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluLCBBWERhdGFMaXN0RmV0Y2hEYXRhQ2FsbGJhY2ssIEFYRGF0YUxpc3RJdGVtcyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1kYXRhLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWRhdGEtdGFibGUnIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYUGFnZWRDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGFUYWJsZUNvbXBvbmVudCB9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0YVRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4gaW1wbGVtZW50cyBBWFBhZ2VkQ29tcG9uZW50SW50ZXJmYWNlIHtcclxuICBAQ29udGVudENoaWxkcmVuKEFYRGF0YUNvbHVtbkNvbXBvbmVudClcclxuICBfY29sdW1uczogUXVlcnlMaXN0PEFYRGF0YUNvbHVtbkNvbXBvbmVudD4gPSB7fSBhcyBRdWVyeUxpc3Q8QVhEYXRhQ29sdW1uQ29tcG9uZW50PjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25QYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4oKTtcclxuXHJcbiAgQElucHV0KClcclxuICByb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZW1wdHlUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX3BhZ2VTaXplOiBudW1iZXIgPSAyMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBwYWdlU2l6ZSh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3BhZ2VTaXplID0gdjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZmV0Y2hEYXRhTW9kZTogJ2F1dG8nIHwgJ21hbnVhbCcgPSAnYXV0byc7XHJcblxyXG4gIHByaXZhdGUgX2N1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIF9pc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9sb2FkZWRJdGVtczogYW55W10gPSBbXTtcclxuICBwcml2YXRlIF90b3RhbEl0ZW1zOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9pc0xhenk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0IHRvdGFsQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90b3RhbEl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzTGF6eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0xhenk7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9hZGVkQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcz8ubGVuZ3RoIHx8IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pdGVtczogQVhEYXRhTGlzdEl0ZW1zID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGl0ZW1zKCk6IEFYRGF0YUxpc3RJdGVtcyB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHNldCBpdGVtcyh2OiBBWERhdGFMaXN0SXRlbXMpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XHJcbiAgICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHYgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5faXNMYXp5ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5faXRlbXMgPSB2O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXRlbXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBkaXNwbGF5SXRlbXMoKTogYW55W10ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLl9pdGVtcyB8fCBbXSkgYXMgYW55W107XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9pdGVtcyA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9sb2FkZWRJdGVtcyB8fCBbXTtcclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvblZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmV0Y2hEYXRhTW9kZSA9PSAnYXV0bycpIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgX2ZldGNoRGF0YShvcHRzPzogeyBzZWFyY2hRdWVyeT86IHN0cmluZyB9KSB7XHJcbiAgICBjb25zdCBza2lwID0gKHRoaXMuX2N1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2VTaXplLCB0YWtlID0gdGhpcy5wYWdlU2l6ZTtcclxuICAgIGlmIChcclxuICAgICAgKHRoaXMubG9hZGVkQ291bnQgPj0gdGhpcy50b3RhbENvdW50ICYmIHRoaXMudG90YWxDb3VudCAhPSAwKSB8fFxyXG4gICAgICB0aGlzLl9pc0xvYWRpbmcgfHxcclxuICAgICAgIXRoaXMuX2lzTGF6eSB8fFxyXG4gICAgICBza2lwID4gdGhpcy50b3RhbENvdW50XHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2l0ZW1zKSB7XHJcbiAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgY29uc3QgZmV0Y2hGbiA9IHRoaXMuX2l0ZW1zIGFzIEFYRGF0YUxpc3RGZXRjaERhdGFDYWxsYmFjaztcclxuICAgICAgZmV0Y2hGbih7IHNraXAsIHRha2UsIHNlYXJjaFF1ZXJ5OiBvcHRzPy5zZWFyY2hRdWVyeSB9KVxyXG4gICAgICAgIC50aGVuKChjKSA9PiB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkZWRJdGVtcyA9IGM7XHJcbiAgICAgICAgICAgIHRoaXMuX3RvdGFsSXRlbXMgPSBjLmxlbmd0aDtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RvdGFsSXRlbXMgPSBjLnRvdGFsIHx8IGMuaXRlbXM/Lmxlbmd0aCB8fCAwO1xyXG4gICAgICAgICAgICAvL3RoaXMuX2xvYWRlZEl0ZW1zID0gWy4uLm5ldyBTZXQodGhpcy5fbG9hZGVkSXRlbXMuY29uY2F0KGMuaXRlbXMpKV07XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRlZEl0ZW1zID0gWy4uLm5ldyBTZXQoYy5pdGVtcyldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZWQubmV4dCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBuYW1lOiAncGFnZScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLl9jdXJyZW50UGFnZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX3RvdGFsSXRlbXMgPSAwO1xyXG4gICAgdGhpcy5fbG9hZGVkSXRlbXMgPSBbXTtcclxuICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxkaXYgY2xhc3M9XCJheC13cmFwcGVyXCI+XHJcbjx0YWJsZSBjbGFzcz1cImF4LXRhYmxlIGF4LXRhYmxlLWJvcmRlcmVkXCIgdGFiaW5kZXg9XCIwXCIgW2F4SXNMb2FkaW5nXT1cIl9pc0xvYWRpbmdcIj5cclxuICAgIDx0aGVhZCAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgYyBvZiBfY29sdW1uc1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImMuaGVhZGVyVGVtcGxhdGVcIiBbbmdJZkVsc2VdPVwiY2FwdGlvblRwbFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYy5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FwdGlvblRwbD5cclxuICAgICAgICAgICAge3tjLmNhcHRpb259fVxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90aGVhZD5cclxuICAgIDx0Ym9keT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlJdGVtcy5sZW5ndGg7IGVsc2UgZW1wdHlUcGxcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkIG9mIGRpc3BsYXlJdGVtcztsZXQgckluZGV4PWluZGV4XCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwicm93VGVtcGxhdGVcIiBbbmdJZkVsc2VdPVwicm93VHBsXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTtjb250ZXh0OiB7ICRpbXBsaWNpdDoge2RhdGE6ZCxyb3dJbmRleDpySW5kZXh9IH1cIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNyb3dUcGw+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIF9jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiYy5jZWxsVGVtcGxhdGVcIiBbbmdJZkVsc2VdPVwiY2VsbFRwbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYy5jZWxsVGVtcGxhdGU7Y29udGV4dDogeyAkaW1wbGljaXQ6IHtkYXRhOmQscm93SW5kZXg6ckluZGV4fSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbFRwbD5cclxuICAgICAgICAgICAgICAgICAgPHRkIFthdHRyLmRhdGEtbGFiZWxdPVwiYy5jYXB0aW9uXCIgdGFiaW5kZXg9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tkW2MudmFsdWVGaWVsZF19fVxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5VHBsPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIl9jb2x1bW5zLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiZW1wdHlUZW1wbGF0ZVwiIFtuZ0lmRWxzZV09XCJkZWZhdWx0RW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5VGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGF4LXJlc3VsdCB0eXBlPVwiZW1wdHlcIiBjYXB0aW9uPVwiIHt7J2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cIj48L2F4LXJlc3VsdD5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdGJvZHk+XHJcbiAgPC90YWJsZT5cclxuPC9kaXY+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvb3RlclwiPlxyXG48L25nLWNvbnRlbnQ+Il19