valtech-components 4.0.153 → 4.0.155
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.
- package/esm2022/lib/components/organisms/api-keys-view/api-keys.routes.mjs +3 -1
- package/esm2022/lib/components/organisms/article/article.component.mjs +8 -6
- package/esm2022/lib/components/organisms/permissions-view/permissions.routes.mjs +3 -1
- package/esm2022/lib/services/auth/guards.mjs +48 -1
- package/esm2022/lib/services/auth/index.mjs +2 -2
- package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +20 -11
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +76 -17
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/article/article.component.d.ts +3 -1
- package/lib/services/auth/guards.d.ts +36 -0
- package/lib/services/auth/index.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/services/firebase/firebase-messaging-sw.js +0 -145
|
@@ -145,11 +145,11 @@ export function parseMarkdownArticle(markdown, options) {
|
|
|
145
145
|
const unord = cur.match(UNORDERED_RE);
|
|
146
146
|
const ord = cur.match(ORDERED_RE);
|
|
147
147
|
if (check)
|
|
148
|
-
items.push({ text:
|
|
148
|
+
items.push({ text: processInline(check[2].trim()) });
|
|
149
149
|
else if (ord && listType === 'ordered')
|
|
150
|
-
items.push({ text:
|
|
150
|
+
items.push({ text: processInline(ord[1].trim()) });
|
|
151
151
|
else if (unord && listType !== 'ordered')
|
|
152
|
-
items.push({ text:
|
|
152
|
+
items.push({ text: processInline(unord[1].trim()) });
|
|
153
153
|
else
|
|
154
154
|
break;
|
|
155
155
|
i++;
|
|
@@ -162,7 +162,7 @@ export function parseMarkdownArticle(markdown, options) {
|
|
|
162
162
|
paragraph.push(lines[i]);
|
|
163
163
|
i++;
|
|
164
164
|
}
|
|
165
|
-
const text =
|
|
165
|
+
const text = processInline(paragraph.join(' ').trim());
|
|
166
166
|
if (text) {
|
|
167
167
|
elements.push({
|
|
168
168
|
type: 'paragraph',
|
|
@@ -201,8 +201,15 @@ function startsNewBlock(line) {
|
|
|
201
201
|
line.startsWith('>') ||
|
|
202
202
|
BOX_DRAWING.test(line));
|
|
203
203
|
}
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
// Procesa marcado inline a HTML (renderizado vía innerHTML por val-text/val-article).
|
|
205
|
+
// Los enlaces [texto](url) NO se tocan acá: los resuelve el ProcessLinksPipe en
|
|
206
|
+
// runtime (gateado por processLinks). Orden: código primero (para no interpretar
|
|
207
|
+
// su interior), luego negrita, luego itálica (los `**` ya consumidos no colisionan).
|
|
208
|
+
function processInline(text) {
|
|
209
|
+
return text
|
|
210
|
+
.replace(/`([^`]+)`/g, '<code>$1</code>')
|
|
211
|
+
.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
|
|
212
|
+
.replace(/\*([^*\n]+?)\*/g, '<em>$1</em>');
|
|
206
213
|
}
|
|
207
214
|
function makeHeading(level, content) {
|
|
208
215
|
if (level === 1) {
|
|
@@ -228,10 +235,10 @@ function makeQuoteOrCallout(block, labels) {
|
|
|
228
235
|
.slice(1)
|
|
229
236
|
.filter(l => l.trim() !== '')
|
|
230
237
|
.join('\n');
|
|
231
|
-
const text =
|
|
238
|
+
const text = processInline([firstLineRest, rest].filter(Boolean).join('\n').trim());
|
|
232
239
|
return makeNote(type, text, labels);
|
|
233
240
|
}
|
|
234
|
-
const text =
|
|
241
|
+
const text = processInline(lines.join(' ').trim());
|
|
235
242
|
return {
|
|
236
243
|
type: 'quote',
|
|
237
244
|
props: {
|
|
@@ -282,7 +289,7 @@ function makeTable(rows) {
|
|
|
282
289
|
{
|
|
283
290
|
type: 'paragraph',
|
|
284
291
|
props: {
|
|
285
|
-
content: header.join(' · '),
|
|
292
|
+
content: header.map(processInline).join(' · '),
|
|
286
293
|
size: 'medium',
|
|
287
294
|
color: 'dark',
|
|
288
295
|
bold: false,
|
|
@@ -295,7 +302,9 @@ function makeTable(rows) {
|
|
|
295
302
|
return dataRows.map(row => {
|
|
296
303
|
const pairs = row.map((cell, idx) => {
|
|
297
304
|
const key = header[idx] ?? '';
|
|
298
|
-
return key
|
|
305
|
+
return key
|
|
306
|
+
? `<strong>${processInline(key)}:</strong> ${processInline(cell)}`
|
|
307
|
+
: processInline(cell);
|
|
299
308
|
});
|
|
300
309
|
return {
|
|
301
310
|
type: 'paragraph',
|
|
@@ -310,4 +319,4 @@ function makeTable(rows) {
|
|
|
310
319
|
};
|
|
311
320
|
});
|
|
312
321
|
}
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQThDO0lBQ3ZFLEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osU0FBUyxFQUFFLFdBQVc7UUFDdEIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxNQUFNO1FBQ1gsSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztLQUNuQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBOEQ7SUFDaEYsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLElBQUksRUFBRSxVQUFVO0lBQ2hCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0NBQ2xCLENBQUM7QUFjRixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFVBQVUsR0FBRyw4REFBOEQsQ0FBQztB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O2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1NBQ2dCLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJ0aWNsZUVsZW1lbnQsXG4gIEFydGljbGVMaXN0RWxlbWVudCxcbiAgQXJ0aWNsZU1ldGFkYXRhLFxuICBBcnRpY2xlTm90ZUVsZW1lbnQsXG4gIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBDYWxsb3V0VHlwZSA9ICdOT1RFJyB8ICdUSVAnIHwgJ0lORk8nIHwgJ1dBUk5JTkcnIHwgJ0NBVVRJT04nIHwgJ0lNUE9SVEFOVCc7XG5cbi8qKlxuICogTG9jYWxpemVkIGxhYmVsIHBlciBjYWxsb3V0IGtpbmQuIFVzZWQgYXMgdGhlIHByZWZpeCBzaG93biBpbnNpZGUgdGhlXG4gKiByZXN1bHRpbmcgbm90ZSBlbGVtZW50IChlLmcuIGA+IFshTk9URV0g4oCmYCDihpIgYDx2YWwtbm90ZXMtYm94IHByZWZpeD1cIk5vdGFcIj5gKS5cbiAqXG4gKiBEZWZhdWx0cyB0byBTcGFuaXNoIGZvciBiYWNrLWNvbXBhdC4gUGFzcyBhIGRpZmZlcmVudCBtYXAgcGVyIGxvY2FsZSB3aGVuXG4gKiBwYXJzaW5nIHRyYW5zbGF0ZWQgZG9jdW1lbnRzIHNvIHRoZSBwcmVmaXggbWF0Y2hlcyB0aGUgYm9keSBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbG91dExhYmVscyA9IFJlY29yZDxDYWxsb3V0VHlwZSwgc3RyaW5nPjtcblxuLyoqIEJ1aWx0LWluIGxhYmVsIHNldHMgZm9yIHRoZSB0aHJlZSBwbGF0Zm9ybSBsb2NhbGVzLiAqL1xuZXhwb3J0IGNvbnN0IENBTExPVVRfTEFCRUxTOiBSZWNvcmQ8J2VzJyB8ICdlbicgfCAncHQnLCBDYWxsb3V0TGFiZWxzPiA9IHtcbiAgZXM6IHtcbiAgICBOT1RFOiAnTm90YScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW5jacOzbicsXG4gICAgQ0FVVElPTjogJ1ByZWNhdWNpw7NuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBOT1RFOiAnTm90ZScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50JyxcbiAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgQ0FVVElPTjogJ0NhdXRpb24nLFxuICB9LFxuICBwdDoge1xuICAgIE5PVEU6ICdOb3RhJyxcbiAgICBUSVA6ICdEaWNhJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW7Dp8OjbycsXG4gICAgQ0FVVElPTjogJ0N1aWRhZG8nLFxuICB9LFxufTtcblxuLyoqXG4gKiBQZXItY2FsbG91dC1raW5kIGNvbG9yIChJb25pYyBzZW1hbnRpYyBjb2xvcikuIEZpeGVkIGFjcm9zcyBsb2NhbGVzIHNpbmNlXG4gKiByZWQgPSBkYW5nZXIgbm8gbWF0dGVyIHdoYXQgbGFuZ3VhZ2UgeW91IHNwZWFrLlxuICovXG5jb25zdCBDQUxMT1VUX0NPTE9SUzogUmVjb3JkPENhbGxvdXRUeXBlLCBBcnRpY2xlTm90ZUVsZW1lbnRbJ3Byb3BzJ11bJ2NvbG9yJ10+ID0ge1xuICBOT1RFOiAncHJpbWFyeScsXG4gIFRJUDogJ3N1Y2Nlc3MnLFxuICBJTkZPOiAndGVydGlhcnknLFxuICBJTVBPUlRBTlQ6ICd3YXJuaW5nJyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxuICBDQVVUSU9OOiAnZGFuZ2VyJyxcbn07XG5cbi8qKiBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgcGFyc2VyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU1hcmtkb3duQXJ0aWNsZU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4ge1xuICAvKipcbiAgICogTG9jYWxlIHVzZWQgdG8gcGljayBidWlsdC1pbiBjYWxsb3V0IGxhYmVscy4gQ29udmVuaWVuY2Ugc2hvcnRjdXQgc29cbiAgICogY2FsbGVycyBkb24ndCBoYXZlIHRvIHNwcmVhZCBgQ0FMTE9VVF9MQUJFTFMuZW5gIHRoZW1zZWx2ZXMuIElnbm9yZWRcbiAgICogd2hlbiBgY2FsbG91dExhYmVsc2AgaXMgcHJvdmlkZWQgZXhwbGljaXRseS5cbiAgICovXG4gIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgLyoqIE92ZXJyaWRlIGV2ZXJ5IGNhbGxvdXQgbGFiZWwgaW5kaXZpZHVhbGx5LiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgYGxvY2FsZWAuICovXG4gIGNhbGxvdXRMYWJlbHM/OiBDYWxsb3V0TGFiZWxzO1xufVxuXG5jb25zdCBCT1hfRFJBV0lORyA9IC9b4pSM4pSQ4pSU4pSY4pSc4pSk4pSs4pS04pS84pSA4pSC4pWU4pWX4pWa4pWd4pWQ4pWRXS87XG5jb25zdCBDQUxMT1VUX1JFID0gL14+XFxzKlxcWyEoTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UKVxcXVxccyooLiopJC9pO1xuY29uc3QgRkVOQ0VfUkUgPSAvXmBgYChbXFx3LV0qKVxccyokLztcbmNvbnN0IEhFQURJTkdfUkUgPSAvXigjezEsNn0pXFxzKyguKykkLztcbmNvbnN0IFNFUEFSQVRPUl9SRSA9IC9eXFxzKig/Oi17Myx9fFxcKnszLH18X3szLH0pXFxzKiQvO1xuY29uc3QgVU5PUkRFUkVEX1JFID0gL15cXHMqWy0qK11cXHMrKC4rKSQvO1xuY29uc3QgQ0hFQ0tMSVNUX1JFID0gL15cXHMqWy0qK11cXHMrXFxbKFsgeFhdKVxcXVxccysoLispJC87XG5jb25zdCBPUkRFUkVEX1JFID0gL15cXHMqXFxkK1xcLlxccysoLispJC87XG5jb25zdCBUQUJMRV9ESVZJREVSX1JFID0gL15cXHMqXFx8P1tcXHM6fC1dK1xcfD9cXHMqJC87XG5jb25zdCBUQUJMRV9ST1dfUkUgPSAvXlxccypcXHwoLispXFx8XFxzKiQvO1xuXG4vKipcbiAqIFB1cmUgTWFya2Rvd24g4oaSIEFydGljbGVNZXRhZGF0YSBwYXJzZXIuIE5vIEFuZ3VsYXIgZGVwcyDigJQgdXNhYmxlIGZyb20gTm9kZSBzY3JpcHRzXG4gKiAoYnVpbGQtdGltZSBnZW5lcmF0aW9uKSBhbmQgZnJvbSB0aGUgQW5ndWxhciBgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZWAgd3JhcHBlci5cbiAqXG4gKiBTdXBwb3J0ZWQgc3ludGF4OlxuICogLSBIZWFkaW5ncyAoIywgIyMsICMjIyDigKYpIOKGkiB0aXRsZSAvIHN1YnRpdGxlXG4gKiAtIFBhcmFncmFwaHMg4oaSIHBhcmFncmFwaCAod2l0aCBgcHJvY2Vzc0xpbmtzYCArIGBhbGxvd1BhcnRpYWxCb2xkYClcbiAqIC0gTGlzdHMgKC0sICosIDEuKSDihpIgdW5vcmRlcmVkIC8gb3JkZXJlZCBsaXN0ICgtIFsgXSAvIC0gW3hdIGZvciBjaGVja2xpc3QpXG4gKiAtIEJsb2NrcXVvdGVzICg+KSDihpIgcXVvdGUsIHdpdGggR2l0SHViIGNhbGxvdXRzIGA+IFshTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UXWAgbWFwcGVkIHRvIG5vdGVzXG4gKiAtIENvZGUgZmVuY2VzIChgYGBsYW5nKSDihpIgY29kZVxuICogLSBCb3gtZHJhd2luZyBBU0NJSSBhcnQgKOKUjOKUkOKUlOKUmOKUguKUgCkgYXV0by13cmFwcGVkIGFzIGNvZGVcbiAqIC0gVGFibGVzIOKGkiBmbGF0dGVuZWQgaW50byBwYXJhZ3JhcGhzIHdpdGggYm9sZCBrZXlzXG4gKiAtIEhvcml6b250YWwgcnVsZXMgKC0tLSwgKioqLCBfX18pIOKGkiBzZXBhcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWFya2Rvd25BcnRpY2xlKFxuICBtYXJrZG93bjogc3RyaW5nLFxuICBvcHRpb25zPzogUGFyc2VNYXJrZG93bkFydGljbGVPcHRpb25zXG4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICBjb25zdCBsaW5lcyA9IG5vcm1hbGl6ZShtYXJrZG93bikuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCBsYWJlbHM6IENhbGxvdXRMYWJlbHMgPVxuICAgIG9wdGlvbnM/LmNhbGxvdXRMYWJlbHMgPz9cbiAgICAob3B0aW9ucz8ubG9jYWxlID8gQ0FMTE9VVF9MQUJFTFNbb3B0aW9ucy5sb2NhbGVdIDogQ0FMTE9VVF9MQUJFTFMuZXMpO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbaV07XG5cbiAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSB7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmZW5jZSA9IGxpbmUubWF0Y2goRkVOQ0VfUkUpO1xuICAgIGlmIChmZW5jZSkge1xuICAgICAgY29uc3QgbGFuZyA9IGZlbmNlWzFdIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICBpKys7XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAhRkVOQ0VfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgaSsrO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6IGxhbmcsIHRoZW1lOiAnZGFyaycgfSxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKEJPWF9EUkFXSU5HLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAobGluZXNbaV0udHJpbSgpID09PSAnJyB8fCBCT1hfRFJBV0lORy50ZXN0KGxpbmVzW2ldKSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGJvZHkubGVuZ3RoICYmIGJvZHlbYm9keS5sZW5ndGggLSAxXS50cmltKCkgPT09ICcnKSBib2R5LnBvcCgpO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6ICd0ZXh0JywgdGhlbWU6ICdkYXJrJyB9LFxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoU0VQQVJBVE9SX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnc2VwYXJhdG9yJywgcHJvcHM6IHsgc3R5bGU6ICdsaW5lJyB9IH0pO1xuICAgICAgaSsrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGluZyA9IGxpbmUubWF0Y2goSEVBRElOR19SRSk7XG4gICAgaWYgKGhlYWRpbmcpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2gobWFrZUhlYWRpbmcoaGVhZGluZ1sxXS5sZW5ndGgsIGhlYWRpbmdbMl0udHJpbSgpKSk7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobGluZS5zdGFydHNXaXRoKCc+JykpIHtcbiAgICAgIGNvbnN0IGJsb2NrOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0uc3RhcnRzV2l0aCgnPicpKSB7XG4gICAgICAgIGJsb2NrLnB1c2gobGluZXNbaV0pO1xuICAgICAgICBpKys7XG4gICAgICB9XG4gICAgICBlbGVtZW50cy5wdXNoKG1ha2VRdW90ZU9yQ2FsbG91dChibG9jaywgbGFiZWxzKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoVEFCTEVfUk9XX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBUQUJMRV9ST1dfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgcm93cy5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCguLi5tYWtlVGFibGUocm93cykpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKENIRUNLTElTVF9SRS50ZXN0KGxpbmUpIHx8IFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8IE9SREVSRURfUkUudGVzdChsaW5lKSkge1xuICAgICAgY29uc3QgbGlzdFR5cGU6ICdjaGVja2xpc3QnIHwgJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgPSBDSEVDS0xJU1RfUkUudGVzdChsaW5lKVxuICAgICAgICA/ICdjaGVja2xpc3QnXG4gICAgICAgIDogT1JERVJFRF9SRS50ZXN0KGxpbmUpXG4gICAgICAgICAgPyAnb3JkZXJlZCdcbiAgICAgICAgICA6ICd1bm9yZGVyZWQnO1xuXG4gICAgICBjb25zdCBpdGVtczogQXJ0aWNsZUxpc3RFbGVtZW50Wydwcm9wcyddWydpdGVtcyddID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tpXS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGN1ciA9IGxpbmVzW2ldO1xuICAgICAgICBjb25zdCBjaGVjayA9IGN1ci5tYXRjaChDSEVDS0xJU1RfUkUpO1xuICAgICAgICBjb25zdCB1bm9yZCA9IGN1ci5tYXRjaChVTk9SREVSRURfUkUpO1xuICAgICAgICBjb25zdCBvcmQgPSBjdXIubWF0Y2goT1JERVJFRF9SRSk7XG4gICAgICAgIGlmIChjaGVjaykgaXRlbXMucHVzaCh7IHRleHQ6IHByb2Nlc3NJbmxpbmVCb2xkKGNoZWNrWzJdLnRyaW0oKSkgfSk7XG4gICAgICAgIGVsc2UgaWYgKG9yZCAmJiBsaXN0VHlwZSA9PT0gJ29yZGVyZWQnKVxuICAgICAgICAgIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lQm9sZChvcmRbMV0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBpZiAodW5vcmQgJiYgbGlzdFR5cGUgIT09ICdvcmRlcmVkJylcbiAgICAgICAgICBpdGVtcy5wdXNoKHsgdGV4dDogcHJvY2Vzc0lubGluZUJvbGQodW5vcmRbMV0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBicmVhaztcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCh7IHR5cGU6ICdsaXN0JywgcHJvcHM6IHsgaXRlbXMsIGxpc3RUeXBlIH0gfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhZ3JhcGg6IHN0cmluZ1tdID0gW107XG4gICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0udHJpbSgpICE9PSAnJyAmJiAhc3RhcnRzTmV3QmxvY2sobGluZXNbaV0pKSB7XG4gICAgICBwYXJhZ3JhcGgucHVzaChsaW5lc1tpXSk7XG4gICAgICBpKys7XG4gICAgfVxuICAgIGNvbnN0IHRleHQgPSBwcm9jZXNzSW5saW5lQm9sZChwYXJhZ3JhcGguam9pbignICcpLnRyaW0oKSk7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goe1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBTdHJpcCBwYXJzZXItb25seSBvcHRpb25zIGJlZm9yZSBtZXJnaW5nIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gIGNvbnN0IHsgbG9jYWxlOiBfbCwgY2FsbG91dExhYmVsczogX2MsIC4uLm1ldGFkYXRhT3ZlcnJpZGVzIH0gPSBvcHRpb25zID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgZWxlbWVudHMsXG4gICAgbWF4V2lkdGg6ICc5MDBweCcsXG4gICAgY2VudGVyZWQ6IHRydWUsXG4gICAgdGhlbWU6ICdhdXRvJyxcbiAgICAuLi5tZXRhZGF0YU92ZXJyaWRlcyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplKG1kOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbWQucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKS5yZXBsYWNlKC9cXHIvZywgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBzdGFydHNOZXdCbG9jayhsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBIRUFESU5HX1JFLnRlc3QobGluZSkgfHxcbiAgICBGRU5DRV9SRS50ZXN0KGxpbmUpIHx8XG4gICAgU0VQQVJBVE9SX1JFLnRlc3QobGluZSkgfHxcbiAgICBUQUJMRV9ST1dfUkUudGVzdChsaW5lKSB8fFxuICAgIFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgQ0hFQ0tMSVNUX1JFLnRlc3QobGluZSkgfHxcbiAgICBsaW5lLnN0YXJ0c1dpdGgoJz4nKSB8fFxuICAgIEJPWF9EUkFXSU5HLnRlc3QobGluZSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lubGluZUJvbGQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRleHQucmVwbGFjZSgvXFwqXFwqKC4rPylcXCpcXCovZywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nKTtcbn1cblxuZnVuY3Rpb24gbWFrZUhlYWRpbmcobGV2ZWw6IG51bWJlciwgY29udGVudDogc3RyaW5nKTogQXJ0aWNsZVRpdGxlRWxlbWVudCB8IEFydGljbGVTdWJ0aXRsZUVsZW1lbnQge1xuICBpZiAobGV2ZWwgPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RpdGxlJyxcbiAgICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemU6ICd4bGFyZ2UnLCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlIH0sXG4gICAgfTtcbiAgfVxuICBjb25zdCBzaXplOiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID1cbiAgICBsZXZlbCA9PT0gMiA/ICdsYXJnZScgOiBsZXZlbCA9PT0gMyA/ICdtZWRpdW0nIDogJ3NtYWxsJztcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnc3VidGl0bGUnLFxuICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemUsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IHRydWUgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVF1b3RlT3JDYWxsb3V0KGJsb2NrOiBzdHJpbmdbXSwgbGFiZWxzOiBDYWxsb3V0TGFiZWxzKTogQXJ0aWNsZUVsZW1lbnQge1xuICBjb25zdCBmaXJzdCA9IGJsb2NrWzBdO1xuICBjb25zdCBjYWxsb3V0ID0gZmlyc3QubWF0Y2goQ0FMTE9VVF9SRSk7XG4gIGNvbnN0IGxpbmVzID0gYmxvY2subWFwKGwgPT4gbC5yZXBsYWNlKC9ePlxccz8vLCAnJykpO1xuXG4gIGlmIChjYWxsb3V0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNhbGxvdXRbMV0udG9VcHBlckNhc2UoKSBhcyBDYWxsb3V0VHlwZTtcbiAgICBjb25zdCBmaXJzdExpbmVSZXN0ID0gY2FsbG91dFsyXSB8fCAnJztcbiAgICBjb25zdCByZXN0ID0gbGluZXNcbiAgICAgIC5zbGljZSgxKVxuICAgICAgLmZpbHRlcihsID0+IGwudHJpbSgpICE9PSAnJylcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZUJvbGQoW2ZpcnN0TGluZVJlc3QsIHJlc3RdLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKS50cmltKCkpO1xuICAgIHJldHVybiBtYWtlTm90ZSh0eXBlLCB0ZXh0LCBsYWJlbHMpO1xuICB9XG5cbiAgY29uc3QgdGV4dCA9IHByb2Nlc3NJbmxpbmVCb2xkKGxpbmVzLmpvaW4oJyAnKS50cmltKCkpO1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICdxdW90ZScsXG4gICAgcHJvcHM6IHtcbiAgICAgIGNvbnRlbnQ6IHRleHQsXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgc2hvd1F1b3RlTWFyazogdHJ1ZSxcbiAgICAgIGFsaWdubWVudDogJ2xlZnQnLFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1ha2VOb3RlKGtpbmQ6IENhbGxvdXRUeXBlLCB0ZXh0OiBzdHJpbmcsIGxhYmVsczogQ2FsbG91dExhYmVscyk6IEFydGljbGVOb3RlRWxlbWVudCB7XG4gIC8vIE5PVEUgZXMgZWwgY2FsbG91dCBuZXV0cm8gKGNhamEgZGUgY29udGVuaWRvIHNpbiBldGlxdWV0YSBkZSBzZXZlcmlkYWQpOiBzZVxuICAvLyByZW5kZXJpemEgU0lOIHByZWZpam8uIExvcyBkZW3DoXMgdGlwb3MgKFRJUC9JTkZPL1dBUk5JTkcvQ0FVVElPTi9JTVBPUlRBTlQpXG4gIC8vIHPDrSBtdWVzdHJhbiBzdSBsYWJlbCBwb3JxdWUgY29tdW5pY2EgY2F0ZWdvcsOtYS9zZXZlcmlkYWQuIEVsIG5vdGVzLWJveCBub1xuICAvLyByZW5kZXJpemEgaGVhZGVyIGN1YW5kbyBwcmVmaXggZXMgdmFjw61vIChgQGlmIChwcm9wcy5wcmVmaXgpYCkuXG4gIGNvbnN0IHByZWZpeCA9IGtpbmQgPT09ICdOT1RFJyA/ICcnIDogYCR7bGFiZWxzW2tpbmRdfTpgO1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICdub3RlJyxcbiAgICBwcm9wczoge1xuICAgICAgdGV4dCxcbiAgICAgIHByZWZpeCxcbiAgICAgIGNvbG9yOiBDQUxMT1VUX0NPTE9SU1traW5kXSxcbiAgICAgIHRleHRDb2xvcjogJ2RhcmsnLFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICByb3VuZGVkOiB0cnVlLFxuICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYWtlVGFibGUocm93czogc3RyaW5nW10pOiBBcnRpY2xlRWxlbWVudFtdIHtcbiAgY29uc3QgcGFyc2VkID0gcm93c1xuICAgIC5maWx0ZXIociA9PiAhVEFCTEVfRElWSURFUl9SRS50ZXN0KHIpKVxuICAgIC5tYXAociA9PlxuICAgICAgclxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5yZXBsYWNlKC9eXFx8LywgJycpXG4gICAgICAgIC5yZXBsYWNlKC9cXHwkLywgJycpXG4gICAgICAgIC5zcGxpdCgnfCcpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICApO1xuICBpZiAocGFyc2VkLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IGhlYWRlciA9IHBhcnNlZFswXTtcbiAgY29uc3QgZGF0YVJvd3MgPSBwYXJzZWQuc2xpY2UoMSk7XG4gIGlmIChkYXRhUm93cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiBoZWFkZXIuam9pbignIMK3ICcpLFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICByZXR1cm4gZGF0YVJvd3MubWFwKHJvdyA9PiB7XG4gICAgY29uc3QgcGFpcnMgPSByb3cubWFwKChjZWxsLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGtleSA9IGhlYWRlcltpZHhdID8/ICcnO1xuICAgICAgcmV0dXJuIGtleSA/IGA8c3Ryb25nPiR7a2V5fTo8L3N0cm9uZz4gJHtjZWxsfWAgOiBjZWxsO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIGNvbnRlbnQ6IHBhaXJzLmpvaW4oJyDCtyAnKSxcbiAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0gYXMgQXJ0aWNsZUVsZW1lbnQ7XG4gIH0pO1xufVxuIl19
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JBLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQThDO0lBQ3ZFLEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFLE1BQU07UUFDWixHQUFHLEVBQUUsS0FBSztRQUNWLElBQUksRUFBRSxNQUFNO1FBQ1osU0FBUyxFQUFFLFdBQVc7UUFDdEIsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixJQUFJLEVBQUUsTUFBTTtRQUNaLEdBQUcsRUFBRSxNQUFNO1FBQ1gsSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsWUFBWTtRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsU0FBUztLQUNuQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBOEQ7SUFDaEYsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLElBQUksRUFBRSxVQUFVO0lBQ2hCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0NBQ2xCLENBQUM7QUFjRixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFVBQVUsR0FBRyw4REFBOEQsQ0FBQztB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Q0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLElBQUksRUFBRSxXQUFXO1lBQ2pCLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxNQUFNO2dCQUNiLElBQUksRUFBRSxLQUFLO2dCQUNYLFlBQVksRUFBRSxJQUFJO2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCO1NBQ2dCLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXJ0aWNsZUVsZW1lbnQsXG4gIEFydGljbGVMaXN0RWxlbWVudCxcbiAgQXJ0aWNsZU1ldGFkYXRhLFxuICBBcnRpY2xlTm90ZUVsZW1lbnQsXG4gIEFydGljbGVTdWJ0aXRsZUVsZW1lbnQsXG4gIEFydGljbGVUaXRsZUVsZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBDYWxsb3V0VHlwZSA9ICdOT1RFJyB8ICdUSVAnIHwgJ0lORk8nIHwgJ1dBUk5JTkcnIHwgJ0NBVVRJT04nIHwgJ0lNUE9SVEFOVCc7XG5cbi8qKlxuICogTG9jYWxpemVkIGxhYmVsIHBlciBjYWxsb3V0IGtpbmQuIFVzZWQgYXMgdGhlIHByZWZpeCBzaG93biBpbnNpZGUgdGhlXG4gKiByZXN1bHRpbmcgbm90ZSBlbGVtZW50IChlLmcuIGA+IFshTk9URV0g4oCmYCDihpIgYDx2YWwtbm90ZXMtYm94IHByZWZpeD1cIk5vdGFcIj5gKS5cbiAqXG4gKiBEZWZhdWx0cyB0byBTcGFuaXNoIGZvciBiYWNrLWNvbXBhdC4gUGFzcyBhIGRpZmZlcmVudCBtYXAgcGVyIGxvY2FsZSB3aGVuXG4gKiBwYXJzaW5nIHRyYW5zbGF0ZWQgZG9jdW1lbnRzIHNvIHRoZSBwcmVmaXggbWF0Y2hlcyB0aGUgYm9keSBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbG91dExhYmVscyA9IFJlY29yZDxDYWxsb3V0VHlwZSwgc3RyaW5nPjtcblxuLyoqIEJ1aWx0LWluIGxhYmVsIHNldHMgZm9yIHRoZSB0aHJlZSBwbGF0Zm9ybSBsb2NhbGVzLiAqL1xuZXhwb3J0IGNvbnN0IENBTExPVVRfTEFCRUxTOiBSZWNvcmQ8J2VzJyB8ICdlbicgfCAncHQnLCBDYWxsb3V0TGFiZWxzPiA9IHtcbiAgZXM6IHtcbiAgICBOT1RFOiAnTm90YScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW5jacOzbicsXG4gICAgQ0FVVElPTjogJ1ByZWNhdWNpw7NuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBOT1RFOiAnTm90ZScsXG4gICAgVElQOiAnVGlwJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50JyxcbiAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgQ0FVVElPTjogJ0NhdXRpb24nLFxuICB9LFxuICBwdDoge1xuICAgIE5PVEU6ICdOb3RhJyxcbiAgICBUSVA6ICdEaWNhJyxcbiAgICBJTkZPOiAnSW5mbycsXG4gICAgSU1QT1JUQU5UOiAnSW1wb3J0YW50ZScsXG4gICAgV0FSTklORzogJ0F0ZW7Dp8OjbycsXG4gICAgQ0FVVElPTjogJ0N1aWRhZG8nLFxuICB9LFxufTtcblxuLyoqXG4gKiBQZXItY2FsbG91dC1raW5kIGNvbG9yIChJb25pYyBzZW1hbnRpYyBjb2xvcikuIEZpeGVkIGFjcm9zcyBsb2NhbGVzIHNpbmNlXG4gKiByZWQgPSBkYW5nZXIgbm8gbWF0dGVyIHdoYXQgbGFuZ3VhZ2UgeW91IHNwZWFrLlxuICovXG5jb25zdCBDQUxMT1VUX0NPTE9SUzogUmVjb3JkPENhbGxvdXRUeXBlLCBBcnRpY2xlTm90ZUVsZW1lbnRbJ3Byb3BzJ11bJ2NvbG9yJ10+ID0ge1xuICBOT1RFOiAncHJpbWFyeScsXG4gIFRJUDogJ3N1Y2Nlc3MnLFxuICBJTkZPOiAndGVydGlhcnknLFxuICBJTVBPUlRBTlQ6ICd3YXJuaW5nJyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxuICBDQVVUSU9OOiAnZGFuZ2VyJyxcbn07XG5cbi8qKiBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgcGFyc2VyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZU1hcmtkb3duQXJ0aWNsZU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4ge1xuICAvKipcbiAgICogTG9jYWxlIHVzZWQgdG8gcGljayBidWlsdC1pbiBjYWxsb3V0IGxhYmVscy4gQ29udmVuaWVuY2Ugc2hvcnRjdXQgc29cbiAgICogY2FsbGVycyBkb24ndCBoYXZlIHRvIHNwcmVhZCBgQ0FMTE9VVF9MQUJFTFMuZW5gIHRoZW1zZWx2ZXMuIElnbm9yZWRcbiAgICogd2hlbiBgY2FsbG91dExhYmVsc2AgaXMgcHJvdmlkZWQgZXhwbGljaXRseS5cbiAgICovXG4gIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgLyoqIE92ZXJyaWRlIGV2ZXJ5IGNhbGxvdXQgbGFiZWwgaW5kaXZpZHVhbGx5LiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgYGxvY2FsZWAuICovXG4gIGNhbGxvdXRMYWJlbHM/OiBDYWxsb3V0TGFiZWxzO1xufVxuXG5jb25zdCBCT1hfRFJBV0lORyA9IC9b4pSM4pSQ4pSU4pSY4pSc4pSk4pSs4pS04pS84pSA4pSC4pWU4pWX4pWa4pWd4pWQ4pWRXS87XG5jb25zdCBDQUxMT1VUX1JFID0gL14+XFxzKlxcWyEoTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UKVxcXVxccyooLiopJC9pO1xuY29uc3QgRkVOQ0VfUkUgPSAvXmBgYChbXFx3LV0qKVxccyokLztcbmNvbnN0IEhFQURJTkdfUkUgPSAvXigjezEsNn0pXFxzKyguKykkLztcbmNvbnN0IFNFUEFSQVRPUl9SRSA9IC9eXFxzKig/Oi17Myx9fFxcKnszLH18X3szLH0pXFxzKiQvO1xuY29uc3QgVU5PUkRFUkVEX1JFID0gL15cXHMqWy0qK11cXHMrKC4rKSQvO1xuY29uc3QgQ0hFQ0tMSVNUX1JFID0gL15cXHMqWy0qK11cXHMrXFxbKFsgeFhdKVxcXVxccysoLispJC87XG5jb25zdCBPUkRFUkVEX1JFID0gL15cXHMqXFxkK1xcLlxccysoLispJC87XG5jb25zdCBUQUJMRV9ESVZJREVSX1JFID0gL15cXHMqXFx8P1tcXHM6fC1dK1xcfD9cXHMqJC87XG5jb25zdCBUQUJMRV9ST1dfUkUgPSAvXlxccypcXHwoLispXFx8XFxzKiQvO1xuXG4vKipcbiAqIFB1cmUgTWFya2Rvd24g4oaSIEFydGljbGVNZXRhZGF0YSBwYXJzZXIuIE5vIEFuZ3VsYXIgZGVwcyDigJQgdXNhYmxlIGZyb20gTm9kZSBzY3JpcHRzXG4gKiAoYnVpbGQtdGltZSBnZW5lcmF0aW9uKSBhbmQgZnJvbSB0aGUgQW5ndWxhciBgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZWAgd3JhcHBlci5cbiAqXG4gKiBTdXBwb3J0ZWQgc3ludGF4OlxuICogLSBIZWFkaW5ncyAoIywgIyMsICMjIyDigKYpIOKGkiB0aXRsZSAvIHN1YnRpdGxlXG4gKiAtIFBhcmFncmFwaHMg4oaSIHBhcmFncmFwaCAod2l0aCBgcHJvY2Vzc0xpbmtzYCArIGBhbGxvd1BhcnRpYWxCb2xkYClcbiAqIC0gTGlzdHMgKC0sICosIDEuKSDihpIgdW5vcmRlcmVkIC8gb3JkZXJlZCBsaXN0ICgtIFsgXSAvIC0gW3hdIGZvciBjaGVja2xpc3QpXG4gKiAtIEJsb2NrcXVvdGVzICg+KSDihpIgcXVvdGUsIHdpdGggR2l0SHViIGNhbGxvdXRzIGA+IFshTk9URXxUSVB8SU5GT3xXQVJOSU5HfENBVVRJT058SU1QT1JUQU5UXWAgbWFwcGVkIHRvIG5vdGVzXG4gKiAtIENvZGUgZmVuY2VzIChgYGBsYW5nKSDihpIgY29kZVxuICogLSBCb3gtZHJhd2luZyBBU0NJSSBhcnQgKOKUjOKUkOKUlOKUmOKUguKUgCkgYXV0by13cmFwcGVkIGFzIGNvZGVcbiAqIC0gVGFibGVzIOKGkiBmbGF0dGVuZWQgaW50byBwYXJhZ3JhcGhzIHdpdGggYm9sZCBrZXlzXG4gKiAtIEhvcml6b250YWwgcnVsZXMgKC0tLSwgKioqLCBfX18pIOKGkiBzZXBhcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWFya2Rvd25BcnRpY2xlKFxuICBtYXJrZG93bjogc3RyaW5nLFxuICBvcHRpb25zPzogUGFyc2VNYXJrZG93bkFydGljbGVPcHRpb25zXG4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICBjb25zdCBsaW5lcyA9IG5vcm1hbGl6ZShtYXJrZG93bikuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBlbGVtZW50czogQXJ0aWNsZUVsZW1lbnRbXSA9IFtdO1xuICBjb25zdCBsYWJlbHM6IENhbGxvdXRMYWJlbHMgPVxuICAgIG9wdGlvbnM/LmNhbGxvdXRMYWJlbHMgPz9cbiAgICAob3B0aW9ucz8ubG9jYWxlID8gQ0FMTE9VVF9MQUJFTFNbb3B0aW9ucy5sb2NhbGVdIDogQ0FMTE9VVF9MQUJFTFMuZXMpO1xuXG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbaV07XG5cbiAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSB7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmZW5jZSA9IGxpbmUubWF0Y2goRkVOQ0VfUkUpO1xuICAgIGlmIChmZW5jZSkge1xuICAgICAgY29uc3QgbGFuZyA9IGZlbmNlWzFdIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICBpKys7XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAhRkVOQ0VfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgaSsrO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6IGxhbmcsIHRoZW1lOiAnZGFyaycgfSxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKEJPWF9EUkFXSU5HLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IGJvZHk6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiAobGluZXNbaV0udHJpbSgpID09PSAnJyB8fCBCT1hfRFJBV0lORy50ZXN0KGxpbmVzW2ldKSkpIHtcbiAgICAgICAgYm9keS5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGJvZHkubGVuZ3RoICYmIGJvZHlbYm9keS5sZW5ndGggLSAxXS50cmltKCkgPT09ICcnKSBib2R5LnBvcCgpO1xuICAgICAgZWxlbWVudHMucHVzaCh7XG4gICAgICAgIHR5cGU6ICdjb2RlJyxcbiAgICAgICAgcHJvcHM6IHsgY29kZTogYm9keS5qb2luKCdcXG4nKSwgbGFuZ3VhZ2U6ICd0ZXh0JywgdGhlbWU6ICdkYXJrJyB9LFxuICAgICAgfSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoU0VQQVJBVE9SX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnc2VwYXJhdG9yJywgcHJvcHM6IHsgc3R5bGU6ICdsaW5lJyB9IH0pO1xuICAgICAgaSsrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGluZyA9IGxpbmUubWF0Y2goSEVBRElOR19SRSk7XG4gICAgaWYgKGhlYWRpbmcpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2gobWFrZUhlYWRpbmcoaGVhZGluZ1sxXS5sZW5ndGgsIGhlYWRpbmdbMl0udHJpbSgpKSk7XG4gICAgICBpKys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobGluZS5zdGFydHNXaXRoKCc+JykpIHtcbiAgICAgIGNvbnN0IGJsb2NrOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgd2hpbGUgKGkgPCBsaW5lcy5sZW5ndGggJiYgbGluZXNbaV0uc3RhcnRzV2l0aCgnPicpKSB7XG4gICAgICAgIGJsb2NrLnB1c2gobGluZXNbaV0pO1xuICAgICAgICBpKys7XG4gICAgICB9XG4gICAgICBlbGVtZW50cy5wdXNoKG1ha2VRdW90ZU9yQ2FsbG91dChibG9jaywgbGFiZWxzKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoVEFCTEVfUk9XX1JFLnRlc3QobGluZSkpIHtcbiAgICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBUQUJMRV9ST1dfUkUudGVzdChsaW5lc1tpXSkpIHtcbiAgICAgICAgcm93cy5wdXNoKGxpbmVzW2ldKTtcbiAgICAgICAgaSsrO1xuICAgICAgfVxuICAgICAgZWxlbWVudHMucHVzaCguLi5tYWtlVGFibGUocm93cykpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKENIRUNLTElTVF9SRS50ZXN0KGxpbmUpIHx8IFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8IE9SREVSRURfUkUudGVzdChsaW5lKSkge1xuICAgICAgY29uc3QgbGlzdFR5cGU6ICdjaGVja2xpc3QnIHwgJ3Vub3JkZXJlZCcgfCAnb3JkZXJlZCcgPSBDSEVDS0xJU1RfUkUudGVzdChsaW5lKVxuICAgICAgICA/ICdjaGVja2xpc3QnXG4gICAgICAgIDogT1JERVJFRF9SRS50ZXN0KGxpbmUpXG4gICAgICAgICAgPyAnb3JkZXJlZCdcbiAgICAgICAgICA6ICd1bm9yZGVyZWQnO1xuXG4gICAgICBjb25zdCBpdGVtczogQXJ0aWNsZUxpc3RFbGVtZW50Wydwcm9wcyddWydpdGVtcyddID0gW107XG4gICAgICB3aGlsZSAoaSA8IGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tpXS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IGN1ciA9IGxpbmVzW2ldO1xuICAgICAgICBjb25zdCBjaGVjayA9IGN1ci5tYXRjaChDSEVDS0xJU1RfUkUpO1xuICAgICAgICBjb25zdCB1bm9yZCA9IGN1ci5tYXRjaChVTk9SREVSRURfUkUpO1xuICAgICAgICBjb25zdCBvcmQgPSBjdXIubWF0Y2goT1JERVJFRF9SRSk7XG4gICAgICAgIGlmIChjaGVjaykgaXRlbXMucHVzaCh7IHRleHQ6IHByb2Nlc3NJbmxpbmUoY2hlY2tbMl0udHJpbSgpKSB9KTtcbiAgICAgICAgZWxzZSBpZiAob3JkICYmIGxpc3RUeXBlID09PSAnb3JkZXJlZCcpIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lKG9yZFsxXS50cmltKCkpIH0pO1xuICAgICAgICBlbHNlIGlmICh1bm9yZCAmJiBsaXN0VHlwZSAhPT0gJ29yZGVyZWQnKVxuICAgICAgICAgIGl0ZW1zLnB1c2goeyB0ZXh0OiBwcm9jZXNzSW5saW5lKHVub3JkWzFdLnRyaW0oKSkgfSk7XG4gICAgICAgIGVsc2UgYnJlYWs7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICAgIGVsZW1lbnRzLnB1c2goeyB0eXBlOiAnbGlzdCcsIHByb3BzOiB7IGl0ZW1zLCBsaXN0VHlwZSB9IH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYWdyYXBoOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlIChpIDwgbGluZXMubGVuZ3RoICYmIGxpbmVzW2ldLnRyaW0oKSAhPT0gJycgJiYgIXN0YXJ0c05ld0Jsb2NrKGxpbmVzW2ldKSkge1xuICAgICAgcGFyYWdyYXBoLnB1c2gobGluZXNbaV0pO1xuICAgICAgaSsrO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShwYXJhZ3JhcGguam9pbignICcpLnRyaW0oKSk7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goe1xuICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgcHJvY2Vzc0xpbmtzOiB0cnVlLFxuICAgICAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBTdHJpcCBwYXJzZXItb25seSBvcHRpb25zIGJlZm9yZSBtZXJnaW5nIGludG8gQXJ0aWNsZU1ldGFkYXRhXG4gIGNvbnN0IHsgbG9jYWxlOiBfbCwgY2FsbG91dExhYmVsczogX2MsIC4uLm1ldGFkYXRhT3ZlcnJpZGVzIH0gPSBvcHRpb25zID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgZWxlbWVudHMsXG4gICAgbWF4V2lkdGg6ICc5MDBweCcsXG4gICAgY2VudGVyZWQ6IHRydWUsXG4gICAgdGhlbWU6ICdhdXRvJyxcbiAgICAuLi5tZXRhZGF0YU92ZXJyaWRlcyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplKG1kOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbWQucmVwbGFjZSgvXFxyXFxuL2csICdcXG4nKS5yZXBsYWNlKC9cXHIvZywgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBzdGFydHNOZXdCbG9jayhsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBIRUFESU5HX1JFLnRlc3QobGluZSkgfHxcbiAgICBGRU5DRV9SRS50ZXN0KGxpbmUpIHx8XG4gICAgU0VQQVJBVE9SX1JFLnRlc3QobGluZSkgfHxcbiAgICBUQUJMRV9ST1dfUkUudGVzdChsaW5lKSB8fFxuICAgIFVOT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgT1JERVJFRF9SRS50ZXN0KGxpbmUpIHx8XG4gICAgQ0hFQ0tMSVNUX1JFLnRlc3QobGluZSkgfHxcbiAgICBsaW5lLnN0YXJ0c1dpdGgoJz4nKSB8fFxuICAgIEJPWF9EUkFXSU5HLnRlc3QobGluZSlcbiAgKTtcbn1cblxuLy8gUHJvY2VzYSBtYXJjYWRvIGlubGluZSBhIEhUTUwgKHJlbmRlcml6YWRvIHbDrWEgaW5uZXJIVE1MIHBvciB2YWwtdGV4dC92YWwtYXJ0aWNsZSkuXG4vLyBMb3MgZW5sYWNlcyBbdGV4dG9dKHVybCkgTk8gc2UgdG9jYW4gYWPDoTogbG9zIHJlc3VlbHZlIGVsIFByb2Nlc3NMaW5rc1BpcGUgZW5cbi8vIHJ1bnRpbWUgKGdhdGVhZG8gcG9yIHByb2Nlc3NMaW5rcykuIE9yZGVuOiBjw7NkaWdvIHByaW1lcm8gKHBhcmEgbm8gaW50ZXJwcmV0YXJcbi8vIHN1IGludGVyaW9yKSwgbHVlZ28gbmVncml0YSwgbHVlZ28gaXTDoWxpY2EgKGxvcyBgKipgIHlhIGNvbnN1bWlkb3Mgbm8gY29saXNpb25hbikuXG5mdW5jdGlvbiBwcm9jZXNzSW5saW5lKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL2AoW15gXSspYC9nLCAnPGNvZGU+JDE8L2NvZGU+JylcbiAgICAucmVwbGFjZSgvXFwqXFwqKC4rPylcXCpcXCovZywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nKVxuICAgIC5yZXBsYWNlKC9cXCooW14qXFxuXSs/KVxcKi9nLCAnPGVtPiQxPC9lbT4nKTtcbn1cblxuZnVuY3Rpb24gbWFrZUhlYWRpbmcobGV2ZWw6IG51bWJlciwgY29udGVudDogc3RyaW5nKTogQXJ0aWNsZVRpdGxlRWxlbWVudCB8IEFydGljbGVTdWJ0aXRsZUVsZW1lbnQge1xuICBpZiAobGV2ZWwgPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3RpdGxlJyxcbiAgICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemU6ICd4bGFyZ2UnLCBjb2xvcjogJ2RhcmsnLCBib2xkOiB0cnVlIH0sXG4gICAgfTtcbiAgfVxuICBjb25zdCBzaXplOiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID1cbiAgICBsZXZlbCA9PT0gMiA/ICdsYXJnZScgOiBsZXZlbCA9PT0gMyA/ICdtZWRpdW0nIDogJ3NtYWxsJztcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnc3VidGl0bGUnLFxuICAgIHByb3BzOiB7IGNvbnRlbnQsIHNpemUsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IHRydWUgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVF1b3RlT3JDYWxsb3V0KGJsb2NrOiBzdHJpbmdbXSwgbGFiZWxzOiBDYWxsb3V0TGFiZWxzKTogQXJ0aWNsZUVsZW1lbnQge1xuICBjb25zdCBmaXJzdCA9IGJsb2NrWzBdO1xuICBjb25zdCBjYWxsb3V0ID0gZmlyc3QubWF0Y2goQ0FMTE9VVF9SRSk7XG4gIGNvbnN0IGxpbmVzID0gYmxvY2subWFwKGwgPT4gbC5yZXBsYWNlKC9ePlxccz8vLCAnJykpO1xuXG4gIGlmIChjYWxsb3V0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNhbGxvdXRbMV0udG9VcHBlckNhc2UoKSBhcyBDYWxsb3V0VHlwZTtcbiAgICBjb25zdCBmaXJzdExpbmVSZXN0ID0gY2FsbG91dFsyXSB8fCAnJztcbiAgICBjb25zdCByZXN0ID0gbGluZXNcbiAgICAgIC5zbGljZSgxKVxuICAgICAgLmZpbHRlcihsID0+IGwudHJpbSgpICE9PSAnJylcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShbZmlyc3RMaW5lUmVzdCwgcmVzdF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpLnRyaW0oKSk7XG4gICAgcmV0dXJuIG1ha2VOb3RlKHR5cGUsIHRleHQsIGxhYmVscyk7XG4gIH1cblxuICBjb25zdCB0ZXh0ID0gcHJvY2Vzc0lubGluZShsaW5lcy5qb2luKCcgJykudHJpbSgpKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVvdGUnLFxuICAgIHByb3BzOiB7XG4gICAgICBjb250ZW50OiB0ZXh0LFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICBib2xkOiBmYWxzZSxcbiAgICAgIHNob3dRdW90ZU1hcms6IHRydWUsXG4gICAgICBhbGlnbm1lbnQ6ICdsZWZ0JyxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYWtlTm90ZShraW5kOiBDYWxsb3V0VHlwZSwgdGV4dDogc3RyaW5nLCBsYWJlbHM6IENhbGxvdXRMYWJlbHMpOiBBcnRpY2xlTm90ZUVsZW1lbnQge1xuICAvLyBOT1RFIGVzIGVsIGNhbGxvdXQgbmV1dHJvIChjYWphIGRlIGNvbnRlbmlkbyBzaW4gZXRpcXVldGEgZGUgc2V2ZXJpZGFkKTogc2VcbiAgLy8gcmVuZGVyaXphIFNJTiBwcmVmaWpvLiBMb3MgZGVtw6FzIHRpcG9zIChUSVAvSU5GTy9XQVJOSU5HL0NBVVRJT04vSU1QT1JUQU5UKVxuICAvLyBzw60gbXVlc3RyYW4gc3UgbGFiZWwgcG9ycXVlIGNvbXVuaWNhIGNhdGVnb3LDrWEvc2V2ZXJpZGFkLiBFbCBub3Rlcy1ib3ggbm9cbiAgLy8gcmVuZGVyaXphIGhlYWRlciBjdWFuZG8gcHJlZml4IGVzIHZhY8OtbyAoYEBpZiAocHJvcHMucHJlZml4KWApLlxuICBjb25zdCBwcmVmaXggPSBraW5kID09PSAnTk9URScgPyAnJyA6IGAke2xhYmVsc1traW5kXX06YDtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnbm90ZScsXG4gICAgcHJvcHM6IHtcbiAgICAgIHRleHQsXG4gICAgICBwcmVmaXgsXG4gICAgICBjb2xvcjogQ0FMTE9VVF9DT0xPUlNba2luZF0sXG4gICAgICB0ZXh0Q29sb3I6ICdkYXJrJyxcbiAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgcm91bmRlZDogdHJ1ZSxcbiAgICAgIGFsbG93UGFydGlhbEJvbGQ6IHRydWUsXG4gICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWFrZVRhYmxlKHJvd3M6IHN0cmluZ1tdKTogQXJ0aWNsZUVsZW1lbnRbXSB7XG4gIGNvbnN0IHBhcnNlZCA9IHJvd3NcbiAgICAuZmlsdGVyKHIgPT4gIVRBQkxFX0RJVklERVJfUkUudGVzdChyKSlcbiAgICAubWFwKHIgPT5cbiAgICAgIHJcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAucmVwbGFjZSgvXlxcfC8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXFx8JC8sICcnKVxuICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAubWFwKGMgPT4gYy50cmltKCkpXG4gICAgKTtcbiAgaWYgKHBhcnNlZC5sZW5ndGggPT09IDApIHJldHVybiBbXTtcblxuICBjb25zdCBoZWFkZXIgPSBwYXJzZWRbMF07XG4gIGNvbnN0IGRhdGFSb3dzID0gcGFyc2VkLnNsaWNlKDEpO1xuICBpZiAoZGF0YVJvd3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3BhcmFncmFwaCcsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgY29udGVudDogaGVhZGVyLm1hcChwcm9jZXNzSW5saW5lKS5qb2luKCcgwrcgJyksXG4gICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICBwcm9jZXNzTGlua3M6IHRydWUsXG4gICAgICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBkYXRhUm93cy5tYXAocm93ID0+IHtcbiAgICBjb25zdCBwYWlycyA9IHJvdy5tYXAoKGNlbGwsIGlkeCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gaGVhZGVyW2lkeF0gPz8gJyc7XG4gICAgICByZXR1cm4ga2V5XG4gICAgICAgID8gYDxzdHJvbmc+JHtwcm9jZXNzSW5saW5lKGtleSl9Ojwvc3Ryb25nPiAke3Byb2Nlc3NJbmxpbmUoY2VsbCl9YFxuICAgICAgICA6IHByb2Nlc3NJbmxpbmUoY2VsbCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdwYXJhZ3JhcGgnLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgY29udGVudDogcGFpcnMuam9pbignIMK3ICcpLFxuICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgIHByb2Nlc3NMaW5rczogdHJ1ZSxcbiAgICAgICAgYWxsb3dQYXJ0aWFsQm9sZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSBhcyBBcnRpY2xlRWxlbWVudDtcbiAgfSk7XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.155';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xNTUnO1xuIl19
|
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.155';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -32026,7 +32026,7 @@ class ArticleComponent {
|
|
|
32026
32026
|
<span *ngIf="getListElement(element).props.listType === 'checklist'" class="val-article__list-check"
|
|
32027
32027
|
>✓</span
|
|
32028
32028
|
>
|
|
32029
|
-
<span [innerHTML]="item.text"></span>
|
|
32029
|
+
<span [innerHTML]="item.text | processLinks"></span>
|
|
32030
32030
|
</li>
|
|
32031
32031
|
</ul>
|
|
32032
32032
|
<ol
|
|
@@ -32034,7 +32034,7 @@ class ArticleComponent {
|
|
|
32034
32034
|
class="val-article__list val-article__list--ordered"
|
|
32035
32035
|
>
|
|
32036
32036
|
<li *ngFor="let item of getListElement(element).props.items" class="val-article__list-item">
|
|
32037
|
-
<span [innerHTML]="item.text"></span>
|
|
32037
|
+
<span [innerHTML]="item.text | processLinks"></span>
|
|
32038
32038
|
</li>
|
|
32039
32039
|
</ol>
|
|
32040
32040
|
</ng-container>
|
|
@@ -32105,7 +32105,7 @@ class ArticleComponent {
|
|
|
32105
32105
|
</ng-container>
|
|
32106
32106
|
</div>
|
|
32107
32107
|
</article>
|
|
32108
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:0}.val-article__image{text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote,.val-article__highlight{padding:.5rem}}:host-context(body.dark) .val-article--auto,:host-context(.dark) .val-article--auto,:host-context(.ion-palette-dark) .val-article--auto,:host-context(html.ion-palette-dark) .val-article--auto,:host-context([data-theme=dark]) .val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}:host-context(body.dark) .val-article--auto .val-article__quote,:host-context(.dark) .val-article--auto .val-article__quote,:host-context(.ion-palette-dark) .val-article--auto .val-article__quote,:host-context(html.ion-palette-dark) .val-article--auto .val-article__quote,:host-context([data-theme=dark]) .val-article--auto .val-article__quote{background-color:#ffffff14;border-left-color:var(--ion-color-primary)}:host-context(body.dark) .val-article--auto .val-article__highlight,:host-context(.dark) .val-article--auto .val-article__highlight,:host-context(.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context(html.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context([data-theme=dark]) .val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}:host-context(body.dark) .val-article--auto .val-article__code-content,:host-context(.dark) .val-article--auto .val-article__code-content,:host-context(.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context(html.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context([data-theme=dark]) .val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }, { kind: "component", type: NotesBoxComponent, selector: "val-notes-box", inputs: ["props"] }, { kind: "component", type: PlainCodeBoxComponent, selector: "val-plain-code-box", inputs: ["props"] }] }); }
|
|
32108
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-article{width:100%;margin:0 auto;line-height:1.6;color:var(--ion-color-dark, #1f2937);display:block;position:static}.val-article--centered{margin:0 auto}.val-article--light{background-color:var(--ion-color-light, #ffffff);color:var(--ion-color-dark, #1f2937)}.val-article--dark{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}.val-article__element{position:relative}.val-article__element:last-child{margin-bottom:0!important}.val-article__spacing-top--none{margin-top:0!important}.val-article__spacing-top--small{margin-top:.5rem!important}.val-article__spacing-top--medium{margin-top:1rem!important}.val-article__spacing-top--large{margin-top:1.5rem!important}.val-article__spacing-top--xlarge{margin-top:2.5rem!important}.val-article__spacing-bottom--none{margin-bottom:0!important}.val-article__spacing-bottom--small{margin-bottom:.5rem!important}.val-article__spacing-bottom--medium{margin-bottom:1rem!important}.val-article__spacing-bottom--large{margin-bottom:1.5rem!important}.val-article__spacing-bottom--xlarge{margin-bottom:2.5rem!important}.val-article__spacing-horizontal--none{margin-left:0!important;margin-right:0!important}.val-article__spacing-horizontal--small{margin-left:.5rem!important;margin-right:.5rem!important}.val-article__spacing-horizontal--medium{margin-left:1rem!important;margin-right:1rem!important}.val-article__spacing-horizontal--large{margin-left:1.5rem!important;margin-right:1.5rem!important}.val-article__spacing-horizontal--xlarge{margin-left:2.5rem!important;margin-right:2.5rem!important}.val-article__quote{border-left:4px solid #0969da;padding:1rem;background-color:var(--ion-color-light-shade, #f8f9fa);border-radius:0 8px 8px 0;font-style:italic}.val-article__quote-content{margin-bottom:.5rem;font-size:1.1em}.val-article__quote-author{font-size:.9em;color:var(--ion-color-medium, #6c757d);font-style:normal;font-weight:500;text-align:right}.val-article__quote-source{font-weight:400;opacity:.8}.val-article__highlight{padding:1rem;background-color:var(--ion-color-warning-tint, #fff3cd);border:1px solid var(--ion-color-warning, #ffc107);border-radius:4px}.val-article__highlight--rounded{border-radius:12px}.val-article__code{border-radius:8px;overflow:hidden;border:1px solid #e1e5e9}.val-article__code-language{background-color:var(--ion-color-medium-tint, #f8f9fa);padding:.5rem 1rem;font-size:.875em;font-weight:500;color:var(--ion-color-dark, #495057);border-bottom:1px solid #e1e5e9;text-transform:uppercase;letter-spacing:.5px}.val-article__code-content{background-color:#f6f8fa;color:#24292e;padding:1rem;margin:0;overflow-x:auto;font-family:SFMono-Regular,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;line-height:1.5}.val-article__code-content code{background:none;padding:0;font-size:inherit;color:inherit}.val-article__code-content--dark{background-color:#161b22;color:#f0f6fc}.val-article__list{padding-left:1.5rem}.val-article__list--ordered{list-style-type:decimal}.val-article__list-item{margin-bottom:.5rem;line-height:1.6;position:relative}.val-article__list-item:last-child{margin-bottom:0}.val-article__list-check{color:var(--ion-color-success, #28a745);font-weight:700;margin-right:.5rem;position:absolute;left:-1.5rem}.val-article .val-article__list:has(.val-article__list-check){list-style:none;padding-left:1rem}.val-article__button-container--left{text-align:left}.val-article__button-container--center{text-align:center}.val-article__button-container--right{text-align:right}.val-article__separator{text-align:center}.val-article__separator-line{border:none;height:1px;background-color:#d0d7de;margin:0}.val-article__separator-line--thin{height:1px}.val-article__separator-line--thick{height:3px}.val-article__separator-dots{color:#d0d7de;font-size:1.5em;letter-spacing:.5em;-webkit-user-select:none;user-select:none}.val-article__separator-space{height:0}.val-article__image{text-align:center}.val-article__image--left{text-align:left}.val-article__image--center{text-align:center}.val-article__image--right{text-align:right}.val-article__image-content{max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.val-article__image-content:hover{transform:scale(1.02)}.val-article__image-content--rounded{border-radius:12px}.val-article__image-caption{margin-top:.5rem;font-size:.875em;color:var(--ion-color-medium, #6c757d);font-style:italic;text-align:center}.val-article__video{text-align:center}.val-article__video-content{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.val-article__video-title{margin-top:.5rem;font-size:.9em;color:var(--ion-color-medium, #6c757d);font-weight:500}.val-article__custom *{max-width:100%}@media (max-width: 768px){.val-article__code-content{font-size:.8em;padding:.5rem}.val-article__image-content:hover{transform:none}.val-article__quote,.val-article__highlight{padding:.5rem}}:host-context(body.dark) .val-article--auto,:host-context(.dark) .val-article--auto,:host-context(.ion-palette-dark) .val-article--auto,:host-context(html.ion-palette-dark) .val-article--auto,:host-context([data-theme=dark]) .val-article--auto{background-color:var(--ion-color-dark, #1f2937);color:var(--ion-color-light, #ffffff)}:host-context(body.dark) .val-article--auto .val-article__quote,:host-context(.dark) .val-article--auto .val-article__quote,:host-context(.ion-palette-dark) .val-article--auto .val-article__quote,:host-context(html.ion-palette-dark) .val-article--auto .val-article__quote,:host-context([data-theme=dark]) .val-article--auto .val-article__quote{background-color:#ffffff14;border-left-color:var(--ion-color-primary)}:host-context(body.dark) .val-article--auto .val-article__highlight,:host-context(.dark) .val-article--auto .val-article__highlight,:host-context(.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context(html.ion-palette-dark) .val-article--auto .val-article__highlight,:host-context([data-theme=dark]) .val-article--auto .val-article__highlight{background-color:#ffc1071a;border-color:var(--ion-color-warning-shade, #e0a800)}:host-context(body.dark) .val-article--auto .val-article__code-content,:host-context(.dark) .val-article--auto .val-article__code-content,:host-context(.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context(html.ion-palette-dark) .val-article--auto .val-article__code-content,:host-context([data-theme=dark]) .val-article--auto .val-article__code-content{background-color:#161b22;color:#f0f6fc}.val-article__element{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.val-article__separator-line{background-color:currentColor;opacity:.5}.val-article__quote{border-left-width:6px}}@media (prefers-reduced-motion: reduce){.val-article .val-article__element{animation:none}.val-article__image-content{transition:none}.val-article__image-content:hover{transform:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: CodeDisplayComponent, selector: "val-code-display", inputs: ["props"] }, { kind: "component", type: NotesBoxComponent, selector: "val-notes-box", inputs: ["props"] }, { kind: "component", type: PlainCodeBoxComponent, selector: "val-plain-code-box", inputs: ["props"] }, { kind: "pipe", type: ProcessLinksPipe, name: "processLinks" }] }); }
|
|
32109
32109
|
}
|
|
32110
32110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ArticleComponent, decorators: [{
|
|
32111
32111
|
type: Component,
|
|
@@ -32119,6 +32119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
32119
32119
|
CodeDisplayComponent,
|
|
32120
32120
|
NotesBoxComponent,
|
|
32121
32121
|
PlainCodeBoxComponent,
|
|
32122
|
+
ProcessLinksPipe,
|
|
32122
32123
|
], template: `
|
|
32123
32124
|
<article
|
|
32124
32125
|
class="val-article"
|
|
@@ -32203,7 +32204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
32203
32204
|
<span *ngIf="getListElement(element).props.listType === 'checklist'" class="val-article__list-check"
|
|
32204
32205
|
>✓</span
|
|
32205
32206
|
>
|
|
32206
|
-
<span [innerHTML]="item.text"></span>
|
|
32207
|
+
<span [innerHTML]="item.text | processLinks"></span>
|
|
32207
32208
|
</li>
|
|
32208
32209
|
</ul>
|
|
32209
32210
|
<ol
|
|
@@ -32211,7 +32212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
32211
32212
|
class="val-article__list val-article__list--ordered"
|
|
32212
32213
|
>
|
|
32213
32214
|
<li *ngFor="let item of getListElement(element).props.items" class="val-article__list-item">
|
|
32214
|
-
<span [innerHTML]="item.text"></span>
|
|
32215
|
+
<span [innerHTML]="item.text | processLinks"></span>
|
|
32215
32216
|
</li>
|
|
32216
32217
|
</ol>
|
|
32217
32218
|
</ng-container>
|
|
@@ -33521,6 +33522,53 @@ function permissionGuard(permissions) {
|
|
|
33521
33522
|
return router.createUrlTree([config.unauthorizedRoute]);
|
|
33522
33523
|
};
|
|
33523
33524
|
}
|
|
33525
|
+
/**
|
|
33526
|
+
* Factory de guard RBAC parametrizable — defense-in-depth a nivel de RUTA.
|
|
33527
|
+
*
|
|
33528
|
+
* Variante ergonómica de {@link permissionGuard} con firma variádica
|
|
33529
|
+
* (`rbacGuard('a:read', 'b:manage')` en vez de `permissionGuard(['a:read', 'b:manage'])`),
|
|
33530
|
+
* pensada para gatear vistas administrativas montadas vía los `provideValtech*Routes`
|
|
33531
|
+
* de la lib. Pasa si el usuario tiene **AL MENOS UNO** de los permisos (OR), igual que
|
|
33532
|
+
* el resto del gating del factory (`*valHasPermission`, menú). El match de wildcards
|
|
33533
|
+
* (`*:*`, `resource:*`, `*:action`) lo resuelve `AuthService.hasPermission`.
|
|
33534
|
+
*
|
|
33535
|
+
* Es una capa ADICIONAL al gating fino dentro de los componentes (botones por
|
|
33536
|
+
* `*valHasPermission`) y al 403 del backend — no los reemplaza. Sin permiso redirige
|
|
33537
|
+
* a `unauthorizedRoute` (mismo destino que `permissionGuard`).
|
|
33538
|
+
*
|
|
33539
|
+
* @param permissions - Uno o más permisos requeridos (OR)
|
|
33540
|
+
* @returns Guard function
|
|
33541
|
+
*
|
|
33542
|
+
* @example
|
|
33543
|
+
* ```typescript
|
|
33544
|
+
* import { rbacGuard } from 'valtech-components';
|
|
33545
|
+
*
|
|
33546
|
+
* const routes: Routes = [
|
|
33547
|
+
* {
|
|
33548
|
+
* path: 'api-keys',
|
|
33549
|
+
* canActivate: [rbacGuard('api-keys:read')],
|
|
33550
|
+
* component: ApiKeysViewComponent,
|
|
33551
|
+
* },
|
|
33552
|
+
* {
|
|
33553
|
+
* path: 'permissions',
|
|
33554
|
+
* canActivate: [rbacGuard('roles:read', 'rbac:manage')],
|
|
33555
|
+
* component: PermissionsViewComponent,
|
|
33556
|
+
* },
|
|
33557
|
+
* ];
|
|
33558
|
+
* ```
|
|
33559
|
+
*/
|
|
33560
|
+
function rbacGuard(...permissions) {
|
|
33561
|
+
return () => {
|
|
33562
|
+
const authService = inject(AuthService);
|
|
33563
|
+
const router = inject(Router);
|
|
33564
|
+
const config = inject(VALTECH_AUTH_CONFIG);
|
|
33565
|
+
if (permissions.length === 0 || authService.hasAnyPermission(permissions)) {
|
|
33566
|
+
return true;
|
|
33567
|
+
}
|
|
33568
|
+
console.warn(`[ValtechAuth] Acceso a ruta denegado. Requerido: ${permissions.join(' o ')}`);
|
|
33569
|
+
return router.createUrlTree([config.unauthorizedRoute]);
|
|
33570
|
+
};
|
|
33571
|
+
}
|
|
33524
33572
|
/**
|
|
33525
33573
|
* Guard que lee permisos desde route.data.
|
|
33526
33574
|
* Permite configurar permisos directamente en la definición de rutas.
|
|
@@ -55917,6 +55965,7 @@ function provideValtechPermissionsRoutes(opts) {
|
|
|
55917
55965
|
{
|
|
55918
55966
|
path: opts?.path ?? 'permissions',
|
|
55919
55967
|
component: PermissionsViewComponent,
|
|
55968
|
+
canActivate: [rbacGuard('roles:read', 'rbac:manage')],
|
|
55920
55969
|
data: { permissionsConfig: opts?.config },
|
|
55921
55970
|
},
|
|
55922
55971
|
];
|
|
@@ -56666,6 +56715,7 @@ function provideValtechApiKeysRoutes(opts) {
|
|
|
56666
56715
|
{
|
|
56667
56716
|
path: opts?.path ?? 'api-keys',
|
|
56668
56717
|
component: ApiKeysViewComponent,
|
|
56718
|
+
canActivate: [rbacGuard('api-keys:read')],
|
|
56669
56719
|
data: { apiKeysConfig: opts?.config },
|
|
56670
56720
|
},
|
|
56671
56721
|
];
|
|
@@ -59295,11 +59345,11 @@ function parseMarkdownArticle(markdown, options) {
|
|
|
59295
59345
|
const unord = cur.match(UNORDERED_RE);
|
|
59296
59346
|
const ord = cur.match(ORDERED_RE);
|
|
59297
59347
|
if (check)
|
|
59298
|
-
items.push({ text:
|
|
59348
|
+
items.push({ text: processInline(check[2].trim()) });
|
|
59299
59349
|
else if (ord && listType === 'ordered')
|
|
59300
|
-
items.push({ text:
|
|
59350
|
+
items.push({ text: processInline(ord[1].trim()) });
|
|
59301
59351
|
else if (unord && listType !== 'ordered')
|
|
59302
|
-
items.push({ text:
|
|
59352
|
+
items.push({ text: processInline(unord[1].trim()) });
|
|
59303
59353
|
else
|
|
59304
59354
|
break;
|
|
59305
59355
|
i++;
|
|
@@ -59312,7 +59362,7 @@ function parseMarkdownArticle(markdown, options) {
|
|
|
59312
59362
|
paragraph.push(lines[i]);
|
|
59313
59363
|
i++;
|
|
59314
59364
|
}
|
|
59315
|
-
const text =
|
|
59365
|
+
const text = processInline(paragraph.join(' ').trim());
|
|
59316
59366
|
if (text) {
|
|
59317
59367
|
elements.push({
|
|
59318
59368
|
type: 'paragraph',
|
|
@@ -59351,8 +59401,15 @@ function startsNewBlock(line) {
|
|
|
59351
59401
|
line.startsWith('>') ||
|
|
59352
59402
|
BOX_DRAWING.test(line));
|
|
59353
59403
|
}
|
|
59354
|
-
|
|
59355
|
-
|
|
59404
|
+
// Procesa marcado inline a HTML (renderizado vía innerHTML por val-text/val-article).
|
|
59405
|
+
// Los enlaces [texto](url) NO se tocan acá: los resuelve el ProcessLinksPipe en
|
|
59406
|
+
// runtime (gateado por processLinks). Orden: código primero (para no interpretar
|
|
59407
|
+
// su interior), luego negrita, luego itálica (los `**` ya consumidos no colisionan).
|
|
59408
|
+
function processInline(text) {
|
|
59409
|
+
return text
|
|
59410
|
+
.replace(/`([^`]+)`/g, '<code>$1</code>')
|
|
59411
|
+
.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
|
|
59412
|
+
.replace(/\*([^*\n]+?)\*/g, '<em>$1</em>');
|
|
59356
59413
|
}
|
|
59357
59414
|
function makeHeading(level, content) {
|
|
59358
59415
|
if (level === 1) {
|
|
@@ -59378,10 +59435,10 @@ function makeQuoteOrCallout(block, labels) {
|
|
|
59378
59435
|
.slice(1)
|
|
59379
59436
|
.filter(l => l.trim() !== '')
|
|
59380
59437
|
.join('\n');
|
|
59381
|
-
const text =
|
|
59438
|
+
const text = processInline([firstLineRest, rest].filter(Boolean).join('\n').trim());
|
|
59382
59439
|
return makeNote(type, text, labels);
|
|
59383
59440
|
}
|
|
59384
|
-
const text =
|
|
59441
|
+
const text = processInline(lines.join(' ').trim());
|
|
59385
59442
|
return {
|
|
59386
59443
|
type: 'quote',
|
|
59387
59444
|
props: {
|
|
@@ -59432,7 +59489,7 @@ function makeTable(rows) {
|
|
|
59432
59489
|
{
|
|
59433
59490
|
type: 'paragraph',
|
|
59434
59491
|
props: {
|
|
59435
|
-
content: header.join(' · '),
|
|
59492
|
+
content: header.map(processInline).join(' · '),
|
|
59436
59493
|
size: 'medium',
|
|
59437
59494
|
color: 'dark',
|
|
59438
59495
|
bold: false,
|
|
@@ -59445,7 +59502,9 @@ function makeTable(rows) {
|
|
|
59445
59502
|
return dataRows.map(row => {
|
|
59446
59503
|
const pairs = row.map((cell, idx) => {
|
|
59447
59504
|
const key = header[idx] ?? '';
|
|
59448
|
-
return key
|
|
59505
|
+
return key
|
|
59506
|
+
? `<strong>${processInline(key)}:</strong> ${processInline(cell)}`
|
|
59507
|
+
: processInline(cell);
|
|
59449
59508
|
});
|
|
59450
59509
|
return {
|
|
59451
59510
|
type: 'paragraph',
|
|
@@ -70438,5 +70497,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
70438
70497
|
* Generated bundle index. Do not edit.
|
|
70439
70498
|
*/
|
|
70440
70499
|
|
|
70441
|
-
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
|
|
70500
|
+
export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, CheckInputComponent, CheckboxRadioInputComponent, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentService, ContentTransformer, CookieBannerComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, ExpandableTextComponent, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, METRIC_CARD_DEFAULTS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MenuComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneInputComponent, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, ProcessLinksPipe, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, collections, connectPageRefresh, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, docs, errorLoggingInterceptor, extractPathParams, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, rbacGuard, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle };
|
|
70442
70501
|
//# sourceMappingURL=valtech-components.mjs.map
|