@valtimo/components 12.5.0 → 12.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/assets/css/formio-carbon.scss +4 -0
  2. package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +20 -21
  3. package/esm2022/lib/components/carbon-list/carbon-list.module.mjs +4 -2
  4. package/esm2022/lib/components/form-io/form-io-currency/currency-edit-form.mjs +96 -0
  5. package/esm2022/lib/components/form-io/form-io-currency/currency.component.mjs +105 -0
  6. package/esm2022/lib/components/form-io/form-io-currency/currency.formio.mjs +24 -0
  7. package/esm2022/lib/components/form-io/form-io.module.mjs +6 -1
  8. package/esm2022/lib/components/input/input.component.mjs +8 -2
  9. package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +3 -3
  10. package/esm2022/lib/components/search-fields/search-fields.component.mjs +1 -1
  11. package/esm2022/lib/components/timeline/timeline.component.mjs +3 -3
  12. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +2 -2
  13. package/esm2022/lib/components/view-content/type-converters/booleanTypeConverter.mjs +2 -2
  14. package/esm2022/lib/components/view-content/type-converters/dateTimeTypeConverter.mjs +3 -3
  15. package/esm2022/lib/components/view-content/type-converters/stringTypeConverter.mjs +5 -1
  16. package/esm2022/lib/pipes/ellipsis.pipe.mjs +16 -0
  17. package/esm2022/lib/pipes/index.mjs +2 -1
  18. package/esm2022/lib/services/valtimo-modal.service.mjs +3 -2
  19. package/esm2022/public_api.mjs +3 -1
  20. package/fesm2022/valtimo-components.mjs +326 -83
  21. package/fesm2022/valtimo-components.mjs.map +1 -1
  22. package/lib/components/carbon-list/carbon-list.component.d.ts +3 -2
  23. package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
  24. package/lib/components/carbon-list/carbon-list.module.d.ts.map +1 -1
  25. package/lib/components/form-io/form-io-currency/currency-edit-form.d.ts +4 -0
  26. package/lib/components/form-io/form-io-currency/currency-edit-form.d.ts.map +1 -0
  27. package/lib/components/form-io/form-io-currency/currency.component.d.ts +30 -0
  28. package/lib/components/form-io/form-io-currency/currency.component.d.ts.map +1 -0
  29. package/lib/components/form-io/form-io-currency/currency.formio.d.ts +3 -0
  30. package/lib/components/form-io/form-io-currency/currency.formio.d.ts.map +1 -0
  31. package/lib/components/form-io/form-io.module.d.ts +14 -13
  32. package/lib/components/form-io/form-io.module.d.ts.map +1 -1
  33. package/lib/components/input/input.component.d.ts +2 -1
  34. package/lib/components/input/input.component.d.ts.map +1 -1
  35. package/lib/components/view-content/type-converters/stringTypeConverter.d.ts.map +1 -1
  36. package/lib/pipes/ellipsis.pipe.d.ts +8 -0
  37. package/lib/pipes/ellipsis.pipe.d.ts.map +1 -0
  38. package/lib/pipes/index.d.ts +1 -0
  39. package/lib/pipes/index.d.ts.map +1 -1
  40. package/lib/services/valtimo-modal.service.d.ts.map +1 -1
  41. package/package.json +3 -2
  42. package/public_api.d.ts +2 -0
  43. package/public_api.d.ts.map +1 -1
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Components } from 'formiojs';
17
+ const TextFieldEditForm = Components.components.textfield.editForm;
18
+ export const currencyEditForm = () => {
19
+ const editForm = TextFieldEditForm();
20
+ const localeSelection = {
21
+ type: 'select',
22
+ input: true,
23
+ key: 'customOptions.currencyLocale',
24
+ label: 'Currency locale',
25
+ tooltip: 'The locale used for the currency input',
26
+ weight: 20,
27
+ defaultValue: 'nl-NL',
28
+ dataSrc: 'values',
29
+ data: {
30
+ values: [
31
+ {
32
+ label: 'Dutch (Netherlands)',
33
+ value: 'nl-NL',
34
+ },
35
+ {
36
+ label: 'English (US)',
37
+ value: 'en-US',
38
+ },
39
+ {
40
+ label: 'English (UK)',
41
+ value: 'en-GB',
42
+ },
43
+ {
44
+ label: 'German',
45
+ value: 'de-DE',
46
+ },
47
+ ],
48
+ },
49
+ };
50
+ const currencySelection = {
51
+ type: 'select',
52
+ input: true,
53
+ key: 'customOptions.currencyCurrency',
54
+ label: 'Currency',
55
+ tooltip: 'The currency used for the currency input',
56
+ weight: 20,
57
+ defaultValue: 'EUR',
58
+ dataSrc: 'values',
59
+ data: {
60
+ values: [
61
+ {
62
+ label: 'Euro',
63
+ value: 'EUR',
64
+ },
65
+ {
66
+ label: 'British pound',
67
+ value: 'GBP',
68
+ },
69
+ {
70
+ label: 'United States Dollar',
71
+ value: 'USD',
72
+ },
73
+ ],
74
+ },
75
+ };
76
+ const allowEmptyValueCheckbox = {
77
+ type: 'checkbox',
78
+ input: true,
79
+ key: 'customOptions.allowEmptyValue',
80
+ label: 'Allow Empty Value',
81
+ tooltip: 'Check to allow empty values for this field',
82
+ weight: 10,
83
+ defaultValue: false, // Default to false
84
+ };
85
+ const tabsComponent = editForm.components.find(component => component.key === 'tabs');
86
+ if (tabsComponent) {
87
+ const displayTab = tabsComponent.components.find(tab => tab.key === 'display');
88
+ if (displayTab) {
89
+ displayTab.components.unshift(localeSelection);
90
+ displayTab.components.unshift(currencySelection);
91
+ displayTab.components.unshift(allowEmptyValueCheckbox);
92
+ }
93
+ }
94
+ return editForm;
95
+ };
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZWRpdC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2Zvcm0taW8tY3VycmVuY3kvY3VycmVuY3ktZWRpdC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUU7SUFDbkMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztJQUVyQyxNQUFNLGVBQWUsR0FBRztRQUN0QixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLE9BQU8sRUFBRSx3Q0FBd0M7UUFDakQsTUFBTSxFQUFFLEVBQUU7UUFDVixZQUFZLEVBQUUsT0FBTztRQUNyQixPQUFPLEVBQUUsUUFBUTtRQUNqQixJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsS0FBSyxFQUFFLHFCQUFxQjtvQkFDNUIsS0FBSyxFQUFFLE9BQU87aUJBQ2Y7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLGNBQWM7b0JBQ3JCLEtBQUssRUFBRSxPQUFPO2lCQUNmO2dCQUNEO29CQUNFLEtBQUssRUFBRSxjQUFjO29CQUNyQixLQUFLLEVBQUUsT0FBTztpQkFDZjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsUUFBUTtvQkFDZixLQUFLLEVBQUUsT0FBTztpQkFDZjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxLQUFLLEVBQUUsVUFBVTtRQUNqQixPQUFPLEVBQUUsMENBQTBDO1FBQ25ELE1BQU0sRUFBRSxFQUFFO1FBQ1YsWUFBWSxFQUFFLEtBQUs7UUFDbkIsT0FBTyxFQUFFLFFBQVE7UUFDakIsSUFBSSxFQUFFO1lBQ0osTUFBTSxFQUFFO2dCQUNOO29CQUNFLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSxLQUFLO2lCQUNiO2dCQUNEO29CQUNFLEtBQUssRUFBRSxlQUFlO29CQUN0QixLQUFLLEVBQUUsS0FBSztpQkFDYjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsc0JBQXNCO29CQUM3QixLQUFLLEVBQUUsS0FBSztpQkFDYjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsTUFBTSx1QkFBdUIsR0FBRztRQUM5QixJQUFJLEVBQUUsVUFBVTtRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLEdBQUcsRUFBRSwrQkFBK0I7UUFDcEMsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixPQUFPLEVBQUUsNENBQTRDO1FBQ3JELE1BQU0sRUFBRSxFQUFFO1FBQ1YsWUFBWSxFQUFFLEtBQUssRUFBRSxtQkFBbUI7S0FDekMsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUN0RixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUMvRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0MsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNqRCxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnRzfSBmcm9tICdmb3JtaW9qcyc7XG5cbmNvbnN0IFRleHRGaWVsZEVkaXRGb3JtID0gQ29tcG9uZW50cy5jb21wb25lbnRzLnRleHRmaWVsZC5lZGl0Rm9ybTtcblxuZXhwb3J0IGNvbnN0IGN1cnJlbmN5RWRpdEZvcm0gPSAoKSA9PiB7XG4gIGNvbnN0IGVkaXRGb3JtID0gVGV4dEZpZWxkRWRpdEZvcm0oKTtcblxuICBjb25zdCBsb2NhbGVTZWxlY3Rpb24gPSB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgaW5wdXQ6IHRydWUsXG4gICAga2V5OiAnY3VzdG9tT3B0aW9ucy5jdXJyZW5jeUxvY2FsZScsXG4gICAgbGFiZWw6ICdDdXJyZW5jeSBsb2NhbGUnLFxuICAgIHRvb2x0aXA6ICdUaGUgbG9jYWxlIHVzZWQgZm9yIHRoZSBjdXJyZW5jeSBpbnB1dCcsXG4gICAgd2VpZ2h0OiAyMCxcbiAgICBkZWZhdWx0VmFsdWU6ICdubC1OTCcsXG4gICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgZGF0YToge1xuICAgICAgdmFsdWVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0R1dGNoIChOZXRoZXJsYW5kcyknLFxuICAgICAgICAgIHZhbHVlOiAnbmwtTkwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdFbmdsaXNoIChVUyknLFxuICAgICAgICAgIHZhbHVlOiAnZW4tVVMnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdFbmdsaXNoIChVSyknLFxuICAgICAgICAgIHZhbHVlOiAnZW4tR0InLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdHZXJtYW4nLFxuICAgICAgICAgIHZhbHVlOiAnZGUtREUnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGN1cnJlbmN5U2VsZWN0aW9uID0ge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGlucHV0OiB0cnVlLFxuICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuY3VycmVuY3lDdXJyZW5jeScsXG4gICAgbGFiZWw6ICdDdXJyZW5jeScsXG4gICAgdG9vbHRpcDogJ1RoZSBjdXJyZW5jeSB1c2VkIGZvciB0aGUgY3VycmVuY3kgaW5wdXQnLFxuICAgIHdlaWdodDogMjAsXG4gICAgZGVmYXVsdFZhbHVlOiAnRVVSJyxcbiAgICBkYXRhU3JjOiAndmFsdWVzJyxcbiAgICBkYXRhOiB7XG4gICAgICB2YWx1ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnRXVybycsXG4gICAgICAgICAgdmFsdWU6ICdFVVInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdCcml0aXNoIHBvdW5kJyxcbiAgICAgICAgICB2YWx1ZTogJ0dCUCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ1VuaXRlZCBTdGF0ZXMgRG9sbGFyJyxcbiAgICAgICAgICB2YWx1ZTogJ1VTRCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgYWxsb3dFbXB0eVZhbHVlQ2hlY2tib3ggPSB7XG4gICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICBpbnB1dDogdHJ1ZSxcbiAgICBrZXk6ICdjdXN0b21PcHRpb25zLmFsbG93RW1wdHlWYWx1ZScsXG4gICAgbGFiZWw6ICdBbGxvdyBFbXB0eSBWYWx1ZScsXG4gICAgdG9vbHRpcDogJ0NoZWNrIHRvIGFsbG93IGVtcHR5IHZhbHVlcyBmb3IgdGhpcyBmaWVsZCcsXG4gICAgd2VpZ2h0OiAxMCxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLCAvLyBEZWZhdWx0IHRvIGZhbHNlXG4gIH07XG5cbiAgY29uc3QgdGFic0NvbXBvbmVudCA9IGVkaXRGb3JtLmNvbXBvbmVudHMuZmluZChjb21wb25lbnQgPT4gY29tcG9uZW50LmtleSA9PT0gJ3RhYnMnKTtcbiAgaWYgKHRhYnNDb21wb25lbnQpIHtcbiAgICBjb25zdCBkaXNwbGF5VGFiID0gdGFic0NvbXBvbmVudC5jb21wb25lbnRzLmZpbmQodGFiID0+IHRhYi5rZXkgPT09ICdkaXNwbGF5Jyk7XG4gICAgaWYgKGRpc3BsYXlUYWIpIHtcbiAgICAgIGRpc3BsYXlUYWIuY29tcG9uZW50cy51bnNoaWZ0KGxvY2FsZVNlbGVjdGlvbik7XG4gICAgICBkaXNwbGF5VGFiLmNvbXBvbmVudHMudW5zaGlmdChjdXJyZW5jeVNlbGVjdGlvbik7XG4gICAgICBkaXNwbGF5VGFiLmNvbXBvbmVudHMudW5zaGlmdChhbGxvd0VtcHR5VmFsdWVDaGVja2JveCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVkaXRGb3JtO1xufTtcbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import Currency from '@tadashi/currency';
4
+ import { Subscription } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ /**
8
+ * Custom formio component for currency number.
9
+ */
10
+ export class FormIoCurrencyComponent {
11
+ constructor() {
12
+ this.currencyForm = new FormGroup({
13
+ currencyValue: new FormControl(''),
14
+ });
15
+ this._value = null;
16
+ this.valueChange = new EventEmitter();
17
+ this._subscriptions = new Subscription();
18
+ }
19
+ get value() {
20
+ return this._value;
21
+ }
22
+ set value(value) {
23
+ this._value = value;
24
+ this.currencyForm.setValue({
25
+ currencyValue: Currency.masking(value, this._currencyInstance.opts.maskOpts),
26
+ });
27
+ }
28
+ set disabled(value) {
29
+ if (value) {
30
+ this.currencyForm.disable();
31
+ }
32
+ else {
33
+ this.currencyForm.enable();
34
+ }
35
+ }
36
+ ngOnInit() {
37
+ this._subscriptions.add(this.currencyForm.valueChanges.subscribe(() => {
38
+ const unmasked = this._currencyInstance.getUnmasked(this.currencyForm.value.currencyValue);
39
+ if (unmasked === 0 && this.allowEmptyValue) {
40
+ this._value = null;
41
+ this.valueChange.emit(null);
42
+ }
43
+ else {
44
+ this._value = unmasked;
45
+ this.valueChange.emit(unmasked);
46
+ }
47
+ }));
48
+ }
49
+ ngOnDestroy() {
50
+ this._subscriptions.unsubscribe();
51
+ }
52
+ ngAfterViewInit() {
53
+ this._currencyInstance = new Currency(this.currencyElement.nativeElement, {
54
+ maskOpts: {
55
+ empty: this.allowEmptyValue || false,
56
+ locales: this.currencyLocale || 'nl-NL',
57
+ digits: 2,
58
+ options: {
59
+ style: 'currency',
60
+ currency: this.currencyCurrency || 'EUR',
61
+ },
62
+ },
63
+ });
64
+ }
65
+ ngOnChanges(changes) {
66
+ if (changes.currencyLocale || changes.currencyCurrency || changes.allowEmptyValue) {
67
+ if (typeof this.currencyLocale === 'string') {
68
+ this._currencyInstance.opts.maskOpts.locales = this.currencyLocale;
69
+ }
70
+ if (typeof this.currencyCurrency === 'string') {
71
+ this._currencyInstance.opts.maskOpts.options.currency = this.currencyCurrency;
72
+ }
73
+ if (typeof this.allowEmptyValue === 'boolean') {
74
+ this._currencyInstance.opts.maskOpts.empty = this.allowEmptyValue;
75
+ }
76
+ this.currencyForm.setValue({
77
+ currencyValue: typeof this._value === 'number'
78
+ ? Currency.masking(this._value, this._currencyInstance.opts.maskOpts)
79
+ : '',
80
+ });
81
+ }
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormIoCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormIoCurrencyComponent, selector: "valtimo-currency", inputs: { value: "value", disabled: "disabled", currencyLocale: "currencyLocale", currencyCurrency: "currencyCurrency", allowEmptyValue: "allowEmptyValue" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "currencyElement", first: true, predicate: ["currencyElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"currencyForm-container\" [formGroup]=\"currencyForm\">\n <div class=\"input-group\">\n <input #currencyElement id=\"currency\" formControlName=\"currencyValue\" class=\"form-control\" />\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormIoCurrencyComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'valtimo-currency', template: "<div class=\"currencyForm-container\" [formGroup]=\"currencyForm\">\n <div class=\"input-group\">\n <input #currencyElement id=\"currency\" formControlName=\"currencyValue\" class=\"form-control\" />\n </div>\n</div>\n" }]
89
+ }], propDecorators: { currencyElement: [{
90
+ type: ViewChild,
91
+ args: ['currencyElement']
92
+ }], value: [{
93
+ type: Input
94
+ }], valueChange: [{
95
+ type: Output
96
+ }], disabled: [{
97
+ type: Input
98
+ }], currencyLocale: [{
99
+ type: Input
100
+ }], currencyCurrency: [{
101
+ type: Input
102
+ }], allowEmptyValue: [{
103
+ type: Input
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2Zvcm0taW8tY3VycmVuY3kvY3VycmVuY3kuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2Zvcm0taW8tY3VycmVuY3kvY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFFbEM7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBSnBDO1FBU2tCLGlCQUFZLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDM0MsYUFBYSxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQztTQUMzQyxDQUFDLENBQUM7UUFFSyxXQUFNLEdBQWtCLElBQUksQ0FBQztRQWFYLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWdCbEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBMER0RDtJQXJGQyxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQW9CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFD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Q0FBQyxNQUFNLEtBQUssUUFBUTtvQkFDN0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDckUsQ0FBQyxDQUFDLEVBQUU7YUFDVCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0EvRlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsd1lDekJwQyxpT0FLQTs7NEZEb0JhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBTUUsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBWVIsS0FBSztzQkFBeEIsS0FBSztnQkFPb0IsV0FBVztzQkFBcEMsTUFBTTtnQkFFYSxRQUFRO3NCQUEzQixLQUFLO2dCQVFtQixjQUFjO3NCQUF0QyxLQUFLO2dCQUNtQixnQkFBZ0I7c0JBQXhDLEtBQUs7Z0JBQ21CLGVBQWU7c0JBQXZDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtaW9DdXN0b21Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL21vZHVsZXMnO1xuaW1wb3J0IEN1cnJlbmN5IGZyb20gJ0B0YWRhc2hpL2N1cnJlbmN5JztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDdXN0b20gZm9ybWlvIGNvbXBvbmVudCBmb3IgY3VycmVuY3kgbnVtYmVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlvQ3VycmVuY3lDb21wb25lbnRcbiAgaW1wbGVtZW50cyBGb3JtaW9DdXN0b21Db21wb25lbnQ8bnVtYmVyPiwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBAVmlld0NoaWxkKCdjdXJyZW5jeUVsZW1lbnQnKSBjdXJyZW5jeUVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW5jeUZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBjdXJyZW5jeVZhbHVlOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksXG4gIH0pO1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jdXJyZW5jeUZvcm0uc2V0VmFsdWUoe1xuICAgICAgY3VycmVuY3lWYWx1ZTogQ3VycmVuY3kubWFza2luZyh2YWx1ZSwgdGhpcy5fY3VycmVuY3lJbnN0YW5jZS5vcHRzLm1hc2tPcHRzKSxcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbmN5Rm9ybS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVuY3lGb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSBjdXJyZW5jeUxvY2FsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgY3VycmVuY3lDdXJyZW5jeTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgYWxsb3dFbXB0eVZhbHVlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2N1cnJlbmN5SW5zdGFuY2UhOiBDdXJyZW5jeTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuY3VycmVuY3lGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCB1bm1hc2tlZCA9IHRoaXMuX2N1cnJlbmN5SW5zdGFuY2UuZ2V0VW5tYXNrZWQodGhpcy5jdXJyZW5jeUZvcm0udmFsdWUuY3VycmVuY3lWYWx1ZSk7XG5cbiAgICAgICAgaWYgKHVubWFza2VkID09PSAwICYmIHRoaXMuYWxsb3dFbXB0eVZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHVubWFza2VkO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh1bm1hc2tlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbmN5SW5zdGFuY2UgPSBuZXcgQ3VycmVuY3kodGhpcy5jdXJyZW5jeUVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgbWFza09wdHM6IHtcbiAgICAgICAgZW1wdHk6IHRoaXMuYWxsb3dFbXB0eVZhbHVlIHx8IGZhbHNlLFxuICAgICAgICBsb2NhbGVzOiB0aGlzLmN1cnJlbmN5TG9jYWxlIHx8ICdubC1OTCcsXG4gICAgICAgIGRpZ2l0czogMixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxuICAgICAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q3VycmVuY3kgfHwgJ0VVUicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jdXJyZW5jeUxvY2FsZSB8fCBjaGFuZ2VzLmN1cnJlbmN5Q3VycmVuY3kgfHwgY2hhbmdlcy5hbGxvd0VtcHR5VmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW5jeUxvY2FsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fY3VycmVuY3lJbnN0YW5jZS5vcHRzLm1hc2tPcHRzLmxvY2FsZXMgPSB0aGlzLmN1cnJlbmN5TG9jYWxlO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lDdXJyZW5jeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fY3VycmVuY3lJbnN0YW5jZS5vcHRzLm1hc2tPcHRzLm9wdGlvbnMuY3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5Q3VycmVuY3k7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5hbGxvd0VtcHR5VmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLl9jdXJyZW5jeUluc3RhbmNlLm9wdHMubWFza09wdHMuZW1wdHkgPSB0aGlzLmFsbG93RW1wdHlWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW5jeUZvcm0uc2V0VmFsdWUoe1xuICAgICAgICBjdXJyZW5jeVZhbHVlOlxuICAgICAgICAgIHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8gQ3VycmVuY3kubWFza2luZyh0aGlzLl92YWx1ZSwgdGhpcy5fY3VycmVuY3lJbnN0YW5jZS5vcHRzLm1hc2tPcHRzKVxuICAgICAgICAgICAgOiAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImN1cnJlbmN5Rm9ybS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImN1cnJlbmN5Rm9ybVwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICA8aW5wdXQgI2N1cnJlbmN5RWxlbWVudCBpZD1cImN1cnJlbmN5XCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lWYWx1ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { FormIoCurrencyComponent } from './currency.component';
2
+ import { registerCustomFormioComponent } from '../../../modules';
3
+ import { currencyEditForm } from './currency-edit-form';
4
+ const COMPONENT_OPTIONS = {
5
+ type: 'currency',
6
+ selector: 'valtimo-currency',
7
+ title: 'Currency',
8
+ group: 'basic',
9
+ icon: 'dollar',
10
+ schema: {
11
+ label: 'Currency component',
12
+ key: 'currency',
13
+ hideLabel: false,
14
+ tableView: true,
15
+ validate: {
16
+ required: true,
17
+ },
18
+ },
19
+ editForm: currencyEditForm,
20
+ };
21
+ export function registerFormioCurrencyComponent(injector) {
22
+ registerCustomFormioComponent(COMPONENT_OPTIONS, FormIoCurrencyComponent, injector);
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuZm9ybWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2Zvcm0taW8tY3VycmVuY3kvY3VycmVuY3kuZm9ybWlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBNEIsNkJBQTZCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxNQUFNLGlCQUFpQixHQUE4QjtJQUNuRCxJQUFJLEVBQUUsVUFBVTtJQUNoQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLEtBQUssRUFBRSxVQUFVO0lBQ2pCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUU7UUFDTixLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLEdBQUcsRUFBRSxVQUFVO1FBQ2YsU0FBUyxFQUFFLEtBQUs7UUFDaEIsU0FBUyxFQUFFLElBQUk7UUFDZixRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsSUFBSTtTQUNmO0tBQ0Y7SUFDRCxRQUFRLEVBQUUsZ0JBQWdCO0NBQzNCLENBQUM7QUFFRixNQUFNLFVBQVUsK0JBQStCLENBQUMsUUFBa0I7SUFDaEUsNkJBQTZCLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtSW9DdXJyZW5jeUNvbXBvbmVudH0gZnJvbSAnLi9jdXJyZW5jeS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtaW9DdXN0b21Db21wb25lbnRJbmZvLCByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kdWxlcyc7XG5pbXBvcnQge2N1cnJlbmN5RWRpdEZvcm19IGZyb20gJy4vY3VycmVuY3ktZWRpdC1mb3JtJztcblxuY29uc3QgQ09NUE9ORU5UX09QVElPTlM6IEZvcm1pb0N1c3RvbUNvbXBvbmVudEluZm8gPSB7XG4gIHR5cGU6ICdjdXJyZW5jeScsXG4gIHNlbGVjdG9yOiAndmFsdGltby1jdXJyZW5jeScsXG4gIHRpdGxlOiAnQ3VycmVuY3knLFxuICBncm91cDogJ2Jhc2ljJyxcbiAgaWNvbjogJ2RvbGxhcicsXG4gIHNjaGVtYToge1xuICAgIGxhYmVsOiAnQ3VycmVuY3kgY29tcG9uZW50JyxcbiAgICBrZXk6ICdjdXJyZW5jeScsXG4gICAgaGlkZUxhYmVsOiBmYWxzZSxcbiAgICB0YWJsZVZpZXc6IHRydWUsXG4gICAgdmFsaWRhdGU6IHtcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0sXG4gIH0sXG4gIGVkaXRGb3JtOiBjdXJyZW5jeUVkaXRGb3JtLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRm9ybWlvQ3VycmVuY3lDb21wb25lbnQoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIHJlZ2lzdGVyQ3VzdG9tRm9ybWlvQ29tcG9uZW50KENPTVBPTkVOVF9PUFRJT05TLCBGb3JtSW9DdXJyZW5jeUNvbXBvbmVudCwgaW5qZWN0b3IpO1xufVxuIl19
@@ -34,6 +34,7 @@ import { ReactiveFormsModule } from '@angular/forms';
34
34
  import { FormioValueResolverSelectorComponent } from './formio-value-resolver-selector/formio-value-resolver-selector.component';
35
35
  import { FormioDummyComponent } from './form-io-dummy/dummy.component';
36
36
  import { LayerModule } from 'carbon-components-angular';
37
+ import { FormIoCurrencyComponent } from './form-io-currency/currency.component';
37
38
  import * as i0 from "@angular/core";
38
39
  export class FormIoModule {
39
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -42,6 +43,7 @@ export class FormIoModule {
42
43
  FormIoUploaderComponent,
43
44
  FormIoCurrentUserComponent,
44
45
  FormIoIbanComponent,
46
+ FormIoCurrencyComponent,
45
47
  FormioDummyComponent], imports: [CommonModule,
46
48
  FormioModule,
47
49
  DropzoneModule,
@@ -57,6 +59,7 @@ export class FormIoModule {
57
59
  FormIoUploaderComponent,
58
60
  FormIoCurrentUserComponent,
59
61
  FormIoIbanComponent,
62
+ FormIoCurrencyComponent,
60
63
  FormioDummyComponent] }); }
61
64
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormIoModule, providers: [
62
65
  FormIoDomService,
@@ -99,6 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
99
102
  FormIoUploaderComponent,
100
103
  FormIoCurrentUserComponent,
101
104
  FormIoIbanComponent,
105
+ FormIoCurrencyComponent,
102
106
  FormioDummyComponent,
103
107
  ],
104
108
  exports: [
@@ -107,6 +111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
107
111
  FormIoUploaderComponent,
108
112
  FormIoCurrentUserComponent,
109
113
  FormIoIbanComponent,
114
+ FormIoCurrencyComponent,
110
115
  FormioDummyComponent,
111
116
  ],
112
117
  providers: [
@@ -119,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
119
124
  ],
120
125
  }]
121
126
  }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sMkVBQTJFLENBQUM7QUFDL0gsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQXlDdEQsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLGlCQXhCckIsZUFBZTtZQUNmLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLG1CQUFtQjtZQUNuQixvQkFBb0IsYUFsQnBCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixjQUFjO1lBQ2QsY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9DQUFvQztZQUNwQyxXQUFXLGFBV1gsZUFBZTtZQUNmLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLG1CQUFtQjtZQUNuQixvQkFBb0I7Z0hBV1gsWUFBWSxhQVRaO1lBQ1QsZ0JBQWdCO1lBQ2hCO2dCQUNFLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3JCLFVBQVUsRUFBRSxDQUFDLGFBQTRCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7YUFDdkY7U0FDRixZQW5DQyxZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlO1lBQ2YsY0FBYztZQUNkLGNBQWM7WUFDZCxjQUFjO1lBQ2QsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQ0FBb0M7WUFDcEMsV0FBVzs7NEZBMkJGLFlBQVk7a0JBdkN4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQ0FBb0M7d0JBQ3BDLFdBQVc7cUJBQ1o7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsbUJBQW1CO3dCQUNuQixvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsZ0JBQWdCO3dCQUNoQjs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDOzRCQUNyQixVQUFVLEVBQUUsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO3lCQUN2RjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1pb0NvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0J1aWxkZXJDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby1idWlsZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0FwcENvbmZpZywgRm9ybWlvTW9kdWxlfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtnZXRGb3JtaW9BcHBDb25maWd9IGZyb20gJy4vZm9ybWlvLWNvbmZpZyc7XG5pbXBvcnQge0Zvcm1Jb1VwbG9hZGVyQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8tdXBsb2FkZXIvZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtEcm9wem9uZU1vZHVsZX0gZnJvbSAnLi4vZHJvcHpvbmUvZHJvcHpvbmUubW9kdWxlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnRNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7Rm9ybUlvRG9tU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVNpemVNb2R1bGV9IGZyb20gJy4uL2ZpbGUtc2l6ZS9maWxlLXNpemUubW9kdWxlJztcbmltcG9ydCB7UmVzb3VyY2VNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtGb3JtSW9DdXJyZW50VXNlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLWN1cnJlbnQtdXNlci9mb3JtLWlvLWN1cnJlbnQtdXNlci5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtGb3JtSW9JYmFuQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8taWJhbi9pYmFuLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9ybWlvVmFsdWVSZXNvbHZlclNlbGVjdG9yQ29tcG9uZW50fSBmcm9tICcuL2Zvcm1pby12YWx1ZS1yZXNvbHZlci1zZWxlY3Rvci9mb3JtaW8tdmFsdWUtcmVzb2x2ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWlvRHVtbXlDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby1kdW1teS9kdW1teS5jb21wb25lbnQnO1xuaW1wb3J0IHtMYXllck1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWlvTW9kdWxlLFxuICAgIERyb3B6b25lTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEb2N1bWVudE1vZHVsZSxcbiAgICBGaWxlU2l6ZU1vZHVsZSxcbiAgICBSZXNvdXJjZU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtaW9WYWx1ZVJlc29sdmVyU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTGF5ZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZvcm1pb0NvbXBvbmVudCxcbiAgICBGb3JtaW9CdWlsZGVyQ29tcG9uZW50LFxuICAgIEZvcm1Jb1VwbG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1Jb0N1cnJlbnRVc2VyQ29tcG9uZW50LFxuICAgIEZvcm1Jb0liYW5Db21wb25lbnQsXG4gICAgRm9ybWlvRHVtbXlDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGb3JtaW9Db21wb25lbnQsXG4gICAgRm9ybWlvQnVpbGRlckNvbXBvbmVudCxcbiAgICBGb3JtSW9VcGxvYWRlckNvbXBvbmVudCxcbiAgICBGb3JtSW9DdXJyZW50VXNlckNvbXBvbmVudCxcbiAgICBGb3JtSW9JYmFuQ29tcG9uZW50LFxuICAgIEZvcm1pb0R1bW15Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtSW9Eb21TZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEZvcm1pb0FwcENvbmZpZyxcbiAgICAgIGRlcHM6IFtDb25maWdTZXJ2aWNlXSxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSA9PiBnZXRGb3JtaW9BcHBDb25maWcoY29uZmlnU2VydmljZS5jb25maWcpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Jb01vZHVsZSB7fVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLG9DQUFvQyxFQUFDLE1BQU0sMkVBQTJFLENBQUM7QUFDL0gsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDOztBQTJDOUUsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLGlCQTFCckIsZUFBZTtZQUNmLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsb0JBQW9CLGFBbkJwQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlO1lBQ2YsY0FBYztZQUNkLGNBQWM7WUFDZCxjQUFjO1lBQ2QsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQ0FBb0M7WUFDcEMsV0FBVyxhQVlYLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtnSEFXWCxZQUFZLGFBVFo7WUFDVCxnQkFBZ0I7WUFDaEI7Z0JBQ0UsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDckIsVUFBVSxFQUFFLENBQUMsYUFBNEIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUN2RjtTQUNGLFlBckNDLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixjQUFjO1lBQ2QsY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9DQUFvQztZQUNwQyxXQUFXOzs0RkE2QkYsWUFBWTtrQkF6Q3hCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9DQUFvQzt3QkFDcEMsV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3FCQUNyQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsZ0JBQWdCO3dCQUNoQjs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDOzRCQUNyQixVQUFVLEVBQUUsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO3lCQUN2RjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1pb0NvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0J1aWxkZXJDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby1idWlsZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1pb0FwcENvbmZpZywgRm9ybWlvTW9kdWxlfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtnZXRGb3JtaW9BcHBDb25maWd9IGZyb20gJy4vZm9ybWlvLWNvbmZpZyc7XG5pbXBvcnQge0Zvcm1Jb1VwbG9hZGVyQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8tdXBsb2FkZXIvZm9ybS1pby11cGxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtEcm9wem9uZU1vZHVsZX0gZnJvbSAnLi4vZHJvcHpvbmUvZHJvcHpvbmUubW9kdWxlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnRNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7Rm9ybUlvRG9tU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7RmlsZVNpemVNb2R1bGV9IGZyb20gJy4uL2ZpbGUtc2l6ZS9maWxlLXNpemUubW9kdWxlJztcbmltcG9ydCB7UmVzb3VyY2VNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtGb3JtSW9DdXJyZW50VXNlckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLWlvLWN1cnJlbnQtdXNlci9mb3JtLWlvLWN1cnJlbnQtdXNlci5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtGb3JtSW9JYmFuQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8taWJhbi9pYmFuLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Rm9ybWlvVmFsdWVSZXNvbHZlclNlbGVjdG9yQ29tcG9uZW50fSBmcm9tICcuL2Zvcm1pby12YWx1ZS1yZXNvbHZlci1zZWxlY3Rvci9mb3JtaW8tdmFsdWUtcmVzb2x2ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWlvRHVtbXlDb21wb25lbnR9IGZyb20gJy4vZm9ybS1pby1kdW1teS9kdW1teS5jb21wb25lbnQnO1xuaW1wb3J0IHtMYXllck1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0Zvcm1Jb0N1cnJlbmN5Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0taW8tY3VycmVuY3kvY3VycmVuY3kuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3JtaW9Nb2R1bGUsXG4gICAgRHJvcHpvbmVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERvY3VtZW50TW9kdWxlLFxuICAgIEZpbGVTaXplTW9kdWxlLFxuICAgIFJlc291cmNlTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1pb1ZhbHVlUmVzb2x2ZXJTZWxlY3RvckNvbXBvbmVudCxcbiAgICBMYXllck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRm9ybWlvQ29tcG9uZW50LFxuICAgIEZvcm1pb0J1aWxkZXJDb21wb25lbnQsXG4gICAgRm9ybUlvVXBsb2FkZXJDb21wb25lbnQsXG4gICAgRm9ybUlvQ3VycmVudFVzZXJDb21wb25lbnQsXG4gICAgRm9ybUlvSWJhbkNvbXBvbmVudCxcbiAgICBGb3JtSW9DdXJyZW5jeUNvbXBvbmVudCxcbiAgICBGb3JtaW9EdW1teUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZvcm1pb0NvbXBvbmVudCxcbiAgICBGb3JtaW9CdWlsZGVyQ29tcG9uZW50LFxuICAgIEZvcm1Jb1VwbG9hZGVyQ29tcG9uZW50LFxuICAgIEZvcm1Jb0N1cnJlbnRVc2VyQ29tcG9uZW50LFxuICAgIEZvcm1Jb0liYW5Db21wb25lbnQsXG4gICAgRm9ybUlvQ3VycmVuY3lDb21wb25lbnQsXG4gICAgRm9ybWlvRHVtbXlDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1Jb0RvbVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogRm9ybWlvQXBwQ29uZmlnLFxuICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdLFxuICAgICAgdXNlRmFjdG9yeTogKGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpID0+IGdldEZvcm1pb0FwcENvbmZpZyhjb25maWdTZXJ2aWNlLmNvbmZpZyksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUlvTW9kdWxlIHt9XG4iXX0=
