@cat-factory/server 0.237.1 → 0.239.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/auth/middleware.d.ts +5 -0
  2. package/dist/auth/middleware.d.ts.map +1 -1
  3. package/dist/auth/middleware.js +39 -3
  4. package/dist/auth/middleware.js.map +1 -1
  5. package/dist/auth/oidc/claims.d.ts +32 -1
  6. package/dist/auth/oidc/claims.d.ts.map +1 -1
  7. package/dist/auth/oidc/claims.js +19 -4
  8. package/dist/auth/oidc/claims.js.map +1 -1
  9. package/dist/auth/signing.d.ts +13 -0
  10. package/dist/auth/signing.d.ts.map +1 -1
  11. package/dist/auth/signing.js +8 -2
  12. package/dist/auth/signing.js.map +1 -1
  13. package/dist/config/types.d.ts +18 -0
  14. package/dist/config/types.d.ts.map +1 -1
  15. package/dist/http/workspaceAccess.d.ts +24 -9
  16. package/dist/http/workspaceAccess.d.ts.map +1 -1
  17. package/dist/http/workspaceAccess.js +49 -13
  18. package/dist/http/workspaceAccess.js.map +1 -1
  19. package/dist/modules/accounts/AccountController.d.ts.map +1 -1
  20. package/dist/modules/accounts/AccountController.js +5 -0
  21. package/dist/modules/accounts/AccountController.js.map +1 -1
  22. package/dist/modules/accounts/auditLogRoutes.d.ts +4 -0
  23. package/dist/modules/accounts/auditLogRoutes.d.ts.map +1 -0
  24. package/dist/modules/accounts/auditLogRoutes.js +102 -0
  25. package/dist/modules/accounts/auditLogRoutes.js.map +1 -0
  26. package/dist/modules/auth/AuthController.d.ts.map +1 -1
  27. package/dist/modules/auth/AuthController.js +29 -8
  28. package/dist/modules/auth/AuthController.js.map +1 -1
  29. package/dist/modules/auth/loginFlow.d.ts +52 -2
  30. package/dist/modules/auth/loginFlow.d.ts.map +1 -1
  31. package/dist/modules/auth/loginFlow.js +69 -3
  32. package/dist/modules/auth/loginFlow.js.map +1 -1
  33. package/dist/modules/auth/ssoRoutes.d.ts.map +1 -1
  34. package/dist/modules/auth/ssoRoutes.js +67 -4
  35. package/dist/modules/auth/ssoRoutes.js.map +1 -1
  36. package/dist/modules/board/BoardController.d.ts.map +1 -1
  37. package/dist/modules/board/BoardController.js +8 -6
  38. package/dist/modules/board/BoardController.js.map +1 -1
  39. package/dist/modules/bugHunt/BugHuntController.js +2 -2
  40. package/dist/modules/bugHunt/BugHuntController.js.map +1 -1
  41. package/dist/modules/documents/DocumentSourceController.d.ts.map +1 -1
  42. package/dist/modules/documents/DocumentSourceController.js +15 -3
  43. package/dist/modules/documents/DocumentSourceController.js.map +1 -1
  44. package/dist/modules/localSettings/MothershipConnectController.d.ts.map +1 -1
  45. package/dist/modules/localSettings/MothershipConnectController.js +8 -2
  46. package/dist/modules/localSettings/MothershipConnectController.js.map +1 -1
  47. package/dist/modules/merge/RiskPolicyController.d.ts +2 -2
  48. package/dist/modules/merge/RiskPolicyController.js +2 -2
  49. package/dist/modules/publicApi/PublicApiController.js +2 -2
  50. package/dist/modules/publicApi/PublicApiController.js.map +1 -1
  51. package/dist/modules/publicApi/taskCreation.js +2 -2
  52. package/dist/modules/publicApi/taskCreation.js.map +1 -1
  53. package/dist/modules/tasks/TaskSourceController.js +3 -3
  54. package/dist/modules/tasks/TaskSourceController.js.map +1 -1
  55. package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
  56. package/dist/persistence/rpc-allowlist.js +17 -4
  57. package/dist/persistence/rpc-allowlist.js.map +1 -1
  58. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditLogRoutes.d.ts","sourceRoot":"","sources":["../../../src/modules/accounts/auditLogRoutes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAkB/C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CA0C9D"}
