@ai-table/grid 0.0.42 → 0.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/angular-konva/interfaces/event-object.d.ts +4 -0
  2. package/angular-konva/interfaces/event-object.d.ts.map +1 -1
  3. package/components/field-menu/field-menu.component.d.ts +3 -2
  4. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  5. package/constants/grid.d.ts.map +1 -1
  6. package/constants/table.d.ts +5 -1
  7. package/constants/table.d.ts.map +1 -1
  8. package/esm2022/angular-konva/interfaces/event-object.mjs +1 -1
  9. package/esm2022/components/cell-editors/link/link-editor.component.mjs +2 -2
  10. package/esm2022/components/field-menu/field-menu.component.mjs +9 -3
  11. package/esm2022/constants/grid.mjs +1 -2
  12. package/esm2022/constants/table.mjs +6 -2
  13. package/esm2022/grid-base.component.mjs +4 -2
  14. package/esm2022/grid.component.mjs +39 -23
  15. package/esm2022/renderer/components/action-icon.component.mjs +117 -0
  16. package/esm2022/renderer/components/cells/attachment.component.mjs +117 -0
  17. package/esm2022/renderer/components/cells/index.mjs +3 -1
  18. package/esm2022/renderer/components/hover-cell.component.mjs +7 -7
  19. package/esm2022/renderer/drawers/cell-drawer.mjs +4 -7
  20. package/esm2022/types/cell.mjs +1 -1
  21. package/esm2022/types/component-config.mjs +1 -1
  22. package/esm2022/types/field.mjs +1 -1
  23. package/esm2022/utils/clipboard/paste.mjs +27 -14
  24. package/esm2022/utils/common.mjs +6 -5
  25. package/esm2022/utils/field/model/date.mjs +41 -18
  26. package/esm2022/utils/field/model/progress.mjs +11 -4
  27. package/esm2022/utils/file.mjs +1 -93
  28. package/esm2022/utils/hover-cell.mjs +1 -8
  29. package/fesm2022/ai-table-grid.mjs +1383 -1272
  30. package/fesm2022/ai-table-grid.mjs.map +1 -1
  31. package/grid-base.component.d.ts +4 -1
  32. package/grid-base.component.d.ts.map +1 -1
  33. package/grid.component.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/renderer/components/action-icon.component.d.ts +47 -0
  36. package/renderer/components/action-icon.component.d.ts.map +1 -0
  37. package/renderer/components/cells/attachment.component.d.ts +16 -0
  38. package/renderer/components/cells/attachment.component.d.ts.map +1 -0
  39. package/renderer/components/cells/index.d.ts +1 -0
  40. package/renderer/components/cells/index.d.ts.map +1 -1
  41. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  42. package/types/cell.d.ts +1 -0
  43. package/types/cell.d.ts.map +1 -1
  44. package/types/component-config.d.ts +13 -1
  45. package/types/component-config.d.ts.map +1 -1
  46. package/types/field.d.ts +1 -1
  47. package/types/field.d.ts.map +1 -1
  48. package/utils/clipboard/paste.d.ts.map +1 -1
  49. package/utils/common.d.ts +1 -1
  50. package/utils/common.d.ts.map +1 -1
  51. package/utils/field/model/date.d.ts.map +1 -1
  52. package/utils/field/model/progress.d.ts.map +1 -1
  53. package/utils/file.d.ts +0 -9
  54. package/utils/file.d.ts.map +1 -1
  55. package/utils/hover-cell.d.ts.map +1 -1
  56. package/esm2022/utils/icon.mjs +0 -48
  57. package/utils/icon.d.ts +0 -19
  58. package/utils/icon.d.ts.map +0 -1
@@ -14,27 +14,39 @@ function extractContentFromClipboardText(clipboardText) {
14
14
  .filter((row) => row.length > 0 && row.some((cell) => cell.trim().length > 0));
15
15
  return contents;
16
16
  }
17
+ function processTableCell(cellHtml) {
18
+ const linkPattern = /<a[^>]*?href=["']([^"']+)["'][^>]*?>([^<]*?)<\/a>/i;
19
+ const match = cellHtml.match(linkPattern);
20
+ const link = match ? { href: match[1], text: match[2] } : null;
21
+ const content = link ? cellHtml.replace(linkPattern, `[LINK:${link.text}](${link.href})`) : cellHtml;
22
+ const cleanContent = content
23
+ .replace(/<[^>]+>/g, '')
24
+ .replace(/&nbsp;/g, ' ')
25
+ .replace(/\s+/g, ' ')
26
+ .trim();
27
+ return link ? cleanContent.replace(`[LINK:${link.text}](${link.href})`, `<a href="${link.href}">${link.text}</a>`) : cleanContent;
28
+ }
17
29
  function extractContentFromClipboardHtml(clipboardHtml) {
18
30
  const tablePattern = /<table[^>]*>([\s\S]*?)<\/table>/i;
19
31
  const trPattern = /<tr[^>]*>([\s\S]*?)<\/tr>/gi;
20
- const cellPattern = /<td[^>]*>([\s\S]*?)<\/td>/gi;
21
- const contents = [];
32
+ const tdPattern = /<td[^>]*?>([\s\S]*?)<\/td>/gi;
22
33
  try {
23
34
  const tableMatch = clipboardHtml.match(tablePattern);
24
35
  const tableContent = tableMatch ? tableMatch[1] : clipboardHtml;
25
36
  const rows = tableContent.match(trPattern) || [];
26
- rows.forEach((row) => {
27
- const rowContent = [];
28
- const cells = row.match(cellPattern) || [];
29
- cells.forEach((cell) => {
30
- const content = cell.replace(/<td>|<\/td>/g, '').trim();
31
- rowContent.push(content);
32
- });
33
- contents.push(rowContent);
34
- });
35
- return contents;
37
+ return rows
38
+ .map((row) => {
39
+ const contents = [];
40
+ let tdMatch;
41
+ while ((tdMatch = tdPattern.exec(row)) !== null) {
42
+ contents.push(processTableCell(tdMatch[1]));
43
+ }
44
+ return contents;
45
+ })
46
+ .filter((row) => row.length > 0);
36
47
  }
37
48
  catch (error) {
49
+ console.warn('Failed to extract content from HTML:', error);
38
50
  return [];
39
51
  }
40
52
  }
@@ -116,7 +128,8 @@ function appendRecord(aiTable, actions) {
116
128
  });
117
129
  }
