@agentdeck/hooks 1.3.3 → 1.3.5
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.
- package/dist/install.d.ts +48 -13
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +165 -69
- package/dist/install.js.map +1 -1
- package/package.json +1 -1
package/dist/install.d.ts
CHANGED
|
@@ -25,20 +25,41 @@ export declare const HOOK_EVENTS: readonly ["SessionStart", "SessionEnd", "PreTo
|
|
|
25
25
|
*/
|
|
26
26
|
export declare function buildHookCommand(eventName: string): string;
|
|
27
27
|
/**
|
|
28
|
-
* Windows
|
|
29
|
-
*
|
|
30
|
-
* the JSON read + HTTP POST. Discovery is narrower than POSIX since the
|
|
31
|
-
* macOS App Store sandbox paths don't exist on Windows:
|
|
28
|
+
* The Windows hook body, shipped as a script file rather than inlined into the
|
|
29
|
+
* hook command.
|
|
32
30
|
*
|
|
31
|
+
* It MUST stay a file. Claude Code runs hook commands through a POSIX shell on
|
|
32
|
+
* Windows (Git Bash, `sh -c`), which expands every `$name` before
|
|
33
|
+
* `powershell.exe` ever parses the line: an inlined `-Command` arrived as
|
|
34
|
+
* `='Stop'; [int]=0; ... [string]:AGENTDECK_PORT,[ref]` and died with
|
|
35
|
+
* `Missing ')' in method call`, on every hook, on every turn. Double-quoting
|
|
36
|
+
* inside the JSON does not help — the shell sees the whole command string. A
|
|
37
|
+
* `-File` invocation keeps `$` off the command line entirely.
|
|
38
|
+
*
|
|
39
|
+
* Port discovery matches the POSIX snippet, minus the macOS App Store sandbox
|
|
40
|
+
* containers which do not exist on Windows:
|
|
33
41
|
* 1. `$env:AGENTDECK_PORT`
|
|
34
|
-
* 2. `%USERPROFILE%\.agentdeck\daemon.json` (verified with `/health` probe)
|
|
42
|
+
* 2. `%USERPROFILE%\.agentdeck\daemon.json` (verified with a `/health` probe)
|
|
35
43
|
* 3. `9120` fallback
|
|
36
44
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
|
|
45
|
+
* Errors are swallowed and the exit code is always 0 so a dead daemon never
|
|
46
|
+
* blocks or fails the host session.
|
|
47
|
+
*/
|
|
48
|
+
export declare const WINDOWS_HOOK_SCRIPT = "# AgentDeck -> Claude Code hook bridge. Generated by @agentdeck/hooks; edits are overwritten.\n# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File \"<this file>\" -HookEvent <EventName>\n#\n# Must be a script file, NOT an inline -Command: Claude Code runs hook commands\n# through Git Bash (sh -c) on Windows, which expands $var references away before\n# PowerShell sees them.\nparam([Parameter(Mandatory = $true)][ValidatePattern('^[A-Za-z_]+$')][string]$HookEvent)\n\n$ErrorActionPreference = 'SilentlyContinue'\n\n$port = 0\n$candidate = 0\nif (-not ([int]::TryParse([string]$env:AGENTDECK_PORT, [ref]$candidate)) -or $candidate -lt 1 -or $candidate -gt 65535) { $candidate = 0 }\n$port = $candidate\n\nif (-not $port) {\n $f = Join-Path $env:USERPROFILE '.agentdeck\\daemon.json'\n if (Test-Path $f) {\n try {\n $d = Get-Content -Raw $f | ConvertFrom-Json\n $raw = if ($d.httpPort) { $d.httpPort } else { $d.port }\n $candidate = 0\n if ([int]::TryParse([string]$raw, [ref]$candidate) -and $candidate -ge 1 -and $candidate -le 65535) {\n try {\n Invoke-RestMethod -Uri ('http://127.0.0.1:' + $candidate + '/health') -TimeoutSec 1 -ErrorAction Stop | Out-Null\n $port = $candidate\n } catch {}\n }\n } catch {}\n }\n}\nif (-not $port) { $port = 9120 }\n\n# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM\n# codepage (e.g. CP949), garbling non-ASCII payload text.\n$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()\n# Post UTF-8 bytes: Invoke-RestMethod encodes a string body as ISO-8859-1 when\n# the content type carries no charset, replacing non-ASCII characters with '?'.\n$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]$body)\n\ntry {\n Invoke-RestMethod -Uri ('http://127.0.0.1:' + $port + '/hooks/' + $HookEvent) -Method Post -Body $bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null\n} catch {}\n\n# Never block or fail the tool call.\nexit 0\n";
|
|
49
|
+
/** Where the Windows hook script is installed. */
|
|
50
|
+
export declare function windowsHookScriptPath(home?: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Write the Windows hook script, creating `~/.agentdeck` if needed. Idempotent:
|
|
53
|
+
* rewrites only when the content differs, so a session-start migration does not
|
|
54
|
+
* touch the file on every launch. Returns the path it points hooks at.
|
|
55
|
+
*/
|
|
56
|
+
export declare function ensureWindowsHookScript(home?: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Windows variant: invoke `agentdeck-hook.ps1` by path. The command line
|
|
59
|
+
* carries no `$`, so the POSIX shell Claude Code spawns hooks through has
|
|
60
|
+
* nothing to expand. See WINDOWS_HOOK_SCRIPT for why that matters.
|
|
40
61
|
*/
|
|
41
|
-
export declare function buildHookCommandWin(eventName: string): string;
|
|
62
|
+
export declare function buildHookCommandWin(eventName: string, home?: string): string;
|
|
42
63
|
export declare const KIRO_HOOK_EVENTS: readonly [readonly ["SessionStart", "kiro_session_start"], readonly ["UserPromptSubmit", "kiro_user_prompt_submit"], readonly ["PreToolUse", "kiro_tool_start"], readonly ["PostToolUse", "kiro_tool_end"], readonly ["Stop", "kiro_stop"]];
|
|
43
64
|
export interface KiroHookInstallResult {
|
|
44
65
|
installed: boolean;
|
|
@@ -47,16 +68,30 @@ export interface KiroHookInstallResult {
|
|
|
47
68
|
}
|
|
48
69
|
export declare function kiroHookPath(home?: string): string;
|
|
49
70
|
/** Kiro v3 hooks are telemetry-only: never echo daemon steering into Kiro. */
|
|
50
|
-
export declare function buildKiroHookFile(): Record<string, unknown>;
|
|
71
|
+
export declare function buildKiroHookFile(home?: string): Record<string, unknown>;
|
|
51
72
|
/** Install the global Kiro v3 hook without changing how users launch Kiro. */
|
|
52
73
|
export declare function installKiroHooksIfNeeded(home?: string): KiroHookInstallResult;
|
|
53
74
|
export declare function uninstallKiroHooks(home?: string): boolean;
|
|
54
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Does this command belong to AgentDeck? Every writer/remover funnels through
|
|
77
|
+
* here so a new hook shape cannot be added on one side and missed on the other
|
|
78
|
+
* — the `-File` Windows form carries neither `AGENTDECK_PORT` nor
|
|
79
|
+
* `localhost:9120`, so the older two-marker test left it behind on reinstall
|
|
80
|
+
* and the settings file accumulated one live hook per install.
|
|
81
|
+
*/
|
|
82
|
+
export declare function isAgentDeckHookCommand(command: unknown): boolean;
|
|
83
|
+
export declare function buildHookEntry(eventName: string, home?: string): {
|
|
55
84
|
matcher: string;
|
|
56
85
|
hooks: any[];
|
|
57
86
|
};
|
|
58
|
-
/**
|
|
59
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Pure logic: apply AgentDeck hooks to a settings object (no file I/O).
|
|
89
|
+
*
|
|
90
|
+
* On Windows the hook body lives in a script file, so callers that persist the
|
|
91
|
+
* result must also call `ensureWindowsHookScript()` — every file-system wrapper
|
|
92
|
+
* in this module does.
|
|
93
|
+
*/
|
|
94
|
+
export declare function applyHooks(settings: any, home?: string): any;
|
|
60
95
|
/** Pure logic: remove AgentDeck hooks from a settings object (no file I/O). */
|
|
61
96
|
export declare function removeHooks(settings: any): any;
|
|
62
97
|
/**
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,IAAI,qBAAqB,EACzC,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIrH,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,eAAO,MAAM,WAAW,0MAad,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsD1D;AAED
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,IAAI,qBAAqB,EACzC,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIrH,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,eAAO,MAAM,WAAW,0MAad,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsD1D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mBAAmB,0iEA8C/B,CAAC;AAEF,kDAAkD;AAClD,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAOxE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,MAAM,CAGvF;AAED,eAAO,MAAM,gBAAgB,6OAMnB,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBnF;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,MAAkB,GAAG,qBAAqB,CAsBxF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAkB,GAAG,OAAO,CAOpE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAKhE;AASD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB;;;EAgBzE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,GAAE,MAAkB,GAAG,GAAG,CAavE;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAc9C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAqB3D;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAyChF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAAkB;;;;EAO3D;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAkB,GAAG,OAAO,CAWlE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,IAAI,CAoB3D;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAkB,GAAG,IAAI,CAa7D;AAuBD;iEACiE;AACjE,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,MAAkB,GAAG,IAAI,CAgGnE"}
|
package/dist/install.js
CHANGED
|
@@ -97,37 +97,98 @@ export function buildHookCommand(eventName) {
|
|
|
97
97
|
]).join('\n');
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
|
-
* Windows
|
|
101
|
-
*
|
|
102
|
-
* the JSON read + HTTP POST. Discovery is narrower than POSIX since the
|
|
103
|
-
* macOS App Store sandbox paths don't exist on Windows:
|
|
100
|
+
* The Windows hook body, shipped as a script file rather than inlined into the
|
|
101
|
+
* hook command.
|
|
104
102
|
*
|
|
103
|
+
* It MUST stay a file. Claude Code runs hook commands through a POSIX shell on
|
|
104
|
+
* Windows (Git Bash, `sh -c`), which expands every `$name` before
|
|
105
|
+
* `powershell.exe` ever parses the line: an inlined `-Command` arrived as
|
|
106
|
+
* `='Stop'; [int]=0; ... [string]:AGENTDECK_PORT,[ref]` and died with
|
|
107
|
+
* `Missing ')' in method call`, on every hook, on every turn. Double-quoting
|
|
108
|
+
* inside the JSON does not help — the shell sees the whole command string. A
|
|
109
|
+
* `-File` invocation keeps `$` off the command line entirely.
|
|
110
|
+
*
|
|
111
|
+
* Port discovery matches the POSIX snippet, minus the macOS App Store sandbox
|
|
112
|
+
* containers which do not exist on Windows:
|
|
105
113
|
* 1. `$env:AGENTDECK_PORT`
|
|
106
|
-
* 2. `%USERPROFILE%\.agentdeck\daemon.json` (verified with `/health` probe)
|
|
114
|
+
* 2. `%USERPROFILE%\.agentdeck\daemon.json` (verified with a `/health` probe)
|
|
107
115
|
* 3. `9120` fallback
|
|
108
116
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* dead daemon never blocks the host session.
|
|
117
|
+
* Errors are swallowed and the exit code is always 0 so a dead daemon never
|
|
118
|
+
* blocks or fails the host session.
|
|
112
119
|
*/
|
|
113
|
-
export
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
120
|
+
export const WINDOWS_HOOK_SCRIPT = `# AgentDeck -> Claude Code hook bridge. Generated by @agentdeck/hooks; edits are overwritten.
|
|
121
|
+
# Invoked as: powershell -NoProfile -ExecutionPolicy Bypass -File "<this file>" -HookEvent <EventName>
|
|
122
|
+
#
|
|
123
|
+
# Must be a script file, NOT an inline -Command: Claude Code runs hook commands
|
|
124
|
+
# through Git Bash (sh -c) on Windows, which expands \$var references away before
|
|
125
|
+
# PowerShell sees them.
|
|
126
|
+
param([Parameter(Mandatory = \$true)][ValidatePattern('^[A-Za-z_]+\$')][string]\$HookEvent)
|
|
127
|
+
|
|
128
|
+
\$ErrorActionPreference = 'SilentlyContinue'
|
|
129
|
+
|
|
130
|
+
\$port = 0
|
|
131
|
+
\$candidate = 0
|
|
132
|
+
if (-not ([int]::TryParse([string]\$env:AGENTDECK_PORT, [ref]\$candidate)) -or \$candidate -lt 1 -or \$candidate -gt 65535) { \$candidate = 0 }
|
|
133
|
+
\$port = \$candidate
|
|
134
|
+
|
|
135
|
+
if (-not \$port) {
|
|
136
|
+
\$f = Join-Path \$env:USERPROFILE '.agentdeck\\daemon.json'
|
|
137
|
+
if (Test-Path \$f) {
|
|
138
|
+
try {
|
|
139
|
+
\$d = Get-Content -Raw \$f | ConvertFrom-Json
|
|
140
|
+
\$raw = if (\$d.httpPort) { \$d.httpPort } else { \$d.port }
|
|
141
|
+
\$candidate = 0
|
|
142
|
+
if ([int]::TryParse([string]\$raw, [ref]\$candidate) -and \$candidate -ge 1 -and \$candidate -le 65535) {
|
|
143
|
+
try {
|
|
144
|
+
Invoke-RestMethod -Uri ('http://127.0.0.1:' + \$candidate + '/health') -TimeoutSec 1 -ErrorAction Stop | Out-Null
|
|
145
|
+
\$port = \$candidate
|
|
146
|
+
} catch {}
|
|
147
|
+
}
|
|
148
|
+
} catch {}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (-not \$port) { \$port = 9120 }
|
|
152
|
+
|
|
153
|
+
# Read stdin as UTF-8: [Console]::In decodes piped stdin with the console OEM
|
|
154
|
+
# codepage (e.g. CP949), garbling non-ASCII payload text.
|
|
155
|
+
\$body = (New-Object System.IO.StreamReader([Console]::OpenStandardInput(), [System.Text.Encoding]::UTF8)).ReadToEnd()
|
|
156
|
+
# Post UTF-8 bytes: Invoke-RestMethod encodes a string body as ISO-8859-1 when
|
|
157
|
+
# the content type carries no charset, replacing non-ASCII characters with '?'.
|
|
158
|
+
\$bytes = [System.Text.Encoding]::UTF8.GetBytes([string]\$body)
|
|
159
|
+
|
|
160
|
+
try {
|
|
161
|
+
Invoke-RestMethod -Uri ('http://127.0.0.1:' + \$port + '/hooks/' + \$HookEvent) -Method Post -Body \$bytes -ContentType 'application/json; charset=utf-8' -TimeoutSec 2 -ErrorAction Stop | Out-Null
|
|
162
|
+
} catch {}
|
|
163
|
+
|
|
164
|
+
# Never block or fail the tool call.
|
|
165
|
+
exit 0
|
|
166
|
+
`;
|
|
167
|
+
/** Where the Windows hook script is installed. */
|
|
168
|
+
export function windowsHookScriptPath(home = homedir()) {
|
|
169
|
+
return join(home, '.agentdeck', 'agentdeck-hook.ps1');
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Write the Windows hook script, creating `~/.agentdeck` if needed. Idempotent:
|
|
173
|
+
* rewrites only when the content differs, so a session-start migration does not
|
|
174
|
+
* touch the file on every launch. Returns the path it points hooks at.
|
|
175
|
+
*/
|
|
176
|
+
export function ensureWindowsHookScript(home = homedir()) {
|
|
177
|
+
const path = windowsHookScriptPath(home);
|
|
178
|
+
mkdirSync(join(home, '.agentdeck'), { recursive: true });
|
|
179
|
+
if (!existsSync(path) || readFileSync(path, 'utf-8') !== WINDOWS_HOOK_SCRIPT) {
|
|
180
|
+
writeFileSync(path, WINDOWS_HOOK_SCRIPT);
|
|
181
|
+
}
|
|
182
|
+
return path;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Windows variant: invoke `agentdeck-hook.ps1` by path. The command line
|
|
186
|
+
* carries no `$`, so the POSIX shell Claude Code spawns hooks through has
|
|
187
|
+
* nothing to expand. See WINDOWS_HOOK_SCRIPT for why that matters.
|
|
188
|
+
*/
|
|
189
|
+
export function buildHookCommandWin(eventName, home = homedir()) {
|
|
190
|
+
const script = windowsHookScriptPath(home);
|
|
191
|
+
return `powershell -NoProfile -ExecutionPolicy Bypass -File "${script}" -HookEvent ${eventName}`;
|
|
131
192
|
}
|
|
132
193
|
export const KIRO_HOOK_EVENTS = [
|
|
133
194
|
['SessionStart', 'kiro_session_start'],
|
|
@@ -140,7 +201,7 @@ export function kiroHookPath(home = homedir()) {
|
|
|
140
201
|
return join(home, '.kiro', 'hooks', 'agentdeck-lifecycle.json');
|
|
141
202
|
}
|
|
142
203
|
/** Kiro v3 hooks are telemetry-only: never echo daemon steering into Kiro. */
|
|
143
|
-
export function buildKiroHookFile() {
|
|
204
|
+
export function buildKiroHookFile(home = homedir()) {
|
|
144
205
|
return {
|
|
145
206
|
version: 'v1',
|
|
146
207
|
hooks: KIRO_HOOK_EVENTS.map(([trigger, daemonEvent]) => ({
|
|
@@ -151,7 +212,7 @@ export function buildKiroHookFile() {
|
|
|
151
212
|
// A prefixed event bypasses Claude's request-response branches in
|
|
152
213
|
// buildHookCommand and reaches the agent-neutral observed pipeline.
|
|
153
214
|
command: process.platform === 'win32'
|
|
154
|
-
? buildHookCommandWin(daemonEvent)
|
|
215
|
+
? buildHookCommandWin(daemonEvent, home)
|
|
155
216
|
: buildHookCommand(daemonEvent),
|
|
156
217
|
},
|
|
157
218
|
timeout: 2,
|
|
@@ -172,7 +233,11 @@ export function installKiroHooksIfNeeded(home = homedir()) {
|
|
|
172
233
|
}
|
|
173
234
|
}
|
|
174
235
|
mkdirSync(join(kiroRoot, 'hooks'), { recursive: true });
|
|
175
|
-
|
|
236
|
+
// Kiro may be installed without Claude. Repair the shared script even when
|
|
237
|
+
// the JSON below is already current.
|
|
238
|
+
if (process.platform === 'win32')
|
|
239
|
+
ensureWindowsHookScript(home);
|
|
240
|
+
const content = `${JSON.stringify(buildKiroHookFile(home), null, 2)}\n`;
|
|
176
241
|
if (existsSync(path) && readFileSync(path, 'utf8') === content) {
|
|
177
242
|
return { installed: true, path, reason: 'already current' };
|
|
178
243
|
}
|
|
@@ -189,10 +254,30 @@ export function uninstallKiroHooks(home = homedir()) {
|
|
|
189
254
|
unlinkSync(path);
|
|
190
255
|
return true;
|
|
191
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Does this command belong to AgentDeck? Every writer/remover funnels through
|
|
259
|
+
* here so a new hook shape cannot be added on one side and missed on the other
|
|
260
|
+
* — the `-File` Windows form carries neither `AGENTDECK_PORT` nor
|
|
261
|
+
* `localhost:9120`, so the older two-marker test left it behind on reinstall
|
|
262
|
+
* and the settings file accumulated one live hook per install.
|
|
263
|
+
*/
|
|
264
|
+
export function isAgentDeckHookCommand(command) {
|
|
265
|
+
if (typeof command !== 'string')
|
|
266
|
+
return false;
|
|
267
|
+
return command.includes('AGENTDECK_PORT')
|
|
268
|
+
|| command.includes('localhost:9120')
|
|
269
|
+
|| command.includes('agentdeck-hook.ps1');
|
|
270
|
+
}
|
|
271
|
+
/** The same test for a settings entry in either the flat or matcher-group shape. */
|
|
272
|
+
function isAgentDeckHookEntry(entry) {
|
|
273
|
+
if (isAgentDeckHookCommand(entry?.command))
|
|
274
|
+
return true;
|
|
275
|
+
return Array.isArray(entry?.hooks) && entry.hooks.some((h) => isAgentDeckHookCommand(h?.command));
|
|
276
|
+
}
|
|
192
277
|
// Claude Code v2.1+ requires 3-level nesting: event → matcher group → hook handler.
|
|
193
|
-
export function buildHookEntry(eventName) {
|
|
278
|
+
export function buildHookEntry(eventName, home = homedir()) {
|
|
194
279
|
const command = process.platform === 'win32'
|
|
195
|
-
? buildHookCommandWin(eventName)
|
|
280
|
+
? buildHookCommandWin(eventName, home)
|
|
196
281
|
: buildHookCommand(eventName);
|
|
197
282
|
const handler = {
|
|
198
283
|
type: 'command',
|
|
@@ -207,8 +292,14 @@ export function buildHookEntry(eventName) {
|
|
|
207
292
|
hooks: [handler],
|
|
208
293
|
};
|
|
209
294
|
}
|
|
210
|
-
/**
|
|
211
|
-
|
|
295
|
+
/**
|
|
296
|
+
* Pure logic: apply AgentDeck hooks to a settings object (no file I/O).
|
|
297
|
+
*
|
|
298
|
+
* On Windows the hook body lives in a script file, so callers that persist the
|
|
299
|
+
* result must also call `ensureWindowsHookScript()` — every file-system wrapper
|
|
300
|
+
* in this module does.
|
|
301
|
+
*/
|
|
302
|
+
export function applyHooks(settings, home = homedir()) {
|
|
212
303
|
if (!settings.hooks) {
|
|
213
304
|
settings.hooks = {};
|
|
214
305
|
}
|
|
@@ -217,16 +308,8 @@ export function applyHooks(settings) {
|
|
|
217
308
|
settings.hooks[event] = [];
|
|
218
309
|
}
|
|
219
310
|
// Remove both old flat format and new matcher format
|
|
220
|
-
settings.hooks[event] = settings.hooks[event].filter((h) =>
|
|
221
|
-
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
if (Array.isArray(h.hooks) && h.hooks.some((hh) => hh.command?.includes('AGENTDECK_PORT') || hh.command?.includes('localhost:9120'))) {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
return true;
|
|
228
|
-
});
|
|
229
|
-
settings.hooks[event].push(buildHookEntry(event));
|
|
311
|
+
settings.hooks[event] = settings.hooks[event].filter((h) => !isAgentDeckHookEntry(h));
|
|
312
|
+
settings.hooks[event].push(buildHookEntry(event, home));
|
|
230
313
|
}
|
|
231
314
|
return settings;
|
|
232
315
|
}
|
|
@@ -236,15 +319,7 @@ export function removeHooks(settings) {
|
|
|
236
319
|
return settings;
|
|
237
320
|
for (const event of HOOK_EVENTS) {
|
|
238
321
|
if (settings.hooks[event]) {
|
|
239
|
-
settings.hooks[event] = settings.hooks[event].filter((h) =>
|
|
240
|
-
if (h.command?.includes('AGENTDECK_PORT') || h.command?.includes('localhost:9120')) {
|
|
241
|
-
return false;
|
|
242
|
-
}
|
|
243
|
-
if (Array.isArray(h.hooks) && h.hooks.some((hh) => hh.command?.includes('AGENTDECK_PORT') || hh.command?.includes('localhost:9120'))) {
|
|
244
|
-
return false;
|
|
245
|
-
}
|
|
246
|
-
return true;
|
|
247
|
-
});
|
|
322
|
+
settings.hooks[event] = settings.hooks[event].filter((h) => !isAgentDeckHookEntry(h));
|
|
248
323
|
if (settings.hooks[event].length === 0) {
|
|
249
324
|
delete settings.hooks[event];
|
|
250
325
|
}
|
|
@@ -370,7 +445,8 @@ export function sweepLegacyHooks(home = homedir()) {
|
|
|
370
445
|
if (!existsSync(legacy))
|
|
371
446
|
return false;
|
|
372
447
|
const raw = readFileSync(legacy, 'utf-8');
|
|
373
|
-
if (!raw.includes('AGENTDECK_PORT') && !raw.includes('localhost:9120')
|
|
448
|
+
if (!raw.includes('AGENTDECK_PORT') && !raw.includes('localhost:9120')
|
|
449
|
+
&& !raw.includes('agentdeck-hook.ps1'))
|
|
374
450
|
return false;
|
|
375
451
|
const settings = removeHooks(JSON.parse(raw));
|
|
376
452
|
writeSettings(legacy, settings);
|
|
@@ -385,8 +461,11 @@ export function installHooks(home = homedir()) {
|
|
|
385
461
|
if (sweepLegacyHooks(home)) {
|
|
386
462
|
console.log('Removed stale hooks from ~/.claude/settings.local.json (never read by Claude Code)');
|
|
387
463
|
}
|
|
464
|
+
if (process.platform === 'win32') {
|
|
465
|
+
console.log(`Hook script written to ${ensureWindowsHookScript(home)}`);
|
|
466
|
+
}
|
|
388
467
|
const settings = readSettings(settingsPath);
|
|
389
|
-
applyHooks(settings);
|
|
468
|
+
applyHooks(settings, home);
|
|
390
469
|
writeSettings(settingsPath, settings);
|
|
391
470
|
console.log(`Hooks installed to ${settingsPath}`);
|
|
392
471
|
}
|
|
@@ -398,6 +477,10 @@ export function uninstallHooks(home = homedir()) {
|
|
|
398
477
|
return;
|
|
399
478
|
const settings = removeHooks(readSettings(settingsPath));
|
|
400
479
|
writeSettings(settingsPath, settings);
|
|
480
|
+
// The script is AgentDeck-owned in its entirety, like the OpenCode plugin.
|
|
481
|
+
const script = windowsHookScriptPath(home);
|
|
482
|
+
if (existsSync(script))
|
|
483
|
+
unlinkSync(script);
|
|
401
484
|
console.log('Hooks uninstalled');
|
|
402
485
|
}
|
|
403
486
|
/**
|
|
@@ -412,8 +495,10 @@ function relocateLegacyHooks(home = homedir()) {
|
|
|
412
495
|
return false;
|
|
413
496
|
const settings = readSettings(settingsPath);
|
|
414
497
|
const before = JSON.stringify(settings);
|
|
415
|
-
applyHooks(settings);
|
|
498
|
+
applyHooks(settings, home);
|
|
416
499
|
const after = JSON.stringify(settings);
|
|
500
|
+
if (process.platform === 'win32')
|
|
501
|
+
ensureWindowsHookScript(home);
|
|
417
502
|
if (before !== after) {
|
|
418
503
|
writeSettings(settingsPath, settings);
|
|
419
504
|
}
|
|
@@ -429,27 +514,40 @@ export function migrateHooksIfNeeded(home = homedir()) {
|
|
|
429
514
|
if (!existsSync(settingsPath))
|
|
430
515
|
return;
|
|
431
516
|
const raw = readFileSync(settingsPath, 'utf-8');
|
|
432
|
-
if (!raw.includes('AGENTDECK_PORT') && !raw.includes('localhost:9120')
|
|
517
|
+
if (!raw.includes('AGENTDECK_PORT') && !raw.includes('localhost:9120')
|
|
518
|
+
&& !raw.includes('agentdeck-hook.ps1'))
|
|
433
519
|
return;
|
|
434
520
|
const settings = JSON.parse(raw);
|
|
521
|
+
// Windows settings now contain a file path, not the inline validation
|
|
522
|
+
// markers used by the POSIX migrations below. Converge the command set
|
|
523
|
+
// by value and repair its script independently; current settings must
|
|
524
|
+
// not be rewritten every time a session starts.
|
|
525
|
+
if (process.platform === 'win32') {
|
|
526
|
+
ensureWindowsHookScript(home);
|
|
527
|
+
const before = JSON.stringify(settings);
|
|
528
|
+
applyHooks(settings, home);
|
|
529
|
+
if (JSON.stringify(settings) !== before)
|
|
530
|
+
writeSettings(settingsPath, settings);
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
435
533
|
let { migrated } = migrateHooks(settings);
|
|
436
534
|
// Migration 4: upgrade hooks using simple :-9120 fallback to daemon.json-reading format.
|
|
437
535
|
// This handles existing users from before daemon.json runtime lookup was added.
|
|
438
536
|
if (raw.includes('AGENTDECK_PORT') && !raw.includes('daemon.json')) {
|
|
439
|
-
applyHooks(settings);
|
|
537
|
+
applyHooks(settings, home);
|
|
440
538
|
migrated = true;
|
|
441
539
|
}
|
|
442
540
|
// Migration 5: upgrade fire-and-forget Stop hooks to the request-response
|
|
443
541
|
// form (turn-end directive queue needs the response echoed to Claude).
|
|
444
542
|
if (raw.includes('/hooks/Stop') && !/RESP=\$\(curl[^\n]*\/hooks\/Stop/.test(raw)) {
|
|
445
|
-
applyHooks(settings);
|
|
543
|
+
applyHooks(settings, home);
|
|
446
544
|
migrated = true;
|
|
447
545
|
}
|
|
448
546
|
// Migration 6: PostToolUseFailure closes structured AskUserQuestion
|
|
449
547
|
// overlays on ESC/tool failure. Existing installs predate this lifecycle
|
|
450
548
|
// event, so refresh the AgentDeck-owned hook set once when it is absent.
|
|
451
549
|
if (!settings.hooks?.PostToolUseFailure) {
|
|
452
|
-
applyHooks(settings);
|
|
550
|
+
applyHooks(settings, home);
|
|
453
551
|
migrated = true;
|
|
454
552
|
}
|
|
455
553
|
// Migration 7: bound curl calls left unbounded by a pre-fix installer.
|
|
@@ -458,37 +556,35 @@ export function migrateHooksIfNeeded(home = homedir()) {
|
|
|
458
556
|
// is the self-heal path for a machine where an older App Store build keeps
|
|
459
557
|
// rewriting the same settings.json the CLI installs into.
|
|
460
558
|
if (hasUnboundedHookCurl(settings)) {
|
|
461
|
-
applyHooks(settings);
|
|
559
|
+
applyHooks(settings, home);
|
|
462
560
|
migrated = true;
|
|
463
561
|
}
|
|
464
562
|
// Migration 8: install read-only child/team lifecycle telemetry. These
|
|
465
563
|
// hooks only post summaries; they never return steering decisions.
|
|
466
564
|
if (!settings.hooks?.SubagentStart || !settings.hooks?.SubagentStop
|
|
467
565
|
|| !settings.hooks?.TaskCompleted || !settings.hooks?.TeammateIdle) {
|
|
468
|
-
applyHooks(settings);
|
|
566
|
+
applyHooks(settings, home);
|
|
469
567
|
migrated = true;
|
|
470
568
|
}
|
|
471
569
|
// Migration 9: pre-validation hook snippets interpolated untrusted env /
|
|
472
570
|
// daemon.json values directly into a loopback URL. Values containing `@`
|
|
473
571
|
// can make URL parsers treat `127.0.0.1:<value>` as userinfo and send hook
|
|
474
572
|
// payloads to a different host. Rebuild once with strict 1..65535 parsing.
|
|
475
|
-
const hasValidatedPort =
|
|
476
|
-
? raw.includes('[int]::TryParse')
|
|
477
|
-
: raw.includes('*[!0-9]*');
|
|
573
|
+
const hasValidatedPort = raw.includes('*[!0-9]*');
|
|
478
574
|
if (!hasValidatedPort) {
|
|
479
|
-
applyHooks(settings);
|
|
575
|
+
applyHooks(settings, home);
|
|
480
576
|
migrated = true;
|
|
481
577
|
}
|
|
482
578
|
// Migration 10: hooks predating the pid header cannot tell the daemon
|
|
483
579
|
// which process posted them, so spawned-worker ancestry never resolves.
|
|
484
|
-
if (
|
|
485
|
-
applyHooks(settings);
|
|
580
|
+
if (!raw.includes('X-AgentDeck-Pid')) {
|
|
581
|
+
applyHooks(settings, home);
|
|
486
582
|
migrated = true;
|
|
487
583
|
}
|
|
488
584
|
// Migration 11: protected container reads can await an OS decision forever.
|
|
489
585
|
// The Python timer bounds lookup before the existing healthy-port fallback.
|
|
490
|
-
if (
|
|
491
|
-
applyHooks(settings);
|
|
586
|
+
if (!raw.includes('signal.setitimer')) {
|
|
587
|
+
applyHooks(settings, home);
|
|
492
588
|
migrated = true;
|
|
493
589
|
}
|
|
494
590
|
if (migrated) {
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,oEAAoE;AACpE,2EAA2E;AAC3E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,IAAI,qBAAqB,EACzC,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,0EAA0E;AAC1E,0EAA0E;AAC1E,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,MAAM;IACN,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;CACN,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,QAAQ,GAAG;QACf,6BAA6B;QAC7B,kIAAkI;QAClI,yBAAyB;QACzB,8OAA8O;QAC9O,6BAA6B;QAC7B,uRAAuR;QACvR,wIAAwI;QACxI,QAAQ;QACR,IAAI;QACJ,uBAAuB;KACxB,CAAC;IACF,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,oCAAoC;IACpC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC;YACrB,mKAAmK;YACnK,0BAA0B;SAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,MAAM,CAAC;YACrB,6JAA6J;YAC7J,0BAA0B;SAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,mEAAmE;IACnE,6EAA6E;IAC7E,0EAA0E;IAC1E,oEAAoE;IACpE,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,2BAA2B;IAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrB,uFAAuF,SAAS,iGAAiG;KAClM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClC,CAAC;AAEF,kDAAkD;AAClD,MAAM,UAAU,qBAAqB,CAAC,OAAe,OAAO,EAAE;IAC5D,OAAO,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,OAAO,EAAE;IAC9D,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC7E,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAe,OAAO,EAAE;IAC7E,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,wDAAwD,MAAM,gBAAgB,SAAS,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,CAAC,cAAc,EAAE,oBAAoB,CAAC;IACtC,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAC/C,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACjC,CAAC,aAAa,EAAE,eAAe,CAAC;IAChC,CAAC,MAAM,EAAE,WAAW,CAAC;CACb,CAAC;AAQX,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,OAAe,OAAO,EAAE;IACxD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,aAAa,OAAO,EAAE;YAC5B,OAAO;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,kEAAkE;gBAClE,oEAAoE;gBACpE,OAAO,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;oBACnC,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC;oBACxC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC;aAClC;YACD,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CAAC,OAAe,OAAO,EAAE;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,2EAA2E;IAC3E,qCAAqC;IACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACxE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC9D,CAAC;IACD,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,OAAO,EAAE;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,UAAU,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;WACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;WAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC;AAED,oFAAoF;AACpF,SAAS,oBAAoB,CAAC,KAAU;IACtC,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,OAAe,OAAO,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1C,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC;QACtC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,GAAQ;QACnB,IAAI,EAAE,SAAS;QACf,OAAO;KACR,CAAC;IACF,mDAAmD;IACnD,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjG,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACpC,KAAK,EAAE,CAAC,OAAO,CAAC;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,QAAa,EAAE,OAAe,OAAO,EAAE;IAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,qDAAqD;QACrD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,QAAa;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAa;IAChD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAY,OAAO,EAAE,OAAO,CAAC;gBACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAElE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClF,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAE/D,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,MAAM;oBAAE,SAAS;gBACzD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5E,CAAC;gBACF,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAAE,OAAO,IAAI,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,QAAa;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,sDAAsD;YACtD,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CACjC,iBAAiB,EACjB,mCAAmC,CACpC,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,kDAAkD;YAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvF,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpF,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,mDAAmD;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC5F,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CACnC,iBAAiB,EACjB,mCAAmC,CACpC,CAAC;wBACF,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,OAAO,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClC,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,QAAa;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,OAAO,EAAE;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;WACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,0BAA0B,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3B,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,OAAe,OAAO,EAAE;IACrD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7D,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzD,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,2EAA2E;IAC3E,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAe,OAAO,EAAE;IACnD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,oBAAoB,CAAC,OAAe,OAAO,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,mBAAmB,CAAC,IAAI,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QAEtC,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;eACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAAE,OAAO;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,gDAAgD;QAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,MAAM;gBAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,IAAI,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1C,yFAAyF;QACzF,gFAAgF;QAChF,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjF,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACxC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,uEAAuE;QACvE,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,0DAA0D;QAC1D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,uEAAuE;QACvE,mEAAmE;QACnE,IACE,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY;eAC5D,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAClE,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,kFAAkF;AAClF,iFAAiF;AACjF,8EAA8E;AAC9E,4EAA4E;AAC5E,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAEvG,IAAI,YAAY,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAC5C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,cAAc,EAAE,CAAC;QACjB,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,qCAAqC;QACrC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxF,qEAAqE;QACrE,oEAAoE;QACpE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,kBAAkB,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
|