ngx-material-entity 16.0.2 → 16.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/classes/base.builder.d.ts +6 -1
  2. package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +2 -1
  3. package/components/confirm-dialog/confirm-dialog.component.d.ts +3 -1
  4. package/components/edit-page/edit-page.component.d.ts +15 -2
  5. package/components/edit-page/page-edit-data.builder.d.ts +2 -1
  6. package/components/input/array/array-date-input/array-date-input.component.d.ts +7 -1
  7. package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +6 -1
  8. package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +6 -1
  9. package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +1 -0
  10. package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +4 -0
  11. package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +2 -1
  12. package/components/input/date/date-range-input/date-range-input.component.d.ts +3 -0
  13. package/components/input/date/date-time-input/date-time-input.component.d.ts +3 -0
  14. package/components/input/input.component.d.ts +10 -3
  15. package/components/input/input.module.d.ts +6 -2
  16. package/components/input/number/number-slider-input/number-slider-input.component.d.ts +2 -1
  17. package/components/input/relations/references-many-input/references-many-input.component.d.ts +3 -1
  18. package/components/table/create-dialog/create-dialog-data.builder.d.ts +2 -1
  19. package/components/table/create-dialog/create-entity-dialog-data.builder.d.ts +2 -1
  20. package/components/table/create-dialog/create-entity-dialog.component.d.ts +6 -1
  21. package/components/table/edit-dialog/edit-data.builder.d.ts +5 -3
  22. package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +7 -1
  23. package/components/table/edit-dialog/edit-entity.builder.d.ts +2 -1
  24. package/components/table/table-data.builder.d.ts +9 -5
  25. package/components/table/table.component.d.ts +3 -1
  26. package/components/tooltip/tooltip.component.d.ts +9 -0
  27. package/decorators/array/array-decorator-internal.data.d.ts +14 -13
  28. package/decorators/array/array-decorator.data.d.ts +7 -7
  29. package/decorators/base/property-decorator-internal.data.d.ts +11 -2
  30. package/decorators/base/property-decorator.data.d.ts +9 -1
  31. package/decorators/boolean/boolean-decorator-internal.data.d.ts +5 -4
  32. package/decorators/boolean/boolean-decorator.data.d.ts +1 -1
  33. package/decorators/custom/custom-decorator-internal.data.d.ts +2 -2
  34. package/decorators/custom/custom-decorator.data.d.ts +4 -4
  35. package/decorators/date/date-decorator-internal.data.d.ts +7 -6
  36. package/decorators/date/date-decorator.data.d.ts +5 -5
  37. package/decorators/file/file-decorator-internal.data.d.ts +3 -3
  38. package/decorators/file/file-decorator.data.d.ts +1 -1
  39. package/decorators/has-many/has-many-decorator-internal.data.d.ts +3 -2
  40. package/decorators/has-many/has-many-decorator.data.d.ts +1 -1
  41. package/decorators/number/number-decorator-internal.data.d.ts +3 -3
  42. package/decorators/number/number-decorator.data.d.ts +1 -1
  43. package/decorators/object/object-decorator-internal.data.d.ts +1 -1
  44. package/decorators/object/object-decorator.data.d.ts +1 -1
  45. package/decorators/references-many/references-many-decorator-internal.data.d.ts +3 -2
  46. package/decorators/references-many/references-many-decorator.data.d.ts +1 -1
  47. package/decorators/references-one/references-one-decorator-internal.data.d.ts +1 -1
  48. package/decorators/references-one/references-one-decorator.data.d.ts +1 -1
  49. package/decorators/string/string-decorator-internal.data.d.ts +5 -6
  50. package/decorators/string/string-decorator.data.d.ts +1 -7
  51. package/default-global-configuration-values.d.ts +6 -0
  52. package/directives/number.directive.d.ts +17 -0
  53. package/directives/password-match.directive.d.ts +14 -0
  54. package/directives/tooltip.directive.d.ts +32 -0
  55. package/esm2022/classes/base.builder.mjs +9 -3
  56. package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +7 -5
  57. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +13 -7
  58. package/esm2022/components/edit-page/edit-page.component.mjs +75 -25
  59. package/esm2022/components/edit-page/page-edit-data.builder.mjs +9 -9
  60. package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +33 -13
  61. package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +29 -12
  62. package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +32 -15
  63. package/esm2022/components/input/base-input.component.mjs +2 -1
  64. package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +6 -3
  65. package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +18 -4
  66. package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +6 -3
  67. package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +18 -4
  68. package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +17 -5
  69. package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +3 -3
  70. package/esm2022/components/input/file/file-input/file-input.component.mjs +1 -1
  71. package/esm2022/components/input/input.component.mjs +91 -61
  72. package/esm2022/components/input/input.module.mjs +18 -5
  73. package/esm2022/components/input/number/number-input/number-input.component.mjs +4 -3
  74. package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +6 -3
  75. package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +15 -5
  76. package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +4 -3
  77. package/esm2022/components/table/create-dialog/create-dialog-data.builder.mjs +10 -8
  78. package/esm2022/components/table/create-dialog/create-entity-dialog-data.builder.mjs +5 -4
  79. package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +32 -14
  80. package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +35 -21
  81. package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +46 -25
  82. package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +4 -4
  83. package/esm2022/components/table/table-data.builder.mjs +54 -30
  84. package/esm2022/components/table/table.component.mjs +24 -15
  85. package/esm2022/components/tooltip/tooltip.component.mjs +20 -0
  86. package/esm2022/decorators/array/array-decorator-internal.data.mjs +42 -43
  87. package/esm2022/decorators/array/array-decorator.data.mjs +1 -1
  88. package/esm2022/decorators/array/array.decorator.mjs +8 -7
  89. package/esm2022/decorators/base/property-decorator-internal.data.mjs +25 -4
  90. package/esm2022/decorators/base/property-decorator.data.mjs +10 -1
  91. package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +5 -4
  92. package/esm2022/decorators/boolean/boolean-decorator.data.mjs +1 -1
  93. package/esm2022/decorators/boolean/boolean.decorator.mjs +3 -2
  94. package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +2 -2
  95. package/esm2022/decorators/custom/custom-decorator.data.mjs +1 -1
  96. package/esm2022/decorators/date/date-decorator-internal.data.mjs +8 -6
  97. package/esm2022/decorators/date/date-decorator.data.mjs +1 -1
  98. package/esm2022/decorators/date/date.decorator.mjs +4 -3
  99. package/esm2022/decorators/file/file-decorator-internal.data.mjs +1 -1
  100. package/esm2022/decorators/file/file-decorator.data.mjs +1 -1
  101. package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +4 -4
  102. package/esm2022/decorators/has-many/has-many-decorator.data.mjs +1 -1
  103. package/esm2022/decorators/has-many/has-many.decorator.mjs +3 -2
  104. package/esm2022/decorators/number/number-decorator-internal.data.mjs +1 -1
  105. package/esm2022/decorators/number/number-decorator.data.mjs +1 -1
  106. package/esm2022/decorators/object/object-decorator-internal.data.mjs +1 -1
  107. package/esm2022/decorators/object/object-decorator.data.mjs +1 -1
  108. package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +7 -6
  109. package/esm2022/decorators/references-many/references-many-decorator.data.mjs +1 -1
  110. package/esm2022/decorators/references-many/references-many.decorator.mjs +3 -2
  111. package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +1 -1
  112. package/esm2022/decorators/references-one/references-one-decorator.data.mjs +1 -1
  113. package/esm2022/decorators/string/string-decorator-internal.data.mjs +1 -4
  114. package/esm2022/decorators/string/string-decorator.data.mjs +1 -1
  115. package/esm2022/default-global-configuration-values.mjs +89 -0
  116. package/esm2022/directives/drag-drop.directive.mjs +62 -0
  117. package/esm2022/directives/number.directive.mjs +38 -0
  118. package/esm2022/directives/password-match.directive.mjs +30 -0
  119. package/esm2022/directives/tooltip.directive.mjs +106 -0
  120. package/esm2022/functions/get-config-value.function.mjs +15 -0
  121. package/esm2022/functions/get-validation-error-message.function.mjs +49 -0
  122. package/esm2022/functions/get-validation-errors-tooltip-content.function.ts.mjs +21 -0
  123. package/esm2022/global-configuration-values.mjs +10 -0
  124. package/esm2022/public-api.mjs +8 -2
  125. package/esm2022/utilities/entity.utilities.mjs +80 -405
  126. package/esm2022/utilities/validation.utilities.mjs +455 -0
  127. package/fesm2022/ngx-material-entity.mjs +2119 -1412
  128. package/fesm2022/ngx-material-entity.mjs.map +1 -1
  129. package/functions/get-config-value.function.d.ts +8 -0
  130. package/functions/get-validation-errors-tooltip-content.function.ts.d.ts +10 -0
  131. package/global-configuration-values.d.ts +216 -0
  132. package/package.json +1 -1
  133. package/public-api.d.ts +5 -1
  134. package/utilities/entity.utilities.d.ts +30 -34
  135. package/utilities/validation.utilities.d.ts +56 -0
  136. package/esm2022/components/get-validation-error-message.function.mjs +0 -42
  137. package/esm2022/components/input/file/file-input/dragDrop.directive.mjs +0 -62
  138. /package/{components/input/file/file-input/dragDrop.directive.d.ts → directives/drag-drop.directive.d.ts} +0 -0
  139. /package/{components → functions}/get-validation-error-message.function.d.ts +0 -0
