lockwire 0.1.34 → 0.1.35
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/README.md +27 -0
- package/dist/extract-v2.d.ts +14 -4
- package/dist/extract-v2.d.ts.map +1 -1
- package/dist/extract-v2.js +224 -40
- package/dist/extract-v2.js.map +1 -1
- package/dist/extract.d.ts +2 -2
- package/dist/extract.js +4 -4
- package/dist/extract.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -173,6 +173,33 @@ sequenceDiagram
|
|
|
173
173
|
|
|
174
174
|
## Install
|
|
175
175
|
|
|
176
|
+
**Have your AI do it.** Paste this into Claude Code, Codex, Cursor or any coding agent, in the repository you want to protect:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
Set up lockwire (https://github.com/Reality-Ventures/lockwire) in this repository. It binds
|
|
180
|
+
claims in our docs to the code they describe and flags them when the code changes. It's an npm
|
|
181
|
+
package with one runtime dependency and makes no network calls.
|
|
182
|
+
|
|
183
|
+
1. Install it for the agent you are:
|
|
184
|
+
- Claude Code: add this to .claude/settings.json (merge with what's there), then tell me to
|
|
185
|
+
run /reload-plugins:
|
|
186
|
+
{"extraKnownMarketplaces": {"lockwire": {"source": {"source": "github",
|
|
187
|
+
"repo": "Reality-Ventures/lockwire"}, "autoUpdate": true}},
|
|
188
|
+
"enabledPlugins": {"lockwire@lockwire": true}}
|
|
189
|
+
- Anything else: run `npx skills add Reality-Ventures/lockwire`, and register
|
|
190
|
+
`npx -y lockwire mcp` as a stdio MCP server if you support MCP.
|
|
191
|
+
2. Run `npx lockwire init` at the repository root.
|
|
192
|
+
3. In CLAUDE.md, AGENTS.md or README.md, find 3 to 5 sentences that state something specific about
|
|
193
|
+
our code (a function's parameters, a default, a limit, where something lives). Above each, add a
|
|
194
|
+
marker naming the code and what the sentence depends on, e.g.
|
|
195
|
+
<!-- lockwire src/auth/session.ts#createSession sig -->
|
|
196
|
+
(sig: signature and types; body: behaviour; deps: what it calls; path: where it lives).
|
|
197
|
+
4. Run `npx lockwire link <doc>` for each doc you changed, then `npx lockwire check`, and show me
|
|
198
|
+
the result.
|
|
199
|
+
|
|
200
|
+
Don't commit, push or run `lockwire autofix`; I'll review the changes first.
|
|
201
|
+
```
|
|
202
|
+
|
|
176
203
|
**Claude Code** — hook, MCP server, and skill in one plugin:
|
|
177
204
|
|
|
178
205
|
```bash
|
package/dist/extract-v2.d.ts
CHANGED
|
@@ -19,15 +19,25 @@
|
|
|
19
19
|
* isn't part of the body.
|
|
20
20
|
* - `deps` names each call by its structure (`client.get().json`), so reformatting a call chain or
|
|
21
21
|
* renaming a local passed as an argument doesn't move it.
|
|
22
|
+
*
|
|
23
|
+
* Version 3 is version 2 except that what code formatters (Black, Ruff, Prettier) rewrite without
|
|
24
|
+
* changing behaviour reads the same either way, in `sig` and `body` alike: a string's quotes, escaped
|
|
25
|
+
* quotes and prefix case (`'it\'s'`, `"it's"`, `U'a'`); a number's spelling (`0XAB`, `1E5`, and in
|
|
26
|
+
* TS/JS `1.50`, `.5`); Python's optional parentheses (`from m import (a)`, `with (a, b):`,
|
|
27
|
+
* `for (x, y) in`, `return (a, b)`, `-> (int)`); an arrow's single parameter with or without
|
|
28
|
+
* parentheses; and a quoted key that needn't be (`{ 'a': 1 }`). It also stops reading a class's or a
|
|
29
|
+
* whole file's own top-level names (a model's fields, a module's constants) as locals: renaming one
|
|
30
|
+
* is a change (see {@link collectLocals}). Version-2 anchors keep being read the version-2 way (see
|
|
31
|
+
* {@link withVersion}) until a check finds them unchanged and re-stamps them.
|
|
22
32
|
*/
|
|
23
33
|
import type { Node } from "web-tree-sitter";
|
|
24
34
|
import type { LangId } from "./grammar.js";
|
|
25
35
|
import type { FileSymbols } from "./types.js";
|
|
26
36
|
/** A node as its tokens: comments and layout dropped, a trailing comma before a closer dropped. */
|
|
27
|
-
export declare function canon(node: Node): string;
|
|
28
|
-
export declare function extractFileSymbolsV2(root: Node, lang: LangId, normalizeLocals: boolean): FileSymbols;
|
|
29
|
-
/** Whole-file `body` and `deps` for a file-only anchor, read the version-2 way. */
|
|
30
|
-
export declare function computeWholeFileTiersV2(root: Node, lang: LangId, normalizeLocals: boolean): {
|
|
37
|
+
export declare function canon(node: Node, lang?: LangId): string;
|
|
38
|
+
export declare function extractFileSymbolsV2(root: Node, lang: LangId, normalizeLocals: boolean, version?: number): FileSymbols;
|
|
39
|
+
/** Whole-file `body` and `deps` for a file-only anchor, read the version-2 (or 3) way. */
|
|
40
|
+
export declare function computeWholeFileTiersV2(root: Node, lang: LangId, normalizeLocals: boolean, version?: number): {
|
|
31
41
|
bodyNormalized: string;
|
|
32
42
|
deps: string[];
|
|
33
43
|
};
|
package/dist/extract-v2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-v2.d.ts","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"extract-v2.d.ts","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AA+G9D,mGAAmG;AACnG,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAoCvD;AA2eD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,EACxB,OAAO,SAAI,GACV,WAAW,CAEb;AAyPD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,OAAO,EACxB,OAAO,SAAI,GACV;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAS5C"}
|
package/dist/extract-v2.js
CHANGED
|
@@ -1,17 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the extraction under way reads formatting the version-3 way. Set for the length of one
|
|
3
|
+
* (synchronous) extraction by {@link withVersion}, so the helpers below needn't all carry it.
|
|
4
|
+
*/
|
|
5
|
+
let formatProof = false;
|
|
6
|
+
function withVersion(version, run) {
|
|
7
|
+
const saved = formatProof;
|
|
8
|
+
formatProof = version >= 3;
|
|
9
|
+
try {
|
|
10
|
+
return run();
|
|
11
|
+
}
|
|
12
|
+
finally {
|
|
13
|
+
formatProof = saved;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** `\'` and `\"` as the quote alone; every other escape as written. */
|
|
17
|
+
const unescapeQuotes = (s) => s.replace(/\\([\s\S])/g, (pair, c) => (c === "'" || c === '"' ? c : pair));
|
|
18
|
+
/**
|
|
19
|
+
* A string literal whichever quotes delimit it: its prefix (lower case, sorted, without Python 3's
|
|
20
|
+
* no-op `u`) and its contents with escaped quotes unescaped. `inner` renders an f-string's
|
|
21
|
+
* interpolations. Null for anything but a plain or f-string literal (a template literal keeps its
|
|
22
|
+
* backticks: there's no other way to write one).
|
|
23
|
+
*/
|
|
24
|
+
function stringLiteral(node, lang, inner) {
|
|
25
|
+
// Named: TS's `string` keyword is an unnamed node of the same type.
|
|
26
|
+
if (node.type !== "string" || !node.isNamed)
|
|
27
|
+
return null;
|
|
28
|
+
if (lang !== "python")
|
|
29
|
+
return JSON.stringify(unescapeQuotes(node.text.slice(1, -1)));
|
|
30
|
+
let prefix = "";
|
|
31
|
+
let quote = 1;
|
|
32
|
+
let contents = "";
|
|
33
|
+
const text = (t) => {
|
|
34
|
+
contents += prefix.includes("r") ? t : unescapeQuotes(t);
|
|
35
|
+
};
|
|
36
|
+
for (const c of node.children) {
|
|
37
|
+
if (!c || c.isExtra)
|
|
38
|
+
continue;
|
|
39
|
+
if (c.type === "string_start") {
|
|
40
|
+
const delimiter = c.text.replace(/^[^'"]*/, "");
|
|
41
|
+
quote = delimiter.length;
|
|
42
|
+
prefix = [...c.text.slice(0, -quote).toLowerCase().replace("u", "")].sort().join("");
|
|
43
|
+
}
|
|
44
|
+
// An f-string's own braces are written doubled (`{{`), so an interpolation can't be mistaken for text.
|
|
45
|
+
else if (c.type === "interpolation")
|
|
46
|
+
contents += inner(c);
|
|
47
|
+
// The grammar ends `r'\''` with a `string_end` of `\''`: what precedes the closing quote is text.
|
|
48
|
+
else if (c.type === "string_end")
|
|
49
|
+
text(c.text.slice(0, -quote));
|
|
50
|
+
else
|
|
51
|
+
text(c.text);
|
|
52
|
+
}
|
|
53
|
+
return `${prefix}${JSON.stringify(contents)}`;
|
|
54
|
+
}
|
|
55
|
+
/** A number literal however it's spelled: case, `_` separators and, in TS/JS, the value it denotes. */
|
|
56
|
+
function numberLiteral(text, lang) {
|
|
57
|
+
const t = text.toLowerCase().replace(/_/g, "");
|
|
58
|
+
// Python keeps the spelling (`1` and `1.0` are different types); so do BigInts and legacy octals.
|
|
59
|
+
if (lang === "python" || t.endsWith("n") || /^0\d/.test(t))
|
|
60
|
+
return t;
|
|
61
|
+
const value = Number(t);
|
|
62
|
+
return Number.isFinite(value) ? String(value) : t;
|
|
63
|
+
}
|
|
64
|
+
const NUMBER_TYPES = new Set(["number", "integer", "float"]);
|
|
65
|
+
/** The node types version 3 reads differently from version 2 (bar optional parentheses). */
|
|
66
|
+
const FORMATTED_TYPES = new Set(["string", ...NUMBER_TYPES, "formal_parameters"]);
|
|
67
|
+
/** Members whose name may be quoted or not, as long as it's an identifier either way. */
|
|
68
|
+
const NAMED_MEMBERS = new Set([
|
|
69
|
+
"pair",
|
|
70
|
+
"property_signature",
|
|
71
|
+
"method_signature",
|
|
72
|
+
"public_field_definition",
|
|
73
|
+
"field_definition",
|
|
74
|
+
"method_definition",
|
|
75
|
+
"abstract_method_signature",
|
|
76
|
+
]);
|
|
77
|
+
/** A quoted member name that needn't be (`{ 'a': 1 }`): the bare name. */
|
|
78
|
+
function unquotedKey(node, lang) {
|
|
79
|
+
if (lang === "python" || node.type !== "string" || !node.isNamed)
|
|
80
|
+
return null;
|
|
81
|
+
const parent = node.parent;
|
|
82
|
+
if (!parent || !NAMED_MEMBERS.has(parent.type))
|
|
83
|
+
return null;
|
|
84
|
+
const field = ["key", "name", "property"]
|
|
85
|
+
.map((f) => parent.childForFieldName(f))
|
|
86
|
+
.find((c) => c?.id === node.id);
|
|
87
|
+
if (!field)
|
|
88
|
+
return null;
|
|
89
|
+
const name = unescapeQuotes(node.text.slice(1, -1));
|
|
90
|
+
return /^[A-Za-z_$][\w$]*$/.test(name) ? name : null;
|
|
91
|
+
}
|
|
92
|
+
/** Python's optional parentheses: around an import list, a `with` clause, or a tuple. */
|
|
93
|
+
const OPTIONAL_PARENS = new Set(["import_from_statement", "with_clause", "tuple", "tuple_pattern"]);
|
|
94
|
+
/** A parenthesized tuple is the same tuple without the parentheses. */
|
|
95
|
+
const TUPLE_AS = new Map([
|
|
96
|
+
["tuple", "expression_list"],
|
|
97
|
+
["tuple_pattern", "pattern_list"],
|
|
98
|
+
]);
|
|
99
|
+
/** An arrow function's one plain parameter, when it's written in parentheses (`(x) => x`). */
|
|
100
|
+
function soleArrowParameter(node) {
|
|
101
|
+
if (node.type !== "formal_parameters" || node.parent?.type !== "arrow_function")
|
|
102
|
+
return null;
|
|
103
|
+
const params = node.namedChildren.filter((c) => c !== null && !c.isExtra);
|
|
104
|
+
if (params.length !== 1)
|
|
105
|
+
return null;
|
|
106
|
+
const p = params[0];
|
|
107
|
+
if (p.type === "identifier")
|
|
108
|
+
return p;
|
|
109
|
+
const named = p.namedChildren.filter((c) => c !== null && !c.isExtra);
|
|
110
|
+
return p.type === "required_parameter" && named.length === 1 && named[0]?.type === "identifier"
|
|
111
|
+
? named[0]
|
|
112
|
+
: null;
|
|
113
|
+
}
|
|
1
114
|
/** A node as its tokens: comments and layout dropped, a trailing comma before a closer dropped. */
|
|
2
|
-
export function canon(node) {
|
|
115
|
+
export function canon(node, lang) {
|
|
3
116
|
const tokens = [];
|
|
4
117
|
const walk = (n) => {
|
|
5
118
|
if (n.isExtra)
|
|
6
119
|
return; // comments
|
|
120
|
+
if (formatProof && lang) {
|
|
121
|
+
const key = unquotedKey(n, lang);
|
|
122
|
+
const literal = key ?? stringLiteral(n, lang, (i) => canon(i, lang));
|
|
123
|
+
if (literal !== null) {
|
|
124
|
+
tokens.push(literal);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (n.isNamed && NUMBER_TYPES.has(n.type)) {
|
|
128
|
+
tokens.push(numberLiteral(n.text, lang));
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (n.type === "parenthesized_expression" && n.namedChildCount === 1) {
|
|
132
|
+
const inner = n.namedChildren[0];
|
|
133
|
+
if (inner && !inner.isExtra)
|
|
134
|
+
return walk(inner);
|
|
135
|
+
}
|
|
136
|
+
// (An arrow's parameters need nothing here: sigOf writes a bare one in parentheses.)
|
|
137
|
+
}
|
|
7
138
|
if (n.childCount === 0) {
|
|
8
139
|
const t = n.text.trim();
|
|
9
140
|
if (t)
|
|
10
141
|
tokens.push(t);
|
|
11
142
|
return;
|
|
12
143
|
}
|
|
144
|
+
const dropParens = formatProof && lang === "python" && OPTIONAL_PARENS.has(n.type);
|
|
13
145
|
for (const c of n.children)
|
|
14
|
-
if (c)
|
|
146
|
+
if (c && !(dropParens && (c.type === "(" || c.type === ")")))
|
|
15
147
|
walk(c);
|
|
16
148
|
};
|
|
17
149
|
walk(node);
|
|
@@ -101,20 +233,20 @@ function isExported(node) {
|
|
|
101
233
|
return false;
|
|
102
234
|
}
|
|
103
235
|
/** Decorators written before a declaration: Python's `decorated_definition`, TS's on the class or export, or class-body siblings for a member. */
|
|
104
|
-
function decoratorsOf(def, member) {
|
|
236
|
+
function decoratorsOf(def, member, lang) {
|
|
105
237
|
const out = [];
|
|
106
238
|
const parent = member.parent;
|
|
107
239
|
if (parent?.type === "decorated_definition" || parent?.type === "export_statement")
|
|
108
240
|
for (const c of parent.namedChildren)
|
|
109
241
|
if (c?.type === "decorator")
|
|
110
|
-
out.push(canon(c));
|
|
242
|
+
out.push(canon(c, lang));
|
|
111
243
|
for (const c of def.namedChildren)
|
|
112
244
|
if (c?.type === "decorator")
|
|
113
|
-
out.push(canon(c));
|
|
245
|
+
out.push(canon(c, lang));
|
|
114
246
|
// A TS class member's decorators are the class body's children right before it.
|
|
115
247
|
if (parent?.type === "class_body")
|
|
116
248
|
for (let s = member.previousSibling; s?.type === "decorator"; s = s.previousSibling)
|
|
117
|
-
out.push(canon(s));
|
|
249
|
+
out.push(canon(s, lang));
|
|
118
250
|
return out;
|
|
119
251
|
}
|
|
120
252
|
/** Keyword modifiers written before the name: `static`, `async`, `get`, `private`, `readonly`, `*`, `abstract`… */
|
|
@@ -165,23 +297,23 @@ function sigOf(def, name, lang) {
|
|
|
165
297
|
const nameNode = n.childForFieldName("name");
|
|
166
298
|
const body = [...n.children]
|
|
167
299
|
.filter((c) => c !== null && c !== nameNode && !c.isExtra && c.type !== "decorator")
|
|
168
|
-
.map(canon)
|
|
300
|
+
.map((c) => canon(c, lang))
|
|
169
301
|
.join(" ");
|
|
170
302
|
return `${n.type} ${name} ${body}${tail}`;
|
|
171
303
|
}
|
|
172
304
|
const typeParams = n.childForFieldName("type_parameters");
|
|
173
|
-
const tp = typeParams ? canon(typeParams) : "";
|
|
305
|
+
const tp = typeParams ? canon(typeParams, lang) : "";
|
|
174
306
|
if (def.kind === "class") {
|
|
175
307
|
const heritage = lang === "python"
|
|
176
308
|
? n.childForFieldName("superclasses")
|
|
177
309
|
: (n.namedChildren.find((c) => c?.type === "class_heritage") ?? null);
|
|
178
|
-
return `class ${name}${tp}${heritage ? ` ${canon(heritage)}` : ""}${tail}`;
|
|
310
|
+
return `class ${name}${tp}${heritage ? ` ${canon(heritage, lang)}` : ""}${tail}`;
|
|
179
311
|
}
|
|
180
312
|
const params = n.childForFieldName("parameters");
|
|
181
313
|
const single = lang === "python" ? null : n.childForFieldName("parameter");
|
|
182
|
-
const ps = params ? canon(params) : single ? `(${canon(single)})` : "()";
|
|
314
|
+
const ps = params ? canon(params, lang) : single ? `(${canon(single, lang)})` : "()";
|
|
183
315
|
const ret = n.childForFieldName("return_type");
|
|
184
|
-
const rs = ret ? canon(ret).replace(/^:\s*/, "") : "";
|
|
316
|
+
const rs = ret ? canon(ret, lang).replace(/^:\s*/, "") : "";
|
|
185
317
|
return `fn ${name}${tp}${ps}${rs ? `->${rs}` : ""}${tail}`;
|
|
186
318
|
}
|
|
187
319
|
// -------------------------------------------------------------------------------------------------
|
|
@@ -237,25 +369,52 @@ function paramNames(params, lang, out) {
|
|
|
237
369
|
}
|
|
238
370
|
}
|
|
239
371
|
}
|
|
240
|
-
|
|
372
|
+
/**
|
|
373
|
+
* The names `subtree` binds that are local to it, aliased in `body`. For a class or a whole file
|
|
374
|
+
* (`ownNames`), from version 3 the names bound at its own top level, outside any function in it, aren't
|
|
375
|
+
* locals: they are its fields, attributes, constants and exports, and renaming one changes what other
|
|
376
|
+
* code can use (`montly_fee: float` → `monthly_fee: float` renames a model's field and its JSON key).
|
|
377
|
+
*/
|
|
378
|
+
function collectLocals(subtree, outerParams, lang, ownNames = false) {
|
|
241
379
|
const locals = new Set();
|
|
380
|
+
const own = new Set();
|
|
381
|
+
const keepOwn = ownNames && formatProof;
|
|
382
|
+
/** Records the names `pattern` binds at `site`: the scope's own when no function lies between. */
|
|
383
|
+
const bind = (site, pattern) => {
|
|
384
|
+
if (!site)
|
|
385
|
+
return;
|
|
386
|
+
const names = new Set();
|
|
387
|
+
patternNames(pattern, names);
|
|
388
|
+
let inFunction = false;
|
|
389
|
+
if (keepOwn)
|
|
390
|
+
for (let p = site.parent; p && p.id !== subtree.id; p = p.parent)
|
|
391
|
+
if (FUNCTION_LIKE[lang].has(p.type)) {
|
|
392
|
+
inFunction = true;
|
|
393
|
+
break;
|
|
394
|
+
}
|
|
395
|
+
for (const name of names)
|
|
396
|
+
(keepOwn && !inFunction ? own : locals).add(name);
|
|
397
|
+
};
|
|
242
398
|
paramNames(outerParams, lang, locals);
|
|
243
399
|
if (lang === "python") {
|
|
244
400
|
for (const fn of subtree.descendantsOfType(["function_definition", "lambda"]))
|
|
245
401
|
paramNames(fn?.childForFieldName("parameters") ?? null, lang, locals);
|
|
246
402
|
for (const n of subtree.descendantsOfType(["assignment", "augmented_assignment"]))
|
|
247
|
-
|
|
248
|
-
for (const n of subtree.descendantsOfType(["for_statement"
|
|
403
|
+
bind(n, n?.childForFieldName("left") ?? null);
|
|
404
|
+
for (const n of subtree.descendantsOfType(["for_statement"]))
|
|
405
|
+
bind(n, n?.childForFieldName("left") ?? null);
|
|
406
|
+
// A comprehension is a scope of its own, wherever it is.
|
|
407
|
+
for (const n of subtree.descendantsOfType(["for_in_clause"]))
|
|
249
408
|
patternNames(n?.childForFieldName("left") ?? null, locals);
|
|
250
409
|
for (const n of subtree.descendantsOfType(["as_pattern_target"]))
|
|
251
410
|
for (const c of n?.namedChildren ?? [])
|
|
252
|
-
|
|
411
|
+
bind(n, c);
|
|
253
412
|
for (const n of subtree.descendantsOfType(["named_expression"]))
|
|
254
|
-
|
|
413
|
+
bind(n, n?.childForFieldName("name") ?? null);
|
|
255
414
|
}
|
|
256
415
|
else {
|
|
257
416
|
for (const n of subtree.descendantsOfType(["variable_declarator"]))
|
|
258
|
-
|
|
417
|
+
bind(n, n?.childForFieldName("name") ?? null);
|
|
259
418
|
for (const n of subtree.descendantsOfType([...FUNCTION_LIKE[lang]])) {
|
|
260
419
|
paramNames(n?.childForFieldName("parameters") ?? null, lang, locals);
|
|
261
420
|
const single = n?.childForFieldName("parameter");
|
|
@@ -263,10 +422,13 @@ function collectLocals(subtree, outerParams, lang) {
|
|
|
263
422
|
patternNames(single, locals);
|
|
264
423
|
}
|
|
265
424
|
for (const n of subtree.descendantsOfType(["for_in_statement"]))
|
|
266
|
-
|
|
425
|
+
bind(n, n?.childForFieldName("left") ?? null);
|
|
267
426
|
for (const n of subtree.descendantsOfType(["catch_clause"]))
|
|
268
|
-
|
|
427
|
+
bind(n, n?.childForFieldName("parameter") ?? null);
|
|
269
428
|
}
|
|
429
|
+
// A name that is also the scope's own is read as written everywhere, so the two never get confused.
|
|
430
|
+
for (const name of own)
|
|
431
|
+
locals.delete(name);
|
|
270
432
|
return locals;
|
|
271
433
|
}
|
|
272
434
|
/** An identifier that names a value, not a property, attribute or keyword argument. */
|
|
@@ -287,13 +449,28 @@ function isValueIdentifier(node, lang) {
|
|
|
287
449
|
function serializeBody(node, locals, normalizeLocals, lang, aliasOf) {
|
|
288
450
|
if (node.isExtra)
|
|
289
451
|
return "";
|
|
452
|
+
// Read once: each read of a node's type is a call into the parser.
|
|
453
|
+
const nodeType = node.type;
|
|
290
454
|
// Grouping parentheses carry no meaning (the tree's shape already has the precedence), and
|
|
291
455
|
// formatters add and remove them to wrap lines.
|
|
292
|
-
if (
|
|
456
|
+
if (nodeType === "parenthesized_expression" && node.namedChildCount === 1) {
|
|
293
457
|
const inner = node.namedChildren[0];
|
|
294
458
|
if (inner && !inner.isExtra)
|
|
295
459
|
return serializeBody(inner, locals, normalizeLocals, lang, aliasOf);
|
|
296
460
|
}
|
|
461
|
+
if (formatProof && FORMATTED_TYPES.has(nodeType)) {
|
|
462
|
+
const key = unquotedKey(node, lang);
|
|
463
|
+
if (key !== null)
|
|
464
|
+
return `property_identifier:${key}`;
|
|
465
|
+
const literal = stringLiteral(node, lang, (i) => serializeBody(i, locals, normalizeLocals, lang, aliasOf));
|
|
466
|
+
if (literal !== null)
|
|
467
|
+
return `string:${literal}`;
|
|
468
|
+
if (node.isNamed && NUMBER_TYPES.has(nodeType))
|
|
469
|
+
return `${nodeType}:${numberLiteral(node.text, lang)}`;
|
|
470
|
+
const sole = soleArrowParameter(node);
|
|
471
|
+
if (sole)
|
|
472
|
+
return serializeBody(sole, locals, normalizeLocals, lang, aliasOf);
|
|
473
|
+
}
|
|
297
474
|
if (node.childCount === 0) {
|
|
298
475
|
if (node.isNamed) {
|
|
299
476
|
if (normalizeLocals && locals.has(node.text) && isValueIdentifier(node, lang)) {
|
|
@@ -304,21 +481,23 @@ function serializeBody(node, locals, normalizeLocals, lang, aliasOf) {
|
|
|
304
481
|
}
|
|
305
482
|
return `$${idx}`;
|
|
306
483
|
}
|
|
307
|
-
return `${
|
|
484
|
+
return `${nodeType}:${node.text}`;
|
|
308
485
|
}
|
|
309
|
-
if (
|
|
486
|
+
if (nodeType === "," || nodeType === ";")
|
|
310
487
|
return "";
|
|
311
|
-
return
|
|
488
|
+
return nodeType;
|
|
312
489
|
}
|
|
490
|
+
const dropParens = formatProof && lang === "python" && OPTIONAL_PARENS.has(nodeType);
|
|
313
491
|
const parts = [];
|
|
314
492
|
for (const child of node.children) {
|
|
315
|
-
if (!child)
|
|
493
|
+
if (!child || (dropParens && (child.type === "(" || child.type === ")")))
|
|
316
494
|
continue;
|
|
317
495
|
const s = serializeBody(child, locals, normalizeLocals, lang, aliasOf);
|
|
318
496
|
if (s)
|
|
319
497
|
parts.push(s);
|
|
320
498
|
}
|
|
321
|
-
|
|
499
|
+
const type = (formatProof && lang === "python" && TUPLE_AS.get(nodeType)) || nodeType;
|
|
500
|
+
return `(${type} ${parts.join(" ")})`;
|
|
322
501
|
}
|
|
323
502
|
/** A Python function's docstring is documentation, not behaviour. */
|
|
324
503
|
function withoutDocstring(body, lang) {
|
|
@@ -450,7 +629,10 @@ function commonJsPath(left) {
|
|
|
450
629
|
const path = parts.filter((p) => p !== "prototype").join(".");
|
|
451
630
|
return path ? { path, exported } : null;
|
|
452
631
|
}
|
|
453
|
-
export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
632
|
+
export function extractFileSymbolsV2(root, lang, normalizeLocals, version = 2) {
|
|
633
|
+
return withVersion(version, () => extractSymbols(root, lang, normalizeLocals));
|
|
634
|
+
}
|
|
635
|
+
function extractSymbols(root, lang, normalizeLocals) {
|
|
454
636
|
const importedNames = collectImportedNames(root, lang);
|
|
455
637
|
const bySymbolPath = new Map();
|
|
456
638
|
const fileExports = [];
|
|
@@ -467,7 +649,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
467
649
|
? withoutDocstring(body, lang)
|
|
468
650
|
: [body];
|
|
469
651
|
const locals = def.kind === "class"
|
|
470
|
-
? collectLocals(body ?? n, null, lang)
|
|
652
|
+
? collectLocals(body ?? n, null, lang, true)
|
|
471
653
|
: collectLocals(body ?? n, n.childForFieldName("parameters") ?? n.childForFieldName("parameter"), lang);
|
|
472
654
|
const aliasOf = new Map();
|
|
473
655
|
const bodyNormalized = roots
|
|
@@ -565,7 +747,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
565
747
|
outer: prefix ? cls : outerOf(cls),
|
|
566
748
|
exported: prefix ? false : isExported(cls),
|
|
567
749
|
extra: [],
|
|
568
|
-
decorators: decoratorsOf(cls, cls),
|
|
750
|
+
decorators: decoratorsOf(cls, cls, lang),
|
|
569
751
|
});
|
|
570
752
|
if (isType)
|
|
571
753
|
return;
|
|
@@ -594,7 +776,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
594
776
|
outer: member.parent?.type === "decorated_definition" ? member.parent : member,
|
|
595
777
|
exported: false,
|
|
596
778
|
extra: [],
|
|
597
|
-
decorators: decoratorsOf(member, member),
|
|
779
|
+
decorators: decoratorsOf(member, member, lang),
|
|
598
780
|
});
|
|
599
781
|
}
|
|
600
782
|
else if (member.type === "public_field_definition" || member.type === "field_definition") {
|
|
@@ -610,7 +792,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
610
792
|
outer: member,
|
|
611
793
|
exported: false,
|
|
612
794
|
extra: [...leadingModifiers(member), ...fn.wrappers.map((w) => `wrap:${w}`)],
|
|
613
|
-
decorators: decoratorsOf(member, member),
|
|
795
|
+
decorators: decoratorsOf(member, member, lang),
|
|
614
796
|
});
|
|
615
797
|
}
|
|
616
798
|
}
|
|
@@ -629,7 +811,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
629
811
|
outer: outerOf(node),
|
|
630
812
|
exported: lang === "python" ? false : isExported(node),
|
|
631
813
|
extra: [],
|
|
632
|
-
decorators: decoratorsOf(node, node),
|
|
814
|
+
decorators: decoratorsOf(node, node, lang),
|
|
633
815
|
});
|
|
634
816
|
}
|
|
635
817
|
else if (CLASS_LIKE.has(node.type)) {
|
|
@@ -664,7 +846,7 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
664
846
|
outer: outerOf(node),
|
|
665
847
|
exported: isExported(node),
|
|
666
848
|
extra: [
|
|
667
|
-
...(type ? [`:${canon(type).replace(/^:\s*/, "")}`] : []),
|
|
849
|
+
...(type ? [`:${canon(type, lang).replace(/^:\s*/, "")}`] : []),
|
|
668
850
|
...fn.wrappers.map((w) => `wrap:${w}`),
|
|
669
851
|
],
|
|
670
852
|
decorators: [],
|
|
@@ -693,13 +875,15 @@ export function extractFileSymbolsV2(root, lang, normalizeLocals) {
|
|
|
693
875
|
}
|
|
694
876
|
return { bySymbolPath, fileExports };
|
|
695
877
|
}
|
|
696
|
-
/** Whole-file `body` and `deps` for a file-only anchor, read the version-2 way. */
|
|
697
|
-
export function computeWholeFileTiersV2(root, lang, normalizeLocals) {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
878
|
+
/** Whole-file `body` and `deps` for a file-only anchor, read the version-2 (or 3) way. */
|
|
879
|
+
export function computeWholeFileTiersV2(root, lang, normalizeLocals, version = 2) {
|
|
880
|
+
return withVersion(version, () => {
|
|
881
|
+
const importedNames = collectImportedNames(root, lang);
|
|
882
|
+
const locals = collectLocals(root, null, lang, true);
|
|
883
|
+
return {
|
|
884
|
+
bodyNormalized: serializeBody(root, locals, normalizeLocals, lang, new Map()),
|
|
885
|
+
deps: collectDeps([root], lang, importedNames, locals),
|
|
886
|
+
};
|
|
887
|
+
});
|
|
704
888
|
}
|
|
705
889
|
//# sourceMappingURL=extract-v2.js.map
|
package/dist/extract-v2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-v2.js","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract-v2.js","sourceRoot":"","sources":["../src/extract-v2.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,SAAS,WAAW,CAAI,OAAe,EAAE,GAAY;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;YAAS,CAAC;QACT,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CACnC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAU,EAAE,IAAY,EAAE,KAA0B;IACzE,oEAAoE;IACpE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE;QACzB,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAChD,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;YACzB,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,uGAAuG;aAClG,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,kGAAkG;aAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;;YAC3D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,uGAAuG;AACvG,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,kGAAkG;IAClG,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7D,4FAA4F;AAC5F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,yFAAyF;AACzF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,oBAAoB;IACpB,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,mBAAmB;IACnB,2BAA2B;CAC5B,CAAC,CAAC;AAEH,0EAA0E;AAC1E,SAAS,WAAW,CAAC,IAAU,EAAE,IAAY;IAC3C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,yFAAyF;AACzF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;AACpG,uEAAuE;AACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAC5B,CAAC,eAAe,EAAE,cAAc,CAAC;CAClC,CAAC,CAAC;AAEH,8FAA8F;AAC9F,SAAS,kBAAkB,CAAC,IAAU;IACpC,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAS,CAAC;IAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACjF,OAAO,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY;QAC7F,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,KAAK,CAAC,IAAU,EAAE,IAAa;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,WAAW;QAClC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,qFAAqF;QACvF,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YACxB,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,yGAAyG;IACzG,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,GAAG,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,gBAAgB;IAChB,qBAAqB;IACrB,UAAU;IACV,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAgC;IACjD,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,GAAG,EAAE,IAAI,GAAG,CAAC;QACX,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;CACnD,CAAC;AACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,mBAAmB;IACnB,4BAA4B;IAC5B,OAAO;IACP,uBAAuB;IACvB,kBAAkB;CACnB,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzD,SAAS,aAAa,CAAC,IAAU,EAAE,KAAkB;IACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;QAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;QACvC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI;gBAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,+GAA+G;AAC/G,SAAS,UAAU,CAAC,IAAU;IAC5B,KAAK,IAAI,CAAC,GAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5E,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC/C,IACE,CAAC;YACC,qBAAqB;YACrB,sBAAsB;YACtB,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,WAAW;SACZ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAElB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kJAAkJ;AAClJ,SAAS,YAAY,CAAC,GAAS,EAAE,MAAY,EAAE,IAAY;IACzD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,IAAI,MAAM,EAAE,IAAI,KAAK,kBAAkB;QAChF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa;YAAE,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9F,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa;QAAE,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzF,gFAAgF;IAChF,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY;QAC/B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe;YACjF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mHAAmH;AACnH,SAAS,gBAAgB,CAAC,IAAiB;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;YAAE,MAAM;QAC3D,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QAClD,mGAAmG;QACnG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,MAAM;QAC1F,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IACE;YACE,UAAU;YACV,KAAK;YACL,OAAO;YACP,WAAW;YACX,MAAM;YACN,MAAM;YACN,GAAG;YACH,OAAO;YACP,KAAK;YACL,KAAK;SACN,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEb,SAAS;QACX,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,SAAS,KAAK,CAAC,GAAQ,EAAE,IAAY,EAAE,IAAY;IACjD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,GAAG,CAAC,KAAK;QACZ,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,GAAG,gBAAgB,CAAC,CAAC,CAAC;KACvB,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;aACzB,MAAM,CACL,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CACvF;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,GACZ,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC;QAC1E,OAAO,SAAS,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,oGAAoG;AACpG,wBAAwB;AAExB,+GAA+G;AAC/G,SAAS,YAAY,CAAC,OAAoB,EAAE,GAAgB;IAC1D,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,uCAAuC;QAAE,OAAO,CAAC,yBAAyB;IAC/F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;aAC1E,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB;YAAE,SAAS;;YAC/C,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB,EAAE,IAAY,EAAE,GAAgB;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,KAAK,YAAY;gBACrB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBAC5B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,CAAC;oBACrD,IAAI,CAAC,CAAC;YACZ,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC9E,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC3C,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAa,EACb,WAAwB,EACxB,IAAY,EACZ,QAAQ,GAAG,KAAK;IAEhB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,IAAI,WAAW,CAAC;IACxC,kGAAkG;IAClG,MAAM,IAAI,GAAG,CAAC,IAAiB,EAAE,OAAoB,EAAE,EAAE;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,OAAO;YACT,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;gBAC9D,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACR,CAAC;QACL,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAC3E,UAAU,CAAC,EAAE,EAAE,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;YAC/E,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,yDAAyD;QACzD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC;YAC1D,YAAY,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,IAAI,EAAE;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC7D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAChE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,MAAM;gBAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC7D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,oGAAoG;IACpG,KAAK,MAAM,IAAI,IAAI,GAAG;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uFAAuF;AACvF,SAAS,iBAAiB,CAAC,IAAU,EAAE,IAAY;IACjD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE;YACtF,OAAO,KAAK,CAAC;QACf,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE;YACxF,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CACpB,IAAU,EACV,MAAmB,EACnB,eAAwB,EACxB,IAAY,EACZ,OAA4B;IAE5B,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC5B,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,2FAA2F;IAC3F,gDAAgD;IAChD,IAAI,QAAQ,KAAK,0BAA0B,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;YACzB,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,WAAW,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,uBAAuB,GAAG,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CACzD,CAAC;QACF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,UAAU,OAAO,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC5C,OAAO,GAAG,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC9E,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;YAAE,OAAO,EAAE,CAAC;QACpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAAE,SAAS;QACnF,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;IACtF,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,qEAAqE;AACrE,SAAS,gBAAgB,CAAC,IAAU,EAAE,IAAY;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAa,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,KAAK,GACT,KAAK,EAAE,IAAI,KAAK,sBAAsB;QACtC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAChC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;IAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,CAAO,EAAE,MAAmB,EAAE,IAAY;IAC5D,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,YAAY;YACf,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,mBAAmB,CAAC;QACzB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;QACpF,CAAC;QACD,KAAK,iBAAiB,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACxD,CAAC;QACD,KAAK,sBAAsB,CAAC;QAC5B,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChF,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChE,CAAC;QACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,CAAC;QACD;YACE,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,KAAa,EACb,IAAY,EACZ,aAA0B,EAC1B,MAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IACvF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;SACrC,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,EAAE,iBAAiB,CACpC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAC5D,CAAC;YACF,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,EAAE,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC;SAC1C;YACC,IAAI,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;QAC/C,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE;gBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;IACD,0EAA0E;IAC1E,IAAI,IAAI,KAAK,QAAQ;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5C,IACE,KAAK,EAAE,IAAI,KAAK,iBAAiB;gBACjC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,KAAK,SAAS;gBAEvD,YAAY,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oGAAoG;AACpG,eAAe;AAEf,uGAAuG;AACvG,SAAS,eAAe,CAAC,KAAW,EAAE,KAAK,GAAG,CAAC;IAC7C,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACxE,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,SAAS,YAAY,CAAC,IAAU;IAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAU,EACV,IAAY,EACZ,eAAwB,EACxB,OAAO,GAAG,CAAC;IAEX,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,IAAY,EAAE,eAAwB;IACxE,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IACvD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAC7B,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE9E,SAAS,GAAG,CAAC,GAAQ;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChF,gGAAgG;QAChG,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,EAAE,IAAI,KAAK,iBAAiB,CAAC;QAC3E,MAAM,KAAK,GAAG,CAAC,IAAI;YACjB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO;gBAC/B,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;gBAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,MAAM,GACV,GAAG,CAAC,IAAI,KAAK,OAAO;YAClB,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC5C,CAAC,CAAC,aAAa,CACX,IAAI,IAAI,CAAC,EACT,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACrE,IAAI,CACL,CAAC;QACR,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,cAAc,GAAG,KAAK;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aACpE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC7D,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,wFAAwF;YACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;gBACzB,GAAG,QAAQ;gBACX,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;gBACnD,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE;gBAC5E,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;gBACrD,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;gBACvD,cAAc,EAAE,GAAG,QAAQ,CAAC,cAAc,KAAK,cAAc,EAAE;gBAC/D,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;aAC5C,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;YACzB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI;YACJ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;YACvB,MAAM;YACN,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;YAC1B,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;YAC1B,cAAc;YACd,IAAI;SACL,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,IAAY,EAAE,EAAE;QAC3C,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC,CAAC;IACF,mFAAmF;IACnF,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,OACE,CAAC,CAAC,MAAM;YACR;gBACE,sBAAsB;gBACtB,kBAAkB;gBAClB,qBAAqB;gBACrB,qBAAqB;gBACrB,sBAAsB;gBACtB,qBAAqB;gBACrB,uBAAuB;gBACvB,sBAAsB;gBACtB,iBAAiB;gBACjB,WAAW;aACZ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAEzB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,8FAA8F;IAC9F,MAAM,OAAO,GACX,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACzB,CAAC,CAAC,CAAC,sBAAsB,EAAE,gCAAgC,EAAE,oBAAoB,CAAC,CAAC;IACvF,oGAAoG;IACpG,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO;QACV,GAAG,CAAC,IAAI,KAAK,QAAQ;YACnB,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACtB,CAAC,CAAC;gBACE,mBAAmB;gBACnB,4BAA4B;gBAC5B,uBAAuB;gBACvB,wBAAwB;gBACxB,kBAAkB;gBAClB,qBAAqB;gBACrB,uBAAuB;aACxB,CAAC;KACP,CAAC;IAEF,SAAS,UAAU,CAAC,GAAS,EAAE,MAAqB;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,uBAAuB,CAAC;QACpD,GAAG,CAAC;YACF,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC/B,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1C,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;SACzC,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBACnC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC;YACZ,IACE,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAC9E,MAAM,CAAC,IAAI,CACZ,EACD,CAAC;gBACD,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IACE,MAAM,CAAC,IAAI,KAAK,mBAAmB;gBACnC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBAClC,MAAM,CAAC,IAAI,KAAK,2BAA2B;gBAC3C,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,EAC5D,CAAC;gBACD,GAAG,CAAC;oBACF,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC9E,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,EAAE;oBACT,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;iBAC/C,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,yBAAyB,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC3F,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjD,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,GAAG,CAAC;oBACF,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,EAAE,CAAC,EAAE;oBACX,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC5E,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,GAAG,CAAC;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAClC,IAAI,EAAE,UAAU;gBAChB,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;gBACpB,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtD,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtF,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,GAAG,CAAC;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAClC,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;gBACpB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC/C,8FAA8F;YAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,IAAI,KAAK,YAAY;gBAAE,SAAS;YACxD,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,GAAG,CAAC;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAClC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,EAAE,CAAC,EAAE;gBACX,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;gBACpB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE;oBACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACvC;gBACD,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACjD,oFAAoF;YACpF,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,sBAAsB;gBAAE,SAAS;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBAAE,SAAS;YAC7B,GAAG,CAAC;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBACvD,IAAI,EAAE,EAAE,CAAC,EAAE;gBACX,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;gBACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CACrC,IAAU,EACV,IAAY,EACZ,eAAwB,EACxB,OAAO,GAAG,CAAC;IAEX,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE;QAC/B,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO;YACL,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;YAC7E,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC;SACvD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/extract.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import type { FileSymbols } from "./types.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* How fingerprints are computed. Anchors record the version they were stamped with, and `check`
|
|
6
6
|
* compares each one under its own version, so changing the extractor never makes an existing anchor
|
|
7
|
-
* look drifted. Version 1 is this file;
|
|
7
|
+
* look drifted. Version 1 is this file; versions 2 and 3 are extract-v2.ts.
|
|
8
8
|
*/
|
|
9
|
-
export declare const FINGERPRINT_VERSION =
|
|
9
|
+
export declare const FINGERPRINT_VERSION = 3;
|
|
10
10
|
/**
|
|
11
11
|
* Walks a parsed file and resolves every top-level function/class, and every method inside
|
|
12
12
|
* each class, into a dotted symbol path ("createSession", "AuthConfig.refresh") with its
|
package/dist/extract.js
CHANGED
|
@@ -3,9 +3,9 @@ import { fingerprintSet } from "./hash.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* How fingerprints are computed. Anchors record the version they were stamped with, and `check`
|
|
5
5
|
* compares each one under its own version, so changing the extractor never makes an existing anchor
|
|
6
|
-
* look drifted. Version 1 is this file;
|
|
6
|
+
* look drifted. Version 1 is this file; versions 2 and 3 are extract-v2.ts.
|
|
7
7
|
*/
|
|
8
|
-
export const FINGERPRINT_VERSION =
|
|
8
|
+
export const FINGERPRINT_VERSION = 3;
|
|
9
9
|
const IDENTIFIER_TYPES = new Set([
|
|
10
10
|
"identifier",
|
|
11
11
|
"property_identifier",
|
|
@@ -293,7 +293,7 @@ function collectDeps(subtree, lang, importedNames) {
|
|
|
293
293
|
*/
|
|
294
294
|
export function extractFileSymbols(root, lang, normalizeLocals, version = FINGERPRINT_VERSION) {
|
|
295
295
|
if (version >= 2)
|
|
296
|
-
return extractFileSymbolsV2(root, lang, normalizeLocals);
|
|
296
|
+
return extractFileSymbolsV2(root, lang, normalizeLocals, version);
|
|
297
297
|
const decl = DECLARATION_TYPES[lang];
|
|
298
298
|
const importedNames = collectImportedNames(root, lang);
|
|
299
299
|
const bySymbolPath = new Map();
|
|
@@ -413,7 +413,7 @@ export function fileExportsFingerprint(symbols) {
|
|
|
413
413
|
/** Whole-file tiers for a file-only anchor (no `#Symbol`): same normalization pipeline, applied to the root node. */
|
|
414
414
|
export function computeWholeFileTiers(root, lang, normalizeLocals, version = FINGERPRINT_VERSION) {
|
|
415
415
|
if (version >= 2)
|
|
416
|
-
return computeWholeFileTiersV2(root, lang, normalizeLocals);
|
|
416
|
+
return computeWholeFileTiersV2(root, lang, normalizeLocals, version);
|
|
417
417
|
const importedNames = collectImportedNames(root, lang);
|
|
418
418
|
const locals = collectLocalDeclared(root, [], lang);
|
|
419
419
|
return {
|
package/dist/extract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,YAAY;IACZ,qBAAqB;IACrB,+BAA+B;IAC/B,iBAAiB;CAClB,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE3C,MAAM,iBAAiB,GAGnB;IACF,UAAU,EAAE;QACV,EAAE,EAAE,CAAC,sBAAsB,CAAC;QAC5B,GAAG,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;QACnD,MAAM,EAAE,CAAC,mBAAmB,CAAC;QAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD,GAAG,EAAE;QACH,EAAE,EAAE,CAAC,sBAAsB,CAAC;QAC5B,GAAG,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;QACnD,MAAM,EAAE,CAAC,mBAAmB,CAAC;QAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD,UAAU,EAAE;QACV,EAAE,EAAE,CAAC,sBAAsB,CAAC;QAC5B,GAAG,EAAE,CAAC,mBAAmB,CAAC;QAC1B,MAAM,EAAE,CAAC,mBAAmB,CAAC;QAC7B,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAC9B;IACD,MAAM,EAAE;QACN,EAAE,EAAE,CAAC,qBAAqB,CAAC;QAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC;QACzB,MAAM,EAAE,CAAC,qBAAqB,CAAC;QAC/B,OAAO,EAAE,CAAC,sBAAsB,CAAC;KAClC;CACF,CAAC;AAEF,0HAA0H;AAC1H,SAAS,UAAU,CAAC,IAAU,EAAE,YAAsB;IACpD,IAAI,CAAC,GAAgB,IAAI,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC/C,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;QAC/C,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAa,EAAE,UAAoB,EAAE,IAAY;IAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+HAA+H;AAC/H,SAAS,aAAa,CACpB,IAAU,EACV,MAAmB,EACnB,eAAwB,EACxB,OAA4B;IAE5B,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC,CAAC,WAAW;IACxC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,eAAe,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBACD,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7C,CAAC;AASD,SAAS,eAAe,CAAC,MAAmB;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI;gBAC7B,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI;gBAC3C,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB;gBACpF,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBACnC,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAmB;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,YAAY;gBACf,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,MAAM;YACR,KAAK,iBAAiB;gBACpB,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI;oBAClC,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1F,MAAM;YACR,CAAC;YACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzF,MAAM;YACR,CAAC;YACD,KAAK,oBAAoB;gBACvB,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/B,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,0BAA0B;gBAC7B,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBACjC,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sGAAsG;AACtG,MAAM,aAAa,GAAgC;IACjD,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,GAAG,EAAE,IAAI,GAAG,CAAC;QACX,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,UAAU;QACV,gCAAgC;QAChC,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;CACnD,CAAC;AACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,mBAAmB;IACnB,OAAO;IACP,uBAAuB;IACvB,kBAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,IAAU,EAAE,KAAkB;IACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM;QAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8GAA8G;AAC9G,SAAS,QAAQ,CAAC,IAAU,EAAE,IAAY;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,SAAS;QAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,IAAY,EAAE,IAAY,EAAE,QAAiB;IAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM;SACpB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7F;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,QAAQ;QAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,IACE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAEhE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,MAAM,IAAI,IAAI,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACvG,CAAC;AAED,SAAS,YAAY,CAAC,MAAY;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAAa,EAAE,IAAY,EAAE,aAA0B;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GACV,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9F,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAU,EACV,IAAY,EACZ,eAAwB,EACxB,UAAkB,mBAAmB;IAErC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IACvD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,SAAS,eAAe,CAAC,IAAU;QACjC,OAAO,IAAI,CAAC,IAAI,KAAK,sBAAsB;YACzC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,qGAAqG;IACrG,SAAS,eAAe,CAAC,IAAU;QACjC,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,CAAC;gBAAE,MAAM;YACd,IACE,CAAC,CAAC,IAAI,KAAK,sBAAsB;gBACjC,CAAC,CAAC,IAAI,KAAK,kBAAkB;gBAC7B,CAAC,CAAC,IAAI,KAAK,qBAAqB;gBAChC,CAAC,CAAC,IAAI,KAAK,qBAAqB;gBAChC,CAAC,CAAC,IAAI,KAAK,sBAAsB;gBAEjC,CAAC,GAAG,CAAC,CAAC;;gBACH,MAAM;QACb,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,SAAS,CAAC,UAAkB,EAAE,IAAY,EAAE,OAAa,EAAE,QAAiB;QACnF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,UAAU,CAAC;QACf,MAAM,SAAS,GACb,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,SAAS,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG;YAC/C,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,oBAAoB,CACjC,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACzB,IAAI,CACL,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,MAAM,GAAmB;YAC7B,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC;YACpC,cAAc;YACd,IAAI;SACL,CAAC;QACF,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,0CAA0C;IAC1C,MAAM,OAAO,GAAG,CAAC,IAAU,EAAE,EAAE,CAC7B,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE9E,2FAA2F;IAC3F,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,8GAA8G;IAC9G,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,OAAO,CAAC,UAAU,CAAC;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAAE,SAAS;YACpE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB;gBAAE,SAAS;YACtF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,6CAA6C;YACpF,SAAS,CACP,QAAQ,CAAC,IAAI,EACb,UAAU,EACV,KAAK,EACL,UAAU,CAAC,WAAW,IAAI,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iGAAiG;IACjG,MAAM,WAAW,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACxF,SAAS,UAAU,CAAC,OAAa,EAAE,MAAqB;QACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,KAAK;gBAAE,SAAS,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,OAAO,cAAc,CACnB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,qBAAqB,CACnC,IAAU,EACV,IAAY,EACZ,eAAwB,EACxB,UAAkB,mBAAmB;IAErC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO;QACL,cAAc,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lockwire",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"description": "Bind documentation claims to code fingerprints. Catch stale CLAUDE.md, AGENTS.md and docs at write time inside Claude Code and Codex, with a tamper-evident history.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|