@acorex/components 18.15.3 → 18.16.0-next.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/audio-wave/lib/audio-wave.component.d.ts +1 -0
  2. package/comment/lib/comment-container/comment-container.component.d.ts +1 -0
  3. package/common/lib/components/value-component.class.d.ts +1 -0
  4. package/common/lib/directives/auto-focus.directive.d.ts +1 -0
  5. package/common/lib/directives/inverted-color.directive.d.ts +1 -0
  6. package/common/lib/directives/ripple.directive.d.ts +1 -0
  7. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -0
  8. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -0
  9. package/data-table/lib/data-table/data-table.component.d.ts +1 -0
  10. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -0
  11. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -0
  12. package/esm2022/audio-wave/lib/audio-wave.component.mjs +18 -14
  13. package/esm2022/button/lib/button-item-list.component.mjs +2 -2
  14. package/esm2022/calendar/lib/calendar.component.mjs +17 -14
  15. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +18 -15
  16. package/esm2022/common/lib/components/value-component.class.mjs +5 -4
  17. package/esm2022/common/lib/directives/auto-focus.directive.mjs +8 -5
  18. package/esm2022/common/lib/directives/inverted-color.directive.mjs +23 -19
  19. package/esm2022/common/lib/directives/ripple.directive.mjs +18 -15
  20. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +13 -9
  21. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +19 -5
  22. package/esm2022/data-pager/lib/data-pager.component.mjs +3 -3
  23. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +13 -13
  24. package/esm2022/data-table/lib/data-table/data-table.component.mjs +14 -9
  25. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +13 -10
  26. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +5 -4
  27. package/esm2022/list/lib/list.component.mjs +14 -9
  28. package/esm2022/menu/lib/context-menu.component.mjs +40 -32
  29. package/esm2022/picker/lib/picker.component.mjs +11 -4
  30. package/esm2022/popover/lib/popover.component.mjs +7 -6
  31. package/esm2022/range-slider/lib/range-slider.component.mjs +15 -9
  32. package/esm2022/rate-picker/lib/rate-picker.component.mjs +8 -2
  33. package/esm2022/tree-view/acorex-components-tree-view.mjs +5 -0
  34. package/esm2022/tree-view/index.mjs +4 -0
  35. package/esm2022/tree-view/lib/tree-view-item.component.mjs +86 -0
  36. package/esm2022/tree-view/lib/tree-view.class.mjs +4 -0
  37. package/esm2022/tree-view/lib/tree-view.component.mjs +299 -0
  38. package/esm2022/tree-view/lib/tree-view.component.module.mjs +50 -0
  39. package/esm2022/uploader/lib/uploader-zone.directive.mjs +21 -16
  40. package/fesm2022/acorex-components-audio-wave.mjs +18 -15
  41. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  42. package/fesm2022/acorex-components-button.mjs +2 -2
  43. package/fesm2022/acorex-components-button.mjs.map +1 -1
  44. package/fesm2022/acorex-components-calendar.mjs +16 -14
  45. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  46. package/fesm2022/acorex-components-comment.mjs +17 -14
  47. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  48. package/fesm2022/acorex-components-common.mjs +44 -34
  49. package/fesm2022/acorex-components-common.mjs.map +1 -1
  50. package/fesm2022/acorex-components-conversation.mjs +12 -9
  51. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-pager.mjs +20 -6
  53. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +33 -25
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-drawer.mjs +4 -3
  57. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  58. package/fesm2022/acorex-components-list.mjs +14 -10
  59. package/fesm2022/acorex-components-list.mjs.map +1 -1
  60. package/fesm2022/acorex-components-menu.mjs +39 -31
  61. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  62. package/fesm2022/acorex-components-picker.mjs +10 -4
  63. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  64. package/fesm2022/acorex-components-popover.mjs +6 -5
  65. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  66. package/fesm2022/acorex-components-range-slider.mjs +14 -8
  67. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  68. package/fesm2022/acorex-components-rate-picker.mjs +7 -1
  69. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  70. package/fesm2022/acorex-components-tree-view.mjs +433 -0
  71. package/fesm2022/acorex-components-tree-view.mjs.map +1 -0
  72. package/fesm2022/acorex-components-uploader.mjs +20 -15
  73. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  74. package/menu/lib/context-menu.component.d.ts +1 -0
  75. package/package.json +7 -1
  76. package/picker/lib/picker.component.d.ts +1 -0
  77. package/popover/lib/popover.component.d.ts +1 -0
  78. package/rate-picker/lib/rate-picker.component.d.ts +1 -0
  79. package/tree-view/README.md +3 -0
  80. package/tree-view/index.d.ts +3 -0
  81. package/tree-view/lib/tree-view-item.component.d.ts +23 -0
  82. package/tree-view/lib/tree-view.class.d.ts +20 -0
  83. package/tree-view/lib/tree-view.component.d.ts +80 -0
  84. package/tree-view/lib/tree-view.component.module.d.ts +16 -0
  85. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