@@ -0,0 +1,102 @@
1
+ import { listAuditEventsContract, revokeMemberSessionsContract } from '@cat-factory/contracts';
2
+ import { buildHonoRoute } from '@toad-contracts/hono';
3
+ import { requireCapability, requireUser } from '../../http/guards.js';
4
+ // ---------------------------------------------------------------------------
5
+ // The account audit log's READ surface, plus the admin-forced session revocation that writes to
6
+ // it. The two live together because they are one operator's job: seeing what happened in the
7
+ // account, and stopping somebody's access when it should not have.
8
+ //
9
+ // Registered from `accountController` rather than mounted separately, so the paths stay under the
10
+ // account prefix and keep their place in the app's route order. In its own module purely for the
11
+ // per-function size budget — `accountController` is already near its ceiling.
12
+ //
13
+ // Admin-gated for READ as well as write, and the gate lives in the SERVICE (`requireAdmin` /
14
+ // `revokeMemberSessions`), not here: the log names who did what to whom, which is exactly the
15
+ // roster metadata a non-admin member has no business enumerating, and a service-layer refusal is
16
+ // the one every caller of that service inherits.
17
+ // ---------------------------------------------------------------------------
18
+ export function registerAuditLogRoutes(app) {
19
+ buildHonoRoute(app, listAuditEventsContract, async (c) => {
20
+ const user = requireUser(c, 'Sign in to read the audit log');
21
+ const container = c.get('container');
22
+ const { accountId } = c.req.valid('param');
23
+ // AUTHORIZATION BEFORE WIRING, in that order and not the reverse. The 503 below names a
24
+ // capability this deployment has or has not configured, so answering it to a caller who is
25
+ // not an admin of this account tells an outsider something about how the deployment is built
26
+ // — the "a refusal never reveals wiring" rule, which is why the admin gate runs ahead of it
27
+ // everywhere else too. Reversed, the two refusals are a working oracle: 503 means the store
28
+ // is wired, 403/404 means it is not.
29
+ await container.accountService.requireAdmin(accountId, user.id);
30
+ // A facade with no audit store refuses with a 503 naming the capability. It must NOT answer
31
+ // with an empty page: "nothing has happened in this account" and "this deployment records
32
+ // nothing" are opposite facts, and the first is the assurance the log exists to give.
33
+ const auditLog = requireCapability(container.auditLogReader, 'The audit log is not configured on this deployment');
34
+ const query = c.req.valid('query');
35
+ // The read PROPAGATES a store failure (the reader port says so): an admin shown an empty page
36
+ // because the store was unreachable has been told the reverse of the truth.
37
+ const page = await auditLog.listByAccount(accountId, {
38
+ cursor: query.cursor ?? null,
39
+ limit: query.limit,
40
+ });
41
+ return c.json({ events: await withDisplayNames(c, page.events), nextCursor: page.nextCursor }, 200);
42
+ });
43
+ // Admin-forced offboarding. Everything that decides anything — the admin gate, the
44
+ // account-membership check on the TARGET, the revocation and its audit row — lives in
45
+ // `AccountService.revokeMemberSessions`, per the rule that an audited action is recorded where
46
+ // the actor and the outcome are both known.
47
+ buildHonoRoute(app, revokeMemberSessionsContract, async (c) => {
48
+ const actor = requireUser(c, 'Sign in to manage account members');
49
+ const { accountId, userId } = c.req.valid('param');
50
+ await c.get('container').accountService.revokeMemberSessions(accountId, actor.id, userId);
51
+ return c.body(null, 204);
52
+ });
53
+ }
54
+ /**
55
+ * Resolve the display name of every person a page of events mentions, in ONE query.
56
+ *
57
+ * An audit row stores ids, deliberately: names change, and the row must go on meaning what it
58
+ * meant when it was written. But an admin reading `usr_01j…` learns nothing, so the ids are
59
+ * resolved at RENDER time against the current roster — the same trade the member panel makes.
60
+ *
61
+ * One `listByIds` over the whole page, never a lookup per row: a 50-event page would otherwise be
62
+ * up to 100 point reads, the N+1 the repository rules ban outright.
63
+ *
64
+ * A name that does not resolve stays null rather than becoming a placeholder. The viewer renders
65
+ * the raw id in that case, which is the honest answer for the case an audit log most needs to
66
+ * survive: the person is gone, and their having been here is precisely what the row records.
67
+ */
68
+ async function withDisplayNames(c, events) {
69
+ const ids = new Set();
70
+ for (const event of events) {
71
+ if (event.actor.kind === 'user')
72
+ ids.add(event.actor.userId);
73
+ // `targetType` widens to a RETIRED value on read, so this compares against the current member
74
+ // rather than assuming the stored string is one. A retired target type resolves no name, which
75
+ // is correct: nothing here knows what its `targetId` referenced.
76
+ if (event.targetType === 'user')
77
+ ids.add(event.targetId);
78
+ }
79
+ // Annotated rather than inferred: the ternary's two arms are `never[]` and `UserRecord[]`, and
80
+ // `.map` over that union loses its parameter type.
81
+ const users = ids.size === 0 ? [] : await c.get('container').userService.listByIds([...ids]);
82
+ // Name first, email as the fallback: a GitHub-only user may carry no display name, and an email
83
+ // still tells an admin who they are reading about. Both absent ⇒ null, and the id is rendered.
84
+ const byId = new Map(users.map((u) => [u.id, u.name ?? u.email]));
85
+ // Projected FIELD BY FIELD rather than spread. The stored view carries `accountId` (which the
86
+ // request path already names, so repeating it is noise) and an OPTIONAL `workspaceId`, while the
87
+ // wire shape commits to a nullable one — a spread would hand `undefined` to a client that was
88
+ // promised `null`, which is the difference between "no board" and "the server forgot to say".
89
+ return events.map((event) => ({
90
+ id: event.id,
91
+ at: event.at,
92
+ workspaceId: event.workspaceId ?? null,
93
+ actor: event.actor,
94
+ action: event.action,
95
+ targetType: event.targetType,
96
+ targetId: event.targetId,
97
+ details: event.details,
98
+ actorName: (event.actor.kind === 'user' ? byId.get(event.actor.userId) : null) ?? null,
99
+ targetName: (event.targetType === 'user' ? byId.get(event.targetId) : null) ?? null,
100
+ }));
101
+ }
102
+ //# sourceMappingURL=auditLogRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditLogRoutes.js","sourceRoot":"","sources":["../../../src/modules/accounts/auditLogRoutes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA2I/C,wBAAgB,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,CAgB7C"}
1
+ {"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAgJ/C,wBAAgB,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,CAgB7C"}
@@ -1,4 +1,4 @@
1
- import { acceptInvitationContract, authConfigContract, forgotPasswordContract, githubCallbackContract, githubLoginContract, googleCallbackContract, googleLoginContract, listMachineNodesContract, logoutContract, meContract, mintMachineTokenContract, passwordLoginContract, revokeMachineNodeContract, patLoginContract, peekInvitationContract, resetPasswordContract, signupContract, } from '@cat-factory/contracts';
1
+ import { acceptInvitationContract, authConfigContract, forgotPasswordContract, githubCallbackContract, githubLoginContract, googleCallbackContract, googleLoginContract, listMachineNodesContract, logoutContract, meContract, mintMachineTokenContract, passwordLoginContract, revokeMachineNodeContract, revokeMySessionsContract, patLoginContract, peekInvitationContract, resetPasswordContract, signupContract, } from '@cat-factory/contracts';
2
2
  import { buildHonoRoute } from '@toad-contracts/hono';
