@exero1/claudecontext 0.1.2 → 0.1.4

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.
@@ -36,14 +36,21 @@ function ask(rl, question) {
36
36
  });
37
37
  });
38
38
  }
39
+ function askDefault(rl, question, defaultVal) {
40
+ return new Promise(resolve => {
41
+ rl.question(` ${question} [${defaultVal}]: `, answer => {
42
+ resolve(answer.trim() || defaultVal);
43
+ });
44
+ });
45
+ }
39
46
  function mergeJson(existing, patch) {
40
47
  return { ...existing, ...patch };
41
48
  }
42
49
  async function cmdInit(projectRoot, opts = {}) {
43
50
  process.stdout.write('\n╔══════════════════════════════════════╗\n');
44
- process.stdout.write('║ ClaudeContext Setup Wizard ║\n');
51
+ process.stdout.write('║ ClaudeContext Setup ║\n');
45
52
  process.stdout.write('╚══════════════════════════════════════╝\n\n');
46
- log(`Setting up ClaudeContext in: ${projectRoot}`);
53
+ log(`Setting up in: ${projectRoot}`);
47
54
  let projectName;
48
55
  let projectDesc;
49
56
  let techStack;
@@ -95,44 +102,43 @@ async function cmdInit(projectRoot, opts = {}) {
95
102
  process.exit(1);
96
103
  }
97
104
  const rl = createInterface({ input: process.stdin, output: process.stdout });
98
- // Step 1/4: Project info
99
- process.stdout.write('\n── Step 1/4: Project information ────────\n');
100
- projectName = await ask(rl, 'Project name:');
101
- projectDesc = await ask(rl, 'Brief project description (1-2 sentences):');
102
- techStack = await ask(rl, 'Tech stack (e.g. TypeScript, React, PostgreSQL):');
103
- testStrategy = await ask(rl, 'Test strategy (e.g. Vitest unit + Playwright E2E):');
104
- // Step 2/4: Code areas
105
- process.stdout.write('\n── Step 2/4: Code areas (subsystems) ───\n');
105
+ process.stdout.write('\n');
106
+ projectName = await askDefault(rl, 'Project name', basename(projectRoot));
107
+ projectDesc = await ask(rl, 'What are you building? (optional — press Enter to skip):');
108
+ techStack = '';
109
+ testStrategy = '';
110
+ conventions = '';
111
+ invariants = '';
112
+ // Auto-detect areas from existing code
113
+ process.stdout.write('\n Scanning project structure...\n');
106
114
  const detected = detectAreas(projectRoot);
115
+ areas = [];
107
116
  if (detected.length > 0) {
108
- log(`Auto-detected ${detected.length} area(s): ${detected.map(a => a.name).join(', ')}`);
117
+ log(`Found: ${detected.map(a => a.name).join(', ')}`);
118
+ const confirm = await askDefault(rl, 'Use these?', 'Y');
119
+ if (confirm.toLowerCase() !== 'n') {
120
+ areas = detected;
121
+ ok(`Using ${areas.length} area(s)`);
122
+ }
123
+ }
124
+ else {
125
+ log('No existing code found — areas will be detected automatically as you add files.');
126
+ }
127
+ if (areas.length === 0) {
128
+ const manual = await ask(rl, 'Any main sections to track? (comma-separated names like "auth, api, database" — or press Enter to skip):');
129
+ if (manual) {
130
+ areas = manual.split(',').map(n => n.trim()).filter(Boolean).map(name => ({
131
+ name,
132
+ globs: [`src/${name}/**`, `**/${name}*`],
133
+ docPath: `docs/context/${name}.md`,
134
+ }));
135
+ if (areas.length > 0)
136
+ ok(`Added: ${areas.map(a => a.name).join(', ')}`);
137
+ }
109
138
  }
110
- log('Enter your main code areas. Press Enter with empty input to finish.');
111
- log('Example: auth, api, database, frontend');
112
- areas = [];
113
- while (true) {
114
- const areaName = await ask(rl, `Area name (or Enter to finish):`);
115
- if (!areaName)
116
- break;
117
- const globs = await ask(rl, ` File patterns for "${areaName}" (comma-separated, e.g. src/auth/**,src/middleware/auth*):`);
118
- areas.push({
119
- name: areaName,
120
- globs: globs.split(',').map(g => g.trim()).filter(Boolean),
121
- docPath: `docs/context/${areaName}.md`,
122
- });
123
- ok(`Area "${areaName}" added`);
124
- }
125
- if (areas.length === 0 && detected.length > 0) {
126
- areas = detected;
127
- log(`No areas entered — using auto-detected areas: ${areas.map(a => a.name).join(', ')}`);
128
- }
129
- // Step 3/4: Conventions
130
- process.stdout.write('\n── Step 3/4: Conventions ───────────────\n');
131
- conventions = await ask(rl, 'Key conventions (e.g. "Use async/await, no callbacks; snake_case for DB"):');
132
- invariants = await ask(rl, 'Critical invariants (e.g. "Never expose user IDs in URLs"):');
133
139
  rl.close();
134
140
  }