118
130
  function appendField(aiTable, originField, actions) {
119
- const lastFieldId = aiTable.fields().length > 0 ? aiTable.fields()[aiTable.fields().length - 1]._id : '';
131
+ const fields = aiTable.gridData().fields;
132
+ const lastFieldId = fields.length > 0 ? fields[fields.length - 1]._id : '';
120
133
  let defaultFieldValue;
121
134
  if (originField) {
122
135
  defaultFieldValue = {
@@ -181,4 +194,4 @@ export const writeToAITable = async (aiTable, actions) => {
181
194
  });
182
195
  return isPasteSuccess;
183
196
  };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBRVosYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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LElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQztxQkFDNUMsQ0FBQyxDQUFDO29CQUNILGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFBLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLGNBQWMsQ0FBQztBQUMxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlQ29udGVudCwgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGUsXG4gICAgQUlUYWJsZUZpZWxkLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZVJlY29yZCxcbiAgICBjcmVhdGVEZWZhdWx0RmllbGQsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSxcbiAgICBGaWVsZE9wdGlvbnMsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBnZXRGaWVsZFZhbHVlLFxuICAgIGlkQ3JlYXRvcixcbiAgICBTZWxlY3RTZXR0aW5ncyxcbiAgICBVcGRhdGVGaWVsZFZhbHVlT3B0aW9uc1xufSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IHJlYWRGcm9tQ2xpcGJvYXJkLCBhaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGUsIGV4dHJhY3RUZXh0IH0gZnJvbSAnLi4vY2xpcGJvYXJkJztcbmltcG9ydCB7IEZpZWxkTW9kZWxNYXAgfSBmcm9tICcuLi9maWVsZC9tb2RlbCc7XG5pbXBvcnQgeyBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QgfSBmcm9tICcuLi9maWVsZC9tb2RlbC9zZWxlY3QnO1xuaW1wb3J0IHsgQWRkUmVjb3JkT3B0aW9ucywgQWRkRmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5cbmNvbnN0IGFpVGFibGVBdHRyaWJ1dGVQYXR0ZXJuID0gbmV3IFJlZ0V4cChgJHthaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGV9PVwiKC4rPylcImAsICdtJyk7XG5cbmNvbnN0IGRlY29kZUNsaXBib2FyZEpzb25EYXRhID0gKGVuY29kZWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZW5jb2RlZCkpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpO1xufTtcblxuZnVuY3Rpb24gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkVGV4dChjbGlwYm9hcmRUZXh0OiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCBjb250ZW50cyA9IGNsaXBib2FyZFRleHRcbiAgICAgICAgLnNwbGl0KCdcXG4nKVxuICAgICAgICAubWFwKChyb3cpID0+IHJvdy5zcGxpdCgnXFx0JykpXG4gICAgICAgIC5maWx0ZXIoKHJvdykgPT4gcm93Lmxlbmd0aCA+IDAgJiYgcm93LnNvbWUoKGNlbGwpID0+IGNlbGwudHJpbSgpLmxlbmd0aCA+IDApKTtcblxuICAgIHJldHVybiBjb250ZW50cztcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sOiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCB0YWJsZVBhdHRlcm4gPSAvPHRhYmxlW14+XSo+KFtcXHNcXFNdKj8pPFxcL3RhYmxlPi9pO1xuICAgIGNvbnN0IHRyUGF0dGVybiA9IC88dHJbXj5dKj4oW1xcc1xcU10qPyk8XFwvdHI+L2dpO1xuICAgIGNvbnN0IGNlbGxQYXR0ZXJuID0gLzx0ZFtePl0qPihbXFxzXFxTXSo/KTxcXC90ZD4vZ2k7XG4gICAgY29uc3QgY29udGVudHM6IHN0cmluZ1tdW10gPSBbXTtcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRhYmxlTWF0Y2ggPSBjbGlwYm9hcmRIdG1sLm1hdGNoKHRhYmxlUGF0dGVybik7XG4gICAgICAgIGNvbnN0IHRhYmxlQ29udGVudCA9IHRhYmxlTWF0Y2ggPyB0YWJsZU1hdGNoWzFdIDogY2xpcGJvYXJkSHRtbDtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlQ29udGVudC5tYXRjaCh0clBhdHRlcm4pIHx8IFtdO1xuXG4gICAgICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb3dDb250ZW50OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgY2VsbHMgPSByb3cubWF0Y2goY2VsbFBhdHRlcm4pIHx8IFtdO1xuXG4gICAgICAgICAgICBjZWxscy5mb3JFYWNoKChjZWxsKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGNlbGwucmVwbGFjZSgvPHRkPnw8XFwvdGQ+L2csICcnKS50cmltKCk7XG4gICAgICAgICAgICAgICAgcm93Q29udGVudC5wdXNoKGNvbnRlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnRlbnRzLnB1c2gocm93Q29udGVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjb250ZW50cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0QUlUYWJsZUNvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sOiBzdHJpbmcpOiBBSVRhYmxlQ29udGVudCB8IG51bGwge1xuICAgIGNvbnN0IGFpVGFibGVGcmFnbWVudCA9IGNsaXBib2FyZEh0bWwubWF0Y2goYWlUYWJsZUF0dHJpYnV0ZVBhdHRlcm4pO1xuICAgIGlmIChhaVRhYmxlRnJhZ21lbnQgJiYgISFhaVRhYmxlRnJhZ21lbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVDbGlwYm9hcmRKc29uRGF0YShhaVRhYmxlRnJhZ21lbnRbMV0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuY29uc3QgcmVhZENsaXBib2FyZERhdGEgPSBhc3luYyAoKTogUHJvbWlzZTx7IGNsaXBib2FyZENvbnRlbnQ6IHN0cmluZ1tdW107IGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwgfT4gPT4ge1xuICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBhd2FpdCByZWFkRnJvbUNsaXBib2FyZCgpO1xuICAgIGxldCBjbGlwYm9hcmRDb250ZW50OiBzdHJpbmdbXVtdID0gW107XG4gICAgbGV0IGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkSHRtbCA9IGNsaXBib2FyZERhdGEuaHRtbDtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkVGV4dCA9IGNsaXBib2FyZERhdGEudGV4dDtcblxuICAgICAgICBpZiAoY2xpcGJvYXJkSHRtbCkge1xuICAgICAgICAgICAgYWlUYWJsZUNvbnRlbnQgPSBleHRyYWN0QUlUYWJsZUNvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sKTtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRlbnQgPSBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbGlwYm9hcmRDb250ZW50Lmxlbmd0aCAmJiBjbGlwYm9hcmRUZXh0KSB7XG4gICAgICAgICAgICBjbGlwYm9hcmRDb250ZW50ID0gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkVGV4dChjbGlwYm9hcmRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGNsaXBib2FyZENvbnRlbnQsXG4gICAgICAgIGFpVGFibGVDb250ZW50XG4gICAgfTtcbn07XG5cbmZ1bmN0aW9uIGdldFBhc3RlVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCxcbiAgICByZWNvcmRJbmRleDogbnVtYmVyLFxuICAgIGZpZWxkSW5kZXg6IG51bWJlcixcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzXG4pOiB7XG4gICAgdmFsdWU6IEZpZWxkVmFsdWUgfCBudWxsO1xuICAgIG5ld0ZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsO1xufSB7XG4gICAgbGV0IGZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgcmVjb3JkOiBQYXJ0aWFsPEFJVGFibGVSZWNvcmQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoYWlUYWJsZUNvbnRlbnQpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZHMsIHJlY29yZHMgfSA9IGFpVGFibGVDb250ZW50O1xuICAgICAgICBmaWVsZCA9IGZpZWxkc1tmaWVsZEluZGV4XTtcbiAgICAgICAgcmVjb3JkID0gcmVjb3Jkc1tyZWNvcmRJbmRleF07XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuYXR0YWNobWVudCB8fCAoZmllbGQgJiYgZmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5hdHRhY2htZW50KSkge1xuICAgICAgICByZXR1cm4geyB2YWx1ZTogbnVsbCwgbmV3RmllbGQ6IG51bGwgfTtcbiAgICB9XG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgIT09IEFJVGFibGVGaWVsZFR5cGUubGluaykge1xuICAgICAgICBwbGFpblRleHQgPSBleHRyYWN0VGV4dChwbGFpblRleHQpO1xuICAgIH1cblxuICAgIGxldCBvcmlnaW5EYXRhID0gZmllbGQgJiYgcmVjb3JkID8geyBmaWVsZCwgY2VsbFZhbHVlOiBnZXRGaWVsZFZhbHVlKHJlY29yZCwgZmllbGQpIH0gOiBudWxsO1xuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdCkge1xuICAgICAgICBsZXQgeyBleGlzdE9wdGlvbklkcywgbmV3T3B0aW9ucyB9ID0gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgICAgICBsZXQgbmV3RmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgbmV3T3B0aW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmIChuZXdPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgbmV3T3B0aW9ucyA9IG5ld09wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIF9pZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBuZXdGaWVsZCA9IHtcbiAgICAgICAgICAgICAgICAuLi50YXJnZXRGaWVsZCxcbiAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAuLi50YXJnZXRGaWVsZC5zZXR0aW5ncyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWy4uLigodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25zIHx8IFtdKSwgLi4ubmV3T3B0aW9uc11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbmV3T3B0aW9uSWRzID0gbmV3T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLl9pZCkuZmlsdGVyKChpZCkgPT4gISFpZCkgYXMgc3RyaW5nW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RGaWVsZFZhbHVlID0gbmV3T3B0aW9uSWRzPy5sZW5ndGggPyBbLi4uZXhpc3RPcHRpb25JZHMsIC4uLm5ld09wdGlvbklkc10gOiBleGlzdE9wdGlvbklkcztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RGaWVsZFZhbHVlLFxuICAgICAgICAgICAgbmV3RmllbGRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWx1ZTogRmllbGRNb2RlbE1hcFt0YXJnZXRGaWVsZC50eXBlXS50b0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyksIG5ld0ZpZWxkOiBudWxsIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVBhc3RlQWN0aW9ucyB7XG4gICAgdXBkYXRlRmllbGRWYWx1ZTogKGRhdGE6IFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zKSA9PiB2b2lkO1xuICAgIHNldEZpZWxkOiAoZmllbGQ6IEFJVGFibGVGaWVsZCkgPT4gdm9pZDtcbiAgICBhZGRSZWNvcmQ6IChkYXRhOiBBZGRSZWNvcmRPcHRpb25zKSA9PiB2b2lkO1xuICAgIGFkZEZpZWxkOiAoZGF0YTogQWRkRmllbGRPcHRpb25zKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRSZWNvcmQoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZVBhc3RlQWN0aW9ucykge1xuICAgIGNvbnN0IGFsbFJlY29yZHMgPSBhaVRhYmxlLnJlY29yZHMoKTtcbiAgICBjb25zdCBsYXN0UmVjb3JkSWQgPSBhbGxSZWNvcmRzLmxlbmd0aCA+IDAgPyBhbGxSZWNvcmRzW2FsbFJlY29yZHMubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgYWN0aW9ucy5hZGRSZWNvcmQoe1xuICAgICAgICBvcmlnaW5JZDogbGFzdFJlY29yZElkXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEZpZWxkKGFpVGFibGU6IEFJVGFibGUsIG9yaWdpbkZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSB7XG4gICAgY29uc3QgbGFzdEZpZWxkSWQgPSBhaVRhYmxlLmZpZWxkcygpLmxlbmd0aCA+IDAgPyBhaVRhYmxlLmZpZWxkcygpW2FpVGFibGUuZmllbGRzKCkubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgbGV0IGRlZmF1bHRGaWVsZFZhbHVlOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG4gICAgaWYgKG9yaWdpbkZpZWxkKSB7XG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlID0ge1xuICAgICAgICAgICAgLi4ub3JpZ2luRmllbGQsXG4gICAgICAgICAgICBuYW1lOiBjcmVhdGVEZWZhdWx0RmllbGROYW1lKGFpVGFibGUsIEZpZWxkT3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IG9yaWdpbkZpZWxkLnR5cGUpISksXG4gICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSBjcmVhdGVEZWZhdWx0RmllbGQoYWlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZS50ZXh0KTtcbiAgICB9XG5cbiAgICBhY3Rpb25zLmFkZEZpZWxkKHtcbiAgICAgICAgb3JpZ2luSWQ6IGxhc3RGaWVsZElkLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRGaWVsZFZhbHVlXG4gICAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZVRvQUlUYWJsZSA9IGFzeW5jIChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IEFycmF5LmZyb20oYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzKTtcbiAgICBpZiAoIXNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBjbGlwYm9hcmRDb250ZW50LCBhaVRhYmxlQ29udGVudCB9ID0gYXdhaXQgcmVhZENsaXBib2FyZERhdGEoKTtcbiAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbZmlyc3RDZWxsXSA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgY29uc3QgW3N0YXJ0UmVjb3JkSWQsIHN0YXJ0RmllbGRJZF0gPSBmaXJzdENlbGwuc3BsaXQoJzonKTtcbiAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCkuZ2V0KHN0YXJ0UmVjb3JkSWQpID8/IDA7XG4gICAgY29uc3Qgc3RhcnRDb2xJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpLmdldChzdGFydEZpZWxkSWQpID8/IDA7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IGFpVGFibGUuY29udGV4dCEucmVmZXJlbmNlcygpO1xuICAgIGxldCBpc1Bhc3RlU3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgY2xpcGJvYXJkQ29udGVudC5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBzdGFydFJvd0luZGV4ICsgaTtcbiAgICAgICAgaWYgKHRhcmdldFJvd0luZGV4ID49IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGFwcGVuZFJlY29yZChhaVRhYmxlLCBhY3Rpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJvdy5mb3JFYWNoKChwbGFpblRleHQsIGopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gc3RhcnRDb2xJbmRleCArIGo7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Q29sSW5kZXggPj0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbkZpZWxkID0gYWlUYWJsZUNvbnRlbnQ/LmZpZWxkc1tqXSB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGFwcGVuZEZpZWxkKGFpVGFibGUsIG9yaWdpbkZpZWxkLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVjb3JkID0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKClbdGFyZ2V0Um93SW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RmllbGQgPSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSlbdGFyZ2V0Q29sSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBpO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGo7XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBuZXdGaWVsZCB9ID0gZ2V0UGFzdGVWYWx1ZShwbGFpblRleHQsIGFpVGFibGVDb250ZW50LCByZWNvcmRJbmRleCwgZmllbGRJbmRleCwgdGFyZ2V0RmllbGQsIHJlZmVyZW5jZXMpO1xuXG4gICAgICAgICAgICBpZiAobmV3RmllbGQpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnNldEZpZWxkKG5ld0ZpZWxkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldFJlY29yZC5faWQsIHRhcmdldEZpZWxkLl9pZF1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlzUGFzdGVTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaXNQYXN0ZVN1Y2Nlc3M7XG59O1xuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBRVosYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuRixPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxRQUFnQjtJQUN0QyxNQUFNLFdBQVcsR0FBRyxvREFBb0QsQ0FBQztJQUN6RSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsU0FBUyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckcsTUFBTSxZQUFZLEdBQUcsT0FBTztTQUN2QixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztTQUN2QixPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztTQUN2QixPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztTQUNwQixJQUFJLEVBQUUsQ0FBQztJQUVaLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsWUFBWSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7QUFDdEksQ0FBQztBQUVELFNBQVMsK0JBQStCLENBQUMsYUFBcUI7SUFDMUQsTUFBTSxZQUFZLEdBQUcsa0NBQWtDLENBQUM7SUFDeEQsTUFBTSxTQUFTLEdBQUcsNkJBQTZCLENBQUM7SUFDaEQsTUFBTSxTQUFTLEdBQUcsOEJBQThCLENBQUM7SUFFakQsSUFBSSxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpELE9BQU8sSUFBSTthQUNOLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1QsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO1lBQzlCLElBQUksT0FBTyxDQUFDO1lBRVosT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzlDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxzQ0FBc0MsQ0FBQyxhQUFxQjtJQUNqRSxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDckUsSUFBSSxlQUFlLElBQUksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QyxPQUFPLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLElBQXNGLEVBQUU7SUFDbkgsTUFBTSxhQUFhLEdBQUcsTUFBTSxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hELElBQUksZ0JBQWdCLEdBQWUsRUFBRSxDQUFDO0lBQ3RDLElBQUksY0FBYyxHQUEwQixJQUFJLENBQUM7SUFFakQsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFFekMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixjQUFjLEdBQUcsc0NBQXNDLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkUsZ0JBQWdCLEdBQUcsK0JBQStCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksYUFBYSxFQUFFLENBQUM7WUFDNUMsZ0JBQWdCLEdBQUcsK0JBQStCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsZ0JBQWdCO1FBQ2hCLGNBQWM7S0FDakIsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLFNBQVMsYUFBYSxDQUNsQixTQUFpQixFQUNqQixjQUFxQyxFQUNyQyxXQUFtQixFQUNuQixVQUFrQixFQUNsQixXQUF5QixFQUN6QixVQUE2QjtJQUs3QixJQUFJLEtBQUssR0FBd0IsSUFBSSxDQUFDO0lBQ3RDLElBQUksTUFBTSxHQUFrQyxJQUFJLENBQUM7SUFFakQsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUMzQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzVHLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdDLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksVUFBVSxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RixJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0MsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsR0FBRywyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JHLElBQUksUUFBUSxHQUF3QixJQUFJLENBQUM7UUFDekMsSUFBSSxZQUFZLEdBQWEsRUFBRSxDQUFDO1FBRWhDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ25DLE9BQU87b0JBQ0gsR0FBRyxNQUFNO29CQUNULEdBQUcsRUFBRSxTQUFTLEVBQUU7aUJBQ25CLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsR0FBRztnQkFDUCxHQUFHLFdBQVc7Z0JBQ2QsUUFBUSxFQUFFO29CQUNOLEdBQUcsV0FBVyxDQUFDLFFBQVE7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBRSxXQUFXLENBQUMsUUFBMkIsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7aUJBQ3pGO2FBQ0osQ0FBQztZQUNGLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFhLENBQUM7UUFDM0YsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDdEcsT0FBTztZQUNILEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsUUFBUTtTQUNYLENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDbkksQ0FBQztBQVNELFNBQVMsWUFBWSxDQUFDLE9BQWdCLEVBQUUsT0FBNEI7SUFDaEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RixPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ2QsUUFBUSxFQUFFLFlBQVk7S0FDekIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE9BQWdCLEVBQUUsV0FBZ0MsRUFBRSxPQUE0QjtJQUNqRyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxJQUFJLGlCQUF3QyxDQUFDO0lBQzdDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDZCxpQkFBaUIsR0FBRztZQUNoQixHQUFHLFdBQVc7WUFDZCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBRSxDQUFDO1lBQ25HLEdBQUcsRUFBRSxTQUFTLEVBQUU7U0FDbkIsQ0FBQztJQUNOLENBQUM7U0FBTSxDQUFDO1FBQ0osaUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2IsUUFBUSxFQUFFLFdBQVc7UUFDckIsWUFBWSxFQUFFLGlCQUFpQjtLQUNsQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxPQUFnQixFQUFFLE9BQTRCLEVBQUUsRUFBRTtJQUNuRixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU87SUFDWCxDQUFDO0lBQ0QsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0saUJBQWlCLEVBQUUsQ0FBQztJQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsT0FBTztJQUNYLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztJQUUzQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsTUFBTSxjQUFjLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLGNBQWMsSUFBSSxPQUFPLENBQUMsT0FBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sY0FBYyxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxjQUFjLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM3RCxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDdEQsV0FBVyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDckIsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV2SCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUVELElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUM7b0JBQ0QsT0FBTyxDQUFDLGdCQUFnQixDQUFDO3dCQUNyQixLQUFLO3dCQUNMLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQztxQkFDNUMsQ0FBQyxDQUFDO29CQUNILGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFBLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLGNBQWMsQ0FBQztBQUMxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlQ29udGVudCwgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGUsXG4gICAgQUlUYWJsZUZpZWxkLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZVJlY29yZCxcbiAgICBjcmVhdGVEZWZhdWx0RmllbGQsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSxcbiAgICBGaWVsZE9wdGlvbnMsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBnZXRGaWVsZFZhbHVlLFxuICAgIGlkQ3JlYXRvcixcbiAgICBTZWxlY3RTZXR0aW5ncyxcbiAgICBVcGRhdGVGaWVsZFZhbHVlT3B0aW9uc1xufSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IHJlYWRGcm9tQ2xpcGJvYXJkLCBhaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGUsIGV4dHJhY3RUZXh0IH0gZnJvbSAnLi4vY2xpcGJvYXJkJztcbmltcG9ydCB7IEZpZWxkTW9kZWxNYXAgfSBmcm9tICcuLi9maWVsZC9tb2RlbCc7XG5pbXBvcnQgeyBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QgfSBmcm9tICcuLi9maWVsZC9tb2RlbC9zZWxlY3QnO1xuaW1wb3J0IHsgQWRkUmVjb3JkT3B0aW9ucywgQWRkRmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5cbmNvbnN0IGFpVGFibGVBdHRyaWJ1dGVQYXR0ZXJuID0gbmV3IFJlZ0V4cChgJHthaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGV9PVwiKC4rPylcImAsICdtJyk7XG5cbmNvbnN0IGRlY29kZUNsaXBib2FyZEpzb25EYXRhID0gKGVuY29kZWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZW5jb2RlZCkpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpO1xufTtcblxuZnVuY3Rpb24gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkVGV4dChjbGlwYm9hcmRUZXh0OiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCBjb250ZW50cyA9IGNsaXBib2FyZFRleHRcbiAgICAgICAgLnNwbGl0KCdcXG4nKVxuICAgICAgICAubWFwKChyb3cpID0+IHJvdy5zcGxpdCgnXFx0JykpXG4gICAgICAgIC5maWx0ZXIoKHJvdykgPT4gcm93Lmxlbmd0aCA+IDAgJiYgcm93LnNvbWUoKGNlbGwpID0+IGNlbGwudHJpbSgpLmxlbmd0aCA+IDApKTtcblxuICAgIHJldHVybiBjb250ZW50cztcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1RhYmxlQ2VsbChjZWxsSHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsaW5rUGF0dGVybiA9IC88YVtePl0qP2hyZWY9W1wiJ10oW15cIiddKylbXCInXVtePl0qPz4oW148XSo/KTxcXC9hPi9pO1xuICAgIGNvbnN0IG1hdGNoID0gY2VsbEh0bWwubWF0Y2gobGlua1BhdHRlcm4pO1xuICAgIGNvbnN0IGxpbmsgPSBtYXRjaCA/IHsgaHJlZjogbWF0Y2hbMV0sIHRleHQ6IG1hdGNoWzJdIH0gOiBudWxsO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBsaW5rID8gY2VsbEh0bWwucmVwbGFjZShsaW5rUGF0dGVybiwgYFtMSU5LOiR7bGluay50ZXh0fV0oJHtsaW5rLmhyZWZ9KWApIDogY2VsbEh0bWw7XG5cbiAgICBjb25zdCBjbGVhbkNvbnRlbnQgPSBjb250ZW50XG4gICAgICAgIC5yZXBsYWNlKC88W14+XSs+L2csICcnKVxuICAgICAgICAucmVwbGFjZSgvJm5ic3A7L2csICcgJylcbiAgICAgICAgLnJlcGxhY2UoL1xccysvZywgJyAnKVxuICAgICAgICAudHJpbSgpO1xuXG4gICAgcmV0dXJuIGxpbmsgPyBjbGVhbkNvbnRlbnQucmVwbGFjZShgW0xJTks6JHtsaW5rLnRleHR9XSgke2xpbmsuaHJlZn0pYCwgYDxhIGhyZWY9XCIke2xpbmsuaHJlZn1cIj4ke2xpbmsudGV4dH08L2E+YCkgOiBjbGVhbkNvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbDogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgdGFibGVQYXR0ZXJuID0gLzx0YWJsZVtePl0qPihbXFxzXFxTXSo/KTxcXC90YWJsZT4vaTtcbiAgICBjb25zdCB0clBhdHRlcm4gPSAvPHRyW14+XSo+KFtcXHNcXFNdKj8pPFxcL3RyPi9naTtcbiAgICBjb25zdCB0ZFBhdHRlcm4gPSAvPHRkW14+XSo/PihbXFxzXFxTXSo/KTxcXC90ZD4vZ2k7XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCB0YWJsZU1hdGNoID0gY2xpcGJvYXJkSHRtbC5tYXRjaCh0YWJsZVBhdHRlcm4pO1xuICAgICAgICBjb25zdCB0YWJsZUNvbnRlbnQgPSB0YWJsZU1hdGNoID8gdGFibGVNYXRjaFsxXSA6IGNsaXBib2FyZEh0bWw7XG4gICAgICAgIGNvbnN0IHJvd3MgPSB0YWJsZUNvbnRlbnQubWF0Y2godHJQYXR0ZXJuKSB8fCBbXTtcblxuICAgICAgICByZXR1cm4gcm93c1xuICAgICAgICAgICAgLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHRkTWF0Y2g7XG5cbiAgICAgICAgICAgICAgICB3aGlsZSAoKHRkTWF0Y2ggPSB0ZFBhdHRlcm4uZXhlYyhyb3cpKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5wdXNoKHByb2Nlc3NUYWJsZUNlbGwodGRNYXRjaFsxXSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50cztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKChyb3cpID0+IHJvdy5sZW5ndGggPiAwKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBleHRyYWN0IGNvbnRlbnQgZnJvbSBIVE1MOicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdEFJVGFibGVDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbDogc3RyaW5nKTogQUlUYWJsZUNvbnRlbnQgfCBudWxsIHtcbiAgICBjb25zdCBhaVRhYmxlRnJhZ21lbnQgPSBjbGlwYm9hcmRIdG1sLm1hdGNoKGFpVGFibGVBdHRyaWJ1dGVQYXR0ZXJuKTtcbiAgICBpZiAoYWlUYWJsZUZyYWdtZW50ICYmICEhYWlUYWJsZUZyYWdtZW50Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZGVjb2RlQ2xpcGJvYXJkSnNvbkRhdGEoYWlUYWJsZUZyYWdtZW50WzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmNvbnN0IHJlYWRDbGlwYm9hcmREYXRhID0gYXN5bmMgKCk6IFByb21pc2U8eyBjbGlwYm9hcmRDb250ZW50OiBzdHJpbmdbXVtdOyBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsIH0+ID0+IHtcbiAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYXdhaXQgcmVhZEZyb21DbGlwYm9hcmQoKTtcbiAgICBsZXQgY2xpcGJvYXJkQ29udGVudDogc3RyaW5nW11bXSA9IFtdO1xuICAgIGxldCBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChjbGlwYm9hcmREYXRhKSB7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZEh0bWwgPSBjbGlwYm9hcmREYXRhLmh0bWw7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZFRleHQgPSBjbGlwYm9hcmREYXRhLnRleHQ7XG5cbiAgICAgICAgaWYgKGNsaXBib2FyZEh0bWwpIHtcbiAgICAgICAgICAgIGFpVGFibGVDb250ZW50ID0gZXh0cmFjdEFJVGFibGVDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbCk7XG4gICAgICAgICAgICBjbGlwYm9hcmRDb250ZW50ID0gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2xpcGJvYXJkQ29udGVudC5sZW5ndGggJiYgY2xpcGJvYXJkVGV4dCkge1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGVudCA9IGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZFRleHQoY2xpcGJvYXJkVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjbGlwYm9hcmRDb250ZW50LFxuICAgICAgICBhaVRhYmxlQ29udGVudFxuICAgIH07XG59O1xuXG5mdW5jdGlvbiBnZXRQYXN0ZVZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwsXG4gICAgcmVjb3JkSW5kZXg6IG51bWJlcixcbiAgICBmaWVsZEluZGV4OiBudW1iZXIsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlc1xuKToge1xuICAgIHZhbHVlOiBGaWVsZFZhbHVlIHwgbnVsbDtcbiAgICBuZXdGaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbDtcbn0ge1xuICAgIGxldCBmaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHJlY29yZDogUGFydGlhbDxBSVRhYmxlUmVjb3JkPiB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGFpVGFibGVDb250ZW50KSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGRzLCByZWNvcmRzIH0gPSBhaVRhYmxlQ29udGVudDtcbiAgICAgICAgZmllbGQgPSBmaWVsZHNbZmllbGRJbmRleF07XG4gICAgICAgIHJlY29yZCA9IHJlY29yZHNbcmVjb3JkSW5kZXhdO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQgfHwgKGZpZWxkICYmIGZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuYXR0YWNobWVudCkpIHtcbiAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG51bGwsIG5ld0ZpZWxkOiBudWxsIH07XG4gICAgfVxuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlICE9PSBBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgcGxhaW5UZXh0ID0gZXh0cmFjdFRleHQocGxhaW5UZXh0KTtcbiAgICB9XG5cbiAgICBsZXQgb3JpZ2luRGF0YSA9IGZpZWxkICYmIHJlY29yZCA/IHsgZmllbGQsIGNlbGxWYWx1ZTogZ2V0RmllbGRWYWx1ZShyZWNvcmQsIGZpZWxkKSB9IDogbnVsbDtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgbGV0IHsgZXhpc3RPcHRpb25JZHMsIG5ld09wdGlvbnMgfSA9IHByb2Nlc3NQYXN0ZWRWYWx1ZUZvclNlbGVjdChwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICAgICAgbGV0IG5ld0ZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgbGV0IG5ld09wdGlvbklkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBpZiAobmV3T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5ld09wdGlvbnMgPSBuZXdPcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbmV3RmllbGQgPSB7XG4gICAgICAgICAgICAgICAgLi4udGFyZ2V0RmllbGQsXG4gICAgICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGFyZ2V0RmllbGQuc2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsuLi4oKHRhcmdldEZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXSksIC4uLm5ld09wdGlvbnNdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG5ld09wdGlvbklkcyA9IG5ld09wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5faWQpLmZpbHRlcigoaWQpID0+ICEhaWQpIGFzIHN0cmluZ1tdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0RmllbGRWYWx1ZSA9IG5ld09wdGlvbklkcz8ubGVuZ3RoID8gWy4uLmV4aXN0T3B0aW9uSWRzLCAuLi5uZXdPcHRpb25JZHNdIDogZXhpc3RPcHRpb25JZHM7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogc2VsZWN0RmllbGRWYWx1ZSxcbiAgICAgICAgICAgIG5ld0ZpZWxkXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsdWU6IEZpZWxkTW9kZWxNYXBbdGFyZ2V0RmllbGQudHlwZV0udG9GaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEsIHJlZmVyZW5jZXMpLCBuZXdGaWVsZDogbnVsbCB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVQYXN0ZUFjdGlvbnMge1xuICAgIHVwZGF0ZUZpZWxkVmFsdWU6IChkYXRhOiBVcGRhdGVGaWVsZFZhbHVlT3B0aW9ucykgPT4gdm9pZDtcbiAgICBzZXRGaWVsZDogKGZpZWxkOiBBSVRhYmxlRmllbGQpID0+IHZvaWQ7XG4gICAgYWRkUmVjb3JkOiAoZGF0YTogQWRkUmVjb3JkT3B0aW9ucykgPT4gdm9pZDtcbiAgICBhZGRGaWVsZDogKGRhdGE6IEFkZEZpZWxkT3B0aW9ucykgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gYXBwZW5kUmVjb3JkKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVQYXN0ZUFjdGlvbnMpIHtcbiAgICBjb25zdCBhbGxSZWNvcmRzID0gYWlUYWJsZS5yZWNvcmRzKCk7XG4gICAgY29uc3QgbGFzdFJlY29yZElkID0gYWxsUmVjb3Jkcy5sZW5ndGggPiAwID8gYWxsUmVjb3Jkc1thbGxSZWNvcmRzLmxlbmd0aCAtIDFdLl9pZCA6ICcnO1xuICAgIGFjdGlvbnMuYWRkUmVjb3JkKHtcbiAgICAgICAgb3JpZ2luSWQ6IGxhc3RSZWNvcmRJZFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRGaWVsZChhaVRhYmxlOiBBSVRhYmxlLCBvcmlnaW5GaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCwgYWN0aW9uczogQUlUYWJsZVBhc3RlQWN0aW9ucykge1xuICAgIGNvbnN0IGZpZWxkcyA9IGFpVGFibGUuZ3JpZERhdGEoKS5maWVsZHM7XG4gICAgY29uc3QgbGFzdEZpZWxkSWQgPSBmaWVsZHMubGVuZ3RoID4gMCA/IGZpZWxkc1tmaWVsZHMubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgbGV0IGRlZmF1bHRGaWVsZFZhbHVlOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG4gICAgaWYgKG9yaWdpbkZpZWxkKSB7XG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlID0ge1xuICAgICAgICAgICAgLi4ub3JpZ2luRmllbGQsXG4gICAgICAgICAgICBuYW1lOiBjcmVhdGVEZWZhdWx0RmllbGROYW1lKGFpVGFibGUsIEZpZWxkT3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IG9yaWdpbkZpZWxkLnR5cGUpISksXG4gICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSBjcmVhdGVEZWZhdWx0RmllbGQoYWlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZS50ZXh0KTtcbiAgICB9XG5cbiAgICBhY3Rpb25zLmFkZEZpZWxkKHtcbiAgICAgICAgb3JpZ2luSWQ6IGxhc3RGaWVsZElkLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRGaWVsZFZhbHVlXG4gICAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZVRvQUlUYWJsZSA9IGFzeW5jIChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IEFycmF5LmZyb20oYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzKTtcbiAgICBpZiAoIXNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBjbGlwYm9hcmRDb250ZW50LCBhaVRhYmxlQ29udGVudCB9ID0gYXdhaXQgcmVhZENsaXBib2FyZERhdGEoKTtcbiAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbZmlyc3RDZWxsXSA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgY29uc3QgW3N0YXJ0UmVjb3JkSWQsIHN0YXJ0RmllbGRJZF0gPSBmaXJzdENlbGwuc3BsaXQoJzonKTtcbiAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCkuZ2V0KHN0YXJ0UmVjb3JkSWQpID8/IDA7XG4gICAgY29uc3Qgc3RhcnRDb2xJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpLmdldChzdGFydEZpZWxkSWQpID8/IDA7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IGFpVGFibGUuY29udGV4dCEucmVmZXJlbmNlcygpO1xuICAgIGxldCBpc1Bhc3RlU3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgY2xpcGJvYXJkQ29udGVudC5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBzdGFydFJvd0luZGV4ICsgaTtcbiAgICAgICAgaWYgKHRhcmdldFJvd0luZGV4ID49IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGFwcGVuZFJlY29yZChhaVRhYmxlLCBhY3Rpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJvdy5mb3JFYWNoKChwbGFpblRleHQsIGopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gc3RhcnRDb2xJbmRleCArIGo7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Q29sSW5kZXggPj0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbkZpZWxkID0gYWlUYWJsZUNvbnRlbnQ/LmZpZWxkc1tqXSB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGFwcGVuZEZpZWxkKGFpVGFibGUsIG9yaWdpbkZpZWxkLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVjb3JkID0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKClbdGFyZ2V0Um93SW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RmllbGQgPSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSlbdGFyZ2V0Q29sSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBpO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGo7XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBuZXdGaWVsZCB9ID0gZ2V0UGFzdGVWYWx1ZShwbGFpblRleHQsIGFpVGFibGVDb250ZW50LCByZWNvcmRJbmRleCwgZmllbGRJbmRleCwgdGFyZ2V0RmllbGQsIHJlZmVyZW5jZXMpO1xuXG4gICAgICAgICAgICBpZiAobmV3RmllbGQpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnNldEZpZWxkKG5ld0ZpZWxkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldFJlY29yZC5faWQsIHRhcmdldEZpZWxkLl9pZF1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlzUGFzdGVTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaXNQYXN0ZVN1Y2Nlc3M7XG59O1xuIl19
@@ -3,9 +3,9 @@ import { AI_TABLE_BLANK } from '../constants';
3
3
  /**
4
4
  * 生成目标名称
5
5
  */
6
- export const generateTargetName = ({ targetName, fieldId, recordId, mouseStyle }) => {
6
+ export const generateTargetName = ({ targetName, fieldId, recordId, mouseStyle, source }) => {
7
7
  const flag = '$';
8
- return `${targetName}.${fieldId || flag}.${recordId || flag}.${mouseStyle || flag}`;
8
+ return `${targetName}.${fieldId || flag}.${recordId || flag}.${mouseStyle || flag}.${source || flag}`;
9
9
  };
10
10
  /**
11
11
  * 取目标名称
@@ -28,12 +28,13 @@ export const getDetailByTargetName = (_targetName) => {
28
28
  };
29
29
  }
30
30
  const flag = '$';
31
- const [targetName, fieldId, recordId, mouseStyle] = _targetName.split('.');
31
+ const [targetName, fieldId, recordId, mouseStyle, source] = _targetName.split('.');
32
32
  return {
33
33
  targetName,
34
34
  fieldId: fieldId === flag ? null : fieldId,
35
35
  recordId: recordId === flag ? null : recordId,
36
- mouseStyle: mouseStyle === flag ? null : mouseStyle
36
+ mouseStyle: mouseStyle === flag ? null : mouseStyle,
37
+ source: source === flag ? null : source
37
38
  };
38
39
  };
39
40
  /**
@@ -56,4 +57,4 @@ export function isEmpty(value) {
56
57
  }
57
58
  return isUndefinedOrNull(value) || value === '';
58
59
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzlDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBNEIsRUFBRSxFQUFFO0lBQzFHLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNqQixPQUFPLEdBQUcsVUFBVSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7QUFDeEYsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUU7SUFDeEQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsS0FBSyxFQUFFO1FBQUUsT0FBTyxjQUFjLENBQUM7SUFDbkUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxXQUEwQixFQUEyQixFQUFFO0lBQ3pGLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUM7SUFDakIsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0UsT0FBTztRQUNILFVBQVU7UUFDVixPQUFPLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPO1FBQzFDLFFBQVEsRUFBRSxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFDN0MsVUFBVSxFQUFFLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVTtLQUN0RCxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWEsRUFBaUIsRUFBRTtJQUN6RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBVTtJQUM5QixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXksIGlzRW1wdHkgYXMgaXNBcnJheUVtcHR5LCBpc09iamVjdCwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgQUlfVEFCTEVfQkxBTksgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZVRhcmdldE5hbWVEZXRhaWwsIEFJVGFibGVUYXJnZXROYW1lT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiDnlJ/miJDnm67moIflkI3np7BcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVGFyZ2V0TmFtZSA9ICh7IHRhcmdldE5hbWUsIGZpZWxkSWQsIHJlY29yZElkLCBtb3VzZVN0eWxlIH06IEFJVGFibGVUYXJnZXROYW1lT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGZsYWcgPSAnJCc7XG4gICAgcmV0dXJuIGAke3RhcmdldE5hbWV9LiR7ZmllbGRJZCB8fCBmbGFnfS4ke3JlY29yZElkIHx8IGZsYWd9LiR7bW91c2VTdHlsZSB8fCBmbGFnfWA7XG59O1xuXG4vKipcbiAqICDlj5bnm67moIflkI3np7BcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhcmdldE5hbWUgPSAodGFyZ2V0TmFtZT86IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICBpZiAodGFyZ2V0TmFtZSA9PSBudWxsIHx8IHRhcmdldE5hbWUgPT09ICcnKSByZXR1cm4gQUlfVEFCTEVfQkxBTks7XG4gICAgcmV0dXJuIHRhcmdldE5hbWUuc3BsaXQoJy4nKVswXTtcbn07XG5cbi8qKlxuICogUGFyc2UgdGFyZ2V0TmFtZSBmb3IgYnVpbHQtaW4gaW5mb3JtYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGdldERldGFpbEJ5VGFyZ2V0TmFtZSA9IChfdGFyZ2V0TmFtZTogc3RyaW5nIHwgbnVsbCk6IEFJVGFibGVUYXJnZXROYW1lRGV0YWlsID0+IHtcbiAgICBpZiAoX3RhcmdldE5hbWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGFyZ2V0TmFtZTogbnVsbCxcbiAgICAgICAgICAgIGZpZWxkSWQ6IG51bGwsXG4gICAgICAgICAgICByZWNvcmRJZDogbnVsbCxcbiAgICAgICAgICAgIG1vdXNlU3R5bGU6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBmbGFnID0gJyQnO1xuICAgIGNvbnN0IFt0YXJnZXROYW1lLCBmaWVsZElkLCByZWNvcmRJZCwgbW91c2VTdHlsZV0gPSBfdGFyZ2V0TmFtZS5zcGxpdCgnLicpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHRhcmdldE5hbWUsXG4gICAgICAgIGZpZWxkSWQ6IGZpZWxkSWQgPT09IGZsYWcgPyBudWxsIDogZmllbGRJZCxcbiAgICAgICAgcmVjb3JkSWQ6IHJlY29yZElkID09PSBmbGFnID8gbnVsbCA6IHJlY29yZElkLFxuICAgICAgICBtb3VzZVN0eWxlOiBtb3VzZVN0eWxlID09PSBmbGFnID8gbnVsbCA6IG1vdXNlU3R5bGVcbiAgICB9O1xufTtcblxuLyoqXG4gKiDovazmjaLkuLrlrZfnrKbkuLJcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGNhc3RUb1N0cmluZyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnID8gU3RyaW5nKHZhbHVlKSA6IHZhbHVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSkge1xuICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNBcnJheUVtcHR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lm93bktleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNVbmRlZmluZWRPck51bGwodmFsdWUpIHx8IHZhbHVlID09PSAnJztcbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzlDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQTRCLEVBQUUsRUFBRTtJQUNsSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUM7SUFDakIsT0FBTyxHQUFHLFVBQVUsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLFFBQVEsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7QUFDMUcsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUU7SUFDeEQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsS0FBSyxFQUFFO1FBQUUsT0FBTyxjQUFjLENBQUM7SUFDbkUsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxXQUEwQixFQUEyQixFQUFFO0lBQ3pGLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSTtZQUNiLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUM7SUFDakIsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLE9BQU87UUFDSCxVQUFVO1FBQ1YsT0FBTyxFQUFFLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTztRQUMxQyxRQUFRLEVBQUUsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQzdDLFVBQVUsRUFBRSxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFDbkQsTUFBTSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTTtLQUMxQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWEsRUFBaUIsRUFBRTtJQUN6RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBVTtJQUM5QixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXksIGlzRW1wdHkgYXMgaXNBcnJheUVtcHR5LCBpc09iamVjdCwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgQUlfVEFCTEVfQkxBTksgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZVRhcmdldE5hbWVEZXRhaWwsIEFJVGFibGVUYXJnZXROYW1lT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiDnlJ/miJDnm67moIflkI3np7BcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVGFyZ2V0TmFtZSA9ICh7IHRhcmdldE5hbWUsIGZpZWxkSWQsIHJlY29yZElkLCBtb3VzZVN0eWxlLCBzb3VyY2UgfTogQUlUYWJsZVRhcmdldE5hbWVPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgZmxhZyA9ICckJztcbiAgICByZXR1cm4gYCR7dGFyZ2V0TmFtZX0uJHtmaWVsZElkIHx8IGZsYWd9LiR7cmVjb3JkSWQgfHwgZmxhZ30uJHttb3VzZVN0eWxlIHx8IGZsYWd9LiR7c291cmNlIHx8IGZsYWd9YDtcbn07XG5cbi8qKlxuICogIOWPluebruagh+WQjeensFxuICovXG5leHBvcnQgY29uc3QgZ2V0VGFyZ2V0TmFtZSA9ICh0YXJnZXROYW1lPzogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIGlmICh0YXJnZXROYW1lID09IG51bGwgfHwgdGFyZ2V0TmFtZSA9PT0gJycpIHJldHVybiBBSV9UQUJMRV9CTEFOSztcbiAgICByZXR1cm4gdGFyZ2V0TmFtZS5zcGxpdCgnLicpWzBdO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0YXJnZXROYW1lIGZvciBidWlsdC1pbiBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgY29uc3QgZ2V0RGV0YWlsQnlUYXJnZXROYW1lID0gKF90YXJnZXROYW1lOiBzdHJpbmcgfCBudWxsKTogQUlUYWJsZVRhcmdldE5hbWVEZXRhaWwgPT4ge1xuICAgIGlmIChfdGFyZ2V0TmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YXJnZXROYW1lOiBudWxsLFxuICAgICAgICAgICAgZmllbGRJZDogbnVsbCxcbiAgICAgICAgICAgIHJlY29yZElkOiBudWxsLFxuICAgICAgICAgICAgbW91c2VTdHlsZTogbnVsbFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGZsYWcgPSAnJCc7XG4gICAgY29uc3QgW3RhcmdldE5hbWUsIGZpZWxkSWQsIHJlY29yZElkLCBtb3VzZVN0eWxlLCBzb3VyY2VdID0gX3RhcmdldE5hbWUuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0YXJnZXROYW1lLFxuICAgICAgICBmaWVsZElkOiBmaWVsZElkID09PSBmbGFnID8gbnVsbCA6IGZpZWxkSWQsXG4gICAgICAgIHJlY29yZElkOiByZWNvcmRJZCA9PT0gZmxhZyA/IG51bGwgOiByZWNvcmRJZCxcbiAgICAgICAgbW91c2VTdHlsZTogbW91c2VTdHlsZSA9PT0gZmxhZyA/IG51bGwgOiBtb3VzZVN0eWxlLFxuICAgICAgICBzb3VyY2U6IHNvdXJjZSA9PT0gZmxhZyA/IG51bGwgOiBzb3VyY2VcbiAgICB9O1xufTtcblxuLyoqXG4gKiDovazmjaLkuLrlrZfnrKbkuLJcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGNhc3RUb1N0cmluZyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnID8gU3RyaW5nKHZhbHVlKSA6IHZhbHVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IGFueSkge1xuICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNBcnJheUVtcHR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lm93bktleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNVbmRlZmluZWRPck51bGwodmFsdWUpIHx8IHZhbHVlID09PSAnJztcbn1cbiJdfQ==
@@ -72,21 +72,15 @@ export function toDateFieldValue(plainText, targetField, originData) {
72
72
  switch (field.type) {
73
73
  case AITableFieldType.date:
74
74
  return cellValue;
75
- case AITableFieldType.text:
76
- const dateValue = transformDateValue(cellValue);
77
- if (dateValue) {
78
- return dateValue;
79
- }
80
- break;
81
75
  default:
82
76
  break;
83
77
  }
84
78
  }
85
- else {
86
- const dateValue = transformDateValue(plainText);
87
- if (dateValue) {
88
- return dateValue;
89
- }
79
+ const texts = plainText.split(',');
80
+ const value = texts && texts.length ? texts[0].trim() : plainText.trim();
81
+ const dateValue = transformDateValue(value);
82
+ if (dateValue) {
83
+ return dateValue;
90
84
  }
91
85
  return null;
92
86
  }
@@ -95,13 +89,42 @@ function cellValueToSortValue(cellValue) {
95
89
  }
96
90
  function transformDateValue(text) {
97
91
  const value = text.trim();
98
- const pattern = /^\d{4}-\d{1,2}-\d{1,2}$/;
99
- if (value && !isEmpty(value) && pattern.test(value)) {
100
- const dateValue = {
101
- timestamp: new TinyDate(value).getUnixTime()
92
+ if (!value || isEmpty(value))
93
+ return null;
94
+ // 基础日期格式:支持识别 - / . 年月日 作为分隔符
95
+ const datePattern = String.raw `(?:(\d{2}|\d{4})[-/.年](\d{1,2})[-/.月](\d{1,2})日?)`;
96
+ const timePattern = String.raw `(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?`;
97
+ const pattern = new RegExp(`^${datePattern}${timePattern}$`);
98
+ const match = value.match(pattern);
99
+ if (!match)
100
+ return null;
101
+ try {
102
+ let [_, year, month, day] = match;
103
+ if (year.length === 2) {
104
+ const currentYear = new Date().getFullYear();
105
+ const century = Math.floor(currentYear / 100) * 100;
106
+ const twoDigitYear = parseInt(year);
107
+ year = String(twoDigitYear > currentYear % 100 ? century - 100 + twoDigitYear : century + twoDigitYear);
108
+ }
109
+ const monthNum = parseInt(month);
110
+ const dayNum = parseInt(day);
111
+ if (monthNum < 1 || monthNum > 12) {
112
+ console.warn('Invalid month:', monthNum);
113
+ return null;
114
+ }
115
+ const maxDays = new Date(parseInt(year), monthNum, 0).getDate();
116
+ if (dayNum < 1 || dayNum > maxDays) {
117
+ console.warn('Invalid day:', dayNum);
118
+ return null;
119
+ }
120
+ const standardDate = `${year}-${String(monthNum).padStart(2, '0')}-${String(dayNum).padStart(2, '0')}`;
121
+ return {
122
+ timestamp: new TinyDate(standardDate).getUnixTime()
102
123
  };
103
- return dateValue;
104
124
  }
105
- return null;
125
+ catch (error) {
126
+ console.warn('Invalid date:', value);
127
+ return null;
128
+ }
106
129
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEUsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLFNBQVMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEU7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUEwQixFQUFFLFVBQTBCO1FBQ25FLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRVEsWUFBWSxDQUNqQixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUEyRDtRQUUzRCxPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQztRQUMxQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPO2dCQUNSLE9BQU8sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEgsS0FBSyxjQUFjO2dCQUNmLE9BQU87b0JBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUU7b0JBQzdELElBQUksUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFO2lCQUM5RCxDQUFDO1lBQ04sS0FBSyxXQUFXO2dCQUNaLE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7b0JBQy9ELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFO2lCQUNoRSxDQUFDO1lBQ04sS0FBSyxlQUFlO2dCQUNoQixPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEc7Z0JBQ0ksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDakIsT0FBTzt3QkFDSCxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7d0JBQ3pFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQztnQkFDTixDQUFDO2dCQUNELE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUN0RSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3ZFLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUEyRDtJQUUzRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckcsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksVUFBVSxFQUFFLENBQUM7UUFDYixNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3RCLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtnQkFDdEIsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hELElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ1osT0FBTyxTQUFTLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQ0QsTUFBTTtZQUNWO2dCQUNJLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUF5QjtJQUNuRCxPQUFPLFNBQVMsRUFBRSxTQUFTLENBQUM7QUFDaEMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUM7SUFFMUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHO1lBQ2QsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUMvQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVW5peFRpbWUsIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRGF0ZUZpZWxkVmFsdWUsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBEYXRlRmllbGRWYWx1ZSkge1xuICAgICAgICBjb25zdCBbbGVmdCwgcmlnaHRdID0gdGhpcy5nZXRUaW1lUmFuZ2UoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgfHwgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgIT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZ3Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPiByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA8IGxlZnQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uYmV0d2VlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IERhdGVGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9EYXRlRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfbW9udGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMF0gYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzFdIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQgfHwgdGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbkRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUudGV4dDpcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVmFsdWUgPSB0cmFuc2Zvcm1EYXRlVmFsdWUoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHRyYW5zZm9ybURhdGVWYWx1ZShwbGFpblRleHQpO1xuICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIHJldHVybiBjZWxsVmFsdWU/LnRpbWVzdGFtcDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZVZhbHVlKHRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHQudHJpbSgpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSAvXlxcZHs0fS1cXGR7MSwyfS1cXGR7MSwyfSQvO1xuXG4gICAgaWYgKHZhbHVlICYmICFpc0VtcHR5KHZhbHVlKSAmJiBwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IFRpbnlEYXRlKHZhbHVlKS5nZXRVbml4VGltZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9B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ICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRGF0ZUZpZWxkVmFsdWUsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBEYXRlRmllbGRWYWx1ZSkge1xuICAgICAgICBjb25zdCBbbGVmdCwgcmlnaHRdID0gdGhpcy5nZXRUaW1lUmFuZ2UoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgfHwgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgIT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZ3Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPiByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA8IGxlZnQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uYmV0d2VlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IERhdGVGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9EYXRlRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfbW9udGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMF0gYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzFdIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQgfHwgdGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbkRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dHMgPSBwbGFpblRleHQuc3BsaXQoJywnKTtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHRzICYmIHRleHRzLmxlbmd0aCA/IHRleHRzWzBdLnRyaW0oKSA6IHBsYWluVGV4dC50cmltKCk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdHJhbnNmb3JtRGF0ZVZhbHVlKHZhbHVlKTtcbiAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIHJldHVybiBjZWxsVmFsdWU/LnRpbWVzdGFtcDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZVZhbHVlKHRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHQudHJpbSgpO1xuICAgIGlmICghdmFsdWUgfHwgaXNFbXB0eSh2YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gICAgLy8g5Z+656GA5pel5pyf5qC85byP77ya5pSv5oyB6K+G5YirIC0gLyAuIOW5tOaciOaXpSDkvZzkuLrliIbpmpTnrKZcbiAgICBjb25zdCBkYXRlUGF0dGVybiA9IFN0cmluZy5yYXdgKD86KFxcZHsyfXxcXGR7NH0pWy0vLuW5tF0oXFxkezEsMn0pWy0vLuaciF0oXFxkezEsMn0p5pelPylgO1xuICAgIGNvbnN0IHRpbWVQYXR0ZXJuID0gU3RyaW5nLnJhd2AoPzpcXHMrKFxcZHsxLDJ9KTooXFxkezEsMn0pKD86OihcXGR7MSwyfSkpPyk/YDtcblxuICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKGBeJHtkYXRlUGF0dGVybn0ke3RpbWVQYXR0ZXJufSRgKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHBhdHRlcm4pO1xuXG4gICAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG5cbiAgICB0cnkge1xuICAgICAgICBsZXQgW18sIHllYXIsIG1vbnRoLCBkYXldID0gbWF0Y2g7XG5cbiAgICAgICAgaWYgKHllYXIubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnR1cnkgPSBNYXRoLmZsb29yKGN1cnJlbnRZZWFyIC8gMTAwKSAqIDEwMDtcbiAgICAgICAgICAgIGNvbnN0IHR3b0RpZ2l0WWVhciA9IHBhcnNlSW50KHllYXIpO1xuICAgICAgICAgICAgeWVhciA9IFN0cmluZyh0d29EaWdpdFllYXIgPiBjdXJyZW50WWVhciAlIDEwMCA/IGNlbnR1cnkgLSAxMDAgKyB0d29EaWdpdFllYXIgOiBjZW50dXJ5ICsgdHdvRGlnaXRZZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRoTnVtID0gcGFyc2VJbnQobW9udGgpO1xuICAgICAgICBjb25zdCBkYXlOdW0gPSBwYXJzZUludChkYXkpO1xuXG4gICAgICAgIGlmIChtb250aE51bSA8IDEgfHwgbW9udGhOdW0gPiAxMikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIG1vbnRoOicsIG1vbnRoTnVtKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4RGF5cyA9IG5ldyBEYXRlKHBhcnNlSW50KHllYXIpLCBtb250aE51bSwgMCkuZ2V0RGF0ZSgpO1xuICAgICAgICBpZiAoZGF5TnVtIDwgMSB8fCBkYXlOdW0gPiBtYXhEYXlzKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgZGF5OicsIGRheU51bSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YW5kYXJkRGF0ZSA9IGAke3llYXJ9LSR7U3RyaW5nKG1vbnRoTnVtKS5wYWRTdGFydCgyLCAnMCcpfS0ke1N0cmluZyhkYXlOdW0pLnBhZFN0YXJ0KDIsICcwJyl9YDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IFRpbnlEYXRlKHN0YW5kYXJkRGF0ZSkuZ2V0VW5peFRpbWUoKVxuICAgICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBkYXRlOicsIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
@@ -60,12 +60,19 @@ export function toProgressFieldValue(plainText, targetField, originData) {
60
60
  break;
61
61
  }
62
62
  }
63
+ const progressRegex = /^(?:100|[1-9]?\d(?:\.\d+)?)\s*%$/;
64
+ if (progressRegex.test(value)) {
65
+ value = parseFloat(value);
66
+ }
63
67
  if (!isEmpty(value)) {
64
- const progressValue = Number(value);
65
- if (!Number.isNaN(progressValue) && progressValue >= 0 && progressValue <= 100) {
66
- return progressValue;
68
+ let progressValue = Number(value);
69
+ if (!Number.isNaN(progressValue)) {
70
+ progressValue = Math.round(progressValue);
71
+ if (progressValue >= 0 && progressValue <= 100) {
72
+ return progressValue;
73
+ }
67
74
  }
68
75
  }
69
76
  return null;
70
77
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFnQixnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQzNCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXFCO1FBQ2xGLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztZQUNwSCxLQUFLLHNCQUFzQixDQUFDLEdBQUc7Z0JBQzNCLE9BQU8sU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLEtBQUssRUFBRSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2pGLEtBQUssc0JBQXNC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SUFBSSxHQUFHLEVBQUUsQ0FBQztZQUM3RSxPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRmllbGRWYWx1ZSwgU2VsZWN0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBjb21wYXJlTnVtYmVyLCBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNsYXNzIFByb2dyZXNzRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxudW1iZXI+LCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFOdW1iZXIuaXNOYU4oY29uZGl0aW9uLnZhbHVlKSAmJiBjZWxsVmFsdWUgIT0gbnVsbCAmJiBjZWxsVmFsdWUgIT09ICcnICYmIGNvbmRpdGlvbi52YWx1ZSA9PT0gY2VsbFZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmd0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPj0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPD0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmd0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUgIT0gbnVsbCAmJiBjZWxsVmFsdWUgIT09ICcnICYmIGNlbGxWYWx1ZSA+IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPCBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZSA9PSBudWxsIHx8IGNlbGxWYWx1ZSA9PSAnJyB8fCBOdW1iZXIuaXNOYU4oY29uZGl0aW9uLnZhbHVlKSB8fCBjZWxsVmFsdWUgIT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IG51bWJlciwgY2VsbFZhbHVlMjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIoY2VsbFZhbHVlMSwgY2VsbFZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHRyYW5zZm9ybVZhbHVlKSkge1xuICAgICAgICAgICAgZnVsbFRleHQucHVzaChgJHt0cmFuc2Zvcm1WYWx1ZX0lYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9Qcm9ncmVzc0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Qcm9ncmVzc0ZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfVxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGxldCB2YWx1ZTogYW55ID0gcGxhaW5UZXh0LnRyaW0oKTtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnJhdGU6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUubnVtYmVyOlxuICAgICAgICAgICAgICAgIHZhbHVlID0gY2VsbFZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdDpcbiAgICAgICAgICAgICAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncykub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbnNNYXBbY2VsbFZhbHVlWzBdXT8udGV4dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICBjb25zdCBwcm9ncmVzc1ZhbHVlID0gTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4ocHJvZ3Jlc3NWYWx1ZSkgJiYgcHJvZ3Jlc3NWYWx1ZSA+PSAwICYmIHByb2dyZXNzVmFsdWUgPD0gMTAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvZ3Jlc3NWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFnQixnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxLQUFLO0lBQzNCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXFCO1FBQ2xGLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztZQUNwSCxLQUFLLHNCQUFzQixDQUFDLEdBQUc7Z0JBQzNCLE9BQU8sU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLEtBQUssRUFBRSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2pGLEtBQUssc0JBQXNCLENBQUMsR0FBRztnQkFDM0IsT0FBTyxTQUFTLElBQUksSUFBSSxJQUFJLFNBQVMsS0FBSyxFQUFFLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDakYsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNoRixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLEtBQUssRUFBRSxJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2hGLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxTQUFTLElBQUksSUFBSSxJQUFJLFNBQVMsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDbEg7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ25ELE9BQU8sYUFBYSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVEsWUFBWSxDQUFDLGNBQXNCO1FBQ3hDLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFUSxZQUFZLENBQ2pCLFNBQWlCLEVBQ2pCLFdBQXlCLEVBQ3pCLFVBQTJEO1FBRTNELE9BQU8sb0JBQW9CLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLFNBQWlCLEVBQ2pCLFdBQXlCLEVBQ3pCLFVBQTJEO0lBRTNELElBQUksS0FBSyxHQUFRLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDeEMsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7WUFDL0IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNO2dCQUN4QixLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUNsQixNQUFNO1lBQ1YsS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNO2dCQUN4QixJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBRSxLQUFLLENBQUMsUUFBMkIsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUMxRixLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztnQkFDM0MsQ0FBQztnQkFDRCxNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTTtRQUNkLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsa0NBQWtDLENBQUM7SUFDekQsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQy9CLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFDLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxhQUFhLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzdDLE9BQU8sYUFBYSxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRmllbGRWYWx1ZSwgU2VsZWN0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBjb21wYXJlTnVtYmVyLCBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNsYXNzIFByb2dyZXNzRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxudW1iZXI+LCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFOdW1iZXIuaXNOYU4oY29uZGl0aW9uLnZhbHVlKSAmJiBjZWxsVmFsdWUgIT0gbnVsbCAmJiBjZWxsVmFsdWUgIT09ICcnICYmIGNvbmRpdGlvbi52YWx1ZSA9PT0gY2VsbFZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmd0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPj0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPD0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmd0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUgIT0gbnVsbCAmJiBjZWxsVmFsdWUgIT09ICcnICYmIGNlbGxWYWx1ZSA+IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlICE9IG51bGwgJiYgY2VsbFZhbHVlICE9PSAnJyAmJiBjZWxsVmFsdWUgPCBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZSA9PSBudWxsIHx8IGNlbGxWYWx1ZSA9PSAnJyB8fCBOdW1iZXIuaXNOYU4oY29uZGl0aW9uLnZhbHVlKSB8fCBjZWxsVmFsdWUgIT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IG51bWJlciwgY2VsbFZhbHVlMjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIoY2VsbFZhbHVlMSwgY2VsbFZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBudW1iZXIpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHRyYW5zZm9ybVZhbHVlKSkge1xuICAgICAgICAgICAgZnVsbFRleHQucHVzaChgJHt0cmFuc2Zvcm1WYWx1ZX0lYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9Qcm9ncmVzc0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Qcm9ncmVzc0ZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfVxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGxldCB2YWx1ZTogYW55ID0gcGxhaW5UZXh0LnRyaW0oKTtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnByb2dyZXNzOlxuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnJhdGU6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUubnVtYmVyOlxuICAgICAgICAgICAgICAgIHZhbHVlID0gY2VsbFZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdDpcbiAgICAgICAgICAgICAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncykub3B0aW9ucyB8fCBbXSwgJ19pZCcpO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG9wdGlvbnNNYXBbY2VsbFZhbHVlWzBdXT8udGV4dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcHJvZ3Jlc3NSZWdleCA9IC9eKD86MTAwfFsxLTldP1xcZCg/OlxcLlxcZCspPylcXHMqJSQvO1xuICAgIGlmIChwcm9ncmVzc1JlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICBsZXQgcHJvZ3Jlc3NWYWx1ZSA9IE51bWJlcih2YWx1ZSk7XG4gICAgICAgIGlmICghTnVtYmVyLmlzTmFOKHByb2dyZXNzVmFsdWUpKSB7XG4gICAgICAgICAgICBwcm9ncmVzc1ZhbHVlID0gTWF0aC5yb3VuZChwcm9ncmVzc1ZhbHVlKTtcbiAgICAgICAgICAgIGlmIChwcm9ncmVzc1ZhbHVlID49IDAgJiYgcHJvZ3Jlc3NWYWx1ZSA8PSAxMDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvZ3Jlc3NWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuIl19
@@ -1,92 +1,4 @@
1
1
  import * as fileIcons from '../constants/file-icon';
2
- import { FileIcons } from './icon';
3
- export function getFileThumbnailName(ext) {
4
- let result = 'defaultFile';
5
- switch (ext) {
6
- case 'doc':
7
- case 'docx':
8
- result = 'doc';
9
- break;
10
- case 'ppt':
11
- case 'pptx':
12
- result = 'ppt';
13
- break;
14
- case 'xls':
15
- case 'xlsx':
16
- result = 'xls';
17
- break;
18
- case 'css':
19
- case 'scss':
20
- case 'sass':
21
- case 'less':
22
- result = 'css';
23
- break;
24
- case 'png':
25
- case 'jpeg':
26
- case 'jpg':
27
- case 'gif':
28
- case 'bmp':
29
- case 'svg':
30
- result = 'img';
31
- break;
32
- case 'mp4':
33
- case 'mkv':
34
- case 'webm':
35
- case 'mov':
36
- case 'flv':
37
- case '3gp':
38
- case 'mpv':
39
- case 'avi':
40
- case 'mpeg':
41
- case 'wmv':
42
- result = 'video';
43
- break;
44
- case 'mp3':
45
- case 'wma':
46
- case 'wav':
47
- case 'ape':
48
- case 'flac':
49
- case 'ogg':
50
- case 'm4r':
51
- case 'm4a':
52
- result = 'mp3';
53
- break;
54
- case 'pdf':
55
- case 'txt':
56
- case 'apk':
57
- case 'bak':
58
- case 'cs':
59
- case 'csv':
60
- case 'exe':
61
- case 'fla':
62
- case 'html':
63
- case 'ipa':
64
- case 'java':
65
- case 'js':
66
- case 'php':
67
- case 'rar':
68
- case 'swf':
69
- case 'ttf':
70
- case 'vss':
71
- case 'xsd':
72
- case 'zip':
73
- case 'youdaonote':
74
- case 'evernote':
75
- case 'yinxiang':
76
- case 'quip':
77
- case 'onenote':
78
- case 'onedrive':
79
- case 'box':
80
- case 'shimo':
81
- case 'processon':
82
- result = ext;
83
- break;
84
- default:
85
- result = 'defaultFile';
86
- break;
87
- }
88
- return result;
89
- }
90
2
  export function getFileThumbnailSvgString(ext) {
91
3
  let result = 'defaultFile';
92
4
  switch (ext) {
@@ -201,8 +113,4 @@ export function getFileThumbnailSvgString(ext) {
201
113
  }
202
114
  return result;
203
115
  }
204
- export function getFileCanvasPaths(ext) {
205
- const fileThumbnailName = getFileThumbnailName(ext);
206
- return FileIcons[fileThumbnailName];
207
- }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRW5DLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxHQUFXO0lBQzVDLElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQztJQUMzQixRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ1YsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU07WUFDUCxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ2YsTUFBTTtRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNmLE1BQU07UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTTtZQUNQLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDZixNQUFNO1FBQ1YsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNmLE1BQU07UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNmLE1BQU07UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUss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QUFJO1lBQ0wsTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVjtZQUNJLE1BQU0sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQy9CLE1BQU07SUFDZCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFXO0lBQzFDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsT0FBTyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZmlsZUljb25zIGZyb20gJy4uL2NvbnN0YW50cy9maWxlLWljb24nO1xuaW1wb3J0IHsgRmlsZUljb25zIH0gZnJvbSAnLi9pY29uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVUaHVtYm5haWxOYW1lKGV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9ICdkZWZhdWx0RmlsZSc7XG4gICAgc3dpdGNoIChleHQpIHtcbiAgICAgICAgY2FzZSAnZG9jJzpcbiAgICAgICAgY2FzZSAnZG9jeCc6XG4gICAgICAgICAgICByZXN1bHQgPSAnZG9jJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwcHQnOlxuICAgICAgICBjYXNlICdwcHR4JzpcbiAgICAgICAgICAgIHJlc3VsdCA9ICdwcHQnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3hscyc6XG4gICAgICAgIGNhc2UgJ3hsc3gnOlxuICAgICAgICAgICAgcmVzdWx0ID0gJ3hscyc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY3NzJzpcbiAgICAgICAgY2FzZSAnc2Nzcyc6XG4gICAgICAgIGNhc2UgJ3Nhc3MnOlxuICAgICAgICBjYXNlICdsZXNzJzpcbiAgICAgICAgICAgIHJlc3VsdCA9ICdjc3MnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BuZyc6XG4gICAgICAgIGNhc2UgJ2pwZWcnOlxuICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICBjYXNlICdnaWYnOlxuICAgICAgICBjYXNlICdibXAnOlxuICAgICAgICBjYXNlICdzdmcnOlxuICAgICAgICAgICAgcmVzdWx0ID0gJ2ltZyc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbXA0JzpcbiAgICAgICAgY2FzZSAnbWt2JzpcbiAgICAgICAgY2FzZSAnd2VibSc6XG4gICAgICAgIGNhc2UgJ21vdic6XG4gICAgICAgIGNhc2UgJ2Zsdic6XG4gICAgICAgIGNhc2UgJzNncCc6XG4gICAgICAgIGNhc2UgJ21wdic6XG4gICAgICAgIGNhc2UgJ2F2aSc6XG4gICAgICAgIGNhc2UgJ21wZWcnOlxuICAgICAgICBjYXNlICd3bXYnOlxuICAgICAgICAgICAgcmVzdWx0ID0gJ3ZpZGVvJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtcDMnOlxuICAgICAgICBjYXNlICd3bWEnOlxuICAgICAgICBjYXNlICd3YXYnOlxuICAgICAgICBjYXNlICdhcGUnOlxuICAgICAgICBjYXNlICdmbGFjJzpcbiAgICAgICAgY2FzZSAnb2dnJzpcbiAgICAgICAgY2FzZSAnbTRyJzpcbiAgICAgICAgY2FzZSAnbTRhJzpcbiAgICAgICAgICAgIHJlc3VsdCA9ICdtcDMnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BkZic6XG4gICAgICAgIGNhc2UgJ3R4dCc6XG4gICAgICAgIGNhc2UgJ2Fwayc6XG4gICAgICAgIGNhc2UgJ2Jhayc6XG4gICAgICAgIGNhc2UgJ2NzJzpcbiAgICAgICAgY2FzZSAnY3N2JzpcbiAgICAgICAgY2FzZSAnZXhlJzpcbiAgICAgICAgY2FzZSAnZmxhJzpcbiAgICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgIGNhc2UgJ2lwYSc6XG4gICAgICAgIGNhc2UgJ2phdmEnOlxuICAgICAgICBjYXNlICdqcyc6XG4gICAgICAgIGNhc2UgJ3BocCc6XG4gICAgICAgIGNhc2UgJ3Jhcic6XG4gICAgICAgIGNhc2UgJ3N3Zic6XG4gICAgICAgIGNhc2UgJ3R0Zic6XG4gICAgICAgIGNhc2UgJ3Zzcyc6XG4gICAgICAgIGNhc2UgJ3hzZCc6XG4gICAgICAgIGNhc2UgJ3ppcCc6XG4gICAgICAgIGNhc2UgJ3lvdWRhb25vdGUnOlxuICAgICAgICBjYXNlICdldmVybm90ZSc6XG4gICAgICAgIGNhc2UgJ3lpbnhpYW5nJzpcbiAgICAgICAgY2FzZSAncXVpcCc6XG4gICAgICAgIGNhc2UgJ29uZW5vdGUnOlxuICAgICAgICBjYXNlICdvbmVkcml2ZSc6XG4gICAgICAgIGNhc2UgJ2JveCc6XG4gICAgICAgIGNhc2UgJ3NoaW1vJzpcbiAgICAgICAgY2FzZSAncHJvY2Vzc29uJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGV4dDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVzdWx0ID0gJ2RlZmF1bHRGaWxlJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZVRodW1ibmFpbFN2Z1N0cmluZyhleHQ6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQgPSAnZGVmYXVsdEZpbGUnO1xuICAgIHN3aXRjaCAoZXh0KSB7XG4gICAgICAgIGNhc2UgJ2RvYyc6XG4gICAgICAgIGNhc2UgJ2RvY3gnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmRvYztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwcHQnOlxuICAgICAgICBjYXNlICdwcHR4JzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5wcHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAneGxzJzpcbiAgICAgICAgY2FzZSAneGxzeCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMueGxzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Nzcyc6XG4gICAgICAgIGNhc2UgJ3Njc3MnOlxuICAgICAgICBjYXNlICdzYXNzJzpcbiAgICAgICAgY2FzZSAnbGVzcyc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuY3NzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BuZyc6XG4gICAgICAgIGNhc2UgJ2pwZWcnOlxuICAgICAgICBjYXNlICdqcGcnOlxuICAgICAgICBjYXNlICdnaWYnOlxuICAgICAgICBjYXNlICdibXAnOlxuICAgICAgICBjYXNlICdzdmcnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmltZztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtcDQnOlxuICAgICAgICBjYXNlICdta3YnOlxuICAgICAgICBjYXNlICd3ZWJtJzpcbiAgICAgICAgY2FzZSAnbW92JzpcbiAgICAgICAgY2FzZSAnZmx2JzpcbiAgICAgICAgY2FzZSAnM2dwJzpcbiAgICAgICAgY2FzZSAnbXB2JzpcbiAgICAgICAgY2FzZSAnYXZpJzpcbiAgICAgICAgY2FzZSAnbXBlZyc6XG4gICAgICAgIGNhc2UgJ3dtdic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMudmlkZW87XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbXAzJzpcbiAgICAgICAgY2FzZSAnd21hJzpcbiAgICAgICAgY2FzZSAnd2F2JzpcbiAgICAgICAgY2FzZSAnYXBlJzpcbiAgICAgICAgY2FzZSAnZmxhYyc6XG4gICAgICAgIGNhc2UgJ29nZyc6XG4gICAgICAgIGNhc2UgJ200cic6XG4gICAgICAgIGNhc2UgJ200YSc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMubXAzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BkZic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMucGRmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3R4dCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMudHh0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Fwayc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuYXBrO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Jhayc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuYXBrO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NzJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5jcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjc3YnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmNzdjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdleGUnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmV4ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmbGEnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmZsYTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdodG1sJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5odG1sO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2lwYSc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuaXBhO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2phdmEnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmphdmE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnanMnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmpzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BocCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMucGhwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3Jhcic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMucmFyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N3Zic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuc3dmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3R0Zic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMudHRmO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3Zzcyc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMudnNzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3hzZCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMueHNkO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3ppcCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuemlwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuZGVmYXVsdEZpbGU7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVDYW52YXNQYXRocyhleHQ6IHN0cmluZykge1xuICAgIGNvbnN0IGZpbGVUaHVtYm5haWxOYW1lID0gZ2V0RmlsZVRodW1ibmFpbE5hbWUoZXh0KTtcbiAgICByZXR1cm4gRmlsZUljb25zW2ZpbGVUaHVtYm5haWxOYW1lXTtcbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsR0FBVztJQUNqRCxJQUFJLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDM0IsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssTUFBTTtZQUNQLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3pCLE1BQU07UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxJQUFJO1lBQ0wsTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssTUFBTTtZQUNQLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3hCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxNQUFNO1lBQ1AsTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDeEIsTUFBTTtRQUNWLEtBQUssSUFBSTtZQUNMLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1YsS0FBSyxLQUFLO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDdkIsTUFBTTtRQUNWLEtBQUssS0FBSztZQUNOLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLE1BQU07UUFDVixLQUFLLEtBQUs7WUFDTixNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNO1FBQ1Y7WUFDSSxNQUFNLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztZQUMvQixNQUFNO0lBQ2QsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmaWxlSWNvbnMgZnJvbSAnLi4vY29uc3RhbnRzL2ZpbGUtaWNvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlVGh1bWJuYWlsU3ZnU3RyaW5nKGV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9ICdkZWZhdWx0RmlsZSc7XG4gICAgc3dpdGNoIChleHQpIHtcbiAgICAgICAgY2FzZSAnZG9jJzpcbiAgICAgICAgY2FzZSAnZG9jeCc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuZG9jO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BwdCc6XG4gICAgICAgIGNhc2UgJ3BwdHgnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLnBwdDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd4bHMnOlxuICAgICAgICBjYXNlICd4bHN4JzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy54bHM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY3NzJzpcbiAgICAgICAgY2FzZSAnc2Nzcyc6XG4gICAgICAgIGNhc2UgJ3Nhc3MnOlxuICAgICAgICBjYXNlICdsZXNzJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5jc3M7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncG5nJzpcbiAgICAgICAgY2FzZSAnanBlZyc6XG4gICAgICAgIGNhc2UgJ2pwZyc6XG4gICAgICAgIGNhc2UgJ2dpZic6XG4gICAgICAgIGNhc2UgJ2JtcCc6XG4gICAgICAgIGNhc2UgJ3N2Zyc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuaW1nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ21wNCc6XG4gICAgICAgIGNhc2UgJ21rdic6XG4gICAgICAgIGNhc2UgJ3dlYm0nOlxuICAgICAgICBjYXNlICdtb3YnOlxuICAgICAgICBjYXNlICdmbHYnOlxuICAgICAgICBjYXNlICczZ3AnOlxuICAgICAgICBjYXNlICdtcHYnOlxuICAgICAgICBjYXNlICdhdmknOlxuICAgICAgICBjYXNlICdtcGVnJzpcbiAgICAgICAgY2FzZSAnd212JzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy52aWRlbztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtcDMnOlxuICAgICAgICBjYXNlICd3bWEnOlxuICAgICAgICBjYXNlICd3YXYnOlxuICAgICAgICBjYXNlICdhcGUnOlxuICAgICAgICBjYXNlICdmbGFjJzpcbiAgICAgICAgY2FzZSAnb2dnJzpcbiAgICAgICAgY2FzZSAnbTRyJzpcbiAgICAgICAgY2FzZSAnbTRhJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5tcDM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGRmJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5wZGY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndHh0JzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy50eHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXBrJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5hcGs7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmFrJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5hcGs7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY3MnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmNzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Nzdic6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuY3N2O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2V4ZSc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuZXhlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2ZsYSc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuZmxhO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsZUljb25zLmh0bWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaXBhJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5pcGE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnamF2YSc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuamF2YTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdqcyc6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWxlSWNvbnMuanM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGhwJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5waHA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmFyJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5yYXI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3dmJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5zd2Y7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndHRmJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy50dGY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndnNzJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy52c3M7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAneHNkJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy54c2Q7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnemlwJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy56aXA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVJY29ucy5kZWZhdWx0RmlsZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19
@@ -1,6 +1,4 @@
1
- import { AITableQueries } from '../core';
2
1
  import { componentMap } from '../renderer/components/cells/cells';
3
- import { transformCellValue } from './cell';
4
2
  import { getDetailByTargetName } from './common';
5
3
  export function getHoverCell(aiTable) {
6
4
  const pointPosition = aiTable.context.pointPosition();
@@ -13,11 +11,6 @@ export function getHoverCell(aiTable) {
13
11
  if (!record || !field || !recordId || !fieldId) {
14
12
  return;
15
13
  }
16
- const cellValue = AITableQueries.getFieldValue(aiTable, [recordId, fieldId]);
17
- const transformValue = transformCellValue(aiTable, field, cellValue) || {};
18
- if (Object.keys(transformValue).length === 0) {
19
- return;
20
- }
21
14
  const renderComponentDefinition = componentMap[field?.type];
22
15
  if (!renderComponentDefinition) {
23
16
  return;
@@ -29,4 +22,4 @@ export function getHoverCell(aiTable) {
29
22
  renderComponentDefinition
30
23
  };
31
24
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2hvdmVyLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1gsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU87SUFDWCxDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzdCLE9BQU87SUFDWCxDQUFDO0lBQ0QsT0FBTztRQUNILEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLHlCQUF5QjtLQUM1QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRNYXAgfSBmcm9tICcuLi9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2NlbGxzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4vY2VsbCc7XG5pbXBvcnQgeyBnZXREZXRhaWxCeVRhcmdldE5hbWUgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3ZlckNlbGwoYWlUYWJsZTogQUlUYWJsZSkge1xuICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICBjb25zdCB7IGZpZWxkSWQsIHJlY29yZElkIH0gPSBnZXREZXRhaWxCeVRhcmdldE5hbWUocG9pbnRQb3NpdGlvbi5yZWFsVGFyZ2V0TmFtZSEpID8/IHt9O1xuICAgIGlmICghcmVjb3JkSWQgfHwgIWZpZWxkSWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWNvcmQgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZCFdO1xuICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkIV07XG5cbiAgICBpZiAoIXJlY29yZCB8fCAhZmllbGQgfHwgIXJlY29yZElkIHx8ICFmaWVsZElkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY2VsbFZhbHVlID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBbcmVjb3JkSWQsIGZpZWxkSWRdKTtcbiAgICBjb25zdCB0cmFuc2Zvcm1WYWx1ZSA9IHRyYW5zZm9ybUNlbGxWYWx1ZShhaVRhYmxlLCBmaWVsZCwgY2VsbFZhbHVlKSB8fCB7fTtcbiAgICBpZiAoT2JqZWN0LmtleXModHJhbnNmb3JtVmFsdWUpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVuZGVyQ29tcG9uZW50RGVmaW5pdGlvbiA9IGNvbXBvbmVudE1hcFtmaWVsZD8udHlwZV07XG4gICAgaWYgKCFyZW5kZXJDb21wb25lbnREZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHJlY29yZElkLFxuICAgICAgICBmaWVsZElkLFxuICAgICAgICByZW5kZXJDb21wb25lbnREZWZpbml0aW9uXG4gICAgfTtcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXItY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2hvdmVyLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPO0lBQ1gsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBUSxDQUFDLENBQUM7SUFFNUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU87SUFDWCxDQUFDO0lBRUQsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzdCLE9BQU87SUFDWCxDQUFDO0lBQ0QsT0FBTztRQUNILEtBQUs7UUFDTCxRQUFRO1FBQ1IsT0FBTztRQUNQLHlCQUF5QjtLQUM1QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRNYXAgfSBmcm9tICcuLi9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL2NlbGxzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4vY2VsbCc7XG5pbXBvcnQgeyBnZXREZXRhaWxCeVRhcmdldE5hbWUgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3ZlckNlbGwoYWlUYWJsZTogQUlUYWJsZSkge1xuICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICBjb25zdCB7IGZpZWxkSWQsIHJlY29yZElkIH0gPSBnZXREZXRhaWxCeVRhcmdldE5hbWUocG9pbnRQb3NpdGlvbi5yZWFsVGFyZ2V0TmFtZSEpID8/IHt9O1xuICAgIGlmICghcmVjb3JkSWQgfHwgIWZpZWxkSWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByZWNvcmQgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZCFdO1xuICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkIV07XG5cbiAgICBpZiAoIXJlY29yZCB8fCAhZmllbGQgfHwgIXJlY29yZElkIHx8ICFmaWVsZElkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZW5kZXJDb21wb25lbnREZWZpbml0aW9uID0gY29tcG9uZW50TWFwW2ZpZWxkPy50eXBlXTtcbiAgICBpZiAoIXJlbmRlckNvbXBvbmVudERlZmluaXRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZCxcbiAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgIGZpZWxkSWQsXG4gICAgICAgIHJlbmRlckNvbXBvbmVudERlZmluaXRpb25cbiAgICB9O1xufVxuIl19