coer-elements 0.0.22 → 0.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. package/components/index.d.ts +5 -16
  2. package/components/lib/coer-button/coer-button.component.d.ts +3 -3
  3. package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +1 -1
  4. package/components/lib/coer-filebox/coer-filebox.component.d.ts +3 -3
  5. package/components/lib/coer-grid/coer-grid.component.d.ts +1 -1
  6. package/components/lib/coer-grid/coer-grid.extension.d.ts +3 -5
  7. package/components/lib/coer-grid/coer-grid.templates.d.ts +1 -1
  8. package/components/lib/coer-modal/coer-modal.component.d.ts +2 -2
  9. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -2
  10. package/components/lib/coer-page-title/coer-page-title.component.d.ts +1 -1
  11. package/components/lib/coer-selectbox/coer-selectbox.component.d.ts +1 -1
  12. package/components/lib/coer-switch/coer-switch.component.d.ts +1 -1
  13. package/components/lib/coer-tab/coer-tab.component.d.ts +1 -1
  14. package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
  15. package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
  16. package/components/lib/components.module.d.ts +25 -26
  17. package/components/public-api.d.ts +15 -0
  18. package/directives/index.d.ts +5 -3
  19. package/directives/public-api.d.ts +3 -0
  20. package/esm2022/coer-elements.mjs +2 -2
  21. package/esm2022/components/coer-elements-components.mjs +5 -0
  22. package/esm2022/components/lib/coer-button/coer-button.component.mjs +2 -2
  23. package/esm2022/components/lib/coer-checkbox/coer-checkbox.component.mjs +2 -3
  24. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +3 -5
  25. package/esm2022/components/lib/coer-form/coer-form.component.mjs +2 -3
  26. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +4 -7
  27. package/esm2022/components/lib/coer-grid/coer-grid.extension.mjs +2 -6
  28. package/esm2022/components/lib/coer-grid/coer-grid.templates.mjs +1 -1
  29. package/esm2022/components/lib/coer-modal/coer-modal.component.mjs +4 -5
  30. package/esm2022/components/lib/coer-numberbox/coer-numberbox.component.mjs +2 -4
  31. package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +2 -2
  32. package/esm2022/components/lib/coer-selectbox/coer-selectbox.component.mjs +2 -3
  33. package/esm2022/components/lib/coer-switch/coer-switch.component.mjs +2 -3
  34. package/esm2022/components/lib/coer-tab/coer-tab.component.mjs +4 -4
  35. package/esm2022/components/lib/coer-textarea/coer-textarea.component.mjs +2 -3
  36. package/esm2022/components/lib/coer-textbox/coer-textbox.component.mjs +2 -3
  37. package/esm2022/components/lib/components.module.mjs +10 -15
  38. package/esm2022/components/public-api.mjs +16 -0
  39. package/esm2022/directives/coer-elements-directives.mjs +5 -0
  40. package/esm2022/directives/lib/coer-ref.directive.mjs +1 -1
  41. package/esm2022/directives/lib/directives.module.mjs +1 -1
  42. package/esm2022/directives/lib/life-cycle.directive.mjs +1 -1
  43. package/esm2022/directives/public-api.mjs +4 -0
  44. package/esm2022/index.mjs +2 -0
  45. package/esm2022/interfaces/coer-elements-interfaces.mjs +5 -0
  46. package/esm2022/interfaces/lib/app-source.interface.mjs +1 -1
  47. package/esm2022/interfaces/lib/coer-filebox/file-image.interface.mjs +1 -1
  48. package/esm2022/interfaces/lib/coer-filebox/file.interface.mjs +1 -1
  49. package/esm2022/interfaces/lib/coer-grid/grid-button-by-row.interface.mjs +1 -1
  50. package/esm2022/interfaces/lib/coer-grid/grid-checkbox.interface.mjs +1 -1
  51. package/esm2022/interfaces/lib/coer-grid/grid-coer-numberbox.interface.mjs +1 -1
  52. package/esm2022/interfaces/lib/coer-grid/grid-coer-selectbox.interface.mjs +1 -1
  53. package/esm2022/interfaces/lib/coer-grid/grid-coer-switch.interface.mjs +1 -1
  54. package/esm2022/interfaces/lib/coer-grid/grid-coer-textbox.interface.mjs +1 -1
  55. package/esm2022/interfaces/lib/coer-grid/grid-column.interface.mjs +1 -1
  56. package/esm2022/interfaces/lib/coer-grid/grid-data-source.interface.mjs +1 -1
  57. package/esm2022/interfaces/lib/coer-grid/grid-header-button.interface.mjs +1 -1
  58. package/esm2022/interfaces/lib/coer-grid/grid-header-export-button.interface.mjs +1 -1
  59. package/esm2022/interfaces/lib/coer-grid/grid-header.interface.mjs +1 -1
  60. package/esm2022/interfaces/lib/coer-grid/grid-import.interface.mjs +1 -1
  61. package/esm2022/interfaces/lib/coer-grid/grid-input-checkbox.interface.mjs +1 -1
  62. package/esm2022/interfaces/lib/coer-grid/grid-input-switch-change.interface.mjs +1 -1
  63. package/esm2022/interfaces/lib/coer-grid/grid-input-textbox.interface.mjs +1 -1
  64. package/esm2022/interfaces/lib/coer-grid/grid-item.interface.mjs +1 -1
  65. package/esm2022/interfaces/lib/coer-grid/grid-keyup-enter.interface.mjs +1 -1
  66. package/esm2022/interfaces/lib/coer-grid/grid-length.interface.mjs +1 -1
  67. package/esm2022/interfaces/lib/coer-grid/grid-search.interface.mjs +1 -1
  68. package/esm2022/interfaces/lib/coer-grid/grid-sort.interface.mjs +1 -1
  69. package/esm2022/interfaces/lib/coer-menu/menu-option-selected.interface.mjs +1 -1
  70. package/esm2022/interfaces/lib/coer-menu/menu-selected.interface.mjs +1 -1
  71. package/esm2022/interfaces/lib/coer-menu/menu.interface.mjs +1 -1
  72. package/esm2022/interfaces/lib/coer-ref.interface.mjs +1 -1
  73. package/esm2022/interfaces/lib/page-title/breadcrumb.interface.mjs +1 -1
  74. package/esm2022/interfaces/lib/page-title/go-back.interface.mjs +1 -1
  75. package/esm2022/interfaces/lib/screen-size.interface.mjs +1 -1
  76. package/esm2022/interfaces/lib/service/http-request.interface.mjs +1 -1
  77. package/esm2022/interfaces/lib/service/http-response.interface.mjs +1 -1
  78. package/esm2022/interfaces/lib/service/patch.interface.mjs +1 -1
  79. package/esm2022/interfaces/public-api.mjs +39 -0
  80. package/esm2022/pipes/coer-elements-pipes.mjs +5 -0
  81. package/esm2022/pipes/lib/html.pipe.mjs +1 -1
  82. package/esm2022/pipes/lib/no-image.pipe.mjs +3 -3
  83. package/esm2022/pipes/lib/numeric-format.pipe.mjs +2 -2
  84. package/esm2022/pipes/lib/pipes.module.mjs +1 -1
  85. package/esm2022/pipes/public-api.mjs +5 -0
  86. package/esm2022/signals/coer-elements-signals.mjs +5 -0
  87. package/esm2022/signals/lib/breakpoint.signal.mjs +2 -2
  88. package/esm2022/signals/lib/is-loading.signal.mjs +1 -1
  89. package/esm2022/signals/lib/is-menu-open.signal.mjs +1 -1
  90. package/esm2022/signals/lib/is-modal-open.signal.mjs +1 -1
  91. package/esm2022/signals/lib/menu.signal.mjs +1 -1
  92. package/esm2022/signals/public-api.mjs +6 -0
  93. package/esm2022/tools/coer-elements-tools.mjs +5 -0
  94. package/esm2022/tools/lib/breadcrumbs.class.mjs +1 -1
  95. package/esm2022/tools/lib/coer-alert/coer-alert.component.mjs +228 -0
  96. package/esm2022/tools/lib/control-value.class.mjs +1 -1
  97. package/esm2022/tools/lib/date-time.class.mjs +1 -1
  98. package/esm2022/tools/lib/files.class.mjs +1 -1
  99. package/esm2022/tools/lib/menu.class.mjs +1 -1
  100. package/esm2022/tools/lib/page.class.mjs +4 -4
  101. package/esm2022/tools/lib/screen.class.mjs +1 -1
  102. package/esm2022/tools/lib/service.class.mjs +24 -25
  103. package/esm2022/tools/lib/source.class.mjs +3 -3
  104. package/esm2022/tools/lib/tools.mjs +1 -1
  105. package/esm2022/tools/public-api.mjs +12 -0
  106. package/fesm2022/coer-elements-components.mjs +2718 -0
  107. package/fesm2022/coer-elements-components.mjs.map +1 -0
  108. package/fesm2022/coer-elements-directives.mjs +82 -0
  109. package/fesm2022/coer-elements-directives.mjs.map +1 -0
  110. package/fesm2022/coer-elements-interfaces.mjs +6 -0
  111. package/fesm2022/coer-elements-interfaces.mjs.map +1 -0
  112. package/fesm2022/coer-elements-pipes.mjs +83 -0
  113. package/fesm2022/coer-elements-pipes.mjs.map +1 -0
  114. package/fesm2022/coer-elements-signals.mjs +19 -0
  115. package/fesm2022/coer-elements-signals.mjs.map +1 -0
  116. package/fesm2022/coer-elements-tools.mjs +1223 -0
  117. package/fesm2022/coer-elements-tools.mjs.map +1 -0
  118. package/fesm2022/coer-elements.mjs +0 -4081
  119. package/fesm2022/coer-elements.mjs.map +1 -1
  120. package/index.d.ts +1 -5
  121. package/interfaces/index.d.ts +5 -33
  122. package/interfaces/public-api.d.ts +33 -0
  123. package/package.json +37 -1
  124. package/pipes/index.d.ts +5 -4
  125. package/pipes/public-api.d.ts +4 -0
  126. package/signals/index.d.ts +5 -5
  127. package/signals/lib/menu.signal.d.ts +1 -1
  128. package/signals/public-api.d.ts +5 -0
  129. package/styles/angular-material.scss +8 -11
  130. package/styles/bootstrap.scss +3 -3
  131. package/tools/index.d.ts +5 -10
  132. package/tools/lib/breadcrumbs.class.d.ts +1 -1
  133. package/tools/lib/menu.class.d.ts +1 -1
  134. package/tools/lib/page.class.d.ts +2 -2
  135. package/tools/lib/screen.class.d.ts +1 -1
  136. package/tools/lib/service.class.d.ts +2 -2
  137. package/tools/lib/source.class.d.ts +1 -1
  138. package/tools/public-api.d.ts +11 -0
  139. package/esm2022/components/index.mjs +0 -17
  140. package/esm2022/components/lib/coer-alert/coer-alert.component.mjs +0 -227
  141. package/esm2022/directives/index.mjs +0 -4
  142. package/esm2022/interfaces/index.mjs +0 -39
  143. package/esm2022/pipes/index.mjs +0 -5
  144. package/esm2022/public_api.mjs +0 -6
  145. package/esm2022/signals/index.mjs +0 -6
  146. package/esm2022/tools/index.mjs +0 -11
  147. package/public_api.d.ts +0 -5
  148. /package/{components → tools}/lib/coer-alert/coer-alert.component.d.ts +0 -0