135
- process.stdout.write('\n── Step 4/4: Creating files ────────────\n');
141
+ process.stdout.write('\n Setting up your files...\n');
136
142
  // Create directories
137
143
  const stateDir = join(projectRoot, '.claudecontext');
138
144
  const hooksDir = join(projectRoot, '.claude', 'hooks');
@@ -154,52 +160,28 @@ async function cmdInit(projectRoot, opts = {}) {
154
160
  ? areas.map(a => `- **${a.name}**: \`${a.globs.join(', ')}\` → docs at \`${a.docPath}\``).join('\n')
155
161
  : '- (no areas configured — run `claudecontext init` to add areas)';
156
162
  const claudeMdContent = `# ${projectName || 'Project'}
163
+ ${projectDesc ? `\n${projectDesc}\n` : ''}
164
+ ## ClaudeContext — Session Instructions
157
165
 
158
- ## ClaudeContext System Instructions
159
-
160
- **MANDATORY — do these every session:**
161
-
162
- 1. **Start of session / after compaction:** call \`context_get_bundle\` immediately. This restores your task context.
163
- 2. **After EVERY technical decision** (architecture choice, tradeoff accepted, approach selected): call \`context_update_task\` and record it in the "decisions" field. Do not defer this — decisions not recorded here are permanently lost on compaction.
164
- 3. **First time you understand the goal:** call \`context_update_task\` to set the "goal" field in plain English.
165
- 4. **Files touched** are auto-tracked by the post-write hook — you do NOT need to add them manually.
166
- 5. To show the user what context is loaded: call \`context_status\`.
167
-
168
- ---
169
-
170
- ## Project Description
171
-
172
- ${projectDesc || '(add description)'}
173
-
174
- ---
175
-
176
- ## Tech Stack
177
-
178
- ${techStack || '(add tech stack)'}
166
+ **Do these every session:**
179
167
 
168
+ 1. **On start / after compaction:** call \`context_get_bundle\` — this restores your task context.
169
+ 2. **After any technical decision:** call \`context_update_task\` and record it in "decisions". Decisions not recorded here are lost on compaction.
170
+ 3. **When you understand the goal:** call \`context_update_task\` to set the "goal" field.
171
+ 4. Files you edit are tracked automatically — you don't need to do anything.
172
+ 5. To see what context is loaded: call \`context_status\`.
173
+ ${areas.length > 0 ? `
180
174
  ---
181
175
 
182
176
  ## Key Areas
183
177
 
184
178
  ${areasSection}
185
-
186
- ---
187
-
188
- ## Conventions
189
-
190
- ${conventions || '(add conventions)'}
191
-
179
+ ` : ''}
192
180
  ---
193
181
 
194
- ## Critical Invariants
195
-
196
- ${invariants || '(add invariants)'}
197
-
198
- ---
182
+ ## Notes
199
183
 
200
- ## Test Strategy
201
-
202
- ${testStrategy || '(add test strategy)'}
184
+ (Add project-specific conventions, gotchas, or rules here — Claude will follow them every session.)
203
185
  `;
204
186
  writeFileSync(claudeMdPath, claudeMdContent);
205
187
  ok('Generated CLAUDE.md');
@@ -582,78 +564,114 @@ async function cmdAutoAreas(projectRoot, dryRun) {
582
564
  process.stdout.write('\n');
583
565
  }
584
566
  /**
585
- * Register claudecontext as a user-scoped (global) MCP server.
586
- *
587
- * This means it's available in every project without per-project .mcp.json.
588
- * Uses `claude mcp add --scope user` which writes to ~/.claude.json.
567
+ * Register claudecontext as a user-scoped (global) MCP server + global hooks.
589
568
  *
590
- * Hooks are still per-project run `claudecontext init` in each project for hooks.
569
+ * Runs automatically on `npm install -g` via postinstall.
570
+ * --auto flag: silent, non-fatal errors (used by postinstall).
591
571
  */
592
- async function cmdGlobalInstall() {
593
- process.stdout.write('\n╔══════════════════════════════════════╗\n');
594
- process.stdout.write('║ ClaudeContext Global Install ║\n');
595
- process.stdout.write('╚══════════════════════════════════════╝\n\n');
596
- log('This registers claudecontext as a user-scoped MCP server.');
597
- log('After this, the MCP server is available in ALL your projects automatically.');
598
- log('');
572
+ async function cmdGlobalInstall(opts = {}) {
573
+ if (!opts.auto) {
574
+ process.stdout.write('\n╔══════════════════════════════════════╗\n');
575
+ process.stdout.write('║ ClaudeContext Global Install ║\n');
576
+ process.stdout.write('╚══════════════════════════════════════╝\n\n');
577
+ }
599
578
  // Check Node version
600
579
  const nodeVersion = process.version;
601
580
  const major = parseInt(nodeVersion.slice(1), 10);
602
581
  if (major < 22) {
603
582
  err(`Node.js ${nodeVersion} detected — Node 22+ required. Please upgrade.`);
604
- process.exit(1);
583
+ if (!opts.auto)
584
+ process.exit(1);
585
+ return;
605
586
  }
606
- ok(`Node.js ${nodeVersion}`);
607
- // Check claude CLI is available (Windows uses claude.cmd)
587
+ if (!opts.auto)
588
+ ok(`Node.js ${nodeVersion}`);
589
+ // ── Register MCP server ───────────────────────────────────────────────────
608
590
  const claudeBin = isWindows ? 'claude.cmd' : 'claude';
591
+ let claudeFound = false;
609
592
  try {
610
593
  execSync(`${claudeBin} --version`, { stdio: 'pipe' });
611
- ok('claude CLI found');
594
+ claudeFound = true;
612
595
  }
613
- catch {
614
- err('claude CLI not found — install it with: npm install -g @anthropic-ai/claude-code');
615
- process.exit(1);
596
+ catch { /* claude not installed yet — that's ok for postinstall */ }
597
+ if (claudeFound) {
598
+ try {
599
+ execSync(`${claudeBin} mcp add --transport stdio --scope user claudecontext -- npx --yes -p @exero1/claudecontext claudecontext-mcp`, { stdio: opts.auto ? 'pipe' : 'inherit' });
600
+ ok('MCP server registered (user scope)');
601
+ }
602
+ catch {
603
+ // Fallback: write directly to ~/.claude.json
604
+ const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
605
+ const claudeJsonPath = join(homeDir, '.claude.json');
606
+ let claudeJson = {};
607
+ if (existsSync(claudeJsonPath)) {
608
+ try {
609
+ claudeJson = JSON.parse(readFileSync(claudeJsonPath, 'utf8'));
610
+ }
611
+ catch { /* ignore */ }
612
+ }
613
+ const mcpServers = claudeJson['mcpServers'] ?? {};
614
+ mcpServers['claudecontext'] = {
615
+ type: 'stdio',
616
+ command: 'npx',
617
+ args: ['--yes', '-p', '@exero1/claudecontext', 'claudecontext-mcp'],
618
+ env: { NODE_OPTIONS: '--no-warnings' },
619
+ };
620
+ claudeJson['mcpServers'] = mcpServers;
621
+ writeFileSync(claudeJsonPath, JSON.stringify(claudeJson, null, 2));
622
+ ok('MCP server registered (~/.claude.json)');
623
+ }
624
+ }
625
+ else if (!opts.auto) {
626
+ warn('claude CLI not found — MCP server not registered. Run `claudecontext global-install` after installing Claude Code.');
616
627
  }
617
- // Register as user-scoped MCP server
618
- // The MCP server uses process.cwd() as project root, which Claude Code sets to the project directory.
619
- log('Registering with claude mcp add --scope user ...');
628
+ // ── Register global hooks in ~/.claude/settings.json ─────────────────────
629
+ // Use `npm root -g` to find the real global install __dirname may point to
630
+ // npm's temp cache during postinstall, so we can't rely on it for the path.
631
+ let globalHooksDir;
620
632
  try {
621
- execSync(`${claudeBin} mcp add --transport stdio --scope user claudecontext -- npx --yes -p @exero1/claudecontext claudecontext-mcp`, { stdio: 'inherit' });
622
- ok('claudecontext registered as global MCP server');
633
+ const globalRoot = execSync('npm root -g', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
634
+ globalHooksDir = join(globalRoot, '@exero1', 'claudecontext', 'hooks');
623
635
  }
624
636
  catch {
625
- warn('claude mcp add failed attempting manual registration in ~/.claude.json ...');
626
- // Fallback: write directly to ~/.claude.json
627
- const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
628
- const claudeJsonPath = join(homeDir, '.claude.json');
629
- let claudeJson = {};
630
- if (existsSync(claudeJsonPath)) {
631
- try {
632
- claudeJson = JSON.parse(readFileSync(claudeJsonPath, 'utf8'));
633
- }
634
- catch { /* ignore */ }
635
- }
636
- const mcpServers = claudeJson['mcpServers'] ?? {};
637
- mcpServers['claudecontext'] = {
638
- type: 'stdio',
639
- command: 'npx',
640
- args: ['--yes', '-p', '@exero1/claudecontext', 'claudecontext-mcp'],
641
- env: { NODE_OPTIONS: '--no-warnings' },
642
- };
643
- claudeJson['mcpServers'] = mcpServers;
644
- writeFileSync(claudeJsonPath, JSON.stringify(claudeJson, null, 2));
645
- ok(`Written to ${claudeJsonPath}`);
637
+ // fallback: relative to install.js (works when run manually after install)
638
+ globalHooksDir = resolve(__dirname, '..', '..', 'hooks');
639
+ }
640
+ // No quotes around Unix paths — Claude Code runs hooks directly, not via shell
641
+ const hookCmd = (name) => isWindows ? `node "${join(globalHooksDir, name)}"` : join(globalHooksDir, name);
642
+ const homeDir = process.env['HOME'] ?? process.env['USERPROFILE'] ?? '';
643
+ const globalSettingsPath = join(homeDir, '.claude', 'settings.json');
644
+ let settings = {};
645
+ if (existsSync(globalSettingsPath)) {
646
+ try {
647
+ settings = JSON.parse(readFileSync(globalSettingsPath, 'utf8'));
648
+ }
649
+ catch { /* ignore */ }
650
+ }
651
+ settings['hooks'] = {
652
+ SessionStart: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('session-start.mjs') }] }],
653
+ PreToolUse: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('pre-tool-use.mjs') }] }],
654
+ PostToolUse: [{ matcher: 'Write|Edit|NotebookEdit', hooks: [{ type: 'command', command: hookCmd('post-write.mjs') }] }],
655
+ PreCompact: [{ matcher: '', hooks: [{ type: 'command', command: hookCmd('pre-compact.mjs') }] }],
656
+ };
657
+ try {
658
+ mkdirSync(dirname(globalSettingsPath), { recursive: true });
659
+ writeFileSync(globalSettingsPath, JSON.stringify(settings, null, 2));
660
+ ok('Global hooks registered (~/.claude/settings.json)');
661
+ }
662
+ catch (e) {
663
+ if (!opts.auto)
664
+ warn(`Could not write ~/.claude/settings.json: ${e}`);
665
+ }
666
+ if (!opts.auto) {
667
+ process.stdout.write('\n╔══════════════════════════════════════╗\n');
668
+ process.stdout.write('║ Setup complete! ║\n');
669
+ process.stdout.write('╚══════════════════════════════════════╝\n\n');
670
+ log('Open any project with `claude` — context memory is active immediately.');
671
+ log('');
672
+ log('Optional: run `claudecontext init` in a project to generate CLAUDE.md.');
673
+ log('');
646
674
  }