3
3
  import { Hono } from 'hono';
4
4
  import { GitHubOAuth } from '../../auth/GitHubOAuth.js';
@@ -7,11 +7,13 @@ import { verifySession } from '../../auth/middleware.js';
7
7
  import { mintMachineToken } from '../../auth/machineToken.js';
8
8
  import { passwordAttemptLimited, tooManyAttempts } from './authThrottle.js';
9
9
  import { ConflictError, ForbiddenError, NotFoundError, ValidationError, UnavailableError, UnauthorizedError, } from '@cat-factory/kernel';
10
+ // No `requireUser` here, deliberately: it narrows `c.get('user')`, which nothing sets under the
11
+ // PUBLIC `/auth` prefix. `requireSessionUser` (loginFlow.ts) is this controller's equivalent.
10
12
  import { requireCapability } from '../../http/guards.js';
11
13
  // The mechanics every redirecting login provider shares — the cookie-bound CSRF state, the
12
14
  // allow-listed post-login redirect, the session mint, the invite handling. Extracted when
13
15
  // enterprise SSO landed so there is exactly ONE implementation of each (see loginFlow.ts).
14
- import { acceptInvite, authConfig, beginRoundTrip, consumeState, emailDomainAllowed, emailMatchesInvite, mintSession, peekInvite, sessionUser, withToken, } from './loginFlow.js';
16
+ import { acceptInvite, authConfig, beginRoundTrip, consumeState, emailDomainAllowed, emailMatchesInvite, mintSession, requireSessionUser, sessionGenerationFor, peekInvite, sessionUser, sessionUserFrom, withToken, } from './loginFlow.js';
15
17
  import { registerSsoRoutes } from './ssoRoutes.js';
16
18
  // Authentication endpoints. The SPA is handed a signed session token (via the URL
17
19
  // fragment for OAuth redirects, or the JSON body for password login) which it carries
@@ -211,7 +213,7 @@ function registerOAuthRoutes(app) {
211
213
  });
212
214
  if (state.invite)
213
215
  await acceptInvite(c, state.invite, user.id, user.email);
214
- const { token } = await mintSession(cfg, sessionUser(user, identity.login));
216
+ const { token } = await mintSession(cfg, sessionUser(user, identity.login), await sessionGenerationFor(c, user.id));
215
217
  return c.redirect(withToken(state.redirect, token));
216
218
  });
217
219
  // ---- Google OAuth -------------------------------------------------------
@@ -258,7 +260,7 @@ function registerOAuthRoutes(app) {
258
260
  });
259
261
  if (state.invite)
260
262
  await acceptInvite(c, state.invite, user.id, user.email);
261
- const { token } = await mintSession(cfg, sessionUser(user, identity.email || user.id));
263
+ const { token } = await mintSession(cfg, sessionUser(user, identity.email || user.id), await sessionGenerationFor(c, user.id));
262
264
  return c.redirect(withToken(state.redirect, token));
263
265
  });
264
266
  }
@@ -301,7 +303,7 @@ function registerCredentialRoutes(app) {
301
303
  });