@@ -32,6 +32,7 @@ export declare class AXAudioWaveComponent {
32
32
  * @ignore
33
33
  */
34
34
  private ngZone;
35
+ private platformID;
35
36
  /**
36
37
  * @ignore
37
38
  */
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
6
6
  */
7
7
  export declare class AXCommentContainerComponent {
8
8
  private document;
9
+ private platformID;
9
10
  scrollToRelpy(id: string): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCommentContainerComponent, never>;
11
12
  static ɵcmp: i0.ɵɵComponentDeclaration<AXCommentContainerComponent, "ax-comment-container", never, {}, {}, never, ["*"], false, never>;
@@ -50,6 +50,7 @@ export declare class MXValueComponent<T = any> extends MXInteractiveComponent im
50
50
  protected ngOnDestroy(): void;
51
51
  protected registerValidation(): void;
52
52
  protected document: Document;
53
+ protected platformID: Object;
53
54
  private validationService;
54
55
  validationRulesChange: EventEmitter<AXFormValidationRule[]>;
55
56
  private validationRules;
@@ -8,6 +8,7 @@ export declare class AXAutoFocusDirective implements AfterViewInit {
8
8
  autoFocus?: boolean;
9
9
  time: number;
10
10
  private document;
11
+ private platformID;
11
12
  constructor(renderer: Renderer2, el: ElementRef<HTMLElement>, _host: AXFocusableComponent);
12
13
  ngAfterViewInit(): void;
13
14
  protected doFocus(): void;
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class AXInvertedColorDirective {
5
5
  color: import("@angular/core").InputSignal<AXStyleColorType>;
6
6
  ref: ViewContainerRef;
7
+ private platformID;
7
8
  constructor();
8
9
  protected invertColor(): void;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<AXInvertedColorDirective, never>;
@@ -7,6 +7,7 @@ export declare class AXRippleDirective implements OnDestroy {
7
7
  axRippleColor: string;
8
8
  ripple: HTMLSpanElement | null;
9
9
  private document;
10
+ private platformID;
10
11
  constructor(el: ElementRef<HTMLElement>, cdr: ChangeDetectorRef);
11
12
  ngOnInit(): void;
12
13
  ngOnDestroy(): void;
@@ -25,6 +25,7 @@ export declare class AXConversationVoiceMessageComponent extends AXConversationM
25
25
  * @ignore
26
26
  */
27
27
  parent: AXConversationViewComponent;
28
+ private platformID;
28
29
  /**
29
30
  * @ignore
30
31
  */
@@ -7,6 +7,7 @@ export declare class AXDataTableColumnResizableDirective {
7
7
  private ngZone;
8
8
  private cdr;
9
9
  private document;
10
+ private platformID;
10
11
  column: AXDataTableColumnComponent;
11
12
  private resize$;
12
13
  private startX;
@@ -13,6 +13,7 @@ export declare class AXDataTableComponent extends AXBaseDataTable implements OnI
13
13
  private _unsubscriber;
14
14
  private _zone;
15
15
  private document;
16
+ private platformID;
16
17
  /**
17
18
  * @ignore
18
19
  */
@@ -10,6 +10,7 @@ import * as i0 from "@angular/core";
10
10
  */
11
11
  export declare class AXInfiniteScrollDataTableComponent extends AXBaseDataTable implements OnInit, DoCheck {
12
12
  private document;
13
+ private platformID;
13
14
  private ngZone;
14
15
  /**
15
16
  * @ignore
@@ -19,6 +19,7 @@ export declare class AXDrawerComponent extends MXBaseComponent implements AfterC
19
19
  private service;
20
20
  private _zone;
21
21
  private document;
22
+ private platformID;
22
23
  /**
23
24
  *
24
25
  * @ignore
@@ -1,4 +1,5 @@
1
- import { Component, ElementRef, NgZone, ViewChild, ViewEncapsulation, afterNextRender, inject, input, output, signal, } from '@angular/core';
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { Component, ElementRef, NgZone, PLATFORM_ID, ViewChild, ViewEncapsulation, afterNextRender, inject, input, output, signal, } from '@angular/core';
2
3
  import WaveSurfer from 'wavesurfer.js';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
@@ -29,19 +30,22 @@ export class AXAudioWaveComponent {
29
30
  * @ignore
30
31
  */
31
32
  this.ngZone = inject(NgZone);
33
+ this.platformID = inject(PLATFORM_ID);
32
34
  afterNextRender(() => {
33
- const primary200 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-200');
34
- const primary700 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-700');
35
- this.audio = WaveSurfer.create({
36
- container: this.div.nativeElement,
37
- waveColor: this.config()?.waveColor || `rgba(${primary200})`,
38
- progressColor: this.config()?.progressColor || `rgba(${primary700})`,
39
- url: this.config()?.url || '',
40
- barWidth: this.config()?.barWidth || 2,
41
- barRadius: this.config()?.barRadius || 2,
42
- barGap: this.config()?.barGap || 2,
43
- height: this.config()?.height || 36,
44
- });
35
+ if (isPlatformBrowser(this.platformID)) {
36
+ const primary200 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-200');
37
+ const primary700 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-700');
38
+ this.audio = WaveSurfer.create({
39
+ container: this.div.nativeElement,
40
+ waveColor: this.config()?.waveColor || `rgba(${primary200})`,
41
+ progressColor: this.config()?.progressColor || `rgba(${primary700})`,
42
+ url: this.config()?.url || '',
43
+ barWidth: this.config()?.barWidth || 2,
44
+ barRadius: this.config()?.barRadius || 2,
45
+ barGap: this.config()?.barGap || 2,
46
+ height: this.config()?.height || 36,
47
+ });
48
+ }
45
49
  this.load();
46
50
  this.audio?.on('loading', () => {
47
51
  this.audioState.set('loading');
@@ -337,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
337
341
  type: ViewChild,
338
342
  args: ['d', { static: false }]
339
343
  }] } });
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3ZDOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBZ0MvQjs7T0FFRztJQUNIO1FBN0JBOztXQUVHO1FBQ0gsV0FBTSxHQUE4QixLQUFLLEVBQWdCLENBQUM7UUFFMUQ7Ozs7V0FJRztRQUNILG9CQUFlLEdBQUcsTUFBTSxFQUEwQixDQUFDO1FBRW5ELGVBQVUsR0FBRyxNQUFNLENBQXVELFFBQVEsQ0FBQyxDQUFDO1FBRXBGLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBTzFCOztXQUVHO1FBQ0ssV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQU05QixlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQzlGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxD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dCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0U2lnbmFsLFxuICBOZ1pvbmUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFdhdmVTdXJmZXIgZnJvbSAnd2F2ZXN1cmZlci5qcyc7XG5pbXBvcnQgeyBBWEF1ZGlvV2F2ZUNoYW5nZUV2ZW50LCBBWFdhdmVDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvYXVkaW8td2F2ZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIERpc3BsYXlzIGFuZCBpbnRlcmFjdHMgd2l0aCBhdWRpbyB3YXZlZm9ybSB2aXN1YWxpemF0aW9uLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWF1ZGlvLXdhdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1ZGlvLXdhdmUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBdWRpb1dhdmVDb21wb25lbnQge1xuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2QnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvdGVjdGVkIGRpdjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBhdWRpbyB3YXZlLlxuICAgKi9cbiAgY29uZmlnOiBJbnB1dFNpZ25hbDxBWFdhdmVDb25maWc+ID0gaW5wdXQ8QVhXYXZlQ29uZmlnPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGF1ZGlvIHdhdmUgY2hhbmdlcy5cbiAgICpcbiAgICogQGV2ZW50XG4gICAqL1xuICBvblN0YXR1c0NoYW5nZWQgPSBvdXRwdXQ8QVhBdWRpb1dhdmVDaGFuZ2VFdmVudD4oKTtcblxuICBhdWRpb1N0YXRlID0gc2lnbmFsPCdwbGF5aW5nJyB8ICdwYXVzZWQnIHwgJ2xvYWRpbmcnIHwgJ3JlYWR5JyB8ICdlcnJvcic+KCdwYXVzZWQnKTtcblxuICBlcnJvck1lc3NhZ2UgPSBzaWduYWwoJycpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGF1ZGlvOiBXYXZlU3VyZmVyO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBjb25zdCBwcmltYXJ5MjAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktMjAwJyk7XG4gICAgICBjb25zdCBwcmltYXJ5NzAwID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWNvbG9yLXByaW1hcnktNzAwJyk7XG5cbiAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5kaXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgd2F2ZUNvbG9yOiB0aGlzLmNvbmZpZygpPy53YXZlQ29sb3IgfHwgYHJnYmEoJHtwcmltYXJ5MjAwfSlgLFxuICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgdXJsOiB0aGlzLmNvbmZpZygpPy51cmwgfHwgJycsXG4gICAgICAgIGJhcldpZHRoOiB0aGlzLmNvbmZpZygpPy5iYXJXaWR0aCB8fCAyLFxuICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICBiYXJHYXA6IHRoaXMuY29uZmlnKCk/LmJhckdhcCB8fCAyLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuY29uZmlnKCk/LmhlaWdodCB8fCAzNixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlPy5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGF1ZGlvIGZyb20gdGhlIHNwZWNpZmllZCBVUkwuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIG9mIHRoZSBhdWRpbyB0byBsb2FkLiBEZWZhdWx0cyB0byB0aGUgVVJMIGZyb20gdGhlIGNvbmZpZy5cbiAgICovXG4gIGxvYWQodXJsID0gdGhpcy5jb25maWcoKS51cmwpIHtcbiAgICB0aGlzLmF1ZGlvLmxvYWQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGF5cyB0aGUgYXVkaW8uXG4gICAqXG4gICAqL1xuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LnBsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZXMgdGhlIGF1ZGlvLlxuICAgKi9cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldER1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXREdXJhdGlvbigpID8/IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBlbGVtZW50IG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxheWJhY2sgcmF0ZSBvZiB0aGUgYXVkaW8uXG4gICAqXG4gICAqIEBwYXJhbSByYXRlIC0gVGhlIHBsYXliYWNrIHJhdGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0UmF0ZShyYXRlOiBudW1iZXIpIHtcbiAgICB0aGlzLmF1ZGlvLnNldFBsYXliYWNrUmF0ZShyYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5oYW5kbGVMb2FkKCk7XG4gICAgdGhpcy5oYW5kbGVMb2FkaW5nKCk7XG4gICAgdGhpcy5oYW5kbGVEZWNvZGUoKTtcbiAgICB0aGlzLmhhbmRsZVJlYWR5KCk7XG4gICAgdGhpcy5oYW5kbGVSZWRSYXdDb21wbGV0ZSgpO1xuICAgIHRoaXMuaGFuZGxlUGxheSgpO1xuICAgIHRoaXMuaGFuZGxlUGF1c2UoKTtcbiAgICB0aGlzLmhhbmRsZUZpbmlzaCgpO1xuICAgIHRoaXMuaGFuZGxlVGltZVVwZGF0ZSgpO1xuICAgIHRoaXMuaGFuZGxlU2Vla2luZygpO1xuICAgIHRoaXMuaGFuZGxlSW50ZXJhY3Rpb24oKTtcbiAgICB0aGlzLmhhbmRsZUNsaWNrKCk7XG4gICAgdGhpcy5oYW5kbGVEcmFnKCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB0aGlzLmhhbmRsZVpvb20oKTtcbiAgICB0aGlzLmhhbmRsZURlc3Ryb3koKTtcbiAgICB0aGlzLmhhbmRsZUVycm9yKCk7XG4gIH1cbiAgLyoqIFdoZW4gYXVkaW8gc3RhcnRzIGxvYWRpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUxvYWQoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2xvYWQnLCAodXJsKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyB1cmw6IHVybCB9LFxuICAgICAgICAgIHN0YXR1czogJ2xvYWQnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBEdXJpbmcgYXVkaW8gbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZGluZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsIChwZXJjZW50KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBwZXJjZW50OiBwZXJjZW50IH0sXG4gICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGhhcyBiZWVuIGRlY29kZWQgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlY29kZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZGVjb2RlJywgKGR1cmF0aW9uKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSxcbiAgICAgICAgICBzdGF0dXM6ICdkZWNvZGUnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBpcyBib3RoIGRlY29kZWQgYW5kIGNhbiBwbGF5ICovXG4gIHByb3RlY3RlZCBoYW5kbGVSZWFkeSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9LFxuICAgICAgICAgIHN0YXR1czogJ3JlYWR5JyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiBhbGwgYXVkaW8gY2hhbm5lbCBjaHVua3Mgb2YgdGhlIHdhdmVmb3JtIGhhdmUgZHJhd24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZFJhd0NvbXBsZXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWRyYXdjb21wbGV0ZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIHN0YXR1czogJ3JlZHJhd2NvbXBsZXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gc3RhcnRzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYXkoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3BsYXknLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwbGF5JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gcGF1c2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVQYXVzZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGF1c2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwYXVzZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGZpbmlzaGVzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbmlzaCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZmluaXNoJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogT24gYXVkaW8gcG9zaXRpb24gY2hhbmdlLCBmaXJlcyBjb250aW51b3VzbHkgZHVyaW5nIHBsYXliYWNrICovXG4gIHByb3RlY3RlZCBoYW5kbGVUaW1lVXBkYXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd0aW1ldXBkYXRlJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICd0aW1ldXBkYXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBzZWVrcyB0byBhIG5ldyBwb3NpdGlvbiAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Vla2luZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignc2Vla2luZycsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Vla2luZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHdhdmVmb3JtIChpLmcuIGNsaWNrcyBvciBkcmFncyBvbiBpdCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdpbnRlcmFjdGlvbicsIChuZXdUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBuZXdUaW1lOiBuZXdUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnaW50ZXJhY3Rpb24nLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgd2F2ZWZvcm0gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdjbGljaycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sXG4gICAgICAgICAgc3RhdHVzOiAnY2xpY2snLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGRyYWdzIHRoZSBjdXJzb3IgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURyYWcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2RyYWcnLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LFxuICAgICAgICAgIHN0YXR1czogJ2RyYWcnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB3YXZlZm9ybSBpcyBzY3JvbGxlZCAocGFubmVkKSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Nyb2xsKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzY3JvbGwnLCAodmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHZpc2libGVTdGFydFRpbWUsIHZpc2libGVFbmRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Nyb2xsJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgem9vbSBsZXZlbCBjaGFuZ2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVab29tKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd6b29tJywgKG1pblB4UGVyU2VjKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSxcbiAgICAgICAgICBzdGF0dXM6ICd6b29tJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogSnVzdCBiZWZvcmUgdGhlIHdhdmVmb3JtIGlzIGRlc3Ryb3llZCBzbyB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZXZlbnRzICovXG4gIHByb3RlY3RlZCBoYW5kbGVEZXN0cm95KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZGVzdHJveScsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBlLCBzdGF0dXM6ICdlcnJvcicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtYXVkaW8td2F2ZVwiICNkIFtuZ1N0eWxlXT1cInsnZGlzcGxheSc6IGF1ZGlvU3RhdGUoKSA9PT0gJ3JlYWR5JyA/ICdibG9jaycgOiAnbm9uZScgfVwiPjwvZGl2PlxuXG5Ac3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbkBjYXNlICgnbG9hZGluZycpIHtcbjxkaXYgY2xhc3M9XCJheC1hdWRpby1za2VsZXRvblwiPjwvZGl2PlxufVxuQGNhc2UgKCdlcnJvcicpIHtcbjxkaXYgY2xhc3M9XCJheC13YXZlLW1lc3NhZ2VcIj5cbiAgICB7eydlcnJvci5tZXNzYWdlJyB8IHRyYW5zbGF0ZTp7IHBhcmFtczp7IG1lc3NhZ2U6IGVycm9yTWVzc2FnZSgpIH0gfSB8IGFzeW5jIH19XG48L2Rpdj5cbn1cbn0iXX0=
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qzs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQWlDL0I7O09BRUc7SUFDSDtRQTlCQTs7V0FFRztRQUNILFdBQU0sR0FBOEIsS0FBSyxFQUFnQixDQUFDO1FBRTFEOzs7O1dBSUc7UUFDSCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQUcsTUFBTSxDQUF1RCxRQUFRLENBQUMsQ0FBQztRQUVwRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU8xQjs7V0FFRztRQUNLLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUt2QyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sVUFBVSxHQUFH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QixvQkFBb0IsdVVDN0JqQyxvV0FXQzs7MkZEa0JZLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7d0RBTVEsR0FBRztzQkFBL0MsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dFNpZ25hbCxcbiAgTmdab25lLFxuICBQTEFURk9STV9JRCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYW5kIGludGVyYWN0cyB3aXRoIGF1ZGlvIHdhdmVmb3JtIHZpc3VhbGl6YXRpb24uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYXVkaW8td2F2ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWEF1ZGlvV2F2ZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcm90ZWN0ZWQgZGl2OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIGF1ZGlvIHdhdmUuXG4gICAqL1xuICBjb25maWc6IElucHV0U2lnbmFsPEFYV2F2ZUNvbmZpZz4gPSBpbnB1dDxBWFdhdmVDb25maWc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgYXVkaW8gd2F2ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnRcbiAgICovXG4gIG9uU3RhdHVzQ2hhbmdlZCA9IG91dHB1dDxBWEF1ZGlvV2F2ZUNoYW5nZUV2ZW50PigpO1xuXG4gIGF1ZGlvU3RhdGUgPSBzaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCcgfCAnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4oJ3BhdXNlZCcpO1xuXG4gIGVycm9yTWVzc2FnZSA9IHNpZ25hbCgnJyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXVkaW86IFdhdmVTdXJmZXI7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGNvbnN0IHByaW1hcnkyMDAgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtY29sb3ItcHJpbWFyeS0yMDAnKTtcbiAgICAgICAgY29uc3QgcHJpbWFyeTcwMCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1jb2xvci1wcmltYXJ5LTcwMCcpO1xuXG4gICAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgICAgY29udGFpbmVyOiB0aGlzLmRpdi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIHdhdmVDb2xvcjogdGhpcy5jb25maWcoKT8ud2F2ZUNvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTIwMH0pYCxcbiAgICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgICB1cmw6IHRoaXMuY29uZmlnKCk/LnVybCB8fCAnJyxcbiAgICAgICAgICBiYXJXaWR0aDogdGhpcy5jb25maWcoKT8uYmFyV2lkdGggfHwgMixcbiAgICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICAgIGJhckdhcDogdGhpcy5jb25maWcoKT8uYmFyR2FwIHx8IDIsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmNvbmZpZygpPy5oZWlnaHQgfHwgMzYsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlPy5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGF1ZGlvIGZyb20gdGhlIHNwZWNpZmllZCBVUkwuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIG9mIHRoZSBhdWRpbyB0byBsb2FkLiBEZWZhdWx0cyB0byB0aGUgVVJMIGZyb20gdGhlIGNvbmZpZy5cbiAgICovXG4gIGxvYWQodXJsID0gdGhpcy5jb25maWcoKS51cmwpIHtcbiAgICB0aGlzLmF1ZGlvLmxvYWQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGF5cyB0aGUgYXVkaW8uXG4gICAqXG4gICAqL1xuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LnBsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZXMgdGhlIGF1ZGlvLlxuICAgKi9cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldER1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXREdXJhdGlvbigpID8/IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBlbGVtZW50IG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxheWJhY2sgcmF0ZSBvZiB0aGUgYXVkaW8uXG4gICAqXG4gICAqIEBwYXJhbSByYXRlIC0gVGhlIHBsYXliYWNrIHJhdGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0UmF0ZShyYXRlOiBudW1iZXIpIHtcbiAgICB0aGlzLmF1ZGlvLnNldFBsYXliYWNrUmF0ZShyYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5oYW5kbGVMb2FkKCk7XG4gICAgdGhpcy5oYW5kbGVMb2FkaW5nKCk7XG4gICAgdGhpcy5oYW5kbGVEZWNvZGUoKTtcbiAgICB0aGlzLmhhbmRsZVJlYWR5KCk7XG4gICAgdGhpcy5oYW5kbGVSZWRSYXdDb21wbGV0ZSgpO1xuICAgIHRoaXMuaGFuZGxlUGxheSgpO1xuICAgIHRoaXMuaGFuZGxlUGF1c2UoKTtcbiAgICB0aGlzLmhhbmRsZUZpbmlzaCgpO1xuICAgIHRoaXMuaGFuZGxlVGltZVVwZGF0ZSgpO1xuICAgIHRoaXMuaGFuZGxlU2Vla2luZygpO1xuICAgIHRoaXMuaGFuZGxlSW50ZXJhY3Rpb24oKTtcbiAgICB0aGlzLmhhbmRsZUNsaWNrKCk7XG4gICAgdGhpcy5oYW5kbGVEcmFnKCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB0aGlzLmhhbmRsZVpvb20oKTtcbiAgICB0aGlzLmhhbmRsZURlc3Ryb3koKTtcbiAgICB0aGlzLmhhbmRsZUVycm9yKCk7XG4gIH1cbiAgLyoqIFdoZW4gYXVkaW8gc3RhcnRzIGxvYWRpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUxvYWQoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2xvYWQnLCAodXJsKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyB1cmw6IHVybCB9LFxuICAgICAgICAgIHN0YXR1czogJ2xvYWQnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBEdXJpbmcgYXVkaW8gbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZGluZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsIChwZXJjZW50KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBwZXJjZW50OiBwZXJjZW50IH0sXG4gICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGhhcyBiZWVuIGRlY29kZWQgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlY29kZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZGVjb2RlJywgKGR1cmF0aW9uKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSxcbiAgICAgICAgICBzdGF0dXM6ICdkZWNvZGUnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBpcyBib3RoIGRlY29kZWQgYW5kIGNhbiBwbGF5ICovXG4gIHByb3RlY3RlZCBoYW5kbGVSZWFkeSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9LFxuICAgICAgICAgIHN0YXR1czogJ3JlYWR5JyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiBhbGwgYXVkaW8gY2hhbm5lbCBjaHVua3Mgb2YgdGhlIHdhdmVmb3JtIGhhdmUgZHJhd24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZFJhd0NvbXBsZXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWRyYXdjb21wbGV0ZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIHN0YXR1czogJ3JlZHJhd2NvbXBsZXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gc3RhcnRzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYXkoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3BsYXknLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwbGF5JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gcGF1c2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVQYXVzZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGF1c2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwYXVzZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGZpbmlzaGVzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbmlzaCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZmluaXNoJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogT24gYXVkaW8gcG9zaXRpb24gY2hhbmdlLCBmaXJlcyBjb250aW51b3VzbHkgZHVyaW5nIHBsYXliYWNrICovXG4gIHByb3RlY3RlZCBoYW5kbGVUaW1lVXBkYXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd0aW1ldXBkYXRlJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICd0aW1ldXBkYXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBzZWVrcyB0byBhIG5ldyBwb3NpdGlvbiAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Vla2luZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignc2Vla2luZycsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Vla2luZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHdhdmVmb3JtIChpLmcuIGNsaWNrcyBvciBkcmFncyBvbiBpdCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdpbnRlcmFjdGlvbicsIChuZXdUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBuZXdUaW1lOiBuZXdUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnaW50ZXJhY3Rpb24nLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgd2F2ZWZvcm0gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdjbGljaycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sXG4gICAgICAgICAgc3RhdHVzOiAnY2xpY2snLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGRyYWdzIHRoZSBjdXJzb3IgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURyYWcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2RyYWcnLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LFxuICAgICAgICAgIHN0YXR1czogJ2RyYWcnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB3YXZlZm9ybSBpcyBzY3JvbGxlZCAocGFubmVkKSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Nyb2xsKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzY3JvbGwnLCAodmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHZpc2libGVTdGFydFRpbWUsIHZpc2libGVFbmRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Nyb2xsJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgem9vbSBsZXZlbCBjaGFuZ2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVab29tKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd6b29tJywgKG1pblB4UGVyU2VjKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSxcbiAgICAgICAgICBzdGF0dXM6ICd6b29tJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogSnVzdCBiZWZvcmUgdGhlIHdhdmVmb3JtIGlzIGRlc3Ryb3llZCBzbyB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZXZlbnRzICovXG4gIHByb3RlY3RlZCBoYW5kbGVEZXN0cm95KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZGVzdHJveScsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBlLCBzdGF0dXM6ICdlcnJvcicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtYXVkaW8td2F2ZVwiICNkIFtuZ1N0eWxlXT1cInsnZGlzcGxheSc6IGF1ZGlvU3RhdGUoKSA9PT0gJ3JlYWR5JyA/ICdibG9jaycgOiAnbm9uZScgfVwiPjwvZGl2PlxuXG5Ac3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbkBjYXNlICgnbG9hZGluZycpIHtcbjxkaXYgY2xhc3M9XCJheC1hdWRpby1za2VsZXRvblwiPjwvZGl2PlxufVxuQGNhc2UgKCdlcnJvcicpIHtcbjxkaXYgY2xhc3M9XCJheC13YXZlLW1lc3NhZ2VcIj5cbiAgICB7eydlcnJvci5tZXNzYWdlJyB8IHRyYW5zbGF0ZTp7IHBhcmFtczp7IG1lc3NhZ2U6IGVycm9yTWVzc2FnZSgpIH0gfSB8IGFzeW5jIH19XG48L2Rpdj5cbn1cbn0iXX0=
@@ -111,7 +111,7 @@ export class AXButtonItemListComponent extends MXInteractiveComponent {
111
111
  }
112
112
  }
113
113
  <ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
114
- `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
114
+ `, isInline: true, styles: ["ax-button-item-list.ax-action-list .ax-action-item{border-radius:var(--ax-rounded-border-default);margin-bottom:.25rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonItemListComponent, decorators: [{
117
117
  type: Component,
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
135
135
  }
136
136
  }
137
137
  <ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
138
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None }]
138
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-button-item-list.ax-action-list .ax-action-item{border-radius:var(--ax-rounded-border-default);margin-bottom:.25rem}\n"] }]
139
139
  }], ctorParameters: () => [{ type: i3.AXClosbaleComponent, decorators: [{
140
140
  type: Optional
141
141
  }, {