@plumile/router 0.1.201 → 0.1.205

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 (100) hide show
  1. package/README.md +9 -9
  2. package/lib/esm/builder.d.ts +5 -5
  3. package/lib/esm/builder.d.ts.map +1 -1
  4. package/lib/esm/builder.js +1 -1
  5. package/lib/esm/instrumentation/Instrumentation.d.ts +0 -1
  6. package/lib/esm/instrumentation/Instrumentation.d.ts.map +1 -1
  7. package/lib/esm/instrumentation/Instrumentation.js +1 -1
  8. package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts +3 -1
  9. package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
  10. package/lib/esm/instrumentation/adapters/devtoolsBridge.js +11 -6
  11. package/lib/esm/internal/routerLoadState.d.ts +10 -0
  12. package/lib/esm/internal/routerLoadState.d.ts.map +1 -0
  13. package/lib/esm/internal/routerLoadState.js +51 -0
  14. package/lib/esm/internal/routerSearchState.d.ts +11 -0
  15. package/lib/esm/internal/routerSearchState.d.ts.map +1 -0
  16. package/lib/esm/internal/routerSearchState.js +15 -0
  17. package/lib/esm/routing/Link.d.ts +0 -2
  18. package/lib/esm/routing/Link.d.ts.map +1 -1
  19. package/lib/esm/routing/Link.js +4 -23
  20. package/lib/esm/routing/RouteComponentWrapper.d.ts +2 -2
  21. package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
  22. package/lib/esm/routing/RouteComponentWrapper.js +8 -9
  23. package/lib/esm/routing/RouterRenderer.js +9 -9
  24. package/lib/esm/routing/createRouter.d.ts +4 -6
  25. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  26. package/lib/esm/routing/createRouter.js +6 -77
  27. package/lib/esm/routing/createStaticRouter.d.ts +4 -5
  28. package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
  29. package/lib/esm/routing/createStaticRouter.js +5 -50
  30. package/lib/esm/routing/useFilterDiagnostics.d.ts.map +1 -1
  31. package/lib/esm/routing/useFilterDiagnostics.js +4 -5
  32. package/lib/esm/routing/useFilters.d.ts +0 -5
  33. package/lib/esm/routing/useFilters.d.ts.map +1 -1
  34. package/lib/esm/routing/useFilters.js +8 -33
  35. package/lib/esm/routing/usePathname.d.ts.map +1 -1
  36. package/lib/esm/routing/usePathname.js +2 -5
  37. package/lib/esm/routing/useQueryState.d.ts +0 -1
  38. package/lib/esm/routing/useQueryState.d.ts.map +1 -1
  39. package/lib/esm/routing/useQueryState.js +1 -1
  40. package/lib/esm/tools.d.ts +3 -3
  41. package/lib/esm/tools.d.ts.map +1 -1
  42. package/lib/esm/tools.js +1 -4
  43. package/lib/esm/types.d.ts +3 -13
  44. package/lib/esm/types.d.ts.map +1 -1
  45. package/lib/esm/types.js +1 -1
  46. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  47. package/lib/types/builder.d.ts +5 -5
  48. package/lib/types/builder.d.ts.map +1 -1
  49. package/lib/types/instrumentation/Instrumentation.d.ts +0 -1
  50. package/lib/types/instrumentation/Instrumentation.d.ts.map +1 -1
  51. package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts +3 -1
  52. package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
  53. package/lib/types/internal/routerLoadState.d.ts +10 -0
  54. package/lib/types/internal/routerLoadState.d.ts.map +1 -0
  55. package/lib/types/internal/routerSearchState.d.ts +11 -0
  56. package/lib/types/internal/routerSearchState.d.ts.map +1 -0
  57. package/lib/types/routing/Link.d.ts +0 -2
  58. package/lib/types/routing/Link.d.ts.map +1 -1
  59. package/lib/types/routing/RouteComponentWrapper.d.ts +2 -2
  60. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  61. package/lib/types/routing/createRouter.d.ts +4 -6
  62. package/lib/types/routing/createRouter.d.ts.map +1 -1
  63. package/lib/types/routing/createStaticRouter.d.ts +4 -5
  64. package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
  65. package/lib/types/routing/useFilterDiagnostics.d.ts.map +1 -1
  66. package/lib/types/routing/useFilters.d.ts +0 -5
  67. package/lib/types/routing/useFilters.d.ts.map +1 -1
  68. package/lib/types/routing/usePathname.d.ts.map +1 -1
  69. package/lib/types/routing/useQueryState.d.ts +0 -1
  70. package/lib/types/routing/useQueryState.d.ts.map +1 -1
  71. package/lib/types/tools.d.ts +3 -3
  72. package/lib/types/tools.d.ts.map +1 -1
  73. package/lib/types/types.d.ts +3 -13
  74. package/lib/types/types.d.ts.map +1 -1
  75. package/package.json +11 -6
  76. package/lib/esm/routing/RouterPrimitives.stories.d.ts +0 -18
  77. package/lib/esm/routing/RouterPrimitives.stories.d.ts.map +0 -1
  78. package/lib/esm/routing/RouterPrimitives.stories.js +0 -90
  79. package/lib/esm/type-tests/navigation-destination.test-d.d.ts +0 -2
  80. package/lib/esm/type-tests/navigation-destination.test-d.d.ts.map +0 -1
  81. package/lib/esm/type-tests/navigation-destination.test-d.js +0 -74
  82. package/lib/esm/type-tests/query-infer.test-d.d.ts +0 -2
  83. package/lib/esm/type-tests/query-infer.test-d.d.ts.map +0 -1
  84. package/lib/esm/type-tests/query-infer.test-d.js +0 -2
  85. package/lib/esm/type-tests/routes-inference.test-d.d.ts +0 -1
  86. package/lib/esm/type-tests/routes-inference.test-d.d.ts.map +0 -1
  87. package/lib/esm/type-tests/routes-inference.test-d.js +0 -2
  88. package/lib/esm/type-tests/useFilters-typed.test-d.d.ts +0 -2
  89. package/lib/esm/type-tests/useFilters-typed.test-d.d.ts.map +0 -1
  90. package/lib/esm/type-tests/useFilters-typed.test-d.js +0 -33
  91. package/lib/types/routing/RouterPrimitives.stories.d.ts +0 -18
  92. package/lib/types/routing/RouterPrimitives.stories.d.ts.map +0 -1
  93. package/lib/types/type-tests/navigation-destination.test-d.d.ts +0 -2
  94. package/lib/types/type-tests/navigation-destination.test-d.d.ts.map +0 -1
  95. package/lib/types/type-tests/query-infer.test-d.d.ts +0 -2
  96. package/lib/types/type-tests/query-infer.test-d.d.ts.map +0 -1
  97. package/lib/types/type-tests/routes-inference.test-d.d.ts +0 -1
  98. package/lib/types/type-tests/routes-inference.test-d.d.ts.map +0 -1
  99. package/lib/types/type-tests/useFilters-typed.test-d.d.ts +0 -2
  100. package/lib/types/type-tests/useFilters-typed.test-d.d.ts.map +0 -1
package/README.md CHANGED
@@ -36,8 +36,10 @@ npm install react react-dom
36
36
  ## Module Entry Points
37
37
 
38
38
  - `@plumile/router`: primary ESM entry exporting runtime APIs and types.
39
- - `@plumile/router/lib/esm/*`: direct file imports when you need to tree-shake specific helpers.
40
- - `@plumile/router/lib/types/*`: TypeScript declaration files (consumed automatically via `types` field).
39
+ - `@plumile/router/tools/buildCombinedSearch.js` and the other subpaths declared
40
+ in `exports`: public entry points for focused imports.
41
+
42
+ TypeScript declarations are selected automatically by the package `exports` map.
41
43
 
42
44
  This package is ESM-only. If your tooling expects CommonJS, enable ESM support (e.g. Vite, Next.js, or webpack with `type: 'module'`).
43
45
 
@@ -512,7 +514,6 @@ If you need to build a URL outside of navigation (e.g. constructing a sitemap en
512
514
 
513
515
  ```ts
514
516
  import { buildCombinedSearch } from '@plumile/router';
515
- // or: import buildCombinedSearch from '@plumile/router/lib/esm/routing/tools/buildCombinedSearch.js';
516
517
 
517
518
  const search = buildCombinedSearch({
518
519
  filters: { page: { eq: 1 }, price: { gt: 10 } },
@@ -671,7 +672,7 @@ To encourage consistent usage of the query hooks, a custom rule is provided insi
671
672
  Add to your flat ESLint config:
672
673
 
673
674
  ```js
674
- import noDirectWindowLocationSearch from '@plumile/router/lib/eslint-rules/no-direct-window-location-search.js';
675
+ import noDirectWindowLocationSearch from '@plumile/router/eslint-rules/no-direct-window-location-search.js';
675
676
 
676
677
  export default [
677
678
  {
@@ -719,7 +720,7 @@ const query = useQuery(); // raw key=value aggregation (simple); prefer useFilte
719
720
  2. Define a schema with `defineSchema` from `@plumile/filter-query` and attach as `querySchema` on the route needing filters.
720
721
  3. Replace (removed) `useTypedQuery()` usages with `useFilters(querySchema)` (schema argument now mandatory – breaking change vs earlier experimental auto‑discovery version).
721
722
  4. Update navigation: `navigate({ filters: { page: { eq: 2 } } })` (unchanged pattern).
722
- 5. Update links: `<Link to="/x" filters={{ page: { eq: 2 } }} />`.
723
+ 5. Update links: `<Link to={{ pathname: '/x', filters: { page: { eq: 2 } } }} />`.
723
724
  6. Replace any previous `merge([{ field, op, value }])` descriptor array calls with `merge({ field: { op: value } })` object patches.
724
725
  7. Page defaults / normalization: rely on built-in clamp (`page < 1 -> 1`).
725
726
  8. Remove any type tests referencing the DSL; rely on schema inference from `defineSchema`.
@@ -761,13 +762,12 @@ setPage(page! + 1, { replace: true });
761
762
 
762
763
  Behavior:
763
764
 
764
- - Reads from filters (implicit equality) and falls back to raw query key when not covered by schema.
765
+ - Reads the raw aggregated query value for the requested key; repeated values resolve to the last value.
765
766
  - Allows `defaultValue` override in options and omits key when value equals default (with `omitIfDefault: true`).
766
- - Pass `{ raw: true }` to force raw (string) source for incremental migrations.
767
- - Uses unified serialization ordering (schema keys then extras; operators deterministic).
767
+ - Updates the raw query object while preserving unrelated keys.
768
768
 
769
769
  Options:
770
- `{ defaultValue?, omitIfDefault?: boolean = true, replace?: boolean, raw?: boolean }`
770
+ `{ defaultValue?, omitIfDefault?: boolean = true, replace?: boolean }`
771
771
 
772
772
  ### Data Preloading
773
773
 
@@ -1,14 +1,14 @@
1
1
  import { type MatchFunction, type ParamData } from 'path-to-regexp';
2
- import type { FlatRouteInput, FlatRouteSegment, Redirect, AnyRoute } from './types.js';
2
+ import type { FlatRouteInput, FlatRouteSegment, Redirect, RouteNode } from './types.js';
3
3
  export declare class FlatRoute<TParams extends ParamData> {
4
4
  path: string;
5
- routes: AnyRoute[];
5
+ routes: RouteNode[];
6
6
  routeSegments?: FlatRouteSegment[];
7
7
  matchFunction: MatchFunction<TParams>;
8
8
  redirectTo?: string;
9
9
  constructor(input: FlatRouteInput<TParams>);
10
10
  }
11
- export declare function isRedirect(route: AnyRoute | Redirect): route is Redirect;
12
- export declare function buildRoute(routeConfig: readonly (AnyRoute | Redirect)[], parentRoutes?: AnyRoute[], parentRouteSegments?: FlatRouteSegment[], prefix?: string): FlatRoute<ParamData>[];
13
- export declare function buildRoutes(routeConfig: readonly AnyRoute[]): FlatRoute<ParamData>[];
11
+ export declare function isRedirect(route: RouteNode | Redirect): route is Redirect;
12
+ export declare function buildRoute(routeConfig: readonly (RouteNode | Redirect)[], parentRoutes?: RouteNode[], parentRouteSegments?: FlatRouteSegment[], prefix?: string): FlatRoute<ParamData>[];
13
+ export declare function buildRoutes(routeConfig: readonly RouteNode[]): FlatRoute<ParamData>[];
14
14
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACT,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS,CAAC,OAAO,SAAS,SAAS;IAEvC,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,QAAQ,EAAE,CAAC;IAGnB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAGnC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAGtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAO3B,YAAmB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAOhD;CACF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAGxE;AA0ED,wBAAgB,UAAU,CACxB,WAAW,EAAE,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAC7C,YAAY,GAAE,QAAQ,EAAO,EAC7B,mBAAmB,GAAE,gBAAgB,EAAO,EAC5C,MAAM,SAAK,GACV,SAAS,CAAC,SAAS,CAAC,EAAE,CAiFxB;AAOD,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,QAAQ,EAAE,GAC/B,SAAS,CAAC,SAAS,CAAC,EAAE,CAExB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACV,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS,CAAC,OAAO,SAAS,SAAS;IAEvC,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,SAAS,EAAE,CAAC;IAGpB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAGnC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAGtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAO3B,YAAmB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAOhD;CACF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAGzE;AA0ED,wBAAgB,UAAU,CACxB,WAAW,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,EAC9C,YAAY,GAAE,SAAS,EAAO,EAC9B,mBAAmB,GAAE,gBAAgB,EAAO,EAC5C,MAAM,SAAK,GACV,SAAS,CAAC,SAAS,CAAC,EAAE,CAiFxB;AAOD,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,CAAC,SAAS,CAAC,EAAE,CAExB"}
@@ -132,4 +132,4 @@ export function buildRoute(routeConfig, parentRoutes = [], parentRouteSegments =
132
132
  export function buildRoutes(routeConfig) {
133
133
  return buildRoute(routeConfig);
134
134
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxHQUlOLE1BQU0sZ0JBQWdCLENBQUM7QUFleEIsTUFBTSxPQUFPLFNBQVM7SUFFYixJQUFJLENBQVM7SUFHYixNQUFNLENBQWE7SUFHbkIsYUFBYSxDQUFzQjtJQUduQyxhQUFhLENBQXlCO0lBR3RDLFVBQVUsQ0FBVTtJQU8zQixZQUFtQixLQUE4QjtRQUMvQyxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFHRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQTBCO0lBRW5ELE9BQVEsS0FBa0IsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO0lBQzlELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNE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WUFDRixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFFM0IsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsRUFBRTtZQUN6QyxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFFMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsVUFBVSxHQUFHLEdBQUcsSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxVQUFVLENBQUMsSUFBSSxDQUNiLElBQUksU0FBUyxDQUFDO2dCQUNaLElBQUk7Z0JBQ0osVUFBVTtnQkFDVixhQUFhO2dCQUNiLGFBQWEsRUFBRSxtQkFBbUI7Z0JBQ2xDLE1BQU0sRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQzFCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixVQUFVLENBQUMsSUFBSSxDQUNiLElBQUksU0FBUyxDQUFDO2dCQUNaLElBQUk7Z0JBQ0osYUFBYTtnQkFDYixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxNQUFNLEVBQUUsVUFBVTthQUNuQixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQU9ELE1BQU0sVUFBVSxXQUFXLENBQ3pCLFdBQWdDO0lBRWhDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBtYXRjaCxcbiAgcGFyc2UsXG4gIHR5cGUgTWF0Y2hGdW5jdGlvbixcbiAgdHlwZSBQYXJhbURhdGEsXG4gIHR5cGUgVG9rZW4sXG59IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHR5cGUge1xuICBGbGF0Um91dGVJbnB1dCxcbiAgRmxhdFJvdXRlU2VnbWVudCxcbiAgUmVkaXJlY3QsXG4gIEFueVJvdXRlLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZmxhdHRlbmVkIHJvdXRlIHdpdGggYSBjb21waWxlZCBtYXRjaCBmdW5jdGlvbi5cbiAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gdXNlZCBieSB0aGUgcm91dGVyIHRvIGVmZmljaWVudGx5IG1hdGNoIFVSTHMuXG4gKlxuICogQHRlbXBsYXRlIFRQYXJhbXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCBjbGFzcyBGbGF0Um91dGU8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YT4ge1xuICAvKiogVGhlIFVSTCBwYXRoIHBhdHRlcm4gZm9yIHRoaXMgcm91dGUgKi9cbiAgcHVibGljIHBhdGg6IHN0cmluZztcblxuICAvKiogTmVzdGVkIHJvdXRlcyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCB3aXRoaW4gdGhpcyByb3V0ZSAqL1xuICBwdWJsaWMgcm91dGVzOiBBbnlSb3V0ZVtdO1xuXG4gIC8qKiBQZXItcmVuZGVyZWQtcm91dGUgbWV0YWRhdGEgYWxpZ25lZCB3aXRoIGByb3V0ZXNgLiAqL1xuICBwdWJsaWMgcm91dGVTZWdtZW50cz86IEZsYXRSb3V0ZVNlZ21lbnRbXTtcblxuICAvKiogQ29tcGlsZWQgZnVuY3Rpb24gdG8gbWF0Y2ggVVJMIHBhdGhzIGFnYWluc3QgdGhpcyByb3V0ZSBwYXR0ZXJuICovXG4gIHB1YmxpYyBtYXRjaEZ1bmN0aW9uOiBNYXRjaEZ1bmN0aW9uPFRQYXJhbXM+O1xuXG4gIC8qKiBPcHRpb25hbCByZWRpcmVjdCBkZXN0aW5hdGlvbiBpZiB0aGlzIHJvdXRlIHNob3VsZCByZWRpcmVjdCAqL1xuICBwdWJsaWMgcmVkaXJlY3RUbz86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBGbGF0Um91dGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBmbGF0IHJvdXRlXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5wdXQ6IEZsYXRSb3V0ZUlucHV0PFRQYXJhbXM+KSB7XG4gICAgY29uc3QgeyBtYXRjaEZ1bmN0aW9uLCBwYXRoLCByZWRpcmVjdFRvLCByb3V0ZVNlZ21lbnRzLCByb3V0ZXMgfSA9IGlucHV0O1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5yZWRpcmVjdFRvID0gcmVkaXJlY3RUbztcbiAgICB0aGlzLnJvdXRlU2VnbWVudHMgPSByb3V0ZVNlZ21lbnRzO1xuICAgIHRoaXMucm91dGVzID0gcm91dGVzO1xuICAgIHRoaXMubWF0Y2hGdW5jdGlvbiA9IG1hdGNoRnVuY3Rpb247XG4gIH1cbn1cblxuLyoqIE5hcnJvdyBhIHJvdXRlIGNvbmZpZ3VyYXRpb24gdG8gYSByZWRpcmVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZGlyZWN0KHJvdXRlOiBBbnlSb3V0ZSB8IFJlZGlyZWN0KTogcm91dGUgaXMgUmVkaXJlY3Qge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICByZXR1cm4gKHJvdXRlIGFzIFJlZGlyZWN0KS50byAhPSBudWxsO1xufVxuXG5jb25zdCBub3JtYWxpemVSb3V0ZVBhdGggPSAocGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgaWYgKHBhdGggPT0gbnVsbCB8fCBwYXRoID09PSAnJyB8fCBwYXRoID09PSAnLycpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgaWYgKHBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgcmV0dXJuIHBhdGguc2xpY2UoMSk7XG4gIH1cbiAgcmV0dXJuIHBhdGg7XG59O1xuXG5jb25zdCBjb2xsZWN0VG9rZW5QYXJhbU5hbWVzID0gKHRva2VuOiBUb2tlbiwgcGFyYW1zOiBTZXQ8c3RyaW5nPik6IHZvaWQgPT4ge1xuICBpZiAodG9rZW4udHlwZSA9PT0gJ3BhcmFtJyB8fCB0b2tlbi50eXBlID09PSAnd2lsZGNhcmQnKSB7XG4gICAgcGFyYW1zLmFkZCh0b2tlbi5uYW1lKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHRva2VuLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICB0b2tlbi50b2tlbnMuZm9yRWFjaCgoY2hpbGRUb2tlbikgPT4ge1xuICAgICAgY29sbGVjdFRva2VuUGFyYW1OYW1lcyhjaGlsZFRva2VuLCBwYXJhbXMpO1xuICAgIH0pO1xuICB9XG59O1xuXG5jb25zdCByZWFkUm91dGVQYXJhbU5hbWVzID0gKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBub3JtYWxpemVSb3V0ZVBhdGgocGF0aCk7XG4gIGlmIChub3JtYWxpemVkUGF0aCA9PT0gJycpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgcGFyYW1zID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHBhcnNlKG5vcm1hbGl6ZWRQYXRoKS50b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICBjb2xsZWN0VG9rZW5QYXJhbU5hbWVzKHRva2VuLCBwYXJhbXMpO1xuICB9KTtcbiAgcmV0dXJuIEFycmF5LmZyb20ocGFyYW1zKTtcbn07XG5cbmNvbnN0IGJ1aWxkU2VnbWVudEtleSA9IChpbnB1dDoge1xuICBmdWxsUGF0aDogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xufSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHBhdGggPSBpbnB1dC5wYXRoID8/ICcnO1xuICByZXR1cm4gYCR7aW5wdXQuaW5kZXh9OiR7aW5wdXQuZnVsbFBhdGh9OiR7cGF0aH1gO1xufTtcblxuY29uc3QgYnVpbGRGbGF0Um91dGVTZWdtZW50ID0gKGlucHV0OiB7XG4gIHJvdXRlOiBBbnlSb3V0ZTtcbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgcGFyZW50UGFyYW1OYW1lczogcmVhZG9ubHkgc3RyaW5nW107XG59KTogRmxhdFJvdXRlU2VnbWVudCA9PiB7XG4gIGNvbnN0IGxvY2FsUGFyYW1OYW1lcyA9IHJlYWRSb3V0ZVBhcmFtTmFtZXMoaW5wdXQucm91dGUucGF0aCk7XG4gIGNvbnN0IHBhcmFtTmFtZXMgPSBBcnJheS5mcm9tKFxuICAgIG5ldyBTZXQoWy4uLmlucHV0LnBhcmVudFBhcmFtTmFtZXMsIC4uLmxvY2FsUGFyYW1OYW1lc10pLFxuICApO1xuICByZXR1cm4ge1xuICAgIGtleTogYnVpbGRTZWdtZW50S2V5KHtcbiAgICAgIGZ1bGxQYXRoOiBpbnB1dC5mdWxsUGF0aCxcbiAgICAgIHBhdGg6IGlucHV0LnJvdXRlLnBhdGgsXG4gICAgICBpbmRleDogaW5wdXQuaW5kZXgsXG4gICAgfSksXG4gICAgcGF0aDogaW5wdXQucm91dGUucGF0aCxcbiAgICBmdWxsUGF0aDogaW5wdXQuZnVsbFBhdGgsXG4gICAgcGFyYW1OYW1lcyxcbiAgfTtcbn07XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgZmxhdHRlbnMgbmVzdGVkIHJvdXRlIGRlZmluaXRpb25zIGludG8gYEZsYXRSb3V0ZWAgZW50cmllcy5cbiAqXG4gKiBAcGFyYW0gcm91dGVDb25maWcgLSBSb3V0ZSBvciByZWRpcmVjdCBkZWZpbml0aW9ucyB0byBwcm9jZXNzLlxuICogQHBhcmFtIHBhcmVudFJvdXRlcyAtIEFjY3VtdWxhdGVkIHBhcmVudCByb3V0ZXMgZm9yIG5lc3RpbmcgY29udGV4dC5cbiAqIEBwYXJhbSBwcmVmaXggLSBDdXJyZW50IHBhdGggcHJlZml4IHByb3BhZ2F0ZWQgZnJvbSBwYXJlbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSb3V0ZShcbiAgcm91dGVDb25maWc6IHJlYWRvbmx5IChBbnlSb3V0ZSB8IFJlZGlyZWN0KVtdLFxuICBwYXJlbnRSb3V0ZXM6IEFueVJvdXRlW10gPSBbXSxcbiAgcGFyZW50Um91dGVTZWdtZW50czogRmxhdFJvdXRlU2VnbWVudFtdID0gW10sXG4gIHByZWZpeCA9ICcnLFxuKTogRmxhdFJvdXRlPFBhcmFtRGF0YT5bXSB7XG4gIGNvbnN0IGZsYXRSb3V0ZXM6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlQ29uZmlnKSB7XG4gICAgY29uc3QgcGFydHMgPSBbXTtcbiAgICBpZiAocHJlZml4ICE9PSAnJykge1xuICAgICAgcGFydHMucHVzaChwcmVmaXgpO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplUm91dGVQYXRoKHJvdXRlLnBhdGgpO1xuICAgIGlmIChub3JtYWxpemVkICE9PSAnJykge1xuICAgICAgcGFydHMucHVzaChub3JtYWxpemVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdQYXRoID0gcGFydHMuam9pbignLycpO1xuXG4gICAgY29uc3Qgcm91dGVEZWZpbml0aW9uID0gcm91dGUgYXMgQW55Um91dGU7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gcm91dGVEZWZpbml0aW9uO1xuXG4gICAgbGV0IHBhdGggPSBuZXdQYXRoO1xuICAgIGlmICghbmV3UGF0aC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgIHBhdGggPSBgLyR7bmV3UGF0aH1gO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRSb3V0ZXMgPSBbLi4ucGFyZW50Um91dGVzLCByb3V0ZURlZmluaXRpb25dO1xuICAgIGxldCBuZXh0Um91dGVTZWdtZW50cyA9IHBhcmVudFJvdXRlU2VnbWVudHM7XG4gICAgaWYgKCFpc1JlZGlyZWN0KHJvdXRlKSkge1xuICAgICAgbmV4dFJvdXRlU2VnbWVudHMgPSBbXG4gICAgICAgIC4uLnBhcmVudFJvdXRlU2VnbWVudHMsXG4gICAgICAgIGJ1aWxkRmxhdFJvdXRlU2VnbWVudCh7XG4gICAgICAgICAgcm91dGU6IHJvdXRlRGVmaW5pdGlvbixcbiAgICAgICAgICBmdWxsUGF0aDogcGF0aCxcbiAgICAgICAgICBpbmRleDogcGFyZW50Um91dGVTZWdtZW50cy5sZW5ndGgsXG4gICAgICAgICAgcGFyZW50UGFyYW1OYW1lczogcGFyZW50Um91dGVTZWdtZW50cy5hdCgtMSk/LnBhcmFtTmFtZXMgPz8gW10sXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBpZiAoIWlzUmVkaXJlY3Qocm91dGUpICYmIGNoaWxkcmVuICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHJvdXRlcyA9IGJ1aWxkUm91dGUoXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICBuZXh0Um91dGVzLFxuICAgICAgICBuZXh0Um91dGVTZWdtZW50cyxcbiAgICAgICAgbmV3UGF0aCxcbiAgICAgICk7XG4gICAgICBmbGF0Um91dGVzLnB1c2goLi4ucm91dGVzKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250aW51ZVxuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hGdW5jdGlvbiA9IG1hdGNoKGAvJHtuZXdQYXRofWAsIHtcbiAgICAgIHRyYWlsaW5nOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIGlmIChpc1JlZGlyZWN0KHJvdXRlKSkge1xuICAgICAgbGV0IHJlZGlyZWN0VG8gPSByb3V0ZS50bztcblxuICAgICAgaWYgKCFyZWRpcmVjdFRvLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICByZWRpcmVjdFRvID0gYCR7cGF0aH0vJHtyZWRpcmVjdFRvfWA7XG4gICAgICB9XG4gICAgICBmbGF0Um91dGVzLnB1c2goXG4gICAgICAgIG5ldyBGbGF0Um91dGUoe1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcmVkaXJlY3RUbyxcbiAgICAgICAgICBtYXRjaEZ1bmN0aW9uLFxuICAgICAgICAgIHJvdXRlU2VnbWVudHM6IHBhcmVudFJvdXRlU2VnbWVudHMsXG4gICAgICAgICAgcm91dGVzOiBbLi4ucGFyZW50Um91dGVzXSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGF0Um91dGVzLnB1c2goXG4gICAgICAgIG5ldyBGbGF0Um91dGUoe1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgbWF0Y2hGdW5jdGlvbixcbiAgICAgICAgICByb3V0ZVNlZ21lbnRzOiBuZXh0Um91dGVTZWdtZW50cyxcbiAgICAgICAgICByb3V0ZXM6IG5leHRSb3V0ZXMsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmxhdFJvdXRlcztcbn1cblxuLyoqXG4gKiBUb3AtbGV2ZWwgY29udmVuaWVuY2UgdG8gZmxhdHRlbiBhIHJvdXRlIGNvbmZpZ3VyYXRpb24gaW50byBgRmxhdFJvdXRlYHMuXG4gKlxuICogQHBhcmFtIHJvdXRlQ29uZmlnIC0gUm91dGUgZGVmaW5pdGlvbnMgdG8gZmxhdHRlbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUm91dGVzKFxuICByb3V0ZUNvbmZpZzogcmVhZG9ubHkgQW55Um91dGVbXSxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICByZXR1cm4gYnVpbGRSb3V0ZShyb3V0ZUNvbmZpZyk7XG59XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxHQUlOLE1BQU0sZ0JBQWdCLENBQUM7QUFleEIsTUFBTSxPQUFPLFNBQVM7SUFFYixJQUFJLENBQVM7SUFHYixNQUFNLENBQWM7SUFHcEIsYUFBYSxDQUFzQjtJQUduQyxhQUFhLENBQXlCO0lBR3RDLFVBQVUsQ0FBVTtJQU8zQixZQUFtQixLQUE4QjtRQUMvQyxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFHRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQTJCO0lBRXBELE9BQVEsS0FBa0IsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO0lBQzlELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQVksRUFBRSxNQUFtQixFQUFRLEVBQUU7SUFDekUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU87SUFDVCxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbEMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUF3QixFQUFZLEVBQUU7SUFDakUsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDMUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNqQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzdDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLEtBSXhCLEVBQVUsRUFBRTtJQUNYLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzlCLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBSzlCLEVBQW9CLEVBQUU7SUFDckIsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUMzQixJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNGLE9BQU87UUFDTCxHQUFHLEVBQUUsZUFBZSxDQUFDO1lBQ25CLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDO1FBQ0YsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSTtRQUN0QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7UUFDeEIsVUFBVTtLQUNYLENBQUM7QUFDSixDQUFDLENBQUM7QUFTRixNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUE4QyxFQUM5QyxZQUFZLEdBQWdCLEVBQUUsRUFDOUIsbUJBQW1CLEdBQXVCLEVBQUUsRUFDNUMsTUFBTSxHQUFHLEVBQUU7SUFFWCxNQUFNLFVBQVUsR0FBMkIsRUFBRSxDQUFDO0lBRTlDLEtBQUssTUFBTSxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sZUFBZSxHQUFHLEtBQWtCLENBQUM7UUFDM0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGVBQWUsQ0FBQztRQUVyQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN0RCxJQUFJLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRztnQkFDbEIsR0FBRyxtQkFBbUI7Z0JBQ3RCLHFCQUFxQixDQUFDO29CQUNwQixLQUFLLEVBQUUsZUFBZTtvQkFDdEIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsS0FBSyxFQUFFLG1CQUFtQixDQUFDLE1BQU07b0JBQ2pDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsSUFBSSxFQUFFO2lCQUMvRCxDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQ3ZCLFFBQVEsRUFDUixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLE9BQU8sQ0FDUixDQUFDO1lBQ0YsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBRTNCLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLEVBQUU7WUFDekMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBRTFCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLFVBQVUsR0FBRyxHQUFHLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLFNBQVMsQ0FBQztnQkFDWixJQUFJO2dCQUNKLFVBQVU7Z0JBQ1YsYUFBYTtnQkFDYixhQUFhLEVBQUUsbUJBQW1CO2dCQUNsQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUMxQixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLFNBQVMsQ0FBQztnQkFDWixJQUFJO2dCQUNKLGFBQWE7Z0JBQ2IsYUFBYSxFQUFFLGlCQUFpQjtnQkFDaEMsTUFBTSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFPRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixXQUFpQztJQUVqQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgbWF0Y2gsXG4gIHBhcnNlLFxuICB0eXBlIE1hdGNoRnVuY3Rpb24sXG4gIHR5cGUgUGFyYW1EYXRhLFxuICB0eXBlIFRva2VuLFxufSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRmxhdFJvdXRlSW5wdXQsXG4gIEZsYXRSb3V0ZVNlZ21lbnQsXG4gIFJlZGlyZWN0LFxuICBSb3V0ZU5vZGUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBmbGF0dGVuZWQgcm91dGUgd2l0aCBhIGNvbXBpbGVkIG1hdGNoIGZ1bmN0aW9uLlxuICogVGhpcyBpcyBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiB1c2VkIGJ5IHRoZSByb3V0ZXIgdG8gZWZmaWNpZW50bHkgbWF0Y2ggVVJMcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFBhcmFtcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEZsYXRSb3V0ZTxUUGFyYW1zIGV4dGVuZHMgUGFyYW1EYXRhPiB7XG4gIC8qKiBUaGUgVVJMIHBhdGggcGF0dGVybiBmb3IgdGhpcyByb3V0ZSAqL1xuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuXG4gIC8qKiBOZXN0ZWQgcm91dGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHdpdGhpbiB0aGlzIHJvdXRlICovXG4gIHB1YmxpYyByb3V0ZXM6IFJvdXRlTm9kZVtdO1xuXG4gIC8qKiBQZXItcmVuZGVyZWQtcm91dGUgbWV0YWRhdGEgYWxpZ25lZCB3aXRoIGByb3V0ZXNgLiAqL1xuICBwdWJsaWMgcm91dGVTZWdtZW50cz86IEZsYXRSb3V0ZVNlZ21lbnRbXTtcblxuICAvKiogQ29tcGlsZWQgZnVuY3Rpb24gdG8gbWF0Y2ggVVJMIHBhdGhzIGFnYWluc3QgdGhpcyByb3V0ZSBwYXR0ZXJuICovXG4gIHB1YmxpYyBtYXRjaEZ1bmN0aW9uOiBNYXRjaEZ1bmN0aW9uPFRQYXJhbXM+O1xuXG4gIC8qKiBPcHRpb25hbCByZWRpcmVjdCBkZXN0aW5hdGlvbiBpZiB0aGlzIHJvdXRlIHNob3VsZCByZWRpcmVjdCAqL1xuICBwdWJsaWMgcmVkaXJlY3RUbz86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBGbGF0Um91dGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBmbGF0IHJvdXRlXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5wdXQ6IEZsYXRSb3V0ZUlucHV0PFRQYXJhbXM+KSB7XG4gICAgY29uc3QgeyBtYXRjaEZ1bmN0aW9uLCBwYXRoLCByZWRpcmVjdFRvLCByb3V0ZVNlZ21lbnRzLCByb3V0ZXMgfSA9IGlucHV0O1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5yZWRpcmVjdFRvID0gcmVkaXJlY3RUbztcbiAgICB0aGlzLnJvdXRlU2VnbWVudHMgPSByb3V0ZVNlZ21lbnRzO1xuICAgIHRoaXMucm91dGVzID0gcm91dGVzO1xuICAgIHRoaXMubWF0Y2hGdW5jdGlvbiA9IG1hdGNoRnVuY3Rpb247XG4gIH1cbn1cblxuLyoqIE5hcnJvdyBhIHJvdXRlIGNvbmZpZ3VyYXRpb24gdG8gYSByZWRpcmVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZGlyZWN0KHJvdXRlOiBSb3V0ZU5vZGUgfCBSZWRpcmVjdCk6IHJvdXRlIGlzIFJlZGlyZWN0IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgcmV0dXJuIChyb3V0ZSBhcyBSZWRpcmVjdCkudG8gIT0gbnVsbDtcbn1cblxuY29uc3Qgbm9ybWFsaXplUm91dGVQYXRoID0gKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmIChwYXRoID09IG51bGwgfHwgcGF0aCA9PT0gJycgfHwgcGF0aCA9PT0gJy8nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgIHJldHVybiBwYXRoLnNsaWNlKDEpO1xuICB9XG4gIHJldHVybiBwYXRoO1xufTtcblxuY29uc3QgY29sbGVjdFRva2VuUGFyYW1OYW1lcyA9ICh0b2tlbjogVG9rZW4sIHBhcmFtczogU2V0PHN0cmluZz4pOiB2b2lkID0+IHtcbiAgaWYgKHRva2VuLnR5cGUgPT09ICdwYXJhbScgfHwgdG9rZW4udHlwZSA9PT0gJ3dpbGRjYXJkJykge1xuICAgIHBhcmFtcy5hZGQodG9rZW4ubmFtZSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICh0b2tlbi50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgdG9rZW4udG9rZW5zLmZvckVhY2goKGNoaWxkVG9rZW4pID0+IHtcbiAgICAgIGNvbGxlY3RUb2tlblBhcmFtTmFtZXMoY2hpbGRUb2tlbiwgcGFyYW1zKTtcbiAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgcmVhZFJvdXRlUGFyYW1OYW1lcyA9IChwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplUm91dGVQYXRoKHBhdGgpO1xuICBpZiAobm9ybWFsaXplZFBhdGggPT09ICcnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwYXJzZShub3JtYWxpemVkUGF0aCkudG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29sbGVjdFRva2VuUGFyYW1OYW1lcyh0b2tlbiwgcGFyYW1zKTtcbiAgfSk7XG4gIHJldHVybiBBcnJheS5mcm9tKHBhcmFtcyk7XG59O1xuXG5jb25zdCBidWlsZFNlZ21lbnRLZXkgPSAoaW5wdXQ6IHtcbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn0pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwYXRoID0gaW5wdXQucGF0aCA/PyAnJztcbiAgcmV0dXJuIGAke2lucHV0LmluZGV4fToke2lucHV0LmZ1bGxQYXRofToke3BhdGh9YDtcbn07XG5cbmNvbnN0IGJ1aWxkRmxhdFJvdXRlU2VnbWVudCA9IChpbnB1dDoge1xuICByb3V0ZTogUm91dGVOb2RlO1xuICBmdWxsUGF0aDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwYXJlbnRQYXJhbU5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcbn0pOiBGbGF0Um91dGVTZWdtZW50ID0+IHtcbiAgY29uc3QgbG9jYWxQYXJhbU5hbWVzID0gcmVhZFJvdXRlUGFyYW1OYW1lcyhpbnB1dC5yb3V0ZS5wYXRoKTtcbiAgY29uc3QgcGFyYW1OYW1lcyA9IEFycmF5LmZyb20oXG4gICAgbmV3IFNldChbLi4uaW5wdXQucGFyZW50UGFyYW1OYW1lcywgLi4ubG9jYWxQYXJhbU5hbWVzXSksXG4gICk7XG4gIHJldHVybiB7XG4gICAga2V5OiBidWlsZFNlZ21lbnRLZXkoe1xuICAgICAgZnVsbFBhdGg6IGlucHV0LmZ1bGxQYXRoLFxuICAgICAgcGF0aDogaW5wdXQucm91dGUucGF0aCxcbiAgICAgIGluZGV4OiBpbnB1dC5pbmRleCxcbiAgICB9KSxcbiAgICBwYXRoOiBpbnB1dC5yb3V0ZS5wYXRoLFxuICAgIGZ1bGxQYXRoOiBpbnB1dC5mdWxsUGF0aCxcbiAgICBwYXJhbU5hbWVzLFxuICB9O1xufTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBmbGF0dGVucyBuZXN0ZWQgcm91dGUgZGVmaW5pdGlvbnMgaW50byBgRmxhdFJvdXRlYCBlbnRyaWVzLlxuICpcbiAqIEBwYXJhbSByb3V0ZUNvbmZpZyAtIFJvdXRlIG9yIHJlZGlyZWN0IGRlZmluaXRpb25zIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0gcGFyZW50Um91dGVzIC0gQWNjdW11bGF0ZWQgcGFyZW50IHJvdXRlcyBmb3IgbmVzdGluZyBjb250ZXh0LlxuICogQHBhcmFtIHByZWZpeCAtIEN1cnJlbnQgcGF0aCBwcmVmaXggcHJvcGFnYXRlZCBmcm9tIHBhcmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJvdXRlKFxuICByb3V0ZUNvbmZpZzogcmVhZG9ubHkgKFJvdXRlTm9kZSB8IFJlZGlyZWN0KVtdLFxuICBwYXJlbnRSb3V0ZXM6IFJvdXRlTm9kZVtdID0gW10sXG4gIHBhcmVudFJvdXRlU2VnbWVudHM6IEZsYXRSb3V0ZVNlZ21lbnRbXSA9IFtdLFxuICBwcmVmaXggPSAnJyxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICBjb25zdCBmbGF0Um91dGVzOiBGbGF0Um91dGU8UGFyYW1EYXRhPltdID0gW107XG5cbiAgZm9yIChjb25zdCByb3V0ZSBvZiByb3V0ZUNvbmZpZykge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgaWYgKHByZWZpeCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gocHJlZml4KTtcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVJvdXRlUGF0aChyb3V0ZS5wYXRoKTtcbiAgICBpZiAobm9ybWFsaXplZCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gobm9ybWFsaXplZCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aCA9IHBhcnRzLmpvaW4oJy8nKTtcblxuICAgIGNvbnN0IHJvdXRlRGVmaW5pdGlvbiA9IHJvdXRlIGFzIFJvdXRlTm9kZTtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSByb3V0ZURlZmluaXRpb247XG5cbiAgICBsZXQgcGF0aCA9IG5ld1BhdGg7XG4gICAgaWYgKCFuZXdQYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgcGF0aCA9IGAvJHtuZXdQYXRofWA7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFJvdXRlcyA9IFsuLi5wYXJlbnRSb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbl07XG4gICAgbGV0IG5leHRSb3V0ZVNlZ21lbnRzID0gcGFyZW50Um91dGVTZWdtZW50cztcbiAgICBpZiAoIWlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBuZXh0Um91dGVTZWdtZW50cyA9IFtcbiAgICAgICAgLi4ucGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgYnVpbGRGbGF0Um91dGVTZWdtZW50KHtcbiAgICAgICAgICByb3V0ZTogcm91dGVEZWZpbml0aW9uLFxuICAgICAgICAgIGZ1bGxQYXRoOiBwYXRoLFxuICAgICAgICAgIGluZGV4OiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmxlbmd0aCxcbiAgICAgICAgICBwYXJlbnRQYXJhbU5hbWVzOiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmF0KC0xKT8ucGFyYW1OYW1lcyA/PyBbXSxcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICghaXNSZWRpcmVjdChyb3V0ZSkgJiYgY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAgY29uc3Qgcm91dGVzID0gYnVpbGRSb3V0ZShcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG5leHRSb3V0ZXMsXG4gICAgICAgIG5leHRSb3V0ZVNlZ21lbnRzLFxuICAgICAgICBuZXdQYXRoLFxuICAgICAgKTtcbiAgICAgIGZsYXRSb3V0ZXMucHVzaCguLi5yb3V0ZXMpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaEZ1bmN0aW9uID0gbWF0Y2goYC8ke25ld1BhdGh9YCwge1xuICAgICAgdHJhaWxpbmc6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgaWYgKGlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBsZXQgcmVkaXJlY3RUbyA9IHJvdXRlLnRvO1xuXG4gICAgICBpZiAoIXJlZGlyZWN0VG8uc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgIHJlZGlyZWN0VG8gPSBgJHtwYXRofS8ke3JlZGlyZWN0VG99YDtcbiAgICAgIH1cbiAgICAgIGZsYXRSb3V0ZXMucHVzaChcbiAgICAgICAgbmV3IEZsYXRSb3V0ZSh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWRpcmVjdFRvLFxuICAgICAgICAgIG1hdGNoRnVuY3Rpb24sXG4gICAgICAgICAgcm91dGVTZWdtZW50czogcGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgICByb3V0ZXM6IFsuLi5wYXJlbnRSb3V0ZXNdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYXRSb3V0ZXMucHVzaChcbiAgICAgICAgbmV3IEZsYXRSb3V0ZSh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBtYXRjaEZ1bmN0aW9uLFxuICAgICAgICAgIHJvdXRlU2VnbWVudHM6IG5leHRSb3V0ZVNlZ21lbnRzLFxuICAgICAgICAgIHJvdXRlczogbmV4dFJvdXRlcyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmbGF0Um91dGVzO1xufVxuXG4vKipcbiAqIFRvcC1sZXZlbCBjb252ZW5pZW5jZSB0byBmbGF0dGVuIGEgcm91dGUgY29uZmlndXJhdGlvbiBpbnRvIGBGbGF0Um91dGVgcy5cbiAqXG4gKiBAcGFyYW0gcm91dGVDb25maWcgLSBSb3V0ZSBkZWZpbml0aW9ucyB0byBmbGF0dGVuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSb3V0ZXMoXG4gIHJvdXRlQ29uZmlnOiByZWFkb25seSBSb3V0ZU5vZGVbXSxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICByZXR1cm4gYnVpbGRSb3V0ZShyb3V0ZUNvbmZpZyk7XG59XG4iXX0=
@@ -20,7 +20,6 @@ export type RouterPreparedSegmentSnapshot = {
20
20
  };
21
21
  export type RouterPreparedMatchSnapshot = {
22
22
  segments: RouterPreparedSegmentSnapshot[];
23
- routes: RouterPreparedSegmentSnapshot[];
24
23
  };
25
24
  export type RouterEntrySnapshot = {
26
25
  location: RouterLocationSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"Instrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/Instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/Instrumentation.ts"],"names":[],"mappings":"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"}
@@ -56,4 +56,4 @@ export function createInstrumentationRegistry(initial = []) {
56
56
  },
57
57
  };
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9JbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUtBLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsT0FBTyxHQUF5QixFQUFFO0lBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBS3JCLFNBQVMsS0FBSztRQUNaLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFNRCxTQUFTLFVBQVUsQ0FDakIsZUFBbUMsRUFDbkMsTUFBZ0MsRUFDaEMsT0FBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRixPQUF3QyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsQ0FBQyxlQUFlO1lBQ3RCLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLGVBQWU7WUFDeEIsS0FBSyxFQUFFLENBQUM7WUFDUixTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsS0FBSztZQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLElBQUk7WUFDTixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBc3luY1Jlc291cmNlU3RhdHVzLFxuICBSb3V0ZXJBY3RpdmVMb2FkU3RhdGUsXG4gIFJvdXRlckxvYWRTdGF0ZSxcbiAgUHJlcGFyZWRWYWx1ZVJlc291cmNlLFxuICBSb3V0ZU5vZGUsXG4gIFVua25vd25GaWx0ZXJzLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjaGVtYSBhcyBGaWx0ZXJTY2hlbWEgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBSb3V0ZXJIaXN0b3J5QWN0aW9uVmFsdWUsXG4gIFJvdXRlck5hdmlnYXRpb25Tb3VyY2VWYWx1ZSxcbiAgUm91dGVyUG9wc3RhdGVEaXJlY3Rpb25WYWx1ZSxcbiAgUm91dGVyUHJlbG9hZE1vZGVWYWx1ZSxcbiAgUm91dGVyUHJlcGFyZVN0YXR1c1ZhbHVlLFxufSBmcm9tICcuLi92YWx1ZXMuanMnO1xuXG4vKipcbiAqIEVudW1lcmF0ZXMgdGhlIG9yaWdpbiBvZiBuYXZpZ2F0aW9uLXJlbGF0ZWQgZXZlbnRzIGV4cG9zZWQgdG8gaW5zdHJ1bWVudGF0aW9ucy5cbiAqXG4gKiBLZXB0IGFzIHN0cmluZyBsaXRlcmFscyB0byBhdm9pZCBsZWFraW5nIGRlYnVnIGVudW1zIGludG8gdGhlIHByb2R1Y3Rpb24gYnVuZGxlLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlID0gUm91dGVyTmF2aWdhdGlvblNvdXJjZVZhbHVlO1xuXG4vKipcbiAqIENvbXBhY3QgbG9jYXRpb24gc25hcHNob3Qgc2hhcmVkIGJ5IGFsbCBpbnN0cnVtZW50YXRpb24gZXZlbnRzLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0ge1xuICBwYXRobmFtZTogc3RyaW5nO1xuICBzZWFyY2g6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZWRTZWdtZW50U25hcHNob3QgPSB7XG4gIHJvdXRlTm9kZT86IFJvdXRlTm9kZTtcbiAgcGF0aD86IHN0cmluZztcbiAgZnVsbFBhdGg/OiBzdHJpbmc7XG4gIHNlZ21lbnRJbmRleDogbnVtYmVyO1xuICBwcmVwYXJlZFJlc291cmNlPzogUHJlcGFyZWRWYWx1ZVJlc291cmNlO1xuICByZWRpcmVjdFRvOiBzdHJpbmcgfCBudWxsO1xuICBoaWdobGlnaHRJZD86IHN0cmluZztcbiAgcXVlcnlTY2hlbWE/OiBGaWx0ZXJTY2hlbWE7XG4gIHByZXBhcmVkU3RhdHVzPzogQXN5bmNSZXNvdXJjZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclByZXBhcmVkTWF0Y2hTbmFwc2hvdCA9IHtcbiAgc2VnbWVudHM6IFJvdXRlclByZXBhcmVkU2VnbWVudFNuYXBzaG90W107XG4gIHJvdXRlczogUm91dGVyUHJlcGFyZWRTZWdtZW50U25hcHNob3RbXTtcbn07XG5cbi8qKlxuICogU3VtbWFyeSBvZiB0aGUgY3VycmVudCByb3V0ZXIgZW50cnkgdGhhdCBjYW4gYmUgYnJvYWRjYXN0IHRvIGluc3RydW1lbnRhdGlvbnMuXG4gKiBUaGUgc2hhcGUgaW50ZW50aW9uYWxseSBtaXJyb3JzIHB1YmxpYyBkYXRhIGFscmVhZHkgYXZhaWxhYmxlIHRvIGFwcGxpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyRW50cnlTbmFwc2hvdCA9IHtcbiAgbG9jYXRpb246IFJvdXRlckxvY2F0aW9uU25hcHNob3Q7XG4gIHJvdXRlUGF0aD86IHN0cmluZztcbiAgcHJlcGFyZWRNYXRjaD86IFJvdXRlclByZXBhcmVkTWF0Y2hTbmFwc2hvdDtcbiAgYWN0aXZlTG9hZFN0YXRlPzogUm91dGVyQWN0aXZlTG9hZFN0YXRlO1xuICBsb2FkU3RhdGU/OiBSb3V0ZXJMb2FkU3RhdGU7XG4gIGZpbHRlcnM/OiBVbmtub3duRmlsdGVycztcbiAgZmlsdGVyRGlhZ25vc3RpY3M/OiB1bmtub3duW107XG4gIGFjdGl2ZVF1ZXJ5U2NoZW1hPzogRmlsdGVyU2NoZW1hO1xufTtcblxuLyoqXG4gKiBCYXNlIHBheWxvYWQgc2hhcmVkIGJ5IHJvdXRlciBldmVudHMuIEVhY2ggZXZlbnQgZXh0ZW5kcyB0aGUgYmFzZSB3aXRoXG4gKiBzcGVjaWZpYyBkZXRhaWxzIHJlbGV2YW50IHRvIHRoZSBpbnN0cnVtZW50YXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckV2ZW50QmFzZSA9IHtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyU25hcHNob3RFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3NuYXBzaG90JztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVsb2FkRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVsb2FkJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICB0YXJnZXRQYXRobmFtZTogc3RyaW5nO1xuICBtb2RlOiBSb3V0ZXJQcmVsb2FkTW9kZVZhbHVlO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVySGlzdG9yeUV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAnaGlzdG9yeSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgYWN0aW9uOiBSb3V0ZXJIaXN0b3J5QWN0aW9uVmFsdWU7XG4gIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclBvcHN0YXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwb3BzdGF0ZSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgZGlyZWN0aW9uOiBSb3V0ZXJQb3BzdGF0ZURpcmVjdGlvblZhbHVlO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlU3RhcnRFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3ByZXBhcmUtc3RhcnQnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIHJvdXRlUGF0aD86IHN0cmluZztcbiAgbW9kdWxlSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlQ29tcGxldGVFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIHJvdXRlUGF0aD86IHN0cmluZztcbiAgbW9kdWxlSWQ/OiBzdHJpbmc7XG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgaGFzUHJlcGFyZWQ6IGJvb2xlYW47XG4gIHN0YXR1czogRXhjbHVkZTxSb3V0ZXJQcmVwYXJlU3RhdHVzVmFsdWUsICdwZW5kaW5nJz47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlRXZlbnQgPVxuICBSb3V0ZXJQcmVwYXJlU3RhcnRFdmVudCB8IFJvdXRlclByZXBhcmVDb21wbGV0ZUV2ZW50O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJBY3RpdmVMb2FkU3RhdGVFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ2FjdGl2ZS1sb2FkLXN0YXRlJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIHN0YXR1czogUm91dGVyQWN0aXZlTG9hZFN0YXRlWydzdGF0dXMnXTtcbiAgcGVuZGluZ0NvdW50OiBudW1iZXI7XG4gIHJlamVjdGVkQ291bnQ6IG51bWJlcjtcbiAgdmVyc2lvbjogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyRXZlbnQgPVxuICB8IFJvdXRlclNuYXBzaG90RXZlbnRcbiAgfCBSb3V0ZXJQcmVsb2FkRXZlbnRcbiAgfCBSb3V0ZXJIaXN0b3J5RXZlbnRcbiAgfCBSb3V0ZXJQb3BzdGF0ZUV2ZW50XG4gIHwgUm91dGVyUHJlcGFyZUV2ZW50XG4gIHwgUm91dGVyQWN0aXZlTG9hZFN0YXRlRXZlbnQ7XG5cbi8qKlxuICogSW5zdHJ1bWVudGF0aW9ucyBjYW4gb2JzZXJ2ZSByb3V0ZXIgZXZlbnRzLCBlbnRyeSBjaGFuZ2VzLCBhbmQgb3B0aW9uYWxseVxuICogZGlzcG9zZSByZXNvdXJjZXMgd2hlbiB0aGUgcmVnaXN0cnkgaXMgdG9ybiBkb3duLlxuICovXG5leHBvcnQgdHlwZSBJbnN0cnVtZW50YXRpb25BUEkgPSB7XG4gIG9uRXZlbnQ/OiAoZXZlbnQ6IFJvdXRlckV2ZW50KSA9PiB2b2lkO1xuICBvbkVudHJ5Q2hhbmdlPzogKGVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90KSA9PiB2b2lkO1xuICBkaXNwb3NlPzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIEluc3RydW1lbnRhdGlvblJlZ2lzdHJ5ID0ge1xuICByZWdpc3RlcjogKGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJKSA9PiB2b2lkO1xuICB1bnJlZ2lzdGVyOiAoaW5zdHJ1bWVudGF0aW9uOiBJbnN0cnVtZW50YXRpb25BUEkpID0+IHZvaWQ7XG4gIGVtaXRFdmVudDogKGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZDtcbiAgbm90aWZ5RW50cnlDaGFuZ2U6IChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZDtcbiAgZGlzcG9zZTogKCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgc2l6ZTogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcmVnaXN0cnkgY29vcmRpbmF0aW5nIGEgc2V0IG9mIGluc3RydW1lbnRhdGlvbnMuIFRoZSByZWdpc3RyeSBrZWVwc1xuICogY29uc3VtZXIgY29kZSBzaW1wbGU6IHJvdXRlciBpbnRlcm5hbHMgYnJvYWRjYXN0IGV2ZW50cyB3aXRob3V0IGNhcmluZyBhYm91dFxuICogdGhlIG51bWJlciBvciBuYXR1cmUgb2YgYXR0YWNoZWQgaW5zdHJ1bWVudGF0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluc3RydW1lbnRhdGlvblJlZ2lzdHJ5KFxuICBpbml0aWFsOiBJbnN0cnVtZW50YXRpb25BUElbXSA9IFtdLFxuKTogSW5zdHJ1bWVudGF0aW9uUmVnaXN0cnkge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0PEluc3RydW1lbnRhdGlvbkFQST4oKTtcbiAgaW5pdGlhbC5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICBsaXN0ZW5lcnMuYWRkKGluc3RydW1lbnRhdGlvbik7XG4gIH0pO1xuXG4gIGxldCBkaXNwb3NlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaHJvd3Mgd2hlbiB0aGUgcmVnaXN0cnkgaGFzIGFscmVhZHkgYmVlbiBkaXNwb3NlZC4gR3VhcmRzIGV2ZW50IGVtaXNzaW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gZ3VhcmQoKSB7XG4gICAgaWYgKGRpc3Bvc2VkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luc3RydW1lbnRhdGlvbiByZWdpc3RyeSB3YXMgZGlzcG9zZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2FmZWx5IGludm9rZXMgYW4gb3B0aW9uYWwgaGFuZGxlciBwcm92aWRlZCBieSBhbiBpbnN0cnVtZW50YXRpb24uXG4gICAqIEZhaWx1cmVzIGFyZSBzd2FsbG93ZWQgc28gcm91dGVyIGV4ZWN1dGlvbiBjb250aW51ZXMgdW5pbnRlcnJ1cHRlZC5cbiAgICovXG4gIGZ1bmN0aW9uIHNhZmVJbnZva2UoXG4gICAgaW5zdHJ1bWVudGF0aW9uOiBJbnN0cnVtZW50YXRpb25BUEksXG4gICAgbWV0aG9kOiBrZXlvZiBJbnN0cnVtZW50YXRpb25BUEksXG4gICAgcGF5bG9hZDogdW5rbm93bltdLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVyID0gaW5zdHJ1bWVudGF0aW9uW21ldGhvZF07XG4gICAgaWYgKHR5cGVvZiBoYW5kbGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAoaGFuZGxlciBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkKSguLi5wYXlsb2FkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEluc3RydW1lbnRhdGlvbnMgc2hvdWxkIG5ldmVyIGJyZWFrIHJvdXRlciBleGVjdXRpb24uIEVycm9ycyBhcmUgc3dhbGxvd2VkLlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVnaXN0ZXIoaW5zdHJ1bWVudGF0aW9uKSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmFkZChpbnN0cnVtZW50YXRpb24pO1xuICAgIH0sXG4gICAgdW5yZWdpc3RlcihpbnN0cnVtZW50YXRpb24pIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZGVsZXRlKGluc3RydW1lbnRhdGlvbik7XG4gICAgfSxcbiAgICBlbWl0RXZlbnQoZXZlbnQpIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgICAgIHNhZmVJbnZva2UoaW5zdHJ1bWVudGF0aW9uLCAnb25FdmVudCcsIFtldmVudF0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBub3RpZnlFbnRyeUNoYW5nZShlbnRyeSkge1xuICAgICAgZ3VhcmQoKTtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICAgICAgc2FmZUludm9rZShpbnN0cnVtZW50YXRpb24sICdvbkVudHJ5Q2hhbmdlJywgW2VudHJ5XSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRpc3Bvc2UoKSB7XG4gICAgICBpZiAoZGlzcG9zZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGlzdGVuZXJzLmZvckVhY2goKGluc3RydW1lbnRhdGlvbikgPT4ge1xuICAgICAgICBzYWZlSW52b2tlKGluc3RydW1lbnRhdGlvbiwgJ2Rpc3Bvc2UnLCBbXSk7XG4gICAgICB9KTtcbiAgICAgIGxpc3RlbmVycy5jbGVhcigpO1xuICAgICAgZGlzcG9zZWQgPSB0cnVlO1xuICAgIH0sXG4gICAgZ2V0IHNpemUoKSB7XG4gICAgICByZXR1cm4gbGlzdGVuZXJzLnNpemU7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9JbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0tBLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsT0FBTyxHQUF5QixFQUFFO0lBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBS3JCLFNBQVMsS0FBSztRQUNaLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFNRCxTQUFTLFVBQVUsQ0FDakIsZUFBbUMsRUFDbkMsTUFBZ0MsRUFDaEMsT0FBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRixPQUF3QyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsQ0FBQyxlQUFlO1lBQ3RCLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLGVBQWU7WUFDeEIsS0FBSyxFQUFFLENBQUM7WUFDUixTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsS0FBSztZQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLElBQUk7WUFDTixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBc3luY1Jlc291cmNlU3RhdHVzLFxuICBSb3V0ZXJBY3RpdmVMb2FkU3RhdGUsXG4gIFJvdXRlckxvYWRTdGF0ZSxcbiAgUHJlcGFyZWRWYWx1ZVJlc291cmNlLFxuICBSb3V0ZU5vZGUsXG4gIFVua25vd25GaWx0ZXJzLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjaGVtYSBhcyBGaWx0ZXJTY2hlbWEgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBSb3V0ZXJIaXN0b3J5QWN0aW9uVmFsdWUsXG4gIFJvdXRlck5hdmlnYXRpb25Tb3VyY2VWYWx1ZSxcbiAgUm91dGVyUG9wc3RhdGVEaXJlY3Rpb25WYWx1ZSxcbiAgUm91dGVyUHJlbG9hZE1vZGVWYWx1ZSxcbiAgUm91dGVyUHJlcGFyZVN0YXR1c1ZhbHVlLFxufSBmcm9tICcuLi92YWx1ZXMuanMnO1xuXG4vKipcbiAqIEVudW1lcmF0ZXMgdGhlIG9yaWdpbiBvZiBuYXZpZ2F0aW9uLXJlbGF0ZWQgZXZlbnRzIGV4cG9zZWQgdG8gaW5zdHJ1bWVudGF0aW9ucy5cbiAqXG4gKiBLZXB0IGFzIHN0cmluZyBsaXRlcmFscyB0byBhdm9pZCBsZWFraW5nIGRlYnVnIGVudW1zIGludG8gdGhlIHByb2R1Y3Rpb24gYnVuZGxlLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlID0gUm91dGVyTmF2aWdhdGlvblNvdXJjZVZhbHVlO1xuXG4vKipcbiAqIENvbXBhY3QgbG9jYXRpb24gc25hcHNob3Qgc2hhcmVkIGJ5IGFsbCBpbnN0cnVtZW50YXRpb24gZXZlbnRzLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0ge1xuICBwYXRobmFtZTogc3RyaW5nO1xuICBzZWFyY2g6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZWRTZWdtZW50U25hcHNob3QgPSB7XG4gIHJvdXRlTm9kZT86IFJvdXRlTm9kZTtcbiAgcGF0aD86IHN0cmluZztcbiAgZnVsbFBhdGg/OiBzdHJpbmc7XG4gIHNlZ21lbnRJbmRleDogbnVtYmVyO1xuICBwcmVwYXJlZFJlc291cmNlPzogUHJlcGFyZWRWYWx1ZVJlc291cmNlO1xuICByZWRpcmVjdFRvOiBzdHJpbmcgfCBudWxsO1xuICBoaWdobGlnaHRJZD86IHN0cmluZztcbiAgcXVlcnlTY2hlbWE/OiBGaWx0ZXJTY2hlbWE7XG4gIHByZXBhcmVkU3RhdHVzPzogQXN5bmNSZXNvdXJjZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclByZXBhcmVkTWF0Y2hTbmFwc2hvdCA9IHtcbiAgc2VnbWVudHM6IFJvdXRlclByZXBhcmVkU2VnbWVudFNuYXBzaG90W107XG59O1xuXG4vKipcbiAqIFN1bW1hcnkgb2YgdGhlIGN1cnJlbnQgcm91dGVyIGVudHJ5IHRoYXQgY2FuIGJlIGJyb2FkY2FzdCB0byBpbnN0cnVtZW50YXRpb25zLlxuICogVGhlIHNoYXBlIGludGVudGlvbmFsbHkgbWlycm9ycyBwdWJsaWMgZGF0YSBhbHJlYWR5IGF2YWlsYWJsZSB0byBhcHBsaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckVudHJ5U25hcHNob3QgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIHByZXBhcmVkTWF0Y2g/OiBSb3V0ZXJQcmVwYXJlZE1hdGNoU25hcHNob3Q7XG4gIGFjdGl2ZUxvYWRTdGF0ZT86IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZTtcbiAgbG9hZFN0YXRlPzogUm91dGVyTG9hZFN0YXRlO1xuICBmaWx0ZXJzPzogVW5rbm93bkZpbHRlcnM7XG4gIGZpbHRlckRpYWdub3N0aWNzPzogdW5rbm93bltdO1xuICBhY3RpdmVRdWVyeVNjaGVtYT86IEZpbHRlclNjaGVtYTtcbn07XG5cbi8qKlxuICogQmFzZSBwYXlsb2FkIHNoYXJlZCBieSByb3V0ZXIgZXZlbnRzLiBFYWNoIGV2ZW50IGV4dGVuZHMgdGhlIGJhc2Ugd2l0aFxuICogc3BlY2lmaWMgZGV0YWlscyByZWxldmFudCB0byB0aGUgaW5zdHJ1bWVudGF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJFdmVudEJhc2UgPSB7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICBsb2NhdGlvbjogUm91dGVyTG9jYXRpb25TbmFwc2hvdDtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclNuYXBzaG90RXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdzbmFwc2hvdCc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgcm91dGVQYXRoPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlbG9hZEV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAncHJlbG9hZCc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgdGFyZ2V0UGF0aG5hbWU6IHN0cmluZztcbiAgbW9kZTogUm91dGVyUHJlbG9hZE1vZGVWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlckhpc3RvcnlFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ2hpc3RvcnknO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGFjdGlvbjogUm91dGVySGlzdG9yeUFjdGlvblZhbHVlO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQb3BzdGF0ZUV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAncG9wc3RhdGUnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGRpcmVjdGlvbjogUm91dGVyUG9wc3RhdGVEaXJlY3Rpb25WYWx1ZTtcbiAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZVN0YXJ0RXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVwYXJlLXN0YXJ0JztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIG1vZHVsZUlkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZUNvbXBsZXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIG1vZHVsZUlkPzogc3RyaW5nO1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIGhhc1ByZXBhcmVkOiBib29sZWFuO1xuICBzdGF0dXM6IEV4Y2x1ZGU8Um91dGVyUHJlcGFyZVN0YXR1c1ZhbHVlLCAncGVuZGluZyc+O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZUV2ZW50ID1cbiAgUm91dGVyUHJlcGFyZVN0YXJ0RXZlbnQgfCBSb3V0ZXJQcmVwYXJlQ29tcGxldGVFdmVudDtcblxuZXhwb3J0IHR5cGUgUm91dGVyQWN0aXZlTG9hZFN0YXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdhY3RpdmUtbG9hZC1zdGF0ZSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgcm91dGVQYXRoPzogc3RyaW5nO1xuICBzdGF0dXM6IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZVsnc3RhdHVzJ107XG4gIHBlbmRpbmdDb3VudDogbnVtYmVyO1xuICByZWplY3RlZENvdW50OiBudW1iZXI7XG4gIHZlcnNpb246IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlckV2ZW50ID1cbiAgfCBSb3V0ZXJTbmFwc2hvdEV2ZW50XG4gIHwgUm91dGVyUHJlbG9hZEV2ZW50XG4gIHwgUm91dGVySGlzdG9yeUV2ZW50XG4gIHwgUm91dGVyUG9wc3RhdGVFdmVudFxuICB8IFJvdXRlclByZXBhcmVFdmVudFxuICB8IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZUV2ZW50O1xuXG4vKipcbiAqIEluc3RydW1lbnRhdGlvbnMgY2FuIG9ic2VydmUgcm91dGVyIGV2ZW50cywgZW50cnkgY2hhbmdlcywgYW5kIG9wdGlvbmFsbHlcbiAqIGRpc3Bvc2UgcmVzb3VyY2VzIHdoZW4gdGhlIHJlZ2lzdHJ5IGlzIHRvcm4gZG93bi5cbiAqL1xuZXhwb3J0IHR5cGUgSW5zdHJ1bWVudGF0aW9uQVBJID0ge1xuICBvbkV2ZW50PzogKGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZDtcbiAgb25FbnRyeUNoYW5nZT86IChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZDtcbiAgZGlzcG9zZT86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBJbnN0cnVtZW50YXRpb25SZWdpc3RyeSA9IHtcbiAgcmVnaXN0ZXI6IChpbnN0cnVtZW50YXRpb246IEluc3RydW1lbnRhdGlvbkFQSSkgPT4gdm9pZDtcbiAgdW5yZWdpc3RlcjogKGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJKSA9PiB2b2lkO1xuICBlbWl0RXZlbnQ6IChldmVudDogUm91dGVyRXZlbnQpID0+IHZvaWQ7XG4gIG5vdGlmeUVudHJ5Q2hhbmdlOiAoZW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QpID0+IHZvaWQ7XG4gIGRpc3Bvc2U6ICgpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IHNpemU6IG51bWJlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHJlZ2lzdHJ5IGNvb3JkaW5hdGluZyBhIHNldCBvZiBpbnN0cnVtZW50YXRpb25zLiBUaGUgcmVnaXN0cnkga2VlcHNcbiAqIGNvbnN1bWVyIGNvZGUgc2ltcGxlOiByb3V0ZXIgaW50ZXJuYWxzIGJyb2FkY2FzdCBldmVudHMgd2l0aG91dCBjYXJpbmcgYWJvdXRcbiAqIHRoZSBudW1iZXIgb3IgbmF0dXJlIG9mIGF0dGFjaGVkIGluc3RydW1lbnRhdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnN0cnVtZW50YXRpb25SZWdpc3RyeShcbiAgaW5pdGlhbDogSW5zdHJ1bWVudGF0aW9uQVBJW10gPSBbXSxcbik6IEluc3RydW1lbnRhdGlvblJlZ2lzdHJ5IHtcbiAgY29uc3QgbGlzdGVuZXJzID0gbmV3IFNldDxJbnN0cnVtZW50YXRpb25BUEk+KCk7XG4gIGluaXRpYWwuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgbGlzdGVuZXJzLmFkZChpbnN0cnVtZW50YXRpb24pO1xuICB9KTtcblxuICBsZXQgZGlzcG9zZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhyb3dzIHdoZW4gdGhlIHJlZ2lzdHJ5IGhhcyBhbHJlYWR5IGJlZW4gZGlzcG9zZWQuIEd1YXJkcyBldmVudCBlbWlzc2lvbi5cbiAgICovXG4gIGZ1bmN0aW9uIGd1YXJkKCkge1xuICAgIGlmIChkaXNwb3NlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnN0cnVtZW50YXRpb24gcmVnaXN0cnkgd2FzIGRpc3Bvc2VkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhZmVseSBpbnZva2VzIGFuIG9wdGlvbmFsIGhhbmRsZXIgcHJvdmlkZWQgYnkgYW4gaW5zdHJ1bWVudGF0aW9uLlxuICAgKiBGYWlsdXJlcyBhcmUgc3dhbGxvd2VkIHNvIHJvdXRlciBleGVjdXRpb24gY29udGludWVzIHVuaW50ZXJydXB0ZWQuXG4gICAqL1xuICBmdW5jdGlvbiBzYWZlSW52b2tlKFxuICAgIGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJLFxuICAgIG1ldGhvZDoga2V5b2YgSW5zdHJ1bWVudGF0aW9uQVBJLFxuICAgIHBheWxvYWQ6IHVua25vd25bXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlciA9IGluc3RydW1lbnRhdGlvblttZXRob2RdO1xuICAgIGlmICh0eXBlb2YgaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgKGhhbmRsZXIgYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZCkoLi4ucGF5bG9hZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJbnN0cnVtZW50YXRpb25zIHNob3VsZCBuZXZlciBicmVhayByb3V0ZXIgZXhlY3V0aW9uLiBFcnJvcnMgYXJlIHN3YWxsb3dlZC5cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlZ2lzdGVyKGluc3RydW1lbnRhdGlvbikge1xuICAgICAgZ3VhcmQoKTtcbiAgICAgIGxpc3RlbmVycy5hZGQoaW5zdHJ1bWVudGF0aW9uKTtcbiAgICB9LFxuICAgIHVucmVnaXN0ZXIoaW5zdHJ1bWVudGF0aW9uKSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShpbnN0cnVtZW50YXRpb24pO1xuICAgIH0sXG4gICAgZW1pdEV2ZW50KGV2ZW50KSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmZvckVhY2goKGluc3RydW1lbnRhdGlvbikgPT4ge1xuICAgICAgICBzYWZlSW52b2tlKGluc3RydW1lbnRhdGlvbiwgJ29uRXZlbnQnLCBbZXZlbnRdKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgbm90aWZ5RW50cnlDaGFuZ2UoZW50cnkpIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgICAgIHNhZmVJbnZva2UoaW5zdHJ1bWVudGF0aW9uLCAnb25FbnRyeUNoYW5nZScsIFtlbnRyeV0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBkaXNwb3NlKCkge1xuICAgICAgaWYgKGRpc3Bvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICAgICAgc2FmZUludm9rZShpbnN0cnVtZW50YXRpb24sICdkaXNwb3NlJywgW10pO1xuICAgICAgfSk7XG4gICAgICBsaXN0ZW5lcnMuY2xlYXIoKTtcbiAgICAgIGRpc3Bvc2VkID0gdHJ1ZTtcbiAgICB9LFxuICAgIGdldCBzaXplKCkge1xuICAgICAgcmV0dXJuIGxpc3RlbmVycy5zaXplO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -7,7 +7,9 @@ export type DevtoolsBridge = {
7
7
  getEntry: () => RouterEntrySnapshot | null;
8
8
  getEvents: () => RouterEvent[];
9
9
  subscribeEntries: (callback: (entry: RouterEntrySnapshot) => void) => () => void;
10
- subscribeEvents: (callback: (event: RouterEvent) => void) => () => void;
10
+ subscribeEvents: (callback: (event: RouterEvent) => void, options?: {
11
+ replay?: boolean;
12
+ }) => () => void;
11
13
  historyLimit: number;
12
14
  };
13
15
  declare function isObject(value: unknown): value is Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"devtoolsBridge.d.ts","sourceRoot":"","sources":["../../../../src/instrumentation/adapters/devtoolsBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC;IAC/B,gBAAgB,EAAE,CAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,KAC3C,MAAM,IAAI,CAAC;IAChB,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAGD,iBAAS,WAAW,CAClB,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAcf;AAiBD,iBAAS,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAyBvE;AAED,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAKX,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,CAuFpB"}
1
+ {"version":3,"file":"devtoolsBridge.d.ts","sourceRoot":"","sources":["../../../../src/instrumentation/adapters/devtoolsBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC;IAC/B,gBAAgB,EAAE,CAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,KAC3C,MAAM,IAAI,CAAC;IAChB,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,MAAM,IAAI,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAGD,iBAAS,WAAW,CAClB,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAcf;AAiBD,iBAAS,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAyBvE;AAED,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAKX,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,CA4FpB"}
@@ -32,12 +32,12 @@ function deriveRoutePath(entry) {
32
32
  if (typeof existing === 'string' && existing.trim() !== '') {
33
33
  return existing;
34
34
  }
35
- const preparedRoutes = entry.preparedMatch?.routes;
36
- if (!Array.isArray(preparedRoutes)) {
35
+ const preparedSegments = entry.preparedMatch?.segments;
36
+ if (!Array.isArray(preparedSegments)) {
37
37
  return undefined;
38
38
  }
39
- for (let index = preparedRoutes.length - 1; index >= 0; index -= 1) {
40
- const candidate = preparedRoutes[index];
39
+ for (let index = preparedSegments.length - 1; index >= 0; index -= 1) {
40
+ const candidate = preparedSegments[index];
41
41
  const candidatePath = candidate?.path;
42
42
  if (typeof candidatePath === 'string' && candidatePath.trim() !== '') {
43
43
  return candidatePath;
@@ -85,8 +85,13 @@ export function createDevtoolsBridgeInstrumentation(options = {}) {
85
85
  entrySubscribers.delete(callback);
86
86
  };
87
87
  },
88
- subscribeEvents(callback) {
88
+ subscribeEvents(callback, subscribeOptions) {
89
89
  eventSubscribers.add(callback);
90
+ if (subscribeOptions?.replay === true) {
91
+ for (const event of events) {
92
+ callback(event);
93
+ }
94
+ }
90
95
  return () => {
91
96
  eventSubscribers.delete(callback);
92
97
  };
@@ -135,4 +140,4 @@ export function createDevtoolsBridgeInstrumentation(options = {}) {
135
140
  },
136
141
  };
137
142
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHNCcmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5zdHJ1bWVudGF0aW9uL2FkYXB0ZXJzL2RldnRvb2xzQnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ3hDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBa0JsQyxTQUFTLFFBQVEsQ0FBQyxLQUFjO0lBQzlCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckQsQ0FBQztBQUdELFNBQVMsV0FBVyxDQUNsQixNQUFxQixFQUNyQixLQUFrQixFQUNsQixXQUE4QyxFQUM5QyxLQUFhO0lBRWIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUM7WUFDSCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFHRCxTQUFTLGNBQWMsQ0FDckIsS0FBMEIsRUFDMUIsV0FBc0Q7SUFFdEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQztZQUNILFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQUMsTUFB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QUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNoQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ1osU0FBUyxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLGVBQWUsSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluc3RydW1lbnRhdGlvbkFQSSxcbiAgUm91dGVyRW50cnlTbmFwc2hvdCxcbiAgUm91dGVyRXZlbnQsXG59IGZyb20gJy4uL0luc3RydW1lbnRhdGlvbi5qcyc7XG5cbmNvbnN0IEJSSURHRV9LRVkgPSAnX19QTFVNSUxFX1JPVVRFUl9fJztcbmNvbnN0IERFRkFVTFRfSElTVE9SWV9MSU1JVCA9IDIwMDtcblxuZXhwb3J0IHR5cGUgRGV2dG9vbHNCcmlkZ2VPcHRpb25zID0ge1xuICBoaXN0b3J5TGltaXQ/OiBudW1iZXI7XG4gIGdsb2JhbD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgRGV2dG9vbHNCcmlkZ2UgPSB7XG4gIGdldEVudHJ5OiAoKSA9PiBSb3V0ZXJFbnRyeVNuYXBzaG90IHwgbnVsbDtcbiAgZ2V0RXZlbnRzOiAoKSA9PiBSb3V0ZXJFdmVudFtdO1xuICBzdWJzY3JpYmVFbnRyaWVzOiAoXG4gICAgY2FsbGJhY2s6IChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZCxcbiAgKSA9PiAoKSA9PiB2b2lkO1xuICBzdWJzY3JpYmVFdmVudHM6IChjYWxsYmFjazogKGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZCkgPT4gKCkgPT4gdm9pZDtcbiAgaGlzdG9yeUxpbWl0OiBudW1iZXI7XG59O1xuXG4vKiogTmFycm93cyBhIHZhbHVlIHRvIGEgcGxhaW4gb2JqZWN0LiAqL1xuZnVuY3Rpb24gaXNPYmplY3QodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsO1xufVxuXG4vKiogQXBwZW5kcyBhbiBldmVudCB0byBoaXN0b3J5LCBwcnVuaW5nIHRvIHRoZSBkZXNpcmVkIGxpbWl0IGFuZCBub3RpZnlpbmcgc3Vic2NyaWJlcnMuICovXG5mdW5jdGlvbiBhcHBlbmRFdmVudChcbiAgZXZlbnRzOiBSb3V0ZXJFdmVudFtdLFxuICBldmVudDogUm91dGVyRXZlbnQsXG4gIHN1YnNjcmliZXJzOiBTZXQ8KGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZD4sXG4gIGxpbWl0OiBudW1iZXIsXG4pOiBSb3V0ZXJFdmVudFtdIHtcbiAgY29uc3QgbmV4dCA9IFsuLi5ldmVudHMsIGV2ZW50XTtcbiAgbGV0IHRyaW1tZWQgPSBuZXh0O1xuICBpZiAobmV4dC5sZW5ndGggPiBsaW1pdCkge1xuICAgIHRyaW1tZWQgPSBuZXh0LnNsaWNlKC1saW1pdCk7XG4gIH1cbiAgc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgIHRyeSB7XG4gICAgICBzdWJzY3JpYmVyKGV2ZW50KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIElnbm9yZSBzdWJzY3JpYmVyIGZhaWx1cmVzLlxuICAgIH1cbiAgfSk7XG4gIHJldHVybiB0cmltbWVkO1xufVxuXG4vKiogTm90aWZpZXMgZW50cnkgc3Vic2NyaWJlcnMgd2l0aCB0aGUgbGF0ZXN0IHNuYXBzaG90LiAqL1xuZnVuY3Rpb24gYnJvYWRjYXN0RW50cnkoXG4gIGVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90LFxuICBzdWJzY3JpYmVyczogU2V0PChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZD4sXG4pOiB2b2lkIHtcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgIHRyeSB7XG4gICAgICBzdWJzY3JpYmVyKGVudHJ5KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIElnbm9yZSBzdWJzY3JpYmVyIGZhaWx1cmVzLlxuICAgIH1cbiAgfSk7XG59XG5cbi8qKiBBdHRlbXB0cyB0byBkZXJpdmUgYSBodW1hbi1yZWFkYWJsZSByb3V0ZSBwYXRoIGZvciB0aW1lbGluZSBkaXNwbGF5LiAqL1xuZnVuY3Rpb24gZGVyaXZlUm91dGVQYXRoKGVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZXhpc3RpbmcgPSBlbnRyeS5yb3V0ZVBhdGg7XG4gIGlmICh0eXBlb2YgZXhpc3RpbmcgPT09ICdzdHJpbmcnICYmIGV4aXN0aW5nLnRyaW0oKSAhPT0gJycpIHtcbiAgICByZXR1cm4gZXhpc3Rpbmc7XG4gIH1cblxuICBjb25zdCBwcmVwYXJlZFJvdXRlcyA9IGVudHJ5LnByZXBhcmVkTWF0Y2g/LnJvdXRlcztcbiAgaWYgKCFBcnJheS5pc0FycmF5KHByZXBhcmVkUm91dGVzKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBmb3IgKGxldCBpbmRleCA9IHByZXBhcmVkUm91dGVzLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4IC09IDEpIHtcbiAgICBjb25zdCBjYW5kaWRhdGUgPSBwcmVwYXJlZFJvdXRlc1tpbmRleF07XG4gICAgY29uc3QgY2FuZGlkYXRlUGF0aCA9IGNhbmRpZGF0ZT8ucGF0aDtcbiAgICBpZiAodHlwZW9mIGNhbmRpZGF0ZVBhdGggPT09ICdzdHJpbmcnICYmIGNhbmRpZGF0ZVBhdGgudHJpbSgpICE9PSAnJykge1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZVBhdGg7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgbG9jYXRpb25QYXRoID0gZW50cnkubG9jYXRpb24ucGF0aG5hbWU7XG4gIGlmICh0eXBlb2YgbG9jYXRpb25QYXRoID09PSAnc3RyaW5nJyAmJiBsb2NhdGlvblBhdGgudHJpbSgpICE9PSAnJykge1xuICAgIHJldHVybiBsb2NhdGlvblBhdGg7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY29uc3QgX190ZXN0RGV2dG9vbHNCcmlkZ2UgPSB7XG4gIGlzT2JqZWN0LFxuICBhcHBlbmRFdmVudCxcbiAgZGVyaXZlUm91dGVQYXRoLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGluc3RydW1lbnRhdGlvbiB0aGF0IGV4cG9zZXMgcm91dGVyIHNuYXBzaG90cy9ldmVudHMgb3ZlciB3aW5kb3cuX19QTFVNSUxFX1JPVVRFUl9fLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGV2dG9vbHNCcmlkZ2VJbnN0cnVtZW50YXRpb24oXG4gIG9wdGlvbnM6IERldnRvb2xzQnJpZGdlT3B0aW9ucyA9IHt9LFxuKTogSW5zdHJ1bWVudGF0aW9uQVBJIHtcbiAgY29uc3QgaGlzdG9yeUxpbWl0ID0gb3B0aW9ucy5oaXN0b3J5TGltaXQgPz8gREVGQVVMVF9ISVNUT1JZX0xJTUlUO1xuXG4gIGxldCBnbG9iYWxPYmplY3Q6IG9iamVjdCB8IHVuZGVmaW5lZDtcbiAgaWYgKG9wdGlvbnMuZ2xvYmFsICE9IG51bGwpIHtcbiAgICBnbG9iYWxPYmplY3QgPSBvcHRpb25zLmdsb2JhbDtcbiAgfSBlbHNlIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGdsb2JhbE9iamVjdCA9IHdpbmRvdztcbiAgfVxuXG4gIGNvbnN0IGV2ZW50U3Vic2NyaWJlcnMgPSBuZXcgU2V0PChldmVudDogUm91dGVyRXZlbnQpID0+IHZvaWQ+KCk7XG4gIGNvbnN0IGVudHJ5U3Vic2NyaWJlcnMgPSBuZXcgU2V0PChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZD4oKTtcblxuICBsZXQgZGlzcG9zZWQgPSBmYWxzZTtcbiAgbGV0IGJyaWRnZUluc3RhbGxlZCA9IGZhbHNlO1xuICBsZXQgbGFzdEVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90IHwgbnVsbCA9IG51bGw7XG4gIGxldCBldmVudHM6IFJvdXRlckV2ZW50W10gPSBbXTtcblxuICBjb25zdCBicmlkZ2U6IERldnRvb2xzQnJpZGdlID0ge1xuICAgIGdldEVudHJ5KCkge1xuICAgICAgcmV0dXJuIGxhc3RFbnRyeTtcbiAgICB9LFxuICAgIGdldEV2ZW50cygpIHtcbiAgICAgIHJldHVybiBldmVudHMuc2xpY2UoKTtcbiAgICB9LFxuICAgIHN1YnNjcmliZUVudHJpZXMoY2FsbGJhY2spIHtcbiAgICAgIGVudHJ5U3Vic2NyaWJlcnMuYWRkKGNhbGxiYWNrKTtcbiAgICAgIGlmIChsYXN0RW50cnkgIT0gbnVsbCkge1xuICAgICAgICBjYWxsYmFjayhsYXN0RW50cnkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZW50cnlTdWJzY3JpYmVycy5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgfTtcbiAgICB9LFxuICAgIHN1YnNjcmliZUV2ZW50cyhjYWxsYmFjaykge1xuICAgICAgZXZlbnRTdWJzY3JpYmVycy5hZGQoY2FsbGJhY2spO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZXZlbnRTdWJzY3JpYmVycy5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgfTtcbiAgICB9LFxuICAgIGhpc3RvcnlMaW1pdCxcbiAgfTtcblxuICBpZiAoZ2xvYmFsT2JqZWN0ICE9IG51bGwpIHtcbiAgICBSZWZsZWN0LnNldChnbG9iYWxPYmplY3QsIEJSSURHRV9LRVksIGJyaWRnZSk7XG4gICAgYnJpZGdlSW5zdGFsbGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgb25FdmVudChldmVudCkge1xuICAgICAgaWYgKGRpc3Bvc2VkIHx8ICFpc09iamVjdChldmVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZXZlbnRzID0gYXBwZW5kRXZlbnQoZXZlbnRzLCBldmVudCwgZXZlbnRTdWJzY3JpYmVycywgaGlzdG9yeUxpbWl0KTtcbiAgICB9LFxuICAgIG9uRW50cnlDaGFuZ2UoZW50cnkpIHtcbiAgICAgIGlmIChkaXNwb3NlZCB8fCAhaXNPYmplY3QoZW50cnkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlcml2ZWRSb3V0ZVBhdGggPSBkZXJpdmVSb3V0ZVBhdGgoZW50cnkpO1xuICAgICAgbGV0IGVucmljaGVkRW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QgPSBlbnRyeTtcbiAgICAgIGlmIChcbiAgICAgICAgZGVyaXZlZFJvdXRlUGF0aCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGRlcml2ZWRSb3V0ZVBhdGggIT09IGVudHJ5LnJvdXRlUGF0aFxuICAgICAgKSB7XG4gICAgICAgIGVucmljaGVkRW50cnkgPSB7XG4gICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgcm91dGVQYXRoOiBkZXJpdmVkUm91dGVQYXRoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgbGFzdEVudHJ5ID0gZW5yaWNoZWRFbnRyeTtcbiAgICAgIGJyb2FkY2FzdEVudHJ5KGVucmljaGVkRW50cnksIGVudHJ5U3Vic2NyaWJlcnMpO1xuICAgIH0sXG4gICAgZGlzcG9zZSgpIHtcbiAgICAgIGlmIChkaXNwb3NlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkaXNwb3NlZCA9IHRydWU7XG4gICAgICBldmVudFN1YnNjcmliZXJzLmNsZWFyKCk7XG4gICAgICBlbnRyeVN1YnNjcmliZXJzLmNsZWFyKCk7XG4gICAgICBldmVudHMgPSBbXTtcbiAgICAgIGxhc3RFbnRyeSA9IG51bGw7XG4gICAgICBpZiAoYnJpZGdlSW5zdGFsbGVkICYmIGdsb2JhbE9iamVjdCAhPSBudWxsKSB7XG4gICAgICAgIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZ2xvYmFsT2JqZWN0LCBCUklER0VfS0VZKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHNCcmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5zdHJ1bWVudGF0aW9uL2FkYXB0ZXJzL2RldnRvb2xzQnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDO0FBQ3hDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBcUJsQyxTQUFTLFFBQVEsQ0FBQyxLQUFjO0lBQzlCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckQsQ0FBQztBQUdELFNBQVMsV0FBVyxDQUNsQixNQUFxQixFQUNyQixLQUFrQixFQUNsQixXQUE4QyxFQUM5QyxLQUFhO0lBRWIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUM7WUFDSCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFHRCxTQUFTLGNBQWMsQ0FDckIsS0FBMEIsRUFDMUIsV0FBc0Q7SUFFdEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQztZQUNILFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQUMsTUFB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YSxHQUFHO29CQUNkLEdBQUcsS0FBSztvQkFDUixTQUFTLEVBQUUsZ0JBQWdCO2lCQUM1QixDQUFDO1lBQ0osQ0FBQztZQUNELFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDMUIsY0FBYyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPO1lBQ0wsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixPQUFPO1lBQ1QsQ0FBQztZQUNELFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDaEIsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNaLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxlQUFlLElBQUksWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM1QyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbnN0cnVtZW50YXRpb25BUEksXG4gIFJvdXRlckVudHJ5U25hcHNob3QsXG4gIFJvdXRlckV2ZW50LFxufSBmcm9tICcuLi9JbnN0cnVtZW50YXRpb24uanMnO1xuXG5jb25zdCBCUklER0VfS0VZID0gJ19fUExVTUlMRV9ST1VURVJfXyc7XG5jb25zdCBERUZBVUxUX0hJU1RPUllfTElNSVQgPSAyMDA7XG5cbmV4cG9ydCB0eXBlIERldnRvb2xzQnJpZGdlT3B0aW9ucyA9IHtcbiAgaGlzdG9yeUxpbWl0PzogbnVtYmVyO1xuICBnbG9iYWw/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIERldnRvb2xzQnJpZGdlID0ge1xuICBnZXRFbnRyeTogKCkgPT4gUm91dGVyRW50cnlTbmFwc2hvdCB8IG51bGw7XG4gIGdldEV2ZW50czogKCkgPT4gUm91dGVyRXZlbnRbXTtcbiAgc3Vic2NyaWJlRW50cmllczogKFxuICAgIGNhbGxiYWNrOiAoZW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QpID0+IHZvaWQsXG4gICkgPT4gKCkgPT4gdm9pZDtcbiAgc3Vic2NyaWJlRXZlbnRzOiAoXG4gICAgY2FsbGJhY2s6IChldmVudDogUm91dGVyRXZlbnQpID0+IHZvaWQsXG4gICAgb3B0aW9ucz86IHsgcmVwbGF5PzogYm9vbGVhbiB9LFxuICApID0+ICgpID0+IHZvaWQ7XG4gIGhpc3RvcnlMaW1pdDogbnVtYmVyO1xufTtcblxuLyoqIE5hcnJvd3MgYSB2YWx1ZSB0byBhIHBsYWluIG9iamVjdC4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbDtcbn1cblxuLyoqIEFwcGVuZHMgYW4gZXZlbnQgdG8gaGlzdG9yeSwgcHJ1bmluZyB0byB0aGUgZGVzaXJlZCBsaW1pdCBhbmQgbm90aWZ5aW5nIHN1YnNjcmliZXJzLiAqL1xuZnVuY3Rpb24gYXBwZW5kRXZlbnQoXG4gIGV2ZW50czogUm91dGVyRXZlbnRbXSxcbiAgZXZlbnQ6IFJvdXRlckV2ZW50LFxuICBzdWJzY3JpYmVyczogU2V0PChldmVudDogUm91dGVyRXZlbnQpID0+IHZvaWQ+LFxuICBsaW1pdDogbnVtYmVyLFxuKTogUm91dGVyRXZlbnRbXSB7XG4gIGNvbnN0IG5leHQgPSBbLi4uZXZlbnRzLCBldmVudF07XG4gIGxldCB0cmltbWVkID0gbmV4dDtcbiAgaWYgKG5leHQubGVuZ3RoID4gbGltaXQpIHtcbiAgICB0cmltbWVkID0gbmV4dC5zbGljZSgtbGltaXQpO1xuICB9XG4gIHN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlcihldmVudCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJZ25vcmUgc3Vic2NyaWJlciBmYWlsdXJlcy5cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdHJpbW1lZDtcbn1cblxuLyoqIE5vdGlmaWVzIGVudHJ5IHN1YnNjcmliZXJzIHdpdGggdGhlIGxhdGVzdCBzbmFwc2hvdC4gKi9cbmZ1bmN0aW9uIGJyb2FkY2FzdEVudHJ5KFxuICBlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCxcbiAgc3Vic2NyaWJlcnM6IFNldDwoZW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QpID0+IHZvaWQ+LFxuKTogdm9pZCB7XG4gIHN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlcihlbnRyeSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJZ25vcmUgc3Vic2NyaWJlciBmYWlsdXJlcy5cbiAgICB9XG4gIH0pO1xufVxuXG4vKiogQXR0ZW1wdHMgdG8gZGVyaXZlIGEgaHVtYW4tcmVhZGFibGUgcm91dGUgcGF0aCBmb3IgdGltZWxpbmUgZGlzcGxheS4gKi9cbmZ1bmN0aW9uIGRlcml2ZVJvdXRlUGF0aChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZW50cnkucm91dGVQYXRoO1xuICBpZiAodHlwZW9mIGV4aXN0aW5nID09PSAnc3RyaW5nJyAmJiBleGlzdGluZy50cmltKCkgIT09ICcnKSB7XG4gICAgcmV0dXJuIGV4aXN0aW5nO1xuICB9XG5cbiAgY29uc3QgcHJlcGFyZWRTZWdtZW50cyA9IGVudHJ5LnByZXBhcmVkTWF0Y2g/LnNlZ21lbnRzO1xuICBpZiAoIUFycmF5LmlzQXJyYXkocHJlcGFyZWRTZWdtZW50cykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZm9yIChsZXQgaW5kZXggPSBwcmVwYXJlZFNlZ21lbnRzLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4IC09IDEpIHtcbiAgICBjb25zdCBjYW5kaWRhdGUgPSBwcmVwYXJlZFNlZ21lbnRzW2luZGV4XTtcbiAgICBjb25zdCBjYW5kaWRhdGVQYXRoID0gY2FuZGlkYXRlPy5wYXRoO1xuICAgIGlmICh0eXBlb2YgY2FuZGlkYXRlUGF0aCA9PT0gJ3N0cmluZycgJiYgY2FuZGlkYXRlUGF0aC50cmltKCkgIT09ICcnKSB7XG4gICAgICByZXR1cm4gY2FuZGlkYXRlUGF0aDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBsb2NhdGlvblBhdGggPSBlbnRyeS5sb2NhdGlvbi5wYXRobmFtZTtcbiAgaWYgKHR5cGVvZiBsb2NhdGlvblBhdGggPT09ICdzdHJpbmcnICYmIGxvY2F0aW9uUGF0aC50cmltKCkgIT09ICcnKSB7XG4gICAgcmV0dXJuIGxvY2F0aW9uUGF0aDtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBfX3Rlc3REZXZ0b29sc0JyaWRnZSA9IHtcbiAgaXNPYmplY3QsXG4gIGFwcGVuZEV2ZW50LFxuICBkZXJpdmVSb3V0ZVBhdGgsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW5zdHJ1bWVudGF0aW9uIHRoYXQgZXhwb3NlcyByb3V0ZXIgc25hcHNob3RzL2V2ZW50cyBvdmVyIHdpbmRvdy5fX1BMVU1JTEVfUk9VVEVSX18uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZXZ0b29sc0JyaWRnZUluc3RydW1lbnRhdGlvbihcbiAgb3B0aW9uczogRGV2dG9vbHNCcmlkZ2VPcHRpb25zID0ge30sXG4pOiBJbnN0cnVtZW50YXRpb25BUEkge1xuICBjb25zdCBoaXN0b3J5TGltaXQgPSBvcHRpb25zLmhpc3RvcnlMaW1pdCA/PyBERUZBVUxUX0hJU1RPUllfTElNSVQ7XG5cbiAgbGV0IGdsb2JhbE9iamVjdDogb2JqZWN0IHwgdW5kZWZpbmVkO1xuICBpZiAob3B0aW9ucy5nbG9iYWwgIT0gbnVsbCkge1xuICAgIGdsb2JhbE9iamVjdCA9IG9wdGlvbnMuZ2xvYmFsO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZ2xvYmFsT2JqZWN0ID0gd2luZG93O1xuICB9XG5cbiAgY29uc3QgZXZlbnRTdWJzY3JpYmVycyA9IG5ldyBTZXQ8KGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZD4oKTtcbiAgY29uc3QgZW50cnlTdWJzY3JpYmVycyA9IG5ldyBTZXQ8KGVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90KSA9PiB2b2lkPigpO1xuXG4gIGxldCBkaXNwb3NlZCA9IGZhbHNlO1xuICBsZXQgYnJpZGdlSW5zdGFsbGVkID0gZmFsc2U7XG4gIGxldCBsYXN0RW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QgfCBudWxsID0gbnVsbDtcbiAgbGV0IGV2ZW50czogUm91dGVyRXZlbnRbXSA9IFtdO1xuXG4gIGNvbnN0IGJyaWRnZTogRGV2dG9vbHNCcmlkZ2UgPSB7XG4gICAgZ2V0RW50cnkoKSB7XG4gICAgICByZXR1cm4gbGFzdEVudHJ5O1xuICAgIH0sXG4gICAgZ2V0RXZlbnRzKCkge1xuICAgICAgcmV0dXJuIGV2ZW50cy5zbGljZSgpO1xuICAgIH0sXG4gICAgc3Vic2NyaWJlRW50cmllcyhjYWxsYmFjaykge1xuICAgICAgZW50cnlTdWJzY3JpYmVycy5hZGQoY2FsbGJhY2spO1xuICAgICAgaWYgKGxhc3RFbnRyeSAhPSBudWxsKSB7XG4gICAgICAgIGNhbGxiYWNrKGxhc3RFbnRyeSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBlbnRyeVN1YnNjcmliZXJzLmRlbGV0ZShjYWxsYmFjayk7XG4gICAgICB9O1xuICAgIH0sXG4gICAgc3Vic2NyaWJlRXZlbnRzKGNhbGxiYWNrLCBzdWJzY3JpYmVPcHRpb25zKSB7XG4gICAgICBldmVudFN1YnNjcmliZXJzLmFkZChjYWxsYmFjayk7XG4gICAgICBpZiAoc3Vic2NyaWJlT3B0aW9ucz8ucmVwbGF5ID09PSB0cnVlKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRzKSB7XG4gICAgICAgICAgY2FsbGJhY2soZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBldmVudFN1YnNjcmliZXJzLmRlbGV0ZShjYWxsYmFjayk7XG4gICAgICB9O1xuICAgIH0sXG4gICAgaGlzdG9yeUxpbWl0LFxuICB9O1xuXG4gIGlmIChnbG9iYWxPYmplY3QgIT0gbnVsbCkge1xuICAgIFJlZmxlY3Quc2V0KGdsb2JhbE9iamVjdCwgQlJJREdFX0tFWSwgYnJpZGdlKTtcbiAgICBicmlkZ2VJbnN0YWxsZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvbkV2ZW50KGV2ZW50KSB7XG4gICAgICBpZiAoZGlzcG9zZWQgfHwgIWlzT2JqZWN0KGV2ZW50KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBldmVudHMgPSBhcHBlbmRFdmVudChldmVudHMsIGV2ZW50LCBldmVudFN1YnNjcmliZXJzLCBoaXN0b3J5TGltaXQpO1xuICAgIH0sXG4gICAgb25FbnRyeUNoYW5nZShlbnRyeSkge1xuICAgICAgaWYgKGRpc3Bvc2VkIHx8ICFpc09iamVjdChlbnRyeSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZGVyaXZlZFJvdXRlUGF0aCA9IGRlcml2ZVJvdXRlUGF0aChlbnRyeSk7XG4gICAgICBsZXQgZW5yaWNoZWRFbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCA9IGVudHJ5O1xuICAgICAgaWYgKFxuICAgICAgICBkZXJpdmVkUm91dGVQYXRoICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgZGVyaXZlZFJvdXRlUGF0aCAhPT0gZW50cnkucm91dGVQYXRoXG4gICAgICApIHtcbiAgICAgICAgZW5yaWNoZWRFbnRyeSA9IHtcbiAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICByb3V0ZVBhdGg6IGRlcml2ZWRSb3V0ZVBhdGgsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBsYXN0RW50cnkgPSBlbnJpY2hlZEVudHJ5O1xuICAgICAgYnJvYWRjYXN0RW50cnkoZW5yaWNoZWRFbnRyeSwgZW50cnlTdWJzY3JpYmVycyk7XG4gICAgfSxcbiAgICBkaXNwb3NlKCkge1xuICAgICAgaWYgKGRpc3Bvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGRpc3Bvc2VkID0gdHJ1ZTtcbiAgICAgIGV2ZW50U3Vic2NyaWJlcnMuY2xlYXIoKTtcbiAgICAgIGVudHJ5U3Vic2NyaWJlcnMuY2xlYXIoKTtcbiAgICAgIGV2ZW50cyA9IFtdO1xuICAgICAgbGFzdEVudHJ5ID0gbnVsbDtcbiAgICAgIGlmIChicmlkZ2VJbnN0YWxsZWQgJiYgZ2xvYmFsT2JqZWN0ICE9IG51bGwpIHtcbiAgICAgICAgUmVmbGVjdC5kZWxldGVQcm9wZXJ0eShnbG9iYWxPYmplY3QsIEJSSURHRV9LRVkpO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import type { ParamData } from 'path-to-regexp';
2
+ import type { RouteEntry, RouterActiveLoadState, RouterLoadState } from '../types.js';
3
+ import type { RouterQuerySchema } from './routerSearchState.js';
4
+ type PreparedMatch<TContext> = RouteEntry<ParamData, RouterQuerySchema, TContext>['preparedMatch'];
5
+ export declare function calculateLoadState<TContext>(preparedMatch: PreparedMatch<TContext>, version: number): {
6
+ activeLoadState: RouterActiveLoadState;
7
+ loadState: RouterLoadState;
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=routerLoadState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerLoadState.d.ts","sourceRoot":"","sources":["../../../src/internal/routerLoadState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,eAAe,EAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,KAAK,aAAa,CAAC,QAAQ,IAAI,UAAU,CACvC,SAAS,EACT,iBAAiB,EACjB,QAAQ,CACT,CAAC,eAAe,CAAC,CAAC;AAiBnB,wBAAgB,kBAAkB,CAAC,QAAQ,EACzC,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,EACtC,OAAO,EAAE,MAAM,GACd;IAAE,eAAe,EAAE,qBAAqB,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CAuCxE"}
@@ -0,0 +1,51 @@
1
+ function deriveSegmentStatus(input) {
2
+ if (input.prepareStatus === 'pending' || input.codeStatus === 'pending') {
3
+ return 'pending';
4
+ }
5
+ if (input.prepareStatus === 'rejected' || input.codeStatus === 'rejected') {
6
+ return 'rejected';
7
+ }
8
+ return 'resolved';
9
+ }
10
+ export function calculateLoadState(preparedMatch, version) {
11
+ const segments = preparedMatch.segments.map((segment) => {
12
+ const prepareStatus = segment.preparedResource?.getStatus() ?? 'idle';
13
+ const codeStatus = segment.resourcePage?.getStatus() ?? 'idle';
14
+ const status = deriveSegmentStatus({ prepareStatus, codeStatus });
15
+ return {
16
+ path: segment.path,
17
+ fullPath: segment.fullPath,
18
+ segmentIndex: segment.segmentIndex,
19
+ prepareStatus,
20
+ codeStatus,
21
+ status,
22
+ };
23
+ });
24
+ const pendingCount = segments.filter((segment) => {
25
+ return segment.status === 'pending';
26
+ }).length;
27
+ const rejectedCount = segments.filter((segment) => {
28
+ return segment.status === 'rejected';
29
+ }).length;
30
+ let status = 'resolved';
31
+ if (pendingCount > 0) {
32
+ status = 'pending';
33
+ }
34
+ else if (rejectedCount > 0) {
35
+ status = 'rejected';
36
+ }
37
+ const activeLoadState = {
38
+ status,
39
+ pendingCount,
40
+ rejectedCount,
41
+ version,
42
+ };
43
+ return {
44
+ activeLoadState,
45
+ loadState: {
46
+ ...activeLoadState,
47
+ segments,
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyTG9hZFN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ludGVybmFsL3JvdXRlckxvYWRTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsU0FBUyxtQkFBbUIsQ0FBQyxLQUc1QjtJQUNDLElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4RSxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzFFLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBR0QsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxhQUFzQyxFQUN0QyxPQUFlO0lBRWYsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN0RCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLElBQUksTUFBTSxDQUFDO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksTUFBTSxDQUFDO1FBQy9ELE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbEUsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQ2xDLGFBQWE7WUFDYixVQUFVO1lBQ1YsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUMvQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNWLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNoRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNWLElBQUksTUFBTSxHQUFvQyxVQUFVLENBQUM7SUFDekQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNyQixDQUFDO1NBQU0sSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsTUFBTSxlQUFlLEdBQUc7UUFDdEIsTUFBTTtRQUNOLFlBQVk7UUFDWixhQUFhO1FBQ2IsT0FBTztLQUNSLENBQUM7SUFDRixPQUFPO1FBQ0wsZUFBZTtRQUNmLFNBQVMsRUFBRTtZQUNULEdBQUcsZUFBZTtZQUNsQixRQUFRO1NBQ1Q7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJvdXRlRW50cnksXG4gIFJvdXRlckFjdGl2ZUxvYWRTdGF0ZSxcbiAgUm91dGVyTG9hZFN0YXRlLFxuICBSb3V0ZXJTZWdtZW50TG9hZFN0YXRlLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlclF1ZXJ5U2NoZW1hIH0gZnJvbSAnLi9yb3V0ZXJTZWFyY2hTdGF0ZS5qcyc7XG5cbnR5cGUgUHJlcGFyZWRNYXRjaDxUQ29udGV4dD4gPSBSb3V0ZUVudHJ5PFxuICBQYXJhbURhdGEsXG4gIFJvdXRlclF1ZXJ5U2NoZW1hLFxuICBUQ29udGV4dFxuPlsncHJlcGFyZWRNYXRjaCddO1xuXG4vKiogRGVyaXZlcyBhIHNlZ21lbnQtbGV2ZWwgc3RhdHVzIGZyb20gaXRzIHByZXBhcmUgYW5kIGNvZGUgcmVzb3VyY2VzLiAqL1xuZnVuY3Rpb24gZGVyaXZlU2VnbWVudFN0YXR1cyhpbnB1dDoge1xuICBwcmVwYXJlU3RhdHVzOiBSb3V0ZXJTZWdtZW50TG9hZFN0YXRlWydwcmVwYXJlU3RhdHVzJ107XG4gIGNvZGVTdGF0dXM6IFJvdXRlclNlZ21lbnRMb2FkU3RhdGVbJ2NvZGVTdGF0dXMnXTtcbn0pOiBSb3V0ZXJBY3RpdmVMb2FkU3RhdGVbJ3N0YXR1cyddIHtcbiAgaWYgKGlucHV0LnByZXBhcmVTdGF0dXMgPT09ICdwZW5kaW5nJyB8fCBpbnB1dC5jb2RlU3RhdHVzID09PSAncGVuZGluZycpIHtcbiAgICByZXR1cm4gJ3BlbmRpbmcnO1xuICB9XG4gIGlmIChpbnB1dC5wcmVwYXJlU3RhdHVzID09PSAncmVqZWN0ZWQnIHx8IGlucHV0LmNvZGVTdGF0dXMgPT09ICdyZWplY3RlZCcpIHtcbiAgICByZXR1cm4gJ3JlamVjdGVkJztcbiAgfVxuICByZXR1cm4gJ3Jlc29sdmVkJztcbn1cblxuLyoqIENhbGN1bGF0ZXMgbG9hZCBzdGF0ZSBmb3IgYSBwcmVwYXJlZCByb3V0ZSBjaGFpbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVMb2FkU3RhdGU8VENvbnRleHQ+KFxuICBwcmVwYXJlZE1hdGNoOiBQcmVwYXJlZE1hdGNoPFRDb250ZXh0PixcbiAgdmVyc2lvbjogbnVtYmVyLFxuKTogeyBhY3RpdmVMb2FkU3RhdGU6IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZTsgbG9hZFN0YXRlOiBSb3V0ZXJMb2FkU3RhdGUgfSB7XG4gIGNvbnN0IHNlZ21lbnRzID0gcHJlcGFyZWRNYXRjaC5zZWdtZW50cy5tYXAoKHNlZ21lbnQpID0+IHtcbiAgICBjb25zdCBwcmVwYXJlU3RhdHVzID0gc2VnbWVudC5wcmVwYXJlZFJlc291cmNlPy5nZXRTdGF0dXMoKSA/PyAnaWRsZSc7XG4gICAgY29uc3QgY29kZVN0YXR1cyA9IHNlZ21lbnQucmVzb3VyY2VQYWdlPy5nZXRTdGF0dXMoKSA/PyAnaWRsZSc7XG4gICAgY29uc3Qgc3RhdHVzID0gZGVyaXZlU2VnbWVudFN0YXR1cyh7IHByZXBhcmVTdGF0dXMsIGNvZGVTdGF0dXMgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGg6IHNlZ21lbnQucGF0aCxcbiAgICAgIGZ1bGxQYXRoOiBzZWdtZW50LmZ1bGxQYXRoLFxuICAgICAgc2VnbWVudEluZGV4OiBzZWdtZW50LnNlZ21lbnRJbmRleCxcbiAgICAgIHByZXBhcmVTdGF0dXMsXG4gICAgICBjb2RlU3RhdHVzLFxuICAgICAgc3RhdHVzLFxuICAgIH07XG4gIH0pO1xuICBjb25zdCBwZW5kaW5nQ291bnQgPSBzZWdtZW50cy5maWx0ZXIoKHNlZ21lbnQpID0+IHtcbiAgICByZXR1cm4gc2VnbWVudC5zdGF0dXMgPT09ICdwZW5kaW5nJztcbiAgfSkubGVuZ3RoO1xuICBjb25zdCByZWplY3RlZENvdW50ID0gc2VnbWVudHMuZmlsdGVyKChzZWdtZW50KSA9PiB7XG4gICAgcmV0dXJuIHNlZ21lbnQuc3RhdHVzID09PSAncmVqZWN0ZWQnO1xuICB9KS5sZW5ndGg7XG4gIGxldCBzdGF0dXM6IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZVsnc3RhdHVzJ10gPSAncmVzb2x2ZWQnO1xuICBpZiAocGVuZGluZ0NvdW50ID4gMCkge1xuICAgIHN0YXR1cyA9ICdwZW5kaW5nJztcbiAgfSBlbHNlIGlmIChyZWplY3RlZENvdW50ID4gMCkge1xuICAgIHN0YXR1cyA9ICdyZWplY3RlZCc7XG4gIH1cbiAgY29uc3QgYWN0aXZlTG9hZFN0YXRlID0ge1xuICAgIHN0YXR1cyxcbiAgICBwZW5kaW5nQ291bnQsXG4gICAgcmVqZWN0ZWRDb3VudCxcbiAgICB2ZXJzaW9uLFxuICB9O1xuICByZXR1cm4ge1xuICAgIGFjdGl2ZUxvYWRTdGF0ZSxcbiAgICBsb2FkU3RhdGU6IHtcbiAgICAgIC4uLmFjdGl2ZUxvYWRTdGF0ZSxcbiAgICAgIHNlZ21lbnRzLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { type Diagnostic as FilterDiagnostic } from '@plumile/filter-query/errors.js';
2
+ import { type Schema as FilterSchema } from '@plumile/filter-query/types.js';
3
+ import type { RawQuery, UnknownFilters } from '../types.js';
4
+ export type RouterQuerySchema = FilterSchema | undefined;
5
+ export type ParsedSearchState = {
6
+ query: RawQuery;
7
+ filters?: UnknownFilters;
8
+ filterDiagnostics?: FilterDiagnostic[];
9
+ };
10
+ export declare function parseSearchState(search: string, querySchema: RouterQuerySchema): ParsedSearchState;
11
+ //# sourceMappingURL=routerSearchState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerSearchState.d.ts","sourceRoot":"","sources":["../../../src/internal/routerSearchState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,OAAO,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAGF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,iBAAiB,GAC7B,iBAAiB,CAYnB"}
@@ -0,0 +1,15 @@
1
+ import { parse as parseFilters } from '@plumile/filter-query/parse.js';
2
+ import { parseRawQuery } from '../tools/query.js';
3
+ export function parseSearchState(search, querySchema) {
4
+ const query = parseRawQuery(search);
5
+ if (querySchema == null) {
6
+ return { query };
7
+ }
8
+ const parsed = parseFilters(search, querySchema);
9
+ return {
10
+ query,
11
+ filters: parsed.filters,
12
+ filterDiagnostics: parsed.diagnostics,
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyU2VhcmNoU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJuYWwvcm91dGVyU2VhcmNoU3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbEQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUFjLEVBQ2QsV0FBOEI7SUFFOUIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqRCxPQUFPO1FBQ0wsS0FBSztRQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztRQUN2QixpQkFBaUIsRUFBRSxNQUFNLENBQUMsV0FBVztLQUN0QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGlhZ25vc3RpYyBhcyBGaWx0ZXJEaWFnbm9zdGljIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5L2Vycm9ycy5qcyc7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZUZpbHRlcnMgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvcGFyc2UuanMnO1xuaW1wb3J0IHsgdHlwZSBTY2hlbWEgYXMgRmlsdGVyU2NoZW1hIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5L3R5cGVzLmpzJztcblxuaW1wb3J0IHsgcGFyc2VSYXdRdWVyeSB9IGZyb20gJy4uL3Rvb2xzL3F1ZXJ5LmpzJztcbmltcG9ydCB0eXBlIHsgUmF3UXVlcnksIFVua25vd25GaWx0ZXJzIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJRdWVyeVNjaGVtYSA9IEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgUGFyc2VkU2VhcmNoU3RhdGUgPSB7XG4gIHF1ZXJ5OiBSYXdRdWVyeTtcbiAgZmlsdGVycz86IFVua25vd25GaWx0ZXJzO1xuICBmaWx0ZXJEaWFnbm9zdGljcz86IEZpbHRlckRpYWdub3N0aWNbXTtcbn07XG5cbi8qKiBQYXJzZXMgcmF3IHF1ZXJ5IGFuZCB0eXBlZCBmaWx0ZXJzIGZvciBhIHJvdXRlciBsb2NhdGlvbi4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNlYXJjaFN0YXRlKFxuICBzZWFyY2g6IHN0cmluZyxcbiAgcXVlcnlTY2hlbWE6IFJvdXRlclF1ZXJ5U2NoZW1hLFxuKTogUGFyc2VkU2VhcmNoU3RhdGUge1xuICBjb25zdCBxdWVyeSA9IHBhcnNlUmF3UXVlcnkoc2VhcmNoKTtcbiAgaWYgKHF1ZXJ5U2NoZW1hID09IG51bGwpIHtcbiAgICByZXR1cm4geyBxdWVyeSB9O1xuICB9XG5cbiAgY29uc3QgcGFyc2VkID0gcGFyc2VGaWx0ZXJzKHNlYXJjaCwgcXVlcnlTY2hlbWEpO1xuICByZXR1cm4ge1xuICAgIHF1ZXJ5LFxuICAgIGZpbHRlcnM6IHBhcnNlZC5maWx0ZXJzLFxuICAgIGZpbHRlckRpYWdub3N0aWNzOiBwYXJzZWQuZGlhZ25vc3RpY3MsXG4gIH07XG59XG4iXX0=
@@ -21,8 +21,6 @@ export type LinkProps<TFilters extends UnknownFilters = UnknownFilters, TRawQuer
21
21
  ref?: Ref<HTMLAnchorElement>;
22
22
  target?: HTMLAttributeAnchorTarget;
23
23
  to?: RouterDestinationInput<TFilters, TRawQuery>;
24
- filters?: TFilters;
25
- query?: TRawQuery;
26
24
  };
27
25
  declare const Link: (props: LinkProps) => React.ReactElement;
28
26
  export default Link;
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/routing/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAE9B,KAAK,GAAG,EACR,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AASrB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,CAAC;AAK5D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAkBT;AAKD,MAAM,MAAM,SAAS,CACnB,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,SAAS,SAAS,iBAAiB,GAAG,iBAAiB,IACrD,IAAI,CACN,oBAAoB,CAAC,iBAAiB,CAAC,EACrC,UAAU,GACV,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,aAAa,GACb,cAAc,GACd,aAAa,GACb,KAAK,GACL,QAAQ,CACX,GAAG;IAEF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAElC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAE1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAE1D,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE7B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,EAAE,CAAC,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjD,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAyBF,QAAA,MAAM,IAAI,UAAW,SAAS,KAAG,KAAK,CAAC,YA2NtC,CAAC;eAEa,IAAI"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/routing/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAE9B,KAAK,GAAG,EACR,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AASrB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,CAAC;AAK5D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAkBT;AAKD,MAAM,MAAM,SAAS,CACnB,QAAQ,SAAS,cAAc,GAAG,cAAc,EAChD,SAAS,SAAS,iBAAiB,GAAG,iBAAiB,IACrD,IAAI,CACN,oBAAoB,CAAC,iBAAiB,CAAC,EACrC,UAAU,GACV,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,aAAa,GACb,cAAc,GACd,aAAa,GACb,KAAK,GACL,QAAQ,CACX,GAAG;IAEF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAElC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAE1C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAE1D,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE7B,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,EAAE,CAAC,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;CAClD,CAAC;AAyBF,QAAA,MAAM,IAAI,UAAW,SAAS,KAAG,KAAK,CAAC,YAqMtC,CAAC;eAEa,IAAI"}