302
304
  if (body.invite)
303
305
  await acceptInvite(c, body.invite, user.id, user.email);
304
- const { token } = await mintSession(cfg, sessionUser(user, user.email || user.id));
306
+ const { token } = await mintSession(cfg, sessionUser(user, user.email || user.id), await sessionGenerationFor(c, user.id));
305
307
  return c.json({ token, user: sessionUser(user, user.email || user.id) }, 201);
306
308
  });
307
309
  buildHonoRoute(app, passwordLoginContract, async (c) => {
@@ -315,7 +317,7 @@ function registerCredentialRoutes(app) {
315
317
  if (!user) {
316
318
  throw new UnauthorizedError('Invalid email or password');
317
319
  }
318
- const { token } = await mintSession(cfg, sessionUser(user, user.email || user.id));
320
+ const { token } = await mintSession(cfg, sessionUser(user, user.email || user.id), await sessionGenerationFor(c, user.id));
319
321
  return c.json({ token, user: sessionUser(user, user.email || user.id) }, 200);
320
322
  });
321
323
  // ---- Source-control PAT login -------------------------------------------
@@ -402,7 +404,7 @@ function registerCredentialRoutes(app) {
402
404
  name: user.name,
403
405
  });
404
406
  const session = sessionUser(user, identity.login);
405
- const { token: sessionToken } = await mintSession(cfg, session);
407
+ const { token: sessionToken } = await mintSession(cfg, session, await sessionGenerationFor(c, user.id));
406
408
  return c.json({ token: sessionToken, user: session }, 200);
407
409
  });
408
410
  }
@@ -660,7 +662,26 @@ function registerSessionRoutes(app) {
660
662
  enabled: authConfig(c).enabled,
661
663
  }, 200);
662
664
  });
663
- // Stateless sessions: logout is a client-side token drop. Provided for symmetry.
665
+ // Logout is a client-side token drop: it ends THIS browser's session by forgetting the token,
666
+ // which is all a single sign-out needs and costs no write. Ending sessions the caller cannot
667
+ // reach is `revokeMySessionsContract` below.
664
668
  buildHonoRoute(app, logoutContract, (c) => c.body(null, 204));
669
+ // "Sign out everywhere": advance the caller's own session generation, which invalidates every
670
+ // token minted for them — including the one that made this request, which is the point rather
671
+ // than an oversight (somebody reaching for this has usually lost a device and cannot say which
672
+ // session to keep). A replacement token is minted from the NEW generation and returned, so the
673
+ // browser that asked stays signed in without a trip back through the identity provider.
674
+ buildHonoRoute(app, revokeMySessionsContract, async (c) => {
675
+ // `requireSessionUser`, NOT `requireUser`: this controller is mounted under `/auth`, a PUBLIC
676
+ // prefix, so the gate that populates `c.get('user')` never runs here. See its doc comment.
677
+ const user = await requireSessionUser(c, 'Sign in to manage your sessions');
678
+ const generation = await c.get('container').userService.revokeSessions(user.id);
679
+ // Deliberately NOT audited. The account audit log records what an account ADMIN is
680
+ // answerable for, and this is a person acting on their own sessions: there is no account it
681
+ // belongs to (a user may be in several, or none but their own), and filing it under a guess
682
+ // would be exactly the misattribution the log's actor model exists to prevent.
683
+ const { token, exp } = await mintSession(authConfig(c), sessionUserFrom(user), generation);
684
+ return c.json({ token, exp }, 200);
685
+ });
665
686
  }
