@smartmemory/stratum 0.4.6 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cli/flow.js +61 -0
  2. package/dist/cli/flow.js.map +1 -0
  3. package/dist/cli/learn.js +9 -16
  4. package/dist/cli/learn.js.map +1 -1
  5. package/dist/cli/query_gate.js +7 -2
  6. package/dist/cli/query_gate.js.map +1 -1
  7. package/dist/cli/stratum.js +3 -1
  8. package/dist/cli/stratum.js.map +1 -1
  9. package/dist/connectors/background.js +2 -2
  10. package/dist/connectors/background.js.map +1 -1
  11. package/dist/connectors/claude.js +2 -0
  12. package/dist/connectors/claude.js.map +1 -1
  13. package/dist/connectors/codex.js +4 -0
  14. package/dist/connectors/codex.js.map +1 -1
  15. package/dist/connectors/foreground_registry.js +617 -0
  16. package/dist/connectors/foreground_registry.js.map +1 -0
  17. package/dist/connectors/index.js +1 -0
  18. package/dist/connectors/index.js.map +1 -1
  19. package/dist/connectors/proc_identity.js +28 -0
  20. package/dist/connectors/proc_identity.js.map +1 -1
  21. package/dist/connectors/runner.js +2 -0
  22. package/dist/connectors/runner.js.map +1 -1
  23. package/dist/contracts/events.json +27 -1
  24. package/dist/contracts/mcp-surface.json +176 -6
  25. package/dist/engine/checkpoint.js +1 -1
  26. package/dist/engine/checkpoint.js.map +1 -1
  27. package/dist/engine/engine.js +860 -195
  28. package/dist/engine/engine.js.map +1 -1
  29. package/dist/engine/flow_cancel.js +158 -0
  30. package/dist/engine/flow_cancel.js.map +1 -0
  31. package/dist/engine/run_lock.js +628 -0
  32. package/dist/engine/run_lock.js.map +1 -0
  33. package/dist/engine/state.js +43 -2
  34. package/dist/engine/state.js.map +1 -1
  35. package/dist/ir/refs.js +12 -0
  36. package/dist/ir/refs.js.map +1 -1
  37. package/dist/ir/schema.js +9 -0
  38. package/dist/ir/schema.js.map +1 -1
  39. package/dist/ir/validate.js +243 -29
  40. package/dist/ir/validate.js.map +1 -1
  41. package/dist/learn/smartmemory_egress.js +3 -1
  42. package/dist/learn/smartmemory_egress.js.map +1 -1
  43. package/dist/mcp/server.js +192 -4
  44. package/dist/mcp/server.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
@@ -87,4 +87,32 @@ export async function processIdentityMatches(pid, expectedStartTime) {
87
87
  return false;
88
88
  return (await procStartTime(pid)) === expectedStartTime;
89
89
  }
90
+ /** Tri-state process identity (R4-3). `processIdentityMatches` collapses "this process is
91
+ * gone" and "I could not tell" into the same `false`, so every reclaim built on it breaks a
92
+ * live holder's resource the moment a probe hits EPERM.
93
+ *
94
+ * "dead" is a POSITIVE finding: ESRCH on the signal-0 probe, or a readable start time that
95
+ * does not match the recorded one. "unknown" is EPERM, or a start time we could not read at
96
+ * all. Nothing that reclaims another process's resource may act on "unknown". */
97
+ export async function processIdentity(pid, startTime) {
98
+ if (!Number.isSafeInteger(pid) || pid <= 0)
99
+ return "unknown";
100
+ if (typeof startTime !== "string" || startTime.length === 0)
101
+ return "unknown";
102
+ try {
103
+ process.kill(pid, 0);
104
+ }
105
+ catch (error) {
106
+ const code = error?.code;
107
+ if (code === "ESRCH")
108
+ return "dead";
109
+ // EPERM means the process exists but belongs to another user: alive, but we cannot read
110
+ // its start time either, so we must not claim identity. Anything else is equally opaque.
111
+ return "unknown";
112
+ }
113
+ const actual = await procStartTime(pid);
114
+ if (actual === undefined)
115
+ return "unknown";
116
+ return actual === startTime ? "alive" : "dead";
117
+ }
90
118
  //# sourceMappingURL=proc_identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proc_identity.js","sourceRoot":"","sources":["../../src/connectors/proc_identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc_identity.js","sourceRoot":"","sources":["../../src/connectors/proc_identity.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export async function runAgent(options, boundaries = {}) {
58
58
  ...(options.effort !== undefined ? { effort: options.effort } : {}),
59
59
  ...(options.sandboxMode !== undefined ? { sandboxMode: options.sandboxMode } : {}),
60
60
  ...(options.env !== undefined ? { env: options.env } : {}),
61
+ ...(options.onSpawn !== undefined ? { onSpawn: options.onSpawn } : {}),
61
62
  ...(boundaries.codexSpawn !== undefined ? { spawn: boundaries.codexSpawn } : {}),
62
63
  ...(options.onEvent !== undefined ? { onEvent: options.onEvent } : {}),
63
64
  ...(options.signal !== undefined ? { signal: options.signal } : {}),
@@ -73,6 +74,7 @@ export async function runAgent(options, boundaries = {}) {
73
74
  ...(options.allowedTools !== undefined ? { allowedTools: options.allowedTools } : {}),
74
75
  ...(options.disallowedTools !== undefined ? { disallowedTools: options.disallowedTools } : {}),
75
76
  ...(options.env !== undefined ? { env: options.env } : {}),
77
+ ...(options.onSpawn !== undefined ? { onSpawn: options.onSpawn } : {}),
76
78
  ...(boundaries.claudeQuery !== undefined ? { query: boundaries.claudeQuery } : {}),
77
79
  ...(options.onEvent !== undefined ? { onEvent: options.onEvent } : {}),
78
80
  }).run(options.prompt);
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/connectors/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/connectors/runner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "events": 2,
2
+ "events": 4,
3
3
  "shapeLanguage": "Each kind maps to the full event payload shape minus the implicit {at: string, type: string}. Leaf types: number|string|boolean|object|array|null|any, unions with '|', optional keys end in '?', nested objects are declared inline. Undeclared keys are contract violations.",
4
4
  "kinds": {
5
5
  "planned": {},
@@ -93,6 +93,32 @@
93
93
  "receiptsAtRevert": "number",
94
94
  "stepsRestored": { "$array": "string" }
95
95
  }
96
+ },
97
+ "carry_updated": {
98
+ "stepId?": "string",
99
+ "detail": {
100
+ "name": "string",
101
+ "reason": "string",
102
+ "provenance": {
103
+ "kind": "string",
104
+ "sourceStep?": "string",
105
+ "sourceEpoch?": "number",
106
+ "gate?": "string",
107
+ "gateToken?": "string",
108
+ "round?": "number",
109
+ "at": "string"
110
+ }
111
+ }
112
+ },
113
+ "flow_cancelled": {
114
+ "detail": {
115
+ "by": "string",
116
+ "reason?": "string",
117
+ "burned": {
118
+ "steps": { "$array": "string" },
119
+ "items": "number"
120
+ }
121
+ }
96
122
  }
97
123
  }
98
124
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "surface": 17,
2
+ "surface": 19,
3
3
  "shapeLanguage": "Same shape language as events.json. Each tool declares its request shape and one response shape per status variant; a response's status field is implicit. Undeclared keys are contract violations.",
4
4
  "errors": {
5
5
  "consumer_dispatch_bg_unsupported": {
@@ -38,6 +38,19 @@
38
38
  }
39
39
  }
40
40
  },
41
+ "flow_not_running": {
42
+ "data": {
43
+ "code": "string",
44
+ "runId": "string",
45
+ "status?": "string"
46
+ }
47
+ },
48
+ "flow_admission_failed": {
49
+ "data": {
50
+ "code": "string",
51
+ "runId": "string"
52
+ }
53
+ },
41
54
  "agent_run_failed": {
42
55
  "data": {
43
56
  "code": "string",
@@ -60,6 +73,26 @@
60
73
  "effort?": "string"
61
74
  }
62
75
  }
76
+ },
77
+ "flow_cancel_unacknowledged": {
78
+ "data": {
79
+ "code": "string",
80
+ "runId": "string",
81
+ "status": "string",
82
+ "flowSettled": "boolean",
83
+ "reason?": "string",
84
+ "holderPid?": "number",
85
+ "agents": {
86
+ "signalled": "number",
87
+ "reaped": "number",
88
+ "gone": "number",
89
+ "unreachable": "number",
90
+ "alreadySettled": "number",
91
+ "unresolved": "number",
92
+ "unsettled": "number",
93
+ "unreaped": "number"
94
+ }
95
+ }
63
96
  }
64
97
  },
65
98
  "tools": {
@@ -133,6 +166,7 @@
133
166
  "stage": "number",
134
167
  "isFinalStage": "boolean",
135
168
  "itemIndex": "number",
169
+ "item": "any",
136
170
  "generation": "number",
137
171
  "contract": {
138
172
  "$oneOf": [
@@ -255,6 +289,7 @@
255
289
  "stage": "number",
256
290
  "isFinalStage": "boolean",
257
291
  "itemIndex": "number",
292
+ "item": "any",
258
293
  "generation": "number",
259
294
  "contract": {
260
295
  "$oneOf": [
@@ -426,6 +461,7 @@
426
461
  "stage": "number",
427
462
  "isFinalStage": "boolean",
428
463
  "itemIndex": "number",
464
+ "item": "any",
429
465
  "generation": "number",
430
466
  "contract": {
431
467
  "$oneOf": [
@@ -541,6 +577,7 @@
541
577
  "stage": "number",
542
578
  "isFinalStage": "boolean",
543
579
  "itemIndex": "number",
580
+ "item": "any",
544
581
  "generation": "number",
545
582
  "contract": {
546
583
  "$oneOf": [
@@ -623,28 +660,40 @@
623
660
  "events": "array",
624
661
  "steps": "object",
625
662
  "flowSpent": "object",
626
- "output?": "any"
663
+ "output?": "any",
664
+ "carry?": "object"
627
665
  },
628
666
  "completed": {
629
667
  "runId": "string",
630
668
  "events": "array",
631
669
  "steps": "object",
632
670
  "flowSpent": "object",
633
- "output?": "any"
671
+ "output?": "any",
672
+ "carry?": "object"
634
673
  },
635
674
  "failed": {
636
675
  "runId": "string",
637
676
  "events": "array",
638
677
  "steps": "object",
639
678
  "flowSpent": "object",
640
- "output?": "any"
679
+ "output?": "any",
680
+ "carry?": "object"
641
681
  },
642
682
  "budget_exhausted": {
643
683
  "runId": "string",
644
684
  "events": "array",
645
685
  "steps": "object",
646
686
  "flowSpent": "object",
647
- "output?": "any"
687
+ "output?": "any",
688
+ "carry?": "object"
689
+ },
690
+ "cancelled": {
691
+ "runId": "string",
692
+ "events": "array",
693
+ "steps": "object",
694
+ "flowSpent": "object",
695
+ "output?": "any",
696
+ "carry?": "object"
648
697
  }
649
698
  }
650
699
  },
@@ -690,6 +739,7 @@
690
739
  "stage": "number",
691
740
  "isFinalStage": "boolean",
692
741
  "itemIndex": "number",
742
+ "item": "any",
693
743
  "generation": "number",
694
744
  "contract": {
695
745
  "$oneOf": [
@@ -806,6 +856,17 @@
806
856
  },
807
857
  "output?": "any",
808
858
  "failure?": "object"
859
+ },
860
+ "cancelled": {
861
+ "runId": "string",
862
+ "events": "array",
863
+ "nextCursor": "number",
864
+ "ledger": {
865
+ "spent": "object",
866
+ "budget?": "object"
867
+ },
868
+ "output?": "any",
869
+ "failure?": "object"
809
870
  }
810
871
  }
811
872
  },
@@ -894,6 +955,23 @@
894
955
  "pendingGates": "array",
895
956
  "gateStepId?": "string"
896
957
  }
958
+ },
959
+ "cancelled": {
960
+ "runId": "string",
961
+ "events": "array",
962
+ "nextCursor": "number",
963
+ "ledger": {
964
+ "spent": "object",
965
+ "budget?": "object"
966
+ },
967
+ "output?": "any",
968
+ "failure?": "object",
969
+ "bg": {
970
+ "status": "string",
971
+ "cancelRequested": "boolean",
972
+ "pendingGates": "array",
973
+ "gateStepId?": "string"
974
+ }
897
975
  }
898
976
  }
899
977
  },
@@ -909,6 +987,93 @@
909
987
  "cancelled": {}
910
988
  }
911
989
  },
990
+ "stratum_flow_cancel": {
991
+ "request": {
992
+ "runId": "string"
993
+ },
994
+ "responses": {
995
+ "cancelled": {
996
+ "runId": "string",
997
+ "flowSettled": "boolean",
998
+ "acknowledged": "boolean",
999
+ "reason?": "string",
1000
+ "ledger": {
1001
+ "spent": "object",
1002
+ "budget?": "object"
1003
+ },
1004
+ "agents": {
1005
+ "signalled": "number",
1006
+ "reaped": "number",
1007
+ "gone": "number",
1008
+ "unreachable": "number",
1009
+ "alreadySettled": "number",
1010
+ "unresolved": "number",
1011
+ "unsettled": "number",
1012
+ "unreaped": "number"
1013
+ }
1014
+ },
1015
+ "completed": {
1016
+ "runId": "string",
1017
+ "flowSettled": "boolean",
1018
+ "acknowledged": "boolean",
1019
+ "reason?": "string",
1020
+ "ledger": {
1021
+ "spent": "object",
1022
+ "budget?": "object"
1023
+ },
1024
+ "agents": {
1025
+ "signalled": "number",
1026
+ "reaped": "number",
1027
+ "gone": "number",
1028
+ "unreachable": "number",
1029
+ "alreadySettled": "number",
1030
+ "unresolved": "number",
1031
+ "unsettled": "number",
1032
+ "unreaped": "number"
1033
+ }
1034
+ },
1035
+ "failed": {
1036
+ "runId": "string",
1037
+ "flowSettled": "boolean",
1038
+ "acknowledged": "boolean",
1039
+ "reason?": "string",
1040
+ "ledger": {
1041
+ "spent": "object",
1042
+ "budget?": "object"
1043
+ },
1044
+ "agents": {
1045
+ "signalled": "number",
1046
+ "reaped": "number",
1047
+ "gone": "number",
1048
+ "unreachable": "number",
1049
+ "alreadySettled": "number",
1050
+ "unresolved": "number",
1051
+ "unsettled": "number",
1052
+ "unreaped": "number"
1053
+ }
1054
+ },
1055
+ "budget_exhausted": {
1056
+ "runId": "string",
1057
+ "flowSettled": "boolean",
1058
+ "acknowledged": "boolean",
1059
+ "reason?": "string",
1060
+ "ledger": {
1061
+ "spent": "object",
1062
+ "budget?": "object"
1063
+ },
1064
+ "agents": {
1065
+ "signalled": "number",
1066
+ "reaped": "number",
1067
+ "gone": "number",
1068
+ "unreachable": "number",
1069
+ "alreadySettled": "number",
1070
+ "unresolved": "number",
1071
+ "unsettled": "number",
1072
+ "unreaped": "number"
1073
+ }
1074
+ }
1075
+ }
1076
+ },
912
1077
  "stratum_agent_run": {
913
1078
  "request": {
914
1079
  "agent": "string",
@@ -925,7 +1090,12 @@
925
1090
  },
926
1091
  "thinking?": "object",
927
1092
  "effort?": "string",
928
- "cancellationId?": "string"
1093
+ "cancellationId?": "string",
1094
+ "flow?": {
1095
+ "runId": "string",
1096
+ "stepId?": "string",
1097
+ "itemIndex?": "number"
1098
+ }
929
1099
  },
930
1100
  "responses": {
931
1101
  "complete": {
@@ -8,7 +8,7 @@
8
8
  * detached/fanout mutable state -> cancelRequested / parallel
9
9
  */
10
10
  export const CHECKPOINT_FIELDS = [
11
- "status", "output", "failure", "flowSpent", "rounds", "steps", "events", "policy_verdicts", "cancelRequested", "parallel",
11
+ "status", "output", "failure", "flowSpent", "rounds", "steps", "events", "policy_verdicts", "cancelRequested", "parallel", "carry",
12
12
  ];
13
13
  /** Immutable identity/config fields plus the deliberately non-recursive checkpoint map. */
14
14
  export const CHECKPOINT_EXCLUDED = {
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/engine/checkpoint.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU;CACvE,CAAC;AAIrD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,mCAAmC;IACzC,cAAc,EAAE,2DAA2D;IAC3E,iBAAiB,EAAE,uDAAuD;IAC1E,cAAc,EAAE,sDAAsD;IACtE,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,0BAA0B;IACpC,aAAa,EAAE,mCAAmC;IAClD,SAAS,EAAE,kCAAkC;IAC7C,YAAY,EAAE,sCAAsC;IACpD,oBAAoB,EAAE,6CAA6C;IACnE,QAAQ,EAAE,sEAAsE;IAChF,QAAQ,EAAE,0DAA0D;IACpE,WAAW,EAAE,iDAAiD;CACiB,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,GAAiB,EAAE,KAAa;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACtE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAuB,CAAC;IAClG,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACxE,+EAA+E;IAC/E,sCAAsC;IACtC,IAAI,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;;QACtC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAiB,EAAE,KAAa;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAqC,CAAC;IACrF,MAAM,UAAU,GAAG,GAAkD,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnE,IAAI,KAAK,KAAK,iBAAiB;YAAE,SAAS;;YAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/engine/checkpoint.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO;CAChF,CAAC;AAIrD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,mCAAmC;IACzC,cAAc,EAAE,2DAA2D;IAC3E,iBAAiB,EAAE,uDAAuD;IAC1E,cAAc,EAAE,sDAAsD;IACtE,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,0BAA0B;IACpC,aAAa,EAAE,mCAAmC;IAClD,SAAS,EAAE,kCAAkC;IAC7C,YAAY,EAAE,sCAAsC;IACpD,oBAAoB,EAAE,6CAA6C;IACnE,QAAQ,EAAE,sEAAsE;IAChF,QAAQ,EAAE,0DAA0D;IACpE,WAAW,EAAE,iDAAiD;CACiB,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,GAAiB,EAAE,KAAa;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACtE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAuB,CAAC;IAClG,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACxE,+EAA+E;IAC/E,sCAAsC;IACtC,IAAI,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;;QACtC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAiB,EAAE,KAAa;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAqC,CAAC;IACrF,MAAM,UAAU,GAAG,GAAkD,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnE,IAAI,KAAK,KAAK,iBAAiB;YAAE,SAAS;;YAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}