@getmarrow/mcp 3.9.88 → 3.9.90

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.
@@ -25,6 +25,7 @@ const lifecycle_spool_1 = require("./lifecycle-spool");
25
25
  const guidance_cache_1 = require("./guidance-cache");
26
26
  const hook_contract_1 = require("./hook-contract");
27
27
  const control_state_1 = require("./control-state");
28
+ const session_loop_guard_1 = require("./session-loop-guard");
28
29
  exports.CONTEXT_HOOK_COMMAND = hook_contract_1.CONTEXT_HOOK_COMMAND;
29
30
  const HOOK_DEBUG = process.env.MARROW_CONTEXT_HOOK_DEBUG === 'true' || process.env.MARROW_HOOK_DEBUG === 'true';
30
31
  const MARROW_API_TIMEOUT_MS = 400;
@@ -573,6 +574,18 @@ async function runContextHookCommand() {
573
574
  }
574
575
  const identity = (0, hook_contract_1.resolveNativeHookIdentity)(process.argv[2]);
575
576
  const resolvedEnv = identity.environment;
577
+ const sessionId = resolvedEnv.sessionId || asString(event.session_id)
578
+ || (0, hook_contract_1.stableSessionWorkflowId)(undefined, [identity.harness, process.cwd()]);
579
+ const agentId = identity.agent_id;
580
+ try {
581
+ (0, session_loop_guard_1.advanceSessionInstructionEpoch)({ sessionId, agentId, harness: identity.harness });
582
+ }
583
+ catch {
584
+ debug('[marrow-context-hook] local loop guard state is unsafe');
585
+ emitNoContext();
586
+ process.exit(0);
587
+ return;
588
+ }
576
589
  const apiKey = resolvedEnv.apiKey || '';
