@vgip/meta-ui 2.0.0 → 2.1.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 (206) hide show
  1. package/fesm2022/vgip-meta-ui.mjs +5614 -78
  2. package/fesm2022/vgip-meta-ui.mjs.map +1 -1
  3. package/index.d.ts +709 -5
  4. package/package.json +5 -8
  5. package/vendor/volta3/README.md +1 -0
  6. package/vendor/volta3/fonts/Spezia-Regular.eot +0 -0
  7. package/vendor/volta3/fonts/Spezia-Regular.ttf +0 -0
  8. package/vendor/volta3/fonts/Spezia-Regular.woff +0 -0
  9. package/vendor/volta3/fonts/Spezia-Regular.woff2 +0 -0
  10. package/vendor/volta3/fonts/Spezia-SemiBold.eot +0 -0
  11. package/vendor/volta3/fonts/Spezia-SemiBold.ttf +0 -0
  12. package/vendor/volta3/fonts/Spezia-SemiBold.woff +0 -0
  13. package/vendor/volta3/fonts/Spezia-SemiBold.woff2 +0 -0
  14. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.eot +0 -0
  15. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.ttf +0 -0
  16. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.woff +0 -0
  17. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.woff2 +0 -0
  18. package/vendor/volta3/fonts/Spezia-WideMedium.eot +0 -0
  19. package/vendor/volta3/fonts/Spezia-WideMedium.ttf +0 -0
  20. package/vendor/volta3/fonts/Spezia-WideMedium.woff +0 -0
  21. package/vendor/volta3/fonts/Spezia-WideMedium.woff2 +0 -0
  22. package/vendor/volta3/scss/components/_accordions.scss +165 -0
  23. package/vendor/volta3/scss/components/_badge.scss +325 -0
  24. package/vendor/volta3/scss/components/_blockquote.scss +35 -0
  25. package/vendor/volta3/scss/components/_boxes.scss +113 -0
  26. package/vendor/volta3/scss/components/_buttons.scss +794 -0
  27. package/vendor/volta3/scss/components/_callouts.scss +427 -0
  28. package/vendor/volta3/scss/components/_card.scss +421 -0
  29. package/vendor/volta3/scss/components/_color-classes.scss +186 -0
  30. package/vendor/volta3/scss/components/_dialpad.scss +224 -0
  31. package/vendor/volta3/scss/components/_dropdowns.scss +495 -0
  32. package/vendor/volta3/scss/components/_empties.scss +77 -0
  33. package/vendor/volta3/scss/components/_flash-messages.scss +39 -0
  34. package/vendor/volta3/scss/components/_form-elements.scss +879 -0
  35. package/vendor/volta3/scss/components/_lists.scss +427 -0
  36. package/vendor/volta3/scss/components/_modals.scss +227 -0
  37. package/vendor/volta3/scss/components/_popups.scss +173 -0
  38. package/vendor/volta3/scss/components/_progress.scss +28 -0
  39. package/vendor/volta3/scss/components/_spinner.scss +105 -0
  40. package/vendor/volta3/scss/components/_steps.scss +242 -0
  41. package/vendor/volta3/scss/components/_switch.scss +353 -0
  42. package/vendor/volta3/scss/components/_tables.scss +739 -0
  43. package/vendor/volta3/scss/components/_tabs.scss +296 -0
  44. package/vendor/volta3/scss/components/_text-separator.scss +61 -0
  45. package/vendor/volta3/scss/components/_tooltips.scss +152 -0
  46. package/vendor/volta3/scss/components/side-navigation/_side-nav--aqua.scss +179 -0
  47. package/vendor/volta3/scss/components/side-navigation/_side-nav--collapsible.scss +381 -0
  48. package/vendor/volta3/scss/components/side-navigation/_side-nav--dark.scss +196 -0
  49. package/vendor/volta3/scss/components/side-navigation/_side-nav--light.scss +174 -0
  50. package/vendor/volta3/scss/components/side-navigation/_side-nav--structure.scss +631 -0
  51. package/vendor/volta3/scss/components/side-navigation/_side-nav--tabs.scss +88 -0
  52. package/vendor/volta3/scss/flatpickr/_flatpickr-volta.scss +407 -0
  53. package/vendor/volta3/scss/flatpickr/_flatpickr.css +785 -0
  54. package/vendor/volta3/scss/layout/_article.scss +119 -0
  55. package/vendor/volta3/scss/layout/_utils.scss +174 -0
  56. package/vendor/volta3/scss/lib/_grid.scss +374 -0
  57. package/vendor/volta3/scss/lib/_mediaqueries.scss +52 -0
  58. package/vendor/volta3/scss/lib/_reset.scss +110 -0
  59. package/vendor/volta3/scss/lib/_type.scss +345 -0
  60. package/vendor/volta3/scss/lib/_utils.scss +26 -0
  61. package/vendor/volta3/scss/lib/_variables.scss +115 -0
  62. package/vendor/volta3/scss/prism/_prism-volta.scss +390 -0
  63. package/vendor/volta3/scss/prism/_prism.css +326 -0
  64. package/vendor/volta3/scss/templates/volta-error-page.scss +57 -0
  65. package/vendor/volta3/scss/templates/volta-templates.scss +114 -0
  66. package/vendor/volta3/scss/volta-flatpickr.scss +10 -0
  67. package/vendor/volta3/scss/volta-prism.scss +7 -0
  68. package/vendor/volta3/scss/volta.scss +39 -0
  69. package/vendor/volta3/symbol/volta-brand-icons.svg +1 -0
  70. package/vendor/volta3/symbol/volta-flag-icons.svg +1 -0
  71. package/vendor/volta3/symbol/volta-icons.svg +1 -0
  72. package/esm2022/lib/common/fieldNormalizer/boolean.mjs +0 -12
  73. package/esm2022/lib/common/fieldNormalizer/datetime.mjs +0 -9
  74. package/esm2022/lib/common/fieldNormalizer/index.mjs +0 -183
  75. package/esm2022/lib/common/fieldNormalizer/number.mjs +0 -14
  76. package/esm2022/lib/common/fieldNormalizer/options.mjs +0 -50
  77. package/esm2022/lib/common/fieldNormalizer/radio.mjs +0 -30
  78. package/esm2022/lib/common/fieldNormalizer/reference.mjs +0 -36
  79. package/esm2022/lib/common/fieldNormalizer/richtext.mjs +0 -15
  80. package/esm2022/lib/common/fieldNormalizer/string.mjs +0 -24
  81. package/esm2022/lib/common/fieldNormalizer/text.mjs +0 -18
  82. package/esm2022/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -23
  83. package/esm2022/lib/common/metaAutofocus.directive.mjs +0 -35
  84. package/esm2022/lib/common/metaIcons.pipe.mjs +0 -29
  85. package/esm2022/lib/common/metaModel.pipe.mjs +0 -23
  86. package/esm2022/lib/common/metaNormalizer.mjs +0 -375
  87. package/esm2022/lib/common/metaStripHtml.pipe.mjs +0 -22
  88. package/esm2022/lib/common/utils/colorThemes.mjs +0 -77
  89. package/esm2022/lib/common/utils/indexedDbStore/index.mjs +0 -228
  90. package/esm2022/lib/common/utils/relativeTimeBuilder.mjs +0 -49
  91. package/esm2022/lib/common/utils/resourceCardLabel.mjs +0 -24
  92. package/esm2022/lib/common/utils/smartProp.mjs +0 -31
  93. package/esm2022/lib/common/utils/templateBuilder.mjs +0 -103
  94. package/esm2022/lib/fieldAbstract.mjs +0 -291
  95. package/esm2022/lib/fieldBoolean/index.mjs +0 -53
  96. package/esm2022/lib/fieldComposite/index.mjs +0 -82
  97. package/esm2022/lib/fieldDatetime/index.mjs +0 -365
  98. package/esm2022/lib/fieldHidden/index.mjs +0 -18
  99. package/esm2022/lib/fieldInput/index.mjs +0 -475
  100. package/esm2022/lib/fieldList/index.mjs +0 -74
  101. package/esm2022/lib/fieldRadio/index.mjs +0 -88
  102. package/esm2022/lib/fieldReference/index.mjs +0 -836
  103. package/esm2022/lib/fieldRichtext/index.mjs +0 -93
  104. package/esm2022/lib/fieldSelect/index.mjs +0 -569
  105. package/esm2022/lib/fieldText/index.mjs +0 -83
  106. package/esm2022/lib/fieldUnknown/index.mjs +0 -19
  107. package/esm2022/lib/index.mjs +0 -163
  108. package/esm2022/lib/layout/index.mjs +0 -214
  109. package/esm2022/lib/metaField/index.mjs +0 -151
  110. package/esm2022/lib/refDialog/index.mjs +0 -135
  111. package/esm2022/lib/resource/index.mjs +0 -525
  112. package/esm2022/lib/resourceCard/index.mjs +0 -40
  113. package/esm2022/lib/services/metaContext/index.mjs +0 -52
  114. package/esm2022/lib/services/metaMsg/index.mjs +0 -84
  115. package/esm2022/lib/services/metaReference/index.mjs +0 -94
  116. package/esm2022/lib/services/metaResource/index.mjs +0 -141
  117. package/esm2022/lib/services/metaResource/metaHttpClient.mjs +0 -64
  118. package/esm2022/lib/services/metaTracker/index.mjs +0 -31
  119. package/esm2022/lib/services/resourceDrafts/index.mjs +0 -69
  120. package/esm2022/public-api.mjs +0 -5
  121. package/esm2022/vgip-meta-ui.mjs +0 -5
  122. package/fesm2022/vgip-meta-ui-fieldAbstract-baeaf24d.mjs +0 -399
  123. package/fesm2022/vgip-meta-ui-fieldAbstract-baeaf24d.mjs.map +0 -1
  124. package/fesm2022/vgip-meta-ui-index-0184d5ec.mjs +0 -478
  125. package/fesm2022/vgip-meta-ui-index-0184d5ec.mjs.map +0 -1
  126. package/fesm2022/vgip-meta-ui-index-1ddfcce0.mjs +0 -86
  127. package/fesm2022/vgip-meta-ui-index-1ddfcce0.mjs.map +0 -1
  128. package/fesm2022/vgip-meta-ui-index-37358620.mjs +0 -158
  129. package/fesm2022/vgip-meta-ui-index-37358620.mjs.map +0 -1
  130. package/fesm2022/vgip-meta-ui-index-4e9c383f.mjs +0 -95
  131. package/fesm2022/vgip-meta-ui-index-4e9c383f.mjs.map +0 -1
  132. package/fesm2022/vgip-meta-ui-index-4fa919c0.mjs +0 -79
  133. package/fesm2022/vgip-meta-ui-index-4fa919c0.mjs.map +0 -1
  134. package/fesm2022/vgip-meta-ui-index-5f68724c.mjs +0 -576
  135. package/fesm2022/vgip-meta-ui-index-5f68724c.mjs.map +0 -1
  136. package/fesm2022/vgip-meta-ui-index-6d502a71.mjs +0 -869
  137. package/fesm2022/vgip-meta-ui-index-6d502a71.mjs.map +0 -1
  138. package/fesm2022/vgip-meta-ui-index-7741951a.mjs +0 -23
  139. package/fesm2022/vgip-meta-ui-index-7741951a.mjs.map +0 -1
  140. package/fesm2022/vgip-meta-ui-index-80ab405f.mjs +0 -93
  141. package/fesm2022/vgip-meta-ui-index-80ab405f.mjs.map +0 -1
  142. package/fesm2022/vgip-meta-ui-index-926ae006.mjs +0 -58
  143. package/fesm2022/vgip-meta-ui-index-926ae006.mjs.map +0 -1
  144. package/fesm2022/vgip-meta-ui-index-b979685f.mjs +0 -87
  145. package/fesm2022/vgip-meta-ui-index-b979685f.mjs.map +0 -1
  146. package/fesm2022/vgip-meta-ui-index-c943b7c0.mjs +0 -24
  147. package/fesm2022/vgip-meta-ui-index-c943b7c0.mjs.map +0 -1
  148. package/fesm2022/vgip-meta-ui-index-ce185ca2.mjs +0 -2062
  149. package/fesm2022/vgip-meta-ui-index-ce185ca2.mjs.map +0 -1
  150. package/fesm2022/vgip-meta-ui-index-f8b00f06.mjs +0 -370
  151. package/fesm2022/vgip-meta-ui-index-f8b00f06.mjs.map +0 -1
  152. package/fesm2022/vgip-meta-ui-index-fb7f54f5.mjs +0 -154
  153. package/fesm2022/vgip-meta-ui-index-fb7f54f5.mjs.map +0 -1
  154. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs +0 -26
  155. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs.map +0 -1
  156. package/fesm2022/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
  157. package/fesm2022/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
  158. package/lib/common/fieldNormalizer/boolean.d.ts +0 -1
  159. package/lib/common/fieldNormalizer/datetime.d.ts +0 -1
  160. package/lib/common/fieldNormalizer/index.d.ts +0 -1
  161. package/lib/common/fieldNormalizer/number.d.ts +0 -1
  162. package/lib/common/fieldNormalizer/options.d.ts +0 -1
  163. package/lib/common/fieldNormalizer/radio.d.ts +0 -1
  164. package/lib/common/fieldNormalizer/reference.d.ts +0 -1
  165. package/lib/common/fieldNormalizer/richtext.d.ts +0 -1
  166. package/lib/common/fieldNormalizer/string.d.ts +0 -1
  167. package/lib/common/fieldNormalizer/text.d.ts +0 -1
  168. package/lib/common/fieldNormalizer/uniqueNameFilter.d.ts +0 -1
  169. package/lib/common/metaAutofocus.directive.d.ts +0 -10
  170. package/lib/common/metaIcons.pipe.d.ts +0 -10
  171. package/lib/common/metaModel.pipe.d.ts +0 -7
  172. package/lib/common/metaNormalizer.d.ts +0 -1
  173. package/lib/common/metaStripHtml.pipe.d.ts +0 -7
  174. package/lib/common/utils/colorThemes.d.ts +0 -8
  175. package/lib/common/utils/indexedDbStore/index.d.ts +0 -25
  176. package/lib/common/utils/relativeTimeBuilder.d.ts +0 -1
  177. package/lib/common/utils/resourceCardLabel.d.ts +0 -1
  178. package/lib/common/utils/smartProp.d.ts +0 -2
  179. package/lib/common/utils/templateBuilder.d.ts +0 -1
  180. package/lib/fieldAbstract.d.ts +0 -61
  181. package/lib/fieldBoolean/index.d.ts +0 -10
  182. package/lib/fieldComposite/index.d.ts +0 -14
  183. package/lib/fieldDatetime/index.d.ts +0 -26
  184. package/lib/fieldHidden/index.d.ts +0 -6
  185. package/lib/fieldInput/index.d.ts +0 -35
  186. package/lib/fieldList/index.d.ts +0 -15
  187. package/lib/fieldRadio/index.d.ts +0 -14
  188. package/lib/fieldReference/index.d.ts +0 -73
  189. package/lib/fieldRichtext/index.d.ts +0 -27
  190. package/lib/fieldSelect/index.d.ts +0 -49
  191. package/lib/fieldText/index.d.ts +0 -15
  192. package/lib/fieldUnknown/index.d.ts +0 -6
  193. package/lib/index.d.ts +0 -65
  194. package/lib/layout/index.d.ts +0 -47
  195. package/lib/metaField/index.d.ts +0 -29
  196. package/lib/refDialog/index.d.ts +0 -33
  197. package/lib/resource/index.d.ts +0 -68
  198. package/lib/resourceCard/index.d.ts +0 -17
  199. package/lib/services/metaContext/index.d.ts +0 -32
  200. package/lib/services/metaMsg/index.d.ts +0 -14
  201. package/lib/services/metaReference/index.d.ts +0 -11
  202. package/lib/services/metaResource/index.d.ts +0 -31
  203. package/lib/services/metaResource/metaHttpClient.d.ts +0 -15
  204. package/lib/services/metaTracker/index.d.ts +0 -19
  205. package/lib/services/resourceDrafts/index.d.ts +0 -26
  206. package/public-api.d.ts +0 -1