666
687
  //# sourceMappingURL=AuthController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthController.js","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAI3E,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,2FAA2F;AAC3F,0FAA0F;AAC1F,2FAA2F;AAC3F,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,kFAAkF;AAClF,sFAAsF;AACtF,qFAAqF;AACrF,wCAAwC;AACxC,wCAAwC;AACxC,4EAA4E;AAC5E,mCAAmC;AACnC,qFAAqF;AACrF,uEAAuE;AAEvE,yFAAyF;AACzF,wFAAwF;AACxF,oEAAoE;AACpE;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAe;IACpC,OAAO,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,kCAAkC,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,WAAW,GAAG,GAAU,EAAE;IAC9B,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,SAAS,YAAY,CAAC,GAAe;IACnC,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAe;IACnC,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5B,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ;QAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY;QACrC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;QAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAmB,CAAa,EAAE,GAAe;IACzE,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,WAAW,CAAA;IAC3C,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,gBAAgB,CAAA;AACrD,CAAC;AAED,SAAS,iBAAiB,CAAmB,CAAa,EAAE,GAAe;IACzE,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAA;IAC1D,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,uBAAuB,CAAA;AAC5D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,KAAkB,EAClB,WAAmB,EACnB,IAAuB,EACvB,GAAsD;IAEtD,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IACrE,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAAe,EACf,QAA6B,EAC7B,QAAqB,EACrB,GAAW;IAEX,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IAClD,CAAC;IACD,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2FAA2F;YAC3F,wFAAwF;YACxF,4FAA4F;YAC5F,yDAAyD;YACzD,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,yFAAyF;IACzF,0FAA0F;IAC1F,4EAA4E;IAC5E,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACxB,8FAA8F;IAC9F,2FAA2F;IAC3F,0FAA0F;IAC1F,qCAAqC;IACrC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACtB,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAC7B,yBAAyB,CAAC,GAAG,CAAC,CAAA;IAC9B,6BAA6B,CAAC,GAAG,CAAC,CAAA;IAClC,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAiB;IAC5C,oFAAoF;IACpF,+CAA+C;IAC/C,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,MAAM,CAAA;QACtD,yFAAyF;QACzF,4FAA4F;QAC5F,sFAAsF;QACtF,kDAAkD;QAClD,MAAM,YAAY,GAChB,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW;YACjC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAA4C;YAChF,CAAC,CAAC,EAAE,CAAA;QACR,OAAO,CAAC,CAAC,IAAI,CACX;YACE,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE;gBACT,MAAM,EAAE,GAAG,CAAC,aAAa;gBACzB,QAAQ,EAAE,GAAG,CAAC,eAAe;gBAC7B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG;aACf;YACD,uFAAuF;YACvF,wFAAwF;YACxF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,qFAAqF;YACrF,yFAAyF;YACzF,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;YACzC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC;YACtC,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW;SACvE,CAAC,CAAA;QACF,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC7E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAEnD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,+EAA+E;QAC/E,iFAAiF;QACjF,mFAAmF;QACnF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvE,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACzF,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACvF,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,QAAQ,CAAC,KAAK,4BAA4B,EAAE,EAAE,EACzF,GAAG,CACJ,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YAC7F,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,iFAAiF;YACjF,uDAAuD;YACvD,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;SACpC,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAChD,OAAO,CAAC,CAAC,QAAQ,CACf,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CACpF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACvF,oFAAoF;QACpF,qFAAqF;QACrF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACpE,MAAM,YAAY,GAAG,OAAO,IAAI,IAAI,IAAI,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,OAAO,GACX,YAAY,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAClF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAC3E,GAAG,CACJ,CAAA;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC1F,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;SACpC,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACtF,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAiB;IACjD,4EAA4E;IAE5E,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,MAAM,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,eAAe,EAAE,CAAA;QACzE,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEpC,kFAAkF;QAClF,mFAAmF;QACnF,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,OAAO,GACX,GAAG,CAAC,UAAU;YACd,CAAC,OAAO,IAAI,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAClE,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC,EAAE,EAAE,EAC3E,GAAG,CACJ,CAAA;QACH,CAAC;QACD,qFAAqF;QACrF,wFAAwF;QACxF,wFAAwF;QACxF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,uEAAuE;QACvE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACxE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,MAAM,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,eAAe,EAAE,CAAA;QACzE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,yFAAyF;IACzF,0FAA0F;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,8FAA8F;IAC9F,6FAA6F;IAC7F,8FAA8F;IAC9F,uDAAuD;IACvD,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAA;QAC7F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAA;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,4FAA4F;YAC5F,0FAA0F;YAC1F,2FAA2F;YAC3F,gDAAgD;YAChD,OAAO,CAAC,CAAC,IAAI,CACX;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,cAAc,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,oCAAoC;iBACvG;aACF,EACD,GAAG,CACJ,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,iBAAiB,CAAC,QAAQ,QAAQ,iDAAiD,CAAC,CAAA;QAChG,CAAC;QACD,0FAA0F;QAC1F,wFAAwF;QACxF,0FAA0F;QAC1F,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,mFAAmF;gBACnF,qFAAqF;gBACrF,sFAAsF;gBACtF,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe;oBACpC,CAAC,CAAC,gCAAgC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,gCAAgC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,GAAG;oBACxL,CAAC,CAAC,EAAE,CAAA;gBACN,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,IAAI,QAAQ,CAAC,KAAK,8BAA8B,SAAS,EAAE;qBACrE;iBACF,EACD,GAAG,CACJ,CAAA;YACH,CAAC;QACH,CAAC;QACD,wFAAwF;QACxF,6FAA6F;QAC7F,6FAA6F;QAC7F,4FAA4F;QAC5F,8FAA8F;QAC9F,2FAA2F;QAC3F,0EAA0E;QAC1E,IAAI,KAAK,IAAI,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QACnF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE;YAC7F,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,iFAAiF;YACjF,yDAAyD;YACzD,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;SACpC,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC/D,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,qFAAqF;AACrF,mFAAmF;AACnF,uFAAuF;AACvF,mBAAmB;AACnB,SAAS,yBAAyB,CAAC,GAAiB;IAClD,4EAA4E;IAE5E,wFAAwF;IACxF,mFAAmF;IACnF,mFAAmF;IACnF,qFAAqF;IACrF,0FAA0F;IAC1F,uFAAuF;IACvF,qDAAqD;IACrD,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAAA;QACnE,CAAC;QACD,sFAAsF;QACtF,wFAAwF;QACxF,wFAAwF;QACxF,2FAA2F;QAC3F,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,6CAA6C,EAAE,EAAE,EACxF,GAAG,CACJ,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC;YAC1D,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAA;QACF,IAAI,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;YACjC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,4FAA4F;QAC5F,qFAAqF;QACrF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,EAC/E,GAAG,CACJ,CAAA;QACH,CAAC;QACD,0FAA0F;QAC1F,wFAAwF;QACxF,wFAAwF;QACxF,oEAAoE;QACpE,MAAM,YAAY,GAAG,SAAS,CAAC,qBAAqB,CAAA;QACpD,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,IAAI,gBAAgB,CACxB,qDAAqD,EACrD,4BAA4B,CAC7B,CAAA;QACH,CAAC;QACD,4FAA4F;QAC5F,0FAA0F;QAC1F,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE;YACvE,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,UAAU;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,GAAG,CAAC,iBAAiB;SAC7B,CAAC,CAAA;QACF,2FAA2F;QAC3F,+EAA+E;QAC/E,EAAE;QACF,mFAAmF;QACnF,sFAAsF;QACtF,sFAAsF;QACtF,0FAA0F;QAC1F,0FAA0F;QAC1F,qEAAqE;QACrE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC;gBAC5C,MAAM;gBACN,MAAM,EAAE,OAAO,CAAC,EAAE;gBAClB,UAAU;gBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpB,SAAS,EAAE,GAAG;aACf,CAAC,CAAA;YACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE;oBACxD,MAAM,EAAE,0BAA0B;iBACnC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CACX;YACE,KAAK;YACL,GAAG;YACH,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,UAAU;YACV,sFAAsF;YACtF,oCAAoC;YACpC,IAAI,EAAE;gBACJ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;aAC7B;SACF,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,6EAA6E;IAE7E,uFAAuF;IACvF,wFAAwF;IACxF,wFAAwF;IACxF,qDAAqD;IACrD,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxD,wFAAwF;QACxF,0FAA0F;QAC1F,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,iBAAiB,CAC7B,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,qBAAqB,EACxC,mDAAmD,CACpD,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/C,OAAO,CAAC,CAAC,IAAI,CACX;YACE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,GAAG,EAAE,GAAG,CAAC,SAAS;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;SACJ,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzD,8EAA8E;QAC9E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,iBAAiB,CAC7B,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,qBAAqB,EACxC,mDAAmD,CACpD,CAAA;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,oFAAoF;QACpF,wCAAwC;QACxC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE;YAAE,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACtF,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAiB;IACtD,4EAA4E;IAE5E,oFAAoF;IACpF,mFAAmF;IACnF,oFAAoF;IACpF,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,OAAO,WAAW,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,MAAM,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,eAAe,EAAE,CAAA;QACzE,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,qFAAqF;YACrF,2EAA2E;QAC7E,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,sFAAsF;IACtF,kFAAkF;IAClF,gEAAgE;IAChE,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,CAAA;QACtD,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,aAAa;YAAE,OAAO,WAAW,EAAE,CAAA;QAChE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChC,mFAAmF;QACnF,qFAAqF;QACrF,gFAAgF;QAChF,sBAAsB;QACtB,IAAI,MAAM,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,CAAC;YAAE,OAAO,eAAe,EAAE,CAAA;QAC/E,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,GAAG,YAAY,aAAa;gBAC5B,GAAG,YAAY,aAAa;gBAC5B,GAAG,YAAY,eAAe,EAC9B,CAAC;gBACD,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,qDAAqD;qBAC/D;iBACF,EACD,GAAG,CACJ,CAAA;YACH,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,qEAAqE;IACrE,cAAc,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAW,EAAE,GAAG,CAAC,CAAA;QACzE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3E,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAW,EAAE,GAAG,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpE,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,KAAK,EAAE,IAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,EACjF,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,+EAA+E;IAC/E,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CAClD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAC1B,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,IAAI,IAAI,CACnB,CAAA;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;YACvF,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAiB;IAC9C,yFAAyF;IACzF,uFAAuF;IACvF,qFAAqF;IACrF,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;YAC9E,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CACX;YACE,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;aAC1B;YACD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;SAC/B,EACD,GAAG,CACJ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,iFAAiF;IACjF,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"AuthController.js","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Context } from 'hono';
