@open-everywhere/adapters 0.5.0 → 0.7.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 (75) hide show
  1. package/agent/directory/okta.ts +41 -2
  2. package/agent/meetings/native-http.ts +72 -0
  3. package/agent/meetings/native-meet.ts +173 -0
  4. package/agent/meetings/native-sources.ts +14 -0
  5. package/agent/meetings/native-teams.ts +119 -0
  6. package/agent/meetings/native-zoom.ts +98 -0
  7. package/agent/model/gateway.ts +44 -4
  8. package/agent/model/meeting-gateway.ts +88 -0
  9. package/agent/model/transcription-routes.ts +347 -0
  10. package/agent/oe-oauth/config.ts +71 -3
  11. package/agent/oe-oauth/errors.ts +17 -0
  12. package/agent/oe-oauth/oauth-client.ts +118 -2
  13. package/agent/oe-oauth/token-vault.ts +359 -8
  14. package/agent/register-defaults.ts +11 -0
  15. package/agent/sandbox/long-lived-box.ts +464 -0
  16. package/dist/agent/directory/okta.d.ts +10 -0
  17. package/dist/agent/directory/okta.d.ts.map +1 -1
  18. package/dist/agent/directory/okta.js +34 -2
  19. package/dist/agent/directory/okta.js.map +1 -1
  20. package/dist/agent/meetings/native-http.d.ts +22 -0
  21. package/dist/agent/meetings/native-http.d.ts.map +1 -0
  22. package/dist/agent/meetings/native-http.js +61 -0
  23. package/dist/agent/meetings/native-http.js.map +1 -0
  24. package/dist/agent/meetings/native-meet.d.ts +6 -0
  25. package/dist/agent/meetings/native-meet.d.ts.map +1 -0
  26. package/dist/agent/meetings/native-meet.js +176 -0
  27. package/dist/agent/meetings/native-meet.js.map +1 -0
  28. package/dist/agent/meetings/native-sources.d.ts +2 -0
  29. package/dist/agent/meetings/native-sources.d.ts.map +1 -0
  30. package/dist/agent/meetings/native-sources.js +13 -0
  31. package/dist/agent/meetings/native-sources.js.map +1 -0
  32. package/dist/agent/meetings/native-teams.d.ts +6 -0
  33. package/dist/agent/meetings/native-teams.d.ts.map +1 -0
  34. package/dist/agent/meetings/native-teams.js +118 -0
  35. package/dist/agent/meetings/native-teams.js.map +1 -0
  36. package/dist/agent/meetings/native-zoom.d.ts +7 -0
  37. package/dist/agent/meetings/native-zoom.d.ts.map +1 -0
  38. package/dist/agent/meetings/native-zoom.js +98 -0
  39. package/dist/agent/meetings/native-zoom.js.map +1 -0
  40. package/dist/agent/model/gateway.d.ts +10 -0
  41. package/dist/agent/model/gateway.d.ts.map +1 -1
  42. package/dist/agent/model/gateway.js +43 -5
  43. package/dist/agent/model/gateway.js.map +1 -1
  44. package/dist/agent/model/meeting-gateway.d.ts +24 -0
  45. package/dist/agent/model/meeting-gateway.d.ts.map +1 -0
  46. package/dist/agent/model/meeting-gateway.js +75 -0
  47. package/dist/agent/model/meeting-gateway.js.map +1 -0
  48. package/dist/agent/model/transcription-routes.d.ts +89 -0
  49. package/dist/agent/model/transcription-routes.d.ts.map +1 -0
  50. package/dist/agent/model/transcription-routes.js +279 -0
  51. package/dist/agent/model/transcription-routes.js.map +1 -0
  52. package/dist/agent/oe-oauth/config.d.ts +28 -2
  53. package/dist/agent/oe-oauth/config.d.ts.map +1 -1
  54. package/dist/agent/oe-oauth/config.js +40 -1
  55. package/dist/agent/oe-oauth/config.js.map +1 -1
  56. package/dist/agent/oe-oauth/errors.d.ts +14 -0
  57. package/dist/agent/oe-oauth/errors.d.ts.map +1 -1
  58. package/dist/agent/oe-oauth/errors.js +15 -0
  59. package/dist/agent/oe-oauth/errors.js.map +1 -1
  60. package/dist/agent/oe-oauth/oauth-client.d.ts +46 -0
  61. package/dist/agent/oe-oauth/oauth-client.d.ts.map +1 -1
  62. package/dist/agent/oe-oauth/oauth-client.js +82 -1
  63. package/dist/agent/oe-oauth/oauth-client.js.map +1 -1
  64. package/dist/agent/oe-oauth/token-vault.d.ts +15 -0
  65. package/dist/agent/oe-oauth/token-vault.d.ts.map +1 -1
  66. package/dist/agent/oe-oauth/token-vault.js +317 -7
  67. package/dist/agent/oe-oauth/token-vault.js.map +1 -1
  68. package/dist/agent/register-defaults.d.ts.map +1 -1
  69. package/dist/agent/register-defaults.js +9 -0
  70. package/dist/agent/register-defaults.js.map +1 -1
  71. package/dist/agent/sandbox/long-lived-box.d.ts +70 -0
  72. package/dist/agent/sandbox/long-lived-box.d.ts.map +1 -0
  73. package/dist/agent/sandbox/long-lived-box.js +414 -0
  74. package/dist/agent/sandbox/long-lived-box.js.map +1 -0
  75. package/package.json +39 -2
@@ -1,14 +1,25 @@
1
1
  // The own-rolled OAuth token vault — DCR client, pending-authorization and token records over core's
2
2
  // encrypted KV. Refresh is single-flight in-process AND cross-process, because the provider ROTATES tokens.
3
- import { agentDisplayName, encryptedKvVault, getSecretVia, OE_OAUTH_CALLBACK_PATH } from "@open-everywhere/core/agent/adapter-api.js";
4
- import { isStaticConfidential, OE_OAUTH_MODE_STATIC } from "./config.js";
5
- import { discoverEndpoints, registerClient, buildAuthorizationUrl, buildStaticAuthorizationUrl, exchangeCode, exchangeCodeConfidential, refreshToken, refreshTokenConfidential, revokeToken, revokeTokenConfidential, } from "./oauth-client.js";
6
- import { randomUUID } from "node:crypto";
3
+ import { agentDisplayName, checkXaaIdentityBinding, encryptedKvVault, recordXaaRefusal, getSecretVia, OE_OAUTH_CALLBACK_PATH, verifyOidcIdToken, } from "@open-everywhere/core/agent/adapter-api.js";
4
+ import { isStaticConfidential, isXaa, OE_OAUTH_MODE_STATIC, OE_OAUTH_MODE_XAA, } from "./config.js";
5
+ import { discoverEndpoints, registerClient, buildAuthorizationUrl, buildStaticAuthorizationUrl, exchangeCode, exchangeCodeConfidential, refreshToken, refreshTokenConfidential, revokeToken, revokeTokenConfidential, discoverOidc, fetchJwks, requestIdJag, jwtBearerGrant, } from "./oauth-client.js";
6
+ import { createHash, randomUUID } from "node:crypto";
7
7
  import { makePkce, makeState } from "./pkce.js";
