@cortexkit/aft-bridge 0.58.2 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/bash-format.d.ts.map +1 -1
  2. package/dist/bash-format.js +5 -0
  3. package/dist/bash-format.js.map +1 -1
  4. package/dist/bash-hints.d.ts +76 -30
  5. package/dist/bash-hints.d.ts.map +1 -1
  6. package/dist/bash-hints.js +218 -47
  7. package/dist/bash-hints.js.map +1 -1
  8. package/dist/bash-host-fallback.d.ts +27 -0
  9. package/dist/bash-host-fallback.d.ts.map +1 -1
  10. package/dist/bash-host-fallback.js +55 -16
  11. package/dist/bash-host-fallback.js.map +1 -1
  12. package/dist/binary-identity.d.ts +13 -0
  13. package/dist/binary-identity.d.ts.map +1 -1
  14. package/dist/binary-identity.js +91 -2
  15. package/dist/binary-identity.js.map +1 -1
  16. package/dist/bridge.d.ts +12 -3
  17. package/dist/bridge.d.ts.map +1 -1
  18. package/dist/bridge.js +80 -38
  19. package/dist/bridge.js.map +1 -1
  20. package/dist/callgraph-format.d.ts.map +1 -1
  21. package/dist/callgraph-format.js +7 -7
  22. package/dist/callgraph-format.js.map +1 -1
  23. package/dist/child-process.d.ts.map +1 -1
  24. package/dist/child-process.js +10 -1
  25. package/dist/child-process.js.map +1 -1
  26. package/dist/config-error.d.ts +2 -2
  27. package/dist/config-error.js +2 -2
  28. package/dist/config-watch.d.ts +2 -0
  29. package/dist/config-watch.d.ts.map +1 -1
  30. package/dist/config-watch.js +35 -0
  31. package/dist/config-watch.js.map +1 -1
  32. package/dist/durable-log.d.ts +11 -0
  33. package/dist/durable-log.d.ts.map +1 -1
  34. package/dist/durable-log.js +67 -24
  35. package/dist/durable-log.js.map +1 -1
  36. package/dist/error-contract.d.ts +14 -5
  37. package/dist/error-contract.d.ts.map +1 -1
  38. package/dist/error-contract.js +42 -9
  39. package/dist/error-contract.js.map +1 -1
  40. package/dist/feature-config.d.ts +35 -18
  41. package/dist/feature-config.d.ts.map +1 -1
  42. package/dist/feature-config.js +161 -94
  43. package/dist/feature-config.js.map +1 -1
  44. package/dist/index.d.ts +8 -7
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +8 -7
  47. package/dist/index.js.map +1 -1
  48. package/dist/location-lifecycle.d.ts.map +1 -1
  49. package/dist/location-lifecycle.js +4 -2
  50. package/dist/location-lifecycle.js.map +1 -1
  51. package/dist/message-detach.d.ts +8 -0
  52. package/dist/message-detach.d.ts.map +1 -1
  53. package/dist/message-detach.js +32 -0
  54. package/dist/message-detach.js.map +1 -1
  55. package/dist/migration-notices.d.ts.map +1 -1
  56. package/dist/migration-notices.js +12 -5
  57. package/dist/migration-notices.js.map +1 -1
  58. package/dist/migration.d.ts +1 -0
  59. package/dist/migration.d.ts.map +1 -1
  60. package/dist/migration.js +39 -12
  61. package/dist/migration.js.map +1 -1
  62. package/dist/onnx-runtime.d.ts.map +1 -1
  63. package/dist/onnx-runtime.js +37 -32
  64. package/dist/onnx-runtime.js.map +1 -1
  65. package/dist/path-display.d.ts +5 -0
  66. package/dist/path-display.d.ts.map +1 -0
  67. package/dist/path-display.js +21 -0
  68. package/dist/path-display.js.map +1 -0
  69. package/dist/paths.d.ts.map +1 -1
  70. package/dist/paths.js +7 -6
  71. package/dist/paths.js.map +1 -1
  72. package/dist/private-storage.d.ts +9 -0
  73. package/dist/private-storage.d.ts.map +1 -0
  74. package/dist/private-storage.js +75 -0
  75. package/dist/private-storage.js.map +1 -0
  76. package/dist/protocol.d.ts +4 -0
  77. package/dist/protocol.d.ts.map +1 -1
  78. package/dist/revivable-transport.d.ts +4 -2
  79. package/dist/revivable-transport.d.ts.map +1 -1
  80. package/dist/revivable-transport.js +48 -19
  81. package/dist/revivable-transport.js.map +1 -1
  82. package/dist/storage-paths.d.ts +3 -4
  83. package/dist/storage-paths.d.ts.map +1 -1
  84. package/dist/storage-paths.js +4 -5
  85. package/dist/storage-paths.js.map +1 -1
  86. package/dist/subc-transport.d.ts +61 -3
  87. package/dist/subc-transport.d.ts.map +1 -1
  88. package/dist/subc-transport.js +383 -43
  89. package/dist/subc-transport.js.map +1 -1
  90. package/dist/tar-executable.d.ts +1 -1
  91. package/dist/tar-executable.d.ts.map +1 -1
  92. package/dist/tar-executable.js +16 -2
  93. package/dist/tar-executable.js.map +1 -1
  94. package/dist/test-child-environment.d.ts +8 -0
  95. package/dist/test-child-environment.d.ts.map +1 -0
  96. package/dist/test-child-environment.js +105 -0
  97. package/dist/test-child-environment.js.map +1 -0
  98. package/dist/transport.d.ts +14 -0
  99. package/dist/transport.d.ts.map +1 -1
  100. package/dist/transport.js +17 -0
  101. package/dist/transport.js.map +1 -1
  102. package/dist/zoom-format.d.ts +1 -0
  103. package/dist/zoom-format.d.ts.map +1 -1
  104. package/dist/zoom-format.js +5 -1
  105. package/dist/zoom-format.js.map +1 -1
  106. package/package.json +2 -2