@@ -40,6 +40,7 @@ export class InputComponent {
40
40
  this.smallLabel = false;
41
41
  this.carbonTheme = 'g10';
42
42
  this.placeholder = '';
43
+ this.trim = false;
43
44
  this.valueChange = new EventEmitter();
44
45
  this.inputValue$ = new BehaviorSubject(undefined);
45
46
  this.showPassword$ = new BehaviorSubject(false);
@@ -54,6 +55,9 @@ export class InputComponent {
54
55
  this.openClearSubscription();
55
56
  }
56
57
  onValueChange(value) {
58
+ if (this.trim) {
59
+ value = value?.trim();
60
+ }
57
61
  this.inputValue$.next(value);
58
62
  }
59
63
  ngOnChanges(changes) {
@@ -112,7 +116,7 @@ export class InputComponent {
112
116
  }
113
117
  }
114
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputComponent, selector: "v-input", inputs: { name: "name", type: "type", title: "title", titleTranslationKey: "titleTranslationKey", defaultValue: "defaultValue", widthPx: "widthPx", fullWidth: "fullWidth", margin: "margin", smallMargin: "smallMargin", disabled: "disabled", step: "step", min: "min", maxLength: "maxLength", tooltip: "tooltip", required: "required", hideNumberSpinBox: "hideNumberSpinBox", smallLabel: "smallLabel", rows: "rows", clear$: "clear$", carbonTheme: "carbonTheme", placeholder: "placeholder", dataTestId: "dataTestId" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.full-width": "this.fullWidthClass" } }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-input-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"textInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"textareaInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"passwordInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"numberInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"digitOnlyInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"checkboxInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #textInput>\n <input\n *ngIf=\"isText\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n [ngModel]=\"inputValue$ | async\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n />\n</ng-template>\n\n<ng-template #textareaInput>\n <textarea\n *ngIf=\"isTextarea\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n cdsTextArea\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [rows]=\"rows\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n ></textarea>\n</ng-template>\n\n<ng-template #passwordInput>\n <ng-container *ngIf=\"isPassword\">\n <div\n *ngIf=\"{showPassword: showPassword$ | async} as obs\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n class=\"v-input__password-container\"\n >\n <input\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n }\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n [type]=\"obs.showPassword ? 'text' : 'password'\"\n />\n <div class=\"v-input__password-icon\">\n <v-button\n [mdiIcon]=\"obs.showPassword ? 'eye-off' : 'eye'\"\n type=\"icon-grey-small\"\n (clickEvent)=\"toggleShowPassword()\"\n ></v-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #numberInput>\n <input\n *ngIf=\"isNumber\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n 'v-input--hide-spinbox': hideNumberSpinBox,\n }\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n type=\"number\"\n />\n</ng-template>\n\n<ng-template #digitOnlyInput>\n <input\n *ngIf=\"isDigitOnly\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n cdsText\n digitOnly\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n type=\"text\"\n />\n</ng-template>\n\n<ng-template #checkboxInput>\n <div *ngIf=\"isCheckbox\" (click)=\"stopCheckboxEventPropagation($event)\">\n <cds-checkbox\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n </cds-checkbox>\n </div>\n</ng-template>\n", styles: [".full-width{width:100%}.v-input-container{display:flex;flex-direction:column}.v-input__label{margin:0;font-size:var(--v-input-title-font-size);color:var(--v-input-title-font-color);line-height:var(--v-input-title-line-height);font-weight:var(--v-input-title-font-weight);margin-block-end:var(--v-input-title-margin)}.v-input{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-input:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-input:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-input--full-width{width:100%}.v-input--margin{margin-block-end:var(--v-input-margin)}.v-input--small-margin{margin-block-end:var(--v-input-small-margin)}.v-input__password-container{display:flex;flex-direction:row;align-items:center}.v-input__password-icon{margin-inline-start:var(--v-input-password-icon-spacing)}.v-input--hide-spinbox::-webkit-outer-spin-button,.v-input--hide-spinbox::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spinbox{-moz-appearance:textfield}.v-input--checkbox{width:20px;height:20px;margin-block-end:var(--v-input-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i5.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i6.DigitOnlyDirective, selector: "[digitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputComponent, selector: "v-input", inputs: { name: "name", type: "type", title: "title", titleTranslationKey: "titleTranslationKey", defaultValue: "defaultValue", widthPx: "widthPx", fullWidth: "fullWidth", margin: "margin", smallMargin: "smallMargin", disabled: "disabled", step: "step", min: "min", maxLength: "maxLength", tooltip: "tooltip", required: "required", hideNumberSpinBox: "hideNumberSpinBox", smallLabel: "smallLabel", rows: "rows", clear$: "clear$", carbonTheme: "carbonTheme", placeholder: "placeholder", dataTestId: "dataTestId", trim: "trim" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.full-width": "this.fullWidthClass" } }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-input-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"textInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"textareaInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"passwordInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"numberInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"digitOnlyInput\"></ng-container>\n <ng-container *ngTemplateOutlet=\"checkboxInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #textInput>\n <input\n *ngIf=\"isText\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n [ngModel]=\"inputValue$ | async\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n />\n</ng-template>\n\n<ng-template #textareaInput>\n <textarea\n *ngIf=\"isTextarea\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n cdsTextArea\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [rows]=\"rows\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n ></textarea>\n</ng-template>\n\n<ng-template #passwordInput>\n <ng-container *ngIf=\"isPassword\">\n <div\n *ngIf=\"{showPassword: showPassword$ | async} as obs\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n class=\"v-input__password-container\"\n >\n <input\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n }\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n [type]=\"obs.showPassword ? 'text' : 'password'\"\n />\n <div class=\"v-input__password-icon\">\n <v-button\n [mdiIcon]=\"obs.showPassword ? 'eye-off' : 'eye'\"\n type=\"icon-grey-small\"\n (clickEvent)=\"toggleShowPassword()\"\n ></v-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #numberInput>\n <input\n *ngIf=\"isNumber\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n 'v-input--hide-spinbox': hideNumberSpinBox,\n }\"\n cdsText\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n type=\"number\"\n />\n</ng-template>\n\n<ng-template #digitOnlyInput>\n <input\n *ngIf=\"isDigitOnly\"\n [ngClass]=\"{\n 'v-input--full-width': fullWidthClass,\n 'v-input--margin': margin,\n 'v-input--small-margin': smallMargin,\n }\"\n cdsText\n digitOnly\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [maxLength]=\"maxLength\"\n [min]=\"0\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n [step]=\"step\"\n (ngModelChange)=\"onValueChange($event)\"\n [style.width.px]=\"widthPx\"\n type=\"text\"\n />\n</ng-template>\n\n<ng-template #checkboxInput>\n <div *ngIf=\"isCheckbox\" (click)=\"stopCheckboxEventPropagation($event)\">\n <cds-checkbox\n [attr.data-testid]=\"dataTestId\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [ngModel]=\"inputValue$ | async\"\n (ngModelChange)=\"onValueChange($event)\"\n >\n </cds-checkbox>\n </div>\n</ng-template>\n", styles: [".full-width{width:100%}.v-input-container{display:flex;flex-direction:column}.v-input__label{margin:0;font-size:var(--v-input-title-font-size);color:var(--v-input-title-font-color);line-height:var(--v-input-title-line-height);font-weight:var(--v-input-title-font-weight);margin-block-end:var(--v-input-title-margin)}.v-input{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-input:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-input:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-input--full-width{width:100%}.v-input--margin{margin-block-end:var(--v-input-margin)}.v-input--small-margin{margin-block-end:var(--v-input-small-margin)}.v-input__password-container{display:flex;flex-direction:row;align-items:center}.v-input__password-icon{margin-inline-start:var(--v-input-password-icon-spacing)}.v-input--hide-spinbox::-webkit-outer-spin-button,.v-input--hide-spinbox::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spinbox{-moz-appearance:textfield}.v-input--checkbox{width:20px;height:20px;margin-block-end:var(--v-input-margin)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i5.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i6.DigitOnlyDirective, selector: "[digitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
116
120
  }
117
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputComponent, decorators: [{
118
122
  type: Component,
@@ -164,7 +168,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
164
168
  type: Input
165
169
  }], dataTestId: [{
166
170
  type: Input
171
+ }], trim: [{
172
+ type: Input
167
173
  }], valueChange: [{
168
174
  type: Output
169
175
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGVBQWUsRUFBNEIsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU9yRSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1tQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV4QyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUFjLE1BQU0sQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBS2xCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFHaEIs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LEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBckhVLGNBQWM7bUdBQWQsY0FBYyxvckJDbkMzQixrcEtBaUxBOzs0RkQ5SWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxTQUFTOzhCQUtjLGNBQWM7c0JBQTlDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUVmLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ2MsU0FBUztzQkFBNUIsS0FBSztnQkFHVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLEdBQUc7c0JBQWxCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbnB1dFR5cGV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndi1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnVsbC13aWR0aCcpIGZ1bGxXaWR0aENsYXNzID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IElucHV0VHlwZSA9ICd0ZXh0JztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZVRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0VmFsdWUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoUHghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZnVsbFdpZHRoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5mdWxsV2lkdGhDbGFzcyA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNtYWxsTWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RlcCE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIG1pbiE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDI1MDtcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXAgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlTnVtYmVyU3BpbkJveCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc21hbGxMYWJlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cyE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyJCE6IE9ic2VydmFibGU8bnVsbD47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZSA9ICdnMTAnO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGRhdGFUZXN0SWQ/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGlucHV0VmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIGlzVGV4dCE6IGJvb2xlYW47XG4gIHB1YmxpYyBpc1RleHRhcmVhITogYm9vbGVhbjtcbiAgcHVibGljIGlzTnVtYmVyITogYm9vbGVhbjtcbiAgcHVibGljIGlzUGFzc3dvcmQhOiBib29sZWFuO1xuICBwdWJsaWMgaXNEaWdpdE9ubHkhOiBib29sZWFuO1xuICBwdWJsaWMgaXNDaGVja2JveCE6IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IHNob3dQYXNzd29yZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGNsZWFyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldElucHV0VHlwZSgpO1xuICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKHRoaXMuZGVmYXVsdFZhbHVlKTtcbiAgICB0aGlzLm9wZW5WYWx1ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudERlZmF1bHRWYWx1ZSA9IGNoYW5nZXM/LmRlZmF1bHRWYWx1ZT8uY3VycmVudFZhbHVlO1xuXG4gICAgaWYgKGN1cnJlbnREZWZhdWx0VmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKGN1cnJlbnREZWZhdWx0VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2hvd1Bhc3N3b3JkKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1Bhc3N3b3JkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzaG93UGFzc3dvcmQgPT4ge1xuICAgICAgdGhpcy5zaG93UGFzc3dvcmQkLm5leHQoIXNob3dQYXNzd29yZCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RvcENoZWNrYm94RXZlbnRQcm9wYWdhdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREZWZhdWx0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRWYWx1ZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0VHlwZSgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIHRoaXMuaXNUZXh0ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICAgIHRoaXMuaXNUZXh0YXJlYSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgdGhpcy5pc051bWJlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzc3dvcmQnOlxuICAgICAgICB0aGlzLmlzUGFzc3dvcmQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2RpZ2l0T25seSc6XG4gICAgICAgIHRoaXMuaXNEaWdpdE9ubHkgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcbiAgICAgICAgdGhpcy5pc0NoZWNrYm94ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuVmFsdWVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlJC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsZWFyJCkge1xuICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbiA9IHRoaXMuY2xlYXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSgnJyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cInYtaW5wdXQtY29udGFpbmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRpdGxlXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0SW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRhcmVhSW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBhc3N3b3JkSW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm51bWJlcklucHV0XCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaWdpdE9ubHlJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tib3hJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRUaXRsZT5cbiAgPHYtaW5wdXQtbGFiZWxcbiAgICAqbmdJZj1cInRpdGxlIHx8IHRpdGxlVHJhbnNsYXRpb25LZXlcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3NtYWxsXT1cInNtYWxsTGFiZWxcIlxuICAgIFt0aXRsZVRyYW5zbGF0aW9uS2V5XT1cInRpdGxlVHJhbnNsYXRpb25LZXlcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gID5cbiAgPC92LWlucHV0LWxhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZXh0SW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiaXNUZXh0XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndi1pbnB1dC0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aENsYXNzLFxuICAgICAgJ3YtaW5wdXQtLW1hcmdpbic6IG1hcmdpbixcbiAgICAgICd2LWlucHV0LS1zbWFsbC1tYXJnaW4nOiBzbWFsbE1hcmdpbixcbiAgICB9XCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICBjZHNUZXh0XG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZGF0YVRlc3RJZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgW21pbl09XCIwXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGV4dGFyZWFJbnB1dD5cbiAgPHRleHRhcmVhXG4gICAgKm5nSWY9XCJpc1RleHRhcmVhXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndi1pbnB1dC0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aENsYXNzLFxuICAgICAgJ3YtaW5wdXQtLW1hcmdpbic6IG1hcmdpbixcbiAgICAgICd2LWlucHV0LS1zbWFsbC1tYXJnaW4nOiBzbWFsbE1hcmdpbixcbiAgICB9XCJcbiAgICBjZHNUZXh0QXJlYVxuICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImRhdGFUZXN0SWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZSQgfCBhc3luY1wiXG4gICAgW3Jvd3NdPVwicm93c1wiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhQeFwiXG4gID48L3RleHRhcmVhPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwYXNzd29yZElucHV0PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQYXNzd29yZFwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwie3Nob3dQYXNzd29yZDogc2hvd1Bhc3N3b3JkJCB8IGFzeW5jfSBhcyBvYnNcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndi1pbnB1dC0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aENsYXNzLFxuICAgICAgICAndi1pbnB1dC0tbWFyZ2luJzogbWFyZ2luLFxuICAgICAgICAndi1pbnB1dC0tc21hbGwtbWFyZ2luJzogc21hbGxNYXJnaW4sXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwidi1pbnB1dF9fcGFzc3dvcmQtY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAgIH1cIlxuICAgICAgICBjZHNUZXh0XG4gICAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImRhdGFUZXN0SWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgIFttaW5dPVwiMFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4XCJcbiAgICAgICAgW3R5cGVdPVwib2JzLnNob3dQYXNzd29yZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2LWlucHV0X19wYXNzd29yZC1pY29uXCI+XG4gICAgICAgIDx2LWJ1dHRvblxuICAgICAgICAgIFttZGlJY29uXT1cIm9icy5zaG93UGFzc3dvcmQgPyAnZXllLW9mZicgOiAnZXllJ1wiXG4gICAgICAgICAgdHlwZT1cImljb24tZ3JleS1zbWFsbFwiXG4gICAgICAgICAgKGNsaWNrRXZlbnQpPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKClcIlxuICAgICAgICA+PC92LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbnVtYmVySW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiaXNOdW1iZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAndi1pbnB1dC0tbWFyZ2luJzogbWFyZ2luLFxuICAgICAgJ3YtaW5wdXQtLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2luLFxuICAgICAgJ3YtaW5wdXQtLWhpZGUtc3BpbmJveCc6IGhpZGVOdW1iZXJTcGluQm94LFxuICAgIH1cIlxuICAgIGNkc1RleHRcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJkYXRhVGVzdElkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZSQgfCBhc3luY1wiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhQeFwiXG4gICAgdHlwZT1cIm51bWJlclwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RpZ2l0T25seUlucHV0PlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImlzRGlnaXRPbmx5XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndi1pbnB1dC0tZnVsbC13aWR0aCc6IGZ1bGxXaWR0aENsYXNzLFxuICAgICAgJ3YtaW5wdXQtLW1hcmdpbic6IG1hcmdpbixcbiAgICAgICd2LWlucHV0LS1zbWFsbC1tYXJnaW4nOiBzbWFsbE1hcmdpbixcbiAgICB9XCJcbiAgICBjZHNUZXh0XG4gICAgZGlnaXRPbmx5XG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZGF0YVRlc3RJZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgW21pbl09XCIwXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4XCJcbiAgICB0eXBlPVwidGV4dFwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoZWNrYm94SW5wdXQ+XG4gIDxkaXYgKm5nSWY9XCJpc0NoZWNrYm94XCIgKGNsaWNrKT1cInN0b3BDaGVja2JveEV2ZW50UHJvcGFnYXRpb24oJGV2ZW50KVwiPlxuICAgIDxjZHMtY2hlY2tib3hcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImRhdGFUZXN0SWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZSQgfCBhc3luY1wiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L2Nkcy1jaGVja2JveD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGVBQWUsRUFBNEIsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU9yRSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1tQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV4QyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUFjLE1BQU0sQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBS2xCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUVyQixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQU0sU0FBUyxDQUFDLENBQUM7UUFTekMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztLQWtGckU7SUFqSEMsSUFBb0IsU0FBUyxDQUFDLEtBQWM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQWtDTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBVTtRQUM3QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLEtBQUssR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztRQUVoRSxJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sNEJBQTRCLENBQUMsS0FBaUI7UUFDbkQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVTtRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sWUFBWTtRQUNsQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytHQXpIVSxjQUFjO21HQUFkLGNBQWMsa3NCQ25DM0Isa3BLQWlMQTs7NEZEOUlhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsU0FBUzs4QkFLYyxjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFZixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNjLFNBQVM7c0JBQTVCLEtBQUs7Z0JBR1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbnB1dFR5cGV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndi1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnVsbC13aWR0aCcpIGZ1bGxXaWR0aENsYXNzID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IElucHV0VHlwZSA9ICd0ZXh0JztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZVRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0VmFsdWUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoUHghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZnVsbFdpZHRoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5mdWxsV2lkdGhDbGFzcyA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNtYWxsTWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RlcCE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIG1pbiE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aCA9IDI1MDtcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXAgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlTnVtYmVyU3BpbkJveCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc21hbGxMYWJlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cyE6IG51bWJlcjtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyJCE6IE9ic2VydmFibGU8bnVsbD47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZSA9ICdnMTAnO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGRhdGFUZXN0SWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0cmltOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGlucHV0VmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIGlzVGV4dCE6IGJvb2xlYW47XG4gIHB1YmxpYyBpc1RleHRhcmVhITogYm9vbGVhbjtcbiAgcHVibGljIGlzTnVtYmVyITogYm9vbGVhbjtcbiAgcHVibGljIGlzUGFzc3dvcmQhOiBib29sZWFuO1xuICBwdWJsaWMgaXNEaWdpdE9ubHkhOiBib29sZWFuO1xuICBwdWJsaWMgaXNDaGVja2JveCE6IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IHNob3dQYXNzd29yZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGNsZWFyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldElucHV0VHlwZSgpO1xuICAgIHRoaXMuc2V0RGVmYXVsdFZhbHVlKHRoaXMuZGVmYXVsdFZhbHVlKTtcbiAgICB0aGlzLm9wZW5WYWx1ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHJpbSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZT8udHJpbSgpO1xuICAgIH1cbiAgICB0aGlzLmlucHV0VmFsdWUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RGVmYXVsdFZhbHVlID0gY2hhbmdlcz8uZGVmYXVsdFZhbHVlPy5jdXJyZW50VmFsdWU7XG5cbiAgICBpZiAoY3VycmVudERlZmF1bHRWYWx1ZSkge1xuICAgICAgdGhpcy5zZXREZWZhdWx0VmFsdWUoY3VycmVudERlZmF1bHRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTaG93UGFzc3dvcmQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UGFzc3dvcmQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHNob3dQYXNzd29yZCA9PiB7XG4gICAgICB0aGlzLnNob3dQYXNzd29yZCQubmV4dCghc2hvd1Bhc3N3b3JkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wQ2hlY2tib3hFdmVudFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRUeXBlKCk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgdGhpcy5pc1RleHQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgdGhpcy5pc1RleHRhcmVhID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICB0aGlzLmlzTnVtYmVyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwYXNzd29yZCc6XG4gICAgICAgIHRoaXMuaXNQYXNzd29yZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlnaXRPbmx5JzpcbiAgICAgICAgdGhpcy5pc0RpZ2l0T25seSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2hlY2tib3gnOlxuICAgICAgICB0aGlzLmlzQ2hlY2tib3ggPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5WYWx1ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VmFsdWUkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQ2xlYXJTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xlYXIkKSB7XG4gICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uID0gdGhpcy5jbGVhciQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlKCcnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2IGNsYXNzPVwidi1pbnB1dC1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dGFyZWFJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFzc3dvcmRJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibnVtYmVySW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpZ2l0T25seUlucHV0XCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja2JveElucHV0XCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFRpdGxlPlxuICA8di1pbnB1dC1sYWJlbFxuICAgICpuZ0lmPVwidGl0bGUgfHwgdGl0bGVUcmFuc2xhdGlvbktleVwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbc21hbGxdPVwic21hbGxMYWJlbFwiXG4gICAgW3RpdGxlVHJhbnNsYXRpb25LZXldPVwidGl0bGVUcmFuc2xhdGlvbktleVwiXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgPlxuICA8L3YtaW5wdXQtbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RleHRJbnB1dD5cbiAgPGlucHV0XG4gICAgKm5nSWY9XCJpc1RleHRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAndi1pbnB1dC0tbWFyZ2luJzogbWFyZ2luLFxuICAgICAgJ3YtaW5wdXQtLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2luLFxuICAgIH1cIlxuICAgIFtuZ01vZGVsXT1cImlucHV0VmFsdWUkIHwgYXN5bmNcIlxuICAgIGNkc1RleHRcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJkYXRhVGVzdElkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbbWluXT1cIjBcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoUHhcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgdHlwZT1cInRleHRcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZXh0YXJlYUlucHV0PlxuICA8dGV4dGFyZWFcbiAgICAqbmdJZj1cImlzVGV4dGFyZWFcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAndi1pbnB1dC0tbWFyZ2luJzogbWFyZ2luLFxuICAgICAgJ3YtaW5wdXQtLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2luLFxuICAgIH1cIlxuICAgIGNkc1RleHRBcmVhXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZGF0YVRlc3RJZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4XCJcbiAgPjwvdGV4dGFyZWE+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3Bhc3N3b3JkSW5wdXQ+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Bhc3N3b3JkXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJ7c2hvd1Bhc3N3b3JkOiBzaG93UGFzc3dvcmQkIHwgYXN5bmN9IGFzIG9ic1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAgICd2LWlucHV0LS1tYXJnaW4nOiBtYXJnaW4sXG4gICAgICAgICd2LWlucHV0LS1zbWFsbC1tYXJnaW4nOiBzbWFsbE1hcmdpbixcbiAgICAgIH1cIlxuICAgICAgY2xhc3M9XCJ2LWlucHV0X19wYXNzd29yZC1jb250YWluZXJcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3YtaW5wdXQtLWZ1bGwtd2lkdGgnOiBmdWxsV2lkdGhDbGFzcyxcbiAgICAgICAgfVwiXG4gICAgICAgIGNkc1RleHRcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZGF0YVRlc3RJZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImlucHV0VmFsdWUkIHwgYXN5bmNcIlxuICAgICAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoUHhcIlxuICAgICAgICBbdHlwZV09XCJvYnMuc2hvd1Bhc3N3b3JkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzcz1cInYtaW5wdXRfX3Bhc3N3b3JkLWljb25cIj5cbiAgICAgICAgPHYtYnV0dG9uXG4gICAgICAgICAgW21kaUljb25dPVwib2JzLnNob3dQYXNzd29yZCA/ICdleWUtb2ZmJyA6ICdleWUnXCJcbiAgICAgICAgICB0eXBlPVwiaWNvbi1ncmV5LXNtYWxsXCJcbiAgICAgICAgICAoY2xpY2tFdmVudCk9XCJ0b2dnbGVTaG93UGFzc3dvcmQoKVwiXG4gICAgICAgID48L3YtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNudW1iZXJJbnB1dD5cbiAgPGlucHV0XG4gICAgKm5nSWY9XCJpc051bWJlclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3YtaW5wdXQtLWZ1bGwtd2lkdGgnOiBmdWxsV2lkdGhDbGFzcyxcbiAgICAgICd2LWlucHV0LS1tYXJnaW4nOiBtYXJnaW4sXG4gICAgICAndi1pbnB1dC0tc21hbGwtbWFyZ2luJzogc21hbGxNYXJnaW4sXG4gICAgICAndi1pbnB1dC0taGlkZS1zcGluYm94JzogaGlkZU51bWJlclNwaW5Cb3gsXG4gICAgfVwiXG4gICAgY2RzVGV4dFxuICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImRhdGFUZXN0SWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICBbc3RlcF09XCJzdGVwXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4XCJcbiAgICB0eXBlPVwibnVtYmVyXCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGlnaXRPbmx5SW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiaXNEaWdpdE9ubHlcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2LWlucHV0LS1mdWxsLXdpZHRoJzogZnVsbFdpZHRoQ2xhc3MsXG4gICAgICAndi1pbnB1dC0tbWFyZ2luJzogbWFyZ2luLFxuICAgICAgJ3YtaW5wdXQtLXNtYWxsLW1hcmdpbic6IHNtYWxsTWFyZ2luLFxuICAgIH1cIlxuICAgIGNkc1RleHRcbiAgICBkaWdpdE9ubHlcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJkYXRhVGVzdElkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbbWluXT1cIjBcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtuZ01vZGVsXT1cImlucHV0VmFsdWUkIHwgYXN5bmNcIlxuICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoUHhcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hlY2tib3hJbnB1dD5cbiAgPGRpdiAqbmdJZj1cImlzQ2hlY2tib3hcIiAoY2xpY2spPVwic3RvcENoZWNrYm94RXZlbnRQcm9wYWdhdGlvbigkZXZlbnQpXCI+XG4gICAgPGNkcy1jaGVja2JveFxuICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZGF0YVRlc3RJZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlJCB8IGFzeW5jXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvY2RzLWNoZWNrYm94PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=