647
- process.stdout.write('\n╔══════════════════════════════════════╗\n');
648
- process.stdout.write('║ Global install complete! ║\n');
649
- process.stdout.write('╚══════════════════════════════════════╝\n\n');
650
- log('The claudecontext MCP server is now available in all your projects.');
651
- log('');
652
- log('To verify: open any project in Claude Code and run context_status()');
653
- log('');
654
- log('Note: Hooks (SessionStart, PreToolUse, etc.) are still per-project.');
655
- log('Run `claudecontext init` in each project to install hooks.');
656
- log('');
657
675
  }
658
676
  // ── Main ───────────────────────────────────────────────────────────────────
659
677
  const args = process.argv.slice(2);
@@ -675,9 +693,11 @@ switch (command) {
675
693
  await cmdInit(projectRoot, initOpts);
676
694
  break;
677
695
  }
678
- case 'global-install':
679
- await cmdGlobalInstall();
696
+ case 'global-install': {
697
+ const auto = args.includes('--auto');
698
+ await cmdGlobalInstall({ auto });
680
699
  break;
700
+ }
681
701
  case 'remove': {
682
702
  const dryRun = args.includes('--dry-run');
683
703
  const purge = args.includes('--purge');
@@ -699,16 +719,19 @@ switch (command) {
699
719
  process.stdout.write(`
700
720
  ClaudeContext — Persistent memory for Claude Code
701
721
 
722
+ After \`npm install -g @exero1/claudecontext\`, just open any project with \`claude\`.
723
+ No per-project setup required.
724
+
702
725
  Commands:
703
- claudecontext init [--project-root <path>] Set up ClaudeContext in a project (interactive)
726
+ claudecontext global-install Re-run global setup (MCP server + hooks)
727
+ claudecontext init [--project-root <path>] Optional: generate CLAUDE.md and per-project config
704
728
  --yes Skip prompts, use auto-detected defaults
705
- --config <file> Load setup from a JSON config file (non-interactive)
706
- claudecontext global-install Register as global MCP (available in all projects)
707
- claudecontext remove Remove hooks and config (preserves state.db)
729
+ --config <file> Load setup from a JSON config file
730
+ claudecontext remove Remove per-project files (preserves state.db)
708
731
  --dry-run Show what would be removed without deleting
709
732
  --purge Also delete state.db and .claudecontext/
710
- claudecontext migrate Migrate database schema
711
733
  claudecontext doctor Check installation health
734
+ claudecontext migrate Migrate database schema
712
735
  claudecontext auto-areas [--dry-run] Auto-detect subsystem areas from directory structure
713
736
 
714
737
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../installer/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../installer/install.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE/C,8EAA8E;AAE9E,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,EAAE,CAAC,GAAW;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,GAAG,CAAC,EAAsC,EAAE,QAAgB;IACnE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,EAAE,MAAM,CAAC,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,EAAsC,EAAE,QAAgB,EAAE,UAAkB;IAC9F,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,KAAK,UAAU,KAAK,EAAE,MAAM,CAAC,EAAE;YACtD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,QAAiC,EAAE,KAA8B;IAClF,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC;AAcD,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,OAA2C,EAAE;IACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACrE,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;IAErC,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAmB,CAAC;IACxB,IAAI,SAAiB,CAAC;IACtB,IAAI,YAAoB,CAAC;IACzB,IAAI,KAAgE,CAAC;IACrE,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAkB,CAAC;IAEvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,+CAA+C;QAC/C,IAAI,GAAG,GAAe,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAe,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACpC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QAChC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QACtC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACpC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QAClC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxD,GAAG,CAAC;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,IAAI,KAAK;SAClD,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,uBAAuB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,WAAW,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,oDAAoD;QACpD,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,GAAG,EAAE,CAAC;QACjB,SAAS,GAAG,EAAE,CAAC;QACf,YAAY,GAAG,EAAE,CAAC;QAClB,WAAW,GAAG,EAAE,CAAC;QACjB,UAAU,GAAG,EAAE,CAAC;QAChB,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,GAAG,CAAC,yBAAyB,WAAW,oBAAoB,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,2BAA2B;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,gGAAgG,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,WAAW,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1E,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,0DAA0D,CAAC,CAAC;QACxF,SAAS,GAAG,EAAE,CAAC;QACf,YAAY,GAAG,EAAE,CAAC;QAClB,WAAW,GAAG,EAAE,CAAC;QACjB,UAAU,GAAG,EAAE,CAAC;QAEhB,uCAAuC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,KAAK,GAAG,EAAE,CAAC;QAEX,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,UAAU,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBAClC,KAAK,GAAG,QAAQ,CAAC;gBACjB,EAAE,CAAC,SAAS,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,iFAAiF,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,0GAA0G,CAAC,CAAC;YACzI,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxE,IAAI;oBACJ,KAAK,EAAE,CAAC,OAAO,IAAI,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC;oBACxC,OAAO,EAAE,gBAAgB,IAAI,KAAK;iBACnC,CAAC,CAAC,CAAC;gBACJ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,EAAE,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAEvD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,YAAY,EAAE,GAAG,YAAY,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpG,CAAC,CAAC,iEAAiE,CAAC;IAEtE,MAAM,eAAe,GAAG,KAAK,WAAW,IAAI,SAAS;EACrD,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;EAUvC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;EAKnB,YAAY;CACb,CAAC,CAAC,CAAC,EAAE;;;;;;CAML,CAAC;IAEA,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC7C,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAE1B,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,mCAAmC,CAAC,CAAC;IAExC,8DAA8D;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,EAAE,CAAC,0EAA0E,CAAC,CAAC;IACjF,CAAC;IAED,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG;YACpB,0DAA0D;YAC1D,6CAA6C;YAC7C,4EAA4E;YAC5E,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACzE,EAAE,CAAC,sFAAsF,CAAC,CAAC;IAC7F,CAAC;IAED,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;gBACnE,GAAG,EAAE;oBACH,0BAA0B,EAAE,WAAW;oBACvC,YAAY,EAAE,eAAe;iBAC9B;aACF;SACF;KACF,CAAC;IACF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,EAAE,CAAC,yDAAyD,CAAC,CAAC;IAE9D,uBAAuB;IACvB,6FAA6F;IAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAEjG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS;gBAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,EAAE,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1D,YAAY,CAAC,YAAY,EAAE,GAAG,YAAY,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,iFAAiF;IACjF,6DAA6D;IAC7D,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CACvC,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAErE,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;YAClH,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1H,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;YACpH,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;SACpF;KACF,CAAC;IAEF,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,EAAE,CAAC,yCAAyC,CAAC,CAAC;IAE9C,yBAAyB;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,IAAI,mDAAmD,IAAI,CAAC,IAAI,kCAAkC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8HAA8H,CAAC;YAC1S,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACnC,EAAE,CAAC,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACrE,GAAG,CAAC,aAAa,CAAC,CAAC;IACnB,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAC7C,GAAG,CAAC,kEAAkE,CAAC,CAAC;IACxE,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAC3D,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAC5E,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,SAAS,SAAS,CAAC,WAAmB,EAAE,OAA8C,EAAE;IACtF,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAErD,iDAAiD;IACjD,MAAM,QAAQ,GAAa;QACzB,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;QAC9B,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;SACjD,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;KAChC,CAAC;IAEF,kCAAkC;IAClC,MAAM,eAAe,GAAa;QAChC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC1B,QAAQ;KACT,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAChC,IAAI,UAAU,CAAC,CAAC,CAAC;oBAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAQ,EAAE;QACvC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,eAAe;YAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9C,EAAE,CAAC,6BAA6B,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAChF,CAAC;IAED,EAAE,CAAC,kBAAkB,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,WAAmB;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAEpC,iFAAiF;QACjF,2DAA2D;QAC3D,MAAM,UAAU,GAAG;YACjB,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,oEAAoE,EAAE;YACzG,EAAE,GAAG,EAAE,YAAY,EAAW,GAAG,EAAE,0DAA0D,EAAE;SAChG,CAAC;QAEF,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACvC,EAAE,CAAC,UAAU,GAAG,6BAA6B,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC,CAAC,6BAA6B;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,WAAmB;IAC1C,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAY,EAAE,IAAa,EAAQ,EAAE;QACjE,IAAI,GAAG,EAAE,CAAC;YACR,EAAE,CAAC,KAAK,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAExE,eAAe;IACf,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,oBAAoB,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;IAEzF,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACrD,KAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAEjF,WAAW;IACX,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,KAAK,CAAC,gCAAgC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAEvF,YAAY;IACZ,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/C,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC1E,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC;YAC9C,KAAK,CAAC,wCAAwC,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,EAAE,oCAAoC,CAAC,CAAC;QACnH,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,EAAE,CAAC,iDAAiD,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,sFAAsF,CAAC,CAAC;YAC5F,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACjG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,QAAQ,SAAS,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;QACpE,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,KAAK,CAAC,QAAQ,QAAQ,gBAAgB,EAAE,YAAY,EAAE,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,CAAC,QAAQ,QAAQ,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;IACb,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,KAAK,CAAC,kCAAkC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAC/G,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,yBAAyB,UAAU,CAAC,MAAM,sBAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACjJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACpE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC;qBACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;gBAE/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,GAAG,CAAC,wDAAwD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtF,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;qBAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,GAAG,CAAC,qEAAqE,CAAC,CAAC;oBAC3E,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,GAAG,CAAC,sFAAsF,CAAC,CAAC;oBAC5F,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,qCAAqC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,2DAA2D,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,wEAAwE,CAAC,CAAC;YAC9E,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAC/C,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;gBACxC,QAAQ,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CACnD,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,EAAE,CAAC,yCAAyC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,mGAAmG,CAAC,CAAC;gBACzG,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,4EAA4E,CAAC,CAAC;YAClF,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,KAAK,EAAE,CAAC;QACV,EAAE,CAAC,8CAA8C,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,WAAmB,EAAE,MAAe;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACxE,GAAG,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,qGAAqG,CAAC,CAAC;QAC5G,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,qFAAqF;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,4CAA4C,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,EAAE,CAAC,SAAS,KAAK,CAAC,MAAM,0CAA0C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvG,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAA2B,EAAE;IAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACvE,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,WAAW,WAAW,gDAAgD,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,EAAE,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC,CAAC,0DAA0D,CAAC,CAAC;IAEtE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,QAAQ,CACN,GAAG,SAAS,+GAA+G,EAC3H,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAC1C,CAAC;YACF,EAAE,CAAC,oCAAoC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACxE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrD,IAAI,UAAU,GAA4B,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC/F,CAAC;YACD,MAAM,UAAU,GAAI,UAAU,CAAC,YAAY,CAAyC,IAAI,EAAE,CAAC;YAC3F,UAAU,CAAC,eAAe,CAAC,GAAG;gBAC5B,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;gBACnE,GAAG,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;aACvC,CAAC;YACF,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;YACtC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,EAAE,CAAC,wCAAwC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,oHAAoH,CAAC,CAAC;IAC7H,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzG,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,+EAA+E;IAC/E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CACvC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAElF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACxE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACrE,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACjG,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,GAAG;QAClB,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,UAAU,EAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;QACnG,WAAW,EAAG,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QACxH,UAAU,EAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;KACnG,CAAC;IAEF,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,EAAE,CAAC,mDAAmD,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACrE,GAAG,CAAC,wEAAwE,CAAC,CAAC;QAC9E,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,wEAAwE,CAAC,CAAC;QAC9E,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,8EAA8E;AAE9E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACtD,MAAM,WAAW,GAAG,cAAc,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE3B,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,QAAQ,GAAuC,EAAE,CAAC;QACxD,IAAI,GAAG;YAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;QAC7B,IAAI,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACrC,MAAM,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM;IACR,CAAC;IACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,MAAM;IACR,CAAC;IACD,KAAK,QAAQ,CAAC,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM;IACR,CAAC;IACD,KAAK,SAAS;QACZ,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM;IACR,KAAK,QAAQ;QACX,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM;IACR,KAAK,YAAY,CAAC,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM;IACR,CAAC;IACD;QACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;CAkBxB,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -15,7 +15,7 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
15
15
  function findCli() {
16
16
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
17
17
  if (existsSync(local)) return local;
18
- return null;
18
+ return 'claudecontext-cli'; // global install in PATH
19
19
  }
20
20
 
21
21
  // Read hook input from stdin
@@ -35,14 +35,8 @@ process.stdin.on('end', () => {
35
35
  if (!filePath) return;
36
36
 
37
37
  const cli = findCli();
38
- const args = cli
39
- ? [cli, 'ingest-diff', filePath]
40
- : ['npx', 'claudecontext-cli', 'ingest-diff', filePath];
41
38
 
42
- const cmd = args[0];
43
- const cmdArgs = args.slice(1);
44
-
45
- execFile(cmd, cmdArgs, {
39
+ execFile(cli, ['ingest-diff', filePath], {
46
40
  cwd: projectRoot,
47
41
  env: { ...process.env, NODE_NO_WARNINGS: '1', CLAUDE_SESSION_ID: hookData.session_id ?? '' },
48
42
  timeout: 19000,
@@ -15,27 +15,17 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
15
15
  function findCli() {
16
16
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
17
17
  if (existsSync(local)) return local;
18
- return null;
18
+ return 'claudecontext-cli'; // global install in PATH
19
19
  }
20
20
 
21
21
  try {
22
22
  const cli = findCli();
23
-
24
- if (cli) {
25
- execFileSync(cli, ['summarize-session'], {
26
- cwd: projectRoot,
27
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
28
- timeout: 24000,
29
- stdio: 'inherit',
30
- });
31
- } else {
32
- execFileSync('npx', ['claudecontext-cli', 'summarize-session'], {
33
- cwd: projectRoot,
34
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
35
- timeout: 24000,
36
- stdio: 'inherit',
37
- });
38
- }
23
+ execFileSync(cli, ['summarize-session'], {
24
+ cwd: projectRoot,
25
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
26
+ timeout: 24000,
27
+ stdio: 'inherit',
28
+ });
39
29
  } catch (err) {
40
30
  // Fail silently — don't block compaction
41
31
  process.stderr.write(`[claudecontext/pre-compact] Error: ${err?.message ?? err}\n`);
@@ -14,7 +14,7 @@ const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cw
14
14
  function findCli() {
15
15
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
16
16
  if (existsSync(local)) return local;
17
- return null;
17
+ return 'claudecontext-cli'; // global install in PATH
18
18
  }
19
19
 
20
20
  // Read hook input from stdin
@@ -50,21 +50,12 @@ process.stdin.on('end', () => {
50
50
  : ['gate-check', checkString];
51
51
 
52
52
  try {
53
- if (cli) {
54
- execFileSync(cli, gateArgs, {
55
- cwd: projectRoot,
56
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
57
- timeout: 7000,
58
- stdio: ['ignore', 'ignore', 'pipe'],
59
- });
60
- } else {
61
- execFileSync('npx', ['claudecontext-cli', ...gateArgs], {
62
- cwd: projectRoot,
63
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
64
- timeout: 7000,
65
- stdio: ['ignore', 'ignore', 'pipe'],
66
- });
67
- }
53
+ execFileSync(cli, gateArgs, {
54
+ cwd: projectRoot,
55
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
56
+ timeout: 7000,
57
+ stdio: ['ignore', 'ignore', 'pipe'],
58
+ });
68
59
  // Exit 0 = allow (also: exit 1 = warn, execFileSync throws for non-zero but warn is caught below)
69
60
  process.exit(0);
70
61
  } catch (err) {
@@ -3,52 +3,54 @@
3
3
  * ClaudeContext SessionStart hook.
4
4
  * Fires on Claude Code startup and resume.
5
5
  *
6
- * Detects active task hydrates context bundle outputs additionalContext.
6
+ * Auto-initialises project state on first use (no `claudecontext init` needed).
7
+ * Hydrates context bundle and outputs additionalContext.
7
8
  * Timeout: 15s (Claude Code default).
8
9
  */
9
10
 
10
11
  import { execFileSync } from 'node:child_process';
11
- import { existsSync } from 'node:fs';
12
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
12
13
  import { join, resolve } from 'node:path';
13
14
 
14
15
  const projectRoot = resolve(process.env.CLAUDECONTEXT_PROJECT_ROOT ?? process.cwd());
16
+ const stateDir = join(projectRoot, '.claudecontext');
15
17
 
16
- // Prefer installed local binary (~2x faster than npx)
18
+ // Auto-init project state on first use no claudecontext init required
19
+ if (!existsSync(stateDir)) {
20
+ try {
21
+ mkdirSync(stateDir, { recursive: true });
22
+ if (!existsSync(join(stateDir, 'areas.json')))
23
+ writeFileSync(join(stateDir, 'areas.json'), '[]');
24
+ if (!existsSync(join(stateDir, 'config.json')))
25
+ writeFileSync(join(stateDir, 'config.json'), '{"budgets":{}}');
26
+ if (!existsSync(join(stateDir, 'gate-rules.json')))
27
+ writeFileSync(join(stateDir, 'gate-rules.json'), '[]');
28
+ } catch { /* ignore — directory may already exist */ }
29
+ }
30
+
31
+ // Prefer installed local binary (~2x faster than global)
17
32
  function findCli() {
18
33
  const local = join(projectRoot, 'node_modules', '.bin', 'claudecontext-cli');
19
34
  if (existsSync(local)) return local;
20
- return null; // will fall back to npx
35
+ return 'claudecontext-cli'; // global install in PATH
21
36
  }
22
37
 
23
38
  try {
24
39
  const cli = findCli();
25
- let result;
26
-
27
- if (cli) {
28
- result = execFileSync(cli, ['hydrate'], {
29
- cwd: projectRoot,
30
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
31
- timeout: 14000,
32
- encoding: 'utf8',
33
- });
34
- } else {
35
- result = execFileSync('npx', ['claudecontext-cli', 'hydrate'], {
36
- cwd: projectRoot,
37
- env: { ...process.env, NODE_NO_WARNINGS: '1' },
38
- timeout: 14000,
39
- encoding: 'utf8',
40
- });
41
- }
40
+ const result = execFileSync(cli, ['hydrate'], {
41
+ cwd: projectRoot,
42
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
43
+ timeout: 14000,
44
+ encoding: 'utf8',
45
+ });
42
46
 
43
- // result is JSON: { additionalContext: "..." }
44
47
  const parsed = JSON.parse(result);
45
48
  if (parsed.additionalContext) {
46
- // Output in the format Claude Code expects for session hooks
47
49
  process.stdout.write(JSON.stringify({ additionalContext: parsed.additionalContext }));
48
50
  }
49
51
  } catch (err) {
50
52
  // Fail silently — don't break Claude Code startup
51
- process.stderr.write(`[claudecontext/session-start] Error: ${err?.message ?? err}\n`);
53
+ process.stderr.write(`[claudecontext/session-start] ${err?.message ?? err}\n`);
52
54
  }
53
55
 
54
56
  process.exit(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exero1/claudecontext",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Persistent memory system for Claude Code — hierarchical cache levels + association graph",
5
5
  "type": "module",
6
6
  "engines": {
@@ -28,7 +28,8 @@
28
28
  "clean": "rm -rf dist",
29
29
  "ci": "npm run typecheck && npm run build && npm run test:unit && npm run test:integration",
30
30
  "build:publish": "tsc --project tsconfig.build.json",
31
- "prepublishOnly": "npm run clean && npm run build:publish && npm run typecheck"
31
+ "prepublishOnly": "npm run clean && npm run build:publish && npm run typecheck",
32
+ "postinstall": "node dist/installer/install.js global-install --auto || true"
32
33
  },
33
34
  "dependencies": {
34
35
  "@modelcontextprotocol/sdk": "^1.12.0",