@@ -2,8 +2,9 @@
2
2
  * Feature-based configuration policy shared by the OpenCode and Pi plugins.
3
3
  *
4
4
  * Mirrors `crates/aft/src/feature_config.rs`: the literal tool inventory, the
5
- * one-release migration policy for retired keys, the per-block translation of
6
- * those keys into canonical `disabled_tools` / `indexes` / `github` leaves,
5
+ * table of retired keys, the per-block translation of those keys into
6
+ * canonical `disabled_tools` / `indexes` / `github` / `lsp` leaves (retired
7
+ * keys are never refused),
7
8
  * validation of a resolved configuration, and the migration-notice projection
8
9
  * digest. The config parity fixtures and the shared notice-projection fixture
9
10
  * (`crates/aft/tests/fixtures/feature_config/notice_projection.json`) keep the
@@ -16,14 +17,13 @@ export type CanonicalTool = (typeof CANONICAL_TOOLS)[number];
16
17
  export declare const HOST_TOOL_NAMES: readonly ["apply_patch", "bash", "edit", "glob", "grep", "read", "write"];
17
18
  /** Disables applied when the user base makes no registration choice. */
18
19
  export declare const DEFAULT_DISABLED_TOOLS: readonly ["aft_delete", "aft_move"];
19
- /** Historical prefixed tool names accepted in disabled lists during the window. */
20
+ /** Historical prefixed tool names that disabled lists may still contain. */
20
21
  export declare const LEGACY_TOOL_ALIASES: Readonly<Record<string, string>>;
21
22
  /** Names the historical bash registration gate removed (canonical names). */
22
23
  export declare const BASH_GATE_DISABLES: readonly ["bash", "bash_kill", "bash_status", "bash_watch", "bash_write"];
23
24
  export declare const MIGRATION_POLICY_ID = "feature-config-v1";
24
25
  export declare const POLICY_INTRODUCED_MINOR: readonly [number, number];
25
- export declare const POLICY_REJECT_FROM_MINOR: readonly [number, number];
26
- /** Retired config paths and the replacement named in their rejection. */
26
+ /** Retired config paths and their replacement. */
27
27
  export declare const RETIRED_PATHS: ReadonlyArray<readonly [string, string]>;
28
28
  /** Index leaf, immediate legacy key and optional experimental alias. */
29
29
  export declare const INDEX_INPUTS: ReadonlyArray<readonly [string, string, string | undefined]>;
@@ -38,26 +38,27 @@ export declare function isKnownTool(name: string): boolean;
38
38
  export declare function isProjectProtectedTool(name: string): boolean;
39
39
  /** Literal disabled set a legacy `tool_surface` value translates to. */
40
40
  export declare function surfaceDisables(surface: unknown): string[] | undefined;
41
- export type PolicyPhase = "window" | "rejecting";
42
- /** Policy phase for a package version (major/minor only; patch ignored). */
43
- export declare function policyPhaseForVersion(version: string): PolicyPhase;
44
41
  export interface TranslationWarning {
45
42
  code: string;
46
43
  key: string;
47
44
  message: string;
48
45
  /**
49
46
  * Deliver through the once-per-identity migration notice channel instead of
50
- * warning on every load. Set for notes about files that are already fixed
51
- * and only keep a retained runtime gate, which would otherwise repeat forever.
47
+ * warning on every load. Set for notes about files that are already fixed,
48
+ * which would otherwise repeat forever.
52
49
  */
53
50
  once?: boolean;
54
51
  }