@@ -1,16 +1,5 @@
1
- export * from './lib/components.module';
2
- export * from './lib/coer-alert/coer-alert.component';
3
- export * from './lib/coer-button/coer-button.component';
4
- export * from './lib/coer-checkbox/coer-checkbox.component';
5
- export * from './lib/coer-filebox/coer-filebox.component';
6
- export * from './lib/coer-form/coer-form.component';
7
- export * from './lib/coer-grid/coer-grid.component';
8
- export * from './lib/coer-grid/coer-grid.templates';
9
- export * from './lib/coer-modal/coer-modal.component';
10
- export * from './lib/coer-numberbox/coer-numberbox.component';
11
- export * from './lib/coer-page-title/coer-page-title.component';
12
- export * from './lib/coer-selectbox/coer-selectbox.component';
13
- export * from './lib/coer-switch/coer-switch.component';
14
- export * from './lib/coer-tab/coer-tab.component';
15
- export * from './lib/coer-textarea/coer-textarea.component';
16
- export * from './lib/coer-textbox/coer-textbox.component';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/components" />
5
+ export * from './public-api';
@@ -6,9 +6,9 @@ export declare class CoerButton implements OnInit, OnDestroy {
6
6
  private _tooltip;
7
7
  private _tooltipElement;
8
8
  id: string;
9
- color: import("@angular/core").InputSignal<"warning" | "danger" | "success" | "default" | "primary" | "secondary" | "navigation">;
10
- type: import("@angular/core").InputSignal<"icon" | "filled" | "outline" | "icon-outline" | "icon-no-border">;
11
- icon: import("@angular/core").InputSignal<"" | "delete" | "new" | "save" | "cancel" | "import" | "excel" | "menu" | "edit" | "go" | "back">;
9
+ color: import("@angular/core").InputSignal<"default" | "primary" | "secondary" | "success" | "warning" | "danger" | "navigation">;
10
+ type: import("@angular/core").InputSignal<"filled" | "outline" | "icon" | "icon-outline" | "icon-no-border">;
11
+ icon: import("@angular/core").InputSignal<"" | "new" | "save" | "cancel" | "import" | "excel" | "menu" | "delete" | "edit" | "go" | "back">;
12
12
  iconPosition: import("@angular/core").InputSignal<"left" | "right">;
13
13
  animation: import("@angular/core").InputSignal<boolean>;
14
14
  isLoading: import("@angular/core").InputSignal<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit } from '@angular/core';