@@ -1,12 +1,13 @@
1
1
  import { BaseEntityType } from '../../classes/entity.model';
2
2
  import { DisplayColumn } from '../../components/table/table-data';
3
+ import { NgxGlobalDefaultValues } from '../../global-configuration-values';
3
4
  import { DropdownValue } from '../base/dropdown-value.interface';
4
5
  import { PropertyDecoratorConfigInternal } from '../base/property-decorator-internal.data';
5
6
  import { ReferencesManyDecoratorConfig } from './references-many-decorator.data';
6
7
  /**
7
8
  * The internal DefaultNumberDecoratorConfig. Sets default values.
8
9
  */
9
- export declare class ReferencesManyDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal implements ReferencesManyDecoratorConfig<EntityType> {
10
+ export declare class ReferencesManyDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal<EntityType> implements ReferencesManyDecoratorConfig<EntityType> {
10
11
  getReferencedEntities: () => Promise<EntityType[]>;
11
12
  getDropdownValues: (referencedEntities: EntityType[]) => DropdownValue<string>[];
12
13
  getEntityForId: (entityId: string, allReferencedEntities: EntityType[]) => EntityType;
@@ -16,7 +17,7 @@ export declare class ReferencesManyDecoratorConfigInternal<EntityType extends Ba
16
17
  dropdownLabel: string;
17
18
  addAll: boolean;
18
19
  addAllButtonLabel: string;
19
- constructor(data: ReferencesManyDecoratorConfig<EntityType>);
20
+ constructor(data: ReferencesManyDecoratorConfig<EntityType>, globalConfig: NgxGlobalDefaultValues);
20
21
  }
21
22
  /**
22
23
  * The default function to use when trying to get the referenced entity for the given id.
@@ -5,7 +5,7 @@ import { PropertyDecoratorConfig } from '../base/property-decorator.data';
5
5
  /**
6
6
  * Definition for the @referencesMany metadata.
7
7
  */
8
- export interface ReferencesManyDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfig {
8
+ export interface ReferencesManyDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfig<EntityType> {
9
9
  /**
10
10
  * The function that returns the values that can be referenced.
11
11
  */
@@ -5,7 +5,7 @@ import { ReferencesOneDecoratorConfig } from './references-one-decorator.data';
5
5
  /**
6
6
  * The internal DefaultNumberDecoratorConfig. Sets default values.
7
7
  */
8
- export declare class ReferencesOneDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal implements ReferencesOneDecoratorConfig<EntityType> {
8
+ export declare class ReferencesOneDecoratorConfigInternal<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfigInternal<EntityType> implements ReferencesOneDecoratorConfig<EntityType> {
9
9
  getReferencedEntities: () => Promise<EntityType[]>;
10
10
  getDropdownValues: (referencedEntities: EntityType[]) => DropdownValue<string>[];
11
11
  getEntityForId: (entityId: string, allReferencedEntities: EntityType[]) => EntityType;
@@ -4,7 +4,7 @@ import { PropertyDecoratorConfig } from '../base/property-decorator.data';
4
4
  /**
5
5
  * Definition for the @referencesOne metadata.
6
6
  */
7
- export interface ReferencesOneDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfig {
7
+ export interface ReferencesOneDecoratorConfig<EntityType extends BaseEntityType<EntityType>> extends PropertyDecoratorConfig<EntityType> {
8
8
  /**
9
9
  * The function that returns the values that can be possibly referenced.
10
10
  */
@@ -4,7 +4,7 @@ import { AutocompleteStringDecoratorConfig, DefaultStringDecoratorConfig, Dropdo
4
4
  /**
5
5
  * The internal DropdownStringDecoratorConfig. Sets default values.
6
6
  */
7
- export declare class DropdownStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements DropdownStringDecoratorConfig {
7
+ export declare class DropdownStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal<string> implements DropdownStringDecoratorConfig {
8
8
  displayStyle: 'dropdown';
9
9
  dropdownValues: ((entity: any) => Promise<DropdownValue<string | undefined>[]>);
10
10
  constructor(data: DropdownStringDecoratorConfig);
@@ -13,7 +13,7 @@ export declare class DropdownStringDecoratorConfigInternal extends PropertyDecor
13
13
  /**
14
14
  * The internal DefaultStringDecoratorConfig. Sets default values.
15
15
  */
16
- export declare class DefaultStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements DefaultStringDecoratorConfig {
16
+ export declare class DefaultStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal<string> implements DefaultStringDecoratorConfig {
17
17
  displayStyle: 'line';
18
18
  minLength?: number;
19
19
  maxLength?: number;
@@ -23,7 +23,7 @@ export declare class DefaultStringDecoratorConfigInternal extends PropertyDecora
23
23
  /**
24
24
  * The internal TextboxStringDecoratorConfig. Sets default values.
25
25
  */
26
- export declare class TextboxStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements TextboxStringDecoratorConfig {
26
+ export declare class TextboxStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal<string> implements TextboxStringDecoratorConfig {
27
27
  displayStyle: 'textbox';
28
28
  minLength?: number;
29
29
  maxLength?: number;
@@ -32,7 +32,7 @@ export declare class TextboxStringDecoratorConfigInternal extends PropertyDecora
32
32
  /**
33
33
  * The internal AutocompleteStringDecoratorConfig. Sets default values.
34
34
  */
35
- export declare class AutocompleteStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements AutocompleteStringDecoratorConfig {
35
+ export declare class AutocompleteStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal<string> implements AutocompleteStringDecoratorConfig {
36
36
  displayStyle: 'autocomplete';
37
37
  autocompleteValues: string[];
38
38
  minLength?: number;
@@ -43,13 +43,12 @@ export declare class AutocompleteStringDecoratorConfigInternal extends PropertyD
43
43
  /**
44
44
  * The internal PasswordStringDecoratorConfig. Sets default values.
45
45
  */
46
- export declare class PasswordStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal implements PasswordStringDecoratorConfig {
46
+ export declare class PasswordStringDecoratorConfigInternal extends PropertyDecoratorConfigInternal<string> implements PasswordStringDecoratorConfig {
47
47
  displayStyle: 'password';
48
48
  minLength?: number;
49
49
  maxLength?: number;
50
50
  regex?: RegExp;
51
51
  needsConfirmation: boolean;
52
52
  confirmationDisplayName: string;
53
- passwordsDontMatchErrorMessage: string;
54
53
  constructor(data: PasswordStringDecoratorConfig);
55
54
  }
@@ -4,7 +4,7 @@ export type StringDropdownValues = DropdownValue<string | undefined>[] | ((entit
4
4
  /**
5
5
  * Definition for the @string metadata.
6
6
  */
7
- declare abstract class StringDecoratorConfig extends PropertyDecoratorConfig {
7
+ declare abstract class StringDecoratorConfig extends PropertyDecoratorConfig<string> {
8
8
  /**
9
9
  * How to display the string.
10
10
  */
@@ -104,11 +104,5 @@ export interface PasswordStringDecoratorConfig extends StringDecoratorConfig {
104
104
  * @default 'Confirm Password'
105
105
  */
106
106
  confirmationDisplayName?: string;
107
- /**
108
- * The error message to display when the password and the confirm password don't match.
109
- *
110
- * @default 'Passwords need to match!'
111
- */
112
- passwordsDontMatchErrorMessage?: string;
113
107
  }
114
108
  export {};
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { NgxGlobalDefaultValues } from './global-configuration-values';
3
+ export declare const defaultGlobalDefaults: NgxGlobalDefaultValues;
4
+ export declare const CONFIG_NEEDS_UPDATE_KEY: string;
5
+ export declare const needsUpdateGlobalDefaults: NgxGlobalDefaultValues;
6
+ export declare const NGX_INTERNAL_GLOBAL_DEFAULT_VALUES: InjectionToken<NgxGlobalDefaultValues>;
@@ -0,0 +1,17 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A directive that only allows number inputs.
5
+ */
6
+ export declare class NumberDirective {
7
+ private readonly el;
8
+ constructor(el: ElementRef);
9
+ /**
10
+ * Prevents the default event when a key is pressed that is not a valid number, eg. 'A', 'B', 'C', 'D' etc.
11
+ *
12
+ * @param e - The keydown event from the user.
13
+ */
14
+ onKeyDown(e: KeyboardEvent): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NumberDirective, "[number]", never, {}, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,14 @@
1
+ import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A directive that validates if a given password matches the control value.
5
+ */
6
+ export declare class PasswordMatchValidatorDirective implements Validator {
7
+ /**
8
+ * The password that the control value should be matched against.
9
+ */
10
+ passwordMatch?: string;
11
+ validate(control: AbstractControl): ValidationErrors | null;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<PasswordMatchValidatorDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PasswordMatchValidatorDirective, "[passwordMatch]", never, { "passwordMatch": { "alias": "passwordMatch"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,32 @@
1
+ import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * A directive that displays a tooltip on hover.
5
+ */
6
+ export declare class TooltipDirective implements OnDestroy {
7
+ private readonly el;
8
+ private readonly renderer;
9
+ /**
10
+ * The content to display inside the tooltip.
11
+ */
12
+ tooltip: string;
13
+ private tooltipElement?;
14
+ private closeListeners;
15
+ constructor(el: ElementRef, renderer: Renderer2);
16
+ /**
17
+ * Shows the tooltip.
18
+ */
19
+ onMouseEnter(): void;
20
+ /**
21
+ * Hides the tooltip.
22
+ */
23
+ onMouseLeave(): void;
24
+ private showTooltip;
25
+ private registerCloseListeners;
26
+ private getCloseListener;
27
+ private hideTooltip;
28
+ private removeCloseListeners;
29
+ ngOnDestroy(): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[tooltip]", never, { "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, true, never>;
32
+ }
@@ -1,10 +1,16 @@
1
+ import { CONFIG_NEEDS_UPDATE_KEY } from '../default-global-configuration-values';
1
2
  /**
2
3
  * The abstract BaseBuilder class.
3
4
  */
4
5
  export class BaseBuilder {
5
6
  data;
6
7
  inputData;
7
- constructor(data) {
8
+ /**
9
+ * The global configuration, is used for providing default values to fallback to.
10
+ */
11
+ globalConfig;
12
+ constructor(globalConfig, data) {
13
+ this.globalConfig = globalConfig;
8
14
  this.validateInput(data);
9
15
  this.inputData = data;
10
16
  this.data = this.generateBaseData(data);
@@ -27,7 +33,7 @@ export class BaseBuilder {
27
33
  * @returns The Builder.
28
34
  */
29
35
  withDefault(key, value) {
30
- if (this.inputData == null || this.inputData[key] == null) {
36
+ if (this.inputData == null || this.inputData[key] == null || this.inputData[key] === CONFIG_NEEDS_UPDATE_KEY) {
31
37
  this.data[key] = value;
32
38
  }
33
39
  return this;
@@ -41,4 +47,4 @@ export class BaseBuilder {
41
47
  return this.data;
42
48
  }
43
49
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY2xhc3Nlcy9iYXNlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFFWixJQUFJLENBQWU7SUFDbkIsU0FBUyxDQUFhO0lBRXZDLFlBQXNCLElBQWdCO1FBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQVVEOzs7O09BSUc7SUFDSCw2REFBNkQ7SUFDbkQsYUFBYSxDQUFDLElBQWdCO1FBQ3BDLG9DQUFvQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLEdBQW9CLEVBQUUsS0FBdUQ7UUFDckYsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQXNDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUVudGl0eVR5cGUgfSBmcm9tICcuL2VudGl0eS5tb2RlbCc7XG5cbi8qKlxuICogVGhlIGFic3RyYWN0IEJhc2VCdWlsZGVyIGNsYXNzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUJ1aWxkZXI8SW50ZXJuYWxUeXBlIGV4dGVuZHMgSW5wdXRUeXBlLCBJbnB1dFR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxJbnB1dFR5cGU+PiB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IEludGVybmFsVHlwZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RGF0YT86IElucHV0VHlwZTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihkYXRhPzogSW5wdXRUeXBlKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dChkYXRhKTtcbiAgICAgICAgdGhpcy5pbnB1dERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmdlbmVyYXRlQmFzZURhdGEoZGF0YSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgaW50ZXJuYWwgZGF0YSBmcm9tIHRoZSBnaXZlbiB1c2VyIGlucHV0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhIC0gVGhlIGlucHV0IGZyb20gdGhlIHVzZXIuXG4gICAgICogQHJldHVybnMgVGhlIGludGVybmFsIGRhdGEuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdlbmVyYXRlQmFzZURhdGEoZGF0YT86IElucHV0VHlwZSk6IEludGVybmFsVHlwZTtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gdmFsaWRhdGUgdGhlIHVzZXIgaW5wdXQgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgLSBUaGUgdXNlciBpbnB1dC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlSW5wdXQoZGF0YT86IElucHV0VHlwZSk6IHZvaWQge1xuICAgICAgICAvLyBCeSBkZWZhdWx0LCBubyB2YWxpZGF0aW9uIGlzIGRvbmVcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleSBpZiBubyB1c2VyIHZhbHVlIHdhcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB3aGVuIG5vdGhpbmcgd2FzIHByb3ZpZGVkLlxuICAgICAqIEByZXR1cm5zIFRoZSBCdWlsZGVyLlxuICAgICAqL1xuICAgIHdpdGhEZWZhdWx0KGtleToga2V5b2YgSW5wdXRUeXBlLCB2YWx1ZTogT21pdDxJbnRlcm5hbFR5cGVba2V5b2YgSW5wdXRUeXBlXSwgJ3VuZGVmaW5lZCc+KTogQmFzZUJ1aWxkZXI8SW50ZXJuYWxUeXBlLCBJbnB1dFR5cGU+IHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXREYXRhID09IG51bGwgfHwgdGhpcy5pbnB1dERhdGFba2V5XSA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHZhbHVlIGFzIEludGVybmFsVHlwZVtrZXlvZiBJbnB1dFR5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB1c2VkIHRvIGdldCB0aGUgZmluYWwgYnVpbGQgdmFsdWUgYWZ0ZXIgYXBwbHlpbmcgYWxsIGNoYWluaW5nLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGJ1aWxkIHZhbHVlLlxuICAgICAqL1xuICAgIGdldFJlc3VsdCgpOiBJbnRlcm5hbFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbn0iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY2xhc3Nlcy9iYXNlLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFJakY7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7SUFFWixJQUFJLENBQWU7SUFDbkIsU0FBUyxDQUFhO0lBQ3ZDOztPQUVHO0lBQ2dCLFlBQVksQ0FBeUI7SUFFeEQsWUFBc0IsWUFBb0MsRUFBRSxJQUFnQjtRQUN4RSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFVRDs7OztPQUlHO0lBQ0gsNkRBQTZEO0lBQ25ELGFBQWEsQ0FBQyxJQUFnQjtRQUNwQyxvQ0FBb0M7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxHQUFvQixFQUFFLEtBQXVEO1FBQ3JGLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyx1QkFBdUIsRUFBRTtZQUMxRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQXNDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09ORklHX05FRURTX1VQREFURV9LRVkgfSBmcm9tICcuLi9kZWZhdWx0LWdsb2JhbC1jb25maWd1cmF0aW9uLXZhbHVlcyc7XG5pbXBvcnQgeyBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzIH0gZnJvbSAnLi4vZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzJztcbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi9lbnRpdHkubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBhYnN0cmFjdCBCYXNlQnVpbGRlciBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VCdWlsZGVyPEludGVybmFsVHlwZSBleHRlbmRzIElucHV0VHlwZSwgSW5wdXRUeXBlIGV4dGVuZHMgQmFzZUVudGl0eVR5cGU8SW5wdXRUeXBlPj4ge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhOiBJbnRlcm5hbFR5cGU7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dERhdGE/OiBJbnB1dFR5cGU7XG4gICAgLyoqXG4gICAgICogVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uLCBpcyB1c2VkIGZvciBwcm92aWRpbmcgZGVmYXVsdCB2YWx1ZXMgdG8gZmFsbGJhY2sgdG8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdsb2JhbENvbmZpZzogTmd4R2xvYmFsRGVmYXVsdFZhbHVlcztcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihnbG9iYWxDb25maWc6IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMsIGRhdGE/OiBJbnB1dFR5cGUpIHtcbiAgICAgICAgdGhpcy5nbG9iYWxDb25maWcgPSBnbG9iYWxDb25maWc7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dChkYXRhKTtcbiAgICAgICAgdGhpcy5pbnB1dERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmdlbmVyYXRlQmFzZURhdGEoZGF0YSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgaW50ZXJuYWwgZGF0YSBmcm9tIHRoZSBnaXZlbiB1c2VyIGlucHV0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhIC0gVGhlIGlucHV0IGZyb20gdGhlIHVzZXIuXG4gICAgICogQHJldHVybnMgVGhlIGludGVybmFsIGRhdGEuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdlbmVyYXRlQmFzZURhdGEoZGF0YT86IElucHV0VHlwZSk6IEludGVybmFsVHlwZTtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gdmFsaWRhdGUgdGhlIHVzZXIgaW5wdXQgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEgLSBUaGUgdXNlciBpbnB1dC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlSW5wdXQoZGF0YT86IElucHV0VHlwZSk6IHZvaWQge1xuICAgICAgICAvLyBCeSBkZWZhdWx0LCBubyB2YWxpZGF0aW9uIGlzIGRvbmVcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleSBpZiBubyB1c2VyIHZhbHVlIHdhcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB3aGVuIG5vdGhpbmcgd2FzIHByb3ZpZGVkLlxuICAgICAqIEByZXR1cm5zIFRoZSBCdWlsZGVyLlxuICAgICAqL1xuICAgIHdpdGhEZWZhdWx0KGtleToga2V5b2YgSW5wdXRUeXBlLCB2YWx1ZTogT21pdDxJbnRlcm5hbFR5cGVba2V5b2YgSW5wdXRUeXBlXSwgJ3VuZGVmaW5lZCc+KTogQmFzZUJ1aWxkZXI8SW50ZXJuYWxUeXBlLCBJbnB1dFR5cGU+IHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXREYXRhID09IG51bGwgfHwgdGhpcy5pbnB1dERhdGFba2V5XSA9PSBudWxsIHx8IHRoaXMuaW5wdXREYXRhW2tleV0gPT09IENPTkZJR19ORUVEU19VUERBVEVfS0VZKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHZhbHVlIGFzIEludGVybmFsVHlwZVtrZXlvZiBJbnB1dFR5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB1c2VkIHRvIGdldCB0aGUgZmluYWwgYnVpbGQgdmFsdWUgYWZ0ZXIgYXBwbHlpbmcgYWxsIGNoYWluaW5nLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGJ1aWxkIHZhbHVlLlxuICAgICAqL1xuICAgIGdldFJlc3VsdCgpOiBJbnRlcm5hbFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbn0iXX0=
@@ -1,4 +1,6 @@
1
1
  import { BaseBuilder } from '../../classes/base.builder';
2
+ import { CONFIG_NEEDS_UPDATE_KEY } from '../../default-global-configuration-values';
3
+ import { getConfigValue } from '../../functions/get-config-value.function';
2
4
  /**
3
5
  * The internal ConfirmDialogData. Requires all default values the user can leave out.
4
6
  */
@@ -31,12 +33,12 @@ export class ConfirmDialogDataInternal {
31
33
  * The Builder for the ConfirmDialogData. Sets default values.
32
34
  */
33
35
  export class ConfirmDialogDataBuilder extends BaseBuilder {
34
- constructor(data) {
35
- super(data);
36
+ constructor(globalConfig, data) {
37
+ super(globalConfig, data);
36
38
  }
37
39
  // eslint-disable-next-line jsdoc/require-jsdoc
38
40
  generateBaseData(data) {
39
- return new ConfirmDialogDataInternal(data?.text ?? ['Do you really want to do this?'], data?.type ?? 'default', data?.confirmButtonLabel ?? 'Confirm', data?.cancelButtonLabel ?? 'Cancel', data?.title ?? 'Confirmation', data?.requireConfirmation ?? false, data?.confirmationText);
41
+ return new ConfirmDialogDataInternal(getConfigValue(this.globalConfig.defaultConfirmDialogText, data?.text), data?.type ?? 'default', getConfigValue(this.globalConfig.confirmLabel, data?.confirmButtonLabel), getConfigValue(this.globalConfig.cancelLabel, data?.cancelButtonLabel), getConfigValue(this.globalConfig.defaultConfirmDialogTitle, data?.title), data?.requireConfirmation ?? false, data?.confirmationText);
40
42
  }
41
43
  // eslint-disable-next-line jsdoc/require-jsdoc
42
44
  validateInput(data) {
@@ -50,9 +52,9 @@ export class ConfirmDialogDataBuilder extends BaseBuilder {
50
52
  if (data.requireConfirmation !== true && data.confirmationText) {
51
53
  throw new Error('The "confirmationText" will never be shown because "requireConfirmation" is not set to true');
52
54
  }
53
- if (data.type === 'info-only' && data.cancelButtonLabel) {
55
+ if (data.type === 'info-only' && data.cancelButtonLabel && data.cancelButtonLabel !== CONFIG_NEEDS_UPDATE_KEY) {
54
56
  throw new Error('The "cancelButtonLabel" will never be shown because "type" is set to "info-only"');
55
57
  }
56
58
  }
57
59
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQywrQ0FBK0M7SUFDL0MsSUFBSSxDQUFXO0lBQ2YsK0NBQStDO0lBQy9DLElBQUksQ0FBcUI7SUFDekIsK0NBQStDO0lBQy9DLGtCQUFrQixDQUFTO0lBQzNCLCtDQUErQztJQUMvQyxpQkFBaUIsQ0FBUztJQUMxQiwrQ0FBK0M7SUFDL0MsS0FBSyxDQUFTO0lBQ2QsK0NBQStDO0lBQy9DLG1CQUFtQixDQUFVO0lBQzdCLCtDQUErQztJQUMvQyxnQkFBZ0IsQ0FBVTtJQUUxQixZQUNJLElBQWMsRUFDZCxJQUF3QixFQUN4QixrQkFBMEIsRUFDMUIsaUJBQXlCLEVBQ3pCLEtBQWEsRUFDYixtQkFBNEIsRUFDNUIsZ0JBQXlCO1FBRXpCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QyxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUF5RDtJQUVuRyxZQUFZLElBQXdCO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsK0NBQStDO0lBQzVCLGdCQUFnQixDQUFDLElBQXdCO1FBQ3hELE9BQU8sSUFBSSx5QkFBeUIsQ0FDaEMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGdDQUFnQyxDQUFDLEVBQ2hELElBQUksRUFBRSxJQUFJLElBQUksU0FBUyxFQUN2QixJQUFJLEVBQUUsa0JBQWtCLElBQUksU0FBUyxFQUNyQyxJQUFJLEVBQUUsaUJBQWlCLElBQUksUUFBUSxFQUNuQyxJQUFJLEVBQUUsS0FBSyxJQUFJLGNBQWMsRUFDN0IsSUFBSSxFQUFFLG1CQUFtQixJQUFJLEtBQUssRUFDbEMsSUFBSSxFQUFFLGdCQUFnQixDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVELCtDQUErQztJQUM1QixhQUFhLENBQUMsSUFBd0I7UUFDckQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU87U0FDVjtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUM3RCxtQ0FBbUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtSEFBbUgsQ0FBQyxDQUFDO1NBQ3hJO1FBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLDZGQUE2RixDQUFDLENBQUM7U0FDbEg7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7U0FDdkc7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS5idWlsZGVyJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhLCBDb25maXJtRGlhbG9nVHlwZXMgfSBmcm9tICcuL2NvbmZpcm0tZGlhbG9nLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBpbnRlcm5hbCBDb25maXJtRGlhbG9nRGF0YS4gUmVxdWlyZXMgYWxsIGRlZmF1bHQgdmFsdWVzIHRoZSB1c2VyIGNhbiBsZWF2ZSBvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nRGF0YUludGVybmFsIGltcGxlbWVudHMgQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdGV4dDogc3RyaW5nW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0eXBlOiBDb25maXJtRGlhbG9nVHlwZXM7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogYm9vbGVhbjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1hdGlvblRleHQ/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdGV4dDogc3RyaW5nW10sXG4gICAgICAgIHR5cGU6IENvbmZpcm1EaWFsb2dUeXBlcyxcbiAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmcsXG4gICAgICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIHJlcXVpcmVDb25maXJtYXRpb246IGJvb2xlYW4sXG4gICAgICAgIGNvbmZpcm1hdGlvblRleHQ/OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgdGhpcy50ZXh0ID0gdGV4dDtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy5jb25maXJtQnV0dG9uTGFiZWwgPSBjb25maXJtQnV0dG9uTGFiZWw7XG4gICAgICAgIHRoaXMuY2FuY2VsQnV0dG9uTGFiZWwgPSBjYW5jZWxCdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRpdGxlO1xuICAgICAgICB0aGlzLnJlcXVpcmVDb25maXJtYXRpb24gPSByZXF1aXJlQ29uZmlybWF0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblRleHQgPSBjb25maXJtYXRpb25UZXh0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgQnVpbGRlciBmb3IgdGhlIENvbmZpcm1EaWFsb2dEYXRhLiBTZXRzIGRlZmF1bHQgdmFsdWVzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0RhdGFCdWlsZGVyIGV4dGVuZHMgQmFzZUJ1aWxkZXI8Q29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCwgQ29uZmlybURpYWxvZ0RhdGE+IHtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBDb25maXJtRGlhbG9nRGF0YSkge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBDb25maXJtRGlhbG9nRGF0YSk6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwoXG4gICAgICAgICAgICBkYXRhPy50ZXh0ID8/IFsnRG8geW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/J10sXG4gICAgICAgICAgICBkYXRhPy50eXBlID8/ICdkZWZhdWx0JyxcbiAgICAgICAgICAgIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCA/PyAnQ29uZmlybScsXG4gICAgICAgICAgICBkYXRhPy5jYW5jZWxCdXR0b25MYWJlbCA/PyAnQ2FuY2VsJyxcbiAgICAgICAgICAgIGRhdGE/LnRpdGxlID8/ICdDb25maXJtYXRpb24nLFxuICAgICAgICAgICAgZGF0YT8ucmVxdWlyZUNvbmZpcm1hdGlvbiA/PyBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE/LmNvbmZpcm1hdGlvblRleHRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZUlucHV0KGRhdGE/OiBDb25maXJtRGlhbG9nRGF0YSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YS5yZXF1aXJlQ29uZmlybWF0aW9uID09PSB0cnVlICYmICFkYXRhLmNvbmZpcm1hdGlvblRleHQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgSW5wdXQgZGF0YSBcImNvbmZpcm1hdGlvblRleHRcIi4gWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIFwicmVxdWlyZUNvbmZpcm1hdGlvblwiIGlzIGZhbHNlLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLnJlcXVpcmVDb25maXJtYXRpb24gIT09IHRydWUgJiYgZGF0YS5jb25maXJtYXRpb25UZXh0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImNvbmZpcm1hdGlvblRleHRcIiB3aWxsIG5ldmVyIGJlIHNob3duIGJlY2F1c2UgXCJyZXF1aXJlQ29uZmlybWF0aW9uXCIgaXMgbm90IHNldCB0byB0cnVlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2luZm8tb25seScgJiYgZGF0YS5jYW5jZWxCdXR0b25MYWJlbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJjYW5jZWxCdXR0b25MYWJlbFwiIHdpbGwgbmV2ZXIgYmUgc2hvd24gYmVjYXVzZSBcInR5cGVcIiBpcyBzZXQgdG8gXCJpbmZvLW9ubHlcIicpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1kYXRhLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUkzRTs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsK0NBQStDO0lBQy9DLElBQUksQ0FBVztJQUNmLCtDQUErQztJQUMvQyxJQUFJLENBQXFCO0lBQ3pCLCtDQUErQztJQUMvQyxrQkFBa0IsQ0FBUztJQUMzQiwrQ0FBK0M7SUFDL0MsaUJBQWlCLENBQVM7SUFDMUIsK0NBQStDO0lBQy9DLEtBQUssQ0FBUztJQUNkLCtDQUErQztJQUMvQyxtQkFBbUIsQ0FBVTtJQUM3QiwrQ0FBK0M7SUFDL0MsZ0JBQWdCLENBQVU7SUFFMUIsWUFDSSxJQUFjLEVBQ2QsSUFBd0IsRUFDeEIsa0JBQTBCLEVBQzFCLGlCQUF5QixFQUN6QixLQUFhLEVBQ2IsbUJBQTRCLEVBQzVCLGdCQUF5QjtRQUV6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDN0MsQ0FBQztDQUNKO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBeUQ7SUFFbkcsWUFBWSxZQUFvQyxFQUFFLElBQXdCO1FBQ3RFLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELCtDQUErQztJQUM1QixnQkFBZ0IsQ0FBQyxJQUF3QjtRQUN4RCxPQUFPLElBQUkseUJBQXlCLENBQ2hDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFDdEUsSUFBSSxFQUFFLElBQUksSUFBSSxTQUFTLEVBQ3ZCLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsRUFDeEUsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxFQUN0RSxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQ3hFLElBQUksRUFBRSxtQkFBbUIsSUFBSSxLQUFLLEVBQ2xDLElBQUksRUFBRSxnQkFBZ0IsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFRCwrQ0FBK0M7SUFDNUIsYUFBYSxDQUFDLElBQXdCO1FBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDN0QsbUNBQW1DO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsbUhBQW1ILENBQUMsQ0FBQztTQUN4STtRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO1NBQ2xIO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLHVCQUF1QixFQUFFO1lBQzNHLE1BQU0sSUFBSSxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztTQUN2RztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9iYXNlLmJ1aWxkZXInO1xuaW1wb3J0IHsgQ09ORklHX05FRURTX1VQREFURV9LRVkgfSBmcm9tICcuLi8uLi9kZWZhdWx0LWdsb2JhbC1jb25maWd1cmF0aW9uLXZhbHVlcyc7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9nZXQtY29uZmlnLXZhbHVlLmZ1bmN0aW9uJztcbmltcG9ydCB7IE5neEdsb2JhbERlZmF1bHRWYWx1ZXMgfSBmcm9tICcuLi8uLi9nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0RhdGEsIENvbmZpcm1EaWFsb2dUeXBlcyB9IGZyb20gJy4vY29uZmlybS1kaWFsb2ctZGF0YSc7XG5cbi8qKlxuICogVGhlIGludGVybmFsIENvbmZpcm1EaWFsb2dEYXRhLiBSZXF1aXJlcyBhbGwgZGVmYXVsdCB2YWx1ZXMgdGhlIHVzZXIgY2FuIGxlYXZlIG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwgaW1wbGVtZW50cyBDb25maXJtRGlhbG9nRGF0YSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICB0ZXh0OiBzdHJpbmdbXTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHR5cGU6IENvbmZpcm1EaWFsb2dUeXBlcztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgICByZXF1aXJlQ29uZmlybWF0aW9uOiBib29sZWFuO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgY29uZmlybWF0aW9uVGV4dD86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICB0ZXh0OiBzdHJpbmdbXSxcbiAgICAgICAgdHlwZTogQ29uZmlybURpYWxvZ1R5cGVzLFxuICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZyxcbiAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZyxcbiAgICAgICAgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgcmVxdWlyZUNvbmZpcm1hdGlvbjogYm9vbGVhbixcbiAgICAgICAgY29uZmlybWF0aW9uVGV4dD86IHN0cmluZ1xuICAgICkge1xuICAgICAgICB0aGlzLnRleHQgPSB0ZXh0O1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmNvbmZpcm1CdXR0b25MYWJlbCA9IGNvbmZpcm1CdXR0b25MYWJlbDtcbiAgICAgICAgdGhpcy5jYW5jZWxCdXR0b25MYWJlbCA9IGNhbmNlbEJ1dHRvbkxhYmVsO1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMucmVxdWlyZUNvbmZpcm1hdGlvbiA9IHJlcXVpcmVDb25maXJtYXRpb247XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uVGV4dCA9IGNvbmZpcm1hdGlvblRleHQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFRoZSBCdWlsZGVyIGZvciB0aGUgQ29uZmlybURpYWxvZ0RhdGEuIFNldHMgZGVmYXVsdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIgZXh0ZW5kcyBCYXNlQnVpbGRlcjxDb25maXJtRGlhbG9nRGF0YUludGVybmFsLCBDb25maXJtRGlhbG9nRGF0YT4ge1xuXG4gICAgY29uc3RydWN0b3IoZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzLCBkYXRhPzogQ29uZmlybURpYWxvZ0RhdGEpIHtcbiAgICAgICAgc3VwZXIoZ2xvYmFsQ29uZmlnLCBkYXRhKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZW5lcmF0ZUJhc2VEYXRhKGRhdGE/OiBDb25maXJtRGlhbG9nRGF0YSk6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwge1xuICAgICAgICByZXR1cm4gbmV3IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWwoXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5kZWZhdWx0Q29uZmlybURpYWxvZ1RleHQsIGRhdGE/LnRleHQpLFxuICAgICAgICAgICAgZGF0YT8udHlwZSA/PyAnZGVmYXVsdCcsXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5jb25maXJtTGFiZWwsIGRhdGE/LmNvbmZpcm1CdXR0b25MYWJlbCksXG4gICAgICAgICAgICBnZXRDb25maWdWYWx1ZSh0aGlzLmdsb2JhbENvbmZpZy5jYW5jZWxMYWJlbCwgZGF0YT8uY2FuY2VsQnV0dG9uTGFiZWwpLFxuICAgICAgICAgICAgZ2V0Q29uZmlnVmFsdWUodGhpcy5nbG9iYWxDb25maWcuZGVmYXVsdENvbmZpcm1EaWFsb2dUaXRsZSwgZGF0YT8udGl0bGUpLFxuICAgICAgICAgICAgZGF0YT8ucmVxdWlyZUNvbmZpcm1hdGlvbiA/PyBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE/LmNvbmZpcm1hdGlvblRleHRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWxpZGF0ZUlucHV0KGRhdGE/OiBDb25maXJtRGlhbG9nRGF0YSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YS5yZXF1aXJlQ29uZmlybWF0aW9uID09PSB0cnVlICYmICFkYXRhLmNvbmZpcm1hdGlvblRleHQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgSW5wdXQgZGF0YSBcImNvbmZpcm1hdGlvblRleHRcIi4gWW91IGNhbiBvbmx5IG9taXQgdGhpcyB2YWx1ZSB3aGVuIFwicmVxdWlyZUNvbmZpcm1hdGlvblwiIGlzIGZhbHNlLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLnJlcXVpcmVDb25maXJtYXRpb24gIT09IHRydWUgJiYgZGF0YS5jb25maXJtYXRpb25UZXh0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImNvbmZpcm1hdGlvblRleHRcIiB3aWxsIG5ldmVyIGJlIHNob3duIGJlY2F1c2UgXCJyZXF1aXJlQ29uZmlybWF0aW9uXCIgaXMgbm90IHNldCB0byB0cnVlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2luZm8tb25seScgJiYgZGF0YS5jYW5jZWxCdXR0b25MYWJlbCAmJiBkYXRhLmNhbmNlbEJ1dHRvbkxhYmVsICE9PSBDT05GSUdfTkVFRFNfVVBEQVRFX0tFWSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJjYW5jZWxCdXR0b25MYWJlbFwiIHdpbGwgbmV2ZXIgYmUgc2hvd24gYmVjYXVzZSBcInR5cGVcIiBpcyBzZXQgdG8gXCJpbmZvLW9ubHlcIicpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
@@ -1,10 +1,11 @@
1
+ import { NgFor, NgIf } from '@angular/common';
1
2
  import { Component, Inject } from '@angular/core';
2
- import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
3
- import { ConfirmDialogDataBuilder } from './confirm-dialog-data.builder';
4
3
  import { FormsModule } from '@angular/forms';
5
4
  import { MatButtonModule } from '@angular/material/button';
6
5
  import { MatCheckboxModule } from '@angular/material/checkbox';
7
- import { NgFor, NgIf } from '@angular/common';
6
+ import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
7
+ import { NGX_INTERNAL_GLOBAL_DEFAULT_VALUES } from '../../default-global-configuration-values';
8
+ import { ConfirmDialogDataBuilder } from './confirm-dialog-data.builder';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/material/dialog";
10
11
  import * as i2 from "@angular/forms";
@@ -18,14 +19,16 @@ import * as i4 from "@angular/material/button";
18
19
  export class NgxMatEntityConfirmDialogComponent {
19
20
  dialogRef;
20
21
  inputData;
22
+ globalConfig;
21
23
  confirm = false;
22
24
  data;
23
- constructor(dialogRef, inputData) {
25
+ constructor(dialogRef, inputData, globalConfig) {
24
26
  this.dialogRef = dialogRef;
25
27
  this.inputData = inputData;
28
+ this.globalConfig = globalConfig;
26
29
  }
27
30
  ngOnInit() {
28
- this.data = new ConfirmDialogDataBuilder(this.inputData).getResult();
31
+ this.data = new ConfirmDialogDataBuilder(this.globalConfig, this.inputData).getResult();
29
32
  this.dialogRef.disableClose = true;
30
33
  }
31
34
  /**
@@ -40,7 +43,7 @@ export class NgxMatEntityConfirmDialogComponent {
40
43
  cancel() {
41
44
  this.dialogRef.close(false);
42
45
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: NGX_INTERNAL_GLOBAL_DEFAULT_VALUES }], target: i0.ɵɵFactoryTarget.Component });
44
47
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: NgxMatEntityConfirmDialogComponent, isStandalone: true, selector: "ngx-mat-entity-confirm-dialog", ngImport: i0, template: "<h2 mat-dialog-title *ngIf=\"data.title\">{{data.title}}</h2>\n\n<mat-dialog-content>\n <p *ngFor=\"let paragraph of data.text\">{{paragraph}}</p>\n <div *ngIf=\"data.requireConfirmation\" class=\"checkbox-wrapper\">\n <mat-checkbox [(ngModel)]=\"confirm\" name=\"confirm\">\n {{data.confirmationText}}\n </mat-checkbox>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button type=\"button\" *ngIf=\"data.type === 'delete'\" mat-raised-button color=\"warn\" (click)=\"confirmAction()\" [disabled]=\"data.requireConfirmation && !confirm\" class=\"confirm-button\">\n {{data.confirmButtonLabel}}\n </button>\n <button type=\"button\" *ngIf=\"data.type !== 'delete'\" mat-raised-button (click)=\"confirmAction()\" [disabled]=\"data.requireConfirmation && !confirm\" class=\"confirm-button\">\n {{data.confirmButtonLabel}}\n </button>\n <button type=\"button\" *ngIf=\"data.type !== 'info-only'\" mat-raised-button (click)=\"cancel()\" class=\"cancel-button\">\n {{data.cancelButtonLabel}}\n </button>\n</mat-dialog-actions>", styles: [".checkbox-wrapper{min-height:50px;display:flex}.checkbox-wrapper>mat-checkbox{align-self:center}mat-dialog-actions{justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
45
48
  }
46
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: NgxMatEntityConfirmDialogComponent, decorators: [{
@@ -56,5 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
56
59
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
57
60
  type: Inject,
58
61
  args: [MAT_DIALOG_DATA]
62
+ }] }, { type: undefined, decorators: [{
63
+ type: Inject,
64
+ args: [NGX_INTERNAL_GLOBAL_DEFAULT_VALUES]
59
65
  }] }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBNkIsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUU5Qzs7OztHQUlHO0FBZUgsTUFBTSxPQUFPLGtDQUFrQztJQU90QjtJQUVBO0lBUHJCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFekIsSUFBSSxDQUE2QjtJQUVqQyxZQUNxQixTQUEyRCxFQUUzRCxTQUE0QjtRQUY1QixjQUFTLEdBQVQsU0FBUyxDQUFrRDtRQUUzRCxjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUM5QyxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzt1R0E3QlEsa0NBQWtDLDhDQVEvQixlQUFlOzJGQVJsQixrQ0FBa0MseUZDNUIvQyxrbENBcUJxQiw2TUREYixJQUFJLDZGQUNKLEtBQUssa0hBQ0wsZUFBZSx5YkFDZixXQUFXLDhWQUNYLGlCQUFpQixnTEFDakIsZUFBZTs7MkZBR1Ysa0NBQWtDO2tCQWQ5QyxTQUFTOytCQUNJLCtCQUErQixjQUc3QixJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2xCOzswQkFVSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFRoZSBEaWFsb2cgdXNlZCB3aGVuZXZlciBjb25maXJtYXRpb24gYnkgdGhlIHVzZXIgaXMgcmVxdWlyZWQgKGUuZy4gV2hlbiB0aGUgdXNlciB0cmllcyB0byBkZWxldGUgYW4gZW50aXR5KS5cbiAqXG4gKiBDYW4gYmUgY3VzdG9taXplZCB3aXRoIHRoZSBNQVRfRElBTE9HX0RBVEEgXCJpbnB1dERhdGFcIi4gQ3VzdG9taXphdGlvbiBvcHRpb25zIGFyZSBkZWZpbmVkIGluIFwiQ29uZmlybURpYWxvZ0RhdGFcIi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LWVudGl0eS1jb25maXJtLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4TWF0RW50aXR5Q29uZmlybURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBjb25maXJtOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBkYXRhITogQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dERhdGE6IENvbmZpcm1EaWFsb2dEYXRhXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YSA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5pbnB1dERhdGEpLmdldFJlc3VsdCgpO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZGlhbG9nIHdpdGggdHJ1ZSB0byBzaWduYWwgdGhhdCB0aGUgYWN0aW9uIHNob3VsZCBiZSBydW4uXG4gICAgICovXG4gICAgY29uZmlybUFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxufSIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlICpuZ0lmPVwiZGF0YS50aXRsZVwiPnt7ZGF0YS50aXRsZX19PC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8cCAqbmdGb3I9XCJsZXQgcGFyYWdyYXBoIG9mIGRhdGEudGV4dFwiPnt7cGFyYWdyYXBofX08L3A+XG4gICAgPGRpdiAqbmdJZj1cImRhdGEucmVxdWlyZUNvbmZpcm1hdGlvblwiIGNsYXNzPVwiY2hlY2tib3gtd3JhcHBlclwiPlxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29uZmlybVwiIG5hbWU9XCJjb25maXJtXCI+XG4gICAgICAgICAgICB7e2RhdGEuY29uZmlybWF0aW9uVGV4dH19XG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJkYXRhLnR5cGUgPT09ICdkZWxldGUnXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImNvbmZpcm1BY3Rpb24oKVwiIFtkaXNhYmxlZF09XCJkYXRhLnJlcXVpcmVDb25maXJtYXRpb24gJiYgIWNvbmZpcm1cIiBjbGFzcz1cImNvbmZpcm0tYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5jb25maXJtQnV0dG9uTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiZGF0YS50eXBlICE9PSAnZGVsZXRlJ1wiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjb25maXJtQWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiZGF0YS5yZXF1aXJlQ29uZmlybWF0aW9uICYmICFjb25maXJtXCIgY2xhc3M9XCJjb25maXJtLWJ1dHRvblwiPlxuICAgICAgICB7e2RhdGEuY29uZmlybUJ1dHRvbkxhYmVsfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImRhdGEudHlwZSAhPT0gJ2luZm8tb25seSdcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIiBjbGFzcz1cImNhbmNlbC1idXR0b25cIj5cbiAgICAgICAge3tkYXRhLmNhbmNlbEJ1dHRvbkxhYmVsfX1cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUcvRixPQUFPLEVBQUUsd0JBQXdCLEVBQTZCLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQUVwRzs7OztHQUlHO0FBZUgsTUFBTSxPQUFPLGtDQUFrQztJQU90QjtJQUVBO0lBRUU7SUFUdkIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUV6QixJQUFJLENBQTZCO0lBRWpDLFlBQ3FCLFNBQTJELEVBRTNELFNBQTRCLEVBRTFCLFlBQW9DO1FBSnRDLGNBQVMsR0FBVCxTQUFTLENBQWtEO1FBRTNELGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBRTFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtJQUN4RCxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO3VHQS9CUSxrQ0FBa0MsOENBUS9CLGVBQWUsYUFFZixrQ0FBa0M7MkZBVnJDLGtDQUFrQyx5RkM5Qi9DLGtsQ0FxQnFCLDZNRENiLElBQUksNkZBQ0osS0FBSyxrSEFDTCxlQUFlLHliQUNmLFdBQVcsOFZBQ1gsaUJBQWlCLGdMQUNqQixlQUFlOzsyRkFHVixrQ0FBa0M7a0JBZDlDLFNBQVM7K0JBQ0ksK0JBQStCLGNBRzdCLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDbEI7OzBCQVVJLE1BQU07MkJBQUMsZUFBZTs7MEJBRXRCLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE5HWF9JTlRFUk5BTF9HTE9CQUxfREVGQVVMVF9WQUxVRVMgfSBmcm9tICcuLi8uLi9kZWZhdWx0LWdsb2JhbC1jb25maWd1cmF0aW9uLXZhbHVlcyc7XG5pbXBvcnQgeyBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzIH0gZnJvbSAnLi4vLi4vZ2xvYmFsLWNvbmZpZ3VyYXRpb24tdmFsdWVzJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy1kYXRhJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhQnVpbGRlciwgQ29uZmlybURpYWxvZ0RhdGFJbnRlcm5hbCB9IGZyb20gJy4vY29uZmlybS1kaWFsb2ctZGF0YS5idWlsZGVyJztcblxuLyoqXG4gKiBUaGUgRGlhbG9nIHVzZWQgd2hlbmV2ZXIgY29uZmlybWF0aW9uIGJ5IHRoZSB1c2VyIGlzIHJlcXVpcmVkIChlLmcuIFdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gZGVsZXRlIGFuIGVudGl0eSkuXG4gKlxuICogQ2FuIGJlIGN1c3RvbWl6ZWQgd2l0aCB0aGUgTUFUX0RJQUxPR19EQVRBIFwiaW5wdXREYXRhXCIuIEN1c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUgZGVmaW5lZCBpbiBcIkNvbmZpcm1EaWFsb2dEYXRhXCIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LW1hdC1lbnRpdHktY29uZmlybS1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neE1hdEVudGl0eUNvbmZpcm1EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY29uZmlybTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZGF0YSE6IENvbmZpcm1EaWFsb2dEYXRhSW50ZXJuYWw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxOZ3hNYXRFbnRpdHlDb25maXJtRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXREYXRhOiBDb25maXJtRGlhbG9nRGF0YSxcbiAgICAgICAgQEluamVjdChOR1hfSU5URVJOQUxfR0xPQkFMX0RFRkFVTFRfVkFMVUVTKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2xvYmFsQ29uZmlnOiBOZ3hHbG9iYWxEZWZhdWx0VmFsdWVzXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YSA9IG5ldyBDb25maXJtRGlhbG9nRGF0YUJ1aWxkZXIodGhpcy5nbG9iYWxDb25maWcsIHRoaXMuaW5wdXREYXRhKS5nZXRSZXN1bHQoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgdGhlIGRpYWxvZyB3aXRoIHRydWUgdG8gc2lnbmFsIHRoYXQgdGhlIGFjdGlvbiBzaG91bGQgYmUgcnVuLlxuICAgICAqL1xuICAgIGNvbmZpcm1BY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICAgIH1cbn0iLCI8aDIgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cImRhdGEudGl0bGVcIj57e2RhdGEudGl0bGV9fTwvaDI+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPHAgKm5nRm9yPVwibGV0IHBhcmFncmFwaCBvZiBkYXRhLnRleHRcIj57e3BhcmFncmFwaH19PC9wPlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLnJlcXVpcmVDb25maXJtYXRpb25cIiBjbGFzcz1cImNoZWNrYm94LXdyYXBwZXJcIj5cbiAgICAgICAgPG1hdC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImNvbmZpcm1cIiBuYW1lPVwiY29uZmlybVwiPlxuICAgICAgICAgICAge3tkYXRhLmNvbmZpcm1hdGlvblRleHR9fVxuICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiZGF0YS50eXBlID09PSAnZGVsZXRlJ1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJjb25maXJtQWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiZGF0YS5yZXF1aXJlQ29uZmlybWF0aW9uICYmICFjb25maXJtXCIgY2xhc3M9XCJjb25maXJtLWJ1dHRvblwiPlxuICAgICAgICB7e2RhdGEuY29uZmlybUJ1dHRvbkxhYmVsfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImRhdGEudHlwZSAhPT0gJ2RlbGV0ZSdcIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY29uZmlybUFjdGlvbigpXCIgW2Rpc2FibGVkXT1cImRhdGEucmVxdWlyZUNvbmZpcm1hdGlvbiAmJiAhY29uZmlybVwiIGNsYXNzPVwiY29uZmlybS1idXR0b25cIj5cbiAgICAgICAge3tkYXRhLmNvbmZpcm1CdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJkYXRhLnR5cGUgIT09ICdpbmZvLW9ubHknXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+XG4gICAgICAgIHt7ZGF0YS5jYW5jZWxCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG48L21hdC1kaWFsb2ctYWN0aW9ucz4iXX0=