8
- import { OeOauthNeedsConsentError, OeOauthNeedsReconsentError, OeOauthRefreshContendedError, isInvalidGrant } from "./errors.js";
8
+ import { OeOauthAccessRemovedError, OeOauthNeedsConsentError, OeOauthNeedsReconsentError, OeOauthRefreshContendedError, isInvalidGrant } from "./errors.js";
9
9
  function isStaticClient(rec) {
10
10
  return rec.mode === OE_OAUTH_MODE_STATIC;
11
11
  }
12
+ /** The IdP scopes the Cross App Access sign-in asks for: an id token (`openid`) and a refresh token to exchange
13
+ * (`offline_access`). Fixed — the app's own scopes ride leg 1 and leg 2, never this sign-in. */
14
+ const XAA_IDP_SCOPES = ["openid", "offline_access"];
15
+ /** RFC 6749 / 8693 error codes that mean the IdP REFUSED this person's ID-JAG on policy (the admin removed the
16
+ * pairing or the assignment). `invalid_grant` is NOT here: it means the IdP sign-in itself lapsed, and a new
17
+ * sign-in fixes that. */
18
+ const XAA_IDP_REFUSALS = new Set(["access_denied", "unauthorized_client", "invalid_target"]);
19
+ /** Error codes that mean the APP refused the ID-JAG for this person. No new sign-in fixes these. */
20
+ const XAA_APP_REFUSALS = new Set(["invalid_grant", "access_denied", "unauthorized_client"]);
21
+ /** How long a discovered OIDC document is reused before it is fetched again. */
22
+ const OIDC_DISCOVERY_TTL_MS = 60 * 60 * 1000;
12
23
  const DEFAULT_PENDING_TTL_MS = 15 * 60 * 1000; // 15 min consent window
13
24
  const DEFAULT_EXPIRY_SKEW_MS = 60 * 1000; // refresh when within 60s of expiry
14
25
  // How long an expired pending row is KEPT before the sweep destroys it. Not a security window — completion
@@ -51,9 +62,17 @@ export function makeOeOauthTokenVault(source, deps = {}) {
51
62
  const newClaimId = deps.newClaimId ?? (() => randomUUID());
52
63
  const sleep = deps.sleep ?? realSleep;
53
64
  const resolveSecret = deps.resolveSecret ?? ((broker, ref) => getSecretVia(broker, ref));
65
+ const newNonce = deps.newNonce ?? makeState;
66
+ const verifyIdToken = deps.verifyIdToken ?? verifyOidcIdToken;
67
+ const bindIdentity = deps.bindIdentity ?? checkXaaIdentityBinding;
68
+ const recordRefusal = deps.recordRefusal ?? recordXaaRefusal;
54
69
  const dcrRef = (providerRef) => `oe-oauth:dcr:${providerRef}`;
55
70
  const pendRef = (state) => `oe-oauth:pend:${state}`;
56
71
  const tokRef = (providerRef, subject) => `oe-oauth:tok:${providerRef}:${subjectKey(subject)}`;
72
+ // The IdP grant is keyed by the IdP CLIENT (issuer + client id), not by the connection: every `xaa` connection
73
+ // that names the same IdP client shares one person's sign-in. Hashed so the ref carries no URL punctuation.
74
+ const idpKey = (cfg) => createHash("sha256").update(`${cfg.idpIssuer}\n${cfg.idpClientId}`).digest("hex").slice(0, 32);
75
+ const idpRef = (cfg, subject) => `oe-oauth:xaa-idp:${idpKey(cfg)}:${subjectKey(subject)}`;
57
76
  function providerConfig(providerRef) {
58
77
  const cfg = providersNow().get(providerRef);
59
78
  if (!cfg) {
@@ -91,6 +110,8 @@ export function makeOeOauthTokenVault(source, deps = {}) {
91
110
  // directly gets an error instead of a discovery request built from an absent `resource`.
92
111
  if (isStaticConfidential(cfg))
93
112
  throw new Error(`connection "${providerRef}": declares the "${OE_OAUTH_MODE_STATIC}" mode, which registers no dynamic client.`);
113
+ if (isXaa(cfg))
114
+ throw new Error(`connection "${providerRef}": declares the "${OE_OAUTH_MODE_XAA}" mode, which registers no dynamic client.`);
94
115
  return vault.withLock(dcrRef(providerRef), async () => {
95
116
  const again = await readJson(dcrRef(providerRef));
96
117
  if (again && !dcrRecordNeedsBackfill(again))
@@ -175,6 +196,231 @@ export function makeOeOauthTokenVault(source, deps = {}) {
175
196
  ...(cfg.tokenHeaders ? { headers: cfg.tokenHeaders } : {}),
176
197
  };
177
198
  }
199
+ /** A confidential client for one `xaa` leg, secret read through its broker PER CALL. The error names the ref. */
200
+ async function xaaClient(cfg, leg) {
201
+ const [clientId, secretRef, broker] = leg === "idp" ? [cfg.idpClientId, cfg.idpClientSecretRef, cfg.idpClientSecretBroker] : [cfg.resourceClientId, cfg.resourceClientSecretRef, cfg.resourceClientSecretBroker];
202
+ const secret = await resolveSecret(broker, secretRef);
203
+ if (typeof secret !== "string" || secret === "") {
204
+ throw new Error(`connection "${cfg.ref}": the ${leg === "idp" ? "identity-provider" : "app"} client secret at ref "${secretRef}" (broker "${broker}") has no stored value — ` +
205
+ `store it with \`oe secret set ${secretRef}\` before this connection can mint a token.`);
206
+ }
207
+ return { clientId, clientSecret: secret, bodyEncoding: "form" };
208
+ }
209
+ // The IdP's discovered endpoints, per issuer, reused for an hour: every mint's leg 1 needs the token endpoint,
210
+ // and a discovery hop per mint would double the IdP traffic for nothing.
211
+ const oidcCache = new Map();
212
+ async function oidcFor(cfg) {
213
+ const hit = oidcCache.get(cfg.idpIssuer);
214
+ if (hit && now() - hit.at < OIDC_DISCOVERY_TTL_MS)
215
+ return hit.endpoints;
216
+ const endpoints = await discoverOidc(cfg.idpIssuer, doFetch);
217
+ oidcCache.set(cfg.idpIssuer, { at: now(), endpoints });
218
+ return endpoints;
219
+ }
220
+ /** An `xaa` connection acts only AS A PERSON: the ID-JAG names a human. There is no service account to mint. */
221
+ function requireXaaPerson(providerRef, subject) {
222
+ if (subject.type !== "user") {
223
+ throw new Error(`connection "${providerRef}": the "${OE_OAUTH_MODE_XAA}" sign-in acts only as a person — it has no service account to mint for.`);
224
+ }
225
+ }
226
+ /**
227
+ * Start the person's IdP sign-in for an `xaa` connection: OIDC auth code with PKCE and a nonce, `openid` +
228
+ * `offline_access`. The pending row is the same shape as the other dialects', stamped `mode: "xaa"`.
229
+ */
230
+ async function xaaStartAuthorization(cfg, subject, options) {
231
+ requireXaaPerson(cfg.ref, subject);
232
+ const oidc = await oidcFor(cfg);
233
+ const redirectUri = redirectUriOf();
234
+ if (!redirectUri)
235
+ throw new Error(`connection "${cfg.ref}": OE_PUBLIC_BASE_URL is unset — cannot build a redirect_uri.`);
236
+ const state = newState();
237
+ const pkce = newPkce();
238
+ const nonce = newNonce();
239
+ const pending = {
240
+ providerRef: cfg.ref,
241
+ subject,
242
+ pkceVerifier: pkce.verifier,
243
+ tokenEndpoint: oidc.tokenEndpoint,
244
+ clientId: cfg.idpClientId,
245
+ mode: OE_OAUTH_MODE_XAA,
246
+ nonce,
247
+ redirectUri,
248
+ scopes: XAA_IDP_SCOPES,
249
+ createdAt: now(),
250
+ expiresAt: now() + (options.expiresInMs ?? pendingTtl),
251
+ ...(options.consent ? { consent: options.consent } : {}),
252
+ };
253
+ await vault.write(pendRef(state), JSON.stringify(pending), { connector: cfg.ref });
254
+ // The PKCE pair and the nonce ride `extraParams`: this function's own parameters (client_id, redirect_uri,
255
+ // state, scope) are applied after them and win, so nothing here can be overridden.
256
+ const url = buildStaticAuthorizationUrl({
257
+ authorizationEndpoint: oidc.authorizationEndpoint,
258
+ clientId: cfg.idpClientId,
259
+ redirectUri,
260
+ state,
261
+ scopes: XAA_IDP_SCOPES,
262
+ extraParams: { nonce, code_challenge: pkce.challenge, code_challenge_method: "S256" },
263
+ });
264
+ return { url };
265
+ }
266
+ /**
267
+ * Complete an `xaa` sign-in: exchange the code at the IdP, VERIFY the id token (signature, iss, aud, nonce), and
268
+ * admit the sign-in only when the identity-link plane confirms the IdP account is the requester's own. Then store
269
+ * the person's IdP refresh token as their IdP grant. A refusal SPENDS the link (the pending row is consumed).
270
+ */
271
+ async function xaaCompleteAuthorization(state, pending, code) {
272
+ const cfg = providersNow().get(pending.providerRef);
273
+ if (cfg === undefined || !isXaa(cfg) || cfg.idpClientId !== pending.clientId) {
274
+ throw new Error(`connection "${pending.providerRef}": this sign-in started under an "${OE_OAUTH_MODE_XAA}" declaration that no longer stands — start again.`);
275
+ }
276
+ const spend = () => vault.write(pendRef(state), JSON.stringify({ ...pending, consumed: true, pkceVerifier: "", nonce: "", consent: undefined }), { connector: pending.providerRef });
277
+ const tok = await exchangeCodeConfidential(pending.tokenEndpoint, { code, redirectUri: pending.redirectUri, codeVerifier: pending.pkceVerifier }, await xaaClient(cfg, "idp"), doFetch);
278
+ let signer;
279
+ try {
280
+ if (!tok.id_token)
281
+ throw new Error("the IdP returned no id token");
282
+ const oidc = await oidcFor(cfg);
283
+ signer = (await verifyIdToken(tok.id_token, { jwks: (await fetchJwks(oidc.jwksUri, doFetch)), issuer: cfg.idpIssuer, audience: cfg.idpClientId, nonce: pending.nonce ?? "" })).sub;
284
+ }
285
+ catch (e) {
286
+ await spend();
287
+ const reason = e instanceof Error ? e.message : String(e);
288
+ // Every refused attempt leaves one audit row — a forged or replayed id token most of all.
289
+ if (pending.subject.type === "user")
290
+ await recordRefusal({ principalSubject: pending.subject.id, connection: pending.providerRef, reason });
291
+ throw new Error(`connection "${pending.providerRef}": the identity-provider sign-in was refused — ${reason}.`);
292
+ }
293
+ if (pending.subject.type !== "user") {
294
+ await spend();
295
+ throw new Error(`connection "${pending.providerRef}": the "${OE_OAUTH_MODE_XAA}" sign-in acts only as a person.`);
296
+ }
297
+ // 🔴 THE BINDING. Whoever opened the link signed in; the grant is stored for the requester only when that IdP
298
+ // account is a CONFIRMED account of theirs. Otherwise one person could mint another person's app tokens.
299
+ const verdict = await bindIdentity({ principalSubject: pending.subject.id, signerSubject: signer, connection: pending.providerRef });
300
+ if (!verdict.ok) {
301
+ await spend();
302
+ throw new Error(`connection "${pending.providerRef}": the identity-provider sign-in was refused — ${verdict.reason}.`);
303
+ }
304
+ if (!tok.refresh_token) {
305
+ await spend();
306
+ await recordRefusal({ principalSubject: pending.subject.id, connection: pending.providerRef, reason: "the IdP returned no refresh token", signerSubject: verdict.idpNativeId });
307
+ throw new Error(`connection "${pending.providerRef}": the IdP returned no refresh token — the OE app at the IdP must allow the refresh-token grant and the offline_access scope.`);
308
+ }
309
+ const gRef = idpRef(cfg, pending.subject);
310
+ const rebound = (await readJson(gRef)) !== null;
311
+ const grant = { refreshToken: tok.refresh_token, idpSubject: verdict.idpNativeId, obtainedAt: now() };
312
+ await vault.write(gRef, JSON.stringify(grant), { connector: pending.providerRef });
313
+ await spend();
314
+ return { rebound };
315
+ }
316
+ /** The RFC 6749 `error` code an upstream failure carried, if any. */
317
+ function oauthErrorOf(e) {
318
+ const code = e?.oauthError;
319
+ return typeof code === "string" ? code.toLowerCase() : undefined;
320
+ }
321
+ /** ONE `xaa` mint, run by the claim winner: leg 1 at the IdP, leg 2 at the app, then cache the app token for its
322
+ * lifetime. Never a refresh token from the app — a re-mint is the only refresh. */
323
+ async function xaaMint(cfg, providerRef, subject, grant) {
324
+ const oidc = await oidcFor(cfg);
325
+ const legParams = { ...(cfg.resource ? { resource: cfg.resource } : {}), ...(cfg.scopes ? { scopes: cfg.scopes } : {}) };
326
+ let idJag;
327
+ try {
328
+ idJag = await requestIdJag(oidc.tokenEndpoint, { subjectToken: grant.refreshToken, audience: cfg.audience, ...legParams }, await xaaClient(cfg, "idp"), doFetch);
329
+ }
330
+ catch (e) {
331
+ const code = oauthErrorOf(e);
332
+ if (code === "invalid_grant")
333
+ throw new OeOauthNeedsReconsentError(providerRef, subject, "the identity-provider sign-in is no longer valid (invalid_grant)");
334
+ if (code !== undefined && XAA_IDP_REFUSALS.has(code))
335
+ throw new OeOauthAccessRemovedError(providerRef, subject, "idp", code);
336
+ throw e;
337
+ }
338
+ let tok;
339
+ try {
340
+ tok = await jwtBearerGrant(cfg.resourceTokenEndpoint, { assertion: idJag, ...legParams }, await xaaClient(cfg, "app"), doFetch);
341
+ }
342
+ catch (e) {
343
+ const code = oauthErrorOf(e);
344
+ if (code !== undefined && XAA_APP_REFUSALS.has(code))
345
+ throw new OeOauthAccessRemovedError(providerRef, subject, "app", code);
346
+ throw e;
347
+ }
348
+ const { refresh_token: _ignored, ...withoutRefresh } = tok;
349
+ return (await storeToken(providerRef, subject, withoutRefresh)).accessToken;
350
+ }
351
+ /**
352
+ * Read-or-mint an `xaa` connection's app token. A cached token serves until its expiry (less the skew), so a
353
+ * person costs ONE mint per token lifetime — the IdP caps ID-JAGs per person per app per month. The CROSS-PROCESS
354
+ * claim sits on the person's IdP GRANT row (it always exists here; the app-token row may not yet), and a loser
355
+ * polls for the winner's token or for the claim to come free, bounded like the refresh path.
356
+ */
357
+ async function xaaAccessTokenFor(cfg, providerRef, subject) {
358
+ requireXaaPerson(providerRef, subject);
359
+ const ref = tokRef(providerRef, subject);
360
+ const fast = await readJson(ref);
361
+ if (fast && !isExpired(fast))
362
+ return fast.accessToken;
363
+ const gRef = idpRef(cfg, subject);
364
+ return vault.withLock(ref, async () => {
365
+ const deadline = now() + LOSER_WAIT_BUDGET_MS;
366
+ for (;;) {
367
+ const rec = await readJson(ref);
368
+ if (rec && !isExpired(rec))
369
+ return rec.accessToken;
370
+ const grant = await readJson(gRef);
371
+ if (!grant)
372
+ throw new OeOauthNeedsConsentError(providerRef, subject);
373
+ const claimId = newClaimId();
374
+ if (await vault.claim(gRef, claimId, now(), CLAIM_LEASE_TTL_MS)) {
375
+ try {
376
+ // Another process may have minted and released between our read and our claim: adopt its token.
377
+ const won = await readJson(ref);
378
+ if (won && !isExpired(won))
379
+ return won.accessToken;
380
+ // 🔴 RE-CHECK THE BINDING AT EACH MINT, not only at sign-in. An operator who revokes the `okta` link or
381
+ // suspends the set must stop the minting at once; the stored grant alone would keep minting until the
382
+ // IdP refresh token dies. The check runs per MINT (once per token lifetime), never per cached read.
383
+ const still = await bindIdentity({ principalSubject: subject.id, signerSubject: grant.idpSubject, connection: providerRef, stage: "mint" });
384
+ // An UNREADABLE link plane says nothing about the person: refuse this mint, keep the grant, and let a
385
+ // retry succeed. Only a definite refusal (the link is gone) deletes the grant.
386
+ if (!still.ok && still.unreadable) {
387
+ throw new Error(`connection "${providerRef}": the identity-link plane could not be read, so the Okta grant could not be re-checked — retry.`);
388
+ }
389
+ if (!still.ok) {
390
+ await vault.delete(gRef);
391
+ throw new OeOauthNeedsConsentError(providerRef, subject);
392
+ }
393
+ return await xaaMint(cfg, providerRef, subject, grant);
394
+ }
395
+ finally {
396
+ await vault.releaseClaim(gRef, claimId);
397
+ }
398
+ }
399
+ if (now() >= deadline)
400
+ throw new OeOauthRefreshContendedError(providerRef, subject);
401
+ await sleep(LOSER_POLL_MS);
402
+ }
403
+ });
404
+ }
405
+ /** Purge a person's IdP grant: revoke the IdP refresh token at the IdP (best-effort), then delete the row. */
406
+ async function forgetIdpGrant(cfg, subject) {
407
+ const gRef = idpRef(cfg, subject);
408
+ return vault.withLock(gRef, async () => {
409
+ const grant = await readJson(gRef);
410
+ if (grant) {
411
+ try {
412
+ const oidc = await oidcFor(cfg);
413
+ if (oidc.revocationEndpoint) {
414
+ await revokeTokenConfidential(oidc.revocationEndpoint, { token: grant.refreshToken, tokenTypeHint: "refresh_token" }, await xaaClient(cfg, "idp"), doFetch);
415
+ }
416
+ }
417
+ catch (e) {
418
+ console.warn(`[oe-oauth] IdP revocation failed for "${cfg.ref}" (purging locally anyway): ${e instanceof Error ? e.message : String(e)}`);
419
+ }
420
+ }
421
+ return vault.delete(gRef);
422
+ });
423
+ }
178
424
  /**
179
425
  * Exchange the callback's `code` against ONE pending row, in the dialect that row was minted in.
180
426
  * 🔴 The row's stamp and the live config must AGREE: a disagreement is REFUSED rather than resolved.
@@ -184,6 +430,9 @@ export function makeOeOauthTokenVault(source, deps = {}) {
184
430
  // mode existed, and it must not start failing on a config-absent ref now. The drift check below
185
431
  // therefore runs only when there IS a config to compare against.
186
432
  const cfg = providersNow().get(pending.providerRef);
433
+ if (cfg !== undefined && isXaa(cfg)) {
434
+ throw new Error(`connection "${pending.providerRef}": this authorization started under another dialect, but the provider config now declares "${OE_OAUTH_MODE_XAA}" — start again.`);
435
+ }
187
436
  const startedStatic = pending.mode === OE_OAUTH_MODE_STATIC;
188
437
  if (cfg !== undefined && isStaticConfidential(cfg) !== startedStatic) {
189
438
  throw new Error(`connection "${pending.providerRef}": this authorization started as ${startedStatic ? "a static confidential client" : "a public PKCE client"}, ` +
@@ -317,7 +566,45 @@ export function makeOeOauthTokenVault(source, deps = {}) {
317
566
  lastError = e;
318
567
  }
319
568
  }
320
- if (failures > 0 && purged === 0 && failures === all.size)
569
+ // (OPE-2453) A person's IdP grant is shared by every `xaa` connection naming one IdP client, so it is purged
570
+ // once per IdP client, after the per-connection rows. It is the credential that mints all of them.
571
+ const seenIdp = new Set();
572
+ for (const cfg of all.values()) {
573
+ if (!isXaa(cfg) || seenIdp.has(idpKey(cfg)))
574
+ continue;
575
+ seenIdp.add(idpKey(cfg));
576
+ try {
577
+ if (await forgetIdpGrant(cfg, subject))
578
+ purged++;
579
+ }
580
+ catch (e) {
581
+ failures++;
582
+ lastError = e;
583
+ }
584
+ }
585
+ // An IdP grant whose declaration is GONE is still a live IdP refresh token at rest. With no config there is no
586
+ // client to revoke it with, so it is deleted locally and the gap is said out loud.
587
+ // The ref is `oe-oauth:xaa-idp:<32 hex>:<subject key>`; the subject key is matched EXACTLY, never by suffix.
588
+ const covered = new Set([...all.values()].filter(isXaa).map((cfg) => idpRef(cfg, subject)));
589
+ const orphanRef = /^oe-oauth:xaa-idp:[0-9a-f]{32}:(.*)$/u;
590
+ let orphanFailed = false;
591
+ try {
592
+ for (const ref of await vault.listRefs("oe-oauth:xaa-idp:")) {
593
+ if (orphanRef.exec(ref)?.[1] !== subjectKey(subject) || covered.has(ref))
594
+ continue;
595
+ console.warn(`[oe-oauth] an IdP grant with no declared xaa connection was deleted locally — it could not be revoked at the IdP.`);
596
+ if (await vault.delete(ref))
597
+ purged++;
598
+ }
599
+ }
600
+ catch (e) {
601
+ failures++;
602
+ lastError = e;
603
+ orphanFailed = true;
604
+ }
605
+ // "Every purge attempt failed" counts only the attempts that ran: the orphan sweep is one attempt only when
606
+ // it failed. Counting it always would let a purge where every provider failed return 0 with no error.
607
+ if (failures > 0 && purged === 0 && failures === all.size + seenIdp.size + (orphanFailed ? 1 : 0))
321
608
  throw lastError;
322
609
  return purged;
323
610
  },
@@ -328,13 +615,29 @@ export function makeOeOauthTokenVault(source, deps = {}) {
328
615
  * counts as absent (mirrors the mint's readJson semantics — fail toward re-consent, never crash).
329
616
  */
330
617
  async hasToken(providerRef, subject) {
331
- return (await readJson(tokRef(providerRef, subject))) !== null;
618
+ if ((await readJson(tokRef(providerRef, subject))) !== null)
619
+ return true;
620
+ // (OPE-2453) For an `xaa` connection the person's GRANT is their IdP sign-in: with it, the next mint
621
+ // succeeds with no consent screen, even for an app this person has never used.
622
+ const cfg = providersNow().get(providerRef);
623
+ return cfg !== undefined && isXaa(cfg) && (await readJson(idpRef(cfg, subject))) !== null;
332
624
  },
333
625
  /**
334
626
  * Start an interactive authorization: ensure the client, mint PKCE and an opaque state, persist the pending
335
627
  * row, and return the URL. It ALSO sweeps the expired pending rows, LAST and best-effort.
336
628
  */
337
629
  async startAuthorization(providerRef, subject, options) {
630
+ const xaaCfg = providersNow().get(providerRef);
631
+ if (xaaCfg !== undefined && isXaa(xaaCfg)) {
632
+ const out = await xaaStartAuthorization(xaaCfg, subject, options);
633
+ try {
634
+ await sweepExpiredPending();
635
+ }
636
+ catch (e) {
637
+ console.warn(`[oe-oauth] the expired-pending sweep failed (the authorization URL is unaffected): ${e instanceof Error ? e.message : String(e)}`);
638
+ }
639
+ return out;
640
+ }
338
641
  const client = await ensureClient(providerRef);
339
642
  const redirectUri = redirectUriOf();
340
643
  if (!redirectUri)
@@ -399,6 +702,10 @@ export function makeOeOauthTokenVault(source, deps = {}) {
399
702
  throw new Error("authorization state already used");
400
703
  if (now() > pending.expiresAt)
401
704
  throw new Error("authorization state expired");
705
+ if (pending.mode === OE_OAUTH_MODE_XAA) {
706
+ const { rebound } = await xaaCompleteAuthorization(state, pending, code);
707
+ return { providerRef: pending.providerRef, subject: pending.subject, rebound, ...(pending.consent ? { consent: pending.consent } : {}) };
708
+ }
402
709
  const tok = await exchangeForPending(pending, code);
403
710
  // 🔴 READ BEFORE THE WRITE. `storeToken` writes the row unconditionally (last-write-wins), so the
404
711
  // only moment the REBIND is observable is here, before it. A second admin replacing the app row
@@ -428,6 +735,9 @@ export function makeOeOauthTokenVault(source, deps = {}) {
428
735
  * single-flight runs — an in-process mutex, then a cross-process row CLAIM that elects ONE refresher.
429
736
  */
430
737
  async accessTokenFor(providerRef, subject) {
738
+ const xaaCfg = providersNow().get(providerRef);
739
+ if (xaaCfg !== undefined && isXaa(xaaCfg))
740
+ return xaaAccessTokenFor(xaaCfg, providerRef, subject);
431
741
  const ref = tokRef(providerRef, subject);
432
742
  const fast = await readJson(ref);
433
743
  if (!fast)
@@ -1 +1 @@
1
- {"version":3,"file":"token-vault.js","sourceRoot":"","sources":["../../../agent/oe-oauth/token-vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-vault.js","sourceRoot":"","sources":["../../../agent/oe-oauth/token-vault.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,4GAA4G;AAG5G,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,KAAK,EACL,oBAAoB,EACpB,iBAAiB,GAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyC5J,SAAS,cAAc,CAAC,GAAiB;IACvC,OAAQ,GAA0B,CAAC,IAAI,KAAK,oBAAoB,CAAC;AACnE,CAAC;AAuDD;iGACiG;AACjG,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAU,CAAC;AAE7D;;0BAE0B;AAC1B,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAClH,oGAAoG;AACpG,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAEjH,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAW7C,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,wBAAwB;AACvE,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oCAAoC;AAE9E,2GAA2G;AAC3G,kGAAkG;AAClG,MAAM,4BAA4B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,6GAA6G;AAC7G,iGAAiG;AACjG,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,6GAA6G;AAC7G,wGAAwG;AACxG,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,2EAA2E;AAC3E,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,SAAS,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAyCvF,SAAS,UAAU,CAAC,OAAuB;IACzC,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;IACzE,OAAO,GAAG,UAAU,GAAG,sBAAsB,EAAE,CAAC;AAClD,CAAC;AAMD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B,EAAE,IAAI,GAAqB,EAAE;IAC9F,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAa,EAAE,IAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC;IAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,IAAI,4BAA4B,CAAC;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,MAA0B,EAAE,GAAW,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,uBAAuB,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAE7D,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE,CAAC,gBAAgB,WAAW,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,iBAAiB,KAAK,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,OAAuB,EAAE,EAAE,CAAC,gBAAgB,WAAW,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACtH,+GAA+G;IAC/G,4GAA4G;IAC5G,MAAM,MAAM,GAAG,CAAC,GAA6B,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjJ,MAAM,MAAM,GAAG,CAAC,GAA6B,EAAE,OAAuB,EAAE,EAAE,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAEpI,SAAS,cAAc,CAAC,WAAmB;QACzC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,uKAAuK,CAClM,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,UAAU,QAAQ,CAAI,GAAW;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,wFAAwF;QACvG,CAAC;IACH,CAAC;IAED;;gGAE4F;IAC5F,SAAS,sBAAsB,CAAC,GAAoB;QAClD,OAAO,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC;IAC9C,CAAC;IAED;;0FAEsF;IACtF,KAAK,UAAU,eAAe,CAAC,WAAmB;QAChD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAkB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACtE,IAAI,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnE,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACxC,0FAA0F;QAC1F,+FAA+F;QAC/F,yFAAyF;QACzF,IAAI,oBAAoB,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,oBAAoB,oBAAoB,4CAA4C,CAAC,CAAC;QAC/J,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,oBAAoB,iBAAiB,4CAA4C,CAAC,CAAC;QAC7I,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAkB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACnE,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,sCAAsC;YACjG,IAAI,KAAK,EAAE,CAAC;gBACV,yFAAyF;gBACzF,sFAAsF;gBACtF,0EAA0E;gBAC1E,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACjE,IAAI,SAAS,CAAC,kBAAkB,KAAK,SAAS;wBAAE,OAAO,KAAK,CAAC,CAAC,+BAA+B;oBAC7F,MAAM,UAAU,GAAoB,EAAE,GAAG,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC;oBACnG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC/F,OAAO,UAAU,CAAC;gBACpB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,iDAAiD,WAAW,gCAAgC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvJ,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,uFAAuF,CAAC,CAAC;YACrI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CACvC,SAAS,CAAC,oBAAoB;YAC9B,0FAA0F;YAC1F,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,gBAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAChH,OAAO,CACR,CAAC;YACF,MAAM,MAAM,GAAoB;gBAC9B,QAAQ;gBACR,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB;gBACpD,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,YAAY,EAAE,GAAG,EAAE;aACpB,CAAC;YACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3F,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;qGACiG;IACjG,SAAS,YAAY,CAAC,GAAgC;QACpD,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;YAChD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,YAAY,CAAC,WAAmB;QAC7C,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,GAAG,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,qBAAqB,CAAC,GAAgC;QACnE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,eAAe,GAAG,CAAC,GAAG,sCAAsC,GAAG,CAAC,eAAe,cAAc,GAAG,CAAC,kBAAkB,2BAA2B;gBAC5I,iCAAiC,GAAG,CAAC,eAAe,6CAA6C,CACpG,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,iHAAiH;IACjH,KAAK,UAAU,SAAS,CAAC,GAA6B,EAAE,GAAkB;QACxE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,GACjC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC7K,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,eAAe,GAAG,CAAC,GAAG,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,0BAA0B,SAAS,cAAc,MAAM,2BAA2B;gBAC3J,iCAAiC,SAAS,6CAA6C,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClE,CAAC;IAED,+GAA+G;IAC/G,yEAAyE;IACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsE,CAAC;IAChG,KAAK,UAAU,OAAO,CAAC,GAA6B;QAClD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,qBAAqB;YAAE,OAAO,GAAG,CAAC,SAAS,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gHAAgH;IAChH,SAAS,gBAAgB,CAAC,WAAmB,EAAE,OAAuB;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,WAAW,iBAAiB,0EAA0E,CAAC,CAAC;QACpJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,qBAAqB,CAClC,GAA6B,EAC7B,OAAuB,EACvB,OAAsE;QAEtE,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,+DAA+D,CAAC,CAAC;QACzH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAkB;YAC7B,WAAW,EAAE,GAAG,CAAC,GAAG;YACpB,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,QAAQ;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,GAAG,CAAC,WAAW;YACzB,IAAI,EAAE,iBAAiB;YACvB,KAAK;YACL,WAAW;YACX,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,GAAG,EAAE;YAChB,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;YACtD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,2GAA2G;QAC3G,mFAAmF;QACnF,MAAM,GAAG,GAAG,2BAA2B,CAAC;YACtC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,QAAQ,EAAE,GAAG,CAAC,WAAW;YACzB,WAAW;YACX,KAAK;YACL,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE;SACtF,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,wBAAwB,CAAC,KAAa,EAAE,OAAsB,EAAE,IAAY;QACzF,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,qCAAqC,iBAAiB,oDAAoD,CAAC,CAAC;QAChK,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACrL,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACxL,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAoD,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACxO,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,0FAA0F;YAC1F,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5I,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,kDAAkD,MAAM,GAAG,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,WAAW,iBAAiB,kCAAkC,CAAC,CAAC;QACpH,CAAC;QACD,8GAA8G;QAC9G,yGAAyG;QACzG,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACrI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,kDAAkD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACzH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,KAAK,EAAE,CAAC;YACd,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,mCAAmC,EAAE,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAChL,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,+HAA+H,CAAC,CAAC;QACrL,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAiB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;QAChE,MAAM,KAAK,GAAmB,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;QACtH,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,MAAM,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,qEAAqE;IACrE,SAAS,YAAY,CAAC,CAAU;QAC9B,MAAM,IAAI,GAAI,CAAqC,EAAE,UAAU,CAAC;QAChE,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;wFACoF;IACpF,KAAK,UAAU,OAAO,CAAC,GAA6B,EAAE,WAAmB,EAAE,OAAuB,EAAE,KAAqB;QACvH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzH,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACnK,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,eAAe;gBAAE,MAAM,IAAI,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,kEAAkE,CAAC,CAAC;YAC7J,IAAI,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7H,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,GAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QAClI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7H,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,CAAC;QAC3D,OAAO,CAAC,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACH,KAAK,UAAU,iBAAiB,CAAC,GAA6B,EAAE,WAAmB,EAAE,OAAuB;QAC1G,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC;YAC9C,SAAS,CAAC;gBACR,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;gBAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC,WAAW,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAiB,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC;wBACH,gGAAgG;wBAChG,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;wBAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;4BAAE,OAAO,GAAG,CAAC,WAAW,CAAC;wBACnD,wGAAwG;wBACxG,sGAAsG;wBACtG,oGAAoG;wBACpG,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;wBAC5I,sGAAsG;wBACtG,+EAA+E;wBAC/E,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAClC,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,kGAAkG,CAAC,CAAC;wBAChJ,CAAC;wBACD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;4BACd,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACzB,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;wBAC3D,CAAC;wBACD,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oBACzD,CAAC;4BAAS,CAAC;wBACT,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,EAAE,IAAI,QAAQ;oBAAE,MAAM,IAAI,4BAA4B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACpF,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8GAA8G;IAC9G,KAAK,UAAU,cAAc,CAAC,GAA6B,EAAE,OAAuB;QAClF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAiB,IAAI,CAAC,CAAC;YACnD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5B,MAAM,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC9J,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,GAAG,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5I,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,kBAAkB,CAAC,OAAsB,EAAE,IAAY;QACpE,iGAAiG;QACjG,gGAAgG;QAChG,iEAAiE;QACjE,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,8FAA8F,iBAAiB,kBAAkB,CAAC,CAAC;QACvL,CAAC;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC;QAC5D,IAAI,GAAG,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,CAAC,WAAW,oCAAoC,aAAa,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,sBAAsB,IAAI;gBAC/I,qEAAqE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,4HAA4H,CAAC,CAAC;YAClL,CAAC;YACD,OAAO,wBAAwB,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,qBAAqB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAChJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,2EAA2E,CAAC,CAAC;QACtJ,OAAO,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1L,CAAC;IAED,SAAS,SAAS,CAAC,GAAgB;QACjC,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACtE,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,WAAmB,EAAE,OAAuB,EAAE,GAAuB,EAAE,YAAqB;QACpH,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC,qDAAqD;QACxG,MAAM,MAAM,GAAgB;YAC1B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,UAAU,EAAE,GAAG,EAAE;SAClB,CAAC;QACF,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,MAAM,CAAC,WAAmB,EAAE,OAAuB;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACR,4FAA4F;gBAC5F,yFAAyF;gBACzF,wFAAwF;gBACxF,+EAA+E;gBAC/E,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAwB,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAkB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAChJ,sFAAsF;gBACtF,wDAAwD;gBACxD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC;gBAClD,IAAI,MAAM,EAAE,kBAAkB,IAAI,KAAK,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAE,eAAyB,CAAC,CAAC,CAAE,cAAwB,CAAC;wBACvF,IAAI,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrC,MAAM,uBAAuB,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,MAAM,qBAAqB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;wBACtI,CAAC;6BAAM,CAAC;4BACN,MAAM,WAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;wBACnH,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,oFAAoF;wBACpF,wFAAwF;wBACxF,+DAA+D;wBAC/D,OAAO,CAAC,IAAI,CAAC,qDAAqD,WAAW,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5J,CAAC;gBACH,CAAC;YACH,CAAC;YACD,+FAA+F;YAC/F,sFAAsF;YACtF,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,mBAAmB;QAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,0FAA0F;YAC1F,4FAA4F;YAC5F,6FAA6F;YAC7F,4FAA4F;YAC5F,6FAA6F;YAC7F,8BAA8B;YAC9B,IAAI,GAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,QAAQ,CAAgB,GAAG,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjF,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,GAAG,EAAE,IAAI,GAAG,CAAC,SAAS,GAAG,gBAAgB,EAAE,CAAC;gBAC9C,IAAI,EAAE,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,UAAU;QAEV,wEAAwE;QACxE,MAAM;QAEN,oFAAoF;QACpF,mBAAmB;QAEnB;;;WAGG;QACH,KAAK,CAAC,SAAS,CAAC,OAAuB;YACrC,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,SAAkB,CAAC;YACvB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;wBAAE,MAAM,EAAE,CAAC;gBACnD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,SAAS,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,6GAA6G;YAC7G,mGAAmG;YACnG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAAE,SAAS;gBACtD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;wBAAE,MAAM,EAAE,CAAC;gBACnD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,SAAS,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,+GAA+G;YAC/G,mFAAmF;YACnF,6GAA6G;YAC7G,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,SAAS,GAAG,uCAAuC,CAAC;YAC1D,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC5D,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACnF,OAAO,CAAC,IAAI,CAAC,mHAAmH,CAAC,CAAC;oBAClI,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,MAAM,EAAE,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,SAAS,GAAG,CAAC,CAAC;gBACd,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,4GAA4G;YAC5G,sGAAsG;YACtG,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,SAAS,CAAC;YACnH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,OAAuB;YACzD,IAAI,CAAC,MAAM,QAAQ,CAAc,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACtF,qGAAqG;YACrG,+EAA+E;YAC/E,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAiB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC5G,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,OAAuB,EACvB,OAAsE;YAEtE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC;oBACH,MAAM,mBAAmB,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnJ,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,+DAA+D,CAAC,CAAC;YAC7H,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,4FAA4F;YAC5F,mFAAmF;YACnF,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClF,MAAM,OAAO,GAAkB;gBAC7B,WAAW;gBACX,OAAO;gBACP,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5F,WAAW;gBACX,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,SAAS,EAAE,GAAG,EAAE;gBAChB,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;gBACtD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC;YACF,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC;gBAChC,CAAC,CAAC,2BAA2B,CAAC;oBAC1B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW;oBACX,KAAK;oBACL,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC;gBACJ,CAAC,CAAC,qBAAqB,CAAC;oBACpB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW;oBACX,KAAK;oBACL,aAAa,EAAE,IAAI,CAAC,SAAS;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD,CAAC,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,mBAAmB,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnJ,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,qBAAqB,CAAC,KAAa,EAAE,IAAY;YACrD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC1E,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC9E,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3I,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,kGAAkG;YAClG,gGAAgG;YAChG,qEAAqE;YACrE,kGAAkG;YAClG,gGAAgG;YAChG,iGAAiG;YACjG,6FAA6F;YAC7F,kGAAkG;YAClG,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAc,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACrG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5D,mFAAmF;YACnF,6FAA6F;YAC7F,qFAAqF;YACrF,0FAA0F;YAC1F,2FAA2F;YAC3F,2DAA2D;YAC3D,MAAM,KAAK,CAAC,KAAK,CACf,OAAO,CAAC,KAAK,CAAC,EACd,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACpF,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,CACnC,CAAC;YACF,+FAA+F;YAC/F,2FAA2F;YAC3F,2FAA2F;YAC3F,iEAAiE;YACjE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3I,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,OAAuB;YAC/D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAClG,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,WAAW,CAAC;YAE9C,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBACpC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,yCAAyC;gBACtF,IAAI,CAAC,GAAG,CAAC,YAAY;oBAAE,MAAM,IAAI,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;gBAC7G,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC;gBAE1C,6FAA6F;gBAC7F,+FAA+F;gBAC/F,oGAAoG;gBACpG,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBACvE,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC;wBACH,sFAAsF;wBACtF,iFAAiF;wBACjF,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC5C,IAAI,GAAuB,CAAC;wBAC5B,IAAI,CAAC;4BACH,mFAAmF;4BACnF,mEAAmE;4BACnE,IAAI,GAAG,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gCACnD,GAAG,GAAG,MAAM,wBAAwB,CAClC,GAAG,CAAC,aAAa,EACjB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACjF,MAAM,qBAAqB,CAAC,GAAG,CAAC,EAChC,OAAO,CACR,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;gCAClD,GAAG,GAAG,MAAM,YAAY,CACtB,MAAM,CAAC,aAAa,EACpB,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC7I,OAAO,CACR,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtB,uFAAuF;gCACvF,uFAAuF;gCACvF,iDAAiD;gCACjD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;gCAC9C,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY;oCAAE,OAAO,IAAI,CAAC,WAAW,CAAC;gCAChG,MAAM,IAAI,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,wCAAwC,CAAC,CAAC;4BACvG,CAAC;4BACD,MAAM,CAAC,CAAC;wBACV,CAAC;wBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;wBAC7E,OAAO,MAAM,CAAC,WAAW,CAAC;oBAC5B,CAAC;4BAAS,CAAC;wBACT,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAED,0FAA0F;gBAC1F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,oBAAoB,CAAC;gBAC9C,SAAS,CAAC;oBACR,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAc,GAAG,CAAC,CAAC;oBAC9C,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,mCAAmC;oBAC1F,IAAI,GAAG,EAAE,IAAI,QAAQ;wBAAE,MAAM,IAAI,4BAA4B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBACpF,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-defaults.d.ts","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"AA6BA,OAAO,EAqBL,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,4CAA4C,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;KAChE,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChF,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;6DAEyD;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAS1H;AAKD,6FAA6F;AAC7F,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGrG"}
1
+ {"version":3,"file":"register-defaults.d.ts","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"AA+BA,OAAO,EAqBL,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,4CAA4C,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,UAAU,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;KAChE,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChF,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;6DAEyD;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAS1H;AAKD,6FAA6F;AAC7F,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGrG"}
@@ -25,6 +25,8 @@ import { registerAwsAccess } from "./aws/register.js";
25
25
  import { awsAccessEnabled } from "./aws/config.js";
26
26
  import { registerDirectoryAdapter } from "./directory/register.js";
27
27
  import { registerGatewayRouteProbe } from "./model/gateway-probe.js";
28
+ import { registerLongLivedBoxes } from "./sandbox/long-lived-box.js";
29
+ import { registerNativeTranscriptSources } from "./meetings/native-sources.js";
28
30
  import { registerNeon } from "./postgres/neon.js";
29
31
  import { registerDbCredentialBroker, CREDENTIAL_KEY_ENV, registerGitHubConfigPrProvider, registerAuditDropCounter, emitTelemetry, getOperationalStore, bootVerifyAuditChainTail, bootBackfillLinkTenants, runBootNotices, registerBootNotice, announceJudgeWithoutRules, registerOperationalPgliteLazy, resolveOperationalSelection, resolveMemoryProviderId, onVercel, getSettings, declareProviderSelection, assertConnectorMemoryGrants, applySubtreeSurfaceClaims, reconcileSurfaceCommands, } from "@open-everywhere/core/agent/adapter-api.js";
30
32
  /**
@@ -107,6 +109,13 @@ async function wireDefaultAdapters(options) {
107
109
  for (const provider of options.providers) {
108
110
  provider.register();
109
111
  }
112
+ // The long-lived box (OPE-2459): one box backend per sandbox backend, picked by the same rule as the
113
+ // turn-end stopper. A box is what a meeting bot (and later the person's browser) runs in. just-bash
114
+ // registers a backend that refuses with a reason, so a feature never runs a box somewhere unreviewed.
115
+ registerLongLivedBoxes();
116
+ // The native meeting-transcript readers (OPE-2471): Teams, Meet and Zoom. Each reads only behind the meeting
117
+ // policy's `native` block and a member's `meeting.recap` card, so registering all three is harmless.
118
+ registerNativeTranscriptSources();
110
119
  // The deployment-status surface's model probe (OPE-2230). It registers a function, and nothing
111
120
  // calls it until somebody reads `GET /eve/v1/oe/status`.
112
121
  registerGatewayRouteProbe();
@@ -1 +1 @@
1
- {"version":3,"file":"register-defaults.js","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-defaults.js","sourceRoot":"","sources":["../../agent/register-defaults.ts"],"names":[],"mappings":"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"}