2
2
  import type { UserRecord } from '@cat-factory/kernel';
3
- import { type SessionUser, TOKEN_AUDIENCE } from '../../auth/signing.js';
3
+ import { type SessionPayload, type SessionUser, TOKEN_AUDIENCE } from '../../auth/signing.js';
4
4
  import type { AuthConfig } from '../../config/types.js';
5
5
  import type { AppEnv } from '../../http/env.js';
6
6
  /** How long a login round-trip's signed state stays valid. */
@@ -33,11 +33,61 @@ export declare function sessionUser(user: UserRecord, login: string): SessionUse
33
33
  * Mint a user SESSION token, returning the signed token and the exact `exp` it committed to so a
34
34
  * caller can report the real expiry without a second clock read. Shared by every login path AND
35
35
  * the local-mode mothership-connect controller, so the session claim shape lives in one place.
36
+ *
37
+ * `generation` is the user's session generation, stamped into the token so revocation can
38
+ * invalidate it later. It is a REQUIRED parameter rather than something resolved in here, because
39
+ * this function takes a `SessionUser` (a display surface) and has no store to read: making each
40
+ * login path supply it is what forces every one of them to have looked. A mint that stamped a
41
+ * default would issue a token the revocation check could never refuse.
36
42
  */
37
- export declare function mintSession(cfg: AuthConfig, user: SessionUser): Promise<{
43
+ export declare function mintSession(cfg: AuthConfig, user: SessionUser, generation: number): Promise<{
38
44
  token: string;
39
45
  exp: number;
40
46
  }>;
47
+ /**
48
+ * The generation to stamp into a session being minted for a user who was just resolved (or
49
+ * created) by a login flow.
50
+ *
51
+ * Reads PAST the cache (`refreshSessionGeneration`), which is the one difference from the
52
+ * accessor `verifySession` uses on the request path. Verification tolerates a bounded stale
53
+ * window on purpose; a mint cannot, because what it reads is stamped into a bearer that outlives
54
+ * the cache entry. A generation read one bump behind on a replica that missed the invalidation
55
+ * issues a token every replica refuses for its whole TTL, and the refusal spreads rather than
56
+ * heals as the caches that still agreed with it expire — a sign-in loop no waiting fixes. The
57
+ * refresh also repopulates this replica, so the token it just minted verifies here.
58
+ *
59
+ * A user the store cannot find falls back to `0`: the login path has this instant established
60
+ * that the user exists, so a null here is a read racing a create rather than an absent person,
61
+ * and `0` is the generation a fresh row carries. Getting it wrong costs one re-login, never an
62
+ * unrevocable token — a stamped generation BELOW the row's is refused, never admitted.
63
+ */
64
+ export declare function sessionGenerationFor<E extends AppEnv>(c: Context<E>, userId: string): Promise<number>;
65
+ /**
66
+ * The caller's own session on a route mounted under a PUBLIC prefix, or a 401.
67
+ *
68
+ * `requireUser` (the `http/guards.ts` accessor every other controller reaches for) is WRONG here
69
+ * and reads as right, which is why this exists rather than being inlined. It narrows
70
+ * `c.get('user')`, and the only thing that ever sets that is `requireAuth` — which
71
+ * `mountAuthGate` deliberately does not run under `/auth`, because the login round-trips
72
+ * themselves must be reachable unauthenticated. A `requireUser` on an `/auth` route is therefore
73
+ * not a guard at all: it is an unconditional 401 that no test of the happy path can distinguish
74
+ * from a missing token.
75
+ *
76
+ * So the session is verified HERE, on the route, the same way `/auth/me` does it, and any future
77
+ * authenticated `/auth` route reaches for this instead of re-deriving the trap.
78
+ */
79
+ export declare function requireSessionUser<E extends AppEnv>(c: Context<E>, message: string): Promise<SessionPayload>;
80
+ /**
81
+ * A verified session payload back down to the display surface a mint takes.
82
+ *
83
+ * Projected FIELD BY FIELD rather than spread or hand-picked at the call site. A spread would
84
+ * carry the OLD token's `aud`/`exp`/`gen` into the new session's claim object (harmless only
85
+ * because the mint happens to overwrite all three, which is not a property to depend on), and
86
+ * hand-picking is how `email` — optional on {@link SessionUser}, so its omission typechecks —
87
+ * was silently dropped from a re-minted token, leaving `/auth/me` reporting a null address and
88
+ * invitation matching unable to find the person.
89
+ */
90
+ export declare function sessionUserFrom(payload: SessionPayload): SessionUser;
41
91
  /** Whether an email's domain is on the self-signup allowlist. */
42
92
  export declare function emailDomainAllowed(email: string, cfg: AuthConfig): boolean;
43
93
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loginFlow.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/loginFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loginFlow.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/loginFlow.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { deleteCookie, getCookie, setCookie } from 'hono/cookie';
2
- import { ConflictError, NotFoundError } from '@cat-factory/kernel';
2
+ import { ConflictError, NotFoundError, UnauthorizedError } from '@cat-factory/kernel';
3
+ import { verifySession } from '../../auth/middleware.js';
3
4
  import { HmacSigner, TOKEN_AUDIENCE, } from '../../auth/signing.js';
4
5
  // ---------------------------------------------------------------------------
5
6
  // The shared mechanics of a BROWSER login round-trip, used by every provider that redirects:
@@ -84,12 +85,77 @@ export function sessionUser(user, login) {
84
85
  * Mint a user SESSION token, returning the signed token and the exact `exp` it committed to so a
85
86
  * caller can report the real expiry without a second clock read. Shared by every login path AND
86
87
  * the local-mode mothership-connect controller, so the session claim shape lives in one place.
88
+ *
89
+ * `generation` is the user's session generation, stamped into the token so revocation can
90
+ * invalidate it later. It is a REQUIRED parameter rather than something resolved in here, because
91
+ * this function takes a `SessionUser` (a display surface) and has no store to read: making each
92
+ * login path supply it is what forces every one of them to have looked. A mint that stamped a
93
+ * default would issue a token the revocation check could never refuse.
87
94
  */
88
- export async function mintSession(cfg, user) {
95
+ export async function mintSession(cfg, user, generation) {
89
96
  const exp = Date.now() + cfg.sessionTtlMs;
90
- const session = { ...user, aud: TOKEN_AUDIENCE.session, exp };
97
+ const session = { ...user, aud: TOKEN_AUDIENCE.session, exp, gen: generation };
91
98
  return { token: await new HmacSigner(cfg.sessionSecret).sign(session), exp };
92
99
  }
100
+ /**
101
+ * The generation to stamp into a session being minted for a user who was just resolved (or
102
+ * created) by a login flow.
103
+ *
104
+ * Reads PAST the cache (`refreshSessionGeneration`), which is the one difference from the
105
+ * accessor `verifySession` uses on the request path. Verification tolerates a bounded stale
106
+ * window on purpose; a mint cannot, because what it reads is stamped into a bearer that outlives
107
+ * the cache entry. A generation read one bump behind on a replica that missed the invalidation
108
+ * issues a token every replica refuses for its whole TTL, and the refusal spreads rather than
109
+ * heals as the caches that still agreed with it expire — a sign-in loop no waiting fixes. The
110
+ * refresh also repopulates this replica, so the token it just minted verifies here.
111
+ *
112
+ * A user the store cannot find falls back to `0`: the login path has this instant established
113
+ * that the user exists, so a null here is a read racing a create rather than an absent person,
114
+ * and `0` is the generation a fresh row carries. Getting it wrong costs one re-login, never an
115
+ * unrevocable token — a stamped generation BELOW the row's is refused, never admitted.
116
+ */
117
+ export async function sessionGenerationFor(c, userId) {
118
+ return (await c.get('container').userService.refreshSessionGeneration(userId)) ?? 0;
119
+ }
120
+ /**
121
+ * The caller's own session on a route mounted under a PUBLIC prefix, or a 401.
122
+ *
123
+ * `requireUser` (the `http/guards.ts` accessor every other controller reaches for) is WRONG here
124
+ * and reads as right, which is why this exists rather than being inlined. It narrows
125
+ * `c.get('user')`, and the only thing that ever sets that is `requireAuth` — which
126
+ * `mountAuthGate` deliberately does not run under `/auth`, because the login round-trips
127
+ * themselves must be reachable unauthenticated. A `requireUser` on an `/auth` route is therefore
128
+ * not a guard at all: it is an unconditional 401 that no test of the happy path can distinguish
129
+ * from a missing token.
130
+ *
131
+ * So the session is verified HERE, on the route, the same way `/auth/me` does it, and any future
132
+ * authenticated `/auth` route reaches for this instead of re-deriving the trap.
133
+ */
134
+ export async function requireSessionUser(c, message) {
135
+ const user = await verifySession(c);
136
+ if (!user)
137
+ throw new UnauthorizedError(message);
138
+ return user;
139
+ }
140
+ /**
141
+ * A verified session payload back down to the display surface a mint takes.
142
+ *
143
+ * Projected FIELD BY FIELD rather than spread or hand-picked at the call site. A spread would
144
+ * carry the OLD token's `aud`/`exp`/`gen` into the new session's claim object (harmless only
145
+ * because the mint happens to overwrite all three, which is not a property to depend on), and
146
+ * hand-picking is how `email` — optional on {@link SessionUser}, so its omission typechecks —
147
+ * was silently dropped from a re-minted token, leaving `/auth/me` reporting a null address and
148
+ * invitation matching unable to find the person.
149
+ */
150
+ export function sessionUserFrom(payload) {
151
+ return {
152
+ id: payload.id,
153
+ login: payload.login,
154
+ name: payload.name,
155
+ avatarUrl: payload.avatarUrl,
156
+ email: payload.email,
157
+ };
158
+ }
93
159
  /** Whether an email's domain is on the self-signup allowlist. */
94
160
  export function emailDomainAllowed(email, cfg) {
95
161
  const at = email.lastIndexOf('@');
@@ -1 +1 @@
1
- {"version":3,"file":"loginFlow.js","sourceRoot":"","sources":["../../../src/modules/auth/loginFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loginFlow.js","sourceRoot":"","sources":["../../../src/modules/auth/loginFlow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssoRoutes.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/ssoRoutes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAqBhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAuG/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAqFzD"}
1
+ {"version":3,"file":"ssoRoutes.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/ssoRoutes.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAqBhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAwG/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAkHzD"}