2
- import { ControlValue } from '../../../tools/lib/control-value.class';
2
+ import { ControlValue } from 'coer-elements/tools';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CoerCheckbox extends ControlValue implements AfterViewInit {
5
5
  _value: boolean;
@@ -1,12 +1,12 @@
1
1
  import { ElementRef } from '@angular/core';
2
- import { IFile, IFileImage } from '../../../interfaces';
3
- import { CoerAlert } from '../../lib/coer-alert/coer-alert.component';
4
2
  import { CoerModal } from '../../lib/coer-modal/coer-modal.component';
3
+ import { IFile, IFileImage } from 'coer-elements/interfaces';
4
+ import { CoerAlert } from 'coer-elements/tools';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class CoerFilebox {
7
7
  protected readonly alert: CoerAlert;
8
8
  protected IsNull: <T>(value: T | null | undefined) => boolean;
9
- protected IsNotNull: <T>(value: T | null | undefined) => boolean;
9
+ protected IsNotNull: <T_1>(value: T_1 | null | undefined) => boolean;
10
10
  protected inputFileImage: import("@angular/core").Signal<ElementRef<any>>;
11
11
  protected modal: import("@angular/core").Signal<CoerModal>;
12
12
  protected base64: string;
@@ -1,5 +1,5 @@
1
1
  import { CoerGridExtension } from './coer-grid.extension';
2
- import { IGridLength } from '../../../interfaces';
2
+ import { IGridLength } from 'coer-elements/interfaces';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CoerGrid<T> extends CoerGridExtension<T> {
5
5
  dataSource: import("@angular/core").Signal<T[]>;
@@ -1,12 +1,10 @@
1
- import { IGridButtonByRow, IGridColumn, IGridDataSource, IGridImport, IGridHeaderButton, IGridHeaderExportButton, IGridKeyupEnter, IGridSearch, IGridInputSwitchChange, IGridInputTextbox, IGridSort, IGridCheckbox, IGridInputCheckbox, IGridHeader } from "../../../interfaces";
1
+ import { IGridButtonByRow, IGridColumn, IGridDataSource, IGridImport, IGridHeaderButton, IGridHeaderExportButton, IGridKeyupEnter, IGridSearch, IGridInputSwitchChange, IGridInputTextbox, IGridSort, IGridCheckbox, IGridInputCheckbox, IGridHeader } from "coer-elements/interfaces";
2
2
  import { AfterViewInit, ElementRef } from "@angular/core";
3
- import { CoerAlert } from "../../lib/coer-alert/coer-alert.component";
4
3
  import { CoerCheckbox } from "../../lib/coer-checkbox/coer-checkbox.component";
5
4
  import { CoerNumberBox } from "../../lib/coer-numberbox/coer-numberbox.component";
6
5
  import { CoerSelectbox } from "../../lib/coer-selectbox/coer-selectbox.component";
7
6
  import { CoerTextBox } from "../../lib/coer-textbox/coer-textbox.component";
8
- import { ControlValue } from '../../../tools/lib/control-value.class';
9
- import { DateTime } from '../../../tools/lib/date-time.class';
7
+ import { CoerAlert, ControlValue, DateTime } from 'coer-elements/tools';
10
8
  import * as i0 from "@angular/core";
11
9
  export declare class CoerGridExtension<T> extends ControlValue implements AfterViewInit {
12
10
  protected readonly alert: CoerAlert;
@@ -26,7 +24,7 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
26
24
  protected _enableAnimations: boolean;
27
25
  protected _indexFocus: import("@angular/core").WritableSignal<number>;
28
26
  protected _sort: import("@angular/core").WritableSignal<IGridSort>;
29
- protected GetNumericFormat: (value: string | number | null | undefined, decimals?: number) => string;
27
+ protected GetNumericFormat: (value: string | number | null | undefined, decimals?: number | undefined) => string;
30
28
  protected GetDateFormat: typeof DateTime.GetDateFormat;
31
29
  columns: import("@angular/core").InputSignal<IGridColumn<T>[]>;
32
30
  cleanColumnName: import("@angular/core").InputSignal<boolean>;
@@ -1,4 +1,4 @@
1
- import { IGridCoerSwitch, IGridCoerTextBox, IGridItem } from "../../../interfaces";
1
+ import { IGridCoerSwitch, IGridCoerTextBox, IGridItem } from "coer-elements/interfaces";
2
2
  export declare const GridTemplates: {
3
3
  /** Template for boolean property */
4
4
  isActiveTemplate: (item: IGridItem<any>) => string;
@@ -1,5 +1,5 @@
1
1
  import { OnInit, WritableSignal } from '@angular/core';
2
- import { ICoerRef } from '../../../interfaces';
2
+ import { ICoerRef } from 'coer-elements/interfaces';
3
3
  import { Modal } from 'bootstrap';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class CoerModal implements OnInit {
@@ -27,7 +27,7 @@ export declare class CoerModal implements OnInit {
27
27
  onOpen: import("@angular/core").OutputEmitterRef<void>;
28
28
  onClose: import("@angular/core").OutputEmitterRef<void>;
29
29
  protected IsNull: <T>(value: T | null | undefined) => boolean;
30
- protected IsNotNull: <T>(value: T | null | undefined) => boolean;
30
+ protected IsNotNull: <T_1>(value: T_1 | null | undefined) => boolean;
31
31
  ngOnInit(): void;
32
32
  /** */
33
33
  Open(): void;
@@ -1,6 +1,5 @@
1
1
  import { ElementRef, OnInit } from '@angular/core';
2
- import { CoerAlert } from '../../lib/coer-alert/coer-alert.component';
3
- import { ControlValue } from '../../../tools/lib/control-value.class';
2
+ import { CoerAlert, ControlValue } from 'coer-elements/tools';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class CoerNumberBox extends ControlValue implements OnInit {
6
5
  protected readonly alert: CoerAlert;
@@ -1,4 +1,4 @@
1
- import { IBreadcrumb, IGoBack } from '../../../interfaces';
1
+ import { IBreadcrumb, IGoBack } from 'coer-elements/interfaces';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class CoerPageTitle {
4
4
  title: string | null;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, OnInit } from '@angular/core';
2
- import { ControlValue } from '../../../tools/lib/control-value.class';
2
+ import { ControlValue } from 'coer-elements/tools';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CoerSelectbox<T> extends ControlValue implements OnInit {
5
5
  protected _value: T | null;
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
+ import { ControlValue } from 'coer-elements/tools';
2
3
  import { MatSlideToggle } from '@angular/material/slide-toggle';
3
- import { ControlValue } from '../../../tools/lib/control-value.class';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class CoerSwitch extends ControlValue implements OnInit, OnDestroy {
6
6
  protected _value: boolean;
@@ -1,6 +1,6 @@
1
1
  import { OnInit, OnDestroy } from '@angular/core';
2
2
  import { MatTabGroup } from '@angular/material/tabs';
3
- import { ICoerRef } from '../../../interfaces';
3
+ import { ICoerRef } from 'coer-elements/interfaces';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class CoerTab implements OnInit, OnDestroy {
6
6
  contentRef: any;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, OnInit } from '@angular/core';
2
- import { ControlValue } from '../../../tools/lib/control-value.class';
2
+ import { ControlValue } from 'coer-elements/tools';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CoerTextarea extends ControlValue implements OnInit {
5
5
  protected _value: string | number;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, OnInit } from '@angular/core';
2
- import { ControlValue } from '../../../tools/lib/control-value.class';
2
+ import { ControlValue } from 'coer-elements/tools';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CoerTextBox extends ControlValue implements OnInit {
5
5
  protected _value: string | number;
@@ -1,31 +1,30 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./coer-alert/coer-alert.component";
3
- import * as i2 from "./coer-button/coer-button.component";
4
- import * as i3 from "./coer-checkbox/coer-checkbox.component";
5
- import * as i4 from "./coer-filebox/coer-filebox.component";
6
- import * as i5 from "./coer-form/coer-form.component";
7
- import * as i6 from "./coer-grid/coer-grid.component";
8
- import * as i7 from "./coer-modal/coer-modal.component";
9
- import * as i8 from "./coer-numberbox/coer-numberbox.component";
10
- import * as i9 from "./coer-page-title/coer-page-title.component";
11
- import * as i10 from "./coer-selectbox/coer-selectbox.component";
12
- import * as i11 from "./coer-switch/coer-switch.component";
13
- import * as i12 from "./coer-tab/coer-tab.component";
14
- import * as i13 from "./coer-textarea/coer-textarea.component";
15
- import * as i14 from "./coer-textbox/coer-textbox.component";
16
- import * as i15 from "@angular/common";
17
- import * as i16 from "@angular/router";
18
- import * as i17 from "@angular/forms";
19
- import * as i18 from "../../pipes/lib/pipes.module";
20
- import * as i19 from "@angular/material/button";
21
- import * as i20 from "@angular/material/checkbox";
22
- import * as i21 from "@angular/material/input";
23
- import * as i22 from "@angular/material/form-field";
24
- import * as i23 from "@angular/material/slide-toggle";
25
- import * as i24 from "@angular/material/tabs";
26
- import * as i25 from "../../directives/lib/directives.module";
2
+ import * as i1 from "./coer-button/coer-button.component";
3
+ import * as i2 from "./coer-checkbox/coer-checkbox.component";
4
+ import * as i3 from "./coer-filebox/coer-filebox.component";
5
+ import * as i4 from "./coer-form/coer-form.component";
6
+ import * as i5 from "./coer-grid/coer-grid.component";
7
+ import * as i6 from "./coer-modal/coer-modal.component";
8
+ import * as i7 from "./coer-numberbox/coer-numberbox.component";
9
+ import * as i8 from "./coer-page-title/coer-page-title.component";
10
+ import * as i9 from "./coer-selectbox/coer-selectbox.component";
11
+ import * as i10 from "./coer-switch/coer-switch.component";
12
+ import * as i11 from "./coer-tab/coer-tab.component";
13
+ import * as i12 from "./coer-textarea/coer-textarea.component";
14
+ import * as i13 from "./coer-textbox/coer-textbox.component";
15
+ import * as i14 from "@angular/common";
16
+ import * as i15 from "@angular/router";
17
+ import * as i16 from "@angular/forms";
18
+ import * as i17 from "@angular/material/button";
19
+ import * as i18 from "@angular/material/checkbox";
20
+ import * as i19 from "@angular/material/input";
21
+ import * as i20 from "@angular/material/form-field";
22
+ import * as i21 from "@angular/material/slide-toggle";
23
+ import * as i22 from "@angular/material/tabs";
24
+ import * as i23 from "coer-elements/directives";
25
+ import * as i24 from "coer-elements/pipes";
27
26
  export declare class ComponentsModule {
28
27
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
29
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerAlert, typeof i2.CoerButton, typeof i3.CoerCheckbox, typeof i4.CoerFilebox, typeof i5.CoerForm, typeof i6.CoerGrid, typeof i7.CoerModal, typeof i8.CoerNumberBox, typeof i9.CoerPageTitle, typeof i10.CoerSelectbox, typeof i11.CoerSwitch, typeof i12.CoerTab, typeof i13.CoerTextarea, typeof i14.CoerTextBox], [typeof i15.CommonModule, typeof i16.RouterModule, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.PipesModule, typeof i19.MatButtonModule, typeof i20.MatCheckboxModule, typeof i21.MatInputModule, typeof i22.MatFormFieldModule, typeof i23.MatSlideToggleModule, typeof i24.MatTabsModule, typeof i25.DirectivesModule], [typeof i1.CoerAlert, typeof i2.CoerButton, typeof i3.CoerCheckbox, typeof i4.CoerFilebox, typeof i5.CoerForm, typeof i6.CoerGrid, typeof i7.CoerModal, typeof i8.CoerNumberBox, typeof i9.CoerPageTitle, typeof i10.CoerSelectbox, typeof i11.CoerSwitch, typeof i12.CoerTab, typeof i13.CoerTextarea, typeof i14.CoerTextBox]>;
28
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.CoerButton, typeof i2.CoerCheckbox, typeof i3.CoerFilebox, typeof i4.CoerForm, typeof i5.CoerGrid, typeof i6.CoerModal, typeof i7.CoerNumberBox, typeof i8.CoerPageTitle, typeof i9.CoerSelectbox, typeof i10.CoerSwitch, typeof i11.CoerTab, typeof i12.CoerTextarea, typeof i13.CoerTextBox], [typeof i14.CommonModule, typeof i15.RouterModule, typeof i16.FormsModule, typeof i16.ReactiveFormsModule, typeof i17.MatButtonModule, typeof i18.MatCheckboxModule, typeof i19.MatInputModule, typeof i20.MatFormFieldModule, typeof i21.MatSlideToggleModule, typeof i22.MatTabsModule, typeof i23.DirectivesModule, typeof i24.PipesModule], [typeof i1.CoerButton, typeof i2.CoerCheckbox, typeof i3.CoerFilebox, typeof i4.CoerForm, typeof i5.CoerGrid, typeof i6.CoerModal, typeof i7.CoerNumberBox, typeof i8.CoerPageTitle, typeof i9.CoerSelectbox, typeof i10.CoerSwitch, typeof i11.CoerTab, typeof i12.CoerTextarea, typeof i13.CoerTextBox]>;
30
29
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
31
30
  }
@@ -0,0 +1,15 @@
1
+ export * from './lib/components.module';
2
+ export * from './lib/coer-button/coer-button.component';
3
+ export * from './lib/coer-checkbox/coer-checkbox.component';
4
+ export * from './lib/coer-filebox/coer-filebox.component';
5
+ export * from './lib/coer-form/coer-form.component';
6
+ export * from './lib/coer-grid/coer-grid.component';
7
+ export * from './lib/coer-grid/coer-grid.templates';
8
+ export * from './lib/coer-modal/coer-modal.component';
9
+ export * from './lib/coer-numberbox/coer-numberbox.component';
10
+ export * from './lib/coer-page-title/coer-page-title.component';
11
+ export * from './lib/coer-selectbox/coer-selectbox.component';
12
+ export * from './lib/coer-switch/coer-switch.component';
13
+ export * from './lib/coer-tab/coer-tab.component';
14
+ export * from './lib/coer-textarea/coer-textarea.component';
15
+ export * from './lib/coer-textbox/coer-textbox.component';
@@ -1,3 +1,5 @@
1
- export * from './lib/directives.module';
2
- export * from './lib/coer-ref.directive';
3
- export * from './lib/life-cycle.directive';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="coer-elements/directives" />
5
+ export * from './public-api';
@@ -0,0 +1,3 @@
1
+ export * from './lib/directives.module';
2
+ export * from './lib/coer-ref.directive';
3
+ export * from './lib/life-cycle.directive';
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1lbGVtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvc3JjL2NvZXItZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1lbGVtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29lci1lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1lbGVtZW50cy1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2NvZXItZWxlbWVudHMtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';
2
- import { Tools } from '../../../tools/lib/tools';
2
+ import { Tools } from 'coer-elements/tools';
3
3
  import { Tooltip } from 'bootstrap';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
130
130
  }], onClick: [{
131
131
  type: Output
132
132
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFPcEMsTUFBTSxPQUFPLFVBQVU7SUFMdkI7UUFPSSxXQUFXO1FBQ0QsUUFBRyxHQUFXLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUc5QixRQUFRO1FBQ0MsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUF3RixTQUFTLENBQUMsQ0FBQztRQUNoSCxTQUFJLEdBQUcsS0FBSyxDQUFtRSxRQUFRLENBQUMsQ0FBQztRQUN6RixTQUFJLEdBQUcsS0FBSyxDQUFtRyxFQUFFLENBQUMsQ0FBQztRQUNuSCxpQkFBWSxHQUFHLEtBQUssQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLENB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QUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNJLEtBQUssQ0FBQyxLQUFpQjtRQUM3QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLLENBQUMsVUFBa0IsQ0FBQztRQUM1QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBR0QsTUFBTTtJQUNDLElBQUk7UUFDUCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0SVEsVUFBVTttR0FBVixVQUFVLDRuRkNUdkIsb3VMQStHTTs7NEZEdEdPLFVBQVU7a0JBTHRCLFNBQVM7K0JBQ0ksYUFBYTs4QkFhZCxFQUFFO3NCQUFWLEtBQUs7Z0JBb0JPLE9BQU87c0JBQW5CLEtBQUs7Z0JBUUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvbGliL3Rvb2xzJ1xyXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29lci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgLy9WYXJpYWJsZXNcclxuICAgIHByb3RlY3RlZCBfaWQ6IHN0cmluZyA9IFRvb2xzLkdldEd1aWQoJ2NvZXItYnV0dG9uJyk7XHJcbiAgICBwcml2YXRlIF9lbGVtZW50ITogSFRNTEJ1dHRvbkVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIF90b29sdGlwOiBzdHJpbmcgPSAnJztcclxuICAgIHByaXZhdGUgX3Rvb2x0aXBFbGVtZW50ITogVG9vbHRpcDtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcHVibGljIGNvbG9yID0gaW5wdXQ8J2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICduYXZpZ2F0aW9uJz4oJ2RlZmF1bHQnKTtcclxuICAgIHB1YmxpYyB0eXBlID0gaW5wdXQ8J2ZpbGxlZCcgfCAnb3V0bGluZScgfCAnaWNvbid8ICdpY29uLW91dGxpbmUnIHwgJ2ljb24tbm8tYm9yZGVyJz4oJ2ZpbGxlZCcpO1xyXG4gICAgcHVibGljIGljb24gPSBpbnB1dDwnbmV3JyB8ICdzYXZlJyB8ICdjYW5jZWwnIHwgJ2ltcG9ydCcgfCAnZXhjZWwnIHwgJ21lbnUnIHwgJ2RlbGV0ZScgfCAnZWRpdCcgfCAnZ28nIHwgJ2JhY2snIHwgJyc+KCcnKTtcclxuICAgIHB1YmxpYyBpY29uUG9zaXRpb24gPSBpbnB1dDwnbGVmdCcgfCAncmlnaHQnPignbGVmdCcpO1xyXG4gICAgcHVibGljIGFuaW1hdGlvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0ludmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyB3aWR0aCA9IGlucHV0PHN0cmluZz4oJzEyNXB4Jyk7XHJcbiAgICBwdWJsaWMgbWluV2lkdGggPSBpbnB1dDxzdHJpbmc+KCczMHB4Jyk7XHJcbiAgICBwdWJsaWMgaGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignNDBweCcpO1xyXG4gICAgcHVibGljIG1pbkhlaWdodCA9IGlucHV0PHN0cmluZz4oJzMwcHgnKTtcclxuICAgIHB1YmxpYyBtYXJnaW5Ub3AgPSBpbnB1dDxzdHJpbmc+KCcwcHgnKTtcclxuICAgIHB1YmxpYyBtYXJnaW5SaWdodCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpbkJvdHRvbSA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpbkxlZnQgPSBpbnB1dDxzdHJpbmc+KCcwcHgnKTtcclxuICAgIHB1YmxpYyBwYXRoID0gaW5wdXQ8c3RyaW5nIHwgKHN0cmluZyB8IG51bWJlcilbXT4oW10pO1xyXG4gICAgcHVibGljIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PCd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnPignbGVmdCcpO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCB0b29sdGlwKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl90b29sdGlwID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuX3Rvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50LnNldENvbnRlbnQoeyAnLnRvb2x0aXAtaW5uZXInOiB0aGlzLl90b29sdGlwIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL091dHB1dHNcclxuICAgIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuXHJcbiAgICAvL2NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgX2lzRW5hYmxlID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0xvYWRpbmcoKSAmJiAhdGhpcy5pc0Rpc2FibGVkKCkgJiYgIXRoaXMuaXNJbnZpc2libGUoKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAvL2NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgX2ljb24gPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBzd2l0Y2godGhpcy5pY29uKCkpIHtcclxuICAgICAgICAgICAgY2FzZSAnbmV3JzogcmV0dXJuICdmYS1zb2xpZCBmYS1wbHVzIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnc2F2ZSc6IHJldHVybiAnZmEtc29saWQgZmEtZmxvcHB5LWRpc2sgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdjYW5jZWwnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXhtYXJrIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnaW1wb3J0JzogcmV0dXJuICdmYS1zb2xpZCBmYS1maWxlLWFycm93LXVwIGZhLWxnJztcclxuICAgICAgICAgICAgY2FzZSAnZXhjZWwnOiByZXR1cm4gJ2JpIGJpLWZpbGV0eXBlLXhsc3ggZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdtZW51JzogcmV0dXJuICdmYS1zb2xpZCBmYS1iYXJzJztcclxuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzogcmV0dXJuICdmYS1zb2xpZCBmYS10cmFzaC1jYW4nO1xyXG4gICAgICAgICAgICBjYXNlICdlZGl0JzogcmV0dXJuICdmYS1zb2xpZCBmYS1wZW4gZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdnbyc6IHJldHVybiAnYmkgYmktYm94LWFycm93LXJpZ2h0JztcclxuICAgICAgICAgICAgY2FzZSAnYmFjayc6IHJldHVybiAnYmkgYmktYm94LWFycm93LWxlZnQnO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuU2V0VG9vbFRpcCgpO1xyXG4gICAgICAgIHRoaXMuU2V0RXZlbnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Rvb2x0aXBFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB0aGlzLl90b29sdGlwRWxlbWVudC5kaXNwb3NlKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIFNldEV2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5faWR9LWlubmVyLWJ1dHRvbmApISBhcyBIVE1MQnV0dG9uRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwodGhpcy5fZWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZSgpKSB0aGlzLkJsdXIoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgU2V0VG9vbFRpcCgpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuX2lkfS1jb250YWluZXJgKSE7XHJcblxyXG4gICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSAmJiBUb29scy5Jc05vdE51bGwodGhpcy5fdG9vbHRpcEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50LmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90b29sdGlwRWxlbWVudCA9IG5ldyBUb29sdGlwKGh0bWxFbGVtZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5fdG9vbHRpcCxcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudG9vbHRpcFBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuQmx1cigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBGb2N1cyh0aW1lb3V0OiBudW1iZXIgPSAwKTogdm9pZCB7XHJcbiAgICAgICAgVG9vbHMuU2xlZXAodGltZW91dCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9pc0VuYWJsZSgpKSB0aGlzLl9lbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEJsdXIoKTogdm9pZCB7XHJcbiAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5ibHVyKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvZXItYnV0dG9uJzogdHJ1ZSwgJ2ludmlzaWJsZSc6IGlzSW52aXNpYmxlKCkgfVwiPlxyXG4gICAgPGEgW2lkXT1cIl9pZCArICctY29udGFpbmVyJ1wiXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiKHBhdGgoKS5sZW5ndGggPiAwICYmIF9pc0VuYWJsZSgpKSA/IHBhdGgoKSA6IG51bGxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2xvYWRpbmcnOiBpc0xvYWRpbmcoKSwgJ2FuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX3pvb21Jbic6IHRydWUsICdhbmltYXRlX19kaXNhYmxlZCc6ICFhbmltYXRpb24oKSB9XCJcclxuICAgICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tdG9wJzogbWFyZ2luVG9wKCksICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCgpLCAnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSgpLCAnbWFyZ2luLWxlZnQnOiBtYXJnaW5MZWZ0KCkgIH1cIj5cclxuICAgICAgICBAaWYodHlwZSgpID09J2ZpbGxlZCcgfHwgdHlwZSgpID09ICdvdXRsaW5lJykge1xyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdzZWNvbmRhcnknICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1maWxsZWQnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICd3YXJuaW5nLWZpbGxlZCc6IChjb2xvcigpID09ICd3YXJuaW5nJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1maWxsZWQnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tZmlsbGVkJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3NlY29uZGFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctb3V0bGluZSc6IChjb2xvcigpID09ICd3YXJuaW5nJyAmJiB0eXBlKCkgPT0nb3V0bGluZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICdkYW5nZXItb3V0bGluZSc6IChjb2xvcigpID09ICdkYW5nZXInICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tb3V0bGluZSc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogaXNEaXNhYmxlZCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiB3aWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtaW4td2lkdGgnOiBtaW5XaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiBoZWlnaHQoKSxcclxuICAgICAgICAgICAgICAgICAgICAnbWluLWhlaWdodCc6IG1pbkhlaWdodCgpXHJcbiAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsb3RcIiAqbmdJZj1cIiFpc0xvYWRpbmcoKTsgZWxzZSBsb2FkaW5nXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGljb25Qb3NpdGlvbigpID09ICdsZWZ0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICdtcy0yJzogKGljb25Qb3NpdGlvbigpID09ICdsZWZ0JyksICdtZS0yJzogKGljb25Qb3NpdGlvbigpID09ICdyaWdodCcpIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoaWNvblBvc2l0aW9uKCkgPT0gJ3JpZ2h0JylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsb3QgZmEtZmFkZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTJcIj4gTG9hZGluZyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1ib3JkZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAodHlwZSgpID09ICdpY29uJykge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy1pbm5lci1idXR0b24nXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1maWxsZWQnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdzZWNvbmRhcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3MtZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1maWxsZWQnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICduYXZpZ2F0aW9uLWZpbGxlZCc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWFkb25seSc6IChpc0Rpc2FibGVkKCkgfHwgaXNMb2FkaW5nKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLXdhaXQnOiBpc0xvYWRpbmcoKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAZWxzZSBpZiAodHlwZSgpID09ICdpY29uLW91dGxpbmUnKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBlbHNlIGlmICh0eXBlKCkgPT0gJ2ljb24tbm8tYm9yZGVyJykge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiX2lkICsgJy1pbm5lci1idXR0b24nXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3ByaW1hcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NlY29uZGFyeS1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3N1Y2Nlc3MnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctb3V0bGluZSc6IChjb2xvcigpID09ICd3YXJuaW5nJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYW5nZXItb3V0bGluZSc6IChjb2xvcigpID09ICdkYW5nZXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tb3V0bGluZSc6IChjb2xvcigpID09ICduYXZpZ2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWFkb25seSc6IChpc0Rpc2FibGVkKCkgfHwgaXNMb2FkaW5nKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi1uby1ib3JkZXInOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICA8L2E+XHJcbjwvZGl2PiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2xpYi9jb2VyLWJ1dHRvbi9jb2VyLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItYnV0dG9uL2NvZXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBT3BDLE1BQU0sT0FBTyxVQUFVO0lBTHZCO1FBT0ksV0FBVztRQUNELFFBQUcsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHOUIsUUFBUTtRQUNDLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFHLEtBQUssQ0FBd0YsU0FBUyxDQUFDLENBQUM7UUFDaEgsU0FBSSxHQUFHLEtBQUssQ0FBbUUsUUFBUSxDQUFDLENBQUM7UUFDekYsU0FBSSxHQUFHLEtBQUssQ0FBbUcsRUFBRSxDQUFDLENBQUM7UUFDbkgsaUJBQVksR0FBRyxLQUFLLENBQW1CLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUss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O1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELE1BQU07SUFDSSxLQUFLLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNO0lBQ0MsS0FBSyxDQUFDLFVBQWtCLENBQUM7UUFDNUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELE1BQU07SUFDQyxJQUFJO1FBQ1AsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBdElRLFVBQVU7bUdBQVYsVUFBVSw0bkZDVHZCLG91TEErR007OzRGRHRHTyxVQUFVO2tCQUx0QixTQUFTOytCQUNJLGFBQWE7OEJBYWQsRUFBRTtzQkFBVixLQUFLO2dCQW9CTyxPQUFPO3NCQUFuQixLQUFLO2dCQVFJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29scyB9IGZyb20gJ2NvZXItZWxlbWVudHMvdG9vbHMnXHJcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdib290c3RyYXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItYnV0dG9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lckJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHJvdGVjdGVkIF9pZDogc3RyaW5nID0gVG9vbHMuR2V0R3VpZCgnY29lci1idXR0b24nKTtcclxuICAgIHByaXZhdGUgX2VsZW1lbnQhOiBIVE1MQnV0dG9uRWxlbWVudDtcclxuICAgIHByaXZhdGUgX3Rvb2x0aXA6IHN0cmluZyA9ICcnO1xyXG4gICAgcHJpdmF0ZSBfdG9vbHRpcEVsZW1lbnQhOiBUb29sdGlwO1xyXG5cclxuICAgIC8vSW5wdXRzXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgY29sb3IgPSBpbnB1dDwnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ25hdmlnYXRpb24nPignZGVmYXVsdCcpO1xyXG4gICAgcHVibGljIHR5cGUgPSBpbnB1dDwnZmlsbGVkJyB8ICdvdXRsaW5lJyB8ICdpY29uJ3wgJ2ljb24tb3V0bGluZScgfCAnaWNvbi1uby1ib3JkZXInPignZmlsbGVkJyk7XHJcbiAgICBwdWJsaWMgaWNvbiA9IGlucHV0PCduZXcnIHwgJ3NhdmUnIHwgJ2NhbmNlbCcgfCAnaW1wb3J0JyB8ICdleGNlbCcgfCAnbWVudScgfCAnZGVsZXRlJyB8ICdlZGl0JyB8ICdnbycgfCAnYmFjaycgfCAnJz4oJycpO1xyXG4gICAgcHVibGljIGljb25Qb3NpdGlvbiA9IGlucHV0PCdsZWZ0JyB8ICdyaWdodCc+KCdsZWZ0Jyk7XHJcbiAgICBwdWJsaWMgYW5pbWF0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzSW52aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIHdpZHRoID0gaW5wdXQ8c3RyaW5nPignMTI1cHgnKTtcclxuICAgIHB1YmxpYyBtaW5XaWR0aCA9IGlucHV0PHN0cmluZz4oJzMwcHgnKTtcclxuICAgIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCc0MHB4Jyk7XHJcbiAgICBwdWJsaWMgbWluSGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblRvcCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIG1hcmdpblJpZ2h0ID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luQm90dG9tID0gaW5wdXQ8c3RyaW5nPignMHB4Jyk7XHJcbiAgICBwdWJsaWMgbWFyZ2luTGVmdCA9IGlucHV0PHN0cmluZz4oJzBweCcpO1xyXG4gICAgcHVibGljIHBhdGggPSBpbnB1dDxzdHJpbmcgfCAoc3RyaW5nIHwgbnVtYmVyKVtdPihbXSk7XHJcbiAgICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8J3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc+KCdsZWZ0Jyk7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHRvb2x0aXAodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3Rvb2x0aXAgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuc2V0Q29udGVudCh7ICcudG9vbHRpcC1pbm5lcic6IHRoaXMuX3Rvb2x0aXAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKSAmJiAhdGhpcy5pc0ludmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaWNvbiA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLmljb24oKSkge1xyXG4gICAgICAgICAgICBjYXNlICduZXcnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBsdXMgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdzYXZlJzogcmV0dXJuICdmYS1zb2xpZCBmYS1mbG9wcHktZGlzayBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NhbmNlbCc6IHJldHVybiAnZmEtc29saWQgZmEteG1hcmsgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdpbXBvcnQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWZpbGUtYXJyb3ctdXAgZmEtbGcnO1xyXG4gICAgICAgICAgICBjYXNlICdleGNlbCc6IHJldHVybiAnYmkgYmktZmlsZXR5cGUteGxzeCBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ21lbnUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLWJhcnMnO1xyXG4gICAgICAgICAgICBjYXNlICdkZWxldGUnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXRyYXNoLWNhbic7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VkaXQnOiByZXR1cm4gJ2ZhLXNvbGlkIGZhLXBlbiBmYS1sZyc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2dvJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctcmlnaHQnO1xyXG4gICAgICAgICAgICBjYXNlICdiYWNrJzogcmV0dXJuICdiaSBiaS1ib3gtYXJyb3ctbGVmdCc7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5TZXRUb29sVGlwKCk7XHJcbiAgICAgICAgdGhpcy5TZXRFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fdG9vbHRpcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHRoaXMuX3Rvb2x0aXBFbGVtZW50LmRpc3Bvc2UoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgU2V0RXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLl9pZH0taW5uZXItYnV0dG9uYCkhIGFzIEhUTUxCdXR0b25FbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbCh0aGlzLl9lbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuQmx1cigpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBTZXRUb29sVGlwKCk6IHZvaWQge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5faWR9LWNvbnRhaW5lcmApITtcclxuXHJcbiAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICBodG1sRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChUb29scy5Jc05vdE51bGwoaHRtbEVsZW1lbnQpICYmIFRvb2xzLklzTm90TnVsbCh0aGlzLl90b29sdGlwRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdG9vbHRpcEVsZW1lbnQuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2x0aXBFbGVtZW50ID0gbmV3IFRvb2x0aXAoaHRtbEVsZW1lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICBodG1sOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90b29sdGlwLFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy50b29sdGlwUG9zaXRpb25cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5CbHVyKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIEZvY3VzKHRpbWVvdXQ6IG51bWJlciA9IDApOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCh0aW1lb3V0KS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlKCkpIHRoaXMuX2VsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgQmx1cigpOiB2b2lkIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmJsdXIoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxkaXYgW25nQ2xhc3NdPVwieyAnY29lci1idXR0b24nOiB0cnVlLCAnaW52aXNpYmxlJzogaXNJbnZpc2libGUoKSB9XCI+XHJcbiAgICA8YSBbaWRdPVwiX2lkICsgJy1jb250YWluZXInXCJcclxuICAgICAgICBbcm91dGVyTGlua109XCIocGF0aCgpLmxlbmd0aCA+IDAgJiYgX2lzRW5hYmxlKCkpID8gcGF0aCgpIDogbnVsbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnbG9hZGluZyc6IGlzTG9hZGluZygpLCAnYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fem9vbUluJzogdHJ1ZSwgJ2FuaW1hdGVfX2Rpc2FibGVkJzogIWFuaW1hdGlvbigpIH1cIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi10b3AnOiBtYXJnaW5Ub3AoKSwgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0KCksICdtYXJnaW4tYm90dG9tJzogbWFyZ2luQm90dG9tKCksICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQoKSAgfVwiPlxyXG4gICAgICAgIEBpZih0eXBlKCkgPT0nZmlsbGVkJyB8fCB0eXBlKCkgPT0gJ291dGxpbmUnKSB7XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAncHJpbWFyeS1maWxsZWQnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLWZpbGxlZCc6IChjb2xvcigpID09ICdzdWNjZXNzJyAmJiB0eXBlKCkgPT0nZmlsbGVkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmctZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInICYmIHR5cGUoKSA9PSdmaWxsZWQnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1maWxsZWQnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicgJiYgdHlwZSgpID09J2ZpbGxlZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyAmJiB0eXBlKCkgPT0nb3V0bGluZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnICYmIHR5cGUoKSA9PSdvdXRsaW5lJyksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicgJiYgdHlwZSgpID09J291dGxpbmUnKSxcclxuICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiBpc0Rpc2FibGVkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IHdpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ21pbi13aWR0aCc6IG1pbldpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IGhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtaW4taGVpZ2h0JzogbWluSGVpZ2h0KClcclxuICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdFwiICpuZ0lmPVwiIWlzTG9hZGluZygpOyBlbHNlIGxvYWRpbmdcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ21zLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ2xlZnQnKSwgJ21lLTInOiAoaWNvblBvc2l0aW9uKCkgPT0gJ3JpZ2h0JykgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihpY29uUG9zaXRpb24oKSA9PSAncmlnaHQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2xvdCBmYS1mYWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMlwiPiBMb2FkaW5nIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzcGlubmVyLWJvcmRlclwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGlmICh0eXBlKCkgPT0gJ2ljb24nKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LWZpbGxlZCc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktZmlsbGVkJzogKGNvbG9yKCkgPT0gJ3NlY29uZGFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc3VjY2Vzcy1maWxsZWQnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1maWxsZWQnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLWZpbGxlZCc6IChjb2xvcigpID09ICdkYW5nZXInKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ25hdmlnYXRpb24tZmlsbGVkJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdjdXJzb3Itd2FpdCc6IGlzTG9hZGluZygpXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBlbHNlIGlmICh0eXBlKCkgPT0gJ2ljb24tb3V0bGluZScpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctaW5uZXItYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW1hcnktb3V0bGluZSc6IChjb2xvcigpID09ICdwcmltYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRhcnktb3V0bGluZSc6IChjb2xvcigpID09ICdzZWNvbmRhcnknKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3Mtb3V0bGluZSc6IChjb2xvcigpID09ICdzdWNjZXNzJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd3YXJuaW5nLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnd2FybmluZycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnZGFuZ2VyLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnZGFuZ2VyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICduYXZpZ2F0aW9uLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnbmF2aWdhdGlvbicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVhZG9ubHknOiAoaXNEaXNhYmxlZCgpIHx8IGlzTG9hZGluZygpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2N1cnNvci13YWl0JzogaXNMb2FkaW5nKClcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGVsc2UgaWYgKHR5cGUoKSA9PSAnaWNvbi1uby1ib3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLWlubmVyLWJ1dHRvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdwcmltYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAncHJpbWFyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5LW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc2Vjb25kYXJ5JyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzLW91dGxpbmUnOiAoY29sb3IoKSA9PSAnc3VjY2VzcycpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnd2FybmluZy1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ3dhcm5pbmcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhbmdlci1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ2RhbmdlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbmF2aWdhdGlvbi1vdXRsaW5lJzogKGNvbG9yKCkgPT0gJ25hdmlnYXRpb24nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWRvbmx5JzogKGlzRGlzYWJsZWQoKSB8fCBpc0xvYWRpbmcoKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uLW5vLWJvcmRlcic6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIl9pY29uKClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIDwvYT5cclxuPC9kaXY+Il19
@@ -1,6 +1,5 @@
1
1
  import { Component, computed, Input, input, output } from '@angular/core';
2
- import { CONTROL_VALUE, ControlValue } from '../../../tools/lib/control-value.class';
3
- import { Tools } from '../../../tools/lib/tools';
2
+ import { CONTROL_VALUE, ControlValue, Tools } from 'coer-elements/tools';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  import * as i2 from "@angular/forms";
@@ -81,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
81
80
  }], propDecorators: { value: [{
82
81
  type: Input
83
82
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL3NyYy9jb21wb25lbnRzL2xpYi9jb2VyLWNoZWNrYm94L2NvZXItY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBTjlDOztRQVFJLFdBQVc7UUFDSyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQzlCLFFBQUcsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFRNUIsT0FBRSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN2QixVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFxQixPQUFPLENBQUMsQ0FBQztRQUNuRCxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0MsU0FBUztRQUNGLGFBQVEsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQU9wQyxVQUFVO1FBQ0EsY0FBUyxHQUFHLFFBQVEsQ0FBVSxHQUFHLEVBQUU7WUFDekMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztLQWtETjtJQTNFRyxRQUFRO0lBQ1IsSUFBYSxLQUFLLENBQUMsS0FBaUM7UUFDaEQsSUFBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQWFELFFBQVE7SUFDUixJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQVFELGVBQWU7UUFDWCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBR0Qsc0JBQXNCO0lBQ04sUUFBUSxDQUFDLEtBQWM7UUFDbkMsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBR0Qsc0JBQXNCO0lBQ04sVUFBVSxDQUFDLEtBQWM7UUFDckMsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFFcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxLQUFLO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07SUFDQyxPQUFPO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQzsrR0FqRlEsWUFBWTttR0FBWixZQUFZLHNtQ0FGVixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxpRENSNUMsb2ZBVU07OzRGREFPLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0ksZUFBZSxhQUdkLENBQUMsYUFBYSxjQUFjLENBQUM7OEJBVTNCLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIGNvbXB1dGVkLCBJbnB1dCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDT05UUk9MX1ZBTFVFLCBDb250cm9sVmFsdWUgfSBmcm9tICcuLi8uLi8uLi90b29scy9saWIvY29udHJvbC12YWx1ZS5jbGFzcyc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvbGliL3Rvb2xzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWNoZWNrYm94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb2VyLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJyxcclxuICAgIHByb3ZpZGVyczogW0NPTlRST0xfVkFMVUUoQ29lckNoZWNrYm94KV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyQ2hlY2tib3ggZXh0ZW5kcyBDb250cm9sVmFsdWUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHVibGljIG92ZXJyaWRlIF92YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvdGVjdGVkIF9pZDogc3RyaW5nID0gVG9vbHMuR2V0R3VpZCgnY29lci1jaGVja2JveCcpO1xyXG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTnVsbCh2YWx1ZSkpIHZhbHVlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5TZXRWYWx1ZSh2YWx1ZSBhcyBib29sZWFuKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuICAgIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gICAgcHVibGljIGxhYmVsUG9zaXRpb24gPSBpbnB1dDwnYmVmb3JlJyB8ICdhZnRlcic+KCdhZnRlcicpO1xyXG4gICAgcHVibGljIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzSW52aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlnbm9yZU1vZGVsID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgcHVibGljIG9uQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKSAmJiAhdGhpcy5pc0ludmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oXyA9PiB0aGlzLl9pc0xvYWRpbmcgPSBmYWxzZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIHB1YmxpYyBvdmVycmlkZSBTZXRWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTm90TnVsbCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgaWYoIXRoaXMuaWdub3JlTW9kZWwoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fVXBkYXRlVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0xvYWRpbmcgJiYgdGhpcy5faXNFbmFibGUoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9Db250cm9sVmFsdWVBY2Nlc3NvclxyXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZihUb29scy5Jc05vdE51bGwodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzTG9hZGluZyAmJiB0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDaGVjaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzTG9hZGluZyAmJiB0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuU2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBVbmNoZWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNMb2FkaW5nICYmIHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5TZXRWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBbbmdDbGFzc109XCJ7ICdjb2VyLWNoZWNrYm94JzogdHJ1ZSwgJ3BsYWNlaG9sZGVyLWdsb3cnOiBpc0xvYWRpbmcoKSwgJ2ludmlzaWJsZSc6IGlzSW52aXNpYmxlKCkgfVwiPlxyXG4gICAgPGRpdiBbaWRdPVwiX2lkXCIgW25nQ2xhc3NdPVwieyAncGxhY2Vob2xkZXInOiBpc0xvYWRpbmcoKSB9XCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJfdmFsdWVcIlxyXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb24oKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhX2lzRW5hYmxlKClcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRoaXMuU2V0VmFsdWUoJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+IHt7IGxhYmVsKCkgfX0gPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItY2hlY2tib3gvY29lci1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItY2hlY2tib3gvY29lci1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUXpFLE1BQU0sT0FBTyxZQUFhLFNBQVEsWUFBWTtJQU45Qzs7UUFRSSxXQUFXO1FBQ0ssV0FBTSxHQUFZLEtBQUssQ0FBQztRQUM5QixRQUFHLEdBQVcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBUTVCLE9BQUUsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDdkIsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEtBQUssQ0FBcUIsT0FBTyxDQUFDLENBQUM7UUFDbkQsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRTNDLFNBQVM7UUFDRixhQUFRLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFPcEMsVUFBVTtRQUNBLGNBQVMsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7S0FrRE47SUEzRUcsUUFBUTtJQUNSLElBQWEsS0FBSyxDQUFDLEtBQWlDO1FBQ2hELElBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBZ0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFhRCxRQUFRO0lBQ1IsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFRRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUdELHNCQUFzQjtJQUNOLFFBQVEsQ0FBQyxLQUFjO1FBQ25DLElBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFFcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdELHNCQUFzQjtJQUNOLFVBQVUsQ0FBQyxLQUFjO1FBQ3JDLElBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0MsS0FBSztRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0MsT0FBTztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7K0dBakZRLFlBQVk7bUdBQVosWUFBWSxzbUNBRlYsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsaURDUDVDLG9mQVVNOzs0RkRETyxZQUFZO2tCQU54QixTQUFTOytCQUNJLGVBQWUsYUFHZCxDQUFDLGFBQWEsY0FBYyxDQUFDOzhCQVUzQixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBjb21wdXRlZCwgSW5wdXQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ09OVFJPTF9WQUxVRSwgQ29udHJvbFZhbHVlLCBUb29scyB9IGZyb20gJ2NvZXItZWxlbWVudHMvdG9vbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItY2hlY2tib3gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZXItY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItY2hlY2tib3guY29tcG9uZW50LnNjc3MnLFxyXG4gICAgcHJvdmlkZXJzOiBbQ09OVFJPTF9WQUxVRShDb2VyQ2hlY2tib3gpXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJDaGVja2JveCBleHRlbmRzIENvbnRyb2xWYWx1ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX3ZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmcgPSBUb29scy5HZXRHdWlkKCdjb2VyLWNoZWNrYm94Jyk7XHJcbiAgICBwcml2YXRlIF9pc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8vSW5wdXRzXHJcbiAgICBASW5wdXQoKSBzZXQgdmFsdWUodmFsdWU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYoVG9vbHMuSXNOdWxsKHZhbHVlKSkgdmFsdWUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlNldFZhbHVlKHZhbHVlIGFzIGJvb2xlYW4pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gICAgcHVibGljIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcbiAgICBwdWJsaWMgbGFiZWxQb3NpdGlvbiA9IGlucHV0PCdiZWZvcmUnIHwgJ2FmdGVyJz4oJ2FmdGVyJyk7XHJcbiAgICBwdWJsaWMgaXNEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNJbnZpc2libGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaWdub3JlTW9kZWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgLy9PdXRwdXRzXHJcbiAgICBwdWJsaWMgb25DaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvL2dldHRlclxyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy9jb21wdXRlZFxyXG4gICAgcHJvdGVjdGVkIF9pc0VuYWJsZSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuaXNMb2FkaW5nKCkgJiYgIXRoaXMuaXNEaXNhYmxlZCgpICYmICF0aGlzLmlzSW52aXNpYmxlKCk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbihfID0+IHRoaXMuX2lzTG9hZGluZyA9IGZhbHNlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9Db250cm9sVmFsdWVBY2Nlc3NvclxyXG4gICAgcHVibGljIG92ZXJyaWRlIFNldFZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaWYoVG9vbHMuSXNOb3ROdWxsKHZhbHVlKSkge1xyXG4gICAgICAgICAgICBpZighdGhpcy5pZ25vcmVNb2RlbCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9VcGRhdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzTG9hZGluZyAmJiB0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvL0NvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTm90TnVsbCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5faXNMb2FkaW5nICYmIHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIENoZWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNMb2FkaW5nICYmIHRoaXMuX2lzRW5hYmxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5TZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIFVuY2hlY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0xvYWRpbmcgJiYgdGhpcy5faXNFbmFibGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLlNldFZhbHVlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvZXItY2hlY2tib3gnOiB0cnVlLCAncGxhY2Vob2xkZXItZ2xvdyc6IGlzTG9hZGluZygpLCAnaW52aXNpYmxlJzogaXNJbnZpc2libGUoKSB9XCI+XHJcbiAgICA8ZGl2IFtpZF09XCJfaWRcIiBbbmdDbGFzc109XCJ7ICdwbGFjZWhvbGRlcic6IGlzTG9hZGluZygpIH1cIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIl92YWx1ZVwiXHJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvbigpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFfaXNFbmFibGUoKVwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidGhpcy5TZXRWYWx1ZSgkZXZlbnQuY2hlY2tlZClcIlxyXG4gICAgICAgID4ge3sgbGFiZWwoKSB9fSA8L21hdC1jaGVja2JveD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,11 +1,9 @@
1
1
  import { Component, computed, inject, Input, input, output, viewChild } from '@angular/core';
2
- import { CoerAlert } from '../../lib/coer-alert/coer-alert.component';
3
- import { Files } from '../../../tools/lib/files.class';
4
- import { Tools } from '../../../tools/lib/tools';
2
+ import { CoerAlert, Files, Tools } from 'coer-elements/tools';
5
3
  import * as i0 from "@angular/core";
6
4
  import * as i1 from "@angular/common";
7
5
  import * as i2 from "../coer-modal/coer-modal.component";
8
- import * as i3 from "../../../pipes/lib/no-image.pipe";
6
+ import * as i3 from "coer-elements/pipes";
9
7
  export class CoerFilebox {
10
8
  constructor() {
11
9
  //Injections
@@ -101,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
101
99
  }], propDecorators: { image: [{
102
100
  type: Input
103
101
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1maWxlYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvc3JjL2NvbXBvbmVudHMvbGliL2NvZXItZmlsZWJveC9jb2VyLWZpbGVib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1maWxlYm94L2NvZXItZmlsZWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQU9qRCxNQUFNLE9BQU8sV0FBVztJQUx4QjtRQU9JLFlBQVk7UUFDTyxVQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBRXRDLFVBQVU7UUFDQSxtQkFBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWEsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRSxVQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBWSxPQUFPLENBQUMsQ0FBQztRQUV6RCxXQUFXO1FBQ0QsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixXQUFNLEdBQXNCLElBQUksQ0FBQztRQUMxQixvQkFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0s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LFNBQVMsRUFBRSxTQUFTO29CQUNwQixNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBVztpQkFDdEQsQ0FBQyxDQUFDO1lBQ1AsQ0FBQzs7Z0JBRUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxTQUFTLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxVQUFVO1FBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFvQkQsTUFBTTtJQUNJLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0ksV0FBVyxDQUFDLEtBQVU7UUFDNUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXhHUSxXQUFXO21HQUFYLFdBQVcsbytCQ1p4Qix5dUVBcURNOzs0RkR6Q08sV0FBVztrQkFMdkIsU0FBUzsrQkFDSSxjQUFjOzhCQTBCWCxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgaW5wdXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElGaWxlLCBJRmlsZUltYWdlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJBbGVydCB9IGZyb20gJy4uLy4uL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lck1vZGFsIH0gZnJvbSAnLi4vLi4vbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlcyB9IGZyb20gJy4uLy4uLy4uL3Rvb2xzL2xpYi9maWxlcy5jbGFzcyc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvbGliL3Rvb2xzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLWZpbGVib3gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZXItZmlsZWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1maWxlYm94LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lckZpbGVib3gge1xyXG5cclxuICAgIC8vSW5qZWN0aW9uc1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsZXJ0ID0gaW5qZWN0KENvZXJBbGVydCk7XHJcbiAgICBwcm90ZWN0ZWQgSXNOdWxsID0gVG9vbHMuSXNOdWxsO1xyXG4gICAgcHJvdGVjdGVkIElzTm90TnVsbCA9IFRvb2xzLklzTm90TnVsbDtcclxuXHJcbiAgICAvL0VsZW1lbnRzXHJcbiAgICBwcm90ZWN0ZWQgaW5wdXRGaWxlSW1hZ2UgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2lucHV0RmlsZUltYWdlJyk7XHJcbiAgICBwcm90ZWN0ZWQgbW9kYWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8Q29lck1vZGFsPignbW9kYWwnKTtcclxuXHJcbiAgICAvL1ZhcmlhYmxlc1xyXG4gICAgcHJvdGVjdGVkIGJhc2U2NDogc3RyaW5nID0gJyc7XHJcbiAgICBwcm90ZWN0ZWQgX2ltYWdlOiBJRmlsZUltYWdlIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGltYWdlRXh0ZW5zaW9ucyA9IFsncG5nJywgJ2pwZWcnLCAnanBnJywgJ2dpZicsICdzdmcnXTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgcHVibGljIHR5cGUgPSBpbnB1dDwnaW1hZ2UnPignaW1hZ2UnKTtcclxuICAgIHB1YmxpYyBtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgaW1hZ2UodmFsdWU6IElGaWxlSW1hZ2UgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5faW1hZ2UgPSBUb29scy5Jc05vdE51bGwodmFsdWUpID8gdmFsdWUgYXMgSUZpbGVJbWFnZSA6IG51bGw7XHJcblxyXG4gICAgICAgIGlmKFRvb2xzLklzTm90TnVsbCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgaWYoKHZhbHVlPy52YWx1ZSBhcyBGaWxlKT8ubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgRmlsZXMuQ29udmVydFRvQmFzZTY0KHZhbHVlPy52YWx1ZSBhcyBGaWxlKS50aGVuKGJhc2U2NCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzZTY0ID0gYmFzZTY0O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5iYXNlNjQgPSAodmFsdWU/LnZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgcHVibGljIG9uU2VsZWN0ZWQgPSBvdXRwdXQ8SUZpbGVbXT4oKTtcclxuICAgIHB1YmxpYyBvbkRlbGV0ZUltYWdlID0gb3V0cHV0PHZvaWQ+KCk7XHJcblxyXG4gICAgLy9jb21wdXRlZFxyXG4gICAgcHJvdGVjdGVkIF9pc0VuYWJsZSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuaXNMb2FkaW5nKCkgJiYgIXRoaXMuaXNEaXNhYmxlZCgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGFzeW5jIFVwbG9hZEltYWdlcyhldmVudDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGaWxlczogRmlsZVtdID0gQXJyYXkuZnJvbShldmVudC50YXJnZXQuZmlsZXMpO1xyXG5cclxuICAgICAgICBjb25zdCBmaWxlczogSUZpbGVbXSA9IFtdO1xyXG4gICAgICAgIGxldCBleHRlbnNpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBzZWxlY3RlZEZpbGVzKSB7XHJcblxyXG4gICAgICAgICAgICBleHRlbnNpb24gPSB0aGlzLkdldEV4dGVuc2lvbkZpbGUoZmlsZS5uYW1lKSB8fCAnJztcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmltYWdlRXh0ZW5zaW9ucy5pbmNsdWRlcyhleHRlbnNpb24pKSB7XHJcbiAgICAgICAgICAgICAgICBmaWxlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbjogZXh0ZW5zaW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhc2U2NDogYXdhaXQgRmlsZXMuQ29udmVydFRvQmFzZTY0KGZpbGUpIGFzIHN0cmluZ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5hbGVydC5XYXJuaW5nKGA8Yj4uJHtleHRlbnNpb259PC9iPiBleHRlbnNpb24gbm90IGFsbG93ZWRgLCAnRmlsZXMnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vUmVzcG9uc2VcclxuICAgICAgICB0aGlzLmlucHV0RmlsZUltYWdlKCkubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdGVkLmVtaXQoWy4uLmZpbGVzXSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHZXRFeHRlbnNpb25GaWxlID0gKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcclxuICAgICAgICBpZiAoZmlsZU5hbWUuaW5jbHVkZXMoJy4nKSkge1xyXG4gICAgICAgICAgICBsZXQgd29ybGRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKSBhcyBzdHJpbmdbXTtcclxuICAgICAgICAgICAgaWYgKHdvcmxkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uID0gd29ybGRzLnBvcCgpITtcclxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9IGV4dGVuc2lvbi50cmltKCk7XHJcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIGlmIChleHRlbnNpb24ubGVuZ3RoID4gMCkgcmV0dXJuIGV4dGVuc2lvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hbGVydC5XYXJuaW5nKCdUaGUgZmlsZSBleHRlbnNpb24gY291bGQgbm90IGJlIHJlY29nbml6ZWQnLCAnRmlsZXMnKTtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgRGVsZXRlSW1hZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBpZih0aGlzLl9pc0VuYWJsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25EZWxldGVJbWFnZS5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBFeHBhbmRJbWFnZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5tb2RhbCgpLk9wZW4oKTtcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb2VyLWZpbGVib3hcIj5cclxuICAgIEBpZih0eXBlKCkgPT0gJ2ltYWdlJykge1xyXG4gICAgICAgIDxmaWd1cmUgKGNsaWNrKT1cIl9pc0VuYWJsZSgpID8gaW5wdXRGaWxlSW1hZ2UuY2xpY2soKSA6IG51bGxcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkYXNoZWQnOiBJc051bGwoX2ltYWdlPy52YWx1ZSkgfVwiXHJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICdtYXJnaW4tdG9wJzogX2ltYWdlPy5tYXJnaW5Ub3AgfHwgJycsXHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLXJpZ2h0JzogX2ltYWdlPy5tYXJnaW5SaWdodCB8fCAnJyxcclxuICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzogX2ltYWdlPy5tYXJnaW5Cb3R0b20gfHwgJycsXHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLWxlZnQnOiBfaW1hZ2U/Lm1hcmdpbkxlZnQgfHwgJydcclxuICAgICAgICAgICAgfVwiPlxyXG5cclxuICAgICAgICAgICAgQGlmKGlzTG9hZGluZygpKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1ib3JkZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXItZ2xvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxhY2Vob2xkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImJhc2U2NCB8IG5vSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IF9pbWFnZT8ud2lkdGggfHwgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ21heC13aWR0aCc6IF9pbWFnZT8ubWF4V2lkdGggfHwgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IF9pbWFnZT8uaGVpZ2h0IHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICdtYXgtaGVpZ2h0JzogX2ltYWdlPy5tYXhIZWlnaHQgfHwgJzIxMHB4J1xyXG4gICAgICAgICAgICAgICAgfVwiPlxyXG5cclxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEZpbGVJbWFnZVxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvcG5nLCBpbWFnZS9qcGVnLCBpbWFnZS9naWYsIGltYWdlL3N2Zyt4bWxcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJVcGxvYWRJbWFnZXMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiPlxyXG5cclxuICAgICAgICAgICAgQGlmKF9pc0VuYWJsZSgpICYmIElzTm90TnVsbChfaW1hZ2UpICYmIElzTm90TnVsbChfaW1hZ2UhLnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmKElzTnVsbChfaW1hZ2U/LmFsbG93RGVsZXRlKSB8fCBfaW1hZ2UhLmFsbG93RGVsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuXCIgKGNsaWNrKT1cIkRlbGV0ZUltYWdlKCRldmVudClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYoSXNOdWxsKF9pbWFnZT8uYWxsb3dFeHBhbmQpIHx8IF9pbWFnZSEuYWxsb3dFeHBhbmQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1leHBhbmRcIiAoY2xpY2spPVwiRXhwYW5kSW1hZ2UoJGV2ZW50KVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZmlndXJlPlxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0gTW9kYWwgLS0+XHJcbiAgICA8Y29lci1tb2RhbCAjbW9kYWwgW3RpdGxlXT1cIl9pbWFnZT8ubmFtZSB8fCAnJ1wiIGhlaWdodD1cIjkwdmhcIiB3aWR0aD1cImZ1bGxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaW1hZ2VcIiBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgYmFzZTY0ICsgJyknIH1cIj48L2Rpdj5cclxuICAgIDwvY29lci1tb2RhbD5cclxuPC9kaXY+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1maWxlYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1maWxlYm94L2NvZXItZmlsZWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItZmlsZWJveC9jb2VyLWZpbGVib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFPOUQsTUFBTSxPQUFPLFdBQVc7SUFMeEI7UUFPSSxZQUFZO1FBQ08sVUFBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxXQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUV0QyxVQUFVO1FBQ0EsbUJBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFhLGdCQUFnQixDQUFDLENBQUM7UUFDbEUsVUFBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQVksT0FBTyxDQUFDLENBQUM7UUFFekQsV0FBVztRQUNELFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsV0FBTSxHQUFzQixJQUFJLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RSxRQUFRO1FBQ0QsU0FBSSxHQUFHLEtBQUssQ0FB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LENBQUMsQ0FBQztZQUNQLENBQUM7O2dCQUVJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sU0FBUyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBRUQsVUFBVTtRQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBb0JELE1BQU07SUFDSSxXQUFXLENBQUMsS0FBVTtRQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBR0QsTUFBTTtJQUNJLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F4R1EsV0FBVzttR0FBWCxXQUFXLG8rQkNWeEIseXVFQXFETTs7NEZEM0NPLFdBQVc7a0JBTHZCLFNBQVM7K0JBQ0ksY0FBYzs4QkEwQlgsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOyBcclxuaW1wb3J0IHsgQ29lck1vZGFsIH0gZnJvbSAnLi4vLi4vbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJRmlsZSwgSUZpbGVJbWFnZSB9IGZyb20gJ2NvZXItZWxlbWVudHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJBbGVydCwgRmlsZXMsIFRvb2xzIH0gZnJvbSAnY29lci1lbGVtZW50cy90b29scyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY29lci1maWxlYm94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLWZpbGVib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItZmlsZWJveC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJGaWxlYm94IHtcclxuXHJcbiAgICAvL0luamVjdGlvbnNcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGVydCA9IGluamVjdChDb2VyQWxlcnQpO1xyXG4gICAgcHJvdGVjdGVkIElzTnVsbCA9IFRvb2xzLklzTnVsbDtcclxuICAgIHByb3RlY3RlZCBJc05vdE51bGwgPSBUb29scy5Jc05vdE51bGw7XHJcblxyXG4gICAgLy9FbGVtZW50c1xyXG4gICAgcHJvdGVjdGVkIGlucHV0RmlsZUltYWdlID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdpbnB1dEZpbGVJbWFnZScpO1xyXG4gICAgcHJvdGVjdGVkIG1vZGFsID0gdmlld0NoaWxkLnJlcXVpcmVkPENvZXJNb2RhbD4oJ21vZGFsJyk7XHJcblxyXG4gICAgLy9WYXJpYWJsZXNcclxuICAgIHByb3RlY3RlZCBiYXNlNjQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcHJvdGVjdGVkIF9pbWFnZTogSUZpbGVJbWFnZSB8IG51bGwgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbWFnZUV4dGVuc2lvbnMgPSBbJ3BuZycsICdqcGVnJywgJ2pwZycsICdnaWYnLCAnc3ZnJ107XHJcblxyXG4gICAgLy9JbnB1dHNcclxuICAgIHB1YmxpYyB0eXBlID0gaW5wdXQ8J2ltYWdlJz4oJ2ltYWdlJyk7XHJcbiAgICBwdWJsaWMgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHVibGljIGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IGltYWdlKHZhbHVlOiBJRmlsZUltYWdlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX2ltYWdlID0gVG9vbHMuSXNOb3ROdWxsKHZhbHVlKSA/IHZhbHVlIGFzIElGaWxlSW1hZ2UgOiBudWxsO1xyXG5cclxuICAgICAgICBpZihUb29scy5Jc05vdE51bGwodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGlmKCh2YWx1ZT8udmFsdWUgYXMgRmlsZSk/Lm5hbWUpIHtcclxuICAgICAgICAgICAgICAgIEZpbGVzLkNvbnZlcnRUb0Jhc2U2NCh2YWx1ZT8udmFsdWUgYXMgRmlsZSkudGhlbihiYXNlNjQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2U2NCA9IGJhc2U2NDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuYmFzZTY0ID0gKHZhbHVlPy52YWx1ZSBhcyBzdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL091dHB1dHNcclxuICAgIHB1YmxpYyBvblNlbGVjdGVkID0gb3V0cHV0PElGaWxlW10+KCk7XHJcbiAgICBwdWJsaWMgb25EZWxldGVJbWFnZSA9IG91dHB1dDx2b2lkPigpO1xyXG5cclxuICAgIC8vY29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaXNFbmFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTG9hZGluZygpICYmICF0aGlzLmlzRGlzYWJsZWQoKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBhc3luYyBVcGxvYWRJbWFnZXMoZXZlbnQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZXM6IEZpbGVbXSA9IEFycmF5LmZyb20oZXZlbnQudGFyZ2V0LmZpbGVzKTtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsZXM6IElGaWxlW10gPSBbXTtcclxuICAgICAgICBsZXQgZXh0ZW5zaW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2Ygc2VsZWN0ZWRGaWxlcykge1xyXG5cclxuICAgICAgICAgICAgZXh0ZW5zaW9uID0gdGhpcy5HZXRFeHRlbnNpb25GaWxlKGZpbGUubmFtZSkgfHwgJyc7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZUV4dGVuc2lvbnMuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xyXG4gICAgICAgICAgICAgICAgZmlsZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBleHRlbnNpb246IGV4dGVuc2lvbixcclxuICAgICAgICAgICAgICAgICAgICBiYXNlNjQ6IGF3YWl0IEZpbGVzLkNvbnZlcnRUb0Jhc2U2NChmaWxlKSBhcyBzdHJpbmdcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuYWxlcnQuV2FybmluZyhgPGI+LiR7ZXh0ZW5zaW9ufTwvYj4gZXh0ZW5zaW9uIG5vdCBhbGxvd2VkYCwgJ0ZpbGVzJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1Jlc3BvbnNlXHJcbiAgICAgICAgdGhpcy5pbnB1dEZpbGVJbWFnZSgpLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RlZC5lbWl0KFsuLi5maWxlc10pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgR2V0RXh0ZW5zaW9uRmlsZSA9IChmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgaWYgKGZpbGVOYW1lLmluY2x1ZGVzKCcuJykpIHtcclxuICAgICAgICAgICAgbGV0IHdvcmxkcyA9IGZpbGVOYW1lLnNwbGl0KCcuJykgYXMgc3RyaW5nW107XHJcbiAgICAgICAgICAgIGlmICh3b3JsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbiA9IHdvcmxkcy5wb3AoKSE7XHJcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24udHJpbSgpO1xyXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXh0ZW5zaW9uLmxlbmd0aCA+IDApIHJldHVybiBleHRlbnNpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYWxlcnQuV2FybmluZygnVGhlIGZpbGUgZXh0ZW5zaW9uIGNvdWxkIG5vdCBiZSByZWNvZ25pemVkJywgJ0ZpbGVzJyk7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIERlbGV0ZUltYWdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5faXNFbmFibGUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uRGVsZXRlSW1hZ2UuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgRXhwYW5kSW1hZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIHRoaXMubW9kYWwoKS5PcGVuKCk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29lci1maWxlYm94XCI+XHJcbiAgICBAaWYodHlwZSgpID09ICdpbWFnZScpIHtcclxuICAgICAgICA8ZmlndXJlIChjbGljayk9XCJfaXNFbmFibGUoKSA/IGlucHV0RmlsZUltYWdlLmNsaWNrKCkgOiBudWxsXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZGFzaGVkJzogSXNOdWxsKF9pbWFnZT8udmFsdWUpIH1cIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLXRvcCc6IF9pbWFnZT8ubWFyZ2luVG9wIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgJ21hcmdpbi1yaWdodCc6IF9pbWFnZT8ubWFyZ2luUmlnaHQgfHwgJycsXHJcbiAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbSc6IF9pbWFnZT8ubWFyZ2luQm90dG9tIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgJ21hcmdpbi1sZWZ0JzogX2ltYWdlPy5tYXJnaW5MZWZ0IHx8ICcnXHJcbiAgICAgICAgICAgIH1cIj5cclxuXHJcbiAgICAgICAgICAgIEBpZihpc0xvYWRpbmcoKSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLWdsb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJiYXNlNjQgfCBub0ltYWdlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiBfaW1hZ2U/LndpZHRoIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICdtYXgtd2lkdGgnOiBfaW1hZ2U/Lm1heFdpZHRoIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiBfaW1hZ2U/LmhlaWdodCB8fCAnJyxcclxuICAgICAgICAgICAgICAgICAgICAnbWF4LWhlaWdodCc6IF9pbWFnZT8ubWF4SGVpZ2h0IHx8ICcyMTBweCdcclxuICAgICAgICAgICAgICAgIH1cIj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRGaWxlSW1hZ2VcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgICAgICAgICAgIGFjY2VwdD1cImltYWdlL3BuZywgaW1hZ2UvanBlZywgaW1hZ2UvZ2lmLCBpbWFnZS9zdmcreG1sXCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiVXBsb2FkSW1hZ2VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlKClcIj5cclxuXHJcbiAgICAgICAgICAgIEBpZihfaXNFbmFibGUoKSAmJiBJc05vdE51bGwoX2ltYWdlKSAmJiBJc05vdE51bGwoX2ltYWdlIS52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihJc051bGwoX2ltYWdlPy5hbGxvd0RlbGV0ZSkgfHwgX2ltYWdlIS5hbGxvd0RlbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXRyYXNoLWNhblwiIChjbGljayk9XCJEZWxldGVJbWFnZSgkZXZlbnQpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmKElzTnVsbChfaW1hZ2U/LmFsbG93RXhwYW5kKSB8fCBfaW1hZ2UhLmFsbG93RXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZXhwYW5kXCIgKGNsaWNrKT1cIkV4cGFuZEltYWdlKCRldmVudClcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2ZpZ3VyZT5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIE1vZGFsIC0tPlxyXG4gICAgPGNvZXItbW9kYWwgI21vZGFsIFt0aXRsZV09XCJfaW1hZ2U/Lm5hbWUgfHwgJydcIiBoZWlnaHQ9XCI5MHZoXCIgd2lkdGg9XCJmdWxsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWltYWdlXCIgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGJhc2U2NCArICcpJyB9XCI+PC9kaXY+XHJcbiAgICA8L2NvZXItbW9kYWw+XHJcbjwvZGl2PiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { Component, inject, input } from '@angular/core';
2
- import { CoerAlert } from '../../lib/coer-alert/coer-alert.component';
3
- import { Tools } from '../../../tools/lib/tools';
2
+ import { CoerAlert, Tools } from 'coer-elements/tools';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/forms";
6
5
  export class CoerForm {
@@ -99,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
99
98
  type: Component,
100
99
  args: [{ selector: 'coer-form', template: "<form [formGroup]=\"formGroup()\" autocomplete=\"off\" class=\"coer-form\">\r\n <fieldset [disabled]=\"_isDisabled\">\r\n <ng-content></ng-content>\r\n </fieldset>\r\n</form>" }]
101
100
  }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvc3JjL2NvbXBvbmVudHMvbGliL2NvZXItZm9ybS9jb2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9zcmMvY29tcG9uZW50cy9saWIvY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxRQUFRO0lBTHJCO1FBT0ksV0FBVztRQUNILFVBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0IsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWEsQ0FBQztRQUN4QyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFjMUMsTUFBTTtRQUNDLHFCQUFnQixHQUFHLENBQUMsZUFBdUIsRUFBVyxFQUFFO1lBQzNELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBRSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBRSxDQUFDLE9B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QUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztnQkFBRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVksQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFFRCxJQUFHLHFCQUFxQixDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsS0FBSSxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLDBCQUEwQixFQUFFLENBQUM7b0JBQ3hELElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUN6QixXQUFXLEdBQUcsUUFBUSxDQUFDO3dCQUN2QixNQUFNO29CQUNWLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxJQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUQsQ0FBQztZQUNMLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBUSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsV0FBWSxDQUFDLENBQUM7WUFDN0QsSUFBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7K0dBN0dRLFFBQVE7bUdBQVIsUUFBUSwyY0NWckIsNkxBSU87OzRGRE1NLFFBQVE7a0JBTHBCLFNBQVM7K0JBQ0ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvZXJBbGVydCB9IGZyb20gJy4uLy4uL2xpYi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICcuLi8uLi8uLi90b29scy9saWIvdG9vbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItZm9ybScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29lci1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb2VyLWZvcm0uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyRm9ybSB7XHJcblxyXG4gICAgLy9JbmplY3Rpb25cclxuICAgIHByaXZhdGUgYWxlcnQgPSBpbmplY3QoQ29lckFsZXJ0KTtcclxuXHJcbiAgICBwdWJsaWMgZm9ybUdyb3VwID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUdyb3VwPigpO1xyXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF9pc0Rpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzTG9hZGluZygpIHx8IHRoaXMuaXNEaXNhYmxlZCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBUb3VjaEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIElzSW52YWxpZENvbnRyb2wgPSAoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpXHJcbiAgICAgICAgICAgID8gKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkhLnRvdWNoZWQgJiYgdGhpcy5mb3JtR3JvdXAoKS5nZXQoZm9ybUNvbnRyb2xOYW1lKSEuaW52YWxpZClcclxuICAgICAgICAgICAgOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBTZXRDb250cm9sVmFsdWUoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkhLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0Lldhcm5pbmcoYCR7Zm9ybUNvbnRyb2xOYW1lfSBDb250cm9sYCwgJ05vdCBGb3VuZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgR2V0Q29udHJvbFZhbHVlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpXHJcbiAgICAgICAgICAgID8gdGhpcy5mb3JtR3JvdXAoKS5nZXQoZm9ybUNvbnRyb2xOYW1lKSEudmFsdWVcclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogR2V0IGZvcm0gdmFsdWUgKi9cclxuICAgIHB1YmxpYyBHZXRWYWx1ZTxUPigpOiBUIHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuQnJlYWtSZWZlcmVuY2UodGhpcy5mb3JtR3JvdXAoKS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIFJlc2V0PFQ+KHByb3BlcnRpZXM6IFQgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChUb29scy5Jc051bGwocHJvcGVydGllcykpIHRoaXMuZm9ybUdyb3VwKCkucmVzZXQoKTtcclxuICAgICAgICBlbHNlIHRoaXMuZm9ybUdyb3VwKCkucmVzZXQocHJvcGVydGllcyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFyayBhbGwgY29udHJvbHMgYXMgdG91Y2hlZC5cclxuICAgICAqIElmIGZvcm0gaXMgaW52YWxpZCBlbWl0IGEgd2FybmluZyBhbmQgZm9jdXMgZmlyc3QgaW52YWxpZCBjb250cm9sLlxyXG4gICAgKi9cclxuICAgIHB1YmxpYyBJc1ZhbGlkKCk6IHsgaXNWYWxpZDogYm9vbGVhbiwgZm9ybVZhbHVlOiBhbnkgfSB7XHJcbiAgICAgICAgdGhpcy5Ub3VjaEZvcm0oKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwKCkuaW52YWxpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0Lldhcm5pbmcoJ1BsZWFzZSBjb21wbGV0ZSB0aGUgcmVxdWlyZWQgZmllbGRzJywgJ0luc3RydWN0aW9ucycsICdmYS1zb2xpZCBmYS1saXN0LWNoZWNrJyk7XHJcbiAgICAgICAgICAgIHRoaXMuRm9jdXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IHRoaXMuZm9ybUdyb3VwKCkudmFsaWQsXHJcbiAgICAgICAgICAgIGZvcm1WYWx1ZTogdGhpcy5HZXRWYWx1ZSgpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIEZvY3VzIHRoZSBlc3BlY2lmaWVkIGNvbnRyb2wgb3IgZmlyc3QgaW52YWxpZCBjb250cm9sICovXHJcbiAgICBwdWJsaWMgRm9jdXMoZm9ybUNvbnRyb2w6IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xDb2xsZWN0aW9uID0gbmV3IE1hcDxzdHJpbmcsIEVsZW1lbnQ+KCk7XHJcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xFcnJvckNvbGxlY3Rpb24gPSBuZXcgTWFwPHN0cmluZywgVmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KCk7XHJcblxyXG4gICAgICAgIGZvcihjb25zdCBwcm9wZXJ0eSBvZiBUb29scy5HZXRPYmplY3RQcm9wZXJ0aWVzKHRoaXMuZm9ybUdyb3VwKCkuY29udHJvbHMpKSB7XHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sRXJyb3JDb2xsZWN0aW9uLnNldChwcm9wZXJ0eSwgdGhpcy5mb3JtR3JvdXAoKS5jb250cm9sc1twcm9wZXJ0eV0uZXJyb3JzKTtcclxuICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZm9ybWNvbnRyb2xuYW1lPScke3Byb3BlcnR5fSddIGlucHV0YClcclxuICAgICAgICAgICAgaWYoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSkgZm9ybUNvbnRyb2xDb2xsZWN0aW9uLnNldChwcm9wZXJ0eSwgaHRtbEVsZW1lbnQhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGZvcm1Db250cm9sQ29sbGVjdGlvbi5zaXplID4gMCkge1xyXG4gICAgICAgICAgICBpZihUb29scy5Jc051bGwoZm9ybUNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IoY29uc3QgW3Byb3BlcnR5LCBlcnJvcl0gb2YgZm9ybUNvbnRyb2xFcnJvckNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGVycm9yKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbCA9IHByb3BlcnR5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYoVG9vbHMuSXNOdWxsKGZvcm1Db250cm9sKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sID0gQXJyYXkuZnJvbShmb3JtQ29udHJvbENvbGxlY3Rpb24ua2V5cygpKVswXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gZm9ybUNvbnRyb2xDb2xsZWN0aW9uLmdldChmb3JtQ29udHJvbCEpO1xyXG4gICAgICAgICAgICBpZihUb29scy5Jc05vdE51bGwoZWxlbWVudCkpIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCgpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJjb2VyLWZvcm1cIj5cclxuICAgIDxmaWVsZHNldCBbZGlzYWJsZWRdPVwiX2lzRGlzYWJsZWRcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2ZpZWxkc2V0PlxyXG48L2Zvcm0+Il19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItZm9ybS9jb2VyLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU92RCxNQUFNLE9BQU8sUUFBUTtJQUxyQjtRQU9JLFdBQVc7UUFDSCxVQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNCLGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFhLENBQUM7UUFDeEMsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBYzFDLE1BQU07UUFDQyxxQkFBZ0IsR0FBRyxDQUFDLGVBQXVCLEVBQVcsRUFBRTtZQUMzRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDekQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3BHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDZixD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R0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFZLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsSUFBRyxxQkFBcUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLEtBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO29CQUN4RCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDekIsV0FBVyxHQUFHLFFBQVEsQ0FBQzt3QkFDdkIsTUFBTTtvQkFDVixDQUFDO2dCQUNMLENBQUM7Z0JBRUQsSUFBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUM7WUFDTCxDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQVEscUJBQXFCLENBQUMsR0FBRyxDQUFDLFdBQVksQ0FBQyxDQUFDO1lBQzdELElBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDOytHQTdHUSxRQUFRO21HQUFSLFFBQVEsMmNDVHJCLDZMQUlPOzs0RkRLTSxRQUFRO2tCQUxwQixTQUFTOytCQUNJLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnOyBcclxuaW1wb3J0IHsgQ29lckFsZXJ0LCBUb29scyB9IGZyb20gJ2NvZXItZWxlbWVudHMvdG9vbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvZXItZm9ybScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29lci1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb2VyLWZvcm0uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyRm9ybSB7XHJcblxyXG4gICAgLy9JbmplY3Rpb25cclxuICAgIHByaXZhdGUgYWxlcnQgPSBpbmplY3QoQ29lckFsZXJ0KTtcclxuXHJcbiAgICBwdWJsaWMgZm9ybUdyb3VwID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUdyb3VwPigpO1xyXG4gICAgcHVibGljIGlzTG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHB1YmxpYyBpc0Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF9pc0Rpc2FibGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzTG9hZGluZygpIHx8IHRoaXMuaXNEaXNhYmxlZCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBUb3VjaEZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAoKS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIElzSW52YWxpZENvbnRyb2wgPSAoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpXHJcbiAgICAgICAgICAgID8gKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkhLnRvdWNoZWQgJiYgdGhpcy5mb3JtR3JvdXAoKS5nZXQoZm9ybUNvbnRyb2xOYW1lKSEuaW52YWxpZClcclxuICAgICAgICAgICAgOiB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBTZXRDb250cm9sVmFsdWUoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkhLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0Lldhcm5pbmcoYCR7Zm9ybUNvbnRyb2xOYW1lfSBDb250cm9sYCwgJ05vdCBGb3VuZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgR2V0Q29udHJvbFZhbHVlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuZm9ybUdyb3VwKCkuZ2V0KGZvcm1Db250cm9sTmFtZSkpXHJcbiAgICAgICAgICAgID8gdGhpcy5mb3JtR3JvdXAoKS5nZXQoZm9ybUNvbnRyb2xOYW1lKSEudmFsdWVcclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogR2V0IGZvcm0gdmFsdWUgKi9cclxuICAgIHB1YmxpYyBHZXRWYWx1ZTxUPigpOiBUIHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuQnJlYWtSZWZlcmVuY2UodGhpcy5mb3JtR3JvdXAoKS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIFJlc2V0PFQ+KHByb3BlcnRpZXM6IFQgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChUb29scy5Jc051bGwocHJvcGVydGllcykpIHRoaXMuZm9ybUdyb3VwKCkucmVzZXQoKTtcclxuICAgICAgICBlbHNlIHRoaXMuZm9ybUdyb3VwKCkucmVzZXQocHJvcGVydGllcyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFyayBhbGwgY29udHJvbHMgYXMgdG91Y2hlZC5cclxuICAgICAqIElmIGZvcm0gaXMgaW52YWxpZCBlbWl0IGEgd2FybmluZyBhbmQgZm9jdXMgZmlyc3QgaW52YWxpZCBjb250cm9sLlxyXG4gICAgKi9cclxuICAgIHB1YmxpYyBJc1ZhbGlkKCk6IHsgaXNWYWxpZDogYm9vbGVhbiwgZm9ybVZhbHVlOiBhbnkgfSB7XHJcbiAgICAgICAgdGhpcy5Ub3VjaEZvcm0oKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwKCkuaW52YWxpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0Lldhcm5pbmcoJ1BsZWFzZSBjb21wbGV0ZSB0aGUgcmVxdWlyZWQgZmllbGRzJywgJ0luc3RydWN0aW9ucycsICdmYS1zb2xpZCBmYS1saXN0LWNoZWNrJyk7XHJcbiAgICAgICAgICAgIHRoaXMuRm9jdXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IHRoaXMuZm9ybUdyb3VwKCkudmFsaWQsXHJcbiAgICAgICAgICAgIGZvcm1WYWx1ZTogdGhpcy5HZXRWYWx1ZSgpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIEZvY3VzIHRoZSBlc3BlY2lmaWVkIGNvbnRyb2wgb3IgZmlyc3QgaW52YWxpZCBjb250cm9sICovXHJcbiAgICBwdWJsaWMgRm9jdXMoZm9ybUNvbnRyb2w6IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xDb2xsZWN0aW9uID0gbmV3IE1hcDxzdHJpbmcsIEVsZW1lbnQ+KCk7XHJcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xFcnJvckNvbGxlY3Rpb24gPSBuZXcgTWFwPHN0cmluZywgVmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KCk7XHJcblxyXG4gICAgICAgIGZvcihjb25zdCBwcm9wZXJ0eSBvZiBUb29scy5HZXRPYmplY3RQcm9wZXJ0aWVzKHRoaXMuZm9ybUdyb3VwKCkuY29udHJvbHMpKSB7XHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sRXJyb3JDb2xsZWN0aW9uLnNldChwcm9wZXJ0eSwgdGhpcy5mb3JtR3JvdXAoKS5jb250cm9sc1twcm9wZXJ0eV0uZXJyb3JzKTtcclxuICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZm9ybWNvbnRyb2xuYW1lPScke3Byb3BlcnR5fSddIGlucHV0YClcclxuICAgICAgICAgICAgaWYoVG9vbHMuSXNOb3ROdWxsKGh0bWxFbGVtZW50KSkgZm9ybUNvbnRyb2xDb2xsZWN0aW9uLnNldChwcm9wZXJ0eSwgaHRtbEVsZW1lbnQhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGZvcm1Db250cm9sQ29sbGVjdGlvbi5zaXplID4gMCkge1xyXG4gICAgICAgICAgICBpZihUb29scy5Jc051bGwoZm9ybUNvbnRyb2wpKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IoY29uc3QgW3Byb3BlcnR5LCBlcnJvcl0gb2YgZm9ybUNvbnRyb2xFcnJvckNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGVycm9yKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbCA9IHByb3BlcnR5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYoVG9vbHMuSXNOdWxsKGZvcm1Db250cm9sKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sID0gQXJyYXkuZnJvbShmb3JtQ29udHJvbENvbGxlY3Rpb24ua2V5cygpKVswXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gZm9ybUNvbnRyb2xDb2xsZWN0aW9uLmdldChmb3JtQ29udHJvbCEpO1xyXG4gICAgICAgICAgICBpZihUb29scy5Jc05vdE51bGwoZWxlbWVudCkpIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCgpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJjb2VyLWZvcm1cIj5cclxuICAgIDxmaWVsZHNldCBbZGlzYWJsZWRdPVwiX2lzRGlzYWJsZWRcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2ZpZWxkc2V0PlxyXG48L2Zvcm0+Il19