577
590
  if (!apiKey) {
578
591
  debug(`[marrow-context-hook] missing MARROW_API_KEY. ${resolvedEnv.exactFix}`);
@@ -581,8 +594,6 @@ async function runContextHookCommand() {
581
594
  return;
582
595
  }
583
596
  const baseUrl = (0, index_1.validateBaseUrl)(resolvedEnv.baseUrl || 'https://api.getmarrow.ai');
584
- const sessionId = resolvedEnv.sessionId || asString(event.session_id);
585
- const agentId = identity.agent_id;
586
597
  const passiveBriefInput = inferPassiveBriefInput(prompt);
587
598
  const runtimeInput = passiveBriefInput || defaultRuntimeInput(prompt);
588
599
  const requestCorrelation = (0, hook_contract_1.stablePromptCorrelation)({ session_id: sessionId, prompt });
@@ -1 +1 @@
1
- {"version":3,"file":"hook-context.js","sourceRoot":"","sources":["../src/hook-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-context.js","sourceRoot":"","sources":["../src/hook-context.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { resolveMarrowEnv, type ResolvedMarrowEnv } from './env';
2
- export declare const MCP_ADAPTER_VERSION = "3.9.88";
3
- export declare const NATIVE_HOOK_MATCHER = "Bash|Edit|Write|MultiEdit|mcp__(?!marrow__marrow_).*";
2
+ export declare const MCP_ADAPTER_VERSION = "3.9.90";
3
+ export declare const NATIVE_HOOK_MATCHER = "Bash|Edit|Write|MultiEdit|Read|Glob|Grep|Search|WebSearch|Task|functions\\.(?!mcp__marrow__marrow_).*|mcp__(?!marrow__marrow_).*";
4
4
  export declare const GROK_NATIVE_HOOK_MATCHER = "run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video";
5
- export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.88";
5
+ export declare const MCP_PACKAGE_SPEC = "@getmarrow/mcp@3.9.90";
6
6
  export declare const CONTEXT_HOOK_COMMAND: string;
7
7
  export declare const PRE_ACTION_HOOK_COMMAND: string;
8
8
  export declare const ACTION_RESULT_HOOK_COMMAND: string;
@@ -13,6 +13,7 @@ export declare const GROK_ACTION_RESULT_HOOK_COMMAND: string;
13
13
  export declare const GROK_SESSION_END_HOOK_COMMAND: string;
14
14
  export declare const GROK_FIXED_DENIAL = "Marrow blocked this protected action.";
15
15
  export declare const GROK_LAUNCH_FAILURE = "Marrow governance adapter was unavailable; this action is blocked.";
16
+ export declare const MARROW_OUTAGE_WARNING = "Marrow is offline. This action is allowed. The record stays queued locally and is sent when Marrow is back.";
16
17
  export declare const GROK_PRE_ACTION_GUARD_COMMAND: string;
17
18
  export declare const CURSOR_PRE_ACTION_HOOK_COMMAND: string;
18
19
  export declare const CURSOR_ACTION_RESULT_HOOK_COMMAND: string;
@@ -42,6 +43,11 @@ export interface NativeHookIdentity {
42
43
  */
43
44
  export declare function resolveNativeHookIdentity(entrypoint: unknown, options?: Parameters<typeof resolveMarrowEnv>[0]): NativeHookIdentity;
44
45
  export declare function clientReportedHookLifecycleIdentity(identity: NativeHookIdentity): Pick<import('./lifecycle-spool').LifecycleEvent, 'harness' | 'agent_id' | 'source'>;
46
+ type PrivateHookLoopGuardPayload = {
47
+ toolInput?: unknown;
48
+ toolResult?: unknown;
49
+ };
50
+ export declare function privateHookLoopGuardPayload(event: object): PrivateHookLoopGuardPayload;
45
51
  export declare function normalizeHookEventPayload(value: unknown): Record<string, unknown>;
46
52
  type HookSettings = Record<string, unknown>;
47
53
  export declare function findHookSettingsPath(startDir?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-contract.d.ts","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GEMINI_SESSION_END_HOOK_COMMAND = exports.GEMINI_ACTION_RESULT_HOOK_COMMAND = exports.GEMINI_PRE_ACTION_HOOK_COMMAND = exports.WINDSURF_SESSION_END_HOOK_COMMAND = exports.WINDSURF_ACTION_RESULT_HOOK_COMMAND = exports.WINDSURF_PRE_ACTION_HOOK_COMMAND = exports.CLINE_SESSION_END_HOOK_COMMAND = exports.CLINE_ACTION_RESULT_HOOK_COMMAND = exports.CLINE_PRE_ACTION_HOOK_COMMAND = exports.CURSOR_SESSION_END_HOOK_COMMAND = exports.CURSOR_ACTION_RESULT_HOOK_COMMAND = exports.CURSOR_PRE_ACTION_HOOK_COMMAND = exports.GROK_PRE_ACTION_GUARD_COMMAND = exports.GROK_LAUNCH_FAILURE = exports.GROK_FIXED_DENIAL = exports.GROK_SESSION_END_HOOK_COMMAND = exports.GROK_ACTION_RESULT_HOOK_COMMAND = exports.GROK_PRE_ACTION_HOOK_COMMAND = exports.GROK_CONTEXT_HOOK_COMMAND = exports.SESSION_END_HOOK_COMMAND = exports.ACTION_RESULT_HOOK_COMMAND = exports.PRE_ACTION_HOOK_COMMAND = exports.CONTEXT_HOOK_COMMAND = exports.MCP_PACKAGE_SPEC = exports.GROK_NATIVE_HOOK_MATCHER = exports.NATIVE_HOOK_MATCHER = exports.MCP_ADAPTER_VERSION = void 0;
3
+ exports.GEMINI_SESSION_END_HOOK_COMMAND = exports.GEMINI_ACTION_RESULT_HOOK_COMMAND = exports.GEMINI_PRE_ACTION_HOOK_COMMAND = exports.WINDSURF_SESSION_END_HOOK_COMMAND = exports.WINDSURF_ACTION_RESULT_HOOK_COMMAND = exports.WINDSURF_PRE_ACTION_HOOK_COMMAND = exports.CLINE_SESSION_END_HOOK_COMMAND = exports.CLINE_ACTION_RESULT_HOOK_COMMAND = exports.CLINE_PRE_ACTION_HOOK_COMMAND = exports.CURSOR_SESSION_END_HOOK_COMMAND = exports.CURSOR_ACTION_RESULT_HOOK_COMMAND = exports.CURSOR_PRE_ACTION_HOOK_COMMAND = exports.GROK_PRE_ACTION_GUARD_COMMAND = exports.MARROW_OUTAGE_WARNING = exports.GROK_LAUNCH_FAILURE = exports.GROK_FIXED_DENIAL = exports.GROK_SESSION_END_HOOK_COMMAND = exports.GROK_ACTION_RESULT_HOOK_COMMAND = exports.GROK_PRE_ACTION_HOOK_COMMAND = exports.GROK_CONTEXT_HOOK_COMMAND = exports.SESSION_END_HOOK_COMMAND = exports.ACTION_RESULT_HOOK_COMMAND = exports.PRE_ACTION_HOOK_COMMAND = exports.CONTEXT_HOOK_COMMAND = exports.MCP_PACKAGE_SPEC = exports.GROK_NATIVE_HOOK_MATCHER = exports.NATIVE_HOOK_MATCHER = exports.MCP_ADAPTER_VERSION = void 0;
4
4
  exports.resolveNativeHookIdentity = resolveNativeHookIdentity;
5
5
  exports.clientReportedHookLifecycleIdentity = clientReportedHookLifecycleIdentity;
6
+ exports.privateHookLoopGuardPayload = privateHookLoopGuardPayload;
6
7
  exports.normalizeHookEventPayload = normalizeHookEventPayload;
7
8
  exports.findHookSettingsPath = findHookSettingsPath;
8
9
  exports.readHookSettings = readHookSettings;
@@ -20,8 +21,8 @@ const node_fs_1 = require("node:fs");
20
21
  const node_os_1 = require("node:os");
21
22
  const node_path_1 = require("node:path");
22
23
  const env_1 = require("./env");
23
- exports.MCP_ADAPTER_VERSION = '3.9.88';
24
- exports.NATIVE_HOOK_MATCHER = 'Bash|Edit|Write|MultiEdit|mcp__(?!marrow__marrow_).*';
24
+ exports.MCP_ADAPTER_VERSION = '3.9.90';
25
+ exports.NATIVE_HOOK_MATCHER = 'Bash|Edit|Write|MultiEdit|Read|Glob|Grep|Search|WebSearch|Task|functions\\.(?!mcp__marrow__marrow_).*|mcp__(?!marrow__marrow_).*';
25
26
  exports.GROK_NATIVE_HOOK_MATCHER = 'run_terminal_command|search_replace|write|spawn_subagent|use_tool|workflow|image_gen|image_edit|image_to_video|reference_to_video';
26
27
  exports.MCP_PACKAGE_SPEC = `@getmarrow/mcp@${exports.MCP_ADAPTER_VERSION}`;
27
28
  const hookCommand = (entrypoint) => `npx -y --package=${exports.MCP_PACKAGE_SPEC} marrow-mcp ${entrypoint}`;
@@ -35,19 +36,22 @@ exports.GROK_ACTION_RESULT_HOOK_COMMAND = hookCommand('grok-hook');
35
36
  exports.GROK_SESSION_END_HOOK_COMMAND = hookCommand('grok-session-hook');
36
37
  exports.GROK_FIXED_DENIAL = 'Marrow blocked this protected action.';
37
38
  exports.GROK_LAUNCH_FAILURE = 'Marrow governance adapter was unavailable; this action is blocked.';
39
+ exports.MARROW_OUTAGE_WARNING = 'Marrow is offline. This action is allowed. The record stays queued locally and is sent when Marrow is back.';
38
40
  const GROK_PRE_ACTION_GUARD_SOURCE = [
39
41
  'const {spawn}=require("node:child_process");',
40
- `const valid=new Set([${JSON.stringify('{"decision":"allow"}')},${JSON.stringify(`{"decision":"deny","reason":"${exports.GROK_FIXED_DENIAL}"}`)}]);`,
41
- 'let child=null,timer=null,done=false,input=[],inputBytes=0,output="",outputBytes=0;',
42
+ `const valid=value=>{try{const parsed=JSON.parse(value);return JSON.stringify(parsed)===value&&parsed&&Object.keys(parsed).every(key=>["decision","reason"].includes(key))&&(parsed.decision==="allow"&&parsed.reason===undefined||parsed.decision==="deny"&&typeof parsed.reason==="string"&&parsed.reason.length>0&&parsed.reason.length<=500);}catch{return false;}};`,
43
+ 'let child=null,timer=null,done=false,input=[],inputBytes=0,output="",outputBytes=0,err="";',
44
+ `const outage=${JSON.stringify(`${exports.MARROW_OUTAGE_WARNING}\n`)};`,
42
45
  `const fail=()=>{if(done)return;done=true;if(timer)clearTimeout(timer);if(child&&!child.killed)child.kill("SIGKILL");process.stderr.write(${JSON.stringify(`${exports.GROK_LAUNCH_FAILURE}\n`)});process.exitCode=2;process.stdin.destroy();};`,
43
46
  'process.stdin.on("error",fail);',
44
47
  'process.stdin.on("data",chunk=>{const value=Buffer.from(chunk);inputBytes+=value.length;if(inputBytes>65536){fail();return;}input.push(value);});',
45
48
  'process.stdin.on("end",()=>{if(done)return;try{',
46
- `child=spawn(process.platform==="win32"?"npx.cmd":"npx",${JSON.stringify(['-y', `--package=${exports.MCP_PACKAGE_SPEC}`, 'marrow-mcp', 'grok-pre-action-hook'])},{stdio:["pipe","pipe","ignore"]});`,
49
+ `child=spawn(process.platform==="win32"?"npx.cmd":"npx",${JSON.stringify(['-y', `--package=${exports.MCP_PACKAGE_SPEC}`, 'marrow-mcp', 'grok-pre-action-hook'])},{stdio:["pipe","pipe","pipe"]});`,
47
50
  'timer=setTimeout(fail,5000);',
48
51
  'child.stdout.on("data",chunk=>{if(done)return;outputBytes+=chunk.length;if(outputBytes>512){fail();return;}output+=chunk.toString("utf8");});',
52
+ 'child.stderr.on("data",chunk=>{if(done)return;if(err.length<1024)err+=chunk.toString("utf8");});',
49
53
  'child.on("error",fail);child.stdin.on("error",fail);',
50
- 'child.on("close",code=>{if(done)return;if(code!==0||!valid.has(output)){fail();return;}done=true;if(timer)clearTimeout(timer);process.stdout.write(output);});',
54
+ 'child.on("close",code=>{if(done)return;if(code!==0||!valid(output)){fail();return;}done=true;if(timer)clearTimeout(timer);if(err===outage)process.stderr.write(err);process.stdout.write(output);});',
51
55
  'child.stdin.end(Buffer.concat(input));}catch{fail();}});',
52
56
  ].join('');
53
57
  exports.GROK_PRE_ACTION_GUARD_COMMAND = `node -e '${GROK_PRE_ACTION_GUARD_SOURCE}'`;
@@ -63,7 +67,7 @@ exports.WINDSURF_SESSION_END_HOOK_COMMAND = hookCommand('windsurf-session-hook')
63
67
  exports.GEMINI_PRE_ACTION_HOOK_COMMAND = hookCommand('gemini-pre-action-hook');
64
68
  exports.GEMINI_ACTION_RESULT_HOOK_COMMAND = hookCommand('gemini-hook');
65
69
  exports.GEMINI_SESSION_END_HOOK_COMMAND = hookCommand('gemini-session-hook');
66
- const LOCAL_CONFIGURED_HOOK_STAGES = ['prompt', 'pre_action', 'action_result', 'session_end'];
70
+ const LOCAL_CONFIGURED_HOOK_STAGES = ['prompt', 'pre_action', 'action_result', 'session_end', 'session_loop_guard'];
67
71
  const RECOGNIZED_NATIVE_ENTRYPOINTS = {
68
72
  'claude-context-hook': 'claude-code',
69
73
  'claude-pre-action-hook': 'claude-code',
@@ -142,6 +146,14 @@ const CURSOR_EVENT_NAMES = {
142
146
  postToolUseFailure: 'PostToolUseFailure',
143
147
  stop: 'Stop',
144
148
  };
149
+ const PRIVATE_HOOK_LOOP_GUARD_PAYLOAD = new WeakMap();
150
+ function attachPrivateHookLoopGuardPayload(normalized, payload) {
151
+ PRIVATE_HOOK_LOOP_GUARD_PAYLOAD.set(normalized, payload);
152
+ return normalized;
153
+ }
154
+ function privateHookLoopGuardPayload(event) {
155
+ return PRIVATE_HOOK_LOOP_GUARD_PAYLOAD.get(event) || {};
156
+ }
145
157
  function boundedCorrelationId(value) {
146
158
  const candidate = typeof value === 'string' ? value.trim().slice(0, 128) : '';
147
159
  return candidate && /^[A-Za-z0-9._:-]+$/.test(candidate) ? candidate : undefined;
@@ -226,7 +238,10 @@ function normalizeGeminiHookEvent(source) {
226
238
  : undefined;
227
239
  if (duration !== undefined)
228
240
  normalized.duration_ms = duration;
229
- return normalized;
241
+ return attachPrivateHookLoopGuardPayload(normalized, {
242
+ toolInput: source.tool_input,
243
+ toolResult: source.tool_response,
244
+ });
230
245
  }
231
246
  function normalizeGrokHookEvent(source) {
232
247
  const hookEventName = typeof source.hookEventName === 'string' ? source.hookEventName.trim() : '';
@@ -278,7 +293,10 @@ function normalizeGrokHookEvent(source) {
278
293
  : undefined;
279
294
  if (duration !== undefined)
280
295
  normalized.duration_ms = duration;
281
- return normalized;
296
+ return attachPrivateHookLoopGuardPayload(normalized, {
297
+ toolInput: source.toolInput,
298
+ toolResult: source.toolResult,
299
+ });
282
300
  }
283
301
  function normalizeHookEventPayload(value) {
284
302
  if (!value || typeof value !== 'object' || Array.isArray(value))
@@ -495,7 +513,7 @@ function exactHookDescriptors(settings, eventName, command, matcher) {
495
513
  function localHookConfigurationFingerprint(startDir = process.cwd()) {
496
514
  const settings = readHookSettings(startDir);
497
515
  const contract = {
498
- schema: 'marrow-claude-native-hooks.v3',
516
+ schema: 'marrow-claude-native-hooks.v4',
499
517
  adapter_version: exports.MCP_ADAPTER_VERSION,
500
518
  configured_stages: LOCAL_CONFIGURED_HOOK_STAGES,
501
519
  configured: {
@@ -504,6 +522,8 @@ function localHookConfigurationFingerprint(startDir = process.cwd()) {
504
522
  action_result_success: hasExactCommandHook(settings, 'PostToolUse', exports.ACTION_RESULT_HOOK_COMMAND, exports.NATIVE_HOOK_MATCHER),
505
523
  action_result_failure: hasExactCommandHook(settings, 'PostToolUseFailure', exports.ACTION_RESULT_HOOK_COMMAND, exports.NATIVE_HOOK_MATCHER),
506
524
  session_end: hasExactCommandHook(settings, 'Stop', exports.SESSION_END_HOOK_COMMAND),
525
+ session_loop_guard: hasExactCommandHook(settings, 'PreToolUse', exports.PRE_ACTION_HOOK_COMMAND, exports.NATIVE_HOOK_MATCHER)
526
+ && hasExactCommandHook(settings, 'PostToolUse', exports.ACTION_RESULT_HOOK_COMMAND, exports.NATIVE_HOOK_MATCHER),
507
527
  },
508
528
  descriptors: {
509
529
  prompt: exactHookDescriptors(settings, 'UserPromptSubmit', exports.CONTEXT_HOOK_COMMAND),
@@ -522,15 +542,26 @@ function localHookConfigurationFingerprint(startDir = process.cwd()) {
522
542
  };
523
543
  return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(contract)).digest('hex');
524
544
  }
545
+ function stableCanonical(value, depth = 0) {
546
+ if (depth > 8)
547
+ return '[depth]';
548
+ if (Array.isArray(value))
549
+ return value.slice(0, 128).map((item) => stableCanonical(item, depth + 1));
550
+ if (value && typeof value === 'object') {
551
+ const source = value;
552
+ return Object.fromEntries(Object.keys(source).sort().slice(0, 128)
553
+ .map((key) => [key, stableCanonical(source[key], depth + 1)]));
554
+ }
555
+ return typeof value === 'string' ? value.slice(0, 16_384) : value;
556
+ }
525
557
  function stableHash(value) {
526
- return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(value)).digest('hex').slice(0, 32);
558
+ return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(stableCanonical(value))).digest('hex').slice(0, 32);
527
559
  }
528
560
  function stableToolCorrelation(event) {
529
561
  return stableHash([
530
562
  event.session_id || '',
531
- event.tool_use_id || '',
532
563
  event.tool_name || 'tool',
533
- event.tool_use_id ? null : event.tool_input ?? null,
564
+ event.tool_input ?? null,
534
565
  ]);
535
566
  }
536
567
  function stablePromptCorrelation(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-contract.js","sourceRoot":"","sources":["../src/hook-contract.ts"],"names":[],"mappings":";;;AAiGA,8DAgBC;AAED,kFAQC;AAwCD,kEAEC;AAuID,8DAyCC;AAUD,oDAYC;AAED,4CAQC;AAED,gEAeC;AAYD,gEA6CC;AA4BD,kDAmBC;AA4BD,8EA+BC;AAiBD,sDAWC;AAED,0DAKC;AAED,0DAEC;AAED,oDAEC;AAED,wDAqEC;AA3pBD,6CAAyC;AACzC,qCAAwF;AACxF,qCAAkC;AAClC,yCAA0C;AAC1C,+BAAiE;AAEpD,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,mBAAmB,GAAG,kIAAkI,CAAC;AACzJ,QAAA,wBAAwB,GAAG,mIAAmI,CAAC;AAC/J,QAAA,gBAAgB,GAAG,kBAAkB,2BAAmB,EAAE,CAAC;AACxE,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,oBAAoB,wBAAgB,eAAe,UAAU,EAAE,CAAC;AAC/F,QAAA,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC1D,QAAA,uBAAuB,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAChE,QAAA,0BAA0B,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACxD,QAAA,wBAAwB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAC9D,QAAA,yBAAyB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC7D,QAAA,4BAA4B,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;AACnE,QAAA,+BAA+B,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAC3D,QAAA,6BAA6B,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AACjE,QAAA,iBAAiB,GAAG,uCAAuC,CAAC;AAC5D,QAAA,mBAAmB,GAAG,oEAAoE,CAAC;AAC3F,QAAA,qBAAqB,GAAG,6GAA6G,CAAC;AACnJ,MAAM,4BAA4B,GAAG;IACnC,8CAA8C;IAC9C,yWAAyW;IACzW,4FAA4F;IAC5F,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,6BAAqB,IAAI,CAAC,GAAG;IAC/D,4IAA4I,IAAI,CAAC,SAAS,CAAC,GAAG,2BAAmB,IAAI,CAAC,iDAAiD;IACvO,iCAAiC;IACjC,mJAAmJ;IACnJ,iDAAiD;IACjD,0DAA0D,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,aAAa,wBAAgB,EAAE,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC,mCAAmC;IAC1L,8BAA8B;IAC9B,+IAA+I;IAC/I,kGAAkG;IAClG,sDAAsD;IACtD,sMAAsM;IACtM,0DAA0D;CAC3D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACE,QAAA,6BAA6B,GAAG,YAAY,4BAA4B,GAAG,CAAC;AAC5E,QAAA,8BAA8B,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACvE,QAAA,iCAAiC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,+BAA+B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACrE,QAAA,6BAA6B,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACrE,QAAA,gCAAgC,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAC7D,QAAA,8BAA8B,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AACnE,QAAA,gCAAgC,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AACnE,QAAA,iCAAiC,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AACzE,QAAA,8BAA8B,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACvE,QAAA,iCAAiC,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,+BAA+B,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAClF,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,CAAU,CAAC;AAY7H,MAAM,6BAA6B,GAA6D;IAC9F,qBAAqB,EAAE,aAAa;IACpC,wBAAwB,EAAE,aAAa;IACvC,aAAa,EAAE,aAAa;IAC5B,qBAAqB,EAAE,aAAa;IACpC,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,OAAO;IAChC,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,MAAM;IAC9B,WAAW,EAAE,MAAM;IACnB,mBAAmB,EAAE,MAAM;IAC3B,wBAAwB,EAAE,QAAQ;IAClC,aAAa,EAAE,QAAQ;IACvB,qBAAqB,EAAE,QAAQ;IAC/B,uBAAuB,EAAE,OAAO;IAChC,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,OAAO;IAC7B,0BAA0B,EAAE,UAAU;IACtC,eAAe,EAAE,UAAU;IAC3B,uBAAuB,EAAE,UAAU;IACnC,wBAAwB,EAAE,QAAQ;IAClC,aAAa,EAAE,QAAQ;IACvB,qBAAqB,EAAE,QAAQ;CAChC,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,UAAmB,EACnB,UAAkD,EAAE;IAEpD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAyD,CAAC;IACjJ,MAAM,OAAO,GAAsB,iBAAiB,IAAI,YAAY,CAAC;IACrE,MAAM,WAAW,GAAG,IAAA,sBAAgB,EAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,OAAO;QACL,OAAO;QACP,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kBAAkB;QACjF,oBAAoB,EAAE,IAAI;QAC1B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,mCAAmC,CACjD,QAA4B;IAE5B,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,EAAE,sBAAsB;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAA2B;IAClD,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,aAAa;IACxB,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,iBAAiB;IAC5B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,oBAAoB;IACxC,IAAI,EAAE,MAAM;CACb,CAAC;AAGF,MAAM,+BAA+B,GAAG,IAAI,OAAO,EAAuC,CAAC;AAE3F,SAAS,iCAAiC,CACxC,UAAmC,EACnC,OAAoC;IAEpC,+BAA+B,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAAa;IACvD,OAAO,+BAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA+B;IACjE,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB;QACvD,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB;QAC1D,uBAAuB;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACvG,CAAC,CAAC,MAAM,CAAC,SAAoC;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,YAAY;QAAE,UAAU,CAAC,UAAU,GAAG,YAAY,CAAC;IACvD,IAAI,WAAW;QAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC7B,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;QACtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;QAClE,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3F,CAAC,CAAC,gBAAgB,IAAI,EAAE;YACxB,CAAC,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,uBAAuB;QAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IAChG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA+B;IAC/D,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IAClF,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,SAAS;QAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,IAAI,aAAa,KAAK,YAAY;QAAE,OAAO,UAAU,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,IAAI,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,SAAS,GAAG,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,MAAM;YAC9D,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO;gBACrC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM;oBACtD,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1C,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QACvH,CAAC,CAAC,MAAM,CAAC,aAAwC;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK;WACxC,QAAQ,EAAE,OAAO,KAAK,KAAK;WAC3B,QAAQ,EAAE,KAAK,IAAI,IAAI;WACvB,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9D,OAAO,iCAAiC,CAAC,UAAU,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,UAAU,EAAE,MAAM,CAAC,aAAa;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC7D,MAAM,aAAa,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IACpG,MAAM,UAAU,GAA4B,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,SAAS;QAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,IAAI,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;IAClD,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAC5G,CAAC,CAAC,MAAM,CAAC,SAAoC;QAC7C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,QAAQ,KAAK,UAAU,IAAI,MAAM,IAAI,UAAU;QACrE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5E,CAAC,CAAC,gBAAgB,UAAU,EAAE;YAC9B,CAAC,CAAC,OAAO,MAAM,IAAI,UAAU,EAAE;QACjC,CAAC,CAAC,QAAQ,CAAC;IACb,IAAI,eAAe,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC;IAC1G,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC5G,CAAC,CAAC,MAAM,CAAC,UAAqC;QAC9C,CAAC,CAAC,IAAI,CAAC;IACT,UAAU,CAAC,OAAO,GAAG,aAAa,KAAK,oBAAoB;WACtD,MAAM,CAAC,OAAO,KAAK,KAAK;WACxB,MAAM,EAAE,OAAO,KAAK,KAAK;WACzB,MAAM,EAAE,KAAK,IAAI,IAAI;WACrB,MAAM,EAAE,OAAO,KAAK,IAAI;WACxB,MAAM,EAAE,QAAQ,KAAK,IAAI;WACzB,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;WAC7D,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;WAC/D,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9D,OAAO,iCAAiC,CAAC,UAAU,EAAE;QACnD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;QAAE,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5F,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9G,CAAC,CAAC,MAAM,CAAC,UAAqC;QAC9C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAClH,CAAC,CAAC,MAAM,CAAC,WAAsC;QAC/C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,QAAQ,IAAI,SAAS,CAAC;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,UAAU,CAAC,SAAS,IAAI,IAAI;YAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC;QACnG,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI;YAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QAChF,IAAI,UAAU,CAAC,WAAW,IAAI,IAAI;YAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9E,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI;YAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QACvE,IAAI,UAAU,CAAC,WAAW,IAAI,IAAI;YAAE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,CAAC;QAC3G,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI;YAAE,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/G,CAAC;IACD,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/E,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;QACnD,UAAU,CAAC,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC;IAC5G,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;QACjG,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO;YAAE,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;;YACpC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAID,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAChF,IAAI,CAAC,QAAQ,IAAI,IAAA,oBAAU,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,QAAQ,GAAG,SAAS,CAAC;QACrE,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,IAAI,IAAA,gBAAI,EAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,8BAA8B,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAID,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAChC,iNAAiN,CAClN,CAAC;IACF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAqC,IAAI,IAAI,CAAC;AAChE,CAAC;AAED,SAAgB,0BAA0B,CACxC,QAAsB,EACtB,SAAiB,EACjB,UAAgC,EAChC,OAAe,EACf,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,gBAAgB,GAAmC,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS;oBACxC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;oBAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC;gBAC/B,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC;oBACpG,gBAAgB,GAAG,OAAO,CAAC;gBAC7B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC1E,MAAM,cAAc,GAA4B,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACrE,IAAI,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE9B,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAsB,EACtB,SAAiB,EACjB,UAAiC;IAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;gBAAE,OAAO,EAAE,CAAC;YACnG,OAAO,CAAC;oBACN,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACnE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;oBACvC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC9E,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,OAAO,EAAE,IAAI,KAAK,SAAS;mBAC7B,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;mBACnC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,OAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChH,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,EAAE,CAAC;YACxH,OAAO,CAAC;oBACN,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACnE,OAAO;oBACP,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC9E,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iCAAiC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACxE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,+BAA+B;QACvC,eAAe,EAAE,2BAAmB;QACpC,iBAAiB,EAAE,4BAA4B;QAC/C,UAAU,EAAE;YACV,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,4BAAoB,CAAC;YAC/E,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;YACrG,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YACpH,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YAC3H,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,gCAAwB,CAAC;YAC5E,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;mBACxG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;SACnG;QACD,WAAW,EAAE;YACX,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,4BAAoB,CAAC;YAChF,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,+BAAuB,EAAE,2BAAmB,CAAC;YACtG,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YACrH,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,kCAA0B,EAAE,2BAAmB,CAAC;YAC5H,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,gCAAwB,CAAC;SAC9E;QACD,sBAAsB,EAAE;YACtB,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC3D,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC;YACzD,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC;YACrE,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YAC5E,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC;SACrD;KACF,CAAC;IACF,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAChD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACrG,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aAC/D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAKrC;IACC,OAAO,UAAU,CAAC;QAChB,KAAK,CAAC,UAAU,IAAI,EAAE;QACtB,KAAK,CAAC,SAAS,IAAI,MAAM;QACzB,KAAK,CAAC,UAAU,IAAI,IAAI;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAGvC;IACC,OAAO,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAkB,EAAE,QAAkB;IAC5E,OAAO,WAAW,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE;IACvE,OAAO,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAA,iBAAO,GAAE;IACzE,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,MAAM,SAAS,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1F,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,IAAI,IAAA,mBAAS,EAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,4CAA4C,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,KAAK,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,YAAY,8BAA8B,CAAC,CAAC;QAChH,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,CAAC,OAAgB,EAA+B,EAAE;QACvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC;eACzG,OAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAC7G,OAAO,KAAK,EAAE,CAAC,CAAC,CAAqC,IAAI,IAAI,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAChB,SAAiB,EACjB,UAAgC,EAChC,SAAmC,EACxB,EAAE;QACb,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC;YACxG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAyB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACjG,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,gCAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qCAA6B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpI,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,gCAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,uCAA+B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzI,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qCAA6B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClG,MAAM,SAAS,GAA4B;QACzC,GAAG,KAAK;QACR,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC;QACxE,UAAU,EAAE,SAAS,CAAC,YAAY,EAAE,iBAAiB,EAAE,GAAG,CAAC;QAC3D,WAAW,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;QACrD,kBAAkB,EAAE,SAAS,CAAC,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC;QACnE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC;KAC9C,CAAC;IACF,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;;QACxD,OAAO,SAAS,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5D,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAA,uBAAa,EAAC,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;AAC9D,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { marrowAgentRuntime, marrowEnforcement } from './index';
2
+ import { MARROW_OUTAGE_WARNING } from './hook-contract';
3
+ export { MARROW_OUTAGE_WARNING };
2
4
  export type PreToolUseEvent = {
3
5
  session_id?: string;
4
6
  conversation_id?: string;
@@ -14,8 +16,11 @@ type PreActionControlResult = {
14
16
  permit: Awaited<ReturnType<typeof marrowEnforcement>> | null;
15
17
  protectedRisk: boolean;
16
18
  enforcementError?: string;
19
+ outage?: boolean;
17
20
  };
21
+ export declare function isMarrowOutage(result: PreActionControlResult): boolean;
18
22
  export declare function localControlAllowOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client'): Record<string, unknown> | null;
23
+ export declare function localLoopGuardDenyOutput(harness: 'claude-code' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'grok' | 'windsurf' | 'mcp-client', reason: string): Record<string, unknown> | null;
19
24
  export declare function classifyTool(event: PreToolUseEvent): {
20
25
  action: string;
21
26
  target: string;
@@ -46,5 +51,4 @@ export declare function installPreActionHook(startDir?: string): {
46
51
  installed: boolean;
47
52
  };
48
53
  export declare function runPreActionHookCommand(input?: unknown): Promise<void>;
49
- export {};
50
54
  //# sourceMappingURL=hook-pre-action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-pre-action.d.ts","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAgC,MAAM,SAAS,CAAC;AAqB9F,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/D,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAM7K;AAqBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAgDA;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBjG;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBhG;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAa7G;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAazH;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAUvH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,YAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuClN;AAgCD,wBAAgB,oBAAoB,CAAC,QAAQ,SAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAgB3G;AAED,wBAAsB,uBAAuB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2L5E"}
1
+ {"version":3,"file":"hook-pre-action.d.ts","sourceRoot":"","sources":["../src/hook-pre-action.ts"],"names":[],"mappings":"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"}