55
52
  export interface DocumentTranslation {
56
- /** Rejection diagnostics; any entry aborts the whole candidate load. */
57
- errors: string[];
58
53
  warnings: TranslationWarning[];
59
54
  /** True when a retired key or alias was supplied (a migration notice applies). */
60
55
  legacyInput: boolean;
56
+ /**
57
+ * Every retired key the document supplied, sorted and de-duplicated. A key
58
+ * inside a harness block carries its `harnesses.<id>.` prefix; a prefixed
59
+ * tool name inside `disabled_tools` is listed by that name.
60
+ */
61
+ retiredKeys: string[];
61
62
  /**
62
63
  * True when some block set the retired top-level `enabled: false`. It is
63
64
  * translated into a disabled_tools list only, so indexes keep building;
@@ -67,16 +68,28 @@ export interface DocumentTranslation {
67
68
  }
68
69
  type JsonRecord = Record<string, unknown>;
69
70
  export declare function sortedUnique(names: Iterable<string>): string[];
71
+ /** `lsp.idle_minutes` default and range; mirrors `crates/aft/src/config.rs`. */
72
+ export declare const LSP_IDLE_MINUTES_DEFAULT = 60;
73
+ export declare const LSP_IDLE_MINUTES_MIN = 5;
74
+ export declare const LSP_IDLE_MINUTES_MAX = 1440;
70
75
  /**
71
76
  * What a retired `enabled: false` no longer does. The translation only hides
72
77
  * tools; it never stops indexing, so a user who relied on it to keep AFT out
73
78
  * of a repository must also switch the indexes off.
74
79
  */
75
80
  export declare const RETIRED_ENABLED_FALSE_INDEXES_NOTE = "enabled: false no longer turns AFT off: it is translated to disabling every tool, but the trigram, semantic and callgraph indexes still build. To keep AFT from indexing this repository, also set indexes.trigram, indexes.semantic and indexes.callgraph to false.";
76
- /** The once-per-identity migration notice for a config file that used retired keys. */
77
- export declare function legacyConfigNoticeMessage(configPath: string, translation: Pick<DocumentTranslation, "retiredEnabledFalse">): string;
78
81
  /**
79
- * Translate or reject every block (base plus each `harnesses.<id>`) in place.
82
+ * The once-per-identity notice for a project config file whose retired keys
83
+ * were translated in memory. The file itself is never written: it is shared
84
+ * through its repository. Mirrors `project_retired_keys_notice` in
85
+ * `crates/aft/src/feature_config.rs`.
86
+ */
87
+ export declare function legacyConfigNoticeMessage(configPath: string, translation: Pick<DocumentTranslation, "retiredEnabledFalse" | "retiredKeys">): string;
88
+ /**
89
+ * Translate every block (base plus each `harnesses.<id>`) in place. Retired
90
+ * keys are never refused: their current equivalents then pass through the
91
+ * normal user/project trust rules, exactly as if the file had spelled them
92
+ * out.
80
93
  *
81
94
  * Only the user file's base block receives the absent-base default
82
95
  * (`aft_move`/`aft_delete`) when its legacy keys generate disables: that
@@ -84,7 +97,7 @@ export declare function legacyConfigNoticeMessage(configPath: string, translatio
84
97
  * contributes only the names its own legacy keys imply, so a legacy key in a
85
98
  * repository can never re-disable tools the user enabled.
86
99
  */
87
- export declare function translateConfigDocument(map: JsonRecord, phase: PolicyPhase, tier: "user" | "project"): DocumentTranslation;
100
+ export declare function translateConfigDocument(map: JsonRecord, tier: "user" | "project"): DocumentTranslation;
88
101
  /** Distinct unknown names in a resolved disabled list, sorted. */
89
102
  export declare function unknownDisabledTools(disabled: readonly string[]): string[];
90
103
  /**
@@ -109,7 +122,7 @@ export declare function noticeDigest(projection: unknown): string;
109
122
  * are spelled as `npx @cortexkit/aft …`: users reach this notice through the
110
123
  * plugin, with no `aft` command on their PATH.
111
124
  */
112
- export declare const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic; if legacy configuration is rejected, run npx @cortexkit/aft doctor --fix first.";
125
+ export declare const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic.";
113
126
  /**
114
127
  * Identity of the semantic cost notice. It is a constant rather than a digest
115
128
  * of the config file, so the notice is delivered once per user config path and
@@ -158,7 +171,11 @@ export interface ResolvedIndexesConfig {
158
171
  callgraph: boolean;
159
172
  }
160
173
  export declare const DEFAULT_INDEXES: ResolvedIndexesConfig;
161
- /** Whole-load rejection: the candidate config must not be used at all. */
174
+ /**
175
+ * Whole-load rejection: the candidate config must not be used at all. Raised
176
+ * when a resolved configuration lacks its registration list or an index
177
+ * switch; retired keys are translated and never raise it.
178
+ */
162
179
  export declare class ConfigRejectedError extends Error {
163
180
  readonly errors: string[];
164
181
  constructor(errors: string[], source?: string);
@@ -1 +1 @@
1
- {"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@
2
2
  * Feature-based configuration policy shared by the OpenCode and Pi plugins.
3
3
  *
4
4
  * Mirrors `crates/aft/src/feature_config.rs`: the literal tool inventory, the
5
- * one-release migration policy for retired keys, the per-block translation of
6
- * those keys into canonical `disabled_tools` / `indexes` / `github` leaves,
5
+ * table of retired keys, the per-block translation of those keys into
6
+ * canonical `disabled_tools` / `indexes` / `github` / `lsp` leaves (retired
7
+ * keys are never refused),
7
8
  * validation of a resolved configuration, and the migration-notice projection
8
9
  * digest. The config parity fixtures and the shared notice-projection fixture
9
10
  * (`crates/aft/tests/fixtures/feature_config/notice_projection.json`) keep the
@@ -48,7 +49,7 @@ export const HOST_TOOL_NAMES = [
48
49
  ];
49
50
  /** Disables applied when the user base makes no registration choice. */
50
51
  export const DEFAULT_DISABLED_TOOLS = ["aft_delete", "aft_move"];
51
- /** Historical prefixed tool names accepted in disabled lists during the window. */
52
+ /** Historical prefixed tool names that disabled lists may still contain. */
52
53
  export const LEGACY_TOOL_ALIASES = {
53
54
  aft_read: "read",
54
55
  aft_write: "write",
@@ -68,8 +69,7 @@ export const BASH_GATE_DISABLES = [
68
69
  ];
69
70
  export const MIGRATION_POLICY_ID = "feature-config-v1";
70
71
  export const POLICY_INTRODUCED_MINOR = [0, 58];
71
- export const POLICY_REJECT_FROM_MINOR = [0, 59];
72
- /** Retired config paths and the replacement named in their rejection. */
72
+ /** Retired config paths and their replacement. */
73
73
  export const RETIRED_PATHS = [
74
74
  ["tool_surface", "disabled_tools"],
75
75
  ["hoist_builtin_tools", "disabled_tools"],
@@ -118,29 +118,9 @@ export function surfaceDisables(surface) {
118
118
  return undefined;
119
119
  }
120
120
  }
121
- function parseMinor(version) {
122
- const match = /^v?(\d+)\.(\d+)/.exec(version.trim());
123
- if (!match)
124
- return undefined;
125
- return [Number(match[1]), Number(match[2])];
126
- }
127
- /** Policy phase for a package version (major/minor only; patch ignored). */
128
- export function policyPhaseForVersion(version) {
129
- const minor = parseMinor(version);
130
- if (!minor)
131
- return "window";
132
- const [major, min] = minor;
133
- const [rejectMajor, rejectMinor] = POLICY_REJECT_FROM_MINOR;
134
- return major > rejectMajor || (major === rejectMajor && min >= rejectMinor)
135
- ? "rejecting"
136
- : "window";
137
- }
138
121
  function isRecord(value) {
139
122
  return typeof value === "object" && value !== null && !Array.isArray(value);
140
123
  }
141
- function removed(old, replacement) {
142
- return `removed_config_key:${old}:use:${replacement}`;
143
- }
144
124
  function hasPath(map, path) {
145
125
  const dot = path.indexOf(".");
146
126
  if (dot < 0)
@@ -163,15 +143,127 @@ function falseRuntimeGates(map) {
163
143
  export function sortedUnique(names) {
164
144
  return [...new Set(names)].sort();
165
145
  }
146
+ /** `lsp.idle_minutes` default and range; mirrors `crates/aft/src/config.rs`. */
147
+ export const LSP_IDLE_MINUTES_DEFAULT = 60;
148
+ export const LSP_IDLE_MINUTES_MIN = 5;
149
+ export const LSP_IDLE_MINUTES_MAX = 1440;
150
+ function recordRetired(out, prefix, key) {
151
+ out.legacyInput = true;
152
+ out.retiredKeys.push(`${prefix}${key}`);
153
+ }
154
+ function superseded(out, key, message) {
155
+ out.warnings.push({ code: "superseded_legacy_config", key, message });
156
+ }
157
+ function nestedBool(map, container, leaf) {
158
+ const inner = map[container];
159
+ return isRecord(inner) && typeof inner[leaf] === "boolean" ? inner[leaf] : undefined;
160
+ }
161
+ /**
162
+ * Translate the GitHub enable aliases (`gh_read.enabled`, `gh_shim.enabled`)
163
+ * of one block into `github.read` / `github.shim`, exactly as `doctor --fix`
164
+ * rewrites them. Precedence: the canonical leaf, then the `false` that a
165
+ * `github.enabled: false` in the same block sets for every leaf, then the
166
+ * alias. The aliases are removed; `gh_shim.binary_path` is kept.
167
+ */
168
+ function translateGithubAliases(map, prefix, out) {
169
+ const masterOff = nestedBool(map, "github", "enabled") === false;
170
+ for (const [alias, leaf, retiredKey] of [
171
+ ["gh_read", "read", "gh_read"],
172
+ ["gh_shim", "shim", "gh_shim.enabled"],
173
+ ]) {
174
+ const aliasBlock = map[alias];
175
+ const supplied = alias === "gh_read"
176
+ ? Object.hasOwn(map, alias)
177
+ : isRecord(aliasBlock) && Object.hasOwn(aliasBlock, "enabled");
178
+ if (!supplied)
179
+ continue;
180
+ recordRetired(out, prefix, retiredKey);
181
+ const aliasValue = isRecord(aliasBlock) && typeof aliasBlock.enabled === "boolean"
182
+ ? aliasBlock.enabled
183
+ : undefined;
184
+ if (aliasValue !== undefined) {
185
+ const canonical = nestedBool(map, "github", leaf);
186
+ if (canonical !== undefined) {
187
+ if (canonical !== aliasValue) {
188
+ superseded(out, `${prefix}${retiredKey}`, `${alias}.enabled=${aliasValue} is ignored because github.${leaf}=${canonical} is set`);
189
+ }
190
+ }
191
+ else if (masterOff) {
192
+ if (aliasValue) {
193
+ superseded(out, `${prefix}${retiredKey}`, `${alias}.enabled=true is ignored because github.enabled=false switches github.${leaf} off`);
194
+ }
195
+ }
196
+ else {
197
+ if (!Object.hasOwn(map, "github"))
198
+ map.github = {};
199
+ if (isRecord(map.github))
200
+ map.github[leaf] = aliasValue;
201
+ }
202
+ }
203
+ if (alias === "gh_read") {
204
+ delete map.gh_read;
205
+ }
206
+ else if (isRecord(aliasBlock)) {
207
+ delete aliasBlock.enabled;
208
+ if (Object.keys(aliasBlock).length === 0)
209
+ delete map.gh_shim;
210
+ }
211
+ }
212
+ }
213
+ /** Remove `container.leaf` when present, dropping the container if that left it empty. */
214
+ function takeNested(map, container, leaf) {
215
+ const inner = map[container];
216
+ if (!isRecord(inner) || !Object.hasOwn(inner, leaf))
217
+ return { found: false };
218
+ const value = inner[leaf];
219
+ delete inner[leaf];
220
+ if (Object.keys(inner).length === 0)
221
+ delete map[container];
222
+ return { found: true, value };
223
+ }
224
+ /**
225
+ * Translate the retired inspect/LSP keys of one block, exactly as
226
+ * `doctor --fix` rewrites them: `idle.lsp_ttl_minutes` becomes
227
+ * `lsp.idle_minutes` (clamped to its range) unless that is already set, and
228
+ * the two inspect keys that never had an effect are dropped.
229
+ */
230
+ function translateInspectLspPaths(map, prefix, out) {
231
+ const ttl = takeNested(map, "idle", "lsp_ttl_minutes");
232
+ if (ttl.found) {
233
+ recordRetired(out, prefix, "idle.lsp_ttl_minutes");
234
+ if (isRecord(map.lsp) && map.lsp.idle_minutes !== undefined) {
235
+ superseded(out, `${prefix}idle.lsp_ttl_minutes`, "idle.lsp_ttl_minutes is ignored because lsp.idle_minutes is set");
236
+ }
237
+ else {
238
+ const raw = typeof ttl.value === "number" && Number.isSafeInteger(ttl.value)
239
+ ? ttl.value
240
+ : LSP_IDLE_MINUTES_DEFAULT;
241
+ const minutes = Math.min(LSP_IDLE_MINUTES_MAX, Math.max(LSP_IDLE_MINUTES_MIN, raw));
242
+ if (!Object.hasOwn(map, "lsp"))
243
+ map.lsp = {};
244
+ if (isRecord(map.lsp))
245
+ map.lsp.idle_minutes = minutes;
246
+ }
247
+ }
248
+ for (const leaf of ["tier2_soft_deadline_ms", "max_drill_down_items"]) {
249
+ if (takeNested(map, "inspect", leaf).found)
250
+ recordRetired(out, prefix, `inspect.${leaf}`);
251
+ }
252
+ }
253
+ /**
254
+ * Translate the retired keys of one tier/harness block in place.
255
+ *
256
+ * The false runtime gates (`backup.enabled`, `inspect.enabled`, `bash`,
257
+ * `bash.enabled`) are current keys and only switch their behaviour off; they
258
+ * never remove a tool registration. Only `disabled_tools` does that.
259
+ */
166
260
  function translateBlock(map,
167
261
  // True only for the user file's base block, the one place the absent-base
168
262
  // default disables may be added.
169
- userBase, phase, blockLabel, out) {
170
- if (Object.hasOwn(map, "gh_read"))
171
- out.errors.push(removed("gh_read", "github.read"));
172
- if (isRecord(map.gh_shim) && Object.hasOwn(map.gh_shim, "enabled")) {
173
- out.errors.push(removed("gh_shim", "github.shim"));
174
- }
263
+ userBase, blockLabel, out) {
264
+ const prefix = blockLabel === "base" ? "" : `${blockLabel}.`;
265
+ translateGithubAliases(map, prefix, out);
266
+ translateInspectLspPaths(map, prefix, out);
175
267
  let explicitList;
176
268
  const rawList = map.disabled_tools;
177
269
  if (Array.isArray(rawList) && rawList.every((entry) => typeof entry === "string")) {
@@ -179,30 +271,15 @@ userBase, phase, blockLabel, out) {
179
271
  const host = LEGACY_TOOL_ALIASES[name];
180
272
  if (host === undefined)
181
273
  return name;
182
- out.legacyInput = true;
183
- if (phase === "rejecting")
184
- out.errors.push(removed(name, host));
274
+ recordRetired(out, prefix, name);
185
275
  return host;
186
276
  });
187
277
  }
188
- const suppliedPaths = RETIRED_PATHS.map(([path]) => path).filter((path) => hasPath(map, path));
189
- if (suppliedPaths.length > 0)
190
- out.legacyInput = true;
191
- const gates = falseRuntimeGates(map);
192
- if (phase === "rejecting") {
193
- for (const path of suppliedPaths) {
194
- const replacement = RETIRED_PATHS.find(([old]) => old === path)?.[1] ?? "disabled_tools";
195
- out.errors.push(removed(path, replacement));
196
- }
197
- if (gates.length > 0 && explicitList === undefined) {
198
- out.warnings.push({
199
- code: "legacy_runtime_gate_runtime_only",
200
- key: blockLabel,
201
- message: `${gates.join(", ")} now restricts runtime behavior only and no longer removes tool registrations; list tools in disabled_tools to unregister them`,
202
- });
203
- }
204
- return;
278
+ for (const [path] of RETIRED_PATHS) {
279
+ if (hasPath(map, path))
280
+ recordRetired(out, prefix, path);
205
281
  }
282
+ const gates = falseRuntimeGates(map);
206
283
  if (explicitList !== undefined)
207
284
  map.disabled_tools = explicitList;
208
285
  for (const [leaf, legacy, experimental] of INDEX_INPUTS) {
@@ -229,20 +306,12 @@ userBase, phase, blockLabel, out) {
229
306
  }
230
307
  if (canonical !== undefined) {
231
308
  if (canonical !== value) {
232
- out.warnings.push({
233
- code: "superseded_legacy_config",
234
- key,
235
- message: `${key}=${value} is ignored because indexes.${leaf}=${canonical} is set`,
236
- });
309
+ superseded(out, key, `${key}=${value} is ignored because indexes.${leaf}=${canonical} is set`);
237
310
  }
238
311
  }
239
312
  else if (chosen !== undefined) {
240
313
  if (chosen !== value) {
241
- out.warnings.push({
242
- code: "superseded_legacy_config",
243
- key,
244
- message: `${key}=${value} is ignored because ${legacy}=${chosen} takes precedence`,
245
- });
314
+ superseded(out, key, `${key}=${value} is ignored because ${legacy}=${chosen} takes precedence`);
246
315
  }
247
316
  }
248
317
  else {
@@ -265,11 +334,7 @@ userBase, phase, blockLabel, out) {
265
334
  if (!Object.hasOwn(github, leaf))
266
335
  github[leaf] = false;
267
336
  else if (github[leaf] === true) {
268
- out.warnings.push({
269
- code: "superseded_legacy_config",
270
- key: "github.enabled",
271
- message: `github.enabled=false is ignored for github.${leaf} because github.${leaf}=true is set`,
272
- });
337
+ superseded(out, "github.enabled", `github.enabled=false is ignored for github.${leaf} because github.${leaf}=true is set`);
273
338
  }
274
339
  }
275
340
  }
@@ -311,21 +376,19 @@ userBase, phase, blockLabel, out) {
311
376
  message: RETIRED_ENABLED_FALSE_INDEXES_NOTE,
312
377
  });
313
378
  }
314
- for (const gate of gates) {
315
- if (gate === "backup.enabled")
316
- generated.add("aft_safety");
317
- else if (gate === "inspect.enabled")
318
- generated.add("aft_inspect");
319
- else
320
- for (const name of BASH_GATE_DISABLES)
321
- generated.add(name);
379
+ if (gates.length > 0 && explicitList === undefined) {
380
+ out.warnings.push({
381
+ code: "legacy_runtime_gate_runtime_only",
382
+ key: blockLabel,
383
+ message: `${gates.join(", ")} now restricts runtime behavior only and no longer removes tool registrations; list tools in disabled_tools to unregister them`,
384
+ });
322
385
  }
323
386
  if (explicitList !== undefined) {
324
387
  if (explicitSurface || generated.size > 0) {
325
388
  out.warnings.push({
326
389
  code: "superseded_legacy_config",
327
390
  key: blockLabel,
328
- message: "disabled_tools is set explicitly, so legacy tool_surface/hoist_builtin_tools/enabled and runtime gates do not change registration",
391
+ message: "disabled_tools is set explicitly, so legacy tool_surface/hoist_builtin_tools/enabled do not change registration",
329
392
  once: true,
330
393
  });
331
394
  }
@@ -343,13 +406,6 @@ userBase, phase, blockLabel, out) {
343
406
  }
344
407
  if (list !== undefined)
345
408
  map.disabled_tools = list;
346
- if (gates.length > 0) {
347
- out.warnings.push({
348
- code: "legacy_runtime_gate_requires_fix",
349
- key: blockLabel,
350
- message: `${gates.join(", ")} still removes tool registrations during this release only; run \`npx @cortexkit/aft doctor --fix\` to record the choice in disabled_tools`,
351
- });
352
- }
353
409
  }
354
410
  /**
355
411
  * What a retired `enabled: false` no longer does. The translation only hides
@@ -357,13 +413,21 @@ userBase, phase, blockLabel, out) {
357
413
  * of a repository must also switch the indexes off.
358
414
  */
359
415
  export const RETIRED_ENABLED_FALSE_INDEXES_NOTE = "enabled: false no longer turns AFT off: it is translated to disabling every tool, but the trigram, semantic and callgraph indexes still build. To keep AFT from indexing this repository, also set indexes.trigram, indexes.semantic and indexes.callgraph to false.";
360
- /** The once-per-identity migration notice for a config file that used retired keys. */
416
+ /**
417
+ * The once-per-identity notice for a project config file whose retired keys
418
+ * were translated in memory. The file itself is never written: it is shared
419
+ * through its repository. Mirrors `project_retired_keys_notice` in
420
+ * `crates/aft/src/feature_config.rs`.
421
+ */
361
422
  export function legacyConfigNoticeMessage(configPath, translation) {
362
- const base = `AFT config ${configPath} uses retired keys (tool_surface, hoist_builtin_tools, enabled, search_index, semantic_search, callgraph_store, github.enabled or aft_-prefixed tool names). They are translated for this release and rejected from v0.59; run \`npx @cortexkit/aft doctor --fix\` to migrate.`;
423
+ const base = `${configPath} uses retired keys (${translation.retiredKeys.join(", ")}); AFT applied their current equivalents, with the same limits a project config has for those keys. Run \`npx @cortexkit/aft doctor --fix\` to update the file.`;
363
424
  return translation.retiredEnabledFalse ? `${base} ${RETIRED_ENABLED_FALSE_INDEXES_NOTE}` : base;
364
425
  }
365
426
  /**
366
- * Translate or reject every block (base plus each `harnesses.<id>`) in place.
427
+ * Translate every block (base plus each `harnesses.<id>`) in place. Retired
428
+ * keys are never refused: their current equivalents then pass through the
429
+ * normal user/project trust rules, exactly as if the file had spelled them
430
+ * out.
367
431
  *
368
432
  * Only the user file's base block receives the absent-base default
369
433
  * (`aft_move`/`aft_delete`) when its legacy keys generate disables: that
@@ -371,21 +435,21 @@ export function legacyConfigNoticeMessage(configPath, translation) {
371
435
  * contributes only the names its own legacy keys imply, so a legacy key in a
372
436
  * repository can never re-disable tools the user enabled.
373
437
  */
374
- export function translateConfigDocument(map, phase, tier) {
438
+ export function translateConfigDocument(map, tier) {
375
439
  const out = {
376
- errors: [],
377
440
  warnings: [],
378
441
  legacyInput: false,
442
+ retiredKeys: [],
379
443
  retiredEnabledFalse: false,
380
444
  };
381
- translateBlock(map, tier === "user", phase, "base", out);
445
+ translateBlock(map, tier === "user", "base", out);
382
446
  if (isRecord(map.harnesses)) {
383
447
  for (const [name, block] of Object.entries(map.harnesses)) {
384
448
  if (isRecord(block))
385
- translateBlock(block, false, phase, `harnesses.${name}`, out);
449
+ translateBlock(block, false, `harnesses.${name}`, out);
386
450
  }
387
451
  }
388
- out.errors = sortedUnique(out.errors);
452
+ out.retiredKeys = sortedUnique(out.retiredKeys);
389
453
  return out;
390
454
  }
391
455
  /** Distinct unknown names in a resolved disabled list, sorted. */
@@ -529,7 +593,7 @@ export function noticeDigest(projection) {
529
593
  * are spelled as `npx @cortexkit/aft …`: users reach this notice through the
530
594
  * plugin, with no `aft` command on their PATH.
531
595
  */
532
- export const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic; if legacy configuration is rejected, run npx @cortexkit/aft doctor --fix first.";
596
+ export const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic.";
533
597
  /**
534
598
  * Identity of the semantic cost notice. It is a constant rather than a digest
535
599
  * of the config file, so the notice is delivered once per user config path and
@@ -590,12 +654,15 @@ export const DEFAULT_INDEXES = {
590
654
  semantic: true,
591
655
  callgraph: true,
592
656
  };
593
- /** Whole-load rejection: the candidate config must not be used at all. */
657
+ /**
658
+ * Whole-load rejection: the candidate config must not be used at all. Raised
659
+ * when a resolved configuration lacks its registration list or an index
660
+ * switch; retired keys are translated and never raise it.
661
+ */
594
662
  export class ConfigRejectedError extends Error {
595
663
  errors;
596
664
  constructor(errors, source) {
597
- super(`AFT configuration${source ? ` at ${source}` : ""} was rejected: ${errors.join(", ")}. ` +
598
- "Run `npx @cortexkit/aft doctor --fix` to migrate removed keys.");
665
+ super(`AFT configuration${source ? ` at ${source}` : ""} was rejected: ${errors.join(", ")}.`);
599
666
  this.name = "ConfigRejectedError";
600
667
  this.errors = errors;
601
668
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-config.js","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe;IACf,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,UAAU;IACV,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,MAAM;IACN,WAAW;IACX,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;CACC,CAAC;AAIX,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa;IACb,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;CACC,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,UAAU,CAAU,CAAC;AAE1E,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAqC;IACnE,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,aAAa;IAC9B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM;IACN,WAAW;IACX,aAAa;IACb,YAAY;IACZ,YAAY;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA6C;IACrE,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAClC,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;IACzC,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAC7B,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACnC,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;IAChD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IACvC,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;IACpD,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IACxC,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;CAC3D,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAiE;IACxF,CAAC,SAAS,EAAE,cAAc,EAAE,2BAA2B,CAAC;IACxD,CAAC,UAAU,EAAE,iBAAiB,EAAE,8BAA8B,CAAC;IAC/D,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAEpC;IACF,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IACjB,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAQ,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,KAAK,YAAY,IAAK,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,EAAE,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACrD,KAAK,SAAS;YACZ,OAAO,eAAe,CAAC,MAAM,CAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,CACjF,CAAC;QACJ;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAID,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,wBAAwB,CAAC;IAC5D,OAAO,KAAK,GAAG,WAAW,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,GAAG,IAAI,WAAW,CAAC;QACzE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AA8BD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,WAAmB;IAC/C,OAAO,sBAAsB,GAAG,QAAQ,WAAW,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,GAAe,EAAE,IAAY;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAe;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAuB;IAClD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CACrB,GAAe;AACf,0EAA0E;AAC1E,iCAAiC;AACjC,QAAiB,EACjB,KAAkB,EAClB,UAAkB,EAClB,GAAwB;IAExB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC;QAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACtF,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,YAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAClF,YAAY,GAAI,OAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,KAAK,KAAK,WAAW;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/F,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;YACzF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACnD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,kCAAkC;gBACxC,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gIAAgI;aAC7J,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,cAAc,GAAG,YAAY,CAAC;IAElE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,YAAY,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,SAAS,GAAG,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAE,OAAO,CAAC,IAAI,CAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,MAA2B,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,uBAAuB;oBAC7B,GAAG;oBACH,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,IAAI,EAAE;iBAC5D,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,0BAA0B;wBAChC,GAAG;wBACH,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,+BAA+B,IAAI,IAAI,SAAS,SAAS;qBAClF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,0BAA0B;wBAChC,GAAG;wBACH,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,uBAAuB,MAAM,IAAI,MAAM,mBAAmB;qBACnF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC;gBAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;YACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,CAAC,OAAO,CAAC;QACtB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;qBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,0BAA0B;wBAChC,GAAG,EAAE,gBAAgB;wBACrB,OAAO,EAAE,8CAA8C,IAAI,mBAAmB,IAAI,cAAc;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,OAAO,GAAG,CAAC,YAAY,CAAC;IACxB,OAAO,GAAG,CAAC,mBAAmB,CAAC;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,uBAAuB;gBAC7B,GAAG,EAAE,cAAc;gBACnB,OAAO,EAAE,yDAAyD;aACnE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,KAAK;QAAE,KAAK,MAAM,IAAI,IAAI,eAAe;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,eAAe;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,0CAA0C;YAChD,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU;YAChE,OAAO,EAAE,kCAAkC;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,gBAAgB;YAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACtD,IAAI,IAAI,KAAK,iBAAiB;YAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;YAC7D,KAAK,MAAM,IAAI,IAAI,kBAAkB;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,eAAe,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,0BAA0B;gBAChC,GAAG,EAAE,UAAU;gBACf,OAAO,EACL,mIAAmI;gBACrI,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAA0B,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,eAAe;YAAE,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;aAC/C,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;YAAE,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,kCAAkC;YACxC,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4IAA4I;SACzK,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,sQAAsQ,CAAC;AAEzQ,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,WAA6D;IAE7D,MAAM,IAAI,GAAG,cAAc,UAAU,gRAAgR,CAAC;IACtT,OAAO,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,kCAAkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClG,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAe,EACf,KAAkB,EAClB,IAAwB;IAExB,MAAM,GAAG,GAAwB;QAC/B,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,KAAK;QAClB,mBAAmB,EAAE,KAAK;KAC3B,CAAC;IACF,cAAc,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;SACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;SAC5E,CAAC;QACJ,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;gBAC7B,MAAM,CAAC,IAAI,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;iBAC5D,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAW,CAAC;AAEzC,SAAS,YAAY,CAAC,KAAiB;IACrC,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;gBACvD,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;SACxD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAY,MAAM,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CACvC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;QACF,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;QACxF,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAClD,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAClC,CAAC;IACD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9F,CAAC;IACD,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,YAAY,EAAE,CAAC;QACxD,MAAM,MAAM,GAAe;YACzB,SAAS,EACP,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,MAAM;YACZ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAChE,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,KAAK;QACpB,uBAAuB,EAAE,OAAO;QAChC,cAAc,EAAE,QAAQ;QACxB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAA2B;IAC1D,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,KAAK,SAAS,EAAE,MAAM,EAAE,CAAC;AACxF,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3E,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1B,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAAC,UAAmB;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qPAAqP,CAAC;AAExP;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAA2B,EAC3B,aAAqB;IAErB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI;QAC5F,UAAU;QACV,iBAAiB;QACjB,8BAA8B;KAC/B,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE;QAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9E,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;IACzE,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAOlC;IACC,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,cAAc;QAClC,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,oBAAoB;KAC9B,CAAC;AACJ,CAAC;AAgBD,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,MAAM,CAAW;IAC1B,YAAY,MAAgB,EAAE,MAAe;QAC3C,KAAK,CACH,oBAAoB,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACtF,gEAAgE,CACnE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAmC,EACnC,QAAuC;IAEvC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9E,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAkC,EAClC,QAAsC,EACtC,UAAmB;IAEnB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAqB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAU,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACrC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,cAAc,CAAC,GAAiC;IAC9D,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,eAAe,CAAC,QAAQ;QACnD,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,eAAe,CAAC,SAAS;KACvD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAoC;IAI3E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACrE,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,4BAA4B,CAAC,MAE5C;IACC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,mBAAmB,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC,cAAc,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"feature-config.js","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"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"}