@plumile/router 0.1.179 → 0.1.182

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 (54) hide show
  1. package/README.md +2 -2
  2. package/lib/esm/ResourcePage.d.ts +3 -1
  3. package/lib/esm/ResourcePage.d.ts.map +1 -1
  4. package/lib/esm/ResourcePage.js +7 -1
  5. package/lib/esm/builder.d.ts +3 -2
  6. package/lib/esm/builder.d.ts.map +1 -1
  7. package/lib/esm/builder.js +78 -15
  8. package/lib/esm/instrumentation/Instrumentation.d.ts +14 -2
  9. package/lib/esm/instrumentation/Instrumentation.d.ts.map +1 -1
  10. package/lib/esm/instrumentation/Instrumentation.js +1 -1
  11. package/lib/esm/routing/Link.d.ts +4 -2
  12. package/lib/esm/routing/Link.d.ts.map +1 -1
  13. package/lib/esm/routing/Link.js +15 -9
  14. package/lib/esm/routing/RouteComponentWrapper.d.ts +2 -1
  15. package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
  16. package/lib/esm/routing/RouteComponentWrapper.js +3 -3
  17. package/lib/esm/routing/RouterRenderer.d.ts +1 -0
  18. package/lib/esm/routing/RouterRenderer.d.ts.map +1 -1
  19. package/lib/esm/routing/RouterRenderer.js +159 -39
  20. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  21. package/lib/esm/routing/createRouter.js +276 -55
  22. package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
  23. package/lib/esm/routing/createStaticRouter.js +28 -1
  24. package/lib/esm/tools.d.ts +1 -0
  25. package/lib/esm/tools.d.ts.map +1 -1
  26. package/lib/esm/tools.js +21 -11
  27. package/lib/esm/types.d.ts +54 -0
  28. package/lib/esm/types.d.ts.map +1 -1
  29. package/lib/esm/types.js +1 -1
  30. package/lib/esm/values.d.ts +1 -1
  31. package/lib/esm/values.d.ts.map +1 -1
  32. package/lib/esm/values.js +2 -1
  33. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  34. package/lib/types/ResourcePage.d.ts +3 -1
  35. package/lib/types/ResourcePage.d.ts.map +1 -1
  36. package/lib/types/builder.d.ts +3 -2
  37. package/lib/types/builder.d.ts.map +1 -1
  38. package/lib/types/instrumentation/Instrumentation.d.ts +14 -2
  39. package/lib/types/instrumentation/Instrumentation.d.ts.map +1 -1
  40. package/lib/types/routing/Link.d.ts +4 -2
  41. package/lib/types/routing/Link.d.ts.map +1 -1
  42. package/lib/types/routing/RouteComponentWrapper.d.ts +2 -1
  43. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  44. package/lib/types/routing/RouterRenderer.d.ts +1 -0
  45. package/lib/types/routing/RouterRenderer.d.ts.map +1 -1
  46. package/lib/types/routing/createRouter.d.ts.map +1 -1
  47. package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
  48. package/lib/types/tools.d.ts +1 -0
  49. package/lib/types/tools.d.ts.map +1 -1
  50. package/lib/types/types.d.ts +54 -0
  51. package/lib/types/types.d.ts.map +1 -1
  52. package/lib/types/values.d.ts +1 -1
  53. package/lib/types/values.d.ts.map +1 -1
  54. package/package.json +3 -3
@@ -9,10 +9,10 @@ function RouteHighlightBoundary(props) {
9
9
  return (_jsxs(_Fragment, { children: [_jsx("span", { "data-plumile-route-start": highlightId, "aria-hidden": "true", style: { display: 'none' } }), children, _jsx("span", { "data-plumile-route-end": highlightId, "aria-hidden": "true", style: { display: 'none' } })] }));
10
10
  }