@@ -1,375 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:34:49
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2023-02-10 09:44:59
6
- */
7
- import { fieldNormalizer } from './fieldNormalizer';
8
- import { uniqueNameFilter } from './fieldNormalizer/uniqueNameFilter';
9
- const sortObj = (obj) => {
10
- if (typeof (obj) !== 'object' || obj === null) {
11
- return obj;
12
- }
13
- if (Array.isArray(obj)) {
14
- return obj.map((e) => sortObj(e)).sort();
15
- }
16
- return Object.keys(obj).sort().reduce((sorted, k) => {
17
- sorted[k] = sortObj(obj[k]);
18
- return sorted;
19
- }, {});
20
- };
21
- export const metaNormalizer = (meta, integration, resourceType) => {
22
- const uniqFieldNames = [];
23
- const integrationCode = (integration || '').toUpperCase();
24
- const metaV3 = {
25
- integration,
26
- resourceType,
27
- availableLayouts: meta.availableLayouts,
28
- layout: {
29
- id: meta.layout.id,
30
- name: meta.layout.name,
31
- label: meta.layout.label,
32
- version: '3.0.0',
33
- sections: (meta.layout.sections || []).map((s) => {
34
- const section = {
35
- label: s.label,
36
- fields: uniqueNameFilter(s.fields || [], uniqFieldNames).map((v) => fieldNormalizer(v, uniqFieldNames)) // VIST-424
37
- };
38
- if (s.visible || s.alwaysVisible) {
39
- section.visible = s.visible || s.alwaysVisible;
40
- }
41
- return section;
42
- })
43
- }
44
- };
45
- if (meta.layout.origLayoutId) {
46
- metaV3.layout.origLayoutId = meta.layout.origLayoutId;
47
- }
48
- if (meta.drafts) {
49
- metaV3.drafts = meta.drafts;
50
- }
51
- if (meta.layout.children) {
52
- metaV3.layout.children = meta.layout.children;
53
- }
54
- const fieldFixesByIntegration = (f) => {
55
- if (f.type === 'boolean' && ((typeof (f.default) !== 'boolean') && f.default && !f.default.value)) {
56
- delete f.default;
57
- }
58
- else if (f.type === 'reference') {
59
- const references = (f.reference instanceof Array) ? f.reference : [f.reference];
60
- for (const r of references) {
61
- if (r && r.creatable === false && typeof (r.updatable) === 'undefined') {
62
- r.updatable = false; // User missing updatable, may be other too
63
- }
64
- }
65
- }
66
- switch (integrationCode) {
67
- case 'BULLHORN': {
68
- if (resourceType === 'Appointment') {
69
- if (['dateBegin', 'dateEnd'].indexOf(f.name) !== -1) {
70
- if (!f.validations) {
71
- f.validations = { step: 1800 };
72
- }
73
- else {
74
- f.validations.step = 1800;
75
- }
76
- f.default = f.name === 'dateBegin' ? 'now' : '30.minutes';
77
- if (!f.auto) {
78
- f.auto = {};
79
- }
80
- f.auto[f.name === 'dateBegin' ? 'lt' : 'gt'] = {
81
- against: f.name === 'dateBegin' ? 'dateEnd' : 'dateBegin',
82
- offset: `${f.name === 'dateBegin' ? '-30' : '30'}.minutes`
83
- };
84
- }
85
- }
86
- if (f.name === 'comments') {
87
- if (!f.validations) {
88
- f.valudations = { required: true };
89
- }
90
- else {
91
- f.validations.required = true;
92
- }
93
- if (resourceType === 'Note') {
94
- f.type = 'richtext';
95
- }
96
- }
97
- if (f.name === 'address.state') {
98
- f.creatable = false;
99
- f.updatable = false;
100
- }
101
- break;
102
- }
103
- case 'GOOGLE': {
104
- if (f.name === 'contactId') {
105
- f.label = 'Contact';
106
- }
107
- else if (['start', 'end'].indexOf(f.name) !== -1) {
108
- if (!f.auto) {
109
- f.auto = {};
110
- }
111
- f.auto[f.name === 'start' ? 'lt' : 'gt'] = {
112
- against: f.name === 'start' ? 'end' : 'start',
113
- offset: `${f.name === 'start' ? '-30' : '30'}.minutes`
114
- };
115
- }
116
- break;
117
- }
118
- case 'OFFICE365': {
119
- if (resourceType === 'Events') {
120
- if (['start', 'end'].indexOf(f.name) !== -1) {
121
- if (!f.validations) {
122
- f.validations = { step: 1800 };
123
- }
124
- else {
125
- f.validations.step = 1800;
126
- }
127
- f.default = f.name === 'start' ? 'now' : '30.minutes';
128
- }
129
- }
130
- if (resourceType === 'Tasks' && f.name === 'checklist') {
131
- f.creatable = false;
132
- }
133
- if (f.name === 'description' && resourceType !== 'Tasks') {
134
- f.type = 'richtext';
135
- }
136
- else if (f.name === 'content') {
137
- f.type = 'text';
138
- }
139
- break;
140
- }
141
- case 'SALESFORCE': {
142
- if (resourceType === 'Task' && f.name === 'WhatId') {
143
- f.disabled = {
144
- 'WhoId.type': 'Lead'
145
- };
146
- }
147
- if (['Description', 'ParentId'].indexOf(f.name) !== -1) {
148
- if (!f.visible) {
149
- f.visible = true;
150
- }
151
- }
152
- if (f.type === 'reference') {
153
- const references = (f.reference instanceof Array) ? f.reference : [f.reference];
154
- for (const r of references) {
155
- if (r && ['Account'].indexOf(r.name) !== -1) { // force creatable
156
- r.creatable = true;
157
- r.updatable = true;
158
- }
159
- }
160
- }
161
- break;
162
- }
163
- case 'SUGAR': {
164
- if (['description', 'parent_id', 'contact_id', 'contacts'].indexOf(f.name) !== -1) {
165
- if (!f.visible) {
166
- f.visible = true;
167
- }
168
- }
169
- if (f.type === 'reference') {
170
- const references = (f.reference instanceof Array) ? f.reference : [f.reference];
171
- for (const r of references) {
172
- if (r && ['Accounts', 'Contacts', 'Leads'].indexOf(r.name) !== -1) {
173
- r.label = r.name.slice(0, -1); // Use singular labels
174
- r.creatable = true;
175
- r.updatable = true;
176
- }
177
- }
178
- }
179
- break;
180
- }
181
- case 'ZENDESK': {
182
- if (resourceType === 'Ticket' && f.name === 'assignee') {
183
- f.reference.updatable = false;
184
- }
185
- if (resourceType === 'Comment' && f.name === 'body') {
186
- f.visible = true;
187
- }
188
- break;
189
- }
190
- case 'HUBSPOT': {
191
- if ((resourceType === 'LogCall' && ['body', 'hs_call_body'].indexOf(f.name) !== -1) ||
192
- (resourceType === 'LogSMS' && f.name === 'hs_communication_body')) {
193
- f.type = 'richtext';
194
- }
195
- break;
196
- }
197
- case 'NETSUITE': {
198
- if (f.name === 'company' && !f.auto) {
199
- f.auto = {
200
- search: {
201
- params: {
202
- contactId: 'contact.id'
203
- },
204
- url: '../Contact/${contactId}?expand=company',
205
- extract: 'company'
206
- }
207
- };
208
- }
209
- break;
210
- }
211
- case 'ZOHO': {
212
- if (['Calls', 'Tasks', 'Events'].indexOf(resourceType) !== -1 && ['Who_Id', 'What_Id'].indexOf(f.name) !== -1) {
213
- if (f.name === 'What_Id') {
214
- f.visible = true;
215
- f.disabled = {
216
- 'Who_Id.type': 'Leads'
217
- };
218
- }
219
- if (f.reference instanceof Array) {
220
- f.reference.forEach((r) => {
221
- r.creatable = true;
222
- r.updatable = true;
223
- });
224
- }
225
- }
226
- if (resourceType === 'Calls' && f.name === 'Description') {
227
- f.label = 'Description';
228
- f.visible = true;
229
- f.hidden = {
230
- "Call_Type": "Missed"
231
- };
232
- }
233
- break;
234
- }
235
- }
236
- if (f.type === 'composite' && f.fields) {
237
- for (const ff of f.fields) {
238
- fieldFixesByIntegration(ff);
239
- }
240
- }
241
- };
242
- // common fixes for all integrations
243
- if (metaV3.layout.sections.length) {
244
- for (const s of (metaV3.layout.sections)) {
245
- if (!s || !s.fields) {
246
- break;
247
- }
248
- for (const f of s.fields) {
249
- fieldFixesByIntegration(f);
250
- }
251
- }
252
- }
253
- // Google Gmail children enhancement
254
- if (integrationCode === 'GOOGLE') {
255
- if (resourceType === 'Mail') {
256
- metaV3.layout.editable = false;
257
- if (!metaV3.layout.children) {
258
- metaV3.layout.children = [{
259
- label: 'Comments',
260
- name: 'comments',
261
- reference: {
262
- resourceType: 'Comment',
263
- label: 'Comment',
264
- editable: false
265
- }
266
- }];
267
- }
268
- }
269
- else if (resourceType === 'Task') {
270
- if (!metaV3.layout.children) {
271
- metaV3.layout.children = [{
272
- label: 'Subtasks',
273
- name: 'subTasks',
274
- reference: {
275
- resourceType: 'Subtask',
276
- label: 'Subtask'
277
- }
278
- }];
279
- }
280
- }
281
- else if (resourceType === 'Comment') {
282
- metaV3.layout.editable = false;
283
- }
284
- }
285
- else if (integrationCode === 'ZENDESK') {
286
- if (resourceType === 'Ticket') {
287
- if (!metaV3.layout.children) {
288
- metaV3.layout.children = [{
289
- label: 'Comments',
290
- name: 'comments',
291
- reference: {
292
- resourceType: 'Comment',
293
- label: 'Comment',
294
- editable: false
295
- }
296
- }];
297
- }
298
- }
299
- else if (resourceType === 'Comment') {
300
- metaV3.layout.editable = false;
301
- }
302
- }
303
- else if (integrationCode === 'MSDYNAMICS' && !metaV3.fieldsMap) {
304
- if (resourceType === 'phonecall') {
305
- metaV3.fieldsMap = {
306
- contactables: ['from', 'to'],
307
- subject: 'subject',
308
- phoneNumber: 'phonenumber',
309
- };
310
- }
311
- else if (resourceType === 'contact') {
312
- metaV3.fieldsMap = {
313
- phoneNumber: 'telephone1',
314
- firstName: 'firstname',
315
- lastName: 'lastname'
316
- };
317
- }
318
- else if (resourceType === 'account') {
319
- metaV3.fieldsMap = {
320
- phoneNumber: 'telephone1',
321
- displayName: 'name'
322
- };
323
- }
324
- }
325
- else if (integrationCode === 'OFFICE365') {
326
- if (resourceType === 'Conversations') {
327
- metaV3.layout.editable = false;
328
- metaV3.layout.children = [{
329
- label: 'Comments',
330
- name: 'comments',
331
- reference: {
332
- resourceType: 'Comment',
333
- label: 'Comment',
334
- editable: false
335
- }
336
- }];
337
- }
338
- else if (resourceType === 'Comment') {
339
- metaV3.layout.editable = false;
340
- }
341
- }
342
- else if (integrationCode === 'JOBDIVA') {
343
- if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
344
- metaV3.layout.editable = false;
345
- }
346
- }
347
- else if (integrationCode === 'CLIO' && resourceType === 'Contact') {
348
- metaV3.layout.sections[0].fields.push({
349
- name: 'custom_field_values',
350
- type: 'hidden'
351
- });
352
- }
353
- else if (integrationCode === 'CONNECTWISE' && ['companies', 'contacts'].indexOf(resourceType) !== -1) {
354
- metaV3.layout.sections[0].fields.push({
355
- name: 'billToCompany',
356
- type: 'hidden'
357
- });
358
- metaV3.layout.sections[0].fields.push({
359
- name: 'identifier',
360
- type: 'hidden'
361
- });
362
- metaV3.layout.sections[0].fields.push({
363
- name: 'status',
364
- type: 'hidden'
365
- });
366
- }
367
- else if (integrationCode === 'ZOHO' && resourceType === 'Tasks') {
368
- metaV3.layout.sections[0].fields.push({
369
- name: 'module',
370
- type: 'hidden'
371
- });
372
- }
373
- return sortObj(metaV3);
374
- };
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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OiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQERhdGU6IDIwMTktMDktMTkgMTc6MzQ6NDlcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAyMy0wMi0xMCAwOTo0NDo1OVxuICovXG5cbmltcG9ydCB7IGZpZWxkTm9ybWFsaXplciB9IGZyb20gJy4vZmllbGROb3JtYWxpemVyJztcbmltcG9ydCB7IHVuaXF1ZU5hbWVGaWx0ZXIgfSBmcm9tICcuL2ZpZWxkTm9ybWFsaXplci91bmlxdWVOYW1lRmlsdGVyJztcblxuY29uc3Qgc29ydE9iaiA9IChvYmopID0+IHtcbiAgaWYgKHR5cGVvZihvYmopICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKChlKSA9PiBzb3J0T2JqKGUpKS5zb3J0KCk7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5zb3J0KCkucmVkdWNlKChzb3J0ZWQsIGspID0+IHtcbiAgICBzb3J0ZWRba10gPSBzb3J0T2JqKG9ialtrXSk7XG4gICAgcmV0dXJuIHNvcnRlZDtcbiAgfSwge30pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFOb3JtYWxpemVyID0gKG1ldGEsIGludGVncmF0aW9uLCByZXNvdXJjZVR5cGUpID0+IHtcbiAgY29uc3QgdW5pcUZpZWxkTmFtZXMgPSBbXTtcbiAgY29uc3QgaW50ZWdyYXRpb25Db2RlID0gKGludGVncmF0aW9uIHx8ICcnKS50b1VwcGVyQ2FzZSgpO1xuICBjb25zdCBtZXRhVjM6IGFueSA9IHtcbiAgICBpbnRlZ3JhdGlvbixcbiAgICByZXNvdXJjZVR5cGUsXG4gICAgYXZhaWxhYmxlTGF5b3V0czogbWV0YS5hdmFpbGFibGVMYXlvdXRzLFxuICAgIGxheW91dDoge1xuICAgICAgaWQ6IG1ldGEubGF5b3V0LmlkLFxuICAgICAgbmFtZTogbWV0YS5sYXlvdXQubmFtZSxcbiAgICAgIGxhYmVsOiBtZXRhLmxheW91dC5sYWJlbCxcbiAgICAgIHZlcnNpb246ICczLjAuMCcsXG4gICAgICBzZWN0aW9uczogKG1ldGEubGF5b3V0LnNlY3Rpb25zIHx8IFtdKS5tYXAoKHMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbjogYW55ID0ge1xuICAgICAgICAgIGxhYmVsOiBzLmxhYmVsLFxuICAgICAgICAgIGZpZWxkczogdW5pcXVlTmFtZUZpbHRlcihzLmZpZWxkcyB8fCBbXSwgdW5pcUZpZWxkTmFtZXMpLm1hcCgodikgPT4gZmllbGROb3JtYWxpemVyKHYsIHVuaXFGaWVsZE5hbWVzKSkgLy8gVklTVC00MjRcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHMudmlzaWJsZSB8fCBzLmFsd2F5c1Zpc2libGUpIHtcbiAgICAgICAgICBzZWN0aW9uLnZpc2libGUgPSBzLnZpc2libGUgfHwgcy5hbHdheXNWaXNpYmxlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWN0aW9uO1xuICAgICAgfSlcbiAgICB9XG4gIH07XG4gIGlmIChtZXRhLmxheW91dC5vcmlnTGF5b3V0SWQpIHtcbiAgICBtZXRhVjMubGF5b3V0Lm9yaWdMYXlvdXRJZCA9IG1ldGEubGF5b3V0Lm9yaWdMYXlvdXRJZDtcbiAgfVxuICBpZiAobWV0YS5kcmFmdHMpIHtcbiAgICBtZXRhVjMuZHJhZnRzID0gbWV0YS5kcmFmdHM7XG4gIH1cbiAgaWYgKG1ldGEubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IG1ldGEubGF5b3V0LmNoaWxkcmVuO1xuICB9XG5cbiAgY29uc3QgZmllbGRGaXhlc0J5SW50ZWdyYXRpb24gPSAoZikgPT4ge1xuICAgIGlmIChmLnR5cGUgPT09ICdib29sZWFuJyAmJiAoKHR5cGVvZihmLmRlZmF1bHQpICE9PSAnYm9vbGVhbicpICYmIGYuZGVmYXVsdCAmJiAhZi5kZWZhdWx0LnZhbHVlKSApIHtcbiAgICAgIGRlbGV0ZSBmLmRlZmF1bHQ7XG4gICAgfSBlbHNlIGlmIChmLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgaWYgKHIgJiYgci5jcmVhdGFibGUgPT09IGZhbHNlICYmIHR5cGVvZihyLnVwZGF0YWJsZSkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgci51cGRhdGFibGUgPSBmYWxzZTsgLy8gVXNlciBtaXNzaW5nIHVwZGF0YWJsZSwgbWF5IGJlIG90aGVyIHRvb1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHN3aXRjaCAoaW50ZWdyYXRpb25Db2RlKSB7XG4gICAgICBjYXNlICdCVUxMSE9STic6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0FwcG9pbnRtZW50Jykge1xuICAgICAgICAgIGlmIChbJ2RhdGVCZWdpbicsICdkYXRlRW5kJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICAgIGYudmFsaWRhdGlvbnMgPSB7IHN0ZXA6IDE4MDAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGYudmFsaWRhdGlvbnMuc3RlcCA9IDE4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmRlZmF1bHQgPSBmLm5hbWUgPT09ICdkYXRlQmVnaW4nID8gJ25vdycgOiAnMzAubWludXRlcyc7XG4gICAgICAgICAgICBpZiAoIWYuYXV0bykge1xuICAgICAgICAgICAgICBmLmF1dG8gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGYuYXV0b1tmLm5hbWUgPT09ICdkYXRlQmVnaW4nID8gJ2x0JyA6ICdndCddID0ge1xuICAgICAgICAgICAgICBhZ2FpbnN0OiBmLm5hbWUgPT09ICdkYXRlQmVnaW4nID8gJ2RhdGVFbmQnIDogJ2RhdGVCZWdpbicsXG4gICAgICAgICAgICAgIG9mZnNldDogYCR7Zi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICctMzAnIDogJzMwJ30ubWludXRlc2BcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb21tZW50cycpIHtcbiAgICAgICAgICBpZiAoIWYudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgIGYudmFsdWRhdGlvbnMgPSB7IHJlcXVpcmVkOiB0cnVlIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGYudmFsaWRhdGlvbnMucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnTm90ZScpIHtcbiAgICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdhZGRyZXNzLnN0YXRlJykge1xuICAgICAgICAgIGYuY3JlYXRhYmxlID0gZmFsc2U7XG4gICAgICAgICAgZi51cGRhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0dPT0dMRSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbnRhY3RJZCcpIHtcbiAgICAgICAgICBmLmxhYmVsID0gJ0NvbnRhY3QnO1xuICAgICAgICB9IGVsc2UgaWYgKFsnc3RhcnQnLCAnZW5kJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi5hdXRvKSB7XG4gICAgICAgICAgICBmLmF1dG8gPSB7fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZi5hdXRvW2YubmFtZSA9PT0gJ3N0YXJ0JyA/ICdsdCcgOiAnZ3QnXSA9IHtcbiAgICAgICAgICAgIGFnYWluc3Q6IGYubmFtZSA9PT0gJ3N0YXJ0JyA/ICdlbmQnIDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9mZnNldDogYCR7Zi5uYW1lID09PSAnc3RhcnQnID8gJy0zMCcgOiAnMzAnfS5taW51dGVzYFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdPRkZJQ0UzNjUnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdFdmVudHMnKSB7XG4gICAgICAgICAgaWYgKFsnc3RhcnQnLCAnZW5kJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICAgIGYudmFsaWRhdGlvbnMgPSB7IHN0ZXA6IDE4MDAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGYudmFsaWRhdGlvbnMuc3RlcCA9IDE4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmRlZmF1bHQgPSBmLm5hbWUgPT09ICdzdGFydCcgPyAnbm93JyA6ICczMC5taW51dGVzJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2tzJyAmJiBmLm5hbWUgPT09ICdjaGVja2xpc3QnKSB7XG4gICAgICAgICAgZi5jcmVhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnZGVzY3JpcHRpb24nICYmIHJlc291cmNlVHlwZSAhPT0gJ1Rhc2tzJykge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH0gZWxzZSBpZiAoZi5uYW1lID09PSAnY29udGVudCcpIHtcbiAgICAgICAgICBmLnR5cGUgPSAndGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTQUxFU0ZPUkNFJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGFzaycgJiYgZi5uYW1lID09PSAnV2hhdElkJykge1xuICAgICAgICAgIGYuZGlzYWJsZWQgPSB7XG4gICAgICAgICAgICAnV2hvSWQudHlwZSc6ICdMZWFkJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFsnRGVzY3JpcHRpb24nLCAnUGFyZW50SWQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgaWYgKCFmLnZpc2libGUpIHtcbiAgICAgICAgICAgIGYudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHIgb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgaWYgKHIgJiYgWydBY2NvdW50J10uaW5kZXhPZihyLm5hbWUpICE9PSAtMSkgeyAvLyBmb3JjZSBjcmVhdGFibGVcbiAgICAgICAgICAgICAgci5jcmVhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICByLnVwZGF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU1VHQVInOiB7XG4gICAgICAgIGlmIChbJ2Rlc2NyaXB0aW9uJywgJ3BhcmVudF9pZCcsICdjb250YWN0X2lkJywgJ2NvbnRhY3RzJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi52aXNpYmxlKSB7XG4gICAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGlmIChyICYmIFsnQWNjb3VudHMnLCAnQ29udGFjdHMnLCAnTGVhZHMnXS5pbmRleE9mKHIubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHIubGFiZWwgPSByLm5hbWUuc2xpY2UoMCwgLTEpOyAvLyBVc2Ugc2luZ3VsYXIgbGFiZWxzXG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1pFTkRFU0snOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUaWNrZXQnICYmIGYubmFtZSA9PT0gJ2Fzc2lnbmVlJykge1xuICAgICAgICAgIGYucmVmZXJlbmNlLnVwZGF0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb21tZW50JyAmJiBmLm5hbWUgPT09ICdib2R5Jykge1xuICAgICAgICAgIGYudmlzaWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdIVUJTUE9UJzoge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKHJlc291cmNlVHlwZSA9PT0gJ0xvZ0NhbGwnICYmIFsnYm9keScsICdoc19jYWxsX2JvZHknXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB8fFxuICAgICAgICAgIChyZXNvdXJjZVR5cGUgPT09ICdMb2dTTVMnICYmIGYubmFtZSA9PT0gJ2hzX2NvbW11bmljYXRpb25fYm9keScpXG4gICAgICAgICkge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdORVRTVUlURSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbXBhbnknICYmICFmLmF1dG8pIHtcbiAgICAgICAgICBmLmF1dG8gPSB7XG4gICAgICAgICAgICBzZWFyY2g6IHtcbiAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgY29udGFjdElkOiAnY29udGFjdC5pZCdcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXJsOiAnLi4vQ29udGFjdC8ke2NvbnRhY3RJZH0/ZXhwYW5kPWNvbXBhbnknLFxuICAgICAgICAgICAgICBleHRyYWN0OiAnY29tcGFueSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnWk9ITyc6IHtcbiAgICAgICAgaWYgKFsnQ2FsbHMnLCAnVGFza3MnLCAnRXZlbnRzJ10uaW5kZXhPZihyZXNvdXJjZVR5cGUpICE9PSAtMSAmJiBbJ1dob19JZCcsICdXaGF0X0lkJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmIChmLm5hbWUgPT09ICdXaGF0X0lkJykge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGYuZGlzYWJsZWQgPSB7XG4gICAgICAgICAgICAgICdXaG9fSWQudHlwZSc6ICdMZWFkcydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBmLnJlZmVyZW5jZS5mb3JFYWNoKChyKSA9PiB7XG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDYWxscycgJiYgZi5uYW1lID09PSAnRGVzY3JpcHRpb24nKSB7XG4gICAgICAgICAgZi5sYWJlbCA9ICdEZXNjcmlwdGlvbidcbiAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIGYuaGlkZGVuID0ge1xuICAgICAgICAgICAgXCJDYWxsX1R5cGVcIjogXCJNaXNzZWRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGYudHlwZSA9PT0gJ2NvbXBvc2l0ZScgJiYgZi5maWVsZHMpIHtcbiAgICAgIGZvciAoY29uc3QgZmYgb2YgZi5maWVsZHMpIHtcbiAgICAgICAgZmllbGRGaXhlc0J5SW50ZWdyYXRpb24oZmYpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvLyBjb21tb24gZml4ZXMgZm9yIGFsbCBpbnRlZ3JhdGlvbnNcbiAgaWYgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCBzIG9mIChtZXRhVjMubGF5b3V0LnNlY3Rpb25zKSkge1xuICAgICAgaWYgKCFzIHx8ICFzLmZpZWxkcykge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgZiBvZiBzLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBHb29nbGUgR21haWwgY2hpbGRyZW4gZW5oYW5jZW1lbnRcbiAgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0dPT0dMRScpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnTWFpbCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICAgIGlmICghbWV0YVYzLmxheW91dC5jaGlsZHJlbikge1xuICAgICAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gW3sgLy8gc2hvdWxkIGJlIGluY2x1ZGVkIGluIHYzIGFwaVxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnVGFzaycpIHtcbiAgICAgIGlmICghbWV0YVYzLmxheW91dC5jaGlsZHJlbikge1xuICAgICAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gW3tcbiAgICAgICAgICBsYWJlbDogJ1N1YnRhc2tzJyxcbiAgICAgICAgICBuYW1lOiAnc3ViVGFza3MnLFxuICAgICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAnU3VidGFzaycsXG4gICAgICAgICAgICBsYWJlbDogJ1N1YnRhc2snXG4gICAgICAgICAgfVxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ1pFTkRFU0snKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1RpY2tldCcpIHtcbiAgICAgIGlmICghbWV0YVYzLmxheW91dC5jaGlsZHJlbikge1xuICAgICAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gW3sgLy8gWmVuZGVzayBUaWNrZXQgY2hpbGRyZW4gZW5oYW5jZW1lbnRcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnRzJyxcbiAgICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ01TRFlOQU1JQ1MnICYmICFtZXRhVjMuZmllbGRzTWFwKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ3Bob25lY2FsbCcpIHtcbiAgICAgIG1ldGFWMy5maWVsZHNNYXAgPSB7XG4gICAgICAgIGNvbnRhY3RhYmxlczogWydmcm9tJywgJ3RvJ10sXG4gICAgICAgIHN1YmplY3Q6ICdzdWJqZWN0JyxcbiAgICAgICAgcGhvbmVOdW1iZXI6ICdwaG9uZW51bWJlcicsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnY29udGFjdCcpIHtcbiAgICAgIG1ldGFWMy5maWVsZHNNYXAgPSB7XG4gICAgICAgIHBob25lTnVtYmVyOiAndGVsZXBob25lMScsXG4gICAgICAgIGZpcnN0TmFtZTogJ2ZpcnN0bmFtZScsXG4gICAgICAgIGxhc3ROYW1lOiAnbGFzdG5hbWUnXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnYWNjb3VudCcpIHtcbiAgICAgIG1ldGFWMy5maWVsZHNNYXAgPSB7XG4gICAgICAgIHBob25lTnVtYmVyOiAndGVsZXBob25lMScsXG4gICAgICAgIGRpc3BsYXlOYW1lOiAnbmFtZSdcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ09GRklDRTM2NScpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29udmVyc2F0aW9ucycpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICBsYWJlbDogJ0NvbW1lbnRzJyxcbiAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ29tbWVudCcsXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfV07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb21tZW50Jykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdKT0JESVZBJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDYW5kaWRhdGVOb3RlJyB8fCByZXNvdXJjZVR5cGUgPT09ICdDb250YWN0Tm90ZScpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnQ0xJTycgJiYgcmVzb3VyY2VUeXBlID09PSAnQ29udGFjdCcpIHtcbiAgICBtZXRhVjMubGF5b3V0LnNlY3Rpb25zWzBdLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdjdXN0b21fZmllbGRfdmFsdWVzJyxcbiAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnQ09OTkVDVFdJU0UnICYmIFsnY29tcGFuaWVzJywgJ2NvbnRhY3RzJ10uaW5kZXhPZihyZXNvdXJjZVR5cGUpICE9PSAtMSkge1xuICAgIG1ldGFWMy5sYXlvdXQuc2VjdGlvbnNbMF0uZmllbGRzLnB1c2goe1xuICAgICAgbmFtZTogJ2JpbGxUb0NvbXBhbnknLFxuICAgICAgdHlwZTogJ2hpZGRlbidcbiAgICB9KTtcbiAgICBtZXRhVjMubGF5b3V0LnNlY3Rpb25zWzBdLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdpZGVudGlmaWVyJyxcbiAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgfSk7XG4gICAgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAnc3RhdHVzJyxcbiAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgfSk7XG4gIH1cbiAgZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWk9ITycgJiYgcmVzb3VyY2VUeXBlID09PSAnVGFza3MnKSB7XG4gICAgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAnbW9kdWxlJyxcbiAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHNvcnRPYmoobWV0YVYzKTtcbn07XG4iXX0=
@@ -1,22 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2020-04-14 12:15:36
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2020-04-14 12:21:57
6
- */
7
- import { Pipe } from '@angular/core';
8
- import * as i0 from "@angular/core";
9
- export class MetaStripHtmlPipe {
10
- transform(value) {
11
- return value.replace(/<[^>]*>/g, '');
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MetaStripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: MetaStripHtmlPipe, name: "metaStripHtml" }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MetaStripHtmlPipe, decorators: [{
17
- type: Pipe,
18
- args: [{
19
- name: 'metaStripHtml'
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YVN0cmlwSHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWV0YS11aS9zcmMvbGliL2NvbW1vbi9tZXRhU3RyaXBIdG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0VBS0U7QUFFRixPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBSFUsaUJBQWlCOzZHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSDdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiogQERhdGU6IDIwMjAtMDQtMTQgMTI6MTU6MzZcbiAqIEBMYXN0IE1vZGlmaWVkIGJ5OiBBbGV4YW5kZXIuVmFuZ2Vsb3ZAdm9uYWdlLmNvbVxuICogQExhc3QgTW9kaWZpZWQgdGltZTogMjAyMC0wNC0xNCAxMjoyMTo1N1xuKi9cblxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtZXRhU3RyaXBIdG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhU3RyaXBIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLzxbXj5dKj4vZywgJycpO1xuICB9XG59XG4iXX0=
@@ -1,77 +0,0 @@
1
- export const metaLight = {
2
- name: 'light',
3
- properties: {
4
- '--vgip-meta-resource-bg-color': '#f3f3f5',
5
- '--vgip-meta-resource-color': '#131415',
6
- '--vgip-meta-resource-bar-color': '#ffffff',
7
- '--vgip-meta-separator-color': '#e1e2e6',
8
- '--vgip-meta-scrollbar-color': '#131415',
9
- '--vgip-meta-overlay-background': 'rgba(19, 20, 21, 0.5)',
10
- '--vgip-meta-link-color': '#871fff',
11
- '--vgip-meta-link-hover-color': '#441080',
12
- '--vgip-meta-input-color': '#131415',
13
- '--vgip-meta-input-bg-color': '#ffffff',
14
- '--vgip-meta-input-label-color': '#616266',
15
- '--vgip-meta-input-border-color': '#c2c4cc',
16
- '--vgip-meta-input-active-border-color': '#2c2d30',
17
- '--vgip-meta-input-action-hover-bg-color': '#e1e2e6',
18
- '--vgip-meta-input-accent-bg-color': '#e1e2e6',
19
- '--vgip-meta-input-accent-color': '#131415',
20
- '--vgip-meta-input-placeholder-color': '#c2c4cc',
21
- '--vgip-meta-input-disabled-bg-color': '#f3f3f5',
22
- '--vgip-meta-input-disabled-border-color': '#e1e2e6',
23
- '--vgip-meta-input-hint-color': '#616266',
24
- // eslint-disable-next-line max-len
25
- '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxMzE0MTU7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',
26
- '--vgip-meta-suggestions-bg-color': '#f3e9ff',
27
- // eslint-disable-next-line max-len
28
- '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMTMxNDE1IiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',
29
- '--vgip-meta-dropdown-bg-color': '#ffffff',
30
- '--vgip-meta-dropdown-shadow': 'inset 0 0 0 1px #e1e2e6, 0 2px 5px rgba(19, 20, 21, 0.15)',
31
- '--vgip-meta-submit-hover-bg-color': '#43474b',
32
- '--vgip-meta-button-border-color': '#131415',
33
- // eslint-disable-next-line max-len
34
- '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjMTMxNDE1IiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',
35
- // eslint-disable-next-line max-len
36
- '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iIzEzMTQxNSIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'
37
- }
38
- };
39
- export const metaDark = {
40
- name: 'dark',
41
- properties: {
42
- '--vgip-meta-resource-bg-color': '#131415',
43
- '--vgip-meta-resource-color': '#ffffff',
44
- '--vgip-meta-resource-bar-color': '#242426',
45
- '--vgip-meta-separator-color': '#616266',
46
- '--vgip-meta-scrollbar-color': '#636366',
47
- '--vgip-meta-overlay-background': 'rgba(200,201,204,.32)',
48
- '--vgip-meta-link-color': '#B779FF',
49
- '--vgip-meta-link-hover-color': '#c798ff',
50
- '--vgip-meta-input-color': '#ffffff',
51
- '--vgip-meta-input-bg-color': '#242426',
52
- '--vgip-meta-input-label-color': '#959596',
53
- '--vgip-meta-input-border-color': '#616266',
54
- '--vgip-meta-input-active-border-color': '#c2c4cc',
55
- '--vgip-meta-input-action-hover-bg-color': '#313133',
56
- '--vgip-meta-input-accent-bg-color': '#313133',
57
- '--vgip-meta-input-accent-color': '#ffffff',
58
- '--vgip-meta-input-placeholder-color': '#48484A',
59
- '--vgip-meta-input-disabled-bg-color': '#131415',
60
- '--vgip-meta-input-disabled-border-color': '#313133',
61
- '--vgip-meta-input-hint-color': '#898a90',
62
- // eslint-disable-next-line max-len
63
- '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiNmZmZmZmY7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',
64
- '--vgip-meta-suggestions-bg-color': '#871fff',
65
- // eslint-disable-next-line max-len
66
- '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',
67
- '--vgip-meta-dropdown-bg-color': '#48484A',
68
- '--vgip-meta-dropdown-shadow': 'none',
69
- '--vgip-meta-submit-hover-bg-color': '#131415',
70
- '--vgip-meta-button-border-color': '#616266',
71
- // eslint-disable-next-line max-len
72
- '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',
73
- // eslint-disable-next-line max-len
74
- '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'
75
- }
76
- };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JUaGVtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL3V0aWxzL2NvbG9yVGhlbWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBYztJQUNsQyxJQUFJLEVBQUUsT0FBTztJQUNiLFVBQVUsRUFBRTtRQUNWLCtCQUErQixFQUFFLFNBQVM7UUFDMUMsNEJBQTRCLEVBQUUsU0FBUztRQUN2QyxnQ0FBZ0MsRUFBRSxTQUFTO1FBQzNDLDZCQUE2QixFQUFFLFNBQVM7UUFDeEMsNkJBQTZCLEVBQUUsU0FBUztRQUN4QyxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFFekQsd0JBQXdCLEVBQUUsU0FBUztRQUNuQyw4QkFBOEIsRUFBRSxTQUFTO1FBRXpDLHlCQUF5QixFQUFFLFNBQVM7UUFDcEMsNEJBQTRCLEVBQUUsU0FBUztRQUN2QywrQkFBK0IsRUFBRSxTQUFTO1FBQzFDLGdDQUFnQyxFQUFFLFNBQVM7UUFDM0MsdUNBQXVDLEVBQUUsU0FBUztRQUNsRCx5Q0FBeUMsRUFBRSxTQUFTO1FBQ3BELG1DQUFtQyxFQUFFLFNBQVM7UUFDOUMsZ0NBQWdDLEVBQUUsU0FBUztRQUMzQyxxQ0FBcUMsRUFBRSxTQUFTO1FBQ2hELHFDQUFxQyxFQUFFLFNBQVM7UUFDaEQseUNBQXlDLEVBQUUsU0FBUztRQUNwRCw4QkFBOEIsRUFBRSxTQUFTO1FBQ3pDLG1DQUFtQztRQUNuQywyQkFBMkIsRUFBRSw2a0JBQTZrQjtRQUMxbUIsa0NBQWtDLEVBQUUsU0FBUztRQUM3QyxtQ0FBbUM7UUFDbkMsaUNBQWlDLEVBQUUsNlNBQTZTO1FBQ2hWLCtCQUErQixFQUFFLFNBQVM7UUFDMUMsNkJBQTZCLEVBQUUsMkRBQTJEO1FBQzFGLG1DQUFtQyxFQUFFLFNBQVM7UUFDOUMsaUNBQWlDLEVBQUUsU0FBUztRQUM1QyxtQ0FBbUM7UUFDbkMsdUJBQXVCLEVBQUUscStCQUFxK0I7UUFDOS9CLG1DQUFtQztRQUNuQyx1QkFBdUIsRUFBRSxxeEJBQXF4QjtLQUMveUI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFjO0lBQ2pDLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFO1FBQ1YsK0JBQStCLEVBQUUsU0FBUztRQUMxQyw0QkFBNEIsRUFBRSxTQUFTO1FBQ3ZDLGdDQUFnQyxFQUFFLFNBQVM7UUFDM0MsNkJBQTZCLEVBQUUsU0FBUztRQUN4Qyw2QkFBNkIsRUFBRSxTQUFTO1FBQ3hDLGdDQUFnQyxFQUFFLHVCQUF1QjtRQUV6RCx3QkFBd0IsRUFBRSxTQUFTO1FBQ25DLDhCQUE4QixFQUFFLFNBQVM7UUFFekMseUJBQXlCLEVBQUUsU0FBUztRQUNwQyw0QkFBNEIsRUFBRSxTQUFTO1FBQ3ZDLCtCQUErQixFQUFFLFNBQVM7UUFDMUMsZ0NBQWdDLEVBQUUsU0FBUztRQUMzQyx1Q0FBdUMsRUFBRSxTQUFTO1FBQ2xELHlDQUF5QyxFQUFFLFNBQVM7UUFDcEQsbUNBQW1DLEVBQUUsU0FBUztRQUM5QyxnQ0FBZ0MsRUFBRSxTQUFTO1FBQzNDLHFDQUFxQyxFQUFFLFNBQVM7UUFDaEQscUNBQXFDLEVBQUUsU0FBUztRQUNoRCx5Q0FBeUMsRUFBRSxTQUFTO1FBQ3BELDhCQUE4QixFQUFFLFNBQVM7UUFDekMsbUNBQW1DO1FBQ25DLDJCQUEyQixFQUFFLDZrQkFBNmtCO1FBQzFtQixrQ0FBa0MsRUFBRSxTQUFTO1FBQzdDLG1DQUFtQztRQUNuQyxpQ0FBaUMsRUFBRSw2U0FBNlM7UUFDaFYsK0JBQStCLEVBQUUsU0FBUztRQUMxQyw2QkFBNkIsRUFBRSxNQUFNO1FBQ3JDLG1DQUFtQyxFQUFFLFNBQVM7UUFDOUMsaUNBQWlDLEVBQUUsU0FBUztRQUM1QyxtQ0FBbUM7UUFDbkMsdUJBQXVCLEVBQUUscStCQUFxK0I7UUFDOS9CLG1DQUFtQztRQUNuQyx1QkFBdUIsRUFBRSxxeEJBQXF4QjtLQUMveUI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZXRhVGhlbWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjb25zdCBtZXRhTGlnaHQ6IE1ldGFUaGVtZSA9IHtcbiAgbmFtZTogJ2xpZ2h0JyxcbiAgcHJvcGVydGllczoge1xuICAgICctLXZnaXAtbWV0YS1yZXNvdXJjZS1iZy1jb2xvcic6ICcjZjNmM2Y1JyxcbiAgICAnLS12Z2lwLW1ldGEtcmVzb3VyY2UtY29sb3InOiAnIzEzMTQxNScsXG4gICAgJy0tdmdpcC1tZXRhLXJlc291cmNlLWJhci1jb2xvcic6ICcjZmZmZmZmJyxcbiAgICAnLS12Z2lwLW1ldGEtc2VwYXJhdG9yLWNvbG9yJzogJyNlMWUyZTYnLFxuICAgICctLXZnaXAtbWV0YS1zY3JvbGxiYXItY29sb3InOiAnIzEzMTQxNScsXG4gICAgJy0tdmdpcC1tZXRhLW92ZXJsYXktYmFja2dyb3VuZCc6ICdyZ2JhKDE5LCAyMCwgMjEsIDAuNSknLFxuXG4gICAgJy0tdmdpcC1tZXRhLWxpbmstY29sb3InOiAnIzg3MWZmZicsXG4gICAgJy0tdmdpcC1tZXRhLWxpbmstaG92ZXItY29sb3InOiAnIzQ0MTA4MCcsXG5cbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtY29sb3InOiAnIzEzMTQxNScsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWJnLWNvbG9yJzogJyNmZmZmZmYnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1sYWJlbC1jb2xvcic6ICcjNjE2MjY2JyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtYm9yZGVyLWNvbG9yJzogJyNjMmM0Y2MnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1hY3RpdmUtYm9yZGVyLWNvbG9yJzogJyMyYzJkMzAnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1hY3Rpb24taG92ZXItYmctY29sb3InOiAnI2UxZTJlNicsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWFjY2VudC1iZy1jb2xvcic6ICcjZTFlMmU2JyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtYWNjZW50LWNvbG9yJzogJyMxMzE0MTUnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcic6ICcjYzJjNGNjJyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtZGlzYWJsZWQtYmctY29sb3InOiAnI2YzZjNmNScsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcic6ICcjZTFlMmU2JyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtaGludC1jb2xvcic6ICcjNjE2MjY2JyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICctLXZnaXAtbWV0YS1kcm9wZG93bi1pY29uJzogJ3VybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5Danh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lEUW9KSUhacFpYZENiM2c5SWpBZ01DQXlNQ0F5TUNJZ2MzUjViR1U5SW1WdVlXSnNaUzFpWVdOclozSnZkVzVrT201bGR5QXdJREFnTWpBZ01qQTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0TkNqeHdZWFJvSUhOMGVXeGxQU0ptYVd4c09pTXhNekUwTVRVN0lpQmtQU0pOTnl3M0xqaEROaTQzTERjdU5TdzJMaklzTnk0MkxEVXVPU3czTGpsVE5TNDNMRGd1Tnl3MkxEbHNOQ3d6TGpSc05DMHpMalJqTUM0ekxUQXVNeXd3TGpNdE1DNDRMREF0TVM0eERRb0pZeTB3TGpNdE1DNHpMVEF1Tnkwd0xqTXRNUzB3TGpGc0xUTXNNaTQyVERjc055NDRURGNzTnk0NGVpSXZQZzBLUEM5emRtYyspJyxcbiAgICAnLS12Z2lwLW1ldGEtc3VnZ2VzdGlvbnMtYmctY29sb3InOiAnI2YzZTlmZicsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAnLS12Z2lwLW1ldGEtZHJvcGRvd24tY2hlY2staWNvbic6ICd1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJak1UTXhOREUxSWlCbWFXeHNMWEoxYkdVOUltNXZibnBsY204aUlHUTlJazB5TGprd05DQXhNaTR4TVV3eExqVWdNVE11TlRJZ055NDVOVGdnTWpBZ01qSXVOU0ExTGpRd09TQXlNUzR3T1RZZ05DQTNMamsxT0NBeE55NHhPREo2SWk4K1BDOXpkbWMrKScsXG4gICAgJy0tdmdpcC1tZXRhLWRyb3Bkb3duLWJnLWNvbG9yJzogJyNmZmZmZmYnLFxuICAgICctLXZnaXAtbWV0YS1kcm9wZG93bi1zaGFkb3cnOiAnaW5zZXQgMCAwIDAgMXB4ICNlMWUyZTYsIDAgMnB4IDVweCByZ2JhKDE5LCAyMCwgMjEsIDAuMTUpJyxcbiAgICAnLS12Z2lwLW1ldGEtc3VibWl0LWhvdmVyLWJnLWNvbG9yJzogJyM0MzQ3NGInLFxuICAgICctLXZnaXAtbWV0YS1idXR0b24tYm9yZGVyLWNvbG9yJzogJyMxMzE0MTUnLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgJy0tdmdpcC1tZXRhLWRhdGUtaWNvbic6ICd1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREl4TGpFdU1Dd2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhkcFpIUm9QU0l5TUNJZ2FHVnBaMmgwUFNJeU1DSWdkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpQ2drZ2RtbGxkMEp2ZUQwaU1DQXdJREUySURFMklpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBeE5pQXhOanNpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBnbzhjR0YwYUNCbWFXeHNQU0lqTVRNeE5ERTFJaUJrUFNKTk1UUXVOU3d5U0RFeVZqQXVOVU14TWl3d0xqSXNNVEV1T0N3d0xERXhMalVzTUZNeE1Td3dMaklzTVRFc01DNDFWakpJTlZZd0xqVkROU3d3TGpJc05DNDRMREFzTkM0MUxEQlROQ3d3TGpJc05Dd3dMalZXTWtneExqVUtDVU13TGpjc01pd3dMREl1Tnl3d0xETXVOWFl5ZGpsRE1Dd3hOUzR6TERBdU55d3hOaXd4TGpVc01UWm9NVE5qTUM0NExEQXNNUzQxTFRBdU55d3hMalV0TVM0MWRpMDVkaTB5UXpFMkxESXVOeXd4TlM0ekxESXNNVFF1TlN3eWVpQk5NVFVzTVRRdU5XTXdMREF1TXkwd0xqSXNNQzQxTFRBdU5Td3dMalVLQ1dndE1UTkRNUzR5TERFMUxERXNNVFF1T0N3eExERTBMalZXTm1neE5GWXhOQzQxZWlCTk1UVXNOVWd4VmpNdU5VTXhMRE11TWl3eExqSXNNeXd4TGpVc00yZ3phRGRvTTBNeE5DNDRMRE1zTVRVc015NHlMREUxTERNdU5WWTFlaUl2UGdvOEwzTjJaejRLKScsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAnLS12Z2lwLW1ldGEtdGltZS1pY29uJzogJ3VybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakFpSUdobGFXZG9kRDBpTWpBaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1ptbHNiRDBpSXpFek1UUXhOU0lnWkQwaVRURXVOaUF4TWtNeExqWWdOaTR5TlRZeU5DQTJMakkxTmpJMElERXVOaUF4TWlBeExqWkRNVGN1TnpRek9DQXhMallnTWpJdU5DQTJMakkxTmpJMElESXlMalFnTVRKRE1qSXVOQ0F4Tnk0M05ETTRJREUzTGpjME16Z2dNakl1TkNBeE1pQXlNaTQwUXpZdU1qVTJNalFnTWpJdU5DQXhMallnTVRjdU56UXpPQ0F4TGpZZ01USmFUVEV5SURCRE5TNHpOekkxT0NBd0lEQWdOUzR6TnpJMU9DQXdJREV5UXpBZ01UZ3VOakkzTkNBMUxqTTNNalU0SURJMElERXlJREkwUXpFNExqWXlOelFnTWpRZ01qUWdNVGd1TmpJM05DQXlOQ0F4TWtNeU5DQTFMak0zTWpVNElERTRMall5TnpRZ01DQXhNaUF3V2sweE1pNDRJRFV1TmtNeE1pNDRJRFV1TVRVNE1UZ2dNVEl1TkRReE9DQTBMamdnTVRJZ05DNDRRekV4TGpVMU9ESWdOQzQ0SURFeExqSWdOUzR4TlRneE9DQXhNUzR5SURVdU5sWXhNa014TVM0eUlERXlMalEwTVRnZ01URXVOVFU0TWlBeE1pNDRJREV5SURFeUxqaElNVGd1TkVNeE9DNDROREU0SURFeUxqZ2dNVGt1TWlBeE1pNDBOREU0SURFNUxqSWdNVEpETVRrdU1pQXhNUzQxTlRneUlERTRMamcwTVRnZ01URXVNaUF4T0M0MElERXhMakpJTVRJdU9GWTFMalphSWk4K0Nqd3ZjM1puUGdvPSknXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhRGFyazogTWV0YVRoZW1lID0ge1xuICBuYW1lOiAnZGFyaycsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAnLS12Z2lwLW1ldGEtcmVzb3VyY2UtYmctY29sb3InOiAnIzEzMTQxNScsXG4gICAgJy0tdmdpcC1tZXRhLXJlc291cmNlLWNvbG9yJzogJyNmZmZmZmYnLFxuICAgICctLXZnaXAtbWV0YS1yZXNvdXJjZS1iYXItY29sb3InOiAnIzI0MjQyNicsXG4gICAgJy0tdmdpcC1tZXRhLXNlcGFyYXRvci1jb2xvcic6ICcjNjE2MjY2JyxcbiAgICAnLS12Z2lwLW1ldGEtc2Nyb2xsYmFyLWNvbG9yJzogJyM2MzYzNjYnLFxuICAgICctLXZnaXAtbWV0YS1vdmVybGF5LWJhY2tncm91bmQnOiAncmdiYSgyMDAsMjAxLDIwNCwuMzIpJyxcblxuICAgICctLXZnaXAtbWV0YS1saW5rLWNvbG9yJzogJyNCNzc5RkYnLFxuICAgICctLXZnaXAtbWV0YS1saW5rLWhvdmVyLWNvbG9yJzogJyNjNzk4ZmYnLFxuXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWNvbG9yJzogJyNmZmZmZmYnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1iZy1jb2xvcic6ICcjMjQyNDI2JyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtbGFiZWwtY29sb3InOiAnIzk1OTU5NicsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWJvcmRlci1jb2xvcic6ICcjNjE2MjY2JyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtYWN0aXZlLWJvcmRlci1jb2xvcic6ICcjYzJjNGNjJyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtYWN0aW9uLWhvdmVyLWJnLWNvbG9yJzogJyMzMTMxMzMnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1hY2NlbnQtYmctY29sb3InOiAnIzMxMzEzMycsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWFjY2VudC1jb2xvcic6ICcjZmZmZmZmJyxcbiAgICAnLS12Z2lwLW1ldGEtaW5wdXQtcGxhY2Vob2xkZXItY29sb3InOiAnIzQ4NDg0QScsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWRpc2FibGVkLWJnLWNvbG9yJzogJyMxMzE0MTUnLFxuICAgICctLXZnaXAtbWV0YS1pbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3InOiAnIzMxMzEzMycsXG4gICAgJy0tdmdpcC1tZXRhLWlucHV0LWhpbnQtY29sb3InOiAnIzg5OGE5MCcsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAnLS12Z2lwLW1ldGEtZHJvcGRvd24taWNvbic6ICd1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpRFFvSklIWnBaWGRDYjNnOUlqQWdNQ0F5TUNBeU1DSWdjM1I1YkdVOUltVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a09tNWxkeUF3SURBZ01qQWdNakE3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNE5Danh3WVhSb0lITjBlV3hsUFNKbWFXeHNPaU5tWm1abVptWTdJaUJrUFNKTk55dzNMamhETmk0M0xEY3VOU3cyTGpJc055NDJMRFV1T1N3M0xqbFROUzQzTERndU55dzJMRGxzTkN3ekxqUnNOQzB6TGpSak1DNHpMVEF1TXl3d0xqTXRNQzQ0TERBdE1TNHhEUW9KWXkwd0xqTXRNQzR6TFRBdU55MHdMak10TVMwd0xqRnNMVE1zTWk0MlREY3NOeTQ0VERjc055NDRlaUl2UGcwS1BDOXpkbWMrKScsXG4gICAgJy0tdmdpcC1tZXRhLXN1Z2dlc3Rpb25zLWJnLWNvbG9yJzogJyM4NzFmZmYnLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgJy0tdmdpcC1tZXRhLWRyb3Bkb3duLWNoZWNrLWljb24nOiAndXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptWm1abUlpQm1hV3hzTFhKMWJHVTlJbTV2Ym5wbGNtOGlJR1E5SWsweUxqa3dOQ0F4TWk0eE1Vd3hMalVnTVRNdU5USWdOeTQ1TlRnZ01qQWdNakl1TlNBMUxqUXdPU0F5TVM0d09UWWdOQ0EzTGprMU9DQXhOeTR4T0RKNklpOCtQQzl6ZG1jKyknLFxuICAgICctLXZnaXAtbWV0YS1kcm9wZG93bi1iZy1jb2xvcic6ICcjNDg0ODRBJyxcbiAgICAnLS12Z2lwLW1ldGEtZHJvcGRvd24tc2hhZG93JzogJ25vbmUnLFxuICAgICctLXZnaXAtbWV0YS1zdWJtaXQtaG92ZXItYmctY29sb3InOiAnIzEzMTQxNScsXG4gICAgJy0tdmdpcC1tZXRhLWJ1dHRvbi1ib3JkZXItY29sb3InOiAnIzYxNjI2NicsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAnLS12Z2lwLW1ldGEtZGF0ZS1pY29uJzogJ3VybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQQ0V0TFNCSFpXNWxjbUYwYjNJNklFRmtiMkpsSUVsc2JIVnpkSEpoZEc5eUlESXhMakV1TUN3Z1UxWkhJRVY0Y0c5eWRDQlFiSFZuTFVsdUlDNGdVMVpISUZabGNuTnBiMjQ2SURZdU1EQWdRblZwYkdRZ01Da2dJQzB0UGdvOGMzWm5JSGRwWkhSb1BTSXlNQ0lnYUdWcFoyaDBQU0l5TUNJZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lDZ2tnZG1sbGQwSnZlRDBpTUNBd0lERTJJREUySWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TmlBeE5qc2lJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGdvOGNHRjBhQ0JtYVd4c1BTSWpabVptWm1abUlpQmtQU0pOTVRRdU5Td3lTREV5VmpBdU5VTXhNaXd3TGpJc01URXVPQ3d3TERFeExqVXNNRk14TVN3d0xqSXNNVEVzTUM0MVZqSklOVll3TGpWRE5Td3dMaklzTkM0NExEQXNOQzQxTERCVE5Dd3dMaklzTkN3d0xqVldNa2d4TGpVS0NVTXdMamNzTWl3d0xESXVOeXd3TERNdU5YWXlkamxETUN3eE5TNHpMREF1Tnl3eE5pd3hMalVzTVRab01UTmpNQzQ0TERBc01TNDFMVEF1Tnl3eExqVXRNUzQxZGkwNWRpMHlRekUyTERJdU55d3hOUzR6TERJc01UUXVOU3d5ZWlCTk1UVXNNVFF1TldNd0xEQXVNeTB3TGpJc01DNDFMVEF1TlN3d0xqVUtDV2d0TVRORE1TNHlMREUxTERFc01UUXVPQ3d4TERFMExqVldObWd4TkZZeE5DNDFlaUJOTVRVc05VZ3hWak11TlVNeExETXVNaXd4TGpJc015d3hMalVzTTJnemFEZG9NME14TkM0NExETXNNVFVzTXk0eUxERTFMRE11TlZZMWVpSXZQZ284TDNOMlp6NEspJyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICctLXZnaXAtbWV0YS10aW1lLWljb24nOiAndXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQWlJR2hsYVdkb2REMGlNakFpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWm1sc2JEMGlJMlptWm1abVppSWdaRDBpVFRFdU5pQXhNa014TGpZZ05pNHlOVFl5TkNBMkxqSTFOakkwSURFdU5pQXhNaUF4TGpaRE1UY3VOelF6T0NBeExqWWdNakl1TkNBMkxqSTFOakkwSURJeUxqUWdNVEpETWpJdU5DQXhOeTQzTkRNNElERTNMamMwTXpnZ01qSXVOQ0F4TWlBeU1pNDBRell1TWpVMk1qUWdNakl1TkNBeExqWWdNVGN1TnpRek9DQXhMallnTVRKYVRURXlJREJETlM0ek56STFPQ0F3SURBZ05TNHpOekkxT0NBd0lERXlRekFnTVRndU5qSTNOQ0ExTGpNM01qVTRJREkwSURFeUlESTBRekU0TGpZeU56UWdNalFnTWpRZ01UZ3VOakkzTkNBeU5DQXhNa015TkNBMUxqTTNNalU0SURFNExqWXlOelFnTUNBeE1pQXdXazB4TWk0NElEVXVOa014TWk0NElEVXVNVFU0TVRnZ01USXVORFF4T0NBMExqZ2dNVElnTkM0NFF6RXhMalUxT0RJZ05DNDRJREV4TGpJZ05TNHhOVGd4T0NBeE1TNHlJRFV1TmxZeE1rTXhNUzR5SURFeUxqUTBNVGdnTVRFdU5UVTRNaUF4TWk0NElERXlJREV5TGpoSU1UZ3VORU14T0M0NE5ERTRJREV5TGpnZ01Ua3VNaUF4TWk0ME5ERTRJREU1TGpJZ01USkRNVGt1TWlBeE1TNDFOVGd5SURFNExqZzBNVGdnTVRFdU1pQXhPQzQwSURFeExqSklNVEl1T0ZZMUxqWmFJaTgrQ2p3dmMzWm5QZ289KSdcbiAgfVxufTtcbiJdfQ==