memento-mori-jester 0.1.13 → 0.1.15

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/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to Memento Mori Jester are tracked here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.1.15
8
+
9
+ - Added practical rule guidance to `jester rule <id>` and `jester rules --json`.
10
+
11
+ ## 0.1.14
12
+
13
+ - Added `jester config disable-rule <id>` and `jester config enable-rule <id>` for rule tuning without manual JSON edits.
14
+
7
15
  ## 0.1.13
8
16
 
9
17
  - Added `disabledRules` config support for disabling noisy checks by rule id.
package/README.md CHANGED
@@ -228,6 +228,8 @@ jester rules --json
228
228
  jester rule destructive-git-history
229
229
  ```
230
230
 
231
+ `jester rule <id>` explains why a rule exists, when it may be noisy, what safer move to make, and how to tune it.
232
+
231
233
  Disable a noisy rule by adding its id to `disabledRules` in `jester.config.json`:
232
234
 
233
235
  ```json
@@ -236,6 +238,15 @@ Disable a noisy rule by adding its id to `disabledRules` in `jester.config.json`
236
238
  }
237
239
  ```
238
240
 
241
+ Or let the CLI edit the config:
242
+
243
+ ```powershell
244
+ jester config disable-rule console-log
245
+ jester config enable-rule console-log
246
+ ```
247
+
248
+ If no config exists yet, `disable-rule` creates a minimal `jester.config.json`.
249
+
239
250
  Presets layer extra rules on top of the default config:
240
251
 
241
252
  - `node`: npm lifecycle scripts, publish/unpublish, package metadata.
package/dist/cli.js CHANGED
@@ -219,6 +219,9 @@ function parseConfigCommandOptions(argv) {
219
219
  options.preset = parseConfigPreset(requireValue(arg, next));
220
220
  index += 1;
221
221
  }
222
+ else if (!arg.startsWith("--") && !options.ruleId) {
223
+ options.ruleId = arg;
224
+ }
222
225
  }
223
226
  return options;
224
227
  }
@@ -664,6 +667,7 @@ function renderRules(result) {
664
667
  else {
665
668
  lines.push(` Matcher: ${rule.matcher}`);
666
669
  }
670
+ lines.push(` Why: ${rule.guidance.why}`, ` False positives: ${rule.guidance.falsePositive}`, ` Safer move: ${rule.guidance.saferAlternative}`, ` Tune: ${rule.guidance.tuning}`);
667
671
  }
668
672
  }
669
673
  lines.push("");
@@ -819,6 +823,9 @@ async function handleConfigCommand(argv) {
819
823
  if (subcommand === "presets") {
820
824
  return `${configPresetNames.join("\n")}\n`;
821
825
  }
826
+ if (subcommand === "disable-rule" || subcommand === "enable-rule") {
827
+ return handleConfigRuleToggle(subcommand, options);
828
+ }
822
829
  if (subcommand === "show") {
823
830
  const loaded = await loadConfig({
824
831
  configPath: options.configPath,
@@ -844,7 +851,62 @@ async function handleConfigCommand(argv) {
844
851
  process.exitCode = 1;
845
852
  return `Config invalid${result.path ? `: ${result.path}` : ""}\n${result.issues.map((issue) => `- ${issue}`).join("\n")}\n`;
846
853
  }
847
- throw new Error('Unknown config command. Use "jester config init", "jester config show", "jester config validate", or "jester config presets".');
854
+ throw new Error('Unknown config command. Use "jester config init", "jester config show", "jester config validate", "jester config presets", "jester config disable-rule <id>", or "jester config enable-rule <id>".');
855
+ }
856
+ async function handleConfigRuleToggle(subcommand, options) {
857
+ const ruleId = options.ruleId?.trim();
858
+ if (!ruleId) {
859
+ throw new Error(`Missing rule id. Use "jester config ${subcommand} <rule-id>".`);
860
+ }
861
+ const configPath = options.path ?? options.configPath ?? await findConfigPath() ?? "jester.config.json";
862
+ const resolvedConfigPath = resolve(process.cwd(), configPath);
863
+ const existing = await fileExists(resolvedConfigPath);
864
+ const config = existing
865
+ ? (await loadConfig({ configPath: resolvedConfigPath, search: false })).config
866
+ : { disabledRules: [] };
867
+ const disabledRules = config.disabledRules ?? [];
868
+ const normalizedRuleId = ruleId.toLocaleLowerCase();
869
+ const hasRule = disabledRules.some((id) => id.toLocaleLowerCase() === normalizedRuleId);
870
+ let changed = false;
871
+ if (subcommand === "disable-rule") {
872
+ if (!hasRule) {
873
+ config.disabledRules = [...disabledRules, ruleId];
874
+ changed = true;
875
+ }
876
+ else {
877
+ config.disabledRules = disabledRules;
878
+ }
879
+ }
880
+ else {
881
+ const nextDisabledRules = disabledRules.filter((id) => id.toLocaleLowerCase() !== normalizedRuleId);
882
+ config.disabledRules = nextDisabledRules;
883
+ changed = nextDisabledRules.length !== disabledRules.length;
884
+ }
885
+ if (!existing || changed) {
886
+ await mkdir(dirname(resolvedConfigPath), { recursive: true });
887
+ await writeFile(resolvedConfigPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
888
+ }
889
+ const action = subcommand === "disable-rule" ? "Disabled" : "Enabled";
890
+ const already = subcommand === "disable-rule" ? "already disabled" : "not disabled";
891
+ const result = {
892
+ ok: true,
893
+ action: subcommand,
894
+ ruleId,
895
+ path: resolvedConfigPath,
896
+ changed: !existing || changed,
897
+ disabledRules: config.disabledRules ?? [],
898
+ nextSteps: [
899
+ `jester rule ${ruleId}`,
900
+ "jester config validate"
901
+ ]
902
+ };
903
+ if (options.json) {
904
+ return `${JSON.stringify(result, null, 2)}\n`;
905
+ }
906
+ const message = result.changed
907
+ ? `${action} ${ruleId} in ${resolvedConfigPath}`
908
+ : `${ruleId} was ${already} in ${resolvedConfigPath}`;
909
+ return `${message}\nNext:\n ${result.nextSteps.join("\n ")}\n`;
848
910
  }
849
911
  async function handlePolicyCommand(argv) {
850
912
  const [subcommand = "show"] = argv;
@@ -1188,6 +1250,8 @@ Usage:
1188
1250
  jester config show
1189
1251
  jester config validate
1190
1252
  jester config presets
1253
+ jester config disable-rule console-log
1254
+ jester config enable-rule console-log
1191
1255
  jester policy init --level team
1192
1256
  jester policy init --level strict
1193
1257
  jester policy show --level strict
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAyB,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,6BAA6B,EAC7B,UAAU,EACV,aAAa,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAyE,WAAW,EAAiC,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtJ,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAsFxD,MAAM,+BAA+B,GAAG,oCAAoC,CAAC;AAE7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAgB;QAClC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAmB,CAAC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,UAAuB;IAC3D,IAAI,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAqB,CAAC,EAAE,CAAC;QACxE,OAAO,OAAqB,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,IAAI,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,OAAO,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAE3E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,MAAM;KACd,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAyB,EAAE,IAAc;IACzE,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,MAAM;KAClB,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YACrD,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,QAAQ;QACvB,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAmB,EAAE,IAAc;IAC/D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnK,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAa,CAAC,EAAE,CAAC;QAClC,OAAO,KAAa,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAqB,CAAC,EAAE,CAAC;QACtD,OAAO,KAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,kBAAkB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAoB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAyB;IAC3D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,qBAAqB,EAAE,IAAI;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,qBAAqB,EAAE,IAAI;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,OAAO;IACd,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,OAAqB;IACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3C,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,gBAAgB,OAAO,CAAC,KAAK,mEAAmE,CAAC;IAErG,OAAO;;;IAGL,UAAU;;cAEA,OAAO,CAAC,IAAI;EACxB,MAAM;;EAEN,SAAS;;;;;;IAMP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACb,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE;YACX,GAAG,UAAU,SAAS;YACtB,GAAG,UAAU,6BAA6B;YAC1C,GAAG,UAAU,+CAA+C;YAC5D,cAAc,UAAU,uBAAuB;YAC/C,GAAG,UAAU,kDAAkD;YAC/D,GAAG,UAAU,qCAAqC;YAClD,GAAG,UAAU,uBAAuB;YACpC,GAAG,UAAU,gBAAgB;SAC9B;QACD,KAAK,EAAE;YACL,GAAG,UAAU,iBAAiB,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,IAAI,EAAE;YACpE,GAAG,UAAU,uBAAuB,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,IAAI,EAAE;YAC1E,GAAG,UAAU,0BAA0B;YACvC,GAAG,UAAU,4CAA4C;YACzD,GAAG,UAAU,wBAAwB;SACtC;QACD,IAAI,EAAE;YACJ,gFAAgF;YAChF,oEAAoE;YACpE,0EAA0E;YAC1E,iEAAiE;SAClE;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,OAAO;;;EAGP,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;EAU1D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAClD,CAAC;AACF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAyB,EAAE,IAAc;IACzE,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzF,IAAI,OAAO,CAAC,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,EAAE,yCAAyC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,YAAY,CAAC,IAAI;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,KAAK,EAAE,YAAY;KACpB,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,MAMpB;IACC,MAAM,KAAK,GAAG;QACZ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;QAClF,EAAE;QACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,6BAA6B;QAC1F,SAAS,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;QAC/B,UAAU,MAAM,CAAC,KAAK,EAAE;QACxB,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;QAChE,EAAE;KACH,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAiE;QAC3E,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAChD,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;QACpD,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,uBAAuB,EAAE;KAC7D,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,EAC/F,KAAK,IAAI,CAAC,KAAK,EAAE,EACjB,KAAK,IAAI,CAAC,MAAM,EAAE,EAClB,YAAY,IAAI,CAAC,cAAc,EAAE,CAClC,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAED,KAAK,CAAC,IAAI,CACR,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAC7B,sBAAsB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EACnD,iBAAiB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EACjD,WAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAClC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAC1E,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,SAAS,IAAI,EAAE;YACjB,CAAC,CAAC,iBAAiB,IAAI,6BAA6B;KACvD,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA4B;IAC9D,OAAO;;;;;;;;;;;;;;;;;;;;;;;0CAuBiC,OAAO,CAAC,SAAS;;;;qBAItC,OAAO,CAAC,MAAM;qBACd,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;;;;;;;CAOpD,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,cAAc,GAAgB;QAClC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAED,OAAO,GAAG,WAAW,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,WAAW,GAA4C;QAC3D,IAAI,EAAE,6GAA6G;QACnH,OAAO,EAAE,4EAA4E;QACrF,KAAK,EAAE,mEAAmE;KAC3E,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,uBAAuB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,SAAS,OAAO;QAC/E,EAAE;QACF,oBAAoB,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;KAClD,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,MAAM,EACN,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CACtG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,0DAA0D,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,eAAe;QACxB,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC;IAEnF,KAAK,CAAC,IAAI,CACR,EAAE,EACF,UAAU,EACV,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EACtD,EAAE,EACF,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,SAAS,OAAO,EAAE,GAAG,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,SAAS,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,UAAU,KAAK,cAAc,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAClE,OAAO,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gDAAgD,CAAC;QACvG,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,iBAAiB,MAAM,CAAC,IAAI,IAAI,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,iBAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9H,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oMAAoM,CAAC,CAAC;AACxN,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,UAA0C,EAAE,OAA6B;IAC7G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,MAAM,cAAc,EAAE,IAAI,oBAAoB,CAAC;IACxG,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM;QAC9E,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,gBAAgB,CAAC,CAAC;IACxF,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,gBAAgB,CAAC,CAAC;QACpG,MAAM,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACzC,OAAO,GAAG,iBAAiB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,OAAO,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC;IACpF,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,UAAU;QAClB,MAAM;QACN,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,CAAC,QAAQ,IAAI,OAAO;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACzC,SAAS,EAAE;YACT,eAAe,MAAM,EAAE;YACvB,wBAAwB;SACzB;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;QAC5B,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,OAAO,kBAAkB,EAAE;QAChD,CAAC,CAAC,GAAG,MAAM,QAAQ,OAAO,OAAO,kBAAkB,EAAE,CAAC;IAExD,OAAO,GAAG,OAAO,cAAc,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI;YACJ,SAAS,EAAE;gBACT,wBAAwB;gBACxB,oBAAoB;gBACpB,kDAAkD;aACnD;SACF,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,IAAI,KAAK,OAAO,CAAC,KAAK,sBAAsB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;AACxH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;QACrC,YAAY,EAAE,uBAAuB;QACrC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QAClE,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;QAC9C,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,2BAA2B,CAAC,OAAO,CAAC;QAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC;YAC3B,IAAI;YACJ,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACzC,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC;QAC9C,KAAK;QACL,SAAS,EAAE;YACT,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS;YACrC,GAAG,gBAAgB,CAAC,OAAO,CAAC,kBAAkB;YAC9C,qFAAqF;SACtF;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,+BAA+B;QAC/B,EAAE;QACF,QAAQ;QACR,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAClF,EAAE;KACH,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAO,EACP,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAC9C,EAAE,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC;IAErE,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAc;IACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,IAA0B,CAAC;IAC/B,IAAI,MAA8B,CAAC;IACnC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,UAA8B,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc;IAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,GAAiB,SAAS,CAAC;IACrC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,MAAM;QACN,KAAK;QACL,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;IACpC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1G,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,6BAA6B,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAA6B;IACvD,IAAI,WAA0D,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,WAAW,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,gDAAgD;SAClG,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb;YACE,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;YAC5B,MAAM,EAAE,QAAQ,OAAO,CAAC,OAAO,kBAAkB;SAClD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,EAAE,UAAU,EAAE;SACrB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,KAAK,OAAO;YACzD,MAAM,EAAE,mCAAmC;SAC5C;QACD,WAAW;KACZ,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,4BAA4B;QAC5B,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACxF,EAAE;QACF,EAAE;YACA,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,2EAA2E;QAC/E,EAAE;KACH,CAAC;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAyB;IAC5D,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;IAExC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,4BAA4B;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,uBAAuB;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAI/B;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB,OAAO,CAAC,YAAY,GAAG;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,SAAS,OAAO,CAAC,YAAY,GAAG;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAqB;IACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO;;;;;;;;;;;;;EAaP,UAAU;EACV,UAAU;EACV,UAAU;aACC,UAAU;;;;;;EAMrB,UAAU;EACV,UAAU;;CAEX,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqER,CAAC;AACF,CAAC"}
package/dist/core.d.ts CHANGED
@@ -1,12 +1,19 @@
1
1
  import { type Issue, type JesterConfig, type ReviewInput, type ReviewKind, type ReviewResult, type UserJesterConfig } from "./types.js";
2
2
  export declare const defaultConfig: JesterConfig;
3
3
  type RuleSource = "built-in" | "structural" | "project-config";
4
+ export type RuleGuidance = {
5
+ why: string;
6
+ falsePositive: string;
7
+ saferAlternative: string;
8
+ tuning: string;
9
+ };
4
10
  export type RuleCatalogEntry = {
5
11
  id: string;
6
12
  severity: Issue["severity"];
7
13
  title: string;
8
14
  detail: string;
9
15
  suggestedCheck: string;
16
+ guidance: RuleGuidance;
10
17
  kinds: ReviewKind[];
11
18
  source: RuleSource;
12
19
  matcher: "regex" | "heuristic" | "literal";
package/dist/core.js CHANGED
@@ -196,6 +196,7 @@ const structuralRules = [
196
196
  title: "No verification step",
197
197
  detail: "The plan changes behavior but does not say how the result will be checked.",
198
198
  suggestedCheck: "Add the cheapest meaningful validation step before calling the work complete.",
199
+ guidance: structuralGuidance("missing-verification-step"),
199
200
  kinds: ["plan"],
200
201
  source: "structural",
201
202
  matcher: "heuristic",
@@ -207,6 +208,7 @@ const structuralRules = [
207
208
  title: "Large removal with little replacement",
208
209
  detail: "A large deletion may be correct, but it deserves a second look for lost behavior.",
209
210
  suggestedCheck: "Review the deleted surface area and run tests that cover the removed code paths.",
211
+ guidance: structuralGuidance("large-removal"),
210
212
  kinds: ["diff"],
211
213
  source: "structural",
212
214
  matcher: "heuristic",
@@ -218,6 +220,7 @@ const structuralRules = [
218
220
  title: "Wildcard file operation",
219
221
  detail: "Wildcard moves or copies can quietly grab more than intended.",
220
222
  suggestedCheck: "List the matched files first and confirm the destination before running the command.",
223
+ guidance: structuralGuidance("wildcard-file-operation"),
221
224
  kinds: ["command"],
222
225
  source: "structural",
223
226
  matcher: "heuristic",
@@ -431,6 +434,7 @@ function catalogEntryFromPatternRule(rule) {
431
434
  title: rule.title,
432
435
  detail: rule.detail,
433
436
  suggestedCheck: rule.suggestedCheck,
437
+ guidance: guidanceForRule(rule.id, "built-in"),
434
438
  kinds: rule.kinds ?? [...reviewKinds],
435
439
  source: "built-in",
436
440
  matcher: "regex",
@@ -455,6 +459,7 @@ function projectConfigRules(config) {
455
459
  title: "Project-blocked command",
456
460
  detail: "This command is listed in the project's jester config as blocked.",
457
461
  suggestedCheck: "Use a safer command or get explicit project approval before running it.",
462
+ guidance: projectConfigGuidance("blocked command"),
458
463
  kinds: [...reviewKinds],
459
464
  source: "project-config",
460
465
  matcher: "literal",
@@ -475,6 +480,7 @@ function projectConfigRules(config) {
475
480
  title: "Project-sensitive domain touched",
476
481
  detail: "This domain is listed in the project's jester config as sensitive.",
477
482
  suggestedCheck: "Add a targeted test, manual verification note, or rollback plan for this project-sensitive area.",
483
+ guidance: projectConfigGuidance("sensitive domain"),
478
484
  kinds: [...reviewKinds],
479
485
  source: "project-config",
480
486
  matcher: "literal",
@@ -489,6 +495,7 @@ function projectConfigRules(config) {
489
495
  title: rule.title ?? "Custom project rule matched",
490
496
  detail: rule.detail ?? "A custom rule from the project's jester config matched this content.",
491
497
  suggestedCheck: rule.suggestedCheck ?? "Review the matched project rule and add an explicit verification step.",
498
+ guidance: projectConfigGuidance("custom rule"),
492
499
  kinds: rule.kinds ?? [...reviewKinds],
493
500
  source: "project-config",
494
501
  matcher: "regex",
@@ -518,6 +525,196 @@ function issueFromCatalogEntry(rule) {
518
525
  suggestedCheck: rule.suggestedCheck
519
526
  };
520
527
  }
528
+ function guidanceForRule(id, source) {
529
+ const guidance = builtInGuidance[id];
530
+ if (guidance) {
531
+ return guidance;
532
+ }
533
+ if (source === "structural") {
534
+ return {
535
+ why: "This heuristic catches shape-level risk that is not tied to one exact token.",
536
+ falsePositive: "It may be noisy when the surrounding plan or diff contains verification that the heuristic cannot infer.",
537
+ saferAlternative: "Add an explicit validation step or narrow the operation so the risk is easier to inspect.",
538
+ tuning: `Disable with \`jester config disable-rule ${id}\` only after the team agrees this heuristic is too noisy for the repo.`
539
+ };
540
+ }
541
+ return projectConfigGuidance("project rule");
542
+ }
543
+ function structuralGuidance(id) {
544
+ if (id === "missing-verification-step") {
545
+ return {
546
+ why: "Plans that change behavior need a stated way to know whether the change worked.",
547
+ falsePositive: "It may be noisy for tiny mechanical edits or when verification is obvious from surrounding context.",
548
+ saferAlternative: "Add the cheapest meaningful check before calling the work complete.",
549
+ tuning: "Disable with `jester config disable-rule missing-verification-step` if another planning template already requires checks."
550
+ };
551
+ }
552
+ if (id === "large-removal") {
553
+ return {
554
+ why: "Large deletions can accidentally remove behavior, docs, tests, or integration paths.",
555
+ falsePositive: "It may be safe for generated files, vendored assets, or deliberate dead-code removal.",
556
+ saferAlternative: "Review the removed surface area and run tests that cover the deleted code paths.",
557
+ tuning: "Disable with `jester config disable-rule large-removal` if large generated-file churn is common."
558
+ };
559
+ }
560
+ if (id === "wildcard-file-operation") {
561
+ return {
562
+ why: "Wildcard moves and copies can include more files than intended.",
563
+ falsePositive: "It may be acceptable after listing the matched files or inside a controlled script.",
564
+ saferAlternative: "List matches first and use explicit paths where possible.",
565
+ tuning: "Disable with `jester config disable-rule wildcard-file-operation` if wildcard operations are routine and scripted."
566
+ };
567
+ }
568
+ return guidanceForRule(id, "structural");
569
+ }
570
+ function projectConfigGuidance(label) {
571
+ return {
572
+ why: `This ${label} comes from the local project config, so it reflects repository-specific risk rather than a built-in Jester default.`,
573
+ falsePositive: "It may be noisy when the project rule is intentionally broad or the matched text is only documentation/example material.",
574
+ saferAlternative: "Follow the project-specific suggested check or narrow the configured pattern/value.",
575
+ tuning: "Edit `jester.config.json`, or use `jester config disable-rule <id>` if the rule should be muted for this repo."
576
+ };
577
+ }
578
+ const builtInGuidance = {
579
+ "destructive-git-history": {
580
+ why: "Git reset, clean, and checkout operations can discard work before anyone gets a second look.",
581
+ falsePositive: "It may be acceptable in a clean throwaway checkout, generated workspace, or scripted cleanup after `git status` confirms nothing valuable is present.",
582
+ saferAlternative: "Inspect `git status`, stash or back up local work, and target the narrowest path or branch possible.",
583
+ tuning: "Keep this enabled by default; disable with `jester config disable-rule destructive-git-history` only in repos where destructive cleanup is routine and guarded elsewhere."
584
+ },
585
+ "recursive-force-delete": {
586
+ why: "Recursive forced deletion turns a wrong path or glob into immediate data loss.",
587
+ falsePositive: "It may be acceptable for deleting known build output, cache folders, or temporary directories inside a confirmed workspace.",
588
+ saferAlternative: "Resolve the absolute target first, list what will be deleted, then delete only the intended path.",
589
+ tuning: "Prefer narrowing the command. Disable with `jester config disable-rule recursive-force-delete` only for repos with safe cleanup wrappers."
590
+ },
591
+ "pipe-to-shell": {
592
+ why: "Piping downloaded content into a shell executes code before it can be inspected or pinned.",
593
+ falsePositive: "It may be acceptable in a disposable environment using an official installer, but it still deserves source and version checks.",
594
+ saferAlternative: "Download the script, inspect it, pin the URL/version/checksum, then run the reviewed file.",
595
+ tuning: "Keep this enabled for most repos. Disable with `jester config disable-rule pipe-to-shell` only if another supply-chain control covers it."
596
+ },
597
+ "database-destruction": {
598
+ why: "Drop, truncate, and broad delete operations can permanently remove data, especially against the wrong environment.",
599
+ falsePositive: "It may be expected in migrations, test fixtures, or local reset scripts that clearly target disposable data.",
600
+ saferAlternative: "Confirm the environment, take or verify a backup, dry-run where possible, and document rollback.",
601
+ tuning: "Disable with `jester config disable-rule database-destruction` only for repos where destructive database text appears frequently in safe fixtures."
602
+ },
603
+ "secret-material": {
604
+ why: "Secrets in prompts, diffs, or logs can leak credentials into places that are hard to fully clean up.",
605
+ falsePositive: "It may flag placeholder names, documented environment variable keys, or fake examples.",
606
+ saferAlternative: "Use placeholder values, secret stores, or environment references, and rotate anything real that was exposed.",
607
+ tuning: "Prefer replacing real-looking examples with placeholders. Disable with `jester config disable-rule secret-material` only if false positives dominate."
608
+ },
609
+ "privileged-command": {
610
+ why: "Elevated commands increase blast radius and can hide permission or ownership problems.",
611
+ falsePositive: "It may be appropriate for package managers, service setup, or system-level development tasks.",
612
+ saferAlternative: "Use the narrowest command and target, and explain why elevation is required.",
613
+ tuning: "Disable with `jester config disable-rule privileged-command` for repos where elevated local setup is normal and documented."
614
+ },
615
+ "risky-domain": {
616
+ why: "Auth, billing, production, migrations, and similar domains have outsized user or business impact.",
617
+ falsePositive: "It can be noisy in docs, release notes, or rule text that merely mentions a sensitive word.",
618
+ saferAlternative: "Add targeted tests, a manual verification note, or a rollback path for the sensitive area.",
619
+ tuning: "Disable with `jester config disable-rule risky-domain`, or tune `sensitiveDomains` for project-specific wording."
620
+ },
621
+ "chmod-777": {
622
+ why: "Recursive world-writable permissions can create security holes and mask ownership issues.",
623
+ falsePositive: "It may be acceptable in isolated containers or short-lived local sandboxes.",
624
+ saferAlternative: "Set the narrowest owner, group, and mode on the specific path that needs access.",
625
+ tuning: "Disable with `jester config disable-rule chmod-777` only for sandbox-heavy repos with separate permission controls."
626
+ },
627
+ "confidence-theater": {
628
+ why: "Words like just, simple, and obvious often hide assumptions that need testing.",
629
+ falsePositive: "It may be harmless in casual planning language when the plan already includes concrete verification.",
630
+ saferAlternative: "Name the assumption and the quickest check that would prove or falsify it.",
631
+ tuning: "Disable with `jester config disable-rule confidence-theater` if the team finds style warnings too chatty."
632
+ },
633
+ "vibes-based-plan": {
634
+ why: "Uncertain wording without a check can turn guesses into implementation decisions.",
635
+ falsePositive: "It may be fine during early brainstorming or when uncertainty is immediately paired with a test.",
636
+ saferAlternative: "Add a concrete check such as a test command, fixture, screenshot, log, or dry run.",
637
+ tuning: "Disable with `jester config disable-rule vibes-based-plan` for planning-heavy repos where this is too noisy."
638
+ },
639
+ "skip-tests": {
640
+ why: "Skipping validation is sometimes necessary, but it should be an explicit tradeoff.",
641
+ falsePositive: "It may be acceptable when tests are unavailable and the response clearly names replacement checks.",
642
+ saferAlternative: "Say why tests cannot run and what cheaper verification will be used instead.",
643
+ tuning: "Disable with `jester config disable-rule skip-tests` only if another process enforces verification notes."
644
+ },
645
+ "done-without-evidence": {
646
+ why: "Completion claims are risky when they do not include evidence that anything was checked.",
647
+ falsePositive: "It may be noisy for tiny docs-only changes or when evidence is recorded elsewhere.",
648
+ saferAlternative: "Mention the exact test, build, smoke check, screenshot, or limitation.",
649
+ tuning: "Disable with `jester config disable-rule done-without-evidence` if final-answer evidence is handled by another template."
650
+ },
651
+ "untested-final": {
652
+ why: "A final answer that admits tests were not run should make the remaining uncertainty obvious.",
653
+ falsePositive: "It may be acceptable when the answer clearly says what was not verified and why.",
654
+ saferAlternative: "State the exact unverified area and the command or manual check someone should run next.",
655
+ tuning: "Disable with `jester config disable-rule untested-final` only if the team prefers softer final-answer checks."
656
+ },
657
+ "handwave-final": {
658
+ why: "Broad phrases like looks good or everything works can sound more certain than the evidence supports.",
659
+ falsePositive: "It may be fine when paired with specific verification output nearby.",
660
+ saferAlternative: "Replace broad confidence with a concrete result or known limitation.",
661
+ tuning: "Disable with `jester config disable-rule handwave-final` if tone/style checks are unwanted."
662
+ },
663
+ "test-removal": {
664
+ why: "Removing tests can silently reduce coverage for behavior that still matters.",
665
+ falsePositive: "It may be correct when tests are obsolete, duplicated, or replaced elsewhere in the same change.",
666
+ saferAlternative: "Explain why the removed tests are safe to delete or add replacement coverage.",
667
+ tuning: "Disable with `jester config disable-rule test-removal` only in repos where test generation creates frequent harmless removals."
668
+ },
669
+ "ts-ignore": {
670
+ why: "Type suppressions can hide contract mismatches that later become runtime bugs.",
671
+ falsePositive: "It may be acceptable for narrow third-party typing gaps or temporary migration boundaries.",
672
+ saferAlternative: "Prefer a typed wrapper, narrower assertion, or comment that explains why the suppression is safe.",
673
+ tuning: "Disable with `jester config disable-rule ts-ignore` if the repo already tracks suppressions separately."
674
+ },
675
+ "temporary-marker": {
676
+ why: "Temporary markers have a habit of shipping unless they are tracked or resolved.",
677
+ falsePositive: "It may be fine for intentional TODOs that link to an issue or visible follow-up.",
678
+ saferAlternative: "Finish the work or attach the marker to a tracked task.",
679
+ tuning: "Disable with `jester config disable-rule temporary-marker` if TODO policy lives elsewhere."
680
+ },
681
+ "console-log": {
682
+ why: "Debug logs can leak noisy output, sensitive values, or accidental telemetry.",
683
+ falsePositive: "It may be acceptable in scripts, CLIs, examples, or deliberate diagnostic logging.",
684
+ saferAlternative: "Use the project's logging/debug facility or remove the log before release.",
685
+ tuning: "Disable with `jester config disable-rule console-log` if console output is normal for this repo."
686
+ },
687
+ "package-install-script": {
688
+ why: "Install lifecycle scripts run on user machines and are a common supply-chain risk point.",
689
+ falsePositive: "It may be valid for packages that genuinely need build or setup hooks.",
690
+ saferAlternative: "Document why the script is necessary, keep it minimal, and mention it in release notes.",
691
+ tuning: "Disable with `jester config disable-rule package-install-script` only if install scripts are already reviewed elsewhere."
692
+ },
693
+ "sensitive-env-change": {
694
+ why: "Environment and secret-like changes can silently alter runtime, build, or security behavior.",
695
+ falsePositive: "It may flag harmless examples, placeholder env files, or documentation-only changes.",
696
+ saferAlternative: "Keep secrets out of source, confirm target environment, and run a representative smoke test.",
697
+ tuning: "Disable with `jester config disable-rule sensitive-env-change` if env-example churn is frequent and separately reviewed."
698
+ },
699
+ "missing-verification-step": {
700
+ why: "Plans that change behavior need a stated way to know whether the change worked.",
701
+ falsePositive: "It may be noisy for tiny mechanical edits or when verification is obvious from surrounding context.",
702
+ saferAlternative: "Add the cheapest meaningful check before calling the work complete.",
703
+ tuning: "Disable with `jester config disable-rule missing-verification-step` if another planning template already requires checks."
704
+ },
705
+ "large-removal": {
706
+ why: "Large deletions can accidentally remove behavior, docs, tests, or integration paths.",
707
+ falsePositive: "It may be safe for generated files, vendored assets, or deliberate dead-code removal.",
708
+ saferAlternative: "Review the removed surface area and run tests that cover the deleted code paths.",
709
+ tuning: "Disable with `jester config disable-rule large-removal` if large generated-file churn is common."
710
+ },
711
+ "wildcard-file-operation": {
712
+ why: "Wildcard moves and copies can include more files than intended.",
713
+ falsePositive: "It may be acceptable after listing the matched files or inside a controlled script.",
714
+ saferAlternative: "List matches first and use explicit paths where possible.",
715
+ tuning: "Disable with `jester config disable-rule wildcard-file-operation` if wildcard operations are routine and scripted."
716
+ }
717
+ };
521
718
  function markDisabledRules(rules, disabledRules) {
522
719
  return rules.map((rule) => ({
523
720
  ...rule,
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/docs/CLI.md CHANGED
@@ -71,6 +71,8 @@ jester rule destructive-git-history
71
71
 
72
72
  `rules` includes built-in regex checks, structural heuristics, and any active `jester.config.json` rules. Use `--no-config` to see only the built-in catalog, or `--config <path>` to inspect a specific project config.
73
73
 
74
+ Use `jester rule <id>` before muting a rule. It explains why the rule exists, common false positives, safer alternatives, and how to tune it.
75
+
74
76
  If a rule is too noisy for a repo, add its id to `disabledRules` in `jester.config.json`:
75
77
 
76
78
  ```json
@@ -81,6 +83,16 @@ If a rule is too noisy for a repo, add its id to `disabledRules` in `jester.conf
81
83
 
82
84
  Disabled rules still appear in `jester rules` as `[disabled]`, but they no longer affect review verdicts.
83
85
 
86
+ The CLI can edit `disabledRules` for you:
87
+
88
+ ```powershell
89
+ jester config disable-rule console-log
90
+ jester config enable-rule console-log
91
+ jester config disable-rule destructive-git-history --json
92
+ ```
93
+
94
+ If no config exists, `disable-rule` creates a minimal `jester.config.json` with only `disabledRules`.
95
+
84
96
  ## Explain
85
97
 
86
98
  Turn a review verdict into a short teaching note:
package/docs/RELEASE.md CHANGED
@@ -39,6 +39,8 @@ npx -y memento-mori-jester@latest policy levels
39
39
  npx -y memento-mori-jester@latest policy show --level strict
40
40
  npx -y memento-mori-jester@latest bootstrap --preset node
41
41
  npx -y memento-mori-jester@latest config init
42
+ npx -y memento-mori-jester@latest config disable-rule console-log --json
43
+ npx -y memento-mori-jester@latest config enable-rule console-log --json
42
44
  npx -y memento-mori-jester@latest config init --preset security --path jester-security.config.json
43
45
  npx -y memento-mori-jester@latest config validate --config jester-security.config.json
44
46
  ```
@@ -0,0 +1,20 @@
1
+ # v0.1.14 Release Notes
2
+
3
+ This release makes rule tuning possible without hand-editing JSON.
4
+
5
+ ## Added
6
+
7
+ - `jester config disable-rule <id>` to add a rule id to `disabledRules`.
8
+ - `jester config enable-rule <id>` to remove a rule id from `disabledRules`.
9
+ - `--json` support for both commands.
10
+ - Automatic minimal `jester.config.json` creation when disabling a rule in a repo without config.
11
+ - Tests proving disabling a rule changes the verdict and enabling it restores the original block.
12
+
13
+ ## Useful Commands
14
+
15
+ ```powershell
16
+ npx -y memento-mori-jester@latest config disable-rule console-log
17
+ npx -y memento-mori-jester@latest config enable-rule console-log
18
+ npx -y memento-mori-jester@latest config disable-rule destructive-git-history --json
19
+ npx -y memento-mori-jester@latest rule destructive-git-history
20
+ ```
@@ -0,0 +1,29 @@
1
+ # v0.1.15 Release Notes
2
+
3
+ This release makes individual rule pages more useful before anyone reaches for the mute button.
4
+
5
+ ## Added
6
+
7
+ - Practical guidance on `jester rule <id>`:
8
+ - why the rule exists
9
+ - when it may be noisy
10
+ - what safer move to make
11
+ - how to tune or disable it
12
+ - `guidance` metadata in `jester rules --json` for automation and docs tooling.
13
+ - Authored guidance for built-in and structural rules.
14
+ - Generic guidance for project-config and custom rules.
15
+ - Tests proving disabled rules still show `[disabled]` while keeping their explanation text.
16
+
17
+ ## Unchanged
18
+
19
+ - Review verdicts, scores, matching, and disabled-rule behavior are unchanged.
20
+ - `jester rules` text output stays compact.
21
+ - No new command was added.
22
+
23
+ ## Useful Commands
24
+
25
+ ```powershell
26
+ npx -y memento-mori-jester@latest rule destructive-git-history
27
+ npx -y memento-mori-jester@latest rules --kind command --json
28
+ npx -y memento-mori-jester@latest config disable-rule console-log
29
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memento-mori-jester",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "A local court-jester sidecar for AI coding agents: review plans, commands, diffs, and final claims before they get too pleased with themselves.",
5
5
  "type": "module",
6
6
  "repository": {