@undefineds.co/linx 0.3.8 → 0.3.15

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 (39) hide show
  1. package/README.md +17 -0
  2. package/dist/generated/version.js +2 -2
  3. package/dist/generated/version.js.map +1 -1
  4. package/dist/index.js +13 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/auto-mode/pod-approval.js +216 -2
  7. package/dist/lib/auto-mode/pod-approval.js.map +1 -1
  8. package/dist/lib/linx-status-line.js +335 -0
  9. package/dist/lib/linx-status-line.js.map +1 -0
  10. package/dist/lib/linx-tui-contract.js +3 -3
  11. package/dist/lib/linx-tui-contract.js.map +1 -1
  12. package/dist/lib/models.js +2 -2
  13. package/dist/lib/models.js.map +1 -1
  14. package/dist/lib/pi-adapter/interactive.js +326 -231
  15. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  16. package/dist/lib/pi-adapter/pod-mirror.js +52 -2
  17. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -1
  18. package/dist/lib/pi-adapter/runtime.js +14 -4
  19. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  20. package/dist/lib/pi-adapter/stream.js +24 -1
  21. package/dist/lib/pi-adapter/stream.js.map +1 -1
  22. package/dist/lib/status-line-command.js +108 -0
  23. package/dist/lib/status-line-command.js.map +1 -0
  24. package/dist/lib/symphony/pod-projection.js +357 -17
  25. package/dist/lib/symphony/pod-projection.js.map +1 -1
  26. package/dist/lib/symphony-command.js +20 -21
  27. package/dist/lib/symphony-command.js.map +1 -1
  28. package/dist/skills/symphony/SKILL.md +119 -10
  29. package/dist/skills/xpod-cli/SKILL.md +70 -0
  30. package/package.json +9 -3
  31. package/vendor/agent-runtime/dist/client-inbox-subscription.d.ts +56 -0
  32. package/vendor/agent-runtime/dist/client-inbox-subscription.js +93 -0
  33. package/vendor/agent-runtime/dist/index.d.ts +1 -0
  34. package/vendor/agent-runtime/dist/index.js +1 -0
  35. package/vendor/agent-runtime/dist/reconciler.d.ts +60 -1
  36. package/vendor/agent-runtime/dist/reconciler.js +150 -6
  37. package/vendor/agent-runtime/dist/symphony.js +6 -5
  38. package/vendor/agent-runtime/dist/thread-reconciler-controller.d.ts +2 -1
  39. package/vendor/agent-runtime/dist/thread-reconciler-controller.js +4 -0
@@ -8,9 +8,9 @@ export const LINX_TUI_READY_FOOTER_HINT = `enter send · ctrl+l model · ${LINX_
8
8
  export const LINX_TUI_READY_DRAFT_HINT = 'enter send · shift+enter newline · alt+enter follow-up';
9
9
  export const LINX_TUI_RUNNING_FOOTER_HINT = `ctrl+c interrupt · ${LINX_TUI_KEYMAP_COMMAND} ${LINX_TUI_KEYMAP_LABEL} · ${LINX_TUI_EXIT_COMMAND}`;
10
10
  export const LINX_TUI_RUNNING_DRAFT_HINT = 'enter steer · shift+enter newline · alt+enter follow-up';
11
- export const LINX_TUI_AUTO_MODE_HEADER_HINT = ' enter send | ctrl+l model | alt+up restore | ctrl+o tools | ctrl+c clear / double quit ';
11
+ export const LINX_TUI_AUTO_MODE_HEADER_HINT = ' enter send | ctrl+l model | alt+up restore | ctrl+o tools | esc esc rewind | ctrl+c clear ';
12
12
  export const LINX_TUI_AUTO_MODE_READY_NOTE = `Use ${LINX_TUI_KEYMAP_COMMAND} for ${LINX_TUI_KEYMAP_LABEL}. Type ${LINX_TUI_EXIT_COMMAND} to leave this session.`;
13
- export const LINX_TUI_AUTO_MODE_HELP_ACTIVITY = `Keymap: enter send · ctrl+l model · /auto on|off|status · /goal <peer-command> · /rewind [turns] · ${LINX_TUI_EXIT_COMMAND}`;
13
+ export const LINX_TUI_AUTO_MODE_HELP_ACTIVITY = `Keymap: enter send · ctrl+l model · esc esc rewind · /auto on|off|status · /goal <peer-command> · /rewind [turns] · ${LINX_TUI_EXIT_COMMAND}`;
14
14
  export const LINX_TUI_AUTO_MODE_HELP_TEXT = [
15
15
  `${LINX_TUI_KEYMAP_COMMAND} ${LINX_TUI_KEYMAP_LABEL}`,
16
16
  `${LINX_TUI_LOGIN_COMMAND} refresh LinX Cloud login`,
@@ -22,7 +22,7 @@ export const LINX_TUI_AUTO_MODE_HELP_TEXT = [
22
22
  '/auto off return to direct user-driven chat',
23
23
  '/goal <peer-command> send a goal command to the current chat peer',
24
24
  '/rewind [turns] move the active session branch before recent user turns',
25
- '/symphony on|off|status switch current chat peer: Secretary vs worker/backend',
25
+ '/symphony on|off|status turn Secretary task handoff on/off, or show status',
26
26
  '/debug on|off protocol view',
27
27
  '',
28
28
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"linx-tui-contract.js","sourceRoot":"","sources":["../../src/lib/linx-tui-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAA;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAA;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACvI,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACtJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,wDAAwD,CAAA;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AAC/I,MAAM,CAAC,MAAM,2BAA2B,GAAG,yDAAyD,CAAA;AACpG,MAAM,CAAC,MAAM,8BAA8B,GAAG,0FAA0F,CAAA;AACxI,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,uBAAuB,QAAQ,qBAAqB,UAAU,qBAAqB,yBAAyB,CAAA;AAChK,MAAM,CAAC,MAAM,gCAAgC,GAAG,sGAAsG,qBAAqB,EAAE,CAAA;AAC7K,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,uBAAuB,IAAI,qBAAqB,EAAE;IACrD,GAAG,sBAAsB,2BAA2B;IACpD,GAAG,uBAAuB,yBAAyB;IACnD,GAAG,qBAAqB,qBAAqB;IAC7C,kCAAkC;IAClC,0CAA0C;IAC1C,mDAAmD;IACnD,6CAA6C;IAC7C,mEAAmE;IACnE,yEAAyE;IACzE,+EAA+E;IAC/E,6BAA6B;IAC7B,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"linx-tui-contract.js","sourceRoot":"","sources":["../../src/lib/linx-tui-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAA;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAA;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAEhD,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACvI,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AACtJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,wDAAwD,CAAA;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,uBAAuB,IAAI,qBAAqB,MAAM,qBAAqB,EAAE,CAAA;AAC/I,MAAM,CAAC,MAAM,2BAA2B,GAAG,yDAAyD,CAAA;AACpG,MAAM,CAAC,MAAM,8BAA8B,GAAG,6FAA6F,CAAA;AAC3I,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,uBAAuB,QAAQ,qBAAqB,UAAU,qBAAqB,yBAAyB,CAAA;AAChK,MAAM,CAAC,MAAM,gCAAgC,GAAG,uHAAuH,qBAAqB,EAAE,CAAA;AAC9L,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,uBAAuB,IAAI,qBAAqB,EAAE;IACrD,GAAG,sBAAsB,2BAA2B;IACpD,GAAG,uBAAuB,yBAAyB;IACnD,GAAG,qBAAqB,qBAAqB;IAC7C,kCAAkC;IAClC,0CAA0C;IAC1C,mDAAmD;IACnD,6CAA6C;IAC7C,mEAAmE;IACnE,yEAAyE;IACzE,4EAA4E;IAC5E,6BAA6B;IAC7B,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { getBuiltinModels as getSharedBuiltinModels, } from '@undefineds.co/models/discovery';
2
- import { aiConfigProviderRef, aiConfigModelUri, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, chatRepository, credentialResource, credentialTable, ContactClass, ContactType, auditResource, agentResource, agentTable, applySolidComunicaPatches, chatResource, chatTable, contactResource, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, initSolidResources, initSolidTables, extractSessionIdFromSessionRef, solidResources, solidSchema, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, } from '@undefineds.co/models';
3
- export { ContactClass, ContactType, agentResource, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderRef, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, chatRepository, chatResource, chatTable, contactResource, contactTable, credentialResource, credentialTable, auditResource, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, extractSessionIdFromSessionRef, solidSchema, solidResources, initSolidResources, initSolidTables, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, };
2
+ import { aiConfigProviderRef, aiConfigModelUri, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, claimApprovalRequest, claimInputRequest, chatRepository, credentialResource, credentialTable, ContactClass, ContactType, auditResource, agentResource, agentTable, applySolidComunicaPatches, chatResource, chatTable, contactResource, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, inputRequestResource, inputRequestTable, initSolidResources, initSolidTables, extractSessionIdFromSessionRef, solidResources, solidSchema, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, reportResource, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, } from '@undefineds.co/models';
3
+ export { ContactClass, ContactType, agentResource, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderRef, aiConfigProviderUri, aiConfigRepository, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, claimApprovalRequest, claimInputRequest, chatRepository, chatResource, chatTable, contactResource, contactTable, credentialResource, credentialTable, auditResource, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderIdsForBackend, getAIConfigProviderCatalog, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, ideaResource, inboxNotificationResource, inboxNotificationTable, inputRequestResource, inputRequestTable, extractSessionIdFromSessionRef, solidSchema, solidResources, initSolidResources, initSolidTables, messageResource, messageTable, issueResource, issueTable, taskResource, taskTable, deliveryResource, deliveryTable, reportResource, runResource, runStepResource, runTable, runStepTable, sessionResource, sessionTable, skillResource, skillTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, selectAIConfigCredentialForBackend, sessionRepository, threadRepository, threadResource, threadTable, };
4
4
  export function getBuiltinModels() {
5
5
  return getSharedBuiltinModels();
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GA4BZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,8BAA8B,EAC9B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,CAAA;AA+BD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,8BAA8B,EAC9B,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GAoCZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,CAAA;AAuCD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}