11
11
  const RouteComponentWrapper = (props) => {
12
- const { children, match, preparedRoute } = props;
12
+ const { children, entry, match, preparedRoute } = props;
13
13
  const { resourcePage, preparedResource, render, redirectTo, highlightId } = preparedRoute;
14
14
  const router = useContext(RoutingContext);
15
- const currentEntry = router?.get();
15
+ const currentEntry = entry ?? router?.get();
16
16
  const rawQuery = currentEntry?.query ?? {};
17
17
  const routeContext = currentEntry?.context;
18
18
  const typedQuery = rawQuery;
@@ -98,4 +98,4 @@ const RouteComponentWrapper = (props) => {
98
98
  return _jsx(RouteComponent, { redirectToPathname: pathname, content: content2 });
99
99
  };
100
100
  export default RouteComponentWrapper;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVDb21wb25lbnRXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVDb21wb25lbnRXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0sT0FBTyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVUvRCxTQUFTLHNCQUFzQixDQUFDLEtBQTZCO0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE9BQU8sQ0FDTCw4QkFDRSwyQ0FDNEIsV0FBVyxpQkFDekIsTUFBTSxFQUNsQixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQzFCLEVBQ0QsUUFBUSxFQUNULHlDQUMwQixXQUFXLGlCQUN2QixNQUFNLEVBQ2xCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FDMUIsSUFDRCxDQUNKLENBQUM7QUFDSixDQUFDO0FBbUJELE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsS0FBbUIsRUFDQyxFQUFFO0lBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNqRCxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQ3ZFLGFBQWEsQ0FBQztJQUNoQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxF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bywgdHlwZSBKU1gsIHR5cGUgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFByZXBhcmVkTWF0Y2hSb3V0ZSwgUm91dGVyTWF0Y2hlZFJvdXRlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBQYXJhbURhdGEgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5pbXBvcnQgeyBIdHRwUmVkaXJlY3QgfSBmcm9tICcuLi9lcnJvcnMvaW5kZXguanMnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG5pbXBvcnQgUm91dGVDb21wb25lbnQgZnJvbSAnLi9Sb3V0ZUNvbXBvbmVudC5qcyc7XG5pbXBvcnQgeyByZWFkUHJlcGFyZWRSb3V0ZVZhbHVlIH0gZnJvbSAnLi4vcHJlcGFyZVJlc291cmNlLmpzJztcblxudHlwZSBIaWdobGlnaHRCb3VuZGFyeVByb3BzID0ge1xuICBoaWdobGlnaHRJZDogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgcmVuZGVyZWQgcm91dGUgb3V0cHV0IHdpdGggaW52aXNpYmxlIG1hcmtlcnMgc28gRGV2VG9vbHMgY2FuIG1hcCBpdCBiYWNrLlxuICovXG5mdW5jdGlvbiBSb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5KHByb3BzOiBIaWdobGlnaHRCb3VuZGFyeVByb3BzKTogSlNYLkVsZW1lbnQge1xuICBjb25zdCB7IGhpZ2hsaWdodElkLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtcGx1bWlsZS1yb3V0ZS1zdGFydD17aGlnaGxpZ2h0SWR9XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtcGx1bWlsZS1yb3V0ZS1lbmQ9e2hpZ2hsaWdodElkfVxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgIC8+XG4gICAgPC8+XG4gICk7XG59XG5cbnR5cGUgUHJvcHM8VFZhcnMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGE+ID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFycz4gfCBudWxsO1xuICBwcmVwYXJlZFJvdXRlOiBQcmVwYXJlZE1hdGNoUm91dGU7XG59O1xuXG4vKipcbiAqIFRoZSBgcmVzb3VyY2VQYWdlYCBwcm9wZXJ0eSBmcm9tIHRoZSByb3V0ZSBlbnRyeSBpcyBhIFJlc291cmNlLCB3aGljaCBtYXkgb3IgbWF5IG5vdCBiZSByZWFkeS5cbiAqIFdlIHVzZSBhIGhlbHBlciBjaGlsZCBjb21wb25lbnQgdG8gdW53cmFwIHRoZSByZXNvdXJjZSB3aXRoIGNvbXBvbmVudC5yZWFkKCksIGFuZCB0aGVuXG4gKiByZW5kZXIgaXQgaWYgaXRzIHJlYWR5LlxuICpcbiAqIE5PVEU6IGNhbGxpbmcgcm91dGVFbnRyeS5yb3V0ZS5jb21wb25lbnQucmVhZCgpIGRpcmVjdGx5IGluIFJvdXRlUmVuZGVyZXIgd29sZG4ndCB3b3JrIHRoZVxuICogd2F5IHdlJ2QgZXhwZWN0LiBCZWNhdXNlIHRoYXQgbWV0aG9kIGNvdWxkIHRocm93IC0gZWl0aGVyIHN1c3BlbmRpbmcgb3Igb24gZXJyb3IgLSB0aGUgZXJyb3JcbiAqIHdvdWxkIGJ1YmJsZSB1cCB0byB0aGUgKmNhbGxlciogb2YgUm91dGVSZW5kZXJlci4gV2Ugd2FudCB0aGUgc3VzcGVuZC9lcnJvciB0byBidWJibGUgdXAgdG9cbiAqIG91ciBFcnJvckJvdW5kYXJ5L1N1c3BlbnNlIGNvbXBvbmVudHMsIHNvIHdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgdGhlIHN1c3BlbmQvZXJyb3IgaGFwcGVuc1xuICogaW4gYSBjaGlsZCBjb21wb25lbnQuXG4gKi9cbmNvbnN0IFJvdXRlQ29tcG9uZW50V3JhcHBlciA9IDxUVmFycyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YT4oXG4gIHByb3BzOiBQcm9wczxUVmFycz4sXG4pOiBKU1guRWxlbWVudCB8IG51bGwgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBtYXRjaCwgcHJlcGFyZWRSb3V0ZSB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgcmVzb3VyY2VQYWdlLCBwcmVwYXJlZFJlc291cmNlLCByZW5kZXIsIHJlZGlyZWN0VG8sIGhpZ2hsaWdodElkIH0gPVxuICAgIHByZXBhcmVkUm91dGU7IC8vIHJvdXRlRGF0YVxuICBjb25zdCByb3V0ZXIgPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgY29uc3QgY3VycmVudEVudHJ5ID0gcm91dGVyPy5nZXQoKTtcbiAgY29uc3QgcmF3UXVlcnkgPSBjdXJyZW50RW50cnk/LnF1ZXJ5ID8/IHt9O1xuICBjb25zdCByb3V0ZUNvbnRleHQgPSBjdXJyZW50RW50cnk/LmNvbnRleHQ7XG4gIGNvbnN0IHR5cGVkUXVlcnkgPSByYXdRdWVyeTsgLy8gbGVnYWN5IHR5cGVkUXVlcnkgcmVtb3ZlZFxuICBjb25zdCBwcmVwYXJlZFNlZ21lbnRzID0gY3VycmVudEVudHJ5Py5wcmVwYXJlZE1hdGNoLnNlZ21lbnRzID8/IFtdO1xuICBjb25zdCB7IHNlZ21lbnRJbmRleCB9ID0gcHJlcGFyZWRSb3V0ZTtcbiAgY29uc3QgbGVhZlNlZ21lbnQgPSBwcmVwYXJlZFNlZ21lbnRzLmF0KC0xKSA/PyBwcmVwYXJlZFJvdXRlO1xuXG4gIGNvbnN0IHJvdXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKG1hdGNoID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaC5yb3V0ZTtcbiAgfSwgW21hdGNoXSk7XG5cbiAgY29uc3QgcHJlcGFyZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gcmVhZFByZXBhcmVkUm91dGVWYWx1ZShwcmVwYXJlZFJlc291cmNlKTtcbiAgfSwgW3ByZXBhcmVkUmVzb3VyY2VdKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Byb21pc2UtZnVuY3Rpb24tYXN5bmNcbiAgY29uc3QgQ29tcG9uZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlc291cmNlUGFnZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG4gICAgcmV0dXJuIHJlc291cmNlUGFnZS5yZWFkKCk7XG4gIH0sIFtyZXNvdXJjZVBhZ2VdKTtcblxuICBsZXQgY29udGVudDpcbiAgICB8IEpTWC5FbGVtZW50XG4gICAgfCBudWxsXG4gICAgfCB1bmRlZmluZWRcbiAgICB8IFByb21pc2U8SlNYLkVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkPiA9IG51bGw7XG4gIGxldCByZWRpcmVjdFRvUGF0aG5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChyZW5kZXIgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBjb250ZW50ID0gcmVuZGVyKHtcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IE9LIGNhbiBiZSBhIHN1c3BlbmRcbiAgICAgICAgQ29tcG9uZW50LFxuICAgICAgICBwcmVwYXJlZFNlZ21lbnQ6IHByZXBhcmVkUm91dGUsXG4gICAgICAgIHByZXBhcmVkUm91dGUsXG4gICAgICAgIHByZXBhcmVkU2VnbWVudHMsXG4gICAgICAgIHNlZ21lbnRJbmRleCxcbiAgICAgICAgbGVhZlNlZ21lbnQsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICBwcmVwYXJlZCxcbiAgICAgICAgY29udGV4dDogcm91dGVDb250ZXh0LFxuICAgICAgICByYXdRdWVyeSxcbiAgICAgICAgcXVlcnk6IHR5cGVkUXVlcnksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cFJlZGlyZWN0ICYmIHJvdXRlciAhPSBudWxsKSB7XG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuICAgICAgICByZWRpcmVjdFRvUGF0aG5hbWUgPSBlcnJvci5yZWRpcmVjdFRvO1xuICAgICAgICAvLyBJZiBpdCdzIHN1c3BlbmRlZFxuICAgICAgfSBlbHNlIGlmIChlcnJvciBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgY29udGVudCA9IGVycm9yO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJlZGlyZWN0VG9QYXRobmFtZSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFUlJPUjogJywgZXJyb3IpO1xuICAgICAgICBjb250ZW50ID0gbnVsbDtcbiAgICAgICAgcmVkaXJlY3RUb1BhdGhuYW1lID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwYXRobmFtZTogc3RyaW5nIHwgbnVsbCA9IHJlZGlyZWN0VG8gPz8gcmVkaXJlY3RUb1BhdGhuYW1lID8/IG51bGw7XG5cbiAgY29uc3Qgd3JhcFdpdGhIaWdobGlnaHQgPSAobm9kZTogUmVhY3ROb2RlKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgIGlmICh0eXBlb2YgaGlnaGxpZ2h0SWQgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gPD57bm9kZX08Lz47XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8Um91dGVIaWdobGlnaHRCb3VuZGFyeSBoaWdobGlnaHRJZD17aGlnaGxpZ2h0SWR9PlxuICAgICAgICB7bm9kZX1cbiAgICAgIDwvUm91dGVIaWdobGlnaHRCb3VuZGFyeT5cbiAgICApO1xuICB9O1xuXG4gIGlmIChyZW5kZXIgIT0gbnVsbCkge1xuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9vbmx5LXRocm93LWVycm9yXG4gICAgICB0aHJvdyBjb250ZW50O1xuICAgIH1cblxuICAgIGlmIChwYXRobmFtZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gPFJvdXRlQ29tcG9uZW50IHJlZGlyZWN0VG9QYXRobmFtZT17cGF0aG5hbWV9IC8+O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udGVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB3cmFwV2l0aEhpZ2hsaWdodChjb250ZW50ID8/IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChDb21wb25lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY29tcG9uZW50Tm9kZSA9IChcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBPSyAtIGNvbXBvbmVudCB0eXBlIGluZmVyZW5jZSBmcm9tIHJlc291cmNlIGxvYWRlciBpcyBkeW5hbWljXG4gICAgPENvbXBvbmVudFxuICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgcHJlcGFyZWRSb3V0ZT17cHJlcGFyZWRSb3V0ZX1cbiAgICAgIHJvdXRlPXtyb3V0ZX1cbiAgICAgIHByZXBhcmVkPXtwcmVwYXJlZH1cbiAgICAgIHF1ZXJ5PXt0eXBlZFF1ZXJ5fVxuICAgICAgcHJlcGFyZWRTZWdtZW50cz17cHJlcGFyZWRTZWdtZW50c31cbiAgICAgIHNlZ21lbnRJbmRleD17c2VnbWVudEluZGV4fVxuICAgICAgbGVhZlNlZ21lbnQ9e2xlYWZTZWdtZW50fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0NvbXBvbmVudD5cbiAgKTtcbiAgY29uc3QgY29udGVudDIgPSB3cmFwV2l0aEhpZ2hsaWdodChjb21wb25lbnROb2RlKTtcblxuICByZXR1cm4gPFJvdXRlQ29tcG9uZW50IHJlZGlyZWN0VG9QYXRobmFtZT17cGF0aG5hbWV9IGNvbnRlbnQ9e2NvbnRlbnQyfSAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlQ29tcG9uZW50V3JhcHBlcjtcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVDb21wb25lbnRXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRpbmcvUm91dGVDb21wb25lbnRXcmFwcGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0sT0FBTyxDQUFDO0FBUXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVUvRCxTQUFTLHNCQUFzQixDQUFDLEtBQTZCO0lBQzNELE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLE9BQU8sQ0FDTCw4QkFDRSwyQ0FDNEIsV0FBVyxpQkFDekIsTUFBTSxFQUNsQixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQzFCLEVBQ0QsUUFBUSxFQUNULHlDQUMwQixXQUFXLGlCQUN2QixNQUFNLEVBQ2xCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FDMUIsSUFDRCxDQUNKLENBQUM7QUFDSixDQUFDO0FBb0JELE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsS0FBbUIsRUFDQyxFQUFFO0lBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDeEQsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUN2RSxhQUFhLENBQUM7SUFDaEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEVBQUUsYUFBYSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDcEUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUM7SUFFN0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUN6QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVaLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDNUIsT0FBTyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUd2QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQzdCLElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3pCLE9BQU87UUFDVCxDQUFDO1FBR0QsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUVuQixJQUFJLE9BQU8sR0FJbUMsSUFBSSxDQUFDO0lBQ25ELElBQUksa0JBQWtCLEdBQWtCLElBQUksQ0FBQztJQUU3QyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUM7WUFDSCxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUNmLFFBQVE7Z0JBRVIsU0FBUztnQkFDVCxlQUFlLEVBQUUsYUFBYTtnQkFDOUIsYUFBYTtnQkFDYixnQkFBZ0I7Z0JBQ2hCLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFFBQVE7Z0JBQ1IsS0FBSyxFQUFFLFVBQVU7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLEtBQUssWUFBWSxZQUFZLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNwRCxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFFeEMsQ0FBQztpQkFBTSxJQUFJLEtBQUssWUFBWSxPQUFPLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNsQixDQUFDO2lCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sR0FBRyxTQUFTLENBQUM7Z0JBQ3BCLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO2lCQUFNLENBQUM7Z0JBRU4sT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2Ysa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFrQixVQUFVLElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDO0lBRXpFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFlLEVBQWUsRUFBRTtRQUN6RCxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sNEJBQUcsSUFBSSxHQUFJLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sQ0FDTCxLQUFDLHNCQUFzQixJQUFDLFdBQVcsRUFBRSxXQUFXLFlBQzdDLElBQUksR0FDa0IsQ0FDMUIsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBRS9CLE1BQU0sT0FBTyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUMsY0FBYyxJQUFDLGtCQUFrQixFQUFFLFFBQVEsR0FBSSxDQUFDO1FBQzFELENBQUM7UUFFRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ25DLE9BQU8saUJBQWlCLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsQ0FFcEIsS0FBQyxTQUFTLElBQ1IsS0FBSyxFQUFFLEtBQUssRUFDWixhQUFhLEVBQUUsYUFBYSxFQUM1QixLQUFLLEVBQUUsS0FBSyxFQUNaLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxVQUFVLEVBQ2pCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxZQUFZLEVBQUUsWUFBWSxFQUMxQixXQUFXLEVBQUUsV0FBVyxZQUV2QixRQUFRLEdBQ0MsQ0FDYixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFbEQsT0FBTyxLQUFDLGNBQWMsSUFBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsR0FBSSxDQUFDO0FBQzdFLENBQUMsQ0FBQztBQUVGLGVBQWUscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vLCB0eXBlIEpTWCwgdHlwZSBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgUHJlcGFyZWRNYXRjaFJvdXRlLFxuICBSb3V0ZUVudHJ5LFxuICBSb3V0ZXJNYXRjaGVkUm91dGUsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuaW1wb3J0IHsgSHR0cFJlZGlyZWN0IH0gZnJvbSAnLi4vZXJyb3JzL2luZGV4LmpzJztcblxuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuaW1wb3J0IFJvdXRlQ29tcG9uZW50IGZyb20gJy4vUm91dGVDb21wb25lbnQuanMnO1xuaW1wb3J0IHsgcmVhZFByZXBhcmVkUm91dGVWYWx1ZSB9IGZyb20gJy4uL3ByZXBhcmVSZXNvdXJjZS5qcyc7XG5cbnR5cGUgSGlnaGxpZ2h0Qm91bmRhcnlQcm9wcyA9IHtcbiAgaGlnaGxpZ2h0SWQ6IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5cbi8qKlxuICogV3JhcHMgdGhlIHJlbmRlcmVkIHJvdXRlIG91dHB1dCB3aXRoIGludmlzaWJsZSBtYXJrZXJzIHNvIERldlRvb2xzIGNhbiBtYXAgaXQgYmFjay5cbiAqL1xuZnVuY3Rpb24gUm91dGVIaWdobGlnaHRCb3VuZGFyeShwcm9wczogSGlnaGxpZ2h0Qm91bmRhcnlQcm9wcyk6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgeyBoaWdobGlnaHRJZCwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3BhblxuICAgICAgICBkYXRhLXBsdW1pbGUtcm91dGUtc3RhcnQ9e2hpZ2hsaWdodElkfVxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgIC8+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8c3BhblxuICAgICAgICBkYXRhLXBsdW1pbGUtcm91dGUtZW5kPXtoaWdobGlnaHRJZH1cbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAvPlxuICAgIDwvPlxuICApO1xufVxuXG50eXBlIFByb3BzPFRWYXJzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhPiA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGVudHJ5PzogUm91dGVFbnRyeTxUVmFycz47XG4gIG1hdGNoOiBSb3V0ZXJNYXRjaGVkUm91dGU8VFZhcnM+IHwgbnVsbDtcbiAgcHJlcGFyZWRSb3V0ZTogUHJlcGFyZWRNYXRjaFJvdXRlO1xufTtcblxuLyoqXG4gKiBUaGUgYHJlc291cmNlUGFnZWAgcHJvcGVydHkgZnJvbSB0aGUgcm91dGUgZW50cnkgaXMgYSBSZXNvdXJjZSwgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgcmVhZHkuXG4gKiBXZSB1c2UgYSBoZWxwZXIgY2hpbGQgY29tcG9uZW50IHRvIHVud3JhcCB0aGUgcmVzb3VyY2Ugd2l0aCBjb21wb25lbnQucmVhZCgpLCBhbmQgdGhlblxuICogcmVuZGVyIGl0IGlmIGl0cyByZWFkeS5cbiAqXG4gKiBOT1RFOiBjYWxsaW5nIHJvdXRlRW50cnkucm91dGUuY29tcG9uZW50LnJlYWQoKSBkaXJlY3RseSBpbiBSb3V0ZVJlbmRlcmVyIHdvbGRuJ3Qgd29yayB0aGVcbiAqIHdheSB3ZSdkIGV4cGVjdC4gQmVjYXVzZSB0aGF0IG1ldGhvZCBjb3VsZCB0aHJvdyAtIGVpdGhlciBzdXNwZW5kaW5nIG9yIG9uIGVycm9yIC0gdGhlIGVycm9yXG4gKiB3b3VsZCBidWJibGUgdXAgdG8gdGhlICpjYWxsZXIqIG9mIFJvdXRlUmVuZGVyZXIuIFdlIHdhbnQgdGhlIHN1c3BlbmQvZXJyb3IgdG8gYnViYmxlIHVwIHRvXG4gKiBvdXIgRXJyb3JCb3VuZGFyeS9TdXNwZW5zZSBjb21wb25lbnRzLCBzbyB3ZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBzdXNwZW5kL2Vycm9yIGhhcHBlbnNcbiAqIGluIGEgY2hpbGQgY29tcG9uZW50LlxuICovXG5jb25zdCBSb3V0ZUNvbXBvbmVudFdyYXBwZXIgPSA8VFZhcnMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGE+KFxuICBwcm9wczogUHJvcHM8VFZhcnM+LFxuKTogSlNYLkVsZW1lbnQgfCBudWxsID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgZW50cnksIG1hdGNoLCBwcmVwYXJlZFJvdXRlIH0gPSBwcm9wcztcbiAgY29uc3QgeyByZXNvdXJjZVBhZ2UsIHByZXBhcmVkUmVzb3VyY2UsIHJlbmRlciwgcmVkaXJlY3RUbywgaGlnaGxpZ2h0SWQgfSA9XG4gICAgcHJlcGFyZWRSb3V0ZTsgLy8gcm91dGVEYXRhXG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuICBjb25zdCBjdXJyZW50RW50cnkgPSBlbnRyeSA/PyByb3V0ZXI/LmdldCgpO1xuICBjb25zdCByYXdRdWVyeSA9IGN1cnJlbnRFbnRyeT8ucXVlcnkgPz8ge307XG4gIGNvbnN0IHJvdXRlQ29udGV4dCA9IGN1cnJlbnRFbnRyeT8uY29udGV4dDtcbiAgY29uc3QgdHlwZWRRdWVyeSA9IHJhd1F1ZXJ5OyAvLyBsZWdhY3kgdHlwZWRRdWVyeSByZW1vdmVkXG4gIGNvbnN0IHByZXBhcmVkU2VnbWVudHMgPSBjdXJyZW50RW50cnk/LnByZXBhcmVkTWF0Y2guc2VnbWVudHMgPz8gW107XG4gIGNvbnN0IHsgc2VnbWVudEluZGV4IH0gPSBwcmVwYXJlZFJvdXRlO1xuICBjb25zdCBsZWFmU2VnbWVudCA9IHByZXBhcmVkU2VnbWVudHMuYXQoLTEpID8/IHByZXBhcmVkUm91dGU7XG5cbiAgY29uc3Qgcm91dGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoLnJvdXRlO1xuICB9LCBbbWF0Y2hdKTtcblxuICBjb25zdCBwcmVwYXJlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiByZWFkUHJlcGFyZWRSb3V0ZVZhbHVlKHByZXBhcmVkUmVzb3VyY2UpO1xuICB9LCBbcHJlcGFyZWRSZXNvdXJjZV0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICBjb25zdCBDb21wb25lbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocmVzb3VyY2VQYWdlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29uc2lzdGVudC1yZXR1cm5cbiAgICByZXR1cm4gcmVzb3VyY2VQYWdlLnJlYWQoKTtcbiAgfSwgW3Jlc291cmNlUGFnZV0pO1xuXG4gIGxldCBjb250ZW50OlxuICAgIHwgSlNYLkVsZW1lbnRcbiAgICB8IG51bGxcbiAgICB8IHVuZGVmaW5lZFxuICAgIHwgUHJvbWlzZTxKU1guRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ+ID0gbnVsbDtcbiAgbGV0IHJlZGlyZWN0VG9QYXRobmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnRlbnQgPSByZW5kZXIoe1xuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogT0sgY2FuIGJlIGEgc3VzcGVuZFxuICAgICAgICBDb21wb25lbnQsXG4gICAgICAgIHByZXBhcmVkU2VnbWVudDogcHJlcGFyZWRSb3V0ZSxcbiAgICAgICAgcHJlcGFyZWRSb3V0ZSxcbiAgICAgICAgcHJlcGFyZWRTZWdtZW50cyxcbiAgICAgICAgc2VnbWVudEluZGV4LFxuICAgICAgICBsZWFmU2VnbWVudCxcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHByZXBhcmVkLFxuICAgICAgICBjb250ZXh0OiByb3V0ZUNvbnRleHQsXG4gICAgICAgIHJhd1F1ZXJ5LFxuICAgICAgICBxdWVyeTogdHlwZWRRdWVyeSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwUmVkaXJlY3QgJiYgcm91dGVyICE9IG51bGwpIHtcbiAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIHJlZGlyZWN0VG9QYXRobmFtZSA9IGVycm9yLnJlZGlyZWN0VG87XG4gICAgICAgIC8vIElmIGl0J3Mgc3VzcGVuZGVkXG4gICAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICBjb250ZW50ID0gZXJyb3I7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmVkaXJlY3RUb1BhdGhuYW1lID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SOiAnLCBlcnJvcik7XG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuICAgICAgICByZWRpcmVjdFRvUGF0aG5hbWUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhdGhuYW1lOiBzdHJpbmcgfCBudWxsID0gcmVkaXJlY3RUbyA/PyByZWRpcmVjdFRvUGF0aG5hbWUgPz8gbnVsbDtcblxuICBjb25zdCB3cmFwV2l0aEhpZ2hsaWdodCA9IChub2RlOiBSZWFjdE5vZGUpOiBKU1guRWxlbWVudCA9PiB7XG4gICAgaWYgKHR5cGVvZiBoaWdobGlnaHRJZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiA8Pntub2RlfTwvPjtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDxSb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5IGhpZ2hsaWdodElkPXtoaWdobGlnaHRJZH0+XG4gICAgICAgIHtub2RlfVxuICAgICAgPC9Sb3V0ZUhpZ2hsaWdodEJvdW5kYXJ5PlxuICAgICk7XG4gIH07XG5cbiAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L29ubHktdGhyb3ctZXJyb3JcbiAgICAgIHRocm93IGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhuYW1lICE9IG51bGwpIHtcbiAgICAgIHJldHVybiA8Um91dGVDb21wb25lbnQgcmVkaXJlY3RUb1BhdGhuYW1lPXtwYXRobmFtZX0gLz47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb250ZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHdyYXBXaXRoSGlnaGxpZ2h0KGNvbnRlbnQgPz8gbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKENvbXBvbmVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjb21wb25lbnROb2RlID0gKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IE9LIC0gY29tcG9uZW50IHR5cGUgaW5mZXJlbmNlIGZyb20gcmVzb3VyY2UgbG9hZGVyIGlzIGR5bmFtaWNcbiAgICA8Q29tcG9uZW50XG4gICAgICBtYXRjaD17bWF0Y2h9XG4gICAgICBwcmVwYXJlZFJvdXRlPXtwcmVwYXJlZFJvdXRlfVxuICAgICAgcm91dGU9e3JvdXRlfVxuICAgICAgcHJlcGFyZWQ9e3ByZXBhcmVkfVxuICAgICAgcXVlcnk9e3R5cGVkUXVlcnl9XG4gICAgICBwcmVwYXJlZFNlZ21lbnRzPXtwcmVwYXJlZFNlZ21lbnRzfVxuICAgICAgc2VnbWVudEluZGV4PXtzZWdtZW50SW5kZXh9XG4gICAgICBsZWFmU2VnbWVudD17bGVhZlNlZ21lbnR9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29tcG9uZW50PlxuICApO1xuICBjb25zdCBjb250ZW50MiA9IHdyYXBXaXRoSGlnaGxpZ2h0KGNvbXBvbmVudE5vZGUpO1xuXG4gIHJldHVybiA8Um91dGVDb21wb25lbnQgcmVkaXJlY3RUb1BhdGhuYW1lPXtwYXRobmFtZX0gY29udGVudD17Y29udGVudDJ9IC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVDb21wb25lbnRXcmFwcGVyO1xuIl19
@@ -3,6 +3,7 @@ export declare function getNewIndex(): number;
3
3
  type Props = {
4
4
  fallback: ReactNode;
5
5
  enableTransition?: boolean;
6
+ externalPending?: boolean;
6
7
  pending?: ReactNode;
7
8
  };
8
9
  declare const RouterRenderer: (props: Props) => JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"RouterRenderer.d.ts","sourceRoot":"","sources":["../../../src/routing/RouterRenderer.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,SAAS,EAGd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAiBf,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAqBD,KAAK,KAAK,GAAG;IAEX,QAAQ,EAAE,SAAS,CAAC;IAEpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAyBF,QAAA,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAyGpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RouterRenderer.d.ts","sourceRoot":"","sources":["../../../src/routing/RouterRenderer.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,SAAS,EAOd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAuBf,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAKD,KAAK,KAAK,GAAG;IAEX,QAAQ,EAAE,SAAS,CAAC;IAEpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAsNF,QAAA,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,GAAG,CAAC,OAAO,GAAG,IAwJpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useMemo, useSyncExternalStore, } from 'react';
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useEffect, useMemo, useRef, useState, startTransition, } from 'react';
3
3
  import RoutingContext from './RoutingContext.js';
4
4
  import RouteComponentWrapper from './RouteComponentWrapper.js';
5
5
  const { useContext, Suspense } = React;
@@ -8,59 +8,179 @@ export function getNewIndex() {
8
8
  index += 1;
9
9
  return index;
10
10
  }
11
- const hasPendingRouteWork = (routeEntry) => {
12
- return (routeEntry?.some((segment) => {
13
- if (segment.preparedResource?.getStatus() === 'pending') {
14
- return true;
11
+ const SuspenseFallbackObserver = (props) => {
12
+ const { children, onPendingChange } = props;
13
+ useEffect(() => {
14
+ onPendingChange(true);
15
+ return () => {
16
+ onPendingChange(false);
17
+ };
18
+ }, [onPendingChange]);
19
+ return _jsx(_Fragment, { children: children });
20
+ };
21
+ const RouteEntryCommitObserver = (props) => {
22
+ const { children, entry, onCommit } = props;
23
+ useEffect(() => {
24
+ if (entry != null) {
25
+ onCommit(entry);
15
26
  }
16
- if (segment.resourcePage != null && segment.resourcePage.get() == null) {
27
+ }, [entry, onCommit]);
28
+ return _jsx(_Fragment, { children: children });
29
+ };
30
+ const resolveRouteFallback = (fallback, defaultFallback, args) => {
31
+ if (typeof fallback === 'function') {
32
+ return fallback(args);
33
+ }
34
+ if (typeof fallback !== 'undefined') {
35
+ return fallback;
36
+ }
37
+ return defaultFallback;
38
+ };
39
+ const RouteSegmentBoundary = ({ children, entry, fallback, match, preparedRoute, }) => {
40
+ const routeComponent = (_jsx(RouteComponentWrapper, { entry: entry, match: match, preparedRoute: preparedRoute, children: children }));
41
+ if (preparedRoute.suspenseBoundary !== 'segment') {
42
+ return routeComponent;
43
+ }
44
+ return _jsx(Suspense, { fallback: fallback, children: routeComponent });
45
+ };
46
+ const canRenderPendingEntryWithLocalBoundaries = (entry) => {
47
+ if (entry.activeLoadState.status !== 'pending') {
48
+ return true;
49
+ }
50
+ return entry.loadState.segments.every((segment, index) => {
51
+ if (segment.status !== 'pending') {
17
52
  return true;
18
53
  }
54
+ return entry.preparedMatch.routes[index]?.suspenseBoundary === 'segment';
55
+ });
56
+ };
57
+ const routeLocationKey = (entry) => {
58
+ return `${entry.location.pathname}${entry.location.search}${entry.location.hash}`;
59
+ };
60
+ const canDisplayRouteEntry = (entry, currentEntry, externalPending) => {
61
+ if (currentEntry == null) {
62
+ return true;
63
+ }
64
+ const isRouteChange = routeLocationKey(entry) !== routeLocationKey(currentEntry);
65
+ const hasLocalBoundary = entry.preparedMatch.routes.some((route) => {
66
+ return route.suspenseBoundary === 'segment';
67
+ });
68
+ if (externalPending && isRouteChange && !hasLocalBoundary) {
19
69
  return false;
20
- }) ?? false);
70
+ }
71
+ return canRenderPendingEntryWithLocalBoundaries(entry);
72
+ };
73
+ const renderRouteEntry = (entry, fallback) => {
74
+ if (entry == null) {
75
+ return null;
76
+ }
77
+ const result = [];
78
+ const reversedItems = result.concat(entry.preparedMatch.routes).reverse();
79
+ const firstItem = reversedItems[0];
80
+ if (firstItem == null) {
81
+ return null;
82
+ }
83
+ const match = entry.preparedMatch.match ?? null;
84
+ let mainComponent = (_jsx(RouteSegmentBoundary, { entry: entry, fallback: resolveRouteFallback(firstItem.fallback, fallback, {
85
+ match,
86
+ segment: firstItem,
87
+ }), match: match, preparedRoute: firstItem }, firstItem.segmentKey));
88
+ for (let index = 1; index < reversedItems.length; index += 1) {
89
+ const nextItem = reversedItems[index];
90
+ if (nextItem != null) {
91
+ mainComponent = (_jsx(RouteSegmentBoundary, { entry: entry, fallback: resolveRouteFallback(nextItem.fallback, fallback, {
92
+ children: mainComponent,
93
+ match,
94
+ segment: nextItem,
95
+ }), match: match, preparedRoute: nextItem, children: mainComponent }, nextItem.segmentKey));
96
+ }
97
+ }
98
+ return mainComponent;
21
99
  };
22
100
  const RouterRenderer = (props) => {
23
- const { fallback, pending, enableTransition = false } = props;
101
+ const { externalPending = false, fallback, pending, enableTransition = false, } = props;
102
+ const [isSuspensePending, setIsSuspensePending] = useState(false);
24
103
  const router = useContext(RoutingContext);
25
- const routeEntry = useSyncExternalStore((callback) => {
104
+ const [activeRouteEntry, setActiveRouteEntry] = useState(() => {
105
+ return router?.get();
106
+ });
107
+ const [displayedRouteEntry, setDisplayedRouteEntry] = useState(() => {
108
+ return router?.get();
109
+ });
110
+ const committedRouteEntryRef = useRef(undefined);
111
+ useEffect(() => {
26
112
  if (router == null) {
113
+ setActiveRouteEntry(undefined);
114
+ setDisplayedRouteEntry(undefined);
27
115
  return () => { };
28
116
  }
29
- return router.subscribe(() => {
30
- callback();
117
+ const scheduleDisplayedRouteEntry = (entry) => {
118
+ const updateDisplayedRouteEntry = () => {
119
+ setDisplayedRouteEntry((currentEntry) => {
120
+ const shouldKeepCurrentEntry = enableTransition &&
121
+ !canDisplayRouteEntry(entry, currentEntry, externalPending);
122
+ if (shouldKeepCurrentEntry) {
123
+ return currentEntry;
124
+ }
125
+ return entry;
126
+ });
127
+ };
128
+ if (enableTransition) {
129
+ startTransition(updateDisplayedRouteEntry);
130
+ return;
131
+ }
132
+ updateDisplayedRouteEntry();
133
+ };
134
+ const nextEntry = router.get();
135
+ setActiveRouteEntry(nextEntry);
136
+ scheduleDisplayedRouteEntry(nextEntry);
137
+ return router.subscribe((entry) => {
138
+ setActiveRouteEntry(entry);
139
+ scheduleDisplayedRouteEntry(entry);
31
140
  });
32
- }, () => {
33
- return router?.get();
34
- }, () => {
35
- return router?.get();
36
- });
141
+ }, [enableTransition, externalPending, router]);
142
+ useEffect(() => {
143
+ if (!enableTransition || externalPending || activeRouteEntry == null) {
144
+ return;
145
+ }
146
+ startTransition(() => {
147
+ setDisplayedRouteEntry(activeRouteEntry);
148
+ });
149
+ }, [activeRouteEntry, enableTransition, externalPending]);
37
150
  const pendingContent = useMemo(() => {
38
- if (enableTransition &&
39
- hasPendingRouteWork(routeEntry?.preparedMatch.routes)) {
151
+ const hasRouterPending = activeRouteEntry?.activeLoadState.status === 'pending';
152
+ const hasPending = hasRouterPending || isSuspensePending || externalPending;
153
+ if (enableTransition && hasPending) {
40
154
  return pending;
41
155
  }
42
156
  return null;
43
- }, [enableTransition, pending, routeEntry]);
157
+ }, [
158
+ enableTransition,
159
+ externalPending,
160
+ activeRouteEntry,
161
+ isSuspensePending,
162
+ pending,
163
+ ]);
164
+ const handleSuspensePendingChange = useCallback((isPending) => {
165
+ setIsSuspensePending(isPending);
166
+ }, []);
167
+ const observedFallback = useMemo(() => {
168
+ return (_jsx(SuspenseFallbackObserver, { onPendingChange: handleSuspensePendingChange, children: fallback }));
169
+ }, [fallback, handleSuspensePendingChange]);
44
170
  const routeComponent = useMemo(() => {
45
- if (routeEntry == null) {
46
- return null;
47
- }
48
- const result = [];
49
- const reversedItems = result
50
- .concat(routeEntry.preparedMatch.routes)
51
- .reverse();
52
- const firstItem = reversedItems[0];
53
- if (firstItem == null) {
54
- return null;
55
- }
56
- let mainComponent = (_jsx(RouteComponentWrapper, { match: routeEntry.preparedMatch.match ?? null, preparedRoute: firstItem }, firstItem.path));
57
- for (let index = 1; index < reversedItems.length; index += 1) {
58
- const nextItem = reversedItems[index];
59
- mainComponent = (_jsx(RouteComponentWrapper, { match: routeEntry.preparedMatch.match ?? null, preparedRoute: nextItem, children: mainComponent }, nextItem.path));
171
+ return renderRouteEntry(displayedRouteEntry, fallback);
172
+ }, [displayedRouteEntry, fallback]);
173
+ const handleRouteEntryCommit = useCallback((entry) => {
174
+ committedRouteEntryRef.current = entry;
175
+ }, []);
176
+ const transitionFallback = useMemo(() => {
177
+ if (!enableTransition) {
178
+ return observedFallback;
60
179
  }
61
- return mainComponent;
62
- }, [routeEntry]);
63
- return (_jsxs(_Fragment, { children: [pendingContent, _jsx(Suspense, { fallback: fallback, children: routeComponent })] }));
180
+ return (renderRouteEntry(committedRouteEntryRef.current, fallback) ??
181
+ observedFallback);
182
+ }, [enableTransition, fallback, observedFallback]);
183
+ return (_jsxs(_Fragment, { children: [pendingContent, _jsx(Suspense, { fallback: transitionFallback, children: _jsx(RouteEntryCommitObserver, { entry: displayedRouteEntry, onCommit: handleRouteEntryCommit, children: routeComponent }) })] }));
64
184
  };
65
185
  export default RouterRenderer;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0ZXJSZW5kZXJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBRVosT0FBTyxFQUNQLG9CQUFvQixHQUVyQixNQUFNLE9BQU8sQ0FBQztBQUlmLE9BQU8sY0FBYyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7QUFFdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBUWQsTUFBTSxVQUFVLFdBQVc7SUFDekIsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNYLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsVUFBNEMsRUFDbkMsRUFBRTtJQUNYLE9BQU8sQ0FDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUNaLENBQUM7QUFDSixDQUFDLENBQUM7QUFxQ0YsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFZLEVBQXNCLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRzlELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUxQyxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FDckMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUNYLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLE9BQU8sR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNCLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQ0QsR0FBRyxFQUFFO1FBQ0gsT0FBTyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQyxFQUNELEdBQUcsRUFBRTtRQUNILE9BQU8sTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUMsQ0FDRixDQUFDO0lBcUJGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEMsSUFDRSxnQkFBZ0I7WUFDaEIsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFDckQsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBSTVDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEMsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQXlCLEVBQUUsQ0FBQztRQUV4QyxNQUFNLGFBQWEsR0FBRyxNQUFNO2FBQ3pCLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUN2QyxPQUFPLEVBQUUsQ0FBQztRQUViLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGFBQWEsR0FBRyxDQUNsQixLQUFDLHFCQUFxQixJQUVwQixLQUFLLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUM3QyxhQUFhLEVBQUUsU0FBUyxJQUZuQixTQUFTLENBQUMsSUFBSSxDQUduQixDQUNILENBQUM7UUFDRixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0QsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLGFBQWEsR0FBRyxDQUNkLEtBQUMscUJBQXFCLElBR3BCLEtBQUssRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBRTdDLGFBQWEsRUFBRSxRQUFTLFlBRXZCLGFBQWEsSUFMVCxRQUFTLENBQUMsSUFBSSxDQU1HLENBQ3pCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUlqQixPQUFPLENBQ0wsOEJBQ0csY0FBYyxFQUNmLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxRQUFRLFlBQUcsY0FBYyxHQUFZLElBQ3hELENBQ0osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VNZW1vLFxuICB1c2VTeW5jRXh0ZXJuYWxTdG9yZSxcbiAgdHlwZSBKU1gsXG59IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBQcmVwYXJlZE1hdGNoUm91dGUgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmltcG9ydCBSb3V0aW5nQ29udGV4dCBmcm9tICcuL1JvdXRpbmdDb250ZXh0LmpzJztcbmltcG9ydCBSb3V0ZUNvbXBvbmVudFdyYXBwZXIgZnJvbSAnLi9Sb3V0ZUNvbXBvbmVudFdyYXBwZXIuanMnO1xuXG5jb25zdCB7IHVzZUNvbnRleHQsIFN1c3BlbnNlIH0gPSBSZWFjdDtcblxubGV0IGluZGV4ID0gMDtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSB1bmlxdWUgaW5kZXggZm9yIGNvbXBvbmVudCBpbnN0YW5jZXMuXG4gKiBUaGlzIGlzIHVzZWQgaW50ZXJuYWxseSB0byBlbnN1cmUgcHJvcGVyIFJlYWN0IHJlY29uY2lsaWF0aW9uLlxuICpcbiAqIEByZXR1cm5zIEEgdW5pcXVlIGluY3JlbWVudGFsIG51bWJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV3SW5kZXgoKTogbnVtYmVyIHtcbiAgaW5kZXggKz0gMTtcbiAgcmV0dXJuIGluZGV4O1xufVxuXG5jb25zdCBoYXNQZW5kaW5nUm91dGVXb3JrID0gKFxuICByb3V0ZUVudHJ5OiBQcmVwYXJlZE1hdGNoUm91dGVbXSB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gKFxuICAgIHJvdXRlRW50cnk/LnNvbWUoKHNlZ21lbnQpID0+IHtcbiAgICAgIGlmIChzZWdtZW50LnByZXBhcmVkUmVzb3VyY2U/LmdldFN0YXR1cygpID09PSAncGVuZGluZycpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoc2VnbWVudC5yZXNvdXJjZVBhZ2UgIT0gbnVsbCAmJiBzZWdtZW50LnJlc291cmNlUGFnZS5nZXQoKSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pID8/IGZhbHNlXG4gICk7XG59O1xuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgUm91dGVyUmVuZGVyZXIgY29tcG9uZW50LlxuICovXG50eXBlIFByb3BzID0ge1xuICAvKiogRmFsbGJhY2sgVUkgdG8gc2hvdyB3aGlsZSBsb2FkaW5nIGNvbXBvbmVudHMgKi9cbiAgZmFsbGJhY2s6IFJlYWN0Tm9kZTtcbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBwZW5kaW5nIGNvbnRlbnQgd2hpbGUgUmVhY3QgcmVwb3J0cyBhIHRyYW5zaXRpb24gZWxzZXdoZXJlICovXG4gIGVuYWJsZVRyYW5zaXRpb24/OiBib29sZWFuO1xuICAvKiogVUkgdG8gc2hvdyBkdXJpbmcgdHJhbnNpdGlvbnMgKHdoZW4gZW5hYmxlVHJhbnNpdGlvbiBpcyB0cnVlKSAqL1xuICBwZW5kaW5nPzogUmVhY3ROb2RlO1xufTtcblxuLyoqXG4gKiBNYWluIHJvdXRlciByZW5kZXJlciBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhY2Nlc3NlcyB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSBmcm9tIFJvdXRpbmdDb250ZXh0IGFuZCByZW5kZXJzXG4gKiB0aGUgYXBwcm9wcmlhdGUgY29tcG9uZW50cy4gSXQgc3VwcG9ydHMgUmVhY3QgU3VzcGVuc2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHNcbiAqIGFuZCBjYW4gb3B0aW9uYWxseSBkZWZlciB2aXNpYmxlIHJvdXRlIGNoYW5nZXMgZm9yIHNtb290aGVyIG5hdmlnYXRpb24uXG4gKlxuICogVGhlIGNvbXBvbmVudCBoYW5kbGVzIG5lc3RlZCByb3V0ZXMgYnkgY3JlYXRpbmcgYSBoaWVyYXJjaHkgb2YgUm91dGVDb21wb25lbnRXcmFwcGVyXG4gKiBjb21wb25lbnRzLCB3aGVyZSBlYWNoIGxldmVsIGNhbiByZW5kZXIgaXRzIG93biBjb21wb25lbnQgYW5kIGNoaWxkcmVuLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggU3VzcGVuc2UgZmFsbGJhY2tcbiAqIDxSb3V0ZXJSZW5kZXJlciBmYWxsYmFjaz17PGRpdj5Mb2FkaW5nLi4uPC9kaXY+fSAvPlxuICpcbiAqIC8vIFdpdGggUmVhY3QgMTggdHJhbnNpdGlvbnNcbiAqIDxSb3V0ZXJSZW5kZXJlclxuICogICBlbmFibGVUcmFuc2l0aW9uXG4gKiAgIGZhbGxiYWNrPXs8ZGl2PkxvYWRpbmcuLi48L2Rpdj59XG4gKiAgIHBlbmRpbmc9ezxkaXY+TmF2aWdhdGluZy4uLjwvZGl2Pn1cbiAqIC8+XG4gKiBgYGBcbiAqL1xuY29uc3QgUm91dGVyUmVuZGVyZXIgPSAocHJvcHM6IFByb3BzKTogSlNYLkVsZW1lbnQgfCBudWxsID0+IHtcbiAgY29uc3QgeyBmYWxsYmFjaywgcGVuZGluZywgZW5hYmxlVHJhbnNpdGlvbiA9IGZhbHNlIH0gPSBwcm9wcztcblxuICAvLyBBY2Nlc3MgdGhlIHJvdXRlciBjb250ZXh0XG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoUm91dGluZ0NvbnRleHQpO1xuXG4gIGNvbnN0IHJvdXRlRW50cnkgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICAoY2FsbGJhY2spID0+IHtcbiAgICAgIGlmIChyb3V0ZXIgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKCkgPT4ge307XG4gICAgICB9XG4gICAgICByZXR1cm4gcm91dGVyLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgICgpID0+IHtcbiAgICAgIHJldHVybiByb3V0ZXI/LmdldCgpO1xuICAgIH0sXG4gICAgKCkgPT4ge1xuICAgICAgcmV0dXJuIHJvdXRlcj8uZ2V0KCk7XG4gICAgfSxcbiAgKTtcbiAgLy8gVGhlIGN1cnJlbnQgcm91dGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgbWF0Y2hpbmcgZW50cmllcyAtIG9uZSBlbnRyeSBwZXJcbiAgLy8gbGV2ZWwgb2Ygcm91dGVzICh0byBhbGxvdyBuZXN0ZWQgcm91dGVzKS4gV2UgaGF2ZSB0byBtYXAgZWFjaCBvbmUgdG8gYVxuICAvLyBSb3V0ZUNvbXBvbmVudCB0byBhbGxvdyBzdXNwZW5kaW5nLCBhbmQgYWxzbyBwYXNzIGl0cyBjaGlsZHJlbiBjb3JyZWN0bHkuXG4gIC8vIENvbmNlcHR1YWxseSwgd2Ugd2FudCB0aGlzIHN0cnVjdHVyZTpcbiAgLy8gYGBgXG4gIC8vIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgIGNvbXBvbmVudD17ZW50cnlbMF0uY29tcG9uZW50fVxuICAvLyAgIHByZXBhcmVkPXtlbnRycnlbMF0ucHJlcGFyZWR9PlxuICAvLyAgIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgICAgY29tcG9uZW50PXtlbnRyeVsxXS5jb21wb25lbnR9XG4gIC8vICAgICBwcmVwYXJlZD17ZW50cnlbMV0ucHJlcGFyZWR9PlxuICAvLyAgICAgICAvLyBjb250aW51ZSBmb3IgbmVzdGVkIGl0ZW1zLi4uXG4gIC8vICAgPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gYGBgXG4gIC8vIFRvIGFjaGlldmUgdGhpcywgd2UgcmV2ZXJzZSB0aGUgbGlzdCBzbyB3ZSBjYW4gc3RhcnQgYXQgdGhlIGJvdHRvbS1tb3N0XG4gIC8vIGNvbXBvbmVudCwgYW5kIGl0ZXJhdGl2ZWx5IGNvbnN0cnVjdCBwYXJlbnQgY29tcG9uZW50cyB3IHRoZSBwcmV2aW91c1xuICAvLyB2YWx1ZSBhcyB0aGUgY2hpbGQgb2YgdGhlIG5leHQgb25lOlxuICAvLyByZXZlcnNlIGlzIGluIHBsYWNlLCBidXQgd2Ugd2FudCBhIGNvcHkgc28gY29uY2F0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICBjb25zdCBwZW5kaW5nQ29udGVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGVuYWJsZVRyYW5zaXRpb24gJiZcbiAgICAgIGhhc1BlbmRpbmdSb3V0ZVdvcmsocm91dGVFbnRyeT8ucHJlcGFyZWRNYXRjaC5yb3V0ZXMpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcGVuZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2VuYWJsZVRyYW5zaXRpb24sIHBlbmRpbmcsIHJvdXRlRW50cnldKTtcblxuICAvLyB0aGUgYm90dG9tLW1vc3QgY29tcG9uZW50IGlzIHNwZWNpYWwgc2luY2UgaXQgd2lsbCBoYXZlIG5vIGNoaWxkcmVuXG4gIC8vICh0aG91Z2ggd2UgY291bGQgcHJvYmFibHkganVzdCBwYXNzIG51bGwgY2hpbGRyZW4gdG8gaXQpXG4gIGNvbnN0IHJvdXRlQ29tcG9uZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJvdXRlRW50cnkgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBQcmVwYXJlZE1hdGNoUm91dGVbXSA9IFtdO1xuXG4gICAgY29uc3QgcmV2ZXJzZWRJdGVtcyA9IHJlc3VsdFxuICAgICAgLmNvbmNhdChyb3V0ZUVudHJ5LnByZXBhcmVkTWF0Y2gucm91dGVzKVxuICAgICAgLnJldmVyc2UoKTtcblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IHJldmVyc2VkSXRlbXNbMF07XG5cbiAgICBpZiAoZmlyc3RJdGVtID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBtYWluQ29tcG9uZW50ID0gKFxuICAgICAgPFJvdXRlQ29tcG9uZW50V3JhcHBlclxuICAgICAgICBrZXk9e2ZpcnN0SXRlbS5wYXRofVxuICAgICAgICBtYXRjaD17cm91dGVFbnRyeS5wcmVwYXJlZE1hdGNoLm1hdGNoID8/IG51bGx9XG4gICAgICAgIHByZXBhcmVkUm91dGU9e2ZpcnN0SXRlbX1cbiAgICAgIC8+XG4gICAgKTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgcmV2ZXJzZWRJdGVtcy5sZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gcmV2ZXJzZWRJdGVtc1tpbmRleF07XG4gICAgICBtYWluQ29tcG9uZW50ID0gKFxuICAgICAgICA8Um91dGVDb21wb25lbnRXcmFwcGVyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICBrZXk9e25leHRJdGVtIS5wYXRofVxuICAgICAgICAgIG1hdGNoPXtyb3V0ZUVudHJ5LnByZXBhcmVkTWF0Y2gubWF0Y2ggPz8gbnVsbH1cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgIHByZXBhcmVkUm91dGU9e25leHRJdGVtIX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQ29tcG9uZW50fVxuICAgICAgICA8L1JvdXRlQ29tcG9uZW50V3JhcHBlcj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1haW5Db21wb25lbnQ7XG4gIH0sIFtyb3V0ZUVudHJ5XSk7XG5cbiAgLy8gUm91dGVzIGNhbiBlcnJvciBzbyB3cmFwIGluIGFuIDxFcnJvckJvdW5kYXJ5PlxuICAvLyBSb3V0ZXMgY2FuIHN1c3BlbmQsIHNvIHdyYXAgaW4gPFN1c3BlbnNlPlxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cGVuZGluZ0NvbnRlbnR9XG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e2ZhbGxiYWNrfT57cm91dGVDb21wb25lbnR9PC9TdXNwZW5zZT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlclJlbmRlcmVyO1xuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyUmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGluZy9Sb3V0ZXJSZW5kZXJlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxFQUFFLEVBRVosV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBVWYsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxxQkFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztBQUV2QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFRZCxNQUFNLFVBQVUsV0FBVztJQUN6QixLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ1gsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBbUNELE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUV0QixPQUFPLDRCQUFHLFFBQVEsR0FBSSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsS0FBb0MsRUFDdkIsRUFBRTtJQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FB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LE9BQU8sQ0FBQyxHQUFjLEVBQUU7UUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sc0JBQXNCLEdBQUcsV0FBVyxDQUFDLENBQUMsS0FBNEIsRUFBRSxFQUFFO1FBQzFFLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBYyxFQUFFO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQztRQUVELE9BQU8sQ0FDTCxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1lBQzFELGdCQUFnQixDQUNqQixDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUluRCxPQUFPLENBQ0wsOEJBQ0csY0FBYyxFQUNmLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxrQkFBa0IsWUFDcEMsS0FBQyx3QkFBd0IsSUFDdkIsS0FBSyxFQUFFLG1CQUFtQixFQUMxQixRQUFRLEVBQUUsc0JBQXNCLFlBRS9CLGNBQWMsR0FDVSxHQUNsQixJQUNWLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHR5cGUgUmVhY3ROb2RlLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxuICBzdGFydFRyYW5zaXRpb24sXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgUHJlcGFyZWRNYXRjaFJvdXRlLFxuICBSb3V0ZUZhbGxiYWNrLFxuICBSb3V0ZUVudHJ5LFxuICBSb3V0ZXJNYXRjaGVkUm91dGUsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgUm91dGluZ0NvbnRleHQgZnJvbSAnLi9Sb3V0aW5nQ29udGV4dC5qcyc7XG5pbXBvcnQgUm91dGVDb21wb25lbnRXcmFwcGVyIGZyb20gJy4vUm91dGVDb21wb25lbnRXcmFwcGVyLmpzJztcblxuY29uc3QgeyB1c2VDb250ZXh0LCBTdXNwZW5zZSB9ID0gUmVhY3Q7XG5cbmxldCBpbmRleCA9IDA7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgdW5pcXVlIGluZGV4IGZvciBjb21wb25lbnQgaW5zdGFuY2VzLlxuICogVGhpcyBpcyB1c2VkIGludGVybmFsbHkgdG8gZW5zdXJlIHByb3BlciBSZWFjdCByZWNvbmNpbGlhdGlvbi5cbiAqXG4gKiBAcmV0dXJucyBBIHVuaXF1ZSBpbmNyZW1lbnRhbCBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld0luZGV4KCk6IG51bWJlciB7XG4gIGluZGV4ICs9IDE7XG4gIHJldHVybiBpbmRleDtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIFJvdXRlclJlbmRlcmVyIGNvbXBvbmVudC5cbiAqL1xudHlwZSBQcm9wcyA9IHtcbiAgLyoqIEZhbGxiYWNrIFVJIHRvIHNob3cgd2hpbGUgbG9hZGluZyBjb21wb25lbnRzICovXG4gIGZhbGxiYWNrOiBSZWFjdE5vZGU7XG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgcGVuZGluZyBjb250ZW50IHdoaWxlIFJlYWN0IHJlcG9ydHMgYSB0cmFuc2l0aW9uIGVsc2V3aGVyZSAqL1xuICBlbmFibGVUcmFuc2l0aW9uPzogYm9vbGVhbjtcbiAgLyoqIEV4dGVybmFsIGFzeW5jIGFjdGl2aXR5IHRoYXQgc2hvdWxkIGFsc28gc2hvdyBwZW5kaW5nIGNvbnRlbnQgKi9cbiAgZXh0ZXJuYWxQZW5kaW5nPzogYm9vbGVhbjtcbiAgLyoqIFVJIHRvIHNob3cgZHVyaW5nIHRyYW5zaXRpb25zICh3aGVuIGVuYWJsZVRyYW5zaXRpb24gaXMgdHJ1ZSkgKi9cbiAgcGVuZGluZz86IFJlYWN0Tm9kZTtcbn07XG5cbnR5cGUgU3VzcGVuc2VGYWxsYmFja09ic2VydmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIG9uUGVuZGluZ0NoYW5nZTogKGlzUGVuZGluZzogYm9vbGVhbikgPT4gdm9pZDtcbn07XG5cbnR5cGUgUm91dGVTZWdtZW50Qm91bmRhcnlQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT47XG4gIGZhbGxiYWNrOiBSZWFjdE5vZGU7XG4gIG1hdGNoOiBSb3V0ZXJNYXRjaGVkUm91dGU8UGFyYW1EYXRhPiB8IG51bGw7XG4gIHByZXBhcmVkUm91dGU6IFByZXBhcmVkTWF0Y2hSb3V0ZTtcbn07XG5cbnR5cGUgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQ7XG4gIG9uQ29tbWl0OiAoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlciA9IChcbiAgcHJvcHM6IFN1c3BlbnNlRmFsbGJhY2tPYnNlcnZlclByb3BzLFxuKTogSlNYLkVsZW1lbnQgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBvblBlbmRpbmdDaGFuZ2UgfSA9IHByb3BzO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25QZW5kaW5nQ2hhbmdlKHRydWUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvblBlbmRpbmdDaGFuZ2UoZmFsc2UpO1xuICAgIH07XG4gIH0sIFtvblBlbmRpbmdDaGFuZ2VdKTtcblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufTtcblxuY29uc3QgUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyID0gKFxuICBwcm9wczogUm91dGVFbnRyeUNvbW1pdE9ic2VydmVyUHJvcHMsXG4pOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGVudHJ5LCBvbkNvbW1pdCB9ID0gcHJvcHM7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50cnkgIT0gbnVsbCkge1xuICAgICAgb25Db21taXQoZW50cnkpO1xuICAgIH1cbiAgfSwgW2VudHJ5LCBvbkNvbW1pdF0pO1xuXG4gIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCByZXNvbHZlUm91dGVGYWxsYmFjayA9IChcbiAgZmFsbGJhY2s6IFJvdXRlRmFsbGJhY2sgfCB1bmRlZmluZWQsXG4gIGRlZmF1bHRGYWxsYmFjazogUmVhY3ROb2RlLFxuICBhcmdzOiB7XG4gICAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gICAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxQYXJhbURhdGE+IHwgbnVsbDtcbiAgICBzZWdtZW50OiBQcmVwYXJlZE1hdGNoUm91dGU7XG4gIH0sXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBpZiAodHlwZW9mIGZhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrKGFyZ3MpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBmYWxsYmFjayAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdEZhbGxiYWNrO1xufTtcblxuY29uc3QgUm91dGVTZWdtZW50Qm91bmRhcnkgPSAoe1xuICBjaGlsZHJlbixcbiAgZW50cnksXG4gIGZhbGxiYWNrLFxuICBtYXRjaCxcbiAgcHJlcGFyZWRSb3V0ZSxcbn06IFJvdXRlU2VnbWVudEJvdW5kYXJ5UHJvcHMpOiBKU1guRWxlbWVudCA9PiB7XG4gIGNvbnN0IHJvdXRlQ29tcG9uZW50ID0gKFxuICAgIDxSb3V0ZUNvbXBvbmVudFdyYXBwZXJcbiAgICAgIGVudHJ5PXtlbnRyeX1cbiAgICAgIG1hdGNoPXttYXRjaH1cbiAgICAgIHByZXBhcmVkUm91dGU9e3ByZXBhcmVkUm91dGV9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvUm91dGVDb21wb25lbnRXcmFwcGVyPlxuICApO1xuXG4gIGlmIChwcmVwYXJlZFJvdXRlLnN1c3BlbnNlQm91bmRhcnkgIT09ICdzZWdtZW50Jykge1xuICAgIHJldHVybiByb3V0ZUNvbXBvbmVudDtcbiAgfVxuXG4gIHJldHVybiA8U3VzcGVuc2UgZmFsbGJhY2s9e2ZhbGxiYWNrfT57cm91dGVDb21wb25lbnR9PC9TdXNwZW5zZT47XG59O1xuXG5jb25zdCBjYW5SZW5kZXJQZW5kaW5nRW50cnlXaXRoTG9jYWxCb3VuZGFyaWVzID0gKFxuICBlbnRyeTogUm91dGVFbnRyeTxQYXJhbURhdGE+LFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChlbnRyeS5hY3RpdmVMb2FkU3RhdGUuc3RhdHVzICE9PSAncGVuZGluZycpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBlbnRyeS5sb2FkU3RhdGUuc2VnbWVudHMuZXZlcnkoKHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgaWYgKHNlZ21lbnQuc3RhdHVzICE9PSAncGVuZGluZycpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBlbnRyeS5wcmVwYXJlZE1hdGNoLnJvdXRlc1tpbmRleF0/LnN1c3BlbnNlQm91bmRhcnkgPT09ICdzZWdtZW50JztcbiAgfSk7XG59O1xuXG5jb25zdCByb3V0ZUxvY2F0aW9uS2V5ID0gKGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4pOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gYCR7ZW50cnkubG9jYXRpb24ucGF0aG5hbWV9JHtlbnRyeS5sb2NhdGlvbi5zZWFyY2h9JHtlbnRyeS5sb2NhdGlvbi5oYXNofWA7XG59O1xuXG5jb25zdCBjYW5EaXNwbGF5Um91dGVFbnRyeSA9IChcbiAgZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPixcbiAgY3VycmVudEVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQsXG4gIGV4dGVybmFsUGVuZGluZzogYm9vbGVhbixcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoY3VycmVudEVudHJ5ID09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGlzUm91dGVDaGFuZ2UgPVxuICAgIHJvdXRlTG9jYXRpb25LZXkoZW50cnkpICE9PSByb3V0ZUxvY2F0aW9uS2V5KGN1cnJlbnRFbnRyeSk7XG4gIGNvbnN0IGhhc0xvY2FsQm91bmRhcnkgPSBlbnRyeS5wcmVwYXJlZE1hdGNoLnJvdXRlcy5zb21lKChyb3V0ZSkgPT4ge1xuICAgIHJldHVybiByb3V0ZS5zdXNwZW5zZUJvdW5kYXJ5ID09PSAnc2VnbWVudCc7XG4gIH0pO1xuXG4gIGlmIChleHRlcm5hbFBlbmRpbmcgJiYgaXNSb3V0ZUNoYW5nZSAmJiAhaGFzTG9jYWxCb3VuZGFyeSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBjYW5SZW5kZXJQZW5kaW5nRW50cnlXaXRoTG9jYWxCb3VuZGFyaWVzKGVudHJ5KTtcbn07XG5cbmNvbnN0IHJlbmRlclJvdXRlRW50cnkgPSAoXG4gIGVudHJ5OiBSb3V0ZUVudHJ5PFBhcmFtRGF0YT4gfCB1bmRlZmluZWQsXG4gIGZhbGxiYWNrOiBSZWFjdE5vZGUsXG4pOiBSZWFjdE5vZGUgPT4ge1xuICBpZiAoZW50cnkgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBQcmVwYXJlZE1hdGNoUm91dGVbXSA9IFtdO1xuXG4gIGNvbnN0IHJldmVyc2VkSXRlbXMgPSByZXN1bHQuY29uY2F0KGVudHJ5LnByZXBhcmVkTWF0Y2gucm91dGVzKS5yZXZlcnNlKCk7XG4gIGNvbnN0IGZpcnN0SXRlbSA9IHJldmVyc2VkSXRlbXNbMF07XG5cbiAgaWYgKGZpcnN0SXRlbSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IGVudHJ5LnByZXBhcmVkTWF0Y2gubWF0Y2ggPz8gbnVsbDtcbiAgbGV0IG1haW5Db21wb25lbnQgPSAoXG4gICAgPFJvdXRlU2VnbWVudEJvdW5kYXJ5XG4gICAgICBrZXk9e2ZpcnN0SXRlbS5zZWdtZW50S2V5fVxuICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgZmFsbGJhY2s9e3Jlc29sdmVSb3V0ZUZhbGxiYWNrKGZpcnN0SXRlbS5mYWxsYmFjaywgZmFsbGJhY2ssIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHNlZ21lbnQ6IGZpcnN0SXRlbSxcbiAgICAgIH0pfVxuICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgcHJlcGFyZWRSb3V0ZT17Zmlyc3RJdGVtfVxuICAgIC8+XG4gICk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAxOyBpbmRleCA8IHJldmVyc2VkSXRlbXMubGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgbmV4dEl0ZW0gPSByZXZlcnNlZEl0ZW1zW2luZGV4XTtcbiAgICBpZiAobmV4dEl0ZW0gIT0gbnVsbCkge1xuICAgICAgbWFpbkNvbXBvbmVudCA9IChcbiAgICAgICAgPFJvdXRlU2VnbWVudEJvdW5kYXJ5XG4gICAgICAgICAga2V5PXtuZXh0SXRlbS5zZWdtZW50S2V5fVxuICAgICAgICAgIGVudHJ5PXtlbnRyeX1cbiAgICAgICAgICBmYWxsYmFjaz17cmVzb2x2ZVJvdXRlRmFsbGJhY2sobmV4dEl0ZW0uZmFsbGJhY2ssIGZhbGxiYWNrLCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogbWFpbkNvbXBvbmVudCxcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgc2VnbWVudDogbmV4dEl0ZW0sXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgbWF0Y2g9e21hdGNofVxuICAgICAgICAgIHByZXBhcmVkUm91dGU9e25leHRJdGVtfVxuICAgICAgICA+XG4gICAgICAgICAge21haW5Db21wb25lbnR9XG4gICAgICAgIDwvUm91dGVTZWdtZW50Qm91bmRhcnk+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtYWluQ29tcG9uZW50O1xufTtcblxuLyoqXG4gKiBNYWluIHJvdXRlciByZW5kZXJlciBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyB0aGUgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhY2Nlc3NlcyB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSBmcm9tIFJvdXRpbmdDb250ZXh0IGFuZCByZW5kZXJzXG4gKiB0aGUgYXBwcm9wcmlhdGUgY29tcG9uZW50cy4gSXQgc3VwcG9ydHMgUmVhY3QgU3VzcGVuc2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHNcbiAqIGFuZCBjYW4gb3B0aW9uYWxseSBkZWZlciB2aXNpYmxlIHJvdXRlIGNoYW5nZXMgZm9yIHNtb290aGVyIG5hdmlnYXRpb24uXG4gKlxuICogVGhlIGNvbXBvbmVudCBoYW5kbGVzIG5lc3RlZCByb3V0ZXMgYnkgY3JlYXRpbmcgYSBoaWVyYXJjaHkgb2YgUm91dGVDb21wb25lbnRXcmFwcGVyXG4gKiBjb21wb25lbnRzLCB3aGVyZSBlYWNoIGxldmVsIGNhbiByZW5kZXIgaXRzIG93biBjb21wb25lbnQgYW5kIGNoaWxkcmVuLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggU3VzcGVuc2UgZmFsbGJhY2tcbiAqIDxSb3V0ZXJSZW5kZXJlciBmYWxsYmFjaz17PGRpdj5Mb2FkaW5nLi4uPC9kaXY+fSAvPlxuICpcbiAqIC8vIFdpdGggUmVhY3QgMTggdHJhbnNpdGlvbnNcbiAqIDxSb3V0ZXJSZW5kZXJlclxuICogICBlbmFibGVUcmFuc2l0aW9uXG4gKiAgIGZhbGxiYWNrPXs8ZGl2PkxvYWRpbmcuLi48L2Rpdj59XG4gKiAgIHBlbmRpbmc9ezxkaXY+TmF2aWdhdGluZy4uLjwvZGl2Pn1cbiAqIC8+XG4gKiBgYGBcbiAqL1xuY29uc3QgUm91dGVyUmVuZGVyZXIgPSAocHJvcHM6IFByb3BzKTogSlNYLkVsZW1lbnQgfCBudWxsID0+IHtcbiAgY29uc3Qge1xuICAgIGV4dGVybmFsUGVuZGluZyA9IGZhbHNlLFxuICAgIGZhbGxiYWNrLFxuICAgIHBlbmRpbmcsXG4gICAgZW5hYmxlVHJhbnNpdGlvbiA9IGZhbHNlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IFtpc1N1c3BlbnNlUGVuZGluZywgc2V0SXNTdXNwZW5zZVBlbmRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIEFjY2VzcyB0aGUgcm91dGVyIGNvbnRleHRcbiAgY29uc3Qgcm91dGVyID0gdXNlQ29udGV4dChSb3V0aW5nQ29udGV4dCk7XG4gIGNvbnN0IFthY3RpdmVSb3V0ZUVudHJ5LCBzZXRBY3RpdmVSb3V0ZUVudHJ5XSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICByZXR1cm4gcm91dGVyPy5nZXQoKTtcbiAgfSk7XG4gIGNvbnN0IFtkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBzZXREaXNwbGF5ZWRSb3V0ZUVudHJ5XSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICByZXR1cm4gcm91dGVyPy5nZXQoKTtcbiAgfSk7XG4gIGNvbnN0IGNvbW1pdHRlZFJvdXRlRW50cnlSZWYgPSB1c2VSZWY8Um91dGVFbnRyeTxQYXJhbURhdGE+IHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWQsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocm91dGVyID09IG51bGwpIHtcbiAgICAgIHNldEFjdGl2ZVJvdXRlRW50cnkodW5kZWZpbmVkKTtcbiAgICAgIHNldERpc3BsYXllZFJvdXRlRW50cnkodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybiAoKSA9PiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlZHVsZURpc3BsYXllZFJvdXRlRW50cnkgPSAoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSA9ICgpID0+IHtcbiAgICAgICAgc2V0RGlzcGxheWVkUm91dGVFbnRyeSgoY3VycmVudEVudHJ5KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2hvdWxkS2VlcEN1cnJlbnRFbnRyeSA9XG4gICAgICAgICAgICBlbmFibGVUcmFuc2l0aW9uICYmXG4gICAgICAgICAgICAhY2FuRGlzcGxheVJvdXRlRW50cnkoZW50cnksIGN1cnJlbnRFbnRyeSwgZXh0ZXJuYWxQZW5kaW5nKTtcblxuICAgICAgICAgIGlmIChzaG91bGRLZWVwQ3VycmVudEVudHJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEVudHJ5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoZW5hYmxlVHJhbnNpdGlvbikge1xuICAgICAgICBzdGFydFRyYW5zaXRpb24odXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlRGlzcGxheWVkUm91dGVFbnRyeSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBuZXh0RW50cnkgPSByb3V0ZXIuZ2V0KCk7XG4gICAgc2V0QWN0aXZlUm91dGVFbnRyeShuZXh0RW50cnkpO1xuICAgIHNjaGVkdWxlRGlzcGxheWVkUm91dGVFbnRyeShuZXh0RW50cnkpO1xuICAgIHJldHVybiByb3V0ZXIuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgc2V0QWN0aXZlUm91dGVFbnRyeShlbnRyeSk7XG4gICAgICBzY2hlZHVsZURpc3BsYXllZFJvdXRlRW50cnkoZW50cnkpO1xuICAgIH0pO1xuICB9LCBbZW5hYmxlVHJhbnNpdGlvbiwgZXh0ZXJuYWxQZW5kaW5nLCByb3V0ZXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlVHJhbnNpdGlvbiB8fCBleHRlcm5hbFBlbmRpbmcgfHwgYWN0aXZlUm91dGVFbnRyeSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIHNldERpc3BsYXllZFJvdXRlRW50cnkoYWN0aXZlUm91dGVFbnRyeSk7XG4gICAgfSk7XG4gIH0sIFthY3RpdmVSb3V0ZUVudHJ5LCBlbmFibGVUcmFuc2l0aW9uLCBleHRlcm5hbFBlbmRpbmddKTtcbiAgLy8gVGhlIGN1cnJlbnQgcm91dGUgdmFsdWUgaXMgYW4gYXJyYXkgb2YgbWF0Y2hpbmcgZW50cmllcyAtIG9uZSBlbnRyeSBwZXJcbiAgLy8gbGV2ZWwgb2Ygcm91dGVzICh0byBhbGxvdyBuZXN0ZWQgcm91dGVzKS4gV2UgaGF2ZSB0byBtYXAgZWFjaCBvbmUgdG8gYVxuICAvLyBSb3V0ZUNvbXBvbmVudCB0byBhbGxvdyBzdXNwZW5kaW5nLCBhbmQgYWxzbyBwYXNzIGl0cyBjaGlsZHJlbiBjb3JyZWN0bHkuXG4gIC8vIENvbmNlcHR1YWxseSwgd2Ugd2FudCB0aGlzIHN0cnVjdHVyZTpcbiAgLy8gYGBgXG4gIC8vIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgIGNvbXBvbmVudD17ZW50cnlbMF0uY29tcG9uZW50fVxuICAvLyAgIHByZXBhcmVkPXtlbnRycnlbMF0ucHJlcGFyZWR9PlxuICAvLyAgIDxSb3V0ZUNvbXBvbmVudFxuICAvLyAgICAgY29tcG9uZW50PXtlbnRyeVsxXS5jb21wb25lbnR9XG4gIC8vICAgICBwcmVwYXJlZD17ZW50cnlbMV0ucHJlcGFyZWR9PlxuICAvLyAgICAgICAvLyBjb250aW51ZSBmb3IgbmVzdGVkIGl0ZW1zLi4uXG4gIC8vICAgPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gPC9Sb3V0ZUNvbXBvbmVudD5cbiAgLy8gYGBgXG4gIC8vIFRvIGFjaGlldmUgdGhpcywgd2UgcmV2ZXJzZSB0aGUgbGlzdCBzbyB3ZSBjYW4gc3RhcnQgYXQgdGhlIGJvdHRvbS1tb3N0XG4gIC8vIGNvbXBvbmVudCwgYW5kIGl0ZXJhdGl2ZWx5IGNvbnN0cnVjdCBwYXJlbnQgY29tcG9uZW50cyB3IHRoZSBwcmV2aW91c1xuICAvLyB2YWx1ZSBhcyB0aGUgY2hpbGQgb2YgdGhlIG5leHQgb25lOlxuICAvLyByZXZlcnNlIGlzIGluIHBsYWNlLCBidXQgd2Ugd2FudCBhIGNvcHkgc28gY29uY2F0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICBjb25zdCBwZW5kaW5nQ29udGVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGhhc1JvdXRlclBlbmRpbmcgPVxuICAgICAgYWN0aXZlUm91dGVFbnRyeT8uYWN0aXZlTG9hZFN0YXRlLnN0YXR1cyA9PT0gJ3BlbmRpbmcnO1xuICAgIGNvbnN0IGhhc1BlbmRpbmcgPSBoYXNSb3V0ZXJQZW5kaW5nIHx8IGlzU3VzcGVuc2VQZW5kaW5nIHx8IGV4dGVybmFsUGVuZGluZztcbiAgICBpZiAoZW5hYmxlVHJhbnNpdGlvbiAmJiBoYXNQZW5kaW5nKSB7XG4gICAgICByZXR1cm4gcGVuZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW1xuICAgIGVuYWJsZVRyYW5zaXRpb24sXG4gICAgZXh0ZXJuYWxQZW5kaW5nLFxuICAgIGFjdGl2ZVJvdXRlRW50cnksXG4gICAgaXNTdXNwZW5zZVBlbmRpbmcsXG4gICAgcGVuZGluZyxcbiAgXSk7XG5cbiAgY29uc3QgaGFuZGxlU3VzcGVuc2VQZW5kaW5nQ2hhbmdlID0gdXNlQ2FsbGJhY2soKGlzUGVuZGluZzogYm9vbGVhbikgPT4ge1xuICAgIHNldElzU3VzcGVuc2VQZW5kaW5nKGlzUGVuZGluZyk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBvYnNlcnZlZEZhbGxiYWNrID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZUZhbGxiYWNrT2JzZXJ2ZXIgb25QZW5kaW5nQ2hhbmdlPXtoYW5kbGVTdXNwZW5zZVBlbmRpbmdDaGFuZ2V9PlxuICAgICAgICB7ZmFsbGJhY2t9XG4gICAgICA8L1N1c3BlbnNlRmFsbGJhY2tPYnNlcnZlcj5cbiAgICApO1xuICB9LCBbZmFsbGJhY2ssIGhhbmRsZVN1c3BlbnNlUGVuZGluZ0NoYW5nZV0pO1xuXG4gIGNvbnN0IHJvdXRlQ29tcG9uZW50ID0gdXNlTWVtbygoKTogUmVhY3ROb2RlID0+IHtcbiAgICByZXR1cm4gcmVuZGVyUm91dGVFbnRyeShkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBmYWxsYmFjayk7XG4gIH0sIFtkaXNwbGF5ZWRSb3V0ZUVudHJ5LCBmYWxsYmFja10pO1xuXG4gIGNvbnN0IGhhbmRsZVJvdXRlRW50cnlDb21taXQgPSB1c2VDYWxsYmFjaygoZW50cnk6IFJvdXRlRW50cnk8UGFyYW1EYXRhPikgPT4ge1xuICAgIGNvbW1pdHRlZFJvdXRlRW50cnlSZWYuY3VycmVudCA9IGVudHJ5O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdHJhbnNpdGlvbkZhbGxiYWNrID0gdXNlTWVtbygoKTogUmVhY3ROb2RlID0+IHtcbiAgICBpZiAoIWVuYWJsZVRyYW5zaXRpb24pIHtcbiAgICAgIHJldHVybiBvYnNlcnZlZEZhbGxiYWNrO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICByZW5kZXJSb3V0ZUVudHJ5KGNvbW1pdHRlZFJvdXRlRW50cnlSZWYuY3VycmVudCwgZmFsbGJhY2spID8/XG4gICAgICBvYnNlcnZlZEZhbGxiYWNrXG4gICAgKTtcbiAgfSwgW2VuYWJsZVRyYW5zaXRpb24sIGZhbGxiYWNrLCBvYnNlcnZlZEZhbGxiYWNrXSk7XG5cbiAgLy8gUm91dGVzIGNhbiBlcnJvciBzbyB3cmFwIGluIGFuIDxFcnJvckJvdW5kYXJ5PlxuICAvLyBSb3V0ZXMgY2FuIHN1c3BlbmQsIHNvIHdyYXAgaW4gPFN1c3BlbnNlPlxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cGVuZGluZ0NvbnRlbnR9XG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9e3RyYW5zaXRpb25GYWxsYmFja30+XG4gICAgICAgIDxSb3V0ZUVudHJ5Q29tbWl0T2JzZXJ2ZXJcbiAgICAgICAgICBlbnRyeT17ZGlzcGxheWVkUm91dGVFbnRyeX1cbiAgICAgICAgICBvbkNvbW1pdD17aGFuZGxlUm91dGVFbnRyeUNvbW1pdH1cbiAgICAgICAgPlxuICAgICAgICAgIHtyb3V0ZUNvbXBvbmVudH1cbiAgICAgICAgPC9Sb3V0ZUVudHJ5Q29tbWl0T2JzZXJ2ZXI+XG4gICAgICA8L1N1c3BlbnNlPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyUmVuZGVyZXI7XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAMtB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,kBAAkB,EAKxB,MAAM,uCAAuC,CAAC;AAQ/C,KAAK,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AAsClD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAI;IAE/D,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CACzB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,GACC,cAAc,CAAC,CAAC,CAAC,GAAG;QAClB,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC;CACL,CAAC;AAwCF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI;IAE1C,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAExC,OAAO,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEtC,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC;CAC7B,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,GAAG,OAAO,EAClB,CAAC,SAAS,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAEjC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,OAAO,GAAE,mBAAmB,CAAC,QAAQ,CAAM,GAC1C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAi2BjC"}
1
+ {"version":3,"file":"createRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/createRouter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAStB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,kBAAkB,EAKxB,MAAM,uCAAuC,CAAC;AAQ/C,KAAK,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AA8ClD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAI;IAE/D,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,EAAE,kBAAkB,CACzB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,CACT,GACC,cAAc,CAAC,CAAC,CAAC,GAAG;QAClB,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC;CACL,CAAC;AAwCF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,IAAI;IAE1C,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAExC,OAAO,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEtC,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC;CAC7B,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAQ,GAAG,OAAO,EAClB,CAAC,SAAS,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAEjC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,EAC3B,OAAO,GAAE,mBAAmB,CAAC,QAAQ,CAAM,GAC1C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAoqCjC"}