@rubytech/create-maxy-code 0.1.438 → 0.1.440

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 (67) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +18 -4
  3. package/payload/platform/plugins/docs/references/admin-identity-gate.md +32 -17
  4. package/payload/platform/plugins/docs/references/admin-ui.md +1 -1
  5. package/payload/platform/plugins/docs/references/internals.md +4 -0
  6. package/payload/platform/plugins/docs/references/outlook-guide.md +2 -2
  7. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
  8. package/payload/platform/plugins/docs/references/troubleshooting.md +8 -0
  9. package/payload/platform/plugins/graph/.claude-plugin/plugin.json +19 -0
  10. package/payload/platform/plugins/graph/PLUGIN.md +10 -4
  11. package/payload/platform/plugins/graph-viewer/.claude-plugin/plugin.json +13 -0
  12. package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -1
  13. package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/index.js +193 -0
  14. package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/package.json +3 -0
  15. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.d.ts +2 -0
  16. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.js +55 -0
  18. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.js.map +1 -0
  19. package/payload/platform/plugins/outlook/mcp/dist/index.js +1 -1
  20. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  21. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts +17 -0
  22. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts.map +1 -1
  23. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js +84 -21
  24. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js.map +1 -1
  25. package/payload/platform/plugins/outlook/references/graph-surfaces.md +15 -1
  26. package/payload/platform/scripts/__tests__/account-schema-owned-dirs.test.sh +100 -0
  27. package/payload/platform/scripts/lib/account-schema-owned-dirs.py +207 -0
  28. package/payload/platform/scripts/lib/account-schema-owned-dirs.sh +33 -0
  29. package/payload/platform/scripts/lib/provision-account-dir.sh +7 -0
  30. package/payload/platform/scripts/setup-account.sh +10 -0
  31. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  32. package/payload/platform/services/claude-session-manager/dist/http-server.js +6 -4
  33. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  34. package/payload/platform/services/claude-session-manager/dist/index.js +36 -0
  35. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  36. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts +58 -0
  37. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts.map +1 -0
  38. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js +196 -0
  39. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js.map +1 -0
  40. package/payload/server/{chunk-UGPQCVIW.js → chunk-WC4WJR6X.js} +0 -6
  41. package/payload/server/maxy-edge.js +1 -1
  42. package/payload/server/public/assets/{AdminLoginScreens-DeR71H29.js → AdminLoginScreens-CukwQufW.js} +1 -1
  43. package/payload/server/public/assets/AdminShell-BwEBH6tT.js +2 -0
  44. package/payload/server/public/assets/{admin-C15h-NL0.js → admin-CdFRCUUZ.js} +1 -1
  45. package/payload/server/public/assets/{browser-B7xQLIRK.js → browser-BWR59IkB.js} +1 -1
  46. package/payload/server/public/assets/{calendar-A-vGm6pL.js → calendar-kuTcxX1t.js} +1 -1
  47. package/payload/server/public/assets/chat-ejnq2rck.js +1 -0
  48. package/payload/server/public/assets/data-dZbOyLdT.js +1 -0
  49. package/payload/server/public/assets/{graph-D0orIRAh.js → graph-NgQDY0Pb.js} +1 -1
  50. package/payload/server/public/assets/{operator-DZzuotDB.js → operator-oSaB1mya.js} +1 -1
  51. package/payload/server/public/assets/{page-Ck_pLhAk.js → page-DEkI-Gl1.js} +1 -1
  52. package/payload/server/public/assets/{page-3g0A19Rv.js → page-DMeJHVfA.js} +5 -5
  53. package/payload/server/public/assets/{public-WFUQw9AD.js → public-C54tl6V4.js} +1 -1
  54. package/payload/server/public/assets/{useCopyFeedback-CSk9KjhY.js → useCopyFeedback-DHoYHiK9.js} +1 -1
  55. package/payload/server/public/assets/{useVoiceRecorder-DCyJQkFK.js → useVoiceRecorder-b7HzTFs0.js} +1 -1
  56. package/payload/server/public/browser.html +2 -2
  57. package/payload/server/public/calendar.html +2 -2
  58. package/payload/server/public/chat.html +5 -5
  59. package/payload/server/public/data.html +3 -3
  60. package/payload/server/public/graph.html +3 -3
  61. package/payload/server/public/index.html +5 -5
  62. package/payload/server/public/operator.html +6 -6
  63. package/payload/server/public/public.html +5 -5
  64. package/payload/server/server.js +186 -112
  65. package/payload/server/public/assets/AdminShell-DlAVQUda.js +0 -2
  66. package/payload/server/public/assets/chat-DAae6Z51.js +0 -1
  67. package/payload/server/public/assets/data-BNWpKx1d.js +0 -1
@@ -41,6 +41,7 @@ import { readSidecar } from './session-sidecar.js';
41
41
  import { runSystemPromptSelfTest, runIdentityDriftAssertion, runIdentityForbiddenTokenCheck } from './system-prompt.js';
42
42
  import { assertSpecialistDrift } from './specialist-drift.js';
43
43
  import { assertSkillRegistrationDrift, buildSubToMarketplace, readCcRegistrationSurfaces, readAccountEnabledPlugins, } from './skill-registration-drift.js';
44
+ import { assertToolRegistrationDrift, readToolPluginManifestStates, } from './tool-registration-drift.js';
44
45
  import { AccountTitleStores } from './account-title-stores.js';
45
46
  import { WaChannelStore } from './wa-channel-store.js';
46
47
  import { WebchatChannelStore } from './webchat-channel-store.js';
@@ -412,6 +413,41 @@ async function main() {
412
413
  log(`startup-self-test skill-registration=ok inspected=${drift.inspected}`);
413
414
  }
414
415
  }
416
+ // Task 1574 — boot-time tool-availability reconciliation. A tool-bearing
417
+ // plugin on `mcp-manifest: skip` keeps its PLUGIN.md `mcp:` block (so the
418
+ // source-level mcp-allowlist-without-server gate passes) while the generator
419
+ // drops mcpServers from the .claude-plugin/plugin.json Claude Code spawns
420
+ // from — the server never mounts and its tools are listed but not live.
421
+ // Cross-check each account's enabled tool-plugins against their generated
422
+ // manifests and FATAL-log any that would not mount. Non-exiting by design,
423
+ // mirroring the skill-registration gate above.
424
+ {
425
+ const accountsRoot = dirname(config.accountDir);
426
+ // A tool-plugin is any plugin that declares tools and an mcp: block, i.e.
427
+ // has a server descriptor in the tool surface. This includes specialist-
428
+ // only tool-plugins (loop, adminAllowlist:false) the admin allowlist omits.
429
+ const toolPluginNames = new Set(toolSurface.mcpServers.keys());
430
+ const toolPlugins = readToolPluginManifestStates(pluginRoots, toolPluginNames);
431
+ const accounts = readAccountEnabledPlugins(accountsRoot);
432
+ const drift = assertToolRegistrationDrift(accounts, toolPlugins);
433
+ if (!drift.ok) {
434
+ for (const d of drift.defects) {
435
+ const line = `[tool-registration] op=drift FATAL accountId=${d.accountId} plugin=${d.plugin} expected-server=${d.expectedServer} reason=${d.reason}`;
436
+ log(line);
437
+ try {
438
+ spawnSync('systemd-cat', ['-t', 'maxy-csm', '-p', 'err'], {
439
+ input: line + '\n',
440
+ stdio: ['pipe', 'ignore', 'ignore'],
441
+ timeout: 1_000,
442
+ });
443
+ }
444
+ catch { /* journald mirror is best-effort */ }
445
+ }
446
+ }
447
+ else {
448
+ log(`startup-self-test tool-registration=ok inspected=${drift.inspected}`);
449
+ }
450
+ }
415
451
  // Task 207 — Neo4j connection is now stamped on specialist spawn env
416
452
  // explicitly (previously it rode the per-spawn `.mcp.json` env field,
417
453
  // which this task drops). The brand-scoped URI is mandatory; absence
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA,CAAC,iFAAiF;AAChH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAE7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,2BAA2B,EAAkC,MAAM,wBAAwB,CAAA;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACnJ,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AACvH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,GAAG,GAAG,0BAA0B,CAAA;AACtC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;AAE3D;;;;;;;mEAOmE;AACnE,SAAS,wBAAwB,CAC/B,YAAoB,EACpB,MAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IACvD,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,6BAA6B,IAAI,wBAAwB,CAAC,CAAA;QACjE,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,+BAA+B,IAAI,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAC3H,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,+BAA+B,IAAI,0CAA0C,CAAC,CAAA;QACrF,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAA;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAAI,OAAkC,CAAC,QAAQ,CAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,CAAC,4BAA4B,IAAI,qBAAqB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzH,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,iEAAiE;AACjE,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,kEAAkE;AAClE,2DAA2D;AAC3D,SAAS,eAAe,CACtB,GAAW,EACX,IAAc,EACd,GAAsB,EACtB,GAAW,EACX,SAAiB;IAEjB,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,SAAS;QACT,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,QAAQ;QACb,GAAG;QACH,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC;KAChD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;QAC1C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;QACR,GAAG;QACH,iEAAiE;QACjE,mEAAmE;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAA8B;KAC3F,CAAC,CAAA;IACF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,sEAAsE;QACtE,gEAAgE;QAChE,qEAAqE;QACrE,OAAO,EAAE,GAAG,EAAE,CAAE,KAAwC,CAAC,OAAO,EAAE;KACnE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,GAAG,CACD,iBAAiB,MAAM,CAAC,IAAI,CAAC,QAAQ,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,aAAa,MAAM,CAAC,IAAI,CAAC,QAAQ,cAAc,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;QAClK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxG,CAAA;IACD,iEAAiE;IACjE,oEAAoE;IACpE,yEAAyE;IACzE,GAAG,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;IAE3C,6DAA6D;IAC7D,yEAAyE;IACzE,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAChF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,GAAG,CAAC,yGAAyG,CAAC,CAAA;QAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACzE,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACtG,IAAI,WAA+C,CAAA;IACnD,IAAI,CAAC;QACH,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,GAAG,CAAC,sBAAsB,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,sBAAsB,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,WAAW,CAAC,MAAM,CAAC,IAAI,QAAQ,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;IAE3J,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,GAAG,CAAC,8BAA8B,MAAM,YAAY,IAAI,CAAC,OAAO,aAAa,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAA;IACzG,CAAC;IAED,kEAAkE;IAClE,qEAAqE;IACrE,sEAAsE;IACtE,gCAAgC;IAChC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,qCAAqC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAClC,8EAA8E;QAC9E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,MAAM,GAAG,kCAAkC,CAAC,CAAC,CAAC,CAAA;QACpD,IAAI,CAAC,MAAM;YAAE,SAAQ;QACrB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,0DAA0D,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,eAAe,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,GAAG,CAAC,6CAA6C,WAAW,CAAC,KAAK,CAAC,IAAI,qBAAqB,eAAe,EAAE,CAAC,CAAA;IAE9G,sEAAsE;IACtE,4EAA4E;IAC5E,qEAAqE;IACrE,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,UAAU;IACV,MAAM,WAAW,GAAG,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,aAAa,GAAwB,EAAE,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,OAAiB,CAAA;QACrB,IAAI,CAAC;YAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAQ;QAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,KAAK,kBAAkB,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAChD,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAQ;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,2BAA2B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAChE,IACE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC5B,WAAW,CAAC,IAAI,KAAK,MAAM;QAC3B,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAC3C,CAAC;QACD,GAAG,CAAC,+BAA+B,kBAAkB,qEAAqE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IACvJ,CAAC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,wBAAwB;IACxB,MAAM,UAAU,GAA2B,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACpE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9B,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,uEAAuE;IACvE,8CAA8C;IAC9C,EAAE;IACF,qEAAqE;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,iEAAiE;IACjE,gEAAgE;IAChE,kEAAkE;IAClE,oEAAoE;IACpE,MAAM,eAAe,GAAG,wBAAwB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC;QACxD,GAAG,UAAU,CAAC,KAAK;QACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;KACjD,CAAA;IACD,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;IAC3F,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YACxC,GAAG,CAAC,uDAAuD,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;YACxI,0DAA0D;YAC1D,oEAAoE;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,CAAC;gBACH,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;oBACxD,KAAK,EAAE,uDAAuD,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,cAAc,IAAI;oBACzJ,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACnC,OAAO,EAAE,KAAK;iBACf,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,sEAAsE;IACtE,mEAAmE;IACnE,iEAAiE;IACjE,mDAAmD;IACnD,KAAK,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,GAAG,CAAC,oCAAoC,cAAc,WAAW,MAAM,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAClI,CAAC;IACH,CAAC;IACD,GAAG,CAAC,wDAAwD,eAAe,CAAC,SAAS,yBAAyB,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/I,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,sDAAsD;IACtD,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,iCAAiC,cAAc,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAE7C,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,wEAAwE;IACxE,6EAA6E;IAC7E,2CAA2C;IAC3C,CAAC;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC/C,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,gEAAgE;QAChE,KAAK,kBAAkB,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;YACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;YAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;YAC/C,YAAY;YACZ,MAAM,EAAE,GAAG;SACZ,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CACD,mDAAmD,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,iBAAiB,YAAY,iDAAiD,CAC/L,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAErE,qEAAqE;IACrE,8DAA8D;IAC9D,yEAAyE;IACzE,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAA;IACnE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,GAAG,CAAC,oEAAoE,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,8BAA8B,uBAAuB,EAAE,CAAC,CAAA;IAE5D,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IACrE,0EAA0E;IAC1E,+CAA+C;IAC/C,CAAC;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;QAClE,MAAM,EAAE,GAAG,0BAA0B,CAAC,uBAAuB,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,iDAAiD,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;gBAC5J,GAAG,CAAC,IAAI,CAAC,CAAA;gBACT,IAAI,CAAC;oBACH,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;wBACxD,KAAK,EAAE,IAAI,GAAG,IAAI;wBAClB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACnC,OAAO,EAAE,KAAK;qBACf,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,qDAAqD,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,iFAAiF;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,GAAG,CAAC,oDAAoD,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAA;IAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QACpE,IAAI,CAAC;YACH,oBAAoB,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/D,GAAG,CAAC,wEAAwE,YAAY,QAAQ,MAAM,EAAE,CAAC,CAAA;YACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,0BAA0B,eAAe,mBAAmB,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAA;IAE9F,uEAAuE;IACvE,0EAA0E;IAC1E,kFAAkF;IAClF,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,CAAA;IAC1E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAI,MAAyB,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YACtG,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAChD,GAAG,CAAC,wDAAwD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAA;QACxH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,0EAA0E,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uEAAuE,CAAC,CAAA;IAC9E,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAA;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,0DAA0D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,8CAA8C,CAAC,CAAA;IAEnD,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACnF,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACH,aAAa,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,+CAA+C,iBAAiB,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,GAAG,CAAC,0DAA0D,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,+CAA+C,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IAEhG,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,iBAAiB;IACjB,MAAM,SAAS,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAA;IAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;aACnC,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,GAAG,CAAC,0DAA0D,SAAS,CAAC,UAAU,CAAC,MAAM,UAAU,OAAO,EAAE,CAAC,CAAA;QAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAErD,6DAA6D;IAC7D,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC3E,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,GAAG,CACD,qCAAqC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrF,uBAAuB,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9E,cAAc,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE;QACnD,mBAAmB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAChE,CAAA;IAED,iEAAiE;IACjE,mEAAmE;IACnE,sEAAsE;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,oEAAoE;IACpE,4BAA4B;IAC5B,MAAM,OAAO,GAAG,eAAe,CAAC;QAC9B,WAAW,EAAE,WAAW,EAAE;QAC1B,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,MAAM,EAAE,GAAG;QACX,4DAA4D;QAC5D,yDAAyD;QACzD,YAAY,EAAE,sBAAsB;KACrC,CAAC,CAAA;IACF,OAAO,CAAC,QAAQ,EAAE,CAAA;IAClB,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,yBAAyB;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,sBAAsB;KACrC,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,EAAE,CAAA;IACd,GAAG,CACD,yBAAyB,MAAM,CAAC,aAAa,oBAAoB,MAAM,CAAC,eAAe,gBAAgB,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,sBAAsB,MAAM,CAAC,iBAAiB,EAAE,CAC1O,CAAA;IAED,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,WAAW;IACX,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;QAChD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,iBAAiB,CAAC,KAAK,EAAE,CAAA;IAEzB,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACtE,SAAS,CAAC,KAAK,EAAE,CAAA;IAEjB,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAClF,eAAe,CAAC,KAAK,EAAE,CAAA;IAEvB,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;QACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;QAC/C,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,kBAAkB,CAAC,KAAK,EAAE,CAAA;IAE1B,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;QACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,eAAe,CAAC,KAAK,EAAE,CAAA;IAEvB,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,6DAA6D;IAC7D,uCAAuC;IACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,2EAA2E;IAC3E,iFAAiF;IACjF,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;QAClE,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,0BAA0B,CAAC,KAAK,EAAE,CAAA;IAElC,8EAA8E;IAC9E,yEAAyE;IACzE,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;QACrD,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,kBAAkB,CAAC,KAAK,EAAE,CAAA;IAE1B,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;QACtD,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,SAAS;KACtB,CAAC,CAAA;IACF,oBAAoB,CAAC,KAAK,EAAE,CAAA;IAE5B,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,YAAY;QACZ,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,WAAW,CAAC,KAAK,EAAE,CAAA;IAEnB,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,gEAAgE;IAChE,oEAAoE;IACpE,mEAAmE;IACnE,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAA;IAC7D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,kGAAkG,CAAC,CAAA;IACzG,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,WAAW,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC/E,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IAEF,kEAAkE;IAClE,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAEpE,4DAA4D;IAC5D,0EAA0E;IAC1E,uEAAuE;IACvE,sCAAsC;IACtC,6EAA6E;IAC7E,wEAAwE;IACxE,6DAA6D;IAC7D,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAClE,2EAA2E;IAC3E,GAAG,CAAC,0CAA0C,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAEtI,iEAAiE;IACjE,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,GAAG,CAAC,CAAA;IACnG,cAAc,CAAC,YAAY,EAAE,CAAA;IAC7B,GAAG,CAAC,kCAAkC,cAAc,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAA;IAE1H,6CAA6C;IAC7C,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,EAAE,GAAG,CAAC,CAAA;IAClH,mBAAmB,CAAC,YAAY,EAAE,CAAA;IAClC,GAAG,CAAC,uCAAuC,mBAAmB,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,EAAE,CAAC,CAAA;IAEzI,mCAAmC;IACnC,4EAA4E;IAC5E,yCAAyC;IACzC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrH,oBAAoB,CAAC,YAAY,EAAE,CAAA;IACnC,GAAG,CAAC,wCAAwC,oBAAoB,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC,EAAE,CAAC,CAAA;IAE5I,MAAM,GAAG,GAAG,YAAY,CAAC;QACvB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,gBAAgB,EAAE,MAAM,CAAC,mBAAmB;QAC5C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QAC7F,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS;QACT,MAAM,EAAE,WAAW;QACnB,YAAY;QACZ,MAAM;QACN,UAAU;QACV,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;QAC1E,eAAe,EAAE,uBAAuB;QACxC,WAAW;QACX,kBAAkB;QAClB,eAAe;QACf,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,uBAAuB,EAAE,eAAe,CAAC,SAAS;QAClD,eAAe;QACf,oBAAoB;QACpB,SAAS;QACT,kBAAkB;QAClB,WAAW;QACX,cAAc;QACd,mBAAmB;QACnB,oBAAoB;KACrB,CAAC,CAAA;IAEF,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,sBAAsB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEzD,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7E,GAAG,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/C,GAAG,CAAC,6CAA6C,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS;QACT,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,eAAe,EAAE,uBAAuB;QACxC,YAAY;QACZ,MAAM;QACN,eAAe;QACf,oBAAoB;QACpB,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,MAAM,EAAE,GAAG;QACX,oEAAoE;QACpE,mEAAmE;QACnE,uEAAuE;QACvE,mEAAmE;QACnE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QAC7F,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1F,gBAAgB,EAAE,MAAM,CAAC,mBAAmB;KAC7C,CAAC,CAAA;IAEF,gEAAgE;IAChE,qEAAqE;IACrE,mEAAmE;IACnE,2DAA2D;IAC3D,iEAAiE;IACjE,mEAAmE;IACnE,wCAAwC;IACxC,MAAM,8BAA8B,GAAG,MAAM,CAAA;IAC7C,MAAM,yBAAyB,GAAG,OAAO,CAAA;IACzC,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC;YACH,mBAAmB,CAAC;gBAClB,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,UAAU;gBAClF,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjG,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;oBAC7C,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;gBACpF,CAAC;gBACD,aAAa,EAAE,yBAAyB;aACzC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvG,CAAC;IACH,CAAC,EAAE,8BAA8B,CAAC,CAAA;IAClC,qBAAqB,CAAC,KAAK,EAAE,CAAA;IAE7B,kEAAkE;IAClE,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,8BAA8B,GAAG,MAAM,CAAA;IAC7C,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;YAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;YAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACnF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;oBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;YAClH,CAAC;YACD,MAAM,mBAAmB,GAAG,MAAM;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBAC3C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC9F,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC5G,KAAK,MAAM,CAAC,IAAI,WAAW;gBAAE,GAAG,CAAC,+BAA+B,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAC9G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,wBAAwB,eAAe,CAAC,MAAM,aAAa,kBAAkB,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACrH,CAAC;YACD,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAA;YACjE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClF,CAAC;YACD,2EAA2E;YAC3E,0EAA0E;YAC1E,+DAA+D;YAC/D,KAAK,mBAAmB,CACtB,WAAW,EACX,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EACpB,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;gBAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC9B,MAAM,WAAW,CACf,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC9I,QAAQ,CACT,CAAA;gBACH,CAAC;YACH,CAAC;YACD,mEAAmE;YACnE,wEAAwE;YACxE,oEAAoE;YACpE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAC9D,GAAG,CACJ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,EAAE,8BAA8B,CAAC,CAAA;IAClC,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAE9B,8EAA8E;IAC9E,yEAAyE;IACzE,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAA;IACjF,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,UAAU,EAAE,GAAyB,EAAE,CACrC,OAAO,CAAC,GAAG,EAAE;YACX,wEAAwE;YACxE,mDAAmD;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7G,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;YACrB,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,2EAA2E;YAC3E,iCAAiC;YACjC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YAC7C,uEAAuE;YACvE,kEAAkE;YAClE,iEAAiE;YACjE,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,gEAAgE;YAChE,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,uEAAuE;YACvE,gDAAgD;YAChD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC/C,IAAI,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,YAAY,CAAC,CAAA;YAC/E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,oBAAoB,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;gBACrE,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;wBACxF,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;wBAC9D,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;oBACpF,iBAAiB,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAA;gBAC9E,CAAC;YACH,CAAC;YACD,KAAK,oBAAoB,CACvB;gBACE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CACX,WAAW,CACT;oBACE,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,GAAG;oBACX,YAAY,EAAE,sBAAsB;oBACpC,iBAAiB,EAAE,GAAG,EAAE,cAAc,IAAI,IAAI;oBAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI;iBACzB,EACD,EAAE,CACH,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBACzB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;oBAClB,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;oBACpC,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAChE,CAAC;gBACD,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;oBACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,WAAW,EAAE;wBAClE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;qBACzF,CAAC,CAAA;oBACF,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;oBACtC,mEAAmE;oBACnE,kEAAkE;oBAClE,uEAAuE;oBACvE,qEAAqE;oBACrE,mEAAmE;oBACnE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAA;oBACvD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAA;gBAC9C,CAAC;gBACD,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,aAAa,EAAE,MAAM,CAAC,WAAW,GAAG,KAAK;gBACzC,MAAM,EAAE,GAAG;aACZ,EACD,SAAS,EACT,iBAAiB,CAClB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,wCAAwC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAChJ,CAAC;QACD,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,cAAc,CAAC,KAAK,EAAE,CAAA;IAEtB,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,yEAAyE;IACzE,6BAA6B;IAC7B,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;QACxD,UAAU,EAAE,GAAgC,EAAE,CAC5C,OAAO,CAAC,GAAG,EAAE;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7G,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,OAAO;QACpE,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,qBAAqB,CAAC,KAAK,EAAE,CAAA;IAE7B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,GAAG,CAAC,mBAAmB,MAAM,aAAa,YAAY,EAAE,EAAE,CAAC,CAAA;QAC3D,eAAe,CAAC,KAAK,EAAE,CAAA;QACvB,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,oDAAoD;QACpD,GAAG,CACD,sEAAsE,QAAQ,CAAC,KAAK,EAAE,EAAE,CACzF,CAAA;QACD,QAAQ,CAAC,IAAI,EAAE,CAAA;QACf,MAAM,CAAC,IAAI,EAAE,CAAA;QACb,iBAAiB,CAAC,IAAI,EAAE,CAAA;QACxB,SAAS,CAAC,IAAI,EAAE,CAAA;QAChB,eAAe,CAAC,IAAI,EAAE,CAAA;QACtB,aAAa,CAAC,IAAI,EAAE,CAAA;QACpB,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACzB,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACzB,WAAW,CAAC,IAAI,EAAE,CAAA;QAClB,cAAc,CAAC,IAAI,EAAE,CAAA;QACrB,qBAAqB,CAAC,IAAI,EAAE,CAAA;QAC5B,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,aAAa,CAAC,qBAAqB,CAAC,CAAA;QACpC,8DAA8D;QAC9D,kEAAkE;QAClE,6DAA6D;QAC7D,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,+DAA+D;QAC/D,kDAAkD;QAClD,EAAE;QACF,0DAA0D;QAC1D,mEAAmE;QACnE,mEAAmE;QACnE,4DAA4D;QAC5D,gEAAgE;QAChE,gEAAgE;QAChE,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,kBAAkB,GAAG,CAAC,CAAA;QAC1B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,IAAI,EAAE,CAAA;YACN,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;YAC5C,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAA;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAA;oBACjB,kBAAkB,EAAE,CAAA;gBACtB,CAAC;gBAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CACD,oCAAoC,IAAI,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,GAAG,cAAc,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CACrI,CAAA;QACH,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,2CAA2C,IAAI,uBAAuB,kBAAkB,EAAE,CAAC,CAAA;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA,CAAC,iFAAiF;AAChH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAE7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,2BAA2B,EAAkC,MAAM,wBAAwB,CAAA;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACnJ,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AACvH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,GAAG,GAAG,0BAA0B,CAAA;AACtC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;AAE3D;;;;;;;mEAOmE;AACnE,SAAS,wBAAwB,CAC/B,YAAoB,EACpB,MAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IACvD,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,6BAA6B,IAAI,wBAAwB,CAAC,CAAA;QACjE,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,+BAA+B,IAAI,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAC3H,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,+BAA+B,IAAI,0CAA0C,CAAC,CAAA;QACrF,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAA;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,GAAI,OAAkC,CAAC,QAAQ,CAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,CAAC,4BAA4B,IAAI,qBAAqB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzH,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,wEAAwE;AACxE,iEAAiE;AACjE,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,kEAAkE;AAClE,2DAA2D;AAC3D,SAAS,eAAe,CACtB,GAAW,EACX,IAAc,EACd,GAAsB,EACtB,GAAW,EACX,SAAiB;IAEjB,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,SAAS;QACT,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,QAAQ;QACb,GAAG;QACH,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CAAC;KAChD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;QAC1C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,EAAE;QACR,GAAG;QACH,iEAAiE;QACjE,mEAAmE;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAA8B;KAC3F,CAAC,CAAA;IACF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,sEAAsE;QACtE,gEAAgE;QAChE,qEAAqE;QACrE,OAAO,EAAE,GAAG,EAAE,CAAE,KAAwC,CAAC,OAAO,EAAE;KACnE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3F,GAAG,CACD,iBAAiB,MAAM,CAAC,IAAI,CAAC,QAAQ,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,aAAa,MAAM,CAAC,IAAI,CAAC,QAAQ,cAAc,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;QAClK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxG,CAAA;IACD,iEAAiE;IACjE,oEAAoE;IACpE,yEAAyE;IACzE,GAAG,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;IAE3C,6DAA6D;IAC7D,yEAAyE;IACzE,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAChF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,GAAG,CAAC,yGAAyG,CAAC,CAAA;QAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACzE,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACtG,IAAI,WAA+C,CAAA;IACnD,IAAI,CAAC;QACH,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,GAAG,CAAC,sBAAsB,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,sBAAsB,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,WAAW,CAAC,MAAM,CAAC,IAAI,QAAQ,WAAW,CAAC,GAAG,CAAC,IAAI,eAAe,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;IAE3J,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,GAAG,CAAC,8BAA8B,MAAM,YAAY,IAAI,CAAC,OAAO,aAAa,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAA;IACzG,CAAC;IAED,kEAAkE;IAClE,qEAAqE;IACrE,sEAAsE;IACtE,gCAAgC;IAChC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,qCAAqC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAClC,8EAA8E;QAC9E,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,MAAM,GAAG,kCAAkC,CAAC,CAAC,CAAC,CAAA;QACpD,IAAI,CAAC,MAAM;YAAE,SAAQ;QACrB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,0DAA0D,MAAM,SAAS,CAAC,EAAE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,eAAe,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,GAAG,CAAC,6CAA6C,WAAW,CAAC,KAAK,CAAC,IAAI,qBAAqB,eAAe,EAAE,CAAC,CAAA;IAE9G,sEAAsE;IACtE,4EAA4E;IAC5E,qEAAqE;IACrE,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,UAAU;IACV,MAAM,WAAW,GAAG,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,aAAa,GAAwB,EAAE,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,OAAiB,CAAA;QACrB,IAAI,CAAC;YAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAQ;QAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,KAAK,kBAAkB,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAChD,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAQ;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ;YACV,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,2BAA2B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAChE,IACE,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC5B,WAAW,CAAC,IAAI,KAAK,MAAM;QAC3B,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAC3C,CAAC;QACD,GAAG,CAAC,+BAA+B,kBAAkB,qEAAqE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IACvJ,CAAC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,wBAAwB;IACxB,MAAM,UAAU,GAA2B,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACpE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9B,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,uEAAuE;IACvE,8CAA8C;IAC9C,EAAE;IACF,qEAAqE;IACrE,mEAAmE;IACnE,uEAAuE;IACvE,iEAAiE;IACjE,gEAAgE;IAChE,kEAAkE;IAClE,oEAAoE;IACpE,MAAM,eAAe,GAAG,wBAAwB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACnE,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC;QACxD,GAAG,UAAU,CAAC,KAAK;QACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;KACjD,CAAA;IACD,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;IAC3F,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YACxC,GAAG,CAAC,uDAAuD,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;YACxI,0DAA0D;YAC1D,oEAAoE;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,CAAC;gBACH,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;oBACxD,KAAK,EAAE,uDAAuD,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,cAAc,IAAI;oBACzJ,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACnC,OAAO,EAAE,KAAK;iBACf,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,sEAAsE;IACtE,mEAAmE;IACnE,iEAAiE;IACjE,mDAAmD;IACnD,KAAK,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,GAAG,CAAC,oCAAoC,cAAc,WAAW,MAAM,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAClI,CAAC;IACH,CAAC;IACD,GAAG,CAAC,wDAAwD,eAAe,CAAC,SAAS,yBAAyB,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/I,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,sDAAsD;IACtD,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,iCAAiC,cAAc,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAE7C,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,wEAAwE;IACxE,6EAA6E;IAC7E,2CAA2C;IAC3C,CAAC;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC/C,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,gEAAgE;QAChE,KAAK,kBAAkB,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;YACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;YAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;YAC/C,YAAY;YACZ,MAAM,EAAE,GAAG;SACZ,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CACD,mDAAmD,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,iBAAiB,YAAY,iDAAiD,CAC/L,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAErE,qEAAqE;IACrE,8DAA8D;IAC9D,yEAAyE;IACzE,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAA;IACnE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,GAAG,CAAC,oEAAoE,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,8BAA8B,uBAAuB,EAAE,CAAC,CAAA;IAE5D,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IACrE,0EAA0E;IAC1E,+CAA+C;IAC/C,CAAC;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;QAClE,MAAM,EAAE,GAAG,0BAA0B,CAAC,uBAAuB,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,iDAAiD,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;gBAC5J,GAAG,CAAC,IAAI,CAAC,CAAA;gBACT,IAAI,CAAC;oBACH,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;wBACxD,KAAK,EAAE,IAAI,GAAG,IAAI;wBAClB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACnC,OAAO,EAAE,KAAK;qBACf,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,qDAAqD,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,+CAA+C;IAC/C,CAAC;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC/C,0EAA0E;QAC1E,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QACtE,MAAM,WAAW,GAAG,4BAA4B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAChE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,gDAAgD,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAC,cAAc,WAAW,CAAC,CAAC,MAAM,EAAE,CAAA;gBACpJ,GAAG,CAAC,IAAI,CAAC,CAAA;gBACT,IAAI,CAAC;oBACH,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;wBACxD,KAAK,EAAE,IAAI,GAAG,IAAI;wBAClB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACnC,OAAO,EAAE,KAAK;qBACf,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,oDAAoD,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,iFAAiF;IACjF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,GAAG,CAAC,oDAAoD,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAA;IAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QACpE,IAAI,CAAC;YACH,oBAAoB,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/D,GAAG,CAAC,wEAAwE,YAAY,QAAQ,MAAM,EAAE,CAAC,CAAA;YACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,0BAA0B,eAAe,mBAAmB,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAA;IAE9F,uEAAuE;IACvE,0EAA0E;IAC1E,kFAAkF;IAClF,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,CAAA;IAC1E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAI,MAAyB,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YACtG,WAAW,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAChD,GAAG,CAAC,wDAAwD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAA;QACxH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,0EAA0E,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uEAAuE,CAAC,CAAA;IAC9E,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAA;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,0DAA0D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,8CAA8C,CAAC,CAAA;IAEnD,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IACnF,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACH,aAAa,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,+CAA+C,iBAAiB,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,GAAG,CAAC,0DAA0D,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,+CAA+C,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IAEhG,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,iBAAiB;IACjB,MAAM,SAAS,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAA;IAC/D,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;aACnC,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,GAAG,CAAC,0DAA0D,SAAS,CAAC,UAAU,CAAC,MAAM,UAAU,OAAO,EAAE,CAAC,CAAA;QAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAErD,6DAA6D;IAC7D,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC3E,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,GAAG,CACD,qCAAqC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrF,uBAAuB,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9E,cAAc,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE;QACnD,mBAAmB,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAChE,CAAA;IAED,iEAAiE;IACjE,mEAAmE;IACnE,sEAAsE;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,oEAAoE;IACpE,4BAA4B;IAC5B,MAAM,OAAO,GAAG,eAAe,CAAC;QAC9B,WAAW,EAAE,WAAW,EAAE;QAC1B,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,MAAM,EAAE,GAAG;QACX,4DAA4D;QAC5D,yDAAyD;QACzD,YAAY,EAAE,sBAAsB;KACrC,CAAC,CAAA;IACF,OAAO,CAAC,QAAQ,EAAE,CAAA;IAClB,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,yBAAyB;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,sBAAsB;KACrC,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,EAAE,CAAA;IACd,GAAG,CACD,yBAAyB,MAAM,CAAC,aAAa,oBAAoB,MAAM,CAAC,eAAe,gBAAgB,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,sBAAsB,MAAM,CAAC,iBAAiB,EAAE,CAC1O,CAAA;IAED,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,WAAW;IACX,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;QAChD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,iBAAiB,CAAC,KAAK,EAAE,CAAA;IAEzB,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACtE,SAAS,CAAC,KAAK,EAAE,CAAA;IAEjB,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,eAAe,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAClF,eAAe,CAAC,KAAK,EAAE,CAAA;IAEvB,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;QACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;QAC/C,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,kBAAkB,CAAC,KAAK,EAAE,CAAA;IAE1B,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;QACrC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,eAAe,CAAC,KAAK,EAAE,CAAA;IAEvB,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,6DAA6D;IAC7D,uCAAuC;IACvC,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,2EAA2E;IAC3E,iFAAiF;IACjF,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;QAClE,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,0BAA0B,CAAC,KAAK,EAAE,CAAA;IAElC,8EAA8E;IAC9E,yEAAyE;IACzE,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;QACrD,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,OAAO;KACpB,CAAC,CAAA;IACF,kBAAkB,CAAC,KAAK,EAAE,CAAA;IAE1B,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;QACtD,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,SAAS;KACtB,CAAC,CAAA;IACF,oBAAoB,CAAC,KAAK,EAAE,CAAA;IAE5B,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,YAAY;QACZ,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,WAAW,CAAC,KAAK,EAAE,CAAA;IAEnB,oEAAoE;IACpE,sEAAsE;IACtE,kEAAkE;IAClE,gEAAgE;IAChE,oEAAoE;IACpE,mEAAmE;IACnE,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAA;IAC7D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,kGAAkG,CAAC,CAAA;IACzG,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,WAAW,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC/E,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IAEF,kEAAkE;IAClE,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAEpE,4DAA4D;IAC5D,0EAA0E;IAC1E,uEAAuE;IACvE,sCAAsC;IACtC,6EAA6E;IAC7E,wEAAwE;IACxE,6DAA6D;IAC7D,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAClE,2EAA2E;IAC3E,GAAG,CAAC,0CAA0C,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAEtI,iEAAiE;IACjE,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,GAAG,CAAC,CAAA;IACnG,cAAc,CAAC,YAAY,EAAE,CAAA;IAC7B,GAAG,CAAC,kCAAkC,cAAc,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAA;IAE1H,6CAA6C;IAC7C,2EAA2E;IAC3E,0CAA0C;IAC1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,EAAE,GAAG,CAAC,CAAA;IAClH,mBAAmB,CAAC,YAAY,EAAE,CAAA;IAClC,GAAG,CAAC,uCAAuC,mBAAmB,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC,EAAE,CAAC,CAAA;IAEzI,mCAAmC;IACnC,4EAA4E;IAC5E,yCAAyC;IACzC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrH,oBAAoB,CAAC,YAAY,EAAE,CAAA;IACnC,GAAG,CAAC,wCAAwC,oBAAoB,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC,EAAE,CAAC,CAAA;IAE5I,MAAM,GAAG,GAAG,YAAY,CAAC;QACvB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,gBAAgB,EAAE,MAAM,CAAC,mBAAmB;QAC5C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QAC7F,YAAY,EAAE,sBAAsB;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS;QACT,MAAM,EAAE,WAAW;QACnB,YAAY;QACZ,MAAM;QACN,UAAU;QACV,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;QAC1E,eAAe,EAAE,uBAAuB;QACxC,WAAW;QACX,kBAAkB;QAClB,eAAe;QACf,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,uBAAuB,EAAE,eAAe,CAAC,SAAS;QAClD,eAAe;QACf,oBAAoB;QACpB,SAAS;QACT,kBAAkB;QAClB,WAAW;QACX,cAAc;QACd,mBAAmB;QACnB,oBAAoB;KACrB,CAAC,CAAA;IAEF,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,sBAAsB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEzD,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7E,GAAG,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/C,GAAG,CAAC,6CAA6C,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS;QACT,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,eAAe,EAAE,uBAAuB;QACxC,YAAY;QACZ,MAAM;QACN,eAAe;QACf,oBAAoB;QACpB,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,MAAM,EAAE,GAAG;QACX,oEAAoE;QACpE,mEAAmE;QACnE,uEAAuE;QACvE,mEAAmE;QACnE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;QAC7F,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1F,gBAAgB,EAAE,MAAM,CAAC,mBAAmB;KAC7C,CAAC,CAAA;IAEF,gEAAgE;IAChE,qEAAqE;IACrE,mEAAmE;IACnE,2DAA2D;IAC3D,iEAAiE;IACjE,mEAAmE;IACnE,wCAAwC;IACxC,MAAM,8BAA8B,GAAG,MAAM,CAAA;IAC7C,MAAM,yBAAyB,GAAG,OAAO,CAAA;IACzC,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC;YACH,mBAAmB,CAAC;gBAClB,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,UAAU;gBAClF,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjG,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE;oBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;oBAC7C,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;gBACpF,CAAC;gBACD,aAAa,EAAE,yBAAyB;aACzC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvG,CAAC;IACH,CAAC,EAAE,8BAA8B,CAAC,CAAA;IAClC,qBAAqB,CAAC,KAAK,EAAE,CAAA;IAE7B,kEAAkE;IAClE,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,8BAA8B,GAAG,MAAM,CAAA;IAC7C,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;YAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;YAC9D,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACnF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;YAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;oBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;YAClH,CAAC;YACD,MAAM,mBAAmB,GAAG,MAAM;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;iBAC3C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC9F,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC5G,KAAK,MAAM,CAAC,IAAI,WAAW;gBAAE,GAAG,CAAC,+BAA+B,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAC9G,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,wBAAwB,eAAe,CAAC,MAAM,aAAa,kBAAkB,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACrH,CAAC;YACD,oEAAoE;YACpE,yEAAyE;YACzE,sEAAsE;YACtE,qEAAqE;YACrE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAA;YACjE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAClF,CAAC;YACD,2EAA2E;YAC3E,0EAA0E;YAC1E,+DAA+D;YAC/D,KAAK,mBAAmB,CACtB,WAAW,EACX,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EACpB,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;gBAC5C,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC9B,MAAM,WAAW,CACf,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC9I,QAAQ,CACT,CAAA;gBACH,CAAC;YACH,CAAC;YACD,mEAAmE;YACnE,wEAAwE;YACxE,oEAAoE;YACpE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAC9D,GAAG,CACJ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,EAAE,8BAA8B,CAAC,CAAA;IAClC,sBAAsB,CAAC,KAAK,EAAE,CAAA;IAE9B,8EAA8E;IAC9E,yEAAyE;IACzE,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAA;IACjF,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,UAAU,EAAE,GAAyB,EAAE,CACrC,OAAO,CAAC,GAAG,EAAE;YACX,wEAAwE;YACxE,mDAAmD;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7G,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;YACrB,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,2EAA2E;YAC3E,iCAAiC;YACjC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YAC7C,uEAAuE;YACvE,kEAAkE;YAClE,iEAAiE;YACjE,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,gEAAgE;YAChE,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,uEAAuE;YACvE,gDAAgD;YAChD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC/C,IAAI,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,YAAY,CAAC,CAAA;YAC/E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,oBAAoB,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;gBACrE,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;wBACxF,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;wBAC9D,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;oBACpF,iBAAiB,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI,CAAA;gBAC9E,CAAC;YACH,CAAC;YACD,KAAK,oBAAoB,CACvB;gBACE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CACX,WAAW,CACT;oBACE,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,GAAG;oBACX,YAAY,EAAE,sBAAsB;oBACpC,iBAAiB,EAAE,GAAG,EAAE,cAAc,IAAI,IAAI;oBAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI;iBACzB,EACD,EAAE,CACH,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;gBACzB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;oBAClB,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;oBACpC,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAChE,CAAC;gBACD,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;oBACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,WAAW,EAAE;wBAClE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;qBACzF,CAAC,CAAA;oBACF,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;oBACtC,mEAAmE;oBACnE,kEAAkE;oBAClE,uEAAuE;oBACvE,qEAAqE;oBACrE,mEAAmE;oBACnE,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAA;oBACvD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAA;gBAC9C,CAAC;gBACD,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,aAAa,EAAE,MAAM,CAAC,WAAW,GAAG,KAAK;gBACzC,MAAM,EAAE,GAAG;aACZ,EACD,SAAS,EACT,iBAAiB,CAClB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,wCAAwC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAChJ,CAAC;QACD,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,cAAc,CAAC,KAAK,EAAE,CAAA;IAEtB,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,yEAAyE;IACzE,6BAA6B;IAC7B,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;QACxD,UAAU,EAAE,GAAgC,EAAE,CAC5C,OAAO,CAAC,GAAG,EAAE;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7G,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,OAAO;QACpE,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IACF,qBAAqB,CAAC,KAAK,EAAE,CAAA;IAE7B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,GAAG,CAAC,mBAAmB,MAAM,aAAa,YAAY,EAAE,EAAE,CAAC,CAAA;QAC3D,eAAe,CAAC,KAAK,EAAE,CAAA;QACvB,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,oDAAoD;QACpD,GAAG,CACD,sEAAsE,QAAQ,CAAC,KAAK,EAAE,EAAE,CACzF,CAAA;QACD,QAAQ,CAAC,IAAI,EAAE,CAAA;QACf,MAAM,CAAC,IAAI,EAAE,CAAA;QACb,iBAAiB,CAAC,IAAI,EAAE,CAAA;QACxB,SAAS,CAAC,IAAI,EAAE,CAAA;QAChB,eAAe,CAAC,IAAI,EAAE,CAAA;QACtB,aAAa,CAAC,IAAI,EAAE,CAAA;QACpB,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACzB,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACzB,WAAW,CAAC,IAAI,EAAE,CAAA;QAClB,cAAc,CAAC,IAAI,EAAE,CAAA;QACrB,qBAAqB,CAAC,IAAI,EAAE,CAAA;QAC5B,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,aAAa,CAAC,qBAAqB,CAAC,CAAA;QACpC,8DAA8D;QAC9D,kEAAkE;QAClE,6DAA6D;QAC7D,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,+DAA+D;QAC/D,kDAAkD;QAClD,EAAE;QACF,0DAA0D;QAC1D,mEAAmE;QACnE,mEAAmE;QACnE,4DAA4D;QAC5D,gEAAgE;QAChE,gEAAgE;QAChE,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,kBAAkB,GAAG,CAAC,CAAA;QAC1B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,IAAI,EAAE,CAAA;YACN,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;YAC5C,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAA;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAA;oBACjB,kBAAkB,EAAE,CAAA;gBACtB,CAAC;gBAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CACD,oCAAoC,IAAI,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,GAAG,cAAc,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CACrI,CAAA;QACH,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,2CAA2C,IAAI,uBAAuB,kBAAkB,EAAE,CAAC,CAAA;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,58 @@
1
+ export type ToolRegistrationDriftReason = 'not-installed' | 'no-mcpServers-manifest' | 'dist-missing';
2
+ /** The generated-manifest disposition of one tool-plugin on disk. A tool-plugin
3
+ * declares tools and ships an mcp/ directory (an mcpServers descriptor in the
4
+ * tool surface) — the plugins whose server must mount for their tools to be
5
+ * callable, whether admin- or specialist-facing. */
6
+ export interface ToolPluginManifestState {
7
+ manifestPresent: boolean;
8
+ hasMcpServers: boolean;
9
+ distPresent: boolean;
10
+ }
11
+ export interface ToolRegistrationDriftDefect {
12
+ accountId: string;
13
+ /** Tool-plugin dir name as it appears in account.json enabledPlugins. */
14
+ plugin: string;
15
+ /** The MCP server the mounted plugin would expose (== plugin dir name). */
16
+ expectedServer: string;
17
+ reason: ToolRegistrationDriftReason;
18
+ }
19
+ export interface ToolRegistrationDriftResult {
20
+ ok: boolean;
21
+ defects: ToolRegistrationDriftDefect[];
22
+ /** Count of (account, tool-plugin) pairs checked. */
23
+ inspected: number;
24
+ }
25
+ /** Classify one tool-plugin's manifest state into a drift reason, or null when
26
+ * the server would mount (manifest present, carries mcpServers, dist on disk). */
27
+ export declare function classifyToolRegistration(state: ToolPluginManifestState): ToolRegistrationDriftReason | null;
28
+ /** Cross-check each account's enabled tool-plugins against their generated
29
+ * manifests. `toolPlugins` maps a tool-plugin dir name to its on-disk manifest
30
+ * state; an enabledPlugins entry absent from that map is not a tool-plugin
31
+ * (platform non-tool plugin, skill-only premium sub, leaked foreign sub) and is
32
+ * out of scope here. */
33
+ export declare function assertToolRegistrationDrift(accounts: ReadonlyArray<{
34
+ accountId: string;
35
+ enabledPlugins: readonly string[];
36
+ }>, toolPlugins: ReadonlyMap<string, ToolPluginManifestState>): ToolRegistrationDriftResult;
37
+ /** Index plugin dirs across the roots, keyed by dir basename — the same key
38
+ * loadToolSurface and account.json enabledPlugins use. Platform plugins live at
39
+ * `<root>/<name>`; premium subs at `<premiumRoot>/<bundle>/plugins/<sub>`;
40
+ * standalone premium bundles at `<premiumRoot>/<bundle>`. */
41
+ export declare function indexPluginDirs(pluginRoots: readonly string[]): Map<string, string>;
42
+ /** Read the generated-manifest state of every named tool-plugin. A name with no
43
+ * dir on disk is reported as manifestPresent:false (→ not-installed), so a
44
+ * tool-plugin that vanished from disk is still surfaced rather than skipped. A
45
+ * present-but-corrupt manifest reads as manifestPresent:true, hasMcpServers:
46
+ * false (→ no-mcpServers-manifest).
47
+ *
48
+ * A tool-plugin whose `mcp:` server is a shared `platform/lib/<name>` binary
49
+ * rather than a plugin-local `mcp/` dir (e.g. `graph`, served by
50
+ * `platform/lib/graph-mcp`) is IN scope (Task 1576). The generator now emits an
51
+ * `mcpServers` block for it via the `shared-lib` disposition, so it is judged by
52
+ * the same generated-manifest criterion: `dist-missing` resolves the shared
53
+ * server arg (the last `args` entry) via `${PLATFORM_ROOT}` from the boot env
54
+ * and checks that file, rather than a plugin-local `mcp/dist/index.js`. A
55
+ * no-local-`mcp/` plugin with no `mcp:` block is skills-only and stays out of
56
+ * scope. */
57
+ export declare function readToolPluginManifestStates(pluginRoots: readonly string[], toolPluginNames: Iterable<string>): Map<string, ToolPluginManifestState>;
58
+ //# sourceMappingURL=tool-registration-drift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registration-drift.d.ts","sourceRoot":"","sources":["../src/tool-registration-drift.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,2BAA2B,GACnC,eAAe,GACf,wBAAwB,GACxB,cAAc,CAAA;AAElB;;;qDAGqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,2BAA2B,CAAA;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,EAAE,2BAA2B,EAAE,CAAA;IACtC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;mFACmF;AACnF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,2BAA2B,GAAG,IAAI,CAKpC;AAED;;;;yBAIyB;AACzB,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EACjF,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,GACxD,2BAA2B,CAe7B;AAED;;;8DAG8D;AAC9D,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCnF;AAED;;;;;;;;;;;;;;aAca;AACb,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,GAChC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAqFtC"}
@@ -0,0 +1,196 @@
1
+ // Boot-time tool-availability reconciliation. Maxy enables a tool-bearing plugin
2
+ // per account (account.json enabledPlugins) and the plugin's PLUGIN.md declares
3
+ // tools plus an `mcp:` block — but only the GENERATED `.claude-plugin/plugin.json`
4
+ // mcpServers block makes Claude Code spawn the server. A plugin on
5
+ // `mcp-manifest: skip` keeps its PLUGIN.md `mcp:` block (so the source-level
6
+ // `mcp-allowlist-without-server` gate passes) while the generator drops mcpServers
7
+ // from the artifact CC consumes — the server never mounts and every tool it owns
8
+ // is "listed but not live", silent until an operator complains. This module names
9
+ // that gap at manager boot.
10
+ //
11
+ // Twin of skill-registration-drift.ts (which does the same for a sub-plugin's
12
+ // SKILLS). Like that check this one does NOT refuse boot — an unmounted
13
+ // tool-plugin must not brick the whole install; the manager logs a standing
14
+ // FATAL line per defect and continues (Task 1574).
15
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
16
+ import { join } from 'node:path';
17
+ /** Classify one tool-plugin's manifest state into a drift reason, or null when
18
+ * the server would mount (manifest present, carries mcpServers, dist on disk). */
19
+ export function classifyToolRegistration(state) {
20
+ if (!state.manifestPresent)
21
+ return 'not-installed';
22
+ if (!state.hasMcpServers)
23
+ return 'no-mcpServers-manifest';
24
+ if (!state.distPresent)
25
+ return 'dist-missing';
26
+ return null;
27
+ }
28
+ /** Cross-check each account's enabled tool-plugins against their generated
29
+ * manifests. `toolPlugins` maps a tool-plugin dir name to its on-disk manifest
30
+ * state; an enabledPlugins entry absent from that map is not a tool-plugin
31
+ * (platform non-tool plugin, skill-only premium sub, leaked foreign sub) and is
32
+ * out of scope here. */
33
+ export function assertToolRegistrationDrift(accounts, toolPlugins) {
34
+ const defects = [];
35
+ let inspected = 0;
36
+ for (const account of accounts) {
37
+ for (const plugin of account.enabledPlugins) {
38
+ const state = toolPlugins.get(plugin);
39
+ if (!state)
40
+ continue; // not a tool-plugin on disk — out of scope
41
+ inspected += 1;
42
+ const reason = classifyToolRegistration(state);
43
+ if (reason) {
44
+ defects.push({ accountId: account.accountId, plugin, expectedServer: plugin, reason });
45
+ }
46
+ }
47
+ }
48
+ return { ok: defects.length === 0, defects, inspected };
49
+ }
50
+ /** Index plugin dirs across the roots, keyed by dir basename — the same key
51
+ * loadToolSurface and account.json enabledPlugins use. Platform plugins live at
52
+ * `<root>/<name>`; premium subs at `<premiumRoot>/<bundle>/plugins/<sub>`;
53
+ * standalone premium bundles at `<premiumRoot>/<bundle>`. */
54
+ export function indexPluginDirs(pluginRoots) {
55
+ const out = new Map();
56
+ const addIfPlugin = (name, dir) => {
57
+ if (name.startsWith('.'))
58
+ return;
59
+ try {
60
+ if (!statSync(dir).isDirectory())
61
+ return;
62
+ }
63
+ catch {
64
+ return;
65
+ }
66
+ if (existsSync(join(dir, 'PLUGIN.md')))
67
+ out.set(name, dir);
68
+ };
69
+ for (const root of pluginRoots) {
70
+ let entries;
71
+ try {
72
+ entries = readdirSync(root);
73
+ }
74
+ catch {
75
+ continue;
76
+ }
77
+ for (const name of entries) {
78
+ const dir = join(root, name);
79
+ addIfPlugin(name, dir); // platform plugin / standalone premium bundle
80
+ const subDir = join(dir, 'plugins'); // premium bundle subs
81
+ if (existsSync(subDir)) {
82
+ let subs;
83
+ try {
84
+ subs = readdirSync(subDir);
85
+ }
86
+ catch {
87
+ subs = [];
88
+ }
89
+ for (const sub of subs)
90
+ addIfPlugin(sub, join(subDir, sub));
91
+ }
92
+ }
93
+ }
94
+ return out;
95
+ }
96
+ /** Read the generated-manifest state of every named tool-plugin. A name with no
97
+ * dir on disk is reported as manifestPresent:false (→ not-installed), so a
98
+ * tool-plugin that vanished from disk is still surfaced rather than skipped. A
99
+ * present-but-corrupt manifest reads as manifestPresent:true, hasMcpServers:
100
+ * false (→ no-mcpServers-manifest).
101
+ *
102
+ * A tool-plugin whose `mcp:` server is a shared `platform/lib/<name>` binary
103
+ * rather than a plugin-local `mcp/` dir (e.g. `graph`, served by
104
+ * `platform/lib/graph-mcp`) is IN scope (Task 1576). The generator now emits an
105
+ * `mcpServers` block for it via the `shared-lib` disposition, so it is judged by
106
+ * the same generated-manifest criterion: `dist-missing` resolves the shared
107
+ * server arg (the last `args` entry) via `${PLATFORM_ROOT}` from the boot env
108
+ * and checks that file, rather than a plugin-local `mcp/dist/index.js`. A
109
+ * no-local-`mcp/` plugin with no `mcp:` block is skills-only and stays out of
110
+ * scope. */
111
+ export function readToolPluginManifestStates(pluginRoots, toolPluginNames) {
112
+ const dirs = indexPluginDirs(pluginRoots);
113
+ const out = new Map();
114
+ for (const name of toolPluginNames) {
115
+ const dir = dirs.get(name);
116
+ if (!dir) {
117
+ out.set(name, { manifestPresent: false, hasMcpServers: false, distPresent: false });
118
+ continue;
119
+ }
120
+ // Mirror generate-plugin-manifests.mjs `hasMcp`: only a plugin-local mcp/
121
+ // dir yields a generated mcpServers block. Shared-lib-server plugins are a
122
+ // different mount architecture, out of this gate's remit.
123
+ const hasLocalMcp = existsSync(join(dir, 'mcp', 'dist', 'index.js')) ||
124
+ existsSync(join(dir, 'mcp', 'package.json'));
125
+ if (!hasLocalMcp) {
126
+ // Shared-lib tool-plugin (Task 1576): PLUGIN.md declares an mcp: block but
127
+ // the server is a shared platform/lib binary, so the generator emits
128
+ // mcpServers via the shared-lib disposition. A dir with no mcp: block is
129
+ // skills-only and out of this gate's remit. distPresent resolves the
130
+ // shared server arg (the last args entry) via ${PLATFORM_ROOT}.
131
+ let hasMcpBlock = false;
132
+ try {
133
+ hasMcpBlock = /(^|\n)mcp:[ \t]*(\r?\n|$)/.test(readFileSync(join(dir, 'PLUGIN.md'), 'utf-8'));
134
+ }
135
+ catch {
136
+ /* no readable PLUGIN.md → not a tool-plugin */
137
+ }
138
+ if (!hasMcpBlock)
139
+ continue;
140
+ const manifestPath = join(dir, '.claude-plugin', 'plugin.json');
141
+ const manifestPresent = existsSync(manifestPath);
142
+ let hasMcpServers = false;
143
+ let serverArg = null;
144
+ if (manifestPresent) {
145
+ try {
146
+ const parsed = JSON.parse(readFileSync(manifestPath, 'utf-8'));
147
+ const servers = parsed.mcpServers;
148
+ if (servers &&
149
+ typeof servers === 'object' &&
150
+ !Array.isArray(servers) &&
151
+ Object.keys(servers).length > 0) {
152
+ hasMcpServers = true;
153
+ const entry = servers[name] ?? Object.values(servers)[0];
154
+ const args = Array.isArray(entry?.args) ? entry.args : [];
155
+ const last = args.length ? args[args.length - 1] : null;
156
+ serverArg = typeof last === 'string' ? last : null;
157
+ }
158
+ }
159
+ catch {
160
+ /* corrupt manifest → hasMcpServers stays false → no-mcpServers-manifest */
161
+ }
162
+ }
163
+ let distPresent = false;
164
+ if (serverArg) {
165
+ // Resolve exactly as the manager boot does (index.ts): PLATFORM_ROOT with
166
+ // MAXY_PLATFORM_ROOT as the supported alias. Re-reading only PLATFORM_ROOT
167
+ // would spuriously report dist-missing on a box booted with only the alias.
168
+ const platformRoot = process.env.PLATFORM_ROOT ?? process.env.MAXY_PLATFORM_ROOT;
169
+ const resolved = platformRoot ? serverArg.split('${PLATFORM_ROOT}').join(platformRoot) : serverArg;
170
+ distPresent = !resolved.includes('${') && existsSync(resolved);
171
+ }
172
+ out.set(name, { manifestPresent, hasMcpServers, distPresent });
173
+ continue;
174
+ }
175
+ const manifestPath = join(dir, '.claude-plugin', 'plugin.json');
176
+ const manifestPresent = existsSync(manifestPath);
177
+ let hasMcpServers = false;
178
+ if (manifestPresent) {
179
+ try {
180
+ const parsed = JSON.parse(readFileSync(manifestPath, 'utf-8'));
181
+ hasMcpServers =
182
+ !!parsed.mcpServers &&
183
+ typeof parsed.mcpServers === 'object' &&
184
+ !Array.isArray(parsed.mcpServers) &&
185
+ Object.keys(parsed.mcpServers).length > 0;
186
+ }
187
+ catch {
188
+ /* corrupt manifest → hasMcpServers stays false → no-mcpServers-manifest */
189
+ }
190
+ }
191
+ const distPresent = existsSync(join(dir, 'mcp', 'dist', 'index.js'));
192
+ out.set(name, { manifestPresent, hasMcpServers, distPresent });
193
+ }
194
+ return out;
195
+ }
196
+ //# sourceMappingURL=tool-registration-drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registration-drift.js","sourceRoot":"","sources":["../src/tool-registration-drift.ts"],"names":[],"mappings":"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"}
@@ -4031,11 +4031,6 @@ function setWantsPriorConversation(cacheKey2) {
4031
4031
  function unregisterSession(cacheKey2) {
4032
4032
  return sessionStore.delete(cacheKey2);
4033
4033
  }
4034
- function retagAccountForUser(userId, accountId) {
4035
- for (const session of sessionStore.values()) {
4036
- if (session.userId === userId) session.accountId = accountId;
4037
- }
4038
- }
4039
4034
  function getSessionKeyBySessionId(_sessionId) {
4040
4035
  return void 0;
4041
4036
  }
@@ -5961,7 +5956,6 @@ export {
5961
5956
  setSessionIdForSession,
5962
5957
  setWantsPriorConversation,
5963
5958
  unregisterSession,
5964
- retagAccountForUser,
5965
5959
  getSessionKeyBySessionId,
5966
5960
  findMissingPlugins,
5967
5961
  walkPremiumBundles,
@@ -16,7 +16,7 @@ import {
16
16
  sanitizeClientCorrId,
17
17
  vncLog,
18
18
  websockifyLog
19
- } from "./chunk-UGPQCVIW.js";
19
+ } from "./chunk-WC4WJR6X.js";
20
20
  import "./chunk-PFF6I7KP.js";
21
21
 
22
22
  // server/edge.ts
@@ -1 +1 @@
1
- import{o as e}from"./chunk-Ck5AOu5v.js";import{E as t,S as n,_ as r,x as i,y as a}from"./useSubAccountSwitcher-DLJFISqf.js";import{E as o}from"./useVoiceRecorder-DCyJQkFK.js";import{b as s,y as c}from"./AdminShell-DlAVQUda.js";import{t as l}from"./Checkbox-B629mOPp.js";var u=`admin-landing-redirected`,d=`/graph`;function f(e){return e.variant===`operator`?!1:e.appState===`chat`&&!e.alreadyRedirected}var p=e(t(),1);function m(e=`admin`){let[t,r]=(0,p.useState)(`loading`),[i,a]=(0,p.useState)(``),[c,l]=(0,p.useState)(``),[m,h]=(0,p.useState)(``),[g,_]=(0,p.useState)(!1),[v,y]=(0,p.useState)(!1),[b,x]=(0,p.useState)(!1),[S,C]=(0,p.useState)(!1),[w,T]=(0,p.useState)(!1),[E,D]=(0,p.useState)(null),[O,k]=(0,p.useState)(null),[A,j]=(0,p.useState)(void 0),[M,N]=(0,p.useState)(null),[P,F]=(0,p.useState)(void 0),[I,L]=(0,p.useState)(null),[R,z]=(0,p.useState)(null),[B,V]=(0,p.useState)(void 0),H=(0,p.useRef)(void 0),[U,W]=(0,p.useState)(!1),[G,K]=(0,p.useState)(!0);(0,p.useEffect)(()=>{typeof window>`u`||fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&W(!0)}).catch(()=>{})},[]);let q=(0,p.useRef)(null),J=(0,p.useRef)(null);(0,p.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let t=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(t.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!t.ok)return!1;let n=await t.json();D(n.session_key),z(n.sessionId??null),j(n.businessName),N(n.role??null),F(n.userName===void 0?null:n.userName),L(n.avatar??null);let i=o(n.thinkingView);return H.current=i,V(i),r(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function t(n=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(n>0)return await new Promise(e=>setTimeout(e,1500)),t(n-1);console.error(`[admin] health check returned ${i.status} after retries`),r(`set-pin`);return}let a=await i.json();if(!a.pin_configured){r(`set-pin`);return}K(!!a.claude_authenticated);let o=!1;try{o=new URLSearchParams(window.location.search).get(`connect`)===`claude`}catch{}if(o){try{let e=new URL(window.location.href);e.searchParams.delete(`connect`),window.history.replaceState(null,``,e.pathname+e.search+e.hash)}catch{}if(!a.claude_authenticated){r(`connect-claude`);return}}if(await e())return;r(`enter-pin`)}catch(e){if(n>0)return await new Promise(e=>setTimeout(e,1500)),t(n-1);console.error(`[admin] health check failed:`,e),r(`set-pin`)}}t()},[]),(0,p.useEffect)(()=>{t===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&k(e)}).catch(()=>{})},[t]),(0,p.useEffect)(()=>{if(typeof window>`u`)return;let n=!1;try{n=sessionStorage.getItem(u)===`1`}catch{}if(f({appState:t,alreadyRedirected:n,variant:e})){try{sessionStorage.setItem(u,`1`)}catch{}console.info(`[admin-ui] landing-redirect target=${d}`),window.location.replace(d)}},[t,e]);let Y=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(t!==`chat`)return;let e=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(e.ok){let t=await e.json();K(t.auth_status!==`dead`&&t.auth_status!==`missing`)}}catch{}if(E)try{let e=await fetch(`/api/admin/session?session_key=${encodeURIComponent(E)}`);if(e.status!==401)return;let t=(await e.clone().json().catch(()=>null))?.code??`unknown-401`;if(t===`remote-auth-required`){n(`heartbeat`,`/api/admin/session`);return}console.warn(`[admin-auth] outcome=heartbeat-detected-expiry code=${t}`),Y.current?.()}catch{}},300*1e3);return()=>clearInterval(e)},[t,E]),(0,p.useEffect)(()=>{t===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&(K(!0),r(`enter-pin`))}).catch(()=>{})},[t]);async function X(e,t){y(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...t?{accountId:t}:{}})});if(!i.ok){let e=await i.json().catch(()=>({}));if(i.status===401&&e?.code===`remote-auth-required`){n(`enter-pin`,`/api/admin/session`);return}h(e.error||`Invalid PIN`);return}let s=await i.json();D(s.session_key),z(s.sessionId??null),j(s.businessName),N(s.role??null),F(s.userName===void 0?null:s.userName),L(s.avatar??null);let c=o(s.thinkingView);H.current=c,V(c);try{sessionStorage.setItem(`maxy-admin-session-key`,s.session_key)}catch{}a(``),r(`chat`)}catch(e){console.error(`[admin] connection error:`,e),h(`Could not connect.`)}finally{y(!1)}}let Z=(0,p.useCallback)(async e=>{if(e.preventDefault(),v)return;h(``);let t=c.trim();if(!t){h(`Please enter your name.`);return}if(i.length<4){h(`PIN must be at least 4 characters.`);return}let o=i;y(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o,name:t})});if(!e.ok){let t=await e.json().catch(()=>({}));if(e.status===401&&t?.code===`remote-auth-required`){n(`set-pin`,`/api/onboarding/set-pin`);return}if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let n=await e.json();n.pin_configured&&n.claude_authenticated?r(`enter-pin`):n.pin_configured?r(`connect-claude`):h(t.error||`Failed to set PIN.`)}else r(`enter-pin`)}catch{r(`enter-pin`)}return}h(t.error||`Failed to set PIN.`);return}let i=await fetch(`/api/health`);if((i.ok?await i.json():null)?.claude_authenticated){await X(o);return}a(``),r(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),h(`Could not connect.`)}finally{y(!1)}},[i,v,c]),Q=(0,p.useCallback)(async e=>{e.preventDefault(),h(``),await X(i)},[i]),ee=(0,p.useCallback)(async()=>{T(!0);try{if(!await s())return console.warn(`[admin-ui] claude-disconnect not verified — credentials may persist; staying put`),!1;K(!1),D(null),N(null),F(void 0),L(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(u)}catch{}return r(`connect-claude`),!0}finally{T(!1)}},[]),$=(0,p.useCallback)(()=>{D(null),N(null),F(void 0),L(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(u)}catch{}a(``),h(``),r(`enter-pin`)},[]);return(0,p.useEffect)(()=>{Y.current=$},[$]),{appState:t,setAppState:r,pin:i,setPin:a,operatorName:c,setOperatorName:l,pinError:m,setPinError:h,showPin:g,setShowPin:_,pinLoading:v,authPolling:b,setAuthPolling:x,authLoading:S,setAuthLoading:C,disconnecting:w,cacheKey:E,setCacheKey:D,claudeInfo:O,setClaudeInfo:k,businessName:A,role:M,userName:P,userAvatar:I,sessionId:R,setSessionId:z,expandAll:B,setExpandAll:V,expandAllDefaultRef:H,remoteAuthEnabled:U,claudeConnected:G,pinInputRef:q,setPinFormRef:J,handleSetPin:Z,handleLogin:Q,handleDisconnect:ee,handleLogout:$}}var h=i();function g({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,p.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,h.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,h.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function _(e){let{pin:t,setPin:n,showPin:i,setShowPin:o,pinLoading:s,pinError:u,pinInputRef:d,setPinFormRef:f,onSubmit:p,operatorName:m,setOperatorName:_}=e;return(0,h.jsx)(`div`,{className:`connect-page`,children:(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,r.productName]}),(0,h.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,r.productName,` who you are, then choose a PIN.`]}),(0,h.jsxs)(`form`,{ref:f,onSubmit:p,className:`connect-pin-form`,children:[(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:m,onChange:e=>_(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,h.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(g,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:i}),(0,h.jsx)(c,{variant:`send`,type:`submit`,disabled:!t||!m.trim(),loading:s,"aria-label":`Set PIN`,children:(0,h.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,h.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,h.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,h.jsx)(l,{checked:i,onChange:()=>o(e=>!e),label:`Show PIN`})]}),u&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:u})]})})}function v(e){let{pin:t,setPin:n,showPin:i,setShowPin:o,pinLoading:s,pinError:u,pinInputRef:d,onSubmit:f,remoteAuthEnabled:p,onSignOutRemote:m}=e;return(0,h.jsxs)(`div`,{className:`connect-page`,children:[p&&m&&(0,h.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:m,children:`Sign out`}),(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsx)(`h1`,{className:`connect-title`,children:r.productName}),(0,h.jsxs)(`form`,{onSubmit:f,className:`connect-pin-form`,children:[(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(g,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:i,autoFocus:!0}),(0,h.jsx)(c,{variant:`send`,type:`submit`,disabled:!t,loading:s,children:(0,h.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,h.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,h.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,h.jsx)(`div`,{className:`pin-options`,children:(0,h.jsx)(l,{checked:i,onChange:()=>o(e=>!e),label:`Show PIN`})})]}),u&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:u})]})]})}function y(e){let{authPolling:t,setAuthPolling:n,authLoading:i,setAuthLoading:o,pinError:s,setPinError:l,setAppState:u}=e,[d,f]=(0,p.useState)(!1),[m,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(``),[y,b]=(0,p.useState)(``),[x,S]=(0,p.useState)(``);async function C(){S(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`paste-code`,code:y})})).json();e.accepted?(S(`Code submitted. Finishing sign-in…`),b(``)):S(e.error||`Could not submit code.`)}catch(e){console.error(`[admin] paste-code error:`,e),S(`Could not submit code.`)}}async function w(){g(!0),l(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?f(!0):e.error&&l(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),l(`Could not launch browser.`)}g(!1)}async function T(){o(!0),l(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),f(!0),o(!1),v(e.transport||``);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),u(`enter-pin`);return}l(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&l(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),l(`Could not start auth flow.`)}o(!1)}async function E(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),l(``)}return t||d?(0,h.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,h.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,h.jsx)(`button`,{onClick:E,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,h.jsx)(`button`,{onClick:()=>f(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,h.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,h.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,h.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,h.jsx)(`div`,{style:{marginTop:`12px`},children:(0,h.jsx)(c,{variant:`primary`,onClick:T,disabled:i,children:i?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})}),t&&_===`native`&&(0,h.jsxs)(`div`,{style:{marginTop:`14px`,maxWidth:`420px`,margin:`14px auto 0`,display:`flex`,flexDirection:`column`,gap:`8px`},children:[(0,h.jsx)(`label`,{style:{fontSize:`12px`,color:`#999`,lineHeight:1.4},children:`If the browser didn't finish sign-in, paste the code or full redirect URL from Claude's page:`}),(0,h.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,h.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`Paste code or redirect URL`,style:{flex:1,padding:`8px 10px`,fontSize:`13px`,border:`1px solid #ccc`,borderRadius:`6px`}}),(0,h.jsx)(c,{variant:`primary`,onClick:C,disabled:!y.trim(),children:`Submit`})]}),x&&(0,h.jsx)(`p`,{style:{fontSize:`12px`,color:`#999`,margin:0},children:x})]})]}),(0,h.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,h.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),s&&(0,h.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:s})]}):(0,h.jsx)(`div`,{className:`connect-page`,children:(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsxs)(`div`,{className:`connect-logos`,children:[(0,h.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,h.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,h.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,h.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,h.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsx)(`span`,{className:`connect-logo-label`,children:r.productName})]})]}),(0,h.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,r.productName]}),(0,h.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,h.jsx)(c,{variant:`primary`,onClick:T,disabled:i,children:i?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,h.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,h.jsx)(`button`,{onClick:w,disabled:m,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:m?`Launching…`:`Open browser first`}),s&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:s})]})})}function b({auth:e}){return e.appState===`loading`?(0,h.jsx)(`div`,{className:`connect-page`}):e.appState===`set-pin`?(0,h.jsx)(_,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName}):e.appState===`connect-claude`?(0,h.jsx)(y,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState}):e.appState===`enter-pin`?(0,h.jsx)(v,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:()=>{console.info(`[admin-ui] remote-auth sign-out → /__remote-auth/logout`),window.location.href=`/__remote-auth/logout`}}):null}export{m as n,b as t};
1
+ import{o as e}from"./chunk-Ck5AOu5v.js";import{E as t,S as n,_ as r,x as i,y as a}from"./useSubAccountSwitcher-DLJFISqf.js";import{E as o}from"./useVoiceRecorder-b7HzTFs0.js";import{b as s,y as c}from"./AdminShell-BwEBH6tT.js";import{t as l}from"./Checkbox-B629mOPp.js";var u=`admin-landing-redirected`,d=`/graph`;function f(e){return e.variant===`operator`?!1:e.appState===`chat`&&!e.alreadyRedirected}var p=e(t(),1);function m(e=`admin`){let[t,r]=(0,p.useState)(`loading`),[i,a]=(0,p.useState)(``),[c,l]=(0,p.useState)(``),[m,h]=(0,p.useState)(``),[g,_]=(0,p.useState)(!1),[v,y]=(0,p.useState)(!1),[b,x]=(0,p.useState)(!1),[S,C]=(0,p.useState)(!1),[w,T]=(0,p.useState)(!1),[E,D]=(0,p.useState)(null),[O,k]=(0,p.useState)(null),[A,j]=(0,p.useState)(void 0),[M,N]=(0,p.useState)(null),[P,F]=(0,p.useState)(void 0),[I,L]=(0,p.useState)(null),[R,z]=(0,p.useState)(null),[B,V]=(0,p.useState)(void 0),H=(0,p.useRef)(void 0),[U,W]=(0,p.useState)(!1),[G,K]=(0,p.useState)(!0);(0,p.useEffect)(()=>{typeof window>`u`||fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&W(!0)}).catch(()=>{})},[]);let q=(0,p.useRef)(null),J=(0,p.useRef)(null);(0,p.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let t=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(t.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!t.ok)return!1;let n=await t.json();D(n.session_key),z(n.sessionId??null),j(n.businessName),N(n.role??null),F(n.userName===void 0?null:n.userName),L(n.avatar??null);let i=o(n.thinkingView);return H.current=i,V(i),r(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function t(n=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(n>0)return await new Promise(e=>setTimeout(e,1500)),t(n-1);console.error(`[admin] health check returned ${i.status} after retries`),r(`set-pin`);return}let a=await i.json();if(!a.pin_configured){r(`set-pin`);return}K(!!a.claude_authenticated);let o=!1;try{o=new URLSearchParams(window.location.search).get(`connect`)===`claude`}catch{}if(o){try{let e=new URL(window.location.href);e.searchParams.delete(`connect`),window.history.replaceState(null,``,e.pathname+e.search+e.hash)}catch{}if(!a.claude_authenticated){r(`connect-claude`);return}}if(await e())return;r(`enter-pin`)}catch(e){if(n>0)return await new Promise(e=>setTimeout(e,1500)),t(n-1);console.error(`[admin] health check failed:`,e),r(`set-pin`)}}t()},[]),(0,p.useEffect)(()=>{t===`chat`&&fetch(`/api/admin/claude-info`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&k(e)}).catch(()=>{})},[t]),(0,p.useEffect)(()=>{if(typeof window>`u`)return;let n=!1;try{n=sessionStorage.getItem(u)===`1`}catch{}if(f({appState:t,alreadyRedirected:n,variant:e})){try{sessionStorage.setItem(u,`1`)}catch{}console.info(`[admin-ui] landing-redirect target=${d}`),window.location.replace(d)}},[t,e]);let Y=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(t!==`chat`)return;let e=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(e.ok){let t=await e.json();K(t.auth_status!==`dead`&&t.auth_status!==`missing`)}}catch{}if(E)try{let e=await fetch(`/api/admin/session?session_key=${encodeURIComponent(E)}`);if(e.status!==401)return;let t=(await e.clone().json().catch(()=>null))?.code??`unknown-401`;if(t===`remote-auth-required`){n(`heartbeat`,`/api/admin/session`);return}console.warn(`[admin-auth] outcome=heartbeat-detected-expiry code=${t}`),Y.current?.()}catch{}},300*1e3);return()=>clearInterval(e)},[t,E]),(0,p.useEffect)(()=>{t===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&(K(!0),r(`enter-pin`))}).catch(()=>{})},[t]);async function X(e,t){y(!0);try{let i=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...t?{accountId:t}:{}})});if(!i.ok){let e=await i.json().catch(()=>({}));if(i.status===401&&e?.code===`remote-auth-required`){n(`enter-pin`,`/api/admin/session`);return}h(e.error||`Invalid PIN`);return}let s=await i.json();D(s.session_key),z(s.sessionId??null),j(s.businessName),N(s.role??null),F(s.userName===void 0?null:s.userName),L(s.avatar??null);let c=o(s.thinkingView);H.current=c,V(c);try{sessionStorage.setItem(`maxy-admin-session-key`,s.session_key)}catch{}a(``),r(`chat`)}catch(e){console.error(`[admin] connection error:`,e),h(`Could not connect.`)}finally{y(!1)}}let Z=(0,p.useCallback)(async e=>{if(e.preventDefault(),v)return;h(``);let t=c.trim();if(!t){h(`Please enter your name.`);return}if(i.length<4){h(`PIN must be at least 4 characters.`);return}let o=i;y(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:o,name:t})});if(!e.ok){let t=await e.json().catch(()=>({}));if(e.status===401&&t?.code===`remote-auth-required`){n(`set-pin`,`/api/onboarding/set-pin`);return}if(e.status===409){console.log(`[admin] PIN already configured — re-checking health`);try{let e=await fetch(`/api/health`);if(e.ok){let n=await e.json();n.pin_configured&&n.claude_authenticated?r(`enter-pin`):n.pin_configured?r(`connect-claude`):h(t.error||`Failed to set PIN.`)}else r(`enter-pin`)}catch{r(`enter-pin`)}return}h(t.error||`Failed to set PIN.`);return}let i=await fetch(`/api/health`);if((i.ok?await i.json():null)?.claude_authenticated){await X(o);return}a(``),r(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),h(`Could not connect.`)}finally{y(!1)}},[i,v,c]),Q=(0,p.useCallback)(async e=>{e.preventDefault(),h(``),await X(i)},[i]),ee=(0,p.useCallback)(async()=>{T(!0);try{if(!await s())return console.warn(`[admin-ui] claude-disconnect not verified — credentials may persist; staying put`),!1;K(!1),D(null),N(null),F(void 0),L(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(u)}catch{}return r(`connect-claude`),!0}finally{T(!1)}},[]),$=(0,p.useCallback)(()=>{D(null),N(null),F(void 0),L(null);try{sessionStorage.removeItem(`maxy-admin-session-key`),sessionStorage.removeItem(u)}catch{}a(``),h(``),r(`enter-pin`)},[]);return(0,p.useEffect)(()=>{Y.current=$},[$]),{appState:t,setAppState:r,pin:i,setPin:a,operatorName:c,setOperatorName:l,pinError:m,setPinError:h,showPin:g,setShowPin:_,pinLoading:v,authPolling:b,setAuthPolling:x,authLoading:S,setAuthLoading:C,disconnecting:w,cacheKey:E,setCacheKey:D,claudeInfo:O,setClaudeInfo:k,businessName:A,role:M,userName:P,userAvatar:I,sessionId:R,setSessionId:z,expandAll:B,setExpandAll:V,expandAllDefaultRef:H,remoteAuthEnabled:U,claudeConnected:G,pinInputRef:q,setPinFormRef:J,handleSetPin:Z,handleLogin:Q,handleDisconnect:ee,handleLogout:$}}var h=i();function g({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,p.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,h.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,h.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function _(e){let{pin:t,setPin:n,showPin:i,setShowPin:o,pinLoading:s,pinError:u,pinInputRef:d,setPinFormRef:f,onSubmit:p,operatorName:m,setOperatorName:_}=e;return(0,h.jsx)(`div`,{className:`connect-page`,children:(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,r.productName]}),(0,h.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,r.productName,` who you are, then choose a PIN.`]}),(0,h.jsxs)(`form`,{ref:f,onSubmit:p,className:`connect-pin-form`,children:[(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:m,onChange:e=>_(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,h.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(g,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:i}),(0,h.jsx)(c,{variant:`send`,type:`submit`,disabled:!t||!m.trim(),loading:s,"aria-label":`Set PIN`,children:(0,h.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,h.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,h.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,h.jsx)(l,{checked:i,onChange:()=>o(e=>!e),label:`Show PIN`})]}),u&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:u})]})})}function v(e){let{pin:t,setPin:n,showPin:i,setShowPin:o,pinLoading:s,pinError:u,pinInputRef:d,onSubmit:f,remoteAuthEnabled:p,onSignOutRemote:m}=e;return(0,h.jsxs)(`div`,{className:`connect-page`,children:[p&&m&&(0,h.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:m,children:`Sign out`}),(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsx)(`h1`,{className:`connect-title`,children:r.productName}),(0,h.jsxs)(`form`,{onSubmit:f,className:`connect-pin-form`,children:[(0,h.jsxs)(`div`,{className:`pin-input-row`,children:[(0,h.jsx)(g,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:i,autoFocus:!0}),(0,h.jsx)(c,{variant:`send`,type:`submit`,disabled:!t,loading:s,children:(0,h.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,h.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,h.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,h.jsx)(`div`,{className:`pin-options`,children:(0,h.jsx)(l,{checked:i,onChange:()=>o(e=>!e),label:`Show PIN`})})]}),u&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:u})]})]})}function y(e){let{authPolling:t,setAuthPolling:n,authLoading:i,setAuthLoading:o,pinError:s,setPinError:l,setAppState:u}=e,[d,f]=(0,p.useState)(!1),[m,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(``),[y,b]=(0,p.useState)(``),[x,S]=(0,p.useState)(``);async function C(){S(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`paste-code`,code:y})})).json();e.accepted?(S(`Code submitted. Finishing sign-in…`),b(``)):S(e.error||`Could not submit code.`)}catch(e){console.error(`[admin] paste-code error:`,e),S(`Could not submit code.`)}}async function w(){g(!0),l(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?f(!0):e.error&&l(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),l(`Could not launch browser.`)}g(!1)}async function T(){o(!0),l(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),f(!0),o(!1),v(e.transport||``);for(let e=0;e<120;e++)if(await new Promise(e=>setTimeout(e,2e3)),(await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json()).authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),u(`enter-pin`);return}l(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&l(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),l(`Could not start auth flow.`)}o(!1)}async function E(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),l(``)}return t||d?(0,h.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,h.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,h.jsx)(`button`,{onClick:E,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,h.jsx)(`button`,{onClick:()=>f(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,h.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,h.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,h.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,h.jsx)(`div`,{style:{marginTop:`12px`},children:(0,h.jsx)(c,{variant:`primary`,onClick:T,disabled:i,children:i?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})}),t&&_===`native`&&(0,h.jsxs)(`div`,{style:{marginTop:`14px`,maxWidth:`420px`,margin:`14px auto 0`,display:`flex`,flexDirection:`column`,gap:`8px`},children:[(0,h.jsx)(`label`,{style:{fontSize:`12px`,color:`#999`,lineHeight:1.4},children:`If the browser didn't finish sign-in, paste the code or full redirect URL from Claude's page:`}),(0,h.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,h.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`Paste code or redirect URL`,style:{flex:1,padding:`8px 10px`,fontSize:`13px`,border:`1px solid #ccc`,borderRadius:`6px`}}),(0,h.jsx)(c,{variant:`primary`,onClick:C,disabled:!y.trim(),children:`Submit`})]}),x&&(0,h.jsx)(`p`,{style:{fontSize:`12px`,color:`#999`,margin:0},children:x})]})]}),(0,h.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:(0,h.jsx)(`iframe`,{src:`/vnc-viewer.html`,style:{flex:1,width:`100%`,minHeight:0,border:`none`,background:`#111`,display:`block`},title:`Claude Sign-in`})}),s&&(0,h.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:s})]}):(0,h.jsx)(`div`,{className:`connect-page`,children:(0,h.jsxs)(`div`,{className:`connect-content`,children:[(0,h.jsxs)(`div`,{className:`connect-logos`,children:[(0,h.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,h.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,h.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,h.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,h.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,h.jsx)(`img`,{src:a,alt:r.productName,className:`connect-logo connect-logo--maxy`}),!r.logoContainsName&&(0,h.jsx)(`span`,{className:`connect-logo-label`,children:r.productName})]})]}),(0,h.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,r.productName]}),(0,h.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,h.jsx)(c,{variant:`primary`,onClick:T,disabled:i,children:i?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,h.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,h.jsx)(`button`,{onClick:w,disabled:m,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:m?`Launching…`:`Open browser first`}),s&&(0,h.jsx)(`p`,{className:`admin-pin-error`,children:s})]})})}function b({auth:e}){return e.appState===`loading`?(0,h.jsx)(`div`,{className:`connect-page`}):e.appState===`set-pin`?(0,h.jsx)(_,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName}):e.appState===`connect-claude`?(0,h.jsx)(y,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState}):e.appState===`enter-pin`?(0,h.jsx)(v,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:()=>{console.info(`[admin-ui] remote-auth sign-out → /__remote-auth/logout`),window.location.href=`/__remote-auth/logout`}}):null}export{m as n,b as t};