@joster-dev/chaos-control 0.2.0 → 0.3.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 (73) hide show
  1. package/README.md +86 -86
  2. package/fesm2022/joster-dev-chaos-control.mjs +380 -742
  3. package/fesm2022/joster-dev-chaos-control.mjs.map +1 -1
  4. package/{lib/LICENSE → lib} +9 -9
  5. package/package.json +6 -7
  6. package/src/lib/scss/all.scss +7 -0
  7. package/src/lib/scss/card.scss +78 -0
  8. package/src/lib/scss/control.scss +49 -0
  9. package/src/lib/scss/reboot.scss +13 -0
  10. package/src/lib/scss/utility.scss +179 -0
  11. package/src/lib/scss/variables.scss +7 -0
  12. package/src/lib/styles.scss +28 -28
  13. package/types/joster-dev-chaos-control.d.ts +243 -0
  14. package/esm2022/joster-dev-chaos-control.mjs +0 -5
  15. package/esm2022/lib/chaos-control.module.mjs +0 -77
  16. package/esm2022/lib/chaos-control.service.mjs +0 -14
  17. package/esm2022/lib/components/busy/busy.component.mjs +0 -11
  18. package/esm2022/lib/components/choice/choice.component.mjs +0 -53
  19. package/esm2022/lib/components/color/color.component.mjs +0 -78
  20. package/esm2022/lib/components/file/file.component.mjs +0 -135
  21. package/esm2022/lib/components/icon/icon.component.mjs +0 -117
  22. package/esm2022/lib/components/icon-stack/icon-stack.component.mjs +0 -29
  23. package/esm2022/lib/components/index.mjs +0 -11
  24. package/esm2022/lib/components/number/number.component.mjs +0 -135
  25. package/esm2022/lib/components/readonly/readonly.component.mjs +0 -14
  26. package/esm2022/lib/components/select/select.component.mjs +0 -99
  27. package/esm2022/lib/components/text/text.component.mjs +0 -162
  28. package/esm2022/lib/directives/border-radius.directive.mjs +0 -41
  29. package/esm2022/lib/directives/busy.directive.mjs +0 -71
  30. package/esm2022/lib/directives/control.directive.mjs +0 -46
  31. package/esm2022/lib/directives/index.mjs +0 -6
  32. package/esm2022/lib/directives/item.directive.mjs +0 -117
  33. package/esm2022/lib/directives/size.directive.mjs +0 -38
  34. package/esm2022/lib/models/icon-types.const.mjs +0 -33
  35. package/esm2022/lib/models/icon.type.mjs +0 -2
  36. package/esm2022/lib/models/index.mjs +0 -9
  37. package/esm2022/lib/models/is-item.function.mjs +0 -8
  38. package/esm2022/lib/models/is-items.function.mjs +0 -5
  39. package/esm2022/lib/models/is-number.function.mjs +0 -5
  40. package/esm2022/lib/models/is-primitive.function.mjs +0 -7
  41. package/esm2022/lib/models/item.interface.mjs +0 -2
  42. package/esm2022/lib/models/primitive.type.mjs +0 -2
  43. package/esm2022/public-api.mjs +0 -7
  44. package/index.d.ts +0 -5
  45. package/lib/chaos-control.module.d.ts +0 -23
  46. package/lib/chaos-control.service.d.ts +0 -6
  47. package/lib/components/busy/busy.component.d.ts +0 -5
  48. package/lib/components/choice/choice.component.d.ts +0 -15
  49. package/lib/components/color/color.component.d.ts +0 -22
  50. package/lib/components/file/file.component.d.ts +0 -32
  51. package/lib/components/icon/icon.component.d.ts +0 -31
  52. package/lib/components/icon-stack/icon-stack.component.d.ts +0 -9
  53. package/lib/components/index.d.ts +0 -10
  54. package/lib/components/number/number.component.d.ts +0 -33
  55. package/lib/components/readonly/readonly.component.d.ts +0 -8
  56. package/lib/components/select/select.component.d.ts +0 -28
  57. package/lib/components/text/text.component.d.ts +0 -41
  58. package/lib/directives/border-radius.directive.d.ts +0 -12
  59. package/lib/directives/busy.directive.d.ts +0 -20
  60. package/lib/directives/control.directive.d.ts +0 -18
  61. package/lib/directives/index.d.ts +0 -5
  62. package/lib/directives/item.directive.d.ts +0 -36
  63. package/lib/directives/size.directive.d.ts +0 -12
  64. package/lib/models/icon-types.const.d.ts +0 -1
  65. package/lib/models/icon.type.d.ts +0 -2
  66. package/lib/models/index.d.ts +0 -8
  67. package/lib/models/is-item.function.d.ts +0 -2
  68. package/lib/models/is-items.function.d.ts +0 -2
  69. package/lib/models/is-number.function.d.ts +0 -1
  70. package/lib/models/is-primitive.function.d.ts +0 -2
  71. package/lib/models/item.interface.d.ts +0 -6
  72. package/lib/models/primitive.type.d.ts +0 -1
  73. package/public-api.d.ts +0 -5
@@ -1,117 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { SizeDirective } from '../../directives/size.directive';
3
- import { iconTypes } from '../../models';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class IconComponent extends SizeDirective {
7
- get type() {
8
- return this._type;
9
- }
10
- set type(value) {
11
- if (typeof value === 'string')
12
- value = value.toLowerCase().trim();
13
- if (!iconTypes.includes(value))
14
- throw new Error(`expected [type] to be: ${iconTypes.join(' | ')}`);
15
- this._type = value;
16
- }
17
- get fill() {
18
- return this._fill;
19
- }
20
- set fill(value) {
21
- if (typeof value === 'string')
22
- value = [value];
23
- if (value === null || value === undefined)
24
- value = [null];
25
- if (!Array.isArray(value) || !value.every(item => item === null || typeof item === 'string'))
26
- throw new Error('expected [fill] to be: string | null | (string | null)[]');
27
- this._fill = value;
28
- }
29
- get fillRotate() {
30
- return this._fillRotate;
31
- }
32
- set fillRotate(value) {
33
- if (typeof value === 'string')
34
- value = Number(value);
35
- if (typeof value !== 'number')
36
- throw new Error('expected [fillRotate] to be: string | number');
37
- this._fillRotate = value;
38
- }
39
- get fillOpacity() {
40
- return this._fillOpacity;
41
- }
42
- set fillOpacity(value) {
43
- if (typeof value !== 'number' || value < 0)
44
- throw new Error('expected [fillOpacity] to be: number >= 0');
45
- this._fillOpacity = value;
46
- }
47
- get stroke() {
48
- return this._stroke;
49
- }
50
- set stroke(value) {
51
- if (typeof value === 'string')
52
- value = [value];
53
- if (value === null || value === undefined)
54
- value = [null];
55
- if (!Array.isArray(value) || !value.every(item => item === null || typeof item === 'string'))
56
- throw new Error('expected [stroke] to be: string | null | (string | null)[]');
57
- this._stroke = value;
58
- }
59
- get strokeRotate() {
60
- return this._strokeRotate;
61
- }
62
- set strokeRotate(value) {
63
- if (typeof value === 'string')
64
- value = Number(value);
65
- if (typeof value !== 'number')
66
- throw new Error('expected [strokeRotate] to be: string | number');
67
- this._strokeRotate = value;
68
- }
69
- constructor() {
70
- super();
71
- this._fill = [null];
72
- this._fillRotate = 0;
73
- this._fillOpacity = 1;
74
- this._stroke = ['current'];
75
- this._strokeRotate = 0;
76
- this.spin = null;
77
- this.id = `${Math.random().toString(36).substring(2, 13)}`;
78
- }
79
- linearGradientStopColor(item) {
80
- if (item === 'current')
81
- return 'currentColor';
82
- return item === null
83
- ? ''
84
- : `#${item}`;
85
- }
86
- linearGradientStopOpacity(item) {
87
- return item === null
88
- ? 0
89
- : 1;
90
- }
91
- linearGradientStopOffset(index, items) {
92
- if (items.length === 1)
93
- return '0%';
94
- return `${100 - (((items.length - 1 - index) / (items.length - 1)) * 100)}%`;
95
- }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: IconComponent, selector: "icon[type]", inputs: { type: "type", fill: "fill", fillRotate: "fillRotate", fillOpacity: "fillOpacity", stroke: "stroke", strokeRotate: "strokeRotate", spin: "spin" }, usesInheritance: true, ngImport: i0, template: "<svg\r\n attr.height=\"{{size}}\"\r\n attr.width=\"{{size}}\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n [class.spin-x]=\"spin === 'x'\"\r\n [class.spin-y]=\"spin === 'y'\"\r\n [class.spin-z]=\"spin === 'z'\"\r\n>\r\n <linearGradient\r\n id=\"fill-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_fillRotate}}) translate({{(_fillRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _fill; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _fill)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n [attr.stop-opacity]=\"linearGradientStopOpacity(item)\"\r\n />\r\n </linearGradient>\r\n <linearGradient\r\n id=\"stroke-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_strokeRotate}}) translate({{(_strokeRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _stroke; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _stroke)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n />\r\n </linearGradient>\r\n <circle\r\n *ngIf=\"type === 'circle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"47.5\"\r\n />\r\n <circle\r\n *ngIf=\"type === 'dot'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"30\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ring'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M50,2.5C23.767,2.5,2.5,23.767,2.5,50S23.767,97.5,50,97.5S97.5,76.233,97.5,50S76.233,2.5,50,2.5z M50,80c-16.568,0-30-13.432-30-30c0-16.568,13.432-30,30-30s30,13.432,30,30C80,66.568,66.568,80,50,80z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'square'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'squircle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n rx=\"15\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'minus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"37.5\"\r\n width=\"95\"\r\n height=\"25\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'check'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96.465,27.488 82.322,13.347,37.257,58.367 17.675,38.785 3.535,52.928 37.259,86.652\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'times'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"64.143,50 96.465,17.678 82.323,3.535,50,35.857 17.678,3.535 3.535,17.676 35.858,50 3.535,82.323 17.678,96.465 50.001,64.142 82.323,96.465 96.465,82.322\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'plus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"97.5,37.5 62.5,37.5 62.5,2.5 37.5,2.5 37.5,37.5 2.5,37.5 2.5,62.5 37.5,62.5 37.5,97.5 62.5,97.5 62.5,62.5 97.5,62.5\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'row'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96,50 66.5,20 66.5,37.5 33.5,37.5 33.5,20 4,50 33.5,80 33.5,62.5 66.5,62.5 66.5,80\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'column'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"62.5,33.535 80,33.535 50,3.535 20,33.535 37.5,33.535 37.5,66.465 20,66.465 50,96.465 80,66.465 62.5,66.465\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'flag'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"93,33.86 22.5,7.368 22.5,2.5 2.5,2.5 2.5,97.5 22.5,97.5 22.5,59.915\"\r\n />\r\n <path\r\n *ngIf=\"type === 'gear'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M96.35,39.625C95.178,34.369,93.14,29.44,90.385,25H80l-5-5V9.618C70.554,6.859,65.617,4.82,60.353,3.65L56.61,7.761L50,15.022l-6.61-7.261L39.647,3.65C34.382,4.82,29.447,6.859,25,9.618V20l-5,5H9.615C6.86,29.44,4.822,34.369,3.65,39.625l4.165,3.764L15.132,50l-7.316,6.61L3.65,60.375C4.822,65.631,6.86,70.56,9.615,75H20l5,5v10.382c4.441,2.755,9.371,4.793,14.628,5.964l3.761-4.162L50,84.867l6.61,7.316l3.761,4.162c5.258-1.171,10.188-3.209,14.629-5.964V80l5-5h10.385c2.755-4.44,4.793-9.369,5.965-14.625l-4.165-3.765L84.869,50l7.315-6.611L96.35,39.625z M50,72.5c-12.427,0-22.5-10.073-22.5-22.5c0-12.426,10.073-22.5,22.5-22.5S72.5,37.574,72.5,50C72.5,62.427,62.427,72.5,50,72.5z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'star'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,9.91 62.022,38.363 92.798,41.005\r\n69.453,61.23 76.45,91.316 50,75.364 23.55,91.315 30.547,61.23 7.203,41.005 37.978,38.363 \"\r\n />\r\n <!-- start user -->\r\n <circle\r\n *ngIf=\"type === 'user'\"\r\n fill=\"#FFFFFF\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"27.5\"\r\n r=\"25\"\r\n />\r\n <path\r\n *ngIf=\"type === 'user'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M86.6,52.5H71.646 C67.324,59.971,59.252,65,50,65s-17.324-5.029-21.646-12.5H14.4c-6.297,0-11.9,5.373-11.9,12v33h95v-33 C97.5,57.873,92.896,52.5,86.6,52.5z\"\r\n />\r\n <!-- end user -->\r\n <path\r\n *ngIf=\"type === 'bomb'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M93.634,34.651c4.687-4.686,5.182-11.789,1.107-15.863L81.213,5.261c-4.074-4.076-11.178-3.58-15.863,1.105l-1.252,1.252C59.294,5.929,54.132,5,48.75,5C23.207,5,2.5,25.707,2.5,51.25S23.207,97.5,48.75,97.5S95,76.793,95,51.25c0-5.381-0.929-10.543-2.618-15.347L93.634,34.651z M70.4,64.681l-12.009-1.009l-1.091,12.001l-8.551-8.492l-8.55,8.492l-1.091-12.001L27.1,64.681l6.878-9.896L24.13,47.84l11.63-3.159l-3.08-11.65l10.939,5.056l5.13-10.905l5.131,10.905L64.82,33.03l-3.08,11.65l11.63,3.159l-9.849,6.945L70.4,64.681z\"\r\n />\r\n <!-- start refresh -->\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,80c-9.186,0-17.391-4.141-22.893-10.643L37.5,58.965h-35v35l12.204-12.204C23.395,91.42,35.982,97.5,50,97.5c26.232,0,47.5-21.268,47.5-47.5H80C80,66.568,66.568,80,50,80z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85.296,18.24C76.605,8.58,64.018,2.5,50,2.5C23.768,2.5,2.5,23.768,2.5,50H20c0-16.568,13.432-30,30-30c9.186,0,17.393,4.141,22.893,10.643L62.5,41.036h35v-35L85.296,18.24z\"\r\n />\r\n <!-- end refresh -->\r\n <polygon\r\n *ngIf=\"type === 'ascend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,3.841 20,38.842 80,38.842\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'descend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,96.158 20,61.158 80,61.158\"\r\n />\r\n <path\r\n *ngIf=\"type === 'search'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M96.465,87.627L70.56,61.721C74.924,55.591,77.5,48.099,77.5,40C77.5,19.29,60.711,2.5,40,2.5C19.29,2.5,2.5,19.29,2.5,40c0,20.711,16.79,37.5,37.5,37.5c8.098,0,15.591-2.575,21.72-6.94l25.906,25.905L96.465,87.627z M40,65c-13.807,0-25-11.192-25-25c0-13.807,11.193-25,25-25c13.808,0,25,11.193,25,25C65,53.808,53.808,65,40,65z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'crown'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M95,22.5c0-4.143-3.357-7.5-7.5-7.5\r\n\tS80,18.357,80,22.5c0,2.145,0.904,4.073,2.347,5.44L67.673,66.273l-13.37-50.136C56.234,14.781,57.5,12.54,57.5,10\r\n\tc0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5c0,2.54,1.266,4.78,3.197,6.137l-13.37,50.136L17.654,27.939\r\n\tC19.096,26.573,20,24.644,20,22.5c0-4.143-3.357-7.5-7.5-7.5S5,18.357,5,22.5c0,3.673,2.642,6.724,6.128,7.369L14.857,72.5H12.5v15\r\n\tH10v10h80v-10h-2.5v-15h-2.356l3.729-42.631C92.358,29.223,95,26.173,95,22.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ogre'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M82.5,5.721c0,0,5,5,5,15s-10,10-10,10h-3.519\r\n\tC72.018,28.728,69.393,27.5,66.5,27.5h-33c-2.894,0-5.518,1.228-7.481,3.221H22.5c0,0-10,0-10-10s5-15,5-15s-15,5-15,20\r\n\tc0,13.263,7.821,22.61,20,24.6V60.5c0,6.583,4.861,11.923,10.881,11.993C33.869,79.732,35,87.834,35,90c0,4.143,3.357,7.5,7.5,7.5\r\n\th15c4.143,0,7.5-3.357,7.5-7.5c0-2.166,1.131-10.268,1.62-17.507c6.019-0.07,10.88-5.41,10.88-11.993V50.32\r\n\tc12.179-1.989,20-11.337,20-24.6C97.5,10.721,82.5,5.721,82.5,5.721z M37.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5\r\n\ts7.5,3.357,7.5,7.5S41.643,65,37.5,65z M62.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5s7.5,3.357,7.5,7.5S66.643,65,62.5,65\r\n\tz\"\r\n />\r\n <path\r\n *ngIf=\"type === 'folder'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M42.503,10.5c-9.836,0-28.103,0-28.103,0\r\n\tc-6.296,0-11.9,5.373-11.9,12v56c0,6.627,5.604,12,11.9,12h72.2c6.296,0,10.9-5.373,10.9-12c0,0,0-37.406,0-44\r\n\ts-4.467-11.989-10.9-12s-33.807,0-33.807,0S52.339,10.5,42.503,10.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'chevron'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M 81.371204,80.734189 96.459378,65.734039 50.000001,19.268573 3.5406224,65.734039 18.628797,80.734189 50.000001,49.268874 Z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ankh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85,60l-5-15H60.938\r\n\tC65.605,36.781,70,27.677,70,22.5c0-11.046-8.955-20-20-20c-11.046,0-20,8.954-20,20c0,5.177,4.394,14.281,9.062,22.5H19.999L15,60\r\n\tl28.965-4.138L40,97.5h20l-3.967-41.638L85,60z M49.999,12.551c5.524,0,10.001,4.478,10.001,10c0,5.523-10.001,20-10.001,20\r\n\ts-10-14.477-10-20C40,17.028,44.477,12.551,49.999,12.551z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'sun'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n points=\"50.001,5.864 57.541,21.864\r\n\t72.068,11.778 70.6,29.403 88.224,27.933 78.14,42.461 94.137,50 78.14,57.541 88.224,72.07 70.6,70.6 72.068,88.225 57.541,78.141\r\n\t50.001,94.137 42.461,78.141 27.933,88.225 29.403,70.6 11.777,72.07 21.863,57.541 5.864,50 21.863,42.461 11.777,27.933\r\n\t29.403,29.403 27.933,11.778 42.461,21.864 \"\r\n />\r\n <path\r\n *ngIf=\"type === 'moon'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M90.029,62.626\r\n\tc-14.54,14.54-38.115,14.539-52.654,0c-14.54-14.54-14.54-38.114,0-52.654c2.739-2.74,5.802-4.963,9.061-6.67\r\n\tC35.463,4.049,24.701,8.604,16.313,16.991c-18.417,18.418-18.417,48.278,0,66.696c18.417,18.416,48.278,18.416,66.694,0\r\n\tc8.389-8.389,12.942-19.149,13.69-30.123C94.989,56.825,92.768,59.886,90.029,62.626z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"22.5\"\r\n y=\"22.5\"\r\n fill=\"none\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n stroke-dasharray=\"13.25 5.5\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <path\r\n *ngIf=\"type === 'amphora'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M92.5,28c0-11.046-7.835-20-17.5-20\r\n\tc-3.586,0-6.917,1.237-9.691,3.352c0.025-0.749,0.084-1.409,0.191-1.852c0.471-1.918,3.5-7,3.5-7H31c0,0,3.03,5.082,3.5,7\r\n\tc0.108,0.442,0.166,1.103,0.192,1.852C31.917,9.237,28.586,8,25,8C15.335,8,7.5,16.954,7.5,28c0,7.019,3.17,13.182,7.956,16.751\r\n\tC15.165,46.438,15,48.187,15,50c0,13.744,18.5,40.5,18.5,40.5l-2.5,7h38l-2.5-7c0,0,18.5-26.756,18.5-40.5\r\n\tc0-1.813-0.164-3.563-0.456-5.249C89.33,41.182,92.5,35.019,92.5,28z M15,28c0-6.903,4.478-12.5,10-12.5\r\n\tc2.789,0,5.309,1.43,7.122,3.732c-3.582,2.808-10.347,8.93-14.215,17.577C16.111,34.549,15,31.437,15,28z M82.093,36.809\r\n\tc-3.866-8.647-10.634-14.769-14.215-17.577C69.691,16.93,72.211,15.5,75,15.5c5.521,0,10,5.597,10,12.5\r\n\tC85,31.437,83.889,34.549,82.093,36.809z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'speech'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,2.5C26.702,2.5,2.5,22.339,2.5,45\r\n\tc0,8.368,3.307,16.347,8.641,23.084L3.979,94.813l23.196-13.393c7.078,3.83,15,6.076,22.825,6.076c23.299,0,47.5-19.838,47.5-42.5\r\n\tC97.5,22.336,73.299,2.5,50,2.5z M75,60.001H25c-2.762,0-5-2.238-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5\r\n\tC80,57.763,77.762,60.001,75,60.001z M75,40H25c-2.762,0-5-2.239-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5C80,37.763,77.762,40,75,40\r\n\tz\"\r\n />\r\n</svg>\r\n", styles: [":host{display:inline-block}:host>svg{display:block}:host>svg.spin-x{animation:spinX 1.5s linear infinite}:host>svg.spin-y{animation:spinY 1.5s linear infinite}:host>svg.spin-z{animation:spinZ 1.5s linear infinite}@keyframes spinX{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes spinZ{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconComponent, decorators: [{
100
- type: Component,
101
- args: [{ selector: 'icon[type]', template: "<svg\r\n attr.height=\"{{size}}\"\r\n attr.width=\"{{size}}\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 100 100\"\r\n [class.spin-x]=\"spin === 'x'\"\r\n [class.spin-y]=\"spin === 'y'\"\r\n [class.spin-z]=\"spin === 'z'\"\r\n>\r\n <linearGradient\r\n id=\"fill-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_fillRotate}}) translate({{(_fillRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _fill; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _fill)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n [attr.stop-opacity]=\"linearGradientStopOpacity(item)\"\r\n />\r\n </linearGradient>\r\n <linearGradient\r\n id=\"stroke-gradient-{{id}}\"\r\n attr.gradientTransform=\"rotate({{_strokeRotate}}) translate({{(_strokeRotate / 180) % 0.5}})\"\r\n >\r\n <stop\r\n *ngFor=\"let item of _stroke; let idx = index\"\r\n [attr.offset]=\"linearGradientStopOffset(idx, _stroke)\"\r\n [attr.stop-color]=\"linearGradientStopColor(item)\"\r\n />\r\n </linearGradient>\r\n <circle\r\n *ngIf=\"type === 'circle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"47.5\"\r\n />\r\n <circle\r\n *ngIf=\"type === 'dot'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"50\"\r\n r=\"30\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ring'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M50,2.5C23.767,2.5,2.5,23.767,2.5,50S23.767,97.5,50,97.5S97.5,76.233,97.5,50S76.233,2.5,50,2.5z M50,80c-16.568,0-30-13.432-30-30c0-16.568,13.432-30,30-30s30,13.432,30,30C80,66.568,66.568,80,50,80z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'square'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'squircle'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n width=\"95\"\r\n height=\"95\"\r\n rx=\"15\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'minus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n x=\"2.5\"\r\n y=\"37.5\"\r\n width=\"95\"\r\n height=\"25\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'check'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96.465,27.488 82.322,13.347,37.257,58.367 17.675,38.785 3.535,52.928 37.259,86.652\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'times'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"64.143,50 96.465,17.678 82.323,3.535,50,35.857 17.678,3.535 3.535,17.676 35.858,50 3.535,82.323 17.678,96.465 50.001,64.142 82.323,96.465 96.465,82.322\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'plus'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"97.5,37.5 62.5,37.5 62.5,2.5 37.5,2.5 37.5,37.5 2.5,37.5 2.5,62.5 37.5,62.5 37.5,97.5 62.5,97.5 62.5,62.5 97.5,62.5\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'row'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"96,50 66.5,20 66.5,37.5 33.5,37.5 33.5,20 4,50 33.5,80 33.5,62.5 66.5,62.5 66.5,80\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'column'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"62.5,33.535 80,33.535 50,3.535 20,33.535 37.5,33.535 37.5,66.465 20,66.465 50,96.465 80,66.465 62.5,66.465\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'flag'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"93,33.86 22.5,7.368 22.5,2.5 2.5,2.5 2.5,97.5 22.5,97.5 22.5,59.915\"\r\n />\r\n <path\r\n *ngIf=\"type === 'gear'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M96.35,39.625C95.178,34.369,93.14,29.44,90.385,25H80l-5-5V9.618C70.554,6.859,65.617,4.82,60.353,3.65L56.61,7.761L50,15.022l-6.61-7.261L39.647,3.65C34.382,4.82,29.447,6.859,25,9.618V20l-5,5H9.615C6.86,29.44,4.822,34.369,3.65,39.625l4.165,3.764L15.132,50l-7.316,6.61L3.65,60.375C4.822,65.631,6.86,70.56,9.615,75H20l5,5v10.382c4.441,2.755,9.371,4.793,14.628,5.964l3.761-4.162L50,84.867l6.61,7.316l3.761,4.162c5.258-1.171,10.188-3.209,14.629-5.964V80l5-5h10.385c2.755-4.44,4.793-9.369,5.965-14.625l-4.165-3.765L84.869,50l7.315-6.611L96.35,39.625z M50,72.5c-12.427,0-22.5-10.073-22.5-22.5c0-12.426,10.073-22.5,22.5-22.5S72.5,37.574,72.5,50C72.5,62.427,62.427,72.5,50,72.5z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'star'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,9.91 62.022,38.363 92.798,41.005\r\n69.453,61.23 76.45,91.316 50,75.364 23.55,91.315 30.547,61.23 7.203,41.005 37.978,38.363 \"\r\n />\r\n <!-- start user -->\r\n <circle\r\n *ngIf=\"type === 'user'\"\r\n fill=\"#FFFFFF\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n cx=\"50\"\r\n cy=\"27.5\"\r\n r=\"25\"\r\n />\r\n <path\r\n *ngIf=\"type === 'user'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M86.6,52.5H71.646 C67.324,59.971,59.252,65,50,65s-17.324-5.029-21.646-12.5H14.4c-6.297,0-11.9,5.373-11.9,12v33h95v-33 C97.5,57.873,92.896,52.5,86.6,52.5z\"\r\n />\r\n <!-- end user -->\r\n <path\r\n *ngIf=\"type === 'bomb'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n d=\"M93.634,34.651c4.687-4.686,5.182-11.789,1.107-15.863L81.213,5.261c-4.074-4.076-11.178-3.58-15.863,1.105l-1.252,1.252C59.294,5.929,54.132,5,48.75,5C23.207,5,2.5,25.707,2.5,51.25S23.207,97.5,48.75,97.5S95,76.793,95,51.25c0-5.381-0.929-10.543-2.618-15.347L93.634,34.651z M70.4,64.681l-12.009-1.009l-1.091,12.001l-8.551-8.492l-8.55,8.492l-1.091-12.001L27.1,64.681l6.878-9.896L24.13,47.84l11.63-3.159l-3.08-11.65l10.939,5.056l5.13-10.905l5.131,10.905L64.82,33.03l-3.08,11.65l11.63,3.159l-9.849,6.945L70.4,64.681z\"\r\n />\r\n <!-- start refresh -->\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,80c-9.186,0-17.391-4.141-22.893-10.643L37.5,58.965h-35v35l12.204-12.204C23.395,91.42,35.982,97.5,50,97.5c26.232,0,47.5-21.268,47.5-47.5H80C80,66.568,66.568,80,50,80z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'refresh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85.296,18.24C76.605,8.58,64.018,2.5,50,2.5C23.768,2.5,2.5,23.768,2.5,50H20c0-16.568,13.432-30,30-30c9.186,0,17.393,4.141,22.893,10.643L62.5,41.036h35v-35L85.296,18.24z\"\r\n />\r\n <!-- end refresh -->\r\n <polygon\r\n *ngIf=\"type === 'ascend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,3.841 20,38.842 80,38.842\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'descend'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n points=\"50,96.158 20,61.158 80,61.158\"\r\n />\r\n <path\r\n *ngIf=\"type === 'search'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M96.465,87.627L70.56,61.721C74.924,55.591,77.5,48.099,77.5,40C77.5,19.29,60.711,2.5,40,2.5C19.29,2.5,2.5,19.29,2.5,40c0,20.711,16.79,37.5,37.5,37.5c8.098,0,15.591-2.575,21.72-6.94l25.906,25.905L96.465,87.627z M40,65c-13.807,0-25-11.192-25-25c0-13.807,11.193-25,25-25c13.808,0,25,11.193,25,25C65,53.808,53.808,65,40,65z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'crown'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M95,22.5c0-4.143-3.357-7.5-7.5-7.5\r\n\tS80,18.357,80,22.5c0,2.145,0.904,4.073,2.347,5.44L67.673,66.273l-13.37-50.136C56.234,14.781,57.5,12.54,57.5,10\r\n\tc0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5c0,2.54,1.266,4.78,3.197,6.137l-13.37,50.136L17.654,27.939\r\n\tC19.096,26.573,20,24.644,20,22.5c0-4.143-3.357-7.5-7.5-7.5S5,18.357,5,22.5c0,3.673,2.642,6.724,6.128,7.369L14.857,72.5H12.5v15\r\n\tH10v10h80v-10h-2.5v-15h-2.356l3.729-42.631C92.358,29.223,95,26.173,95,22.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ogre'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M82.5,5.721c0,0,5,5,5,15s-10,10-10,10h-3.519\r\n\tC72.018,28.728,69.393,27.5,66.5,27.5h-33c-2.894,0-5.518,1.228-7.481,3.221H22.5c0,0-10,0-10-10s5-15,5-15s-15,5-15,20\r\n\tc0,13.263,7.821,22.61,20,24.6V60.5c0,6.583,4.861,11.923,10.881,11.993C33.869,79.732,35,87.834,35,90c0,4.143,3.357,7.5,7.5,7.5\r\n\th15c4.143,0,7.5-3.357,7.5-7.5c0-2.166,1.131-10.268,1.62-17.507c6.019-0.07,10.88-5.41,10.88-11.993V50.32\r\n\tc12.179-1.989,20-11.337,20-24.6C97.5,10.721,82.5,5.721,82.5,5.721z M37.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5\r\n\ts7.5,3.357,7.5,7.5S41.643,65,37.5,65z M62.5,65c-4.143,0-7.5-3.357-7.5-7.5s3.357-7.5,7.5-7.5s7.5,3.357,7.5,7.5S66.643,65,62.5,65\r\n\tz\"\r\n />\r\n <path\r\n *ngIf=\"type === 'folder'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M42.503,10.5c-9.836,0-28.103,0-28.103,0\r\n\tc-6.296,0-11.9,5.373-11.9,12v56c0,6.627,5.604,12,11.9,12h72.2c6.296,0,10.9-5.373,10.9-12c0,0,0-37.406,0-44\r\n\ts-4.467-11.989-10.9-12s-33.807,0-33.807,0S52.339,10.5,42.503,10.5z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'chevron'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M 81.371204,80.734189 96.459378,65.734039 50.000001,19.268573 3.5406224,65.734039 18.628797,80.734189 50.000001,49.268874 Z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'ankh'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M85,60l-5-15H60.938\r\n\tC65.605,36.781,70,27.677,70,22.5c0-11.046-8.955-20-20-20c-11.046,0-20,8.954-20,20c0,5.177,4.394,14.281,9.062,22.5H19.999L15,60\r\n\tl28.965-4.138L40,97.5h20l-3.967-41.638L85,60z M49.999,12.551c5.524,0,10.001,4.478,10.001,10c0,5.523-10.001,20-10.001,20\r\n\ts-10-14.477-10-20C40,17.028,44.477,12.551,49.999,12.551z\"\r\n />\r\n <polygon\r\n *ngIf=\"type === 'sun'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n points=\"50.001,5.864 57.541,21.864\r\n\t72.068,11.778 70.6,29.403 88.224,27.933 78.14,42.461 94.137,50 78.14,57.541 88.224,72.07 70.6,70.6 72.068,88.225 57.541,78.141\r\n\t50.001,94.137 42.461,78.141 27.933,88.225 29.403,70.6 11.777,72.07 21.863,57.541 5.864,50 21.863,42.461 11.777,27.933\r\n\t29.403,29.403 27.933,11.778 42.461,21.864 \"\r\n />\r\n <path\r\n *ngIf=\"type === 'moon'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M90.029,62.626\r\n\tc-14.54,14.54-38.115,14.539-52.654,0c-14.54-14.54-14.54-38.114,0-52.654c2.739-2.74,5.802-4.963,9.061-6.67\r\n\tC35.463,4.049,24.701,8.604,16.313,16.991c-18.417,18.418-18.417,48.278,0,66.696c18.417,18.416,48.278,18.416,66.694,0\r\n\tc8.389-8.389,12.942-19.149,13.69-30.123C94.989,56.825,92.768,59.886,90.029,62.626z\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"2.5\"\r\n y=\"2.5\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <rect\r\n *ngIf=\"type === 'clear'\"\r\n x=\"22.5\"\r\n y=\"22.5\"\r\n fill=\"none\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n stroke-dasharray=\"13.25 5.5\"\r\n width=\"75\"\r\n height=\"75\"\r\n />\r\n <path\r\n *ngIf=\"type === 'amphora'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M92.5,28c0-11.046-7.835-20-17.5-20\r\n\tc-3.586,0-6.917,1.237-9.691,3.352c0.025-0.749,0.084-1.409,0.191-1.852c0.471-1.918,3.5-7,3.5-7H31c0,0,3.03,5.082,3.5,7\r\n\tc0.108,0.442,0.166,1.103,0.192,1.852C31.917,9.237,28.586,8,25,8C15.335,8,7.5,16.954,7.5,28c0,7.019,3.17,13.182,7.956,16.751\r\n\tC15.165,46.438,15,48.187,15,50c0,13.744,18.5,40.5,18.5,40.5l-2.5,7h38l-2.5-7c0,0,18.5-26.756,18.5-40.5\r\n\tc0-1.813-0.164-3.563-0.456-5.249C89.33,41.182,92.5,35.019,92.5,28z M15,28c0-6.903,4.478-12.5,10-12.5\r\n\tc2.789,0,5.309,1.43,7.122,3.732c-3.582,2.808-10.347,8.93-14.215,17.577C16.111,34.549,15,31.437,15,28z M82.093,36.809\r\n\tc-3.866-8.647-10.634-14.769-14.215-17.577C69.691,16.93,72.211,15.5,75,15.5c5.521,0,10,5.597,10,12.5\r\n\tC85,31.437,83.889,34.549,82.093,36.809z\"\r\n />\r\n <path\r\n *ngIf=\"type === 'speech'\"\r\n attr.fill=\"url(#fill-gradient-{{id}})\"\r\n [attr.fill-opacity]=\"fillOpacity\"\r\n attr.stroke=\"url(#stroke-gradient-{{id}})\"\r\n stroke-width=\"5\"\r\n stroke-miterlimit=\"10\"\r\n d=\"M50,2.5C26.702,2.5,2.5,22.339,2.5,45\r\n\tc0,8.368,3.307,16.347,8.641,23.084L3.979,94.813l23.196-13.393c7.078,3.83,15,6.076,22.825,6.076c23.299,0,47.5-19.838,47.5-42.5\r\n\tC97.5,22.336,73.299,2.5,50,2.5z M75,60.001H25c-2.762,0-5-2.238-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5\r\n\tC80,57.763,77.762,60.001,75,60.001z M75,40H25c-2.762,0-5-2.239-5-5s2.238-5,5-5h50c2.762,0,5,2.239,5,5C80,37.763,77.762,40,75,40\r\n\tz\"\r\n />\r\n</svg>\r\n", styles: [":host{display:inline-block}:host>svg{display:block}:host>svg.spin-x{animation:spinX 1.5s linear infinite}:host>svg.spin-y{animation:spinY 1.5s linear infinite}:host>svg.spin-z{animation:spinZ 1.5s linear infinite}@keyframes spinX{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes spinZ{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
102
- }], ctorParameters: () => [], propDecorators: { type: [{
103
- type: Input
104
- }], fill: [{
105
- type: Input
106
- }], fillRotate: [{
107
- type: Input
108
- }], fillOpacity: [{
109
- type: Input
110
- }], stroke: [{
111
- type: Input
112
- }], strokeRotate: [{
113
- type: Input
114
- }], spin: [{
115
- type: Input
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQVEsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFPL0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBQzlDLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBVztRQUNsQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUdELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBd0M7UUFDL0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQzNCLEtBQUssR0FBRyxD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QGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NpemUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgaWNvbiwgaWNvblR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWNvblt0eXBlXScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgZXh0ZW5kcyBTaXplRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKVxyXG4gIGdldCB0eXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XHJcbiAgfVxyXG4gIHNldCB0eXBlKHZhbHVlOiBpY29uKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSBhcyBpY29uO1xyXG4gICAgaWYgKCFpY29uVHlwZXMuaW5jbHVkZXModmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkIFt0eXBlXSB0byBiZTogJHtpY29uVHlwZXMuam9pbignIHwgJyl9YCk7XHJcbiAgICB0aGlzLl90eXBlID0gdmFsdWU7XHJcbiAgfVxyXG4gIF90eXBlITogaWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmlsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9maWxsO1xyXG4gIH1cclxuICBzZXQgZmlsbCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IChzdHJpbmcgfCBudWxsKVtdKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSBbdmFsdWVdO1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gW251bGxdO1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAhdmFsdWUuZXZlcnkoaXRlbSA9PiBpdGVtID09PSBudWxsIHx8IHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgW2ZpbGxdIHRvIGJlOiBzdHJpbmcgfCBudWxsIHwgKHN0cmluZyB8IG51bGwpW10nKTtcclxuICAgIHRoaXMuX2ZpbGwgPSB2YWx1ZTtcclxuICB9XHJcbiAgX2ZpbGw6IChzdHJpbmcgfCBudWxsKVtdID0gW251bGxdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmaWxsUm90YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGxSb3RhdGU7XHJcbiAgfVxyXG4gIHNldCBmaWxsUm90YXRlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCBbZmlsbFJvdGF0ZV0gdG8gYmU6IHN0cmluZyB8IG51bWJlcicpO1xyXG4gICAgdGhpcy5fZmlsbFJvdGF0ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBfZmlsbFJvdGF0ZSA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGZpbGxPcGFjaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGxPcGFjaXR5O1xyXG4gIH1cclxuICBzZXQgZmlsbE9wYWNpdHkodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgfHwgdmFsdWUgPCAwKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIFtmaWxsT3BhY2l0eV0gdG8gYmU6IG51bWJlciA+PSAwJyk7XHJcbiAgICB0aGlzLl9maWxsT3BhY2l0eSA9IHZhbHVlO1xyXG4gIH1cclxuICBfZmlsbE9wYWNpdHkgPSAxO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzdHJva2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3Ryb2tlO1xyXG4gIH1cclxuICBzZXQgc3Ryb2tlKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgKHN0cmluZyB8IG51bGwpW10pIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IFt2YWx1ZV07XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBbbnVsbF07XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5ldmVyeShpdGVtID0+IGl0ZW0gPT09IG51bGwgfHwgdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCBbc3Ryb2tlXSB0byBiZTogc3RyaW5nIHwgbnVsbCB8IChzdHJpbmcgfCBudWxsKVtdJyk7XHJcbiAgICB0aGlzLl9zdHJva2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgX3N0cm9rZTogKHN0cmluZyB8IG51bGwpW10gPSBbJ2N1cnJlbnQnXTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc3Ryb2tlUm90YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0cm9rZVJvdGF0ZTtcclxuICB9XHJcbiAgc2V0IHN0cm9rZVJvdGF0ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgW3N0cm9rZVJvdGF0ZV0gdG8gYmU6IHN0cmluZyB8IG51bWJlcicpO1xyXG4gICAgdGhpcy5fc3Ryb2tlUm90YXRlID0gdmFsdWU7XHJcbiAgfVxyXG4gIF9zdHJva2VSb3RhdGUgPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNwaW46ICd4JyB8ICd5JyB8ICd6JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBpZCA9IGAke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxMyl9YDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wQ29sb3IoaXRlbTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGl0ZW0gPT09ICdjdXJyZW50JylcclxuICAgICAgcmV0dXJuICdjdXJyZW50Q29sb3InO1xyXG5cclxuICAgIHJldHVybiBpdGVtID09PSBudWxsXHJcbiAgICAgID8gJydcclxuICAgICAgOiBgIyR7aXRlbX1gO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wT3BhY2l0eShpdGVtOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICByZXR1cm4gaXRlbSA9PT0gbnVsbFxyXG4gICAgICA/IDBcclxuICAgICAgOiAxO1xyXG4gIH1cclxuXHJcbiAgbGluZWFyR3JhZGllbnRTdG9wT2Zmc2V0KGluZGV4OiBudW1iZXIsIGl0ZW1zOiB1bmtub3duW10pIHtcclxuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiAnMCUnO1xyXG4gICAgcmV0dXJuIGAkezEwMCAtICgoKGl0ZW1zLmxlbmd0aCAtIDEgLSBpbmRleCkgLyAoaXRlbXMubGVuZ3RoIC0gMSkpICogMTAwKX0lYDtcclxuICB9XHJcbn1cclxuIiwiPHN2Z1xyXG4gIGF0dHIuaGVpZ2h0PVwie3tzaXplfX1cIlxyXG4gIGF0dHIud2lkdGg9XCJ7e3NpemV9fVwiXHJcbiAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgdmlld0JveD1cIjAgMCAxMDAgMTAwXCJcclxuICBbY2xhc3Muc3Bpbi14XT1cInNwaW4gPT09ICd4J1wiXHJcbiAgW2NsYXNzLnNwaW4teV09XCJzcGluID09PSAneSdcIlxyXG4gIFtjbGFzcy5zcGluLXpdPVwic3BpbiA9PT0gJ3onXCJcclxuPlxyXG4gIDxsaW5lYXJHcmFkaWVudFxyXG4gICAgaWQ9XCJmaWxsLWdyYWRpZW50LXt7aWR9fVwiXHJcbiAgICBhdHRyLmdyYWRpZW50VHJhbnNmb3JtPVwicm90YXRlKHt7X2ZpbGxSb3RhdGV9fSkgdHJhbnNsYXRlKHt7KF9maWxsUm90YXRlIC8gMTgwKSAlIDAuNX19KVwiXHJcbiAgPlxyXG4gICAgPHN0b3BcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbGw7IGxldCBpZHggPSBpbmRleFwiXHJcbiAgICAgIFthdHRyLm9mZnNldF09XCJsaW5lYXJHcmFkaWVudFN0b3BPZmZzZXQoaWR4LCBfZmlsbClcIlxyXG4gICAgICBbYXR0ci5zdG9wLWNvbG9yXT1cImxpbmVhckdyYWRpZW50U3RvcENvbG9yKGl0ZW0pXCJcclxuICAgICAgW2F0dHIuc3RvcC1vcGFjaXR5XT1cImxpbmVhckdyYWRpZW50U3RvcE9wYWNpdHkoaXRlbSlcIlxyXG4gICAgLz5cclxuICA8L2xpbmVhckdyYWRpZW50PlxyXG4gIDxsaW5lYXJHcmFkaWVudFxyXG4gICAgaWQ9XCJzdHJva2UtZ3JhZGllbnQte3tpZH19XCJcclxuICAgIGF0dHIuZ3JhZGllbnRUcmFuc2Zvcm09XCJyb3RhdGUoe3tfc3Ryb2tlUm90YXRlfX0pIHRyYW5zbGF0ZSh7eyhfc3Ryb2tlUm90YXRlIC8gMTgwKSAlIDAuNX19KVwiXHJcbiAgPlxyXG4gICAgPHN0b3BcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3N0cm9rZTsgbGV0IGlkeCA9IGluZGV4XCJcclxuICAgICAgW2F0dHIub2Zmc2V0XT1cImxpbmVhckdyYWRpZW50U3RvcE9mZnNldChpZHgsIF9zdHJva2UpXCJcclxuICAgICAgW2F0dHIuc3RvcC1jb2xvcl09XCJsaW5lYXJHcmFkaWVudFN0b3BDb2xvcihpdGVtKVwiXHJcbiAgICAvPlxyXG4gIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgPGNpcmNsZVxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2lyY2xlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgY3g9XCI1MFwiXHJcbiAgICBjeT1cIjUwXCJcclxuICAgIHI9XCI0Ny41XCJcclxuICAvPlxyXG4gIDxjaXJjbGVcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2RvdCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIGN4PVwiNTBcIlxyXG4gICAgY3k9XCI1MFwiXHJcbiAgICByPVwiMzBcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JpbmcnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBkPVwiTTUwLDIuNUMyMy43NjcsMi41LDIuNSwyMy43NjcsMi41LDUwUzIzLjc2Nyw5Ny41LDUwLDk3LjVTOTcuNSw3Ni4yMzMsOTcuNSw1MFM3Ni4yMzMsMi41LDUwLDIuNXogTTUwLDgwYy0xNi41NjgsMC0zMC0xMy40MzItMzAtMzBjMC0xNi41NjgsMTMuNDMyLTMwLDMwLTMwczMwLDEzLjQzMiwzMCwzMEM4MCw2Ni41NjgsNjYuNTY4LDgwLDUwLDgwelwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc3F1YXJlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgeD1cIjIuNVwiXHJcbiAgICB5PVwiMi41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiOTVcIlxyXG4gIC8+XHJcbiAgPHJlY3RcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3NxdWlyY2xlJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgeD1cIjIuNVwiXHJcbiAgICB5PVwiMi41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiOTVcIlxyXG4gICAgcng9XCIxNVwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnbWludXMnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICB4PVwiMi41XCJcclxuICAgIHk9XCIzNy41XCJcclxuICAgIHdpZHRoPVwiOTVcIlxyXG4gICAgaGVpZ2h0PVwiMjVcIlxyXG4gIC8+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2NoZWNrJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTYuNDY1LDI3LjQ4OCA4Mi4zMjIsMTMuMzQ3LDM3LjI1Nyw1OC4zNjcgMTcuNjc1LDM4Ljc4NSAzLjUzNSw1Mi45MjggMzcuMjU5LDg2LjY1MlwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAndGltZXMnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBwb2ludHM9XCI2NC4xNDMsNTAgOTYuNDY1LDE3LjY3OCA4Mi4zMjMsMy41MzUsNTAsMzUuODU3IDE3LjY3OCwzLjUzNSAzLjUzNSwxNy42NzYgMzUuODU4LDUwIDMuNTM1LDgyLjMyMyAxNy42NzgsOTYuNDY1IDUwLjAwMSw2NC4xNDIgODIuMzIzLDk2LjQ2NSA5Ni40NjUsODIuMzIyXCJcclxuICAvPlxyXG4gIDxwb2x5Z29uXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdwbHVzJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTcuNSwzNy41IDYyLjUsMzcuNSA2Mi41LDIuNSAzNy41LDIuNSAzNy41LDM3LjUgMi41LDM3LjUgMi41LDYyLjUgMzcuNSw2Mi41IDM3LjUsOTcuNSA2Mi41LDk3LjUgNjIuNSw2Mi41IDk3LjUsNjIuNVwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAncm93J1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiOTYsNTAgNjYuNSwyMCA2Ni41LDM3LjUgMzMuNSwzNy41IDMzLjUsMjAgNCw1MCAzMy41LDgwIDMzLjUsNjIuNSA2Ni41LDYyLjUgNjYuNSw4MFwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY29sdW1uJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgcG9pbnRzPVwiNjIuNSwzMy41MzUgODAsMzMuNTM1IDUwLDMuNTM1IDIwLDMzLjUzNSAzNy41LDMzLjUzNSAzNy41LDY2LjQ2NSAyMCw2Ni40NjUgNTAsOTYuNDY1IDgwLDY2LjQ2NSA2Mi41LDY2LjQ2NVwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnZmxhZydcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjkzLDMzLjg2IDIyLjUsNy4zNjggMjIuNSwyLjUgMi41LDIuNSAyLjUsOTcuNSAyMi41LDk3LjUgMjIuNSw1OS45MTVcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2dlYXInXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBkPVwiTTk2LjM1LDM5LjYyNUM5NS4xNzgsMzQuMzY5LDkzLjE0LDI5LjQ0LDkwLjM4NSwyNUg4MGwtNS01VjkuNjE4QzcwLjU1NCw2Ljg1OSw2NS42MTcsNC44Miw2MC4zNTMsMy42NUw1Ni42MSw3Ljc2MUw1MCwxNS4wMjJsLTYuNjEtNy4yNjFMMzkuNjQ3LDMuNjVDMzQuMzgyLDQuODIsMjkuNDQ3LDYuODU5LDI1LDkuNjE4VjIwbC01LDVIOS42MTVDNi44NiwyOS40NCw0LjgyMiwzNC4zNjksMy42NSwzOS42MjVsNC4xNjUsMy43NjRMMTUuMTMyLDUwbC03LjMxNiw2LjYxTDMuNjUsNjAuMzc1QzQuODIyLDY1LjYzMSw2Ljg2LDcwLjU2LDkuNjE1LDc1SDIwbDUsNXYxMC4zODJjNC40NDEsMi43NTUsOS4zNzEsNC43OTMsMTQuNjI4LDUuOTY0bDMuNzYxLTQuMTYyTDUwLDg0Ljg2N2w2LjYxLDcuMzE2bDMuNzYxLDQuMTYyYzUuMjU4LTEuMTcxLDEwLjE4OC0zLjIwOSwxNC42MjktNS45NjRWODBsNS01aDEwLjM4NWMyLjc1NS00LjQ0LDQuNzkzLTkuMzY5LDUuOTY1LTE0LjYyNWwtNC4xNjUtMy43NjVMODQuODY5LDUwbDcuMzE1LTYuNjExTDk2LjM1LDM5LjYyNXogTTUwLDcyLjVjLTEyLjQyNywwLTIyLjUtMTAuMDczLTIyLjUtMjIuNWMwLTEyLjQyNiwxMC4wNzMtMjIuNSwyMi41LTIyLjVTNzIuNSwzNy41NzQsNzIuNSw1MEM3Mi41LDYyLjQyNyw2Mi40MjcsNzIuNSw1MCw3Mi41elwiXHJcbiAgLz5cclxuICA8cG9seWdvblxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc3RhcidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjUwLDkuOTEgNjIuMDIyLDM4LjM2MyA5Mi43OTgsNDEuMDA1XHJcbjY5LjQ1Myw2MS4yMyA3Ni40NSw5MS4zMTYgNTAsNzUuMzY0IDIzLjU1LDkxLjMxNSAzMC41NDcsNjEuMjMgNy4yMDMsNDEuMDA1IDM3Ljk3OCwzOC4zNjMgXCJcclxuICAvPlxyXG4gIDwhLS0gc3RhcnQgdXNlciAtLT5cclxuICA8Y2lyY2xlXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICd1c2VyJ1wiXHJcbiAgICBmaWxsPVwiI0ZGRkZGRlwiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgY3g9XCI1MFwiXHJcbiAgICBjeT1cIjI3LjVcIlxyXG4gICAgcj1cIjI1XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICd1c2VyJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgZD1cIk04Ni42LDUyLjVINzEuNjQ2IEM2Ny4zMjQsNTkuOTcxLDU5LjI1Miw2NSw1MCw2NXMtMTcuMzI0LTUuMDI5LTIxLjY0Ni0xMi41SDE0LjRjLTYuMjk3LDAtMTEuOSw1LjM3My0xMS45LDEydjMzaDk1di0zMyBDOTcuNSw1Ny44NzMsOTIuODk2LDUyLjUsODYuNiw1Mi41elwiXHJcbiAgLz5cclxuICA8IS0tIGVuZCB1c2VyIC0tPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdib21iJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgZD1cIk05My42MzQsMzQuNjUxYzQuNjg3LTQuNjg2LDUuMTgyLTExLjc4OSwxLjEwNy0xNS44NjNMODEuMjEzLDUuMjYxYy00LjA3NC00LjA3Ni0xMS4xNzgtMy41OC0xNS44NjMsMS4xMDVsLTEuMjUyLDEuMjUyQzU5LjI5NCw1LjkyOSw1NC4xMzIsNSw0OC43NSw1QzIzLjIwNyw1LDIuNSwyNS43MDcsMi41LDUxLjI1UzIzLjIwNyw5Ny41LDQ4Ljc1LDk3LjVTOTUsNzYuNzkzLDk1LDUxLjI1YzAtNS4zODEtMC45MjktMTAuNTQzLTIuNjE4LTE1LjM0N0w5My42MzQsMzQuNjUxeiBNNzAuNCw2NC42ODFsLTEyLjAwOS0xLjAwOWwtMS4wOTEsMTIuMDAxbC04LjU1MS04LjQ5MmwtOC41NSw4LjQ5MmwtMS4wOTEtMTIuMDAxTDI3LjEsNjQuNjgxbDYuODc4LTkuODk2TDI0LjEzLDQ3Ljg0bDExLjYzLTMuMTU5bC0zLjA4LTExLjY1bDEwLjkzOSw1LjA1Nmw1LjEzLTEwLjkwNWw1LjEzMSwxMC45MDVMNjQuODIsMzMuMDNsLTMuMDgsMTEuNjVsMTEuNjMsMy4xNTlsLTkuODQ5LDYuOTQ1TDcwLjQsNjQuNjgxelwiXHJcbiAgLz5cclxuICA8IS0tIHN0YXJ0IHJlZnJlc2ggLS0+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JlZnJlc2gnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNNTAsODBjLTkuMTg2LDAtMTcuMzkxLTQuMTQxLTIyLjg5My0xMC42NDNMMzcuNSw1OC45NjVoLTM1djM1bDEyLjIwNC0xMi4yMDRDMjMuMzk1LDkxLjQyLDM1Ljk4Miw5Ny41LDUwLDk3LjVjMjYuMjMyLDAsNDcuNS0yMS4yNjgsNDcuNS00Ny41SDgwQzgwLDY2LjU2OCw2Ni41NjgsODAsNTAsODB6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdyZWZyZXNoJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTg1LjI5NiwxOC4yNEM3Ni42MDUsOC41OCw2NC4wMTgsMi41LDUwLDIuNUMyMy43NjgsMi41LDIuNSwyMy43NjgsMi41LDUwSDIwYzAtMTYuNTY4LDEzLjQzMi0zMCwzMC0zMGM5LjE4NiwwLDE3LjM5Myw0LjE0MSwyMi44OTMsMTAuNjQzTDYyLjUsNDEuMDM2aDM1di0zNUw4NS4yOTYsMTguMjR6XCJcclxuICAvPlxyXG4gIDwhLS0gZW5kIHJlZnJlc2ggLS0+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2FzY2VuZCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHBvaW50cz1cIjUwLDMuODQxIDIwLDM4Ljg0MiA4MCwzOC44NDJcIlxyXG4gIC8+XHJcbiAgPHBvbHlnb25cclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2Rlc2NlbmQnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBwb2ludHM9XCI1MCw5Ni4xNTggMjAsNjEuMTU4IDgwLDYxLjE1OFwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTk2LjQ2NSw4Ny42MjdMNzAuNTYsNjEuNzIxQzc0LjkyNCw1NS41OTEsNzcuNSw0OC4wOTksNzcuNSw0MEM3Ny41LDE5LjI5LDYwLjcxMSwyLjUsNDAsMi41QzE5LjI5LDIuNSwyLjUsMTkuMjksMi41LDQwYzAsMjAuNzExLDE2Ljc5LDM3LjUsMzcuNSwzNy41YzguMDk4LDAsMTUuNTkxLTIuNTc1LDIxLjcyLTYuOTRsMjUuOTA2LDI1LjkwNUw5Ni40NjUsODcuNjI3eiBNNDAsNjVjLTEzLjgwNywwLTI1LTExLjE5Mi0yNS0yNWMwLTEzLjgwNywxMS4xOTMtMjUsMjUtMjVjMTMuODA4LDAsMjUsMTEuMTkzLDI1LDI1QzY1LDUzLjgwOCw1My44MDgsNjUsNDAsNjV6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdjcm93bidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk05NSwyMi41YzAtNC4xNDMtMy4zNTctNy41LTcuNS03LjVcclxuXHRTODAsMTguMzU3LDgwLDIyLjVjMCwyLjE0NSwwLjkwNCw0LjA3MywyLjM0Nyw1LjQ0TDY3LjY3Myw2Ni4yNzNsLTEzLjM3LTUwLjEzNkM1Ni4yMzQsMTQuNzgxLDU3LjUsMTIuNTQsNTcuNSwxMFxyXG5cdGMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUsMy4zNTctNy41LDcuNWMwLDIuNTQsMS4yNjYsNC43OCwzLjE5Nyw2LjEzN2wtMTMuMzcsNTAuMTM2TDE3LjY1NCwyNy45MzlcclxuXHRDMTkuMDk2LDI2LjU3MywyMCwyNC42NDQsMjAsMjIuNWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41UzUsMTguMzU3LDUsMjIuNWMwLDMuNjczLDIuNjQyLDYuNzI0LDYuMTI4LDcuMzY5TDE0Ljg1Nyw3Mi41SDEyLjV2MTVcclxuXHRIMTB2MTBoODB2LTEwaC0yLjV2LTE1aC0yLjM1NmwzLjcyOS00Mi42MzFDOTIuMzU4LDI5LjIyMyw5NSwyNi4xNzMsOTUsMjIuNXpcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ29ncmUnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNODIuNSw1LjcyMWMwLDAsNSw1LDUsMTVzLTEwLDEwLTEwLDEwaC0zLjUxOVxyXG5cdEM3Mi4wMTgsMjguNzI4LDY5LjM5MywyNy41LDY2LjUsMjcuNWgtMzNjLTIuODk0LDAtNS41MTgsMS4yMjgtNy40ODEsMy4yMjFIMjIuNWMwLDAtMTAsMC0xMC0xMHM1LTE1LDUtMTVzLTE1LDUtMTUsMjBcclxuXHRjMCwxMy4yNjMsNy44MjEsMjIuNjEsMjAsMjQuNlY2MC41YzAsNi41ODMsNC44NjEsMTEuOTIzLDEwLjg4MSwxMS45OTNDMzMuODY5LDc5LjczMiwzNSw4Ny44MzQsMzUsOTBjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNVxyXG5cdGgxNWM0LjE0MywwLDcuNS0zLjM1Nyw3LjUtNy41YzAtMi4xNjYsMS4xMzEtMTAuMjY4LDEuNjItMTcuNTA3YzYuMDE5LTAuMDcsMTAuODgtNS40MSwxMC44OC0xMS45OTNWNTAuMzJcclxuXHRjMTIuMTc5LTEuOTg5LDIwLTExLjMzNywyMC0yNC42Qzk3LjUsMTAuNzIxLDgyLjUsNS43MjEsODIuNSw1LjcyMXogTTM3LjUsNjVjLTQuMTQzLDAtNy41LTMuMzU3LTcuNS03LjVzMy4zNTctNy41LDcuNS03LjVcclxuXHRzNy41LDMuMzU3LDcuNSw3LjVTNDEuNjQzLDY1LDM3LjUsNjV6IE02Mi41LDY1Yy00LjE0MywwLTcuNS0zLjM1Ny03LjUtNy41czMuMzU3LTcuNSw3LjUtNy41czcuNSwzLjM1Nyw3LjUsNy41UzY2LjY0Myw2NSw2Mi41LDY1XHJcblx0elwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnZm9sZGVyJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTQyLjUwMywxMC41Yy05LjgzNiwwLTI4LjEwMywwLTI4LjEwMywwXHJcblx0Yy02LjI5NiwwLTExLjksNS4zNzMtMTEuOSwxMnY1NmMwLDYuNjI3LDUuNjA0LDEyLDExLjksMTJoNzIuMmM2LjI5NiwwLDEwLjktNS4zNzMsMTAuOS0xMmMwLDAsMC0zNy40MDYsMC00NFxyXG5cdHMtNC40NjctMTEuOTg5LTEwLjktMTJzLTMzLjgwNywwLTMzLjgwNywwUzUyLjMzOSwxMC41LDQyLjUwMywxMC41elwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2hldnJvbidcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk0gODEuMzcxMjA0LDgwLjczNDE4OSA5Ni40NTkzNzgsNjUuNzM0MDM5IDUwLjAwMDAwMSwxOS4yNjg1NzMgMy41NDA2MjI0LDY1LjczNDAzOSAxOC42Mjg3OTcsODAuNzM0MTg5IDUwLjAwMDAwMSw0OS4yNjg4NzQgWlwiXHJcbiAgLz5cclxuICA8cGF0aFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnYW5raCdcIlxyXG4gICAgYXR0ci5maWxsPVwidXJsKCNmaWxsLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgW2F0dHIuZmlsbC1vcGFjaXR5XT1cImZpbGxPcGFjaXR5XCJcclxuICAgIGF0dHIuc3Ryb2tlPVwidXJsKCNzdHJva2UtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBzdHJva2Utd2lkdGg9XCI1XCJcclxuICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxyXG4gICAgZD1cIk04NSw2MGwtNS0xNUg2MC45MzhcclxuXHRDNjUuNjA1LDM2Ljc4MSw3MCwyNy42NzcsNzAsMjIuNWMwLTExLjA0Ni04Ljk1NS0yMC0yMC0yMGMtMTEuMDQ2LDAtMjAsOC45NTQtMjAsMjBjMCw1LjE3Nyw0LjM5NCwxNC4yODEsOS4wNjIsMjIuNUgxOS45OTlMMTUsNjBcclxuXHRsMjguOTY1LTQuMTM4TDQwLDk3LjVoMjBsLTMuOTY3LTQxLjYzOEw4NSw2MHogTTQ5Ljk5OSwxMi41NTFjNS41MjQsMCwxMC4wMDEsNC40NzgsMTAuMDAxLDEwYzAsNS41MjMtMTAuMDAxLDIwLTEwLjAwMSwyMFxyXG5cdHMtMTAtMTQuNDc3LTEwLTIwQzQwLDE3LjAyOCw0NC40NzcsMTIuNTUxLDQ5Ljk5OSwxMi41NTF6XCJcclxuICAvPlxyXG4gIDxwb2x5Z29uXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdzdW4nXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIHBvaW50cz1cIjUwLjAwMSw1Ljg2NCA1Ny41NDEsMjEuODY0XHJcblx0NzIuMDY4LDExLjc3OCA3MC42LDI5LjQwMyA4OC4yMjQsMjcuOTMzIDc4LjE0LDQyLjQ2MSA5NC4xMzcsNTAgNzguMTQsNTcuNTQxIDg4LjIyNCw3Mi4wNyA3MC42LDcwLjYgNzIuMDY4LDg4LjIyNSA1Ny41NDEsNzguMTQxXHJcblx0NTAuMDAxLDk0LjEzNyA0Mi40NjEsNzguMTQxIDI3LjkzMyw4OC4yMjUgMjkuNDAzLDcwLjYgMTEuNzc3LDcyLjA3IDIxLjg2Myw1Ny41NDEgNS44NjQsNTAgMjEuODYzLDQyLjQ2MSAxMS43NzcsMjcuOTMzXHJcblx0MjkuNDAzLDI5LjQwMyAyNy45MzMsMTEuNzc4IDQyLjQ2MSwyMS44NjQgXCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdtb29uJ1wiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBkPVwiTTkwLjAyOSw2Mi42MjZcclxuXHRjLTE0LjU0LDE0LjU0LTM4LjExNSwxNC41MzktNTIuNjU0LDBjLTE0LjU0LTE0LjU0LTE0LjU0LTM4LjExNCwwLTUyLjY1NGMyLjczOS0yLjc0LDUuODAyLTQuOTYzLDkuMDYxLTYuNjdcclxuXHRDMzUuNDYzLDQuMDQ5LDI0LjcwMSw4LjYwNCwxNi4zMTMsMTYuOTkxYy0xOC40MTcsMTguNDE4LTE4LjQxNyw0OC4yNzgsMCw2Ni42OTZjMTguNDE3LDE4LjQxNiw0OC4yNzgsMTguNDE2LDY2LjY5NCwwXHJcblx0YzguMzg5LTguMzg5LDEyLjk0Mi0xOS4xNDksMTMuNjktMzAuMTIzQzk0Ljk4OSw1Ni44MjUsOTIuNzY4LDU5Ljg4Niw5MC4wMjksNjIuNjI2elwiXHJcbiAgLz5cclxuICA8cmVjdFxyXG4gICAgKm5nSWY9XCJ0eXBlID09PSAnY2xlYXInXCJcclxuICAgIHg9XCIyLjVcIlxyXG4gICAgeT1cIjIuNVwiXHJcbiAgICBhdHRyLmZpbGw9XCJ1cmwoI2ZpbGwtZ3JhZGllbnQte3tpZH19KVwiXHJcbiAgICBbYXR0ci5maWxsLW9wYWNpdHldPVwiZmlsbE9wYWNpdHlcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICB3aWR0aD1cIjc1XCJcclxuICAgIGhlaWdodD1cIjc1XCJcclxuICAvPlxyXG4gIDxyZWN0XHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdjbGVhcidcIlxyXG4gICAgeD1cIjIyLjVcIlxyXG4gICAgeT1cIjIyLjVcIlxyXG4gICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgYXR0ci5zdHJva2U9XCJ1cmwoI3N0cm9rZS1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIHN0cm9rZS13aWR0aD1cIjVcIlxyXG4gICAgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiXHJcbiAgICBzdHJva2UtZGFzaGFycmF5PVwiMTMuMjUgNS41XCJcclxuICAgIHdpZHRoPVwiNzVcIlxyXG4gICAgaGVpZ2h0PVwiNzVcIlxyXG4gIC8+XHJcbiAgPHBhdGhcclxuICAgICpuZ0lmPVwidHlwZSA9PT0gJ2FtcGhvcmEnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNOTIuNSwyOGMwLTExLjA0Ni03LjgzNS0yMC0xNy41LTIwXHJcblx0Yy0zLjU4NiwwLTYuOTE3LDEuMjM3LTkuNjkxLDMuMzUyYzAuMDI1LTAuNzQ5LDAuMDg0LTEuNDA5LDAuMTkxLTEuODUyYzAuNDcxLTEuOTE4LDMuNS03LDMuNS03SDMxYzAsMCwzLjAzLDUuMDgyLDMuNSw3XHJcblx0YzAuMTA4LDAuNDQyLDAuMTY2LDEuMTAzLDAuMTkyLDEuODUyQzMxLjkxNyw5LjIzNywyOC41ODYsOCwyNSw4QzE1LjMzNSw4LDcuNSwxNi45NTQsNy41LDI4YzAsNy4wMTksMy4xNywxMy4xODIsNy45NTYsMTYuNzUxXHJcblx0QzE1LjE2NSw0Ni40MzgsMTUsNDguMTg3LDE1LDUwYzAsMTMuNzQ0LDE4LjUsNDAuNSwxOC41LDQwLjVsLTIuNSw3aDM4bC0yLjUtN2MwLDAsMTguNS0yNi43NTYsMTguNS00MC41XHJcblx0YzAtMS44MTMtMC4xNjQtMy41NjMtMC40NTYtNS4yNDlDODkuMzMsNDEuMTgyLDkyLjUsMzUuMDE5LDkyLjUsMjh6IE0xNSwyOGMwLTYuOTAzLDQuNDc4LTEyLjUsMTAtMTIuNVxyXG5cdGMyLjc4OSwwLDUuMzA5LDEuNDMsNy4xMjIsMy43MzJjLTMuNTgyLDIuODA4LTEwLjM0Nyw4LjkzLTE0LjIxNSwxNy41NzdDMTYuMTExLDM0LjU0OSwxNSwzMS40MzcsMTUsMjh6IE04Mi4wOTMsMzYuODA5XHJcblx0Yy0zLjg2Ni04LjY0Ny0xMC42MzQtMTQuNzY5LTE0LjIxNS0xNy41NzdDNjkuNjkxLDE2LjkzLDcyLjIxMSwxNS41LDc1LDE1LjVjNS41MjEsMCwxMCw1LjU5NywxMCwxMi41XHJcblx0Qzg1LDMxLjQzNyw4My44ODksMzQuNTQ5LDgyLjA5MywzNi44MDl6XCJcclxuICAvPlxyXG4gIDxwYXRoXHJcbiAgICAqbmdJZj1cInR5cGUgPT09ICdzcGVlY2gnXCJcclxuICAgIGF0dHIuZmlsbD1cInVybCgjZmlsbC1ncmFkaWVudC17e2lkfX0pXCJcclxuICAgIFthdHRyLmZpbGwtb3BhY2l0eV09XCJmaWxsT3BhY2l0eVwiXHJcbiAgICBhdHRyLnN0cm9rZT1cInVybCgjc3Ryb2tlLWdyYWRpZW50LXt7aWR9fSlcIlxyXG4gICAgc3Ryb2tlLXdpZHRoPVwiNVwiXHJcbiAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcclxuICAgIGQ9XCJNNTAsMi41QzI2LjcwMiwyLjUsMi41LDIyLjMzOSwyLjUsNDVcclxuXHRjMCw4LjM2OCwzLjMwNywxNi4zNDcsOC42NDEsMjMuMDg0TDMuOTc5LDk0LjgxM2wyMy4xOTYtMTMuMzkzYzcuMDc4LDMuODMsMTUsNi4wNzYsMjIuODI1LDYuMDc2YzIzLjI5OSwwLDQ3LjUtMTkuODM4LDQ3LjUtNDIuNVxyXG5cdEM5Ny41LDIyLjMzNiw3My4yOTksMi41LDUwLDIuNXogTTc1LDYwLjAwMUgyNWMtMi43NjIsMC01LTIuMjM4LTUtNXMyLjIzOC01LDUtNWg1MGMyLjc2MiwwLDUsMi4yMzksNSw1XHJcblx0QzgwLDU3Ljc2Myw3Ny43NjIsNjAuMDAxLDc1LDYwLjAwMXogTTc1LDQwSDI1Yy0yLjc2MiwwLTUtMi4yMzktNS01czIuMjM4LTUsNS01aDUwYzIuNzYyLDAsNSwyLjIzOSw1LDVDODAsMzcuNzYzLDc3Ljc2Miw0MCw3NSw0MFxyXG5cdHpcIlxyXG4gIC8+XHJcbjwvc3ZnPlxyXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, HostBinding } from '@angular/core';
2
- import { SizeDirective } from '../../directives';
3
- import * as i0 from "@angular/core";
4
- export class IconStackComponent extends SizeDirective {
5
- constructor() {
6
- super();
7
- this.width = this.size;
8
- this.height = this.size;
9
- this.sizeChangesSubject.subscribe({
10
- next: () => {
11
- this.width = this.size;
12
- this.height = this.size;
13
- }
14
- });
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: IconStackComponent, selector: "icon-stack", host: { properties: { "style.width": "this.width", "style.height": "this.height" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr}:host ::ng-deep>icon{grid-row-start:1;grid-column-start:1;display:flex;justify-content:center;align-items:center}\n"] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: IconStackComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'icon-stack', template: `<ng-content></ng-content>`, styles: [":host{display:grid;grid-template-columns:1fr}:host ::ng-deep>icon{grid-row-start:1;grid-column-start:1;display:flex;justify-content:center;align-items:center}\n"] }]
22
- }], ctorParameters: () => [], propDecorators: { width: [{
23
- type: HostBinding,
24
- args: ['style.width']
25
- }], height: [{
26
- type: HostBinding,
27
- args: ['style.height']
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pY29uLXN0YWNrL2ljb24tc3RhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFJbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUprQixVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUk5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDMUIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBWlUsa0JBQWtCO2tHQUFsQixrQkFBa0IsK0pBSG5CLDJCQUEyQjs7MkZBRzFCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1osMkJBQTJCO3dEQUlULEtBQUs7c0JBQWhDLFdBQVc7dUJBQUMsYUFBYTtnQkFDRyxNQUFNO3NCQUFsQyxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpemVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWNvbi1zdGFjaycsXHJcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcclxuICBzdHlsZVVybHM6IFsnLi9pY29uLXN0YWNrLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25TdGFja0NvbXBvbmVudCBleHRlbmRzIFNpemVEaXJlY3RpdmUge1xyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSB3aWR0aCA9IHRoaXMuc2l6ZTtcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodCA9IHRoaXMuc2l6ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5zaXplQ2hhbmdlc1N1YmplY3Quc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLnNpemU7XHJcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnNpemU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,11 +0,0 @@
1
- export * from './busy/busy.component';
2
- export * from './choice/choice.component';
3
- export * from './color/color.component';
4
- export * from './file/file.component';
5
- export * from './icon-stack/icon-stack.component';
6
- export * from './icon/icon.component';
7
- export * from './number/number.component';
8
- export * from './readonly/readonly.component';
9
- export * from './select/select.component';
10
- export * from './text/text.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXN5L2J1c3kuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jaG9pY2UvY2hvaWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3IvY29sb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlL2ZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uLXN0YWNrL2ljb24tc3RhY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC90ZXh0LmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,135 +0,0 @@
1
- import { Component, Input, Self } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { ControlDirective } from '../../directives';
4
- import { isNumber } from '../../models';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "../icon/icon.component";
8
- import * as i3 from "../../directives/size.directive";
9
- export class NumberComponent extends ControlDirective {
10
- get min() {
11
- return this._min;
12
- }
13
- set min(value) {
14
- if (!isNumber(value))
15
- throw new Error('[min] expects: number');
16
- this._min = value;
17
- this.validation.next();
18
- }
19
- get max() {
20
- return this._max;
21
- }
22
- set max(value) {
23
- if (!isNumber(value))
24
- throw new Error('[max] expects: number');
25
- this._max = value;
26
- this.validation.next();
27
- }
28
- get step() {
29
- return this._step;
30
- }
31
- set step(value) {
32
- if (!isNumber(value))
33
- throw new Error('[step] expects: number');
34
- this._step = value;
35
- this.mustBeInteger = Number.isInteger(this._step);
36
- }
37
- constructor(ngControl) {
38
- super();
39
- this.ngControl = ngControl;
40
- this._min = 0;
41
- this._max = 9;
42
- this._step = 1;
43
- this.mustBeInteger = true;
44
- this.sizePadding = 5;
45
- this._model = null;
46
- this.validation.subscribe(() => this.validate());
47
- this.validation.next();
48
- ngControl.valueAccessor = this;
49
- }
50
- get model() {
51
- return this._model;
52
- }
53
- set model(value) {
54
- this._model = value;
55
- this.onChange(this._model);
56
- }
57
- get isDisabledAdd() {
58
- return this.isDisabled === true
59
- || this.model !== null
60
- && this.model + this.step > this.max;
61
- }
62
- get isDisabledSubtract() {
63
- return this.isDisabled === true
64
- || this._model !== null
65
- && this._model - this.step < this.min;
66
- }
67
- get maxDigitSize() {
68
- return Math.max(this._step.toString().length, this._max.toString().length, this._min.toString().length);
69
- }
70
- onBeforeinput(e) {
71
- const event = e;
72
- if (event.data === null)
73
- return;
74
- const isDigit = /\d/.test(event.data);
75
- const isMinus = event.data === '-';
76
- const isMinusAllowed = this.min < 0;
77
- const isBlockedNonDigit = !isDigit && !(isMinus && isMinusAllowed);
78
- const isPastMax = Number((this._model || '') + event.data) > this.max;
79
- if (isBlockedNonDigit || isPastMax)
80
- event.preventDefault();
81
- }
82
- add(e) {
83
- if (this.model === null) {
84
- this.model = this.max;
85
- return;
86
- }
87
- e.stepUp();
88
- this.model = e.valueAsNumber;
89
- }
90
- subtract(e) {
91
- if (this.model === null) {
92
- this.model = this.min;
93
- return;
94
- }
95
- e.stepDown();
96
- this.model = e.valueAsNumber;
97
- }
98
- onChange(_model) { }
99
- registerOnChange(fn) {
100
- this.onChange = fn;
101
- }
102
- writeValue(value) {
103
- if (value === undefined)
104
- value = null;
105
- if (typeof value === 'string')
106
- value = parseFloat(value);
107
- if (value === null || isNumber(value))
108
- this._model = value;
109
- }
110
- validate() {
111
- const validators = [
112
- Validators.min(this.min),
113
- Validators.max(this.max)
114
- ];
115
- if (this.required === true)
116
- validators.push(Validators.required);
117
- this.ngControl.control?.setValidators(validators);
118
- this.ngControl.control?.updateValueAndValidity();
119
- }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: NumberComponent, selector: "jo-number", inputs: { min: "min", max: "max", step: "step" }, usesInheritance: true, ngImport: i0, template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }, { kind: "directive", type: i3.SizeDirective, selector: "[size]", inputs: ["size"] }] }); }
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, decorators: [{
124
- type: Component,
125
- args: [{ selector: 'jo-number', template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
126
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
127
- type: Self
128
- }] }], propDecorators: { min: [{
129
- type: Input
130
- }], max: [{
131
- type: Input
132
- }], step: [{
133
- type: Input
134
- }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyL251bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUE4RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVV4QyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFDbkQsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIs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QUksUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sVUFBVSxHQUFrQjtZQUNoQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDeEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pCLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSTtZQUN4QixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzhHQTFJVSxlQUFlO2tHQUFmLGVBQWUsMEhDYjVCLGl0REE2RFM7OzJGRGhESSxlQUFlO2tCQVIzQixTQUFTOytCQUNFLFdBQVc7OzBCQWdEbEIsSUFBSTt5Q0F2Q0gsR0FBRztzQkFETixLQUFLO2dCQWFGLEdBQUc7c0JBRE4sS0FBSztnQkFhRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLW51bWJlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9udW1iZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgfVxyXG4gIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignW21pbl0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9taW4gPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgfVxyXG4gIF9taW4gPSAwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtYXgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gIH1cclxuICBzZXQgbWF4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICghaXNOdW1iZXIodmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ttYXhdIGV4cGVjdHM6IG51bWJlcicpO1xyXG4gICAgdGhpcy5fbWF4ID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gIH1cclxuICBfbWF4ID0gOTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc3RlcCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGVwO1xyXG4gIH1cclxuICBzZXQgc3RlcCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbc3RlcF0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9zdGVwID0gdmFsdWU7XHJcbiAgICB0aGlzLm11c3RCZUludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuX3N0ZXApO1xyXG4gIH1cclxuICBfc3RlcCA9IDE7XHJcblxyXG4gIG11c3RCZUludGVnZXIgPSB0cnVlO1xyXG4gIHJlYWRvbmx5IHNpemVQYWRkaW5nID0gNTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24uc3Vic2NyaWJlKCgpID0+IHRoaXMudmFsaWRhdGUoKSk7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgX21vZGVsOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG4gIHNldCBtb2RlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRBZGQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkID09PSB0cnVlXHJcbiAgICAgIHx8IHRoaXMubW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5tb2RlbCArIHRoaXMuc3RlcCA+IHRoaXMubWF4O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGlzYWJsZWRTdWJ0cmFjdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQgPT09IHRydWVcclxuICAgICAgfHwgdGhpcy5fbW9kZWwgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5fbW9kZWwgLSB0aGlzLnN0ZXAgPCB0aGlzLm1pbjtcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaWdpdFNpemUoKSB7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoXHJcbiAgICAgIHRoaXMuX3N0ZXAudG9TdHJpbmcoKS5sZW5ndGgsXHJcbiAgICAgIHRoaXMuX21heC50b1N0cmluZygpLmxlbmd0aCxcclxuICAgICAgdGhpcy5fbWluLnRvU3RyaW5nKCkubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25CZWZvcmVpbnB1dChlOiBFdmVudCkge1xyXG4gICAgY29uc3QgZXZlbnQgPSBlIGFzIElucHV0RXZlbnQ7XHJcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgaXNEaWdpdCA9IC9cXGQvLnRlc3QoZXZlbnQuZGF0YSk7XHJcbiAgICBjb25zdCBpc01pbnVzID0gZXZlbnQuZGF0YSA9PT0gJy0nO1xyXG4gICAgY29uc3QgaXNNaW51c0FsbG93ZWQgPSB0aGlzLm1pbiA8IDA7XHJcbiAgICBjb25zdCBpc0Jsb2NrZWROb25EaWdpdCA9ICFpc0RpZ2l0ICYmICEoaXNNaW51cyAmJiBpc01pbnVzQWxsb3dlZClcclxuICAgIGNvbnN0IGlzUGFzdE1heCA9IE51bWJlcigodGhpcy5fbW9kZWwgfHwgJycpICsgZXZlbnQuZGF0YSkgPiB0aGlzLm1heDtcclxuICAgIGlmIChpc0Jsb2NrZWROb25EaWdpdCB8fCBpc1Bhc3RNYXgpXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBhZGQoZTogSFRNTElucHV0RWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWwgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubWF4O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZS5zdGVwVXAoKTtcclxuICAgIHRoaXMubW9kZWwgPSBlLnZhbHVlQXNOdW1iZXI7XHJcbiAgfVxyXG5cclxuICBzdWJ0cmFjdChlOiBIVE1MSW5wdXRFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5taW47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0ZXBEb3duKCk7XHJcbiAgICB0aGlzLm1vZGVsID0gZS52YWx1ZUFzTnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX21vZGVsOiBudW1iZXIgfCBudWxsKSB7IH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBudWxsO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlKCkge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtcclxuICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5taW4pLFxyXG4gICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heClcclxuICAgIF07XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgPT09IHRydWUpXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoXCI+XHJcbiAgPGlucHV0XHJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcclxuICAgICNudW1iZXJJbnB1dFxyXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgW3NpemVdPVwibWF4RGlnaXRTaXplICsgc2l6ZVBhZGRpbmdcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJfbW9kZWwgIT09IG51bGxcIlxyXG4gICAgW2NsYXNzLmJyLXN0YXJ0XT1cImJvcmRlclJhZGl1c0xlZnRcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgW21pbl09XCJtaW5cIlxyXG4gICAgW21heF09XCJtYXhcIlxyXG4gICAgKGJlZm9yZWlucHV0KT1cIm9uQmVmb3JlaW5wdXQoJGV2ZW50KVwiXHJcbiAgLz5cclxuICA8YnV0dG9uXHJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgdGl0bGU9XCJTdWJ0cmFjdFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkU3VidHJhY3RcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gICAgKGNsaWNrKT1cInN1YnRyYWN0KG51bWJlcklucHV0KVwiXHJcbiAgPlxyXG4gICAgPGljb25cclxuICAgICAgdHlwZT1cIm1pbnVzXCJcclxuICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICB0aXRsZT1cIkFkZFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIFtjbGFzcy5ici1lbmRdPVwiYm9yZGVyUmFkaXVzUmlnaHRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRBZGRcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gICAgKGNsaWNrKT1cImFkZChudW1iZXJJbnB1dClcIlxyXG4gID5cclxuICAgIDxpY29uXHJcbiAgICAgIHR5cGU9XCJwbHVzXCJcclxuICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICBbZmlsbF09XCJbbnVsbCwgJ2N1cnJlbnQnXVwiXHJcbiAgICAgIGZpbGxSb3RhdGU9XCI5MFwiXHJcbiAgICA+PC9pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gPHVsICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9yc1wiPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWluJ11cIj5cclxuICAgIG1pbmltdW0gbnVtYmVyIGlzIHt7bWlufX1cclxuICA8L2xpPlxyXG4gIDxsaSAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnM/LlsnbWF4J11cIj5cclxuICAgIG1heGltdW0gbnVtYmVyIGlzIHt7bWF4fX1cclxuICA8L2xpPlxyXG48L3VsPiAtLT4iXX0=
@@ -1,14 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ReadonlyComponent {
4
- constructor() { }
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ReadonlyComponent, selector: "jo-readonly", inputs: { model: "model" }, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }); }
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, decorators: [{
9
- type: Component,
10
- args: [{ selector: 'jo-readonly', template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit;min-width:0}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
11
- }], ctorParameters: () => [], propDecorators: { model: [{
12
- type: Input
13
- }] } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV2pELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsZ0JBQWdCLENBQUM7OEdBSE4saUJBQWlCO2tHQUFqQixpQkFBaUIsK0VDWDlCLGlIQU1NOzsyRkRLTyxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYTt3REFRZCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHByaW1pdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLXJlYWRvbmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vcmVhZG9ubHkuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkb25seUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbW9kZWw/OiBwcmltaXRpdmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPGxhYmVsPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyZWFkb25seSBwLTJcIj5cclxuICB7e21vZGVsfX1cclxuPC9kaXY+Il19