spidersan 0.2.5 → 0.3.3

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 (101) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +14 -33
  3. package/dist/bin/spidersan.d.ts.map +1 -1
  4. package/dist/bin/spidersan.js +12 -4
  5. package/dist/bin/spidersan.js.map +1 -1
  6. package/dist/commands/collab-sync.d.ts.map +1 -1
  7. package/dist/commands/collab-sync.js +44 -20
  8. package/dist/commands/collab-sync.js.map +1 -1
  9. package/dist/commands/conflicts.js.map +1 -1
  10. package/dist/commands/demo.d.ts.map +1 -1
  11. package/dist/commands/demo.js +24 -19
  12. package/dist/commands/demo.js.map +1 -1
  13. package/dist/commands/doctor.d.ts.map +1 -1
  14. package/dist/commands/doctor.js +40 -0
  15. package/dist/commands/doctor.js.map +1 -1
  16. package/dist/commands/inbox.d.ts.map +1 -1
  17. package/dist/commands/inbox.js +81 -27
  18. package/dist/commands/inbox.js.map +1 -1
  19. package/dist/commands/index.d.ts +5 -0
  20. package/dist/commands/index.d.ts.map +1 -1
  21. package/dist/commands/index.js +7 -0
  22. package/dist/commands/index.js.map +1 -1
  23. package/dist/commands/lock.d.ts.map +1 -1
  24. package/dist/commands/lock.js +47 -10
  25. package/dist/commands/lock.js.map +1 -1
  26. package/dist/commands/monitor.d.ts +3 -0
  27. package/dist/commands/monitor.d.ts.map +1 -0
  28. package/dist/commands/monitor.js +153 -0
  29. package/dist/commands/monitor.js.map +1 -0
  30. package/dist/commands/msg-read.d.ts.map +1 -1
  31. package/dist/commands/msg-read.js +59 -34
  32. package/dist/commands/msg-read.js.map +1 -1
  33. package/dist/commands/rescue.d.ts +11 -0
  34. package/dist/commands/rescue.d.ts.map +1 -0
  35. package/dist/commands/rescue.js +90 -0
  36. package/dist/commands/rescue.js.map +1 -0
  37. package/dist/commands/semantic.d.ts +3 -0
  38. package/dist/commands/semantic.d.ts.map +1 -0
  39. package/dist/commands/semantic.js +62 -0
  40. package/dist/commands/semantic.js.map +1 -0
  41. package/dist/commands/send.d.ts.map +1 -1
  42. package/dist/commands/send.js +53 -66
  43. package/dist/commands/send.js.map +1 -1
  44. package/dist/commands/stale.d.ts +1 -0
  45. package/dist/commands/stale.d.ts.map +1 -1
  46. package/dist/commands/stale.js +101 -1
  47. package/dist/commands/stale.js.map +1 -1
  48. package/dist/commands/tension.d.ts.map +1 -1
  49. package/dist/commands/tension.js +27 -7
  50. package/dist/commands/tension.js.map +1 -1
  51. package/dist/commands/torrent.d.ts.map +1 -1
  52. package/dist/commands/torrent.js +23 -18
  53. package/dist/commands/torrent.js.map +1 -1
  54. package/dist/commands/welcome.d.ts +3 -0
  55. package/dist/commands/welcome.d.ts.map +1 -0
  56. package/dist/commands/welcome.js +92 -0
  57. package/dist/commands/welcome.js.map +1 -0
  58. package/dist/commands/who-owns.d.ts +3 -0
  59. package/dist/commands/who-owns.d.ts.map +1 -0
  60. package/dist/commands/who-owns.js +68 -0
  61. package/dist/commands/who-owns.js.map +1 -0
  62. package/dist/commands/who-touched.d.ts.map +1 -1
  63. package/dist/commands/who-touched.js +22 -10
  64. package/dist/commands/who-touched.js.map +1 -1
  65. package/dist/lib/ast.d.ts +20 -40
  66. package/dist/lib/ast.d.ts.map +1 -1
  67. package/dist/lib/ast.js +55 -101
  68. package/dist/lib/ast.js.map +1 -1
  69. package/dist/lib/license.d.ts +0 -1
  70. package/dist/lib/license.d.ts.map +1 -1
  71. package/dist/lib/license.js +2 -5
  72. package/dist/lib/license.js.map +1 -1
  73. package/dist/storage/git-messages.d.ts +53 -0
  74. package/dist/storage/git-messages.d.ts.map +1 -0
  75. package/dist/storage/git-messages.js +372 -0
  76. package/dist/storage/git-messages.js.map +1 -0
  77. package/dist/storage/index.d.ts +5 -0
  78. package/dist/storage/index.d.ts.map +1 -1
  79. package/dist/storage/index.js +7 -0
  80. package/dist/storage/index.js.map +1 -1
  81. package/dist/storage/local-messages.d.ts +37 -0
  82. package/dist/storage/local-messages.d.ts.map +1 -0
  83. package/dist/storage/local-messages.js +151 -0
  84. package/dist/storage/local-messages.js.map +1 -0
  85. package/dist/storage/message-adapter.d.ts +86 -0
  86. package/dist/storage/message-adapter.d.ts.map +1 -0
  87. package/dist/storage/message-adapter.js +28 -0
  88. package/dist/storage/message-adapter.js.map +1 -0
  89. package/dist/storage/message-factory.d.ts +36 -0
  90. package/dist/storage/message-factory.d.ts.map +1 -0
  91. package/dist/storage/message-factory.js +99 -0
  92. package/dist/storage/message-factory.js.map +1 -0
  93. package/dist/storage/mycmail-adapter.d.ts +38 -0
  94. package/dist/storage/mycmail-adapter.d.ts.map +1 -0
  95. package/dist/storage/mycmail-adapter.js +297 -0
  96. package/dist/storage/mycmail-adapter.js.map +1 -0
  97. package/dist/tui/dashboard.d.ts +35 -0
  98. package/dist/tui/dashboard.d.ts.map +1 -0
  99. package/dist/tui/dashboard.js +190 -0
  100. package/dist/tui/dashboard.js.map +1 -0
  101. package/package.json +4 -4
package/dist/lib/ast.js CHANGED
@@ -1,134 +1,88 @@
1
- /**
2
- * Spidersan AST Parser
3
- *
4
- * Semantic conflict detection using Tree-sitter.
5
- * Detects function/class/method-level changes instead of just file-level.
6
- *
7
- * @module ast
8
- */
9
1
  import Parser from 'tree-sitter';
10
2
  import TypeScript from 'tree-sitter-typescript';
3
+ import fs from 'fs';
11
4
  import { createHash } from 'crypto';
12
5
  export class ASTParser {
13
6
  parser;
14
7
  constructor() {
15
8
  this.parser = new Parser();
9
+ // TypeScript binding quirk
16
10
  this.parser.setLanguage(TypeScript.typescript);
17
11
  }
12
+ parse(code) {
13
+ return this.parser.parse(code);
14
+ }
18
15
  /**
19
- * Parse a TypeScript/JavaScript file and extract symbols
16
+ * Parse a file and return all defined symbols (functions, classes, methods)
20
17
  */
21
- parseCode(code, filePath = 'unknown') {
22
- const start = Date.now();
23
- const tree = this.parser.parse(code);
24
- const symbols = this.extractSymbols(tree.rootNode, code);
25
- return {
26
- filePath,
27
- symbols,
28
- parseTime: Date.now() - start,
29
- };
18
+ getSymbols(filePath) {
19
+ if (!fs.existsSync(filePath)) {
20
+ return [];
21
+ }
22
+ const code = fs.readFileSync(filePath, 'utf-8');
23
+ const tree = this.parse(code);
24
+ return this.extractSymbols(tree);
30
25
  }
31
26
  /**
32
- * Extract all symbols from an AST
27
+ * Compute SHA-256 hash of code content
33
28
  */
34
- extractSymbols(node, code) {
29
+ computeHash(content) {
30
+ return createHash('sha256').update(content).digest('hex');
31
+ }
32
+ extractSymbols(tree) {
35
33
  const symbols = [];
36
- const visit = (n) => {
37
- let symbolType = null;
38
- let nameNode = null;
39
- switch (n.type) {
40
- case 'function_declaration':
41
- symbolType = 'function';
42
- nameNode = n.childForFieldName('name');
43
- break;
44
- case 'class_declaration':
45
- symbolType = 'class';
46
- nameNode = n.childForFieldName('name');
47
- break;
48
- case 'method_definition':
49
- symbolType = 'method';
50
- nameNode = n.childForFieldName('name');
51
- break;
52
- case 'interface_declaration':
53
- symbolType = 'interface';
54
- nameNode = n.childForFieldName('name');
55
- break;
56
- case 'lexical_declaration':
57
- case 'variable_declaration':
58
- // Only track exported or top-level variables
59
- if (n.parent?.type === 'program' || n.parent?.type === 'export_statement') {
60
- symbolType = 'variable';
61
- const declarator = n.descendantsOfType('variable_declarator')[0];
62
- nameNode = declarator?.childForFieldName('name') || null;
63
- }
64
- break;
65
- }
66
- if (symbolType && nameNode) {
67
- const content = code.slice(n.startIndex, n.endIndex);
68
- symbols.push({
69
- name: nameNode.text,
70
- type: symbolType,
71
- startLine: n.startPosition.row + 1,
72
- endLine: n.endPosition.row + 1,
73
- hash: this.hashContent(content),
74
- });
34
+ const cursor = tree.walk();
35
+ const visit = (node) => {
36
+ if (node.type === 'function_declaration' || node.type === 'class_declaration' || node.type === 'method_definition') {
37
+ const nameNode = node.childForFieldName('name');
38
+ if (nameNode) {
39
+ const content = node.text;
40
+ symbols.push({
41
+ name: nameNode.text,
42
+ type: node.type.replace('_declaration', '').replace('_definition', ''),
43
+ startLine: node.startPosition.row + 1, // 1-indexed for humans
44
+ endLine: node.endPosition.row + 1,
45
+ content: content,
46
+ hash: this.computeHash(content)
47
+ });
48
+ }
75
49
  }
76
- // Recurse into children
77
- for (let i = 0; i < n.childCount; i++) {
78
- const child = n.child(i);
50
+ for (let i = 0; i < node.childCount; i++) {
51
+ const child = node.child(i);
79
52
  if (child)
80
53
  visit(child);
81
54
  }
82
55
  };
83
- visit(node);
56
+ visit(tree.rootNode);
84
57
  return symbols;
85
58
  }
86
59
  /**
87
- * Hash symbol content for change detection
60
+ * Compare two versions of code and find symbols that differ in content
88
61
  */
89
- hashContent(content) {
90
- // Normalize whitespace before hashing
91
- const normalized = content.replace(/\s+/g, ' ').trim();
92
- return createHash('sha256').update(normalized).digest('hex').slice(0, 16);
93
- }
94
- /**
95
- * Compare two file versions and find symbol-level conflicts
96
- */
97
- findSymbolConflicts(codeA, fileA, codeB, fileB) {
98
- const symbolsA = this.parseCode(codeA, fileA);
99
- const symbolsB = this.parseCode(codeB, fileB);
62
+ findSymbolConflicts(contentA, labelA, contentB, labelB) {
63
+ const treeA = this.parse(contentA);
64
+ const treeB = this.parse(contentB);
65
+ const symbolsA = this.extractSymbols(treeA);
66
+ const symbolsB = this.extractSymbols(treeB);
100
67
  const conflicts = [];
101
- const mapA = new Map(symbolsA.symbols.map(s => [s.name, s]));
102
- for (const symB of symbolsB.symbols) {
103
- const symA = mapA.get(symB.name);
104
- if (symA && symA.hash !== symB.hash) {
68
+ // Map for fast lookup
69
+ const mapB = new Map();
70
+ symbolsB.forEach(s => mapB.set(s.name, s));
71
+ for (const symA of symbolsA) {
72
+ const symB = mapB.get(symA.name);
73
+ // If symbol exists in both and content differs
74
+ if (symB && symA.content !== symB.content) {
105
75
  conflicts.push({
106
- symbolName: symB.name,
107
- symbolType: symB.type,
108
- fileA,
109
- fileB,
110
- hashA: symA.hash,
111
- hashB: symB.hash,
76
+ symbolName: symA.name,
77
+ symbolType: symA.type,
78
+ locations: [
79
+ { file: labelA, range: [symA.startLine, symA.endLine] },
80
+ { file: labelB, range: [symB.startLine, symB.endLine] }
81
+ ]
112
82
  });
113
83
  }
114
84
  }
115
85
  return conflicts;
116
86
  }
117
- /**
118
- * Check if a specific symbol was modified between two versions
119
- */
120
- isSymbolModified(codeA, codeB, symbolName) {
121
- const symbolsA = this.parseCode(codeA);
122
- const symbolsB = this.parseCode(codeB);
123
- const symA = symbolsA.symbols.find(s => s.name === symbolName);
124
- const symB = symbolsB.symbols.find(s => s.name === symbolName);
125
- if (!symA && !symB)
126
- return false; // Symbol doesn't exist in either
127
- if (!symA || !symB)
128
- return true; // Symbol added or removed
129
- return symA.hash !== symB.hash; // Symbol modified
130
- }
131
87
  }
132
- // Export singleton for convenience
133
- export const astParser = new ASTParser();
134
88
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/lib/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/lib/ast.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  * Ed25519-based license verification for Pro features.
5
5
  * Public key is embedded; private key is kept by treebird for signing.
6
6
  */
7
- export declare const EARLY_ADOPTER_END: Date;
8
7
  export declare const FREE_TIER_LIMITS: {
9
8
  maxConcurrentBranches: number;
10
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,eAAO,MAAM,iBAAiB,MAAyB,CAAC;AAGxD,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAGF,MAAM,MAAM,UAAU,GAChB,oBAAoB,GACpB,YAAY,GACZ,qBAAqB,GACrB,WAAW,CAAC;AAElB,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACtB;AAyBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CA8BnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,GAAG,IAAI,CAS5C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAM/B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAIvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAChC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAqBA;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMpD"}
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAGF,MAAM,MAAM,UAAU,GAChB,oBAAoB,GACpB,YAAY,GACZ,qBAAqB,GACrB,WAAW,CAAC;AAElB,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACtB;AAyBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CA8BnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,GAAG,IAAI,CAS5C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAM/B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAIvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAChC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAqBA;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMpD"}
@@ -15,12 +15,9 @@ const LICENSE_FILE = join(LICENSE_DIR, 'license.key');
15
15
  // Treebird's public key for license verification (Ed25519)
16
16
  // This is the ONLY key that can sign valid licenses
17
17
  const TREEBIRD_PUBLIC_KEY = 'XqIqSlybZGKkKemgLKKl8P9MepnObhcJcxxZHtgG8/o=';
18
- // Early Adopter Period: All features free until Feb 2026!
19
- // After Feb 2026, paywall may be re-enabled.
20
- export const EARLY_ADOPTER_END = new Date('2026-02-28');
21
- // Free tier limits (disabled during early adopter period)
18
+ // Free tier limits
22
19
  export const FREE_TIER_LIMITS = {
23
- maxConcurrentBranches: 999, // Effectively unlimited for early adopters
20
+ maxConcurrentBranches: 5,
24
21
  };
25
22
  /**
26
23
  * Ensure license directory exists
@@ -1 +1 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/lib/license.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Git Coordination Branch Message Storage Adapter (Tier 2)
3
+ *
4
+ * Stores messages in an orphan branch: spidersan/messages
5
+ * Structure:
6
+ * inbox/<agent-id>/<timestamp>_<from>_<subject-slug>.json
7
+ * outbox/<agent-id>/<timestamp>_<to>_<subject-slug>.json
8
+ *
9
+ * Near-real-time coordination on pull. Works across machines with git remote.
10
+ */
11
+ import type { MessageStorageAdapter, Message, SendMessageInput, InboxOptions, TierStatus } from './message-adapter.js';
12
+ export declare class GitMessagesAdapter implements MessageStorageAdapter {
13
+ private basePath;
14
+ private branchInitialized;
15
+ constructor(basePath?: string);
16
+ getTier(): number;
17
+ getTierName(): string;
18
+ isAvailable(): Promise<boolean>;
19
+ getStatus(): Promise<TierStatus>;
20
+ /**
21
+ * Check if the messages branch exists
22
+ */
23
+ private branchExists;
24
+ /**
25
+ * Initialize the orphan branch if it doesn't exist
26
+ */
27
+ private ensureBranch;
28
+ /**
29
+ * Generate filename for a message
30
+ */
31
+ private generateFilename;
32
+ /**
33
+ * Read a file from the messages branch without checkout
34
+ */
35
+ private readFromBranch;
36
+ /**
37
+ * List files in a directory on the messages branch
38
+ */
39
+ private listFromBranch;
40
+ /**
41
+ * Write a file to the messages branch
42
+ */
43
+ private writeToBranch;
44
+ /**
45
+ * Update a file on the messages branch (for marking read)
46
+ */
47
+ private updateOnBranch;
48
+ send(input: SendMessageInput): Promise<Message>;
49
+ inbox(agentId: string, options?: InboxOptions): Promise<Message[]>;
50
+ read(messageId: string): Promise<Message | null>;
51
+ markRead(messageId: string): Promise<boolean>;
52
+ }
53
+ //# sourceMappingURL=git-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-messages.d.ts","sourceRoot":"","sources":["../../src/storage/git-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACR,qBAAqB,EACrB,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACb,MAAM,sBAAsB,CAAC;AAK9B,qBAAa,kBAAmB,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAwB;gBAErC,QAAQ,GAAE,MAAsB;IAI5C,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAa/B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAYtC;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;YACW,YAAY;IAsE1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;YACW,aAAa;IAwF3B;;OAEG;YACW,cAAc;IAOtB,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA8CtE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAwChD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWtD"}