@rudderjs/router 1.1.2 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,12 +1,4 @@
1
1
  import 'reflect-metadata';
2
- // Lazy-load node:crypto to avoid bundling it into the client.
3
- // Only used by Url (signed URLs) and ValidateSignature — server-only features.
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- let _crypto;
6
- // Fire-and-forget: preload on server, no-op in browser
7
- if (typeof globalThis.process !== 'undefined') {
8
- import(/* @vite-ignore */ 'node:crypto').then(m => { _crypto = m; }).catch(() => { });
9
- }
10
2
  // ─── Route Group Context ──────────────────────────────────
11
3
  //
12
4
  // `runWithGroup(group, fn)` sets the current group for the duration of `fn`.
@@ -21,6 +13,23 @@ if (typeof globalThis.process !== 'undefined') {
21
13
  // resolves. A plain module-level variable is sufficient; no AsyncLocalStorage
22
14
  // needed, and nothing node-specific leaks into the browser bundle.
23
15
  let _currentGroup;
16
+ /**
17
+ * Tag every route registered while `fn` runs with `group` ('web' | 'api').
18
+ *
19
+ * **Synchronous bodies are the supported case.** Route loaders call
20
+ * `Route.get/post/...` at module-evaluation time — those calls complete
21
+ * before `fn` resolves, even when `fn` is `async`. The implementation
22
+ * supports an async `fn` (restoring the previous group in a `.finally()`),
23
+ * but two concurrent `runWithGroup` invocations on the same module instance
24
+ * will clobber each other: this is a single module-level variable, not an
25
+ * AsyncLocalStorage scope. Callers must run loaders **serially** — see
26
+ * `@rudderjs/core`'s `withRouting()` which sequentially `await`s each
27
+ * loader.
28
+ *
29
+ * Outside any `runWithGroup` scope, routes register without a group tag and
30
+ * receive only global `m.use(...)` middleware (no `m.web(...)` / `m.api(...)`
31
+ * stack).
32
+ */
24
33
  export function runWithGroup(group, fn) {
25
34
  const prev = _currentGroup;
26
35
  _currentGroup = group;
@@ -37,6 +46,11 @@ export function runWithGroup(group, fn) {
37
46
  throw e;
38
47
  }
39
48
  }
49
+ /**
50
+ * Read the current group tag. Reads the module-level slot directly; returns
51
+ * `undefined` outside any `runWithGroup(...)` block. Called by route
52
+ * decorators to stamp each `RouteDefinition` with its group.
53
+ */
40
54
  export function currentGroup() {
41
55
  return _currentGroup;
42
56
  }
@@ -134,7 +148,8 @@ function consumeBraceBlock(path, i) {
134
148
  * `where*()` regex constraint segments before scanning the path for `:param`
135
149
  * names.
136
150
  */
137
- function stripRegexSegments(path) {
151
+ /** @internal — exported so sibling modules (binding-middleware) can reuse. */
152
+ export function stripRegexSegments(path) {
138
153
  let out = '';
139
154
  let i = 0;
140
155
  while (i < path.length) {
@@ -290,26 +305,9 @@ export class RouteBuilder {
290
305
  return this;
291
306
  }
292
307
  }
293
- /**
294
- * Thrown by route binding middleware when a required `{param}` cannot be
295
- * resolved into a model instance. `@rudderjs/core` picks up the duck-typed
296
- * `httpStatus` and renders this as an HTTP 404; apps can catch it explicitly
297
- * to render a custom not-found page.
298
- */
299
- export class RouteModelNotFoundError extends Error {
300
- model;
301
- param;
302
- value;
303
- /** Duck-typed signal to `@rudderjs/core`'s exception handler. */
304
- httpStatus = 404;
305
- constructor(model, param, value) {
306
- super(`[RudderJS] No ${model} matched route parameter "${param}" with value "${value}".`);
307
- this.name = 'RouteModelNotFoundError';
308
- this.model = model;
309
- this.param = param;
310
- this.value = value;
311
- }
312
- }
308
+ // ─── Route Model Binding ───────────────────────────────────
309
+ import { buildBindingMiddleware, } from './binding-middleware.js';
310
+ export { RouteModelNotFoundError } from './binding-middleware.js';
313
311
  // ─── Router ────────────────────────────────────────────────
314
312
  export class Router {
315
313
  routes = [];
@@ -469,73 +467,7 @@ export class Router {
469
467
  * `def.missing` — the per-route 404 customisation set via `RouteBuilder.missing()`.
470
468
  */
471
469
  _buildBindingMiddleware(def) {
472
- // Strip `{regex}` constraint segments from `where*()` before scanning for
473
- // param names — otherwise a `:` inside a custom pattern could be misread
474
- // as a route param. Uses balanced-brace stripping to support nested `{n}`
475
- // quantifiers (e.g. UUID's `[0-9a-f]{8}-...`).
476
- const stripped = stripRegexSegments(def.path);
477
- const paramNames = [...stripped.matchAll(/:([a-zA-Z_][a-zA-Z0-9_]*)\??/g)].map(m => m[1]);
478
- const matches = [];
479
- for (const name of paramNames) {
480
- const binding = this.bindings.get(name);
481
- if (binding)
482
- matches.push([name, binding]);
483
- }
484
- if (matches.length === 0)
485
- return null;
486
- return async (req, res, next) => {
487
- // Lazy-init bound bag so handlers always see an object.
488
- const bound = req.bound ?? {};
489
- req.bound = bound;
490
- for (const [name, binding] of matches) {
491
- const raw = req.params[name];
492
- let err = null;
493
- if (raw === undefined || raw === '') {
494
- if (binding.optional) {
495
- bound[name] = null;
496
- continue;
497
- }
498
- err = new RouteModelNotFoundError(binding.resolver.name, name, '');
499
- }
500
- else {
501
- const resolved = await binding.resolver.findForRoute(raw);
502
- if (resolved === null || resolved === undefined) {
503
- if (binding.optional) {
504
- bound[name] = null;
505
- continue;
506
- }
507
- err = new RouteModelNotFoundError(binding.resolver.name, name, raw);
508
- }
509
- else {
510
- bound[name] = resolved;
511
- }
512
- }
513
- if (err) {
514
- if (def.missing) {
515
- // Route opted into a custom 404 — dispatch the result the same
516
- // way registerRoute() handles a route handler's return value.
517
- const result = await def.missing(req, err);
518
- if (result instanceof Response) {
519
- ;
520
- res.raw.res = result;
521
- return;
522
- }
523
- if (typeof result === 'string') {
524
- res.send(result);
525
- return;
526
- }
527
- if (result !== undefined && result !== null) {
528
- res.json(result);
529
- return;
530
- }
531
- // undefined → callback wrote to res directly; trust that.
532
- return;
533
- }
534
- throw err;
535
- }
536
- }
537
- await next();
538
- };
470
+ return buildBindingMiddleware(this.bindings, def);
539
471
  }
540
472
  /** Manually register a route. Returns `this` for bulk registration. */
541
473
  add(method, path, handler, middleware = []) {
@@ -561,6 +493,16 @@ export class Router {
561
493
  patch(path, handler, middleware) { return this._rb('PATCH', path, handler, middleware); }
562
494
  delete(path, handler, middleware) { return this._rb('DELETE', path, handler, middleware); }
563
495
  all(path, handler, middleware) { return this._rb('ALL', path, handler, middleware); }
496
+ /**
497
+ * Register a catch-all fallback route. Runs when no other route matches.
498
+ * Register it last — Hono evaluates routes in registration order.
499
+ *
500
+ * @example
501
+ * router.fallback((_req, res) => res.status(404).json({ message: 'Not found' }))
502
+ */
503
+ fallback(handler, middleware = []) {
504
+ return this.all('*', handler, middleware);
505
+ }
564
506
  _rb(method, path, handler, middleware = []) {
565
507
  const composed = this._applyGroupStack(path, middleware);
566
508
  const def = {
@@ -713,104 +655,9 @@ export class Router {
713
655
  return new ResourceRegistration(builders);
714
656
  }
715
657
  }
716
- const RESOURCE_VERBS = [
717
- { verb: 'index', method: 'GET', path: (n) => `/${n}`, nameSuffix: 'index' },
718
- { verb: 'create', method: 'GET', path: (n) => `/${n}/create`, nameSuffix: 'create' },
719
- { verb: 'store', method: 'POST', path: (n) => `/${n}`, nameSuffix: 'store' },
720
- { verb: 'show', method: 'GET', path: (n, p) => `/${n}/:${p}`, nameSuffix: 'show' },
721
- { verb: 'edit', method: 'GET', path: (n, p) => `/${n}/:${p}/edit`, nameSuffix: 'edit' },
722
- { verb: 'update', method: 'PUT', path: (n, p) => `/${n}/:${p}`, nameSuffix: 'update' },
723
- { verb: 'destroy', method: 'DELETE', path: (n, p) => `/${n}/:${p}`, nameSuffix: 'destroy' },
724
- ];
725
- const SINGLETON_VERBS = [
726
- { verb: 'show', method: 'GET', path: (n) => `/${n}`, nameSuffix: 'show' },
727
- { verb: 'edit', method: 'GET', path: (n) => `/${n}/edit`, nameSuffix: 'edit' },
728
- { verb: 'update', method: 'PUT', path: (n) => `/${n}`, nameSuffix: 'update' },
729
- ];
730
- const SINGLETON_CREATE_VERBS = [
731
- { verb: 'create', method: 'GET', path: (n) => `/${n}/create`, nameSuffix: 'create' },
732
- { verb: 'store', method: 'POST', path: (n) => `/${n}`, nameSuffix: 'store' },
733
- ];
734
- const SINGLETON_DESTROY_VERBS = [
735
- { verb: 'destroy', method: 'DELETE', path: (n) => `/${n}`, nameSuffix: 'destroy' },
736
- ];
737
- function filterVerbs(table, opts) {
738
- let verbs = table;
739
- if (opts.only) {
740
- const allow = new Set(opts.only);
741
- verbs = verbs.filter(v => allow.has(v.verb));
742
- }
743
- if (opts.except) {
744
- const deny = new Set(opts.except);
745
- verbs = verbs.filter(v => !deny.has(v.verb));
746
- }
747
- return verbs;
748
- }
749
- /**
750
- * Naive English singularizer for the default resource param name. Handles the
751
- * three patterns Laravel users hit constantly (`posts → post`,
752
- * `categories → category`, `boxes → box`). Anything irregular — `people`,
753
- * `data`, etc. — should be overridden via the `parameters` option, exactly
754
- * as in Laravel.
755
- */
756
- function singularize(name) {
757
- if (/[^aeiou]ies$/i.test(name))
758
- return name.slice(0, -3) + 'y'; // categories → category
759
- if (/(s|x|z|ch|sh)es$/i.test(name))
760
- return name.slice(0, -2); // boxes → box
761
- if (/s$/i.test(name) && !/ss$/i.test(name))
762
- return name.slice(0, -1); // posts → post
763
- return name;
764
- }
765
- /**
766
- * Returned by `router.resource()`/`apiResource()`. The `builders` array holds
767
- * one `RouteBuilder` per registered route in declaration order — apply
768
- * `where*()`, additional middleware, or rename individual routes by indexing
769
- * directly. The `update` PATCH alias is included as a separate builder
770
- * immediately after its PUT counterpart.
771
- */
772
- export class ResourceRegistration {
773
- builders;
774
- constructor(builders) {
775
- this.builders = builders;
776
- }
777
- }
778
- /**
779
- * Returned by `router.singleton()`. Adds two opt-in helpers on top of
780
- * `ResourceRegistration` for resources that also expose a creation flow
781
- * (`.creatable()`) or deletion flow (`.destroyable()`).
782
- */
783
- export class SingletonRegistration extends ResourceRegistration {
784
- _router;
785
- _name;
786
- _Ctrl;
787
- _opts;
788
- constructor(builders, _router, _name, _Ctrl, _opts) {
789
- super(builders);
790
- this._router = _router;
791
- this._name = _name;
792
- this._Ctrl = _Ctrl;
793
- this._opts = _opts;
794
- }
795
- /**
796
- * Add `GET /<name>/create` and `POST /<name>` — the create/store half of a
797
- * full resource. Skipped for any verb the controller doesn't implement.
798
- */
799
- creatable() {
800
- const reg = this._router._registerResource(this._name, this._Ctrl, SINGLETON_CREATE_VERBS, this._opts);
801
- this.builders.push(...reg.builders);
802
- return this;
803
- }
804
- /**
805
- * Add `DELETE /<name>` — the destroy half of a full resource. Skipped if
806
- * the controller doesn't implement `destroy()`.
807
- */
808
- destroyable() {
809
- const reg = this._router._registerResource(this._name, this._Ctrl, SINGLETON_DESTROY_VERBS, this._opts);
810
- this.builders.push(...reg.builders);
811
- return this;
812
- }
813
- }
658
+ // ─── Resource verb tables / helpers ────────────────────────
659
+ import { RESOURCE_VERBS, SINGLETON_VERBS, filterVerbs, singularize, ResourceRegistration, SingletonRegistration, } from './resource.js';
660
+ export { ResourceRegistration, SingletonRegistration } from './resource.js';
814
661
  // ─── Global router instance ────────────────────────────────
815
662
  export const router = new Router();
816
663
  /** Alias for router — Laravel-style capitalised name */
@@ -854,124 +701,6 @@ export function route(name, params = {}) {
854
701
  }
855
702
  return result;
856
703
  }
857
- // ─── Url ───────────────────────────────────────────────────
858
- let _urlKey = '';
859
- function _getSigningKey() {
860
- const key = _urlKey || process.env['APP_KEY'] || '';
861
- if (!key)
862
- throw new Error('[RudderJS] No signing key configured. Set APP_KEY in your .env or call Url.setKey().');
863
- return key;
864
- }
865
- function _splitPath(path) {
866
- const idx = path.indexOf('?');
867
- return idx === -1 ? [path, ''] : [path.slice(0, idx), path.slice(idx + 1)];
868
- }
869
- function _computeSignature(pathname, params) {
870
- // Sort params for deterministic signing (exclude 'signature' itself)
871
- const sorted = new URLSearchParams([...params.entries()]
872
- .filter(([k]) => k !== 'signature')
873
- .sort(([a], [b]) => a.localeCompare(b)));
874
- const toSign = sorted.size > 0 ? `${pathname}?${sorted.toString()}` : pathname;
875
- if (!_crypto)
876
- throw new Error('[RudderJS Router] node:crypto not available — Url signing requires a server environment.');
877
- return _crypto.createHmac('sha256', _getSigningKey()).update(toSign).digest('hex');
878
- }
879
- export class Url {
880
- /**
881
- * Override the HMAC signing key used for signed URLs.
882
- * Falls back to `process.env.APP_KEY`.
883
- */
884
- static setKey(key) {
885
- _urlKey = key;
886
- }
887
- /** The full URL of the current request. */
888
- static current(req) {
889
- return req.url;
890
- }
891
- /** The previous URL from the `Referer` header, or `fallback`. */
892
- static previous(req, fallback = '/') {
893
- return req.headers['referer'] ?? fallback;
894
- }
895
- /**
896
- * Generate a signed URL for a named route.
897
- *
898
- * @example
899
- * Url.signedRoute('invoice.download', { id: 42 })
900
- * // → '/invoice/42?signature=abc123'
901
- */
902
- static signedRoute(name, params = {}, expiresAt) {
903
- return Url.sign(route(name, params), expiresAt);
904
- }
905
- /**
906
- * Generate a signed URL that expires after `seconds` seconds.
907
- *
908
- * @example
909
- * Url.temporarySignedRoute('invoice.download', 3600, { id: 42 })
910
- * // → '/invoice/42?expires=1234567890&signature=abc123'
911
- */
912
- static temporarySignedRoute(name, seconds, params = {}) {
913
- return Url.signedRoute(name, params, new Date(Date.now() + seconds * 1000));
914
- }
915
- /**
916
- * Sign an arbitrary path string.
917
- * Appends `?signature=...` (and `?expires=...` if `expiresAt` given).
918
- */
919
- static sign(path, expiresAt) {
920
- const [pathname, search] = _splitPath(path);
921
- const params = new URLSearchParams(search);
922
- if (expiresAt) {
923
- params.set('expires', String(Math.floor(expiresAt.getTime() / 1000)));
924
- }
925
- const sig = _computeSignature(pathname, params);
926
- params.set('signature', sig);
927
- return `${pathname}?${params.toString()}`;
928
- }
929
- /**
930
- * Return `true` if the request has a valid (and non-expired) signature.
931
- */
932
- static isValidSignature(req) {
933
- // `req.url` may be a full URL (Hono adapter populates protocol+host+path+query)
934
- // or a bare path. `Url.sign(path)` only ever signs the pathname, so verification
935
- // must hash the same shape. Use the URL parser so both forms collapse to a
936
- // pathname + searchParams pair.
937
- const u = new URL(req.url, 'http://placeholder.local');
938
- const pathname = u.pathname;
939
- const params = u.searchParams;
940
- const signature = params.get('signature');
941
- if (!signature)
942
- return false;
943
- // Check expiry before touching the signature
944
- const expires = params.get('expires');
945
- if (expires !== null) {
946
- const expiry = parseInt(expires, 10);
947
- if (isNaN(expiry) || Date.now() / 1000 > expiry)
948
- return false;
949
- }
950
- const expected = _computeSignature(pathname, params);
951
- try {
952
- if (!_crypto)
953
- return signature === expected;
954
- return _crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
955
- }
956
- catch {
957
- return false;
958
- }
959
- }
960
- }
961
- // ─── ValidateSignature middleware ───────────────────────────
962
- /**
963
- * Middleware that verifies a signed URL signature.
964
- * Responds with 403 if the signature is missing, invalid, or expired.
965
- *
966
- * @example
967
- * router.get('/invoice/:id/download', handler, [ValidateSignature()])
968
- */
969
- export function ValidateSignature() {
970
- return async (req, res, next) => {
971
- if (!Url.isValidSignature(req)) {
972
- return res.status(403).json({ message: 'Invalid or expired URL signature.' });
973
- }
974
- await next();
975
- };
976
- }
704
+ // ─── URL signing ───────────────────────────────────────────
705
+ export { Url, ValidateSignature } from './url-signing.js';
977
706
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import type { HttpMethod, MiddlewareHandler } from '@rudderjs/contracts';
2
+ import type { Router, RouteBuilder } from './index.js';
3
+ /** The seven canonical RESTful verbs Laravel's `Route::resource` exposes. */
4
+ export type ResourceVerb = 'index' | 'create' | 'store' | 'show' | 'edit' | 'update' | 'destroy';
5
+ /** @internal — shape of a single row in the verb tables below. */
6
+ export interface ResourceVerbSpec {
7
+ verb: ResourceVerb;
8
+ method: HttpMethod;
9
+ path: (name: string, param: string) => string;
10
+ nameSuffix: string;
11
+ }
12
+ /** @internal — verb table for `resource()` / `apiResource()`. */
13
+ export declare const RESOURCE_VERBS: readonly ResourceVerbSpec[];
14
+ /** @internal — verb table for `singleton()`. */
15
+ export declare const SINGLETON_VERBS: readonly ResourceVerbSpec[];
16
+ /** @internal — `.creatable()` opt-in for singletons. */
17
+ export declare const SINGLETON_CREATE_VERBS: readonly ResourceVerbSpec[];
18
+ /** @internal — `.destroyable()` opt-in for singletons. */
19
+ export declare const SINGLETON_DESTROY_VERBS: readonly ResourceVerbSpec[];
20
+ /** @internal — apply `only` / `except` to a verb table. */
21
+ export declare function filterVerbs(table: readonly ResourceVerbSpec[], opts: ResourceOptions): readonly ResourceVerbSpec[];
22
+ /**
23
+ * @internal — naive English singularizer for the default resource param name.
24
+ * Handles the three patterns Laravel users hit constantly (`posts → post`,
25
+ * `categories → category`, `boxes → box`). Anything irregular — `people`,
26
+ * `data`, etc. — should be overridden via the `parameters` option, exactly
27
+ * as in Laravel.
28
+ */
29
+ export declare function singularize(name: string): string;
30
+ /**
31
+ * Options accepted by `router.resource`/`apiResource`/`singleton`.
32
+ *
33
+ * - `only`/`except` — restrict the verbs registered.
34
+ * - `parameters` — override the `:param` segment name for a given resource
35
+ * (e.g. `{ posts: 'article' }` → `/posts/:article`).
36
+ * - `names` — override the generated route names per verb.
37
+ * - `middleware` — applied to every route registered by the resource.
38
+ */
39
+ export interface ResourceOptions {
40
+ only?: readonly ResourceVerb[];
41
+ except?: readonly ResourceVerb[];
42
+ parameters?: Record<string, string>;
43
+ names?: Partial<Record<ResourceVerb, string>>;
44
+ middleware?: MiddlewareHandler[];
45
+ }
46
+ /**
47
+ * Returned by `router.resource()`/`apiResource()`. The `builders` array holds
48
+ * one `RouteBuilder` per registered route in declaration order — apply
49
+ * `where*()`, additional middleware, or rename individual routes by indexing
50
+ * directly. The `update` PATCH alias is included as a separate builder
51
+ * immediately after its PUT counterpart.
52
+ */
53
+ export declare class ResourceRegistration {
54
+ readonly builders: RouteBuilder[];
55
+ constructor(builders: RouteBuilder[]);
56
+ }
57
+ /**
58
+ * Returned by `router.singleton()`. Adds two opt-in helpers on top of
59
+ * `ResourceRegistration` for resources that also expose a creation flow
60
+ * (`.creatable()`) or deletion flow (`.destroyable()`).
61
+ */
62
+ export declare class SingletonRegistration extends ResourceRegistration {
63
+ private readonly _router;
64
+ private readonly _name;
65
+ private readonly _Ctrl;
66
+ private readonly _opts;
67
+ constructor(builders: RouteBuilder[], _router: Router, _name: string, _Ctrl: new () => object, _opts: ResourceOptions);
68
+ /**
69
+ * Add `GET /<name>/create` and `POST /<name>` — the create/store half of a
70
+ * full resource. Skipped for any verb the controller doesn't implement.
71
+ */
72
+ creatable(): this;
73
+ /**
74
+ * Add `DELETE /<name>` — the destroy half of a full resource. Skipped if
75
+ * the controller doesn't implement `destroy()`.
76
+ */
77
+ destroyable(): this;
78
+ }
79
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAItD,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhG,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAQ,YAAY,CAAA;IACxB,MAAM,EAAM,UAAU,CAAA;IACtB,IAAI,EAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,iEAAiE;AACjE,eAAO,MAAM,cAAc,EAAE,SAAS,gBAAgB,EAQrD,CAAA;AAED,gDAAgD;AAChD,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAItD,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,EAAE,SAAS,gBAAgB,EAG7D,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,EAAE,SAAS,gBAAgB,EAE9D,CAAA;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,SAAS,gBAAgB,EAAE,CAKlH;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAQ,SAAS,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,EAAM,SAAS,YAAY,EAAE,CAAA;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,KAAK,CAAC,EAAO,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;aACH,QAAQ,EAAE,YAAY,EAAE;gBAAxB,QAAQ,EAAE,YAAY,EAAE;CACrD;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IAG3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAJtB,QAAQ,EAAE,YAAY,EAAE,EACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,MAAM,EACvB,KAAK,EAAE,eAAe;IAGzC;;;OAGG;IACH,SAAS,IAAI,IAAI;IAMjB;;;OAGG;IACH,WAAW,IAAI,IAAI;CAKpB"}