@stevenvo780/st-lang 2.7.1 → 2.8.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 (62) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +11 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/profiles/classical/cdcl.d.ts +34 -0
  6. package/dist/profiles/classical/cdcl.d.ts.map +1 -0
  7. package/dist/profiles/classical/cdcl.js +843 -0
  8. package/dist/profiles/classical/cdcl.js.map +1 -0
  9. package/dist/profiles/classical/dpll.d.ts +11 -1
  10. package/dist/profiles/classical/dpll.d.ts.map +1 -1
  11. package/dist/profiles/classical/dpll.js +54 -17
  12. package/dist/profiles/classical/dpll.js.map +1 -1
  13. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  14. package/dist/profiles/classical/first-order.js +20 -10
  15. package/dist/profiles/classical/first-order.js.map +1 -1
  16. package/dist/profiles/classical/parallel-sat.d.ts +62 -0
  17. package/dist/profiles/classical/parallel-sat.d.ts.map +1 -0
  18. package/dist/profiles/classical/parallel-sat.js +630 -0
  19. package/dist/profiles/classical/parallel-sat.js.map +1 -0
  20. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  21. package/dist/profiles/classical/propositional.js +35 -19
  22. package/dist/profiles/classical/propositional.js.map +1 -1
  23. package/dist/profiles/classical/sat-preprocess.d.ts +17 -0
  24. package/dist/profiles/classical/sat-preprocess.d.ts.map +1 -0
  25. package/dist/profiles/classical/sat-preprocess.js +372 -0
  26. package/dist/profiles/classical/sat-preprocess.js.map +1 -0
  27. package/dist/profiles/classical/undecidability-detector.d.ts +13 -0
  28. package/dist/profiles/classical/undecidability-detector.d.ts.map +1 -0
  29. package/dist/profiles/classical/undecidability-detector.js +277 -0
  30. package/dist/profiles/classical/undecidability-detector.js.map +1 -0
  31. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  32. package/dist/profiles/paraconsistent/belnap.js +4 -2
  33. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  34. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  35. package/dist/profiles/shared/tableau-engine.js +3 -1
  36. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  37. package/dist/runtime/formula-factory.d.ts.map +1 -1
  38. package/dist/runtime/formula-factory.js +3 -2
  39. package/dist/runtime/formula-factory.js.map +1 -1
  40. package/dist/runtime/interpreter.d.ts +9 -0
  41. package/dist/runtime/interpreter.d.ts.map +1 -1
  42. package/dist/runtime/interpreter.js +116 -5
  43. package/dist/runtime/interpreter.js.map +1 -1
  44. package/dist/tests/benchmark-cdcl.test.d.ts +2 -0
  45. package/dist/tests/benchmark-cdcl.test.d.ts.map +1 -0
  46. package/dist/tests/benchmark-cdcl.test.js +172 -0
  47. package/dist/tests/benchmark-cdcl.test.js.map +1 -0
  48. package/dist/tests/limits.test.js +11 -4
  49. package/dist/tests/limits.test.js.map +1 -1
  50. package/dist/tests/parallel-sat.test.d.ts +2 -0
  51. package/dist/tests/parallel-sat.test.d.ts.map +1 -0
  52. package/dist/tests/parallel-sat.test.js +351 -0
  53. package/dist/tests/parallel-sat.test.js.map +1 -0
  54. package/dist/tests/stress-cdcl.test.d.ts +2 -0
  55. package/dist/tests/stress-cdcl.test.d.ts.map +1 -0
  56. package/dist/tests/stress-cdcl.test.js +792 -0
  57. package/dist/tests/stress-cdcl.test.js.map +1 -0
  58. package/dist/tests/stress-extreme.test.d.ts +2 -0
  59. package/dist/tests/stress-extreme.test.d.ts.map +1 -0
  60. package/dist/tests/stress-extreme.test.js +1005 -0
  61. package/dist/tests/stress-extreme.test.js.map +1 -0
  62. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -12,6 +12,10 @@ export { ClassicalPropositional, formulaToString } from './profiles/classical/pr
12
12
  export { ClassicalFirstOrder } from './profiles/classical/first-order';
13
13
  export { ModalK } from './profiles/modal/k';
14
14
  export { ParaconsistentBelnap } from './profiles/paraconsistent/belnap';
15
+ export { cdcl, cdclAsync } from './profiles/classical/cdcl';
16
+ export type { CDCLResult } from './profiles/classical/cdcl';
17
+ export { dpll, dpllAsync } from './profiles/classical/dpll';
18
+ export { workersAvailable, PARALLEL_THRESHOLD } from './profiles/classical/parallel-sat';
15
19
  export { formulaToUnicode, formulaToLaTeX } from './runtime/format';
16
20
  export { detectFallacies } from './runtime/fallacies';
17
21
  export type { FallacyInfo } from './runtime/fallacies';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,UAAU,EACV,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,OAAO,CAAC;AAGf,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG5D,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,OAAO,EACP,cAAc,EACd,UAAU,EACV,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,OAAO,CAAC;AAGf,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG5D,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGzF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.REPL = exports.ProtocolHandler = exports.Interpreter = exports.compileClaimsToTheory = exports.registerContext = exports.registerConfidence = exports.registerSupport = exports.registerClaim = exports.registerFormalization = exports.registerPassage = exports.parseAnchorPath = exports.createTextLayerState = exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.ParaconsistentBelnap = exports.ModalK = exports.ClassicalFirstOrder = exports.formulaToString = exports.ClassicalPropositional = exports.registry = exports.ProfileRegistry = exports.Parser = exports.KEYWORDS = exports.TokenType = exports.Lexer = exports.render = exports.completion = exports.gotoDefinition = exports.symbols = exports.hover = exports.listProfiles = exports.createInterpreter = exports.quickEval = exports.check = exports.parse = exports.evaluate = void 0;
20
+ exports.REPL = exports.ProtocolHandler = exports.Interpreter = exports.compileClaimsToTheory = exports.registerContext = exports.registerConfidence = exports.registerSupport = exports.registerClaim = exports.registerFormalization = exports.registerPassage = exports.parseAnchorPath = exports.createTextLayerState = exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.PARALLEL_THRESHOLD = exports.workersAvailable = exports.dpllAsync = exports.dpll = exports.cdclAsync = exports.cdcl = exports.ParaconsistentBelnap = exports.ModalK = exports.ClassicalFirstOrder = exports.formulaToString = exports.ClassicalPropositional = exports.registry = exports.ProfileRegistry = exports.Parser = exports.KEYWORDS = exports.TokenType = exports.Lexer = exports.render = exports.completion = exports.gotoDefinition = exports.symbols = exports.hover = exports.listProfiles = exports.createInterpreter = exports.quickEval = exports.check = exports.parse = exports.evaluate = void 0;
21
21
  // API programática (uso recomendado para integración)
22
22
  var api_1 = require("./api");
23
23
  Object.defineProperty(exports, "evaluate", { enumerable: true, get: function () { return api_1.evaluate; } });
@@ -57,6 +57,16 @@ var k_1 = require("./profiles/modal/k");
57
57
  Object.defineProperty(exports, "ModalK", { enumerable: true, get: function () { return k_1.ModalK; } });
58
58
  var belnap_1 = require("./profiles/paraconsistent/belnap");
59
59
  Object.defineProperty(exports, "ParaconsistentBelnap", { enumerable: true, get: function () { return belnap_1.ParaconsistentBelnap; } });
60
+ // SAT Solving (parallelism support)
61
+ var cdcl_1 = require("./profiles/classical/cdcl");
62
+ Object.defineProperty(exports, "cdcl", { enumerable: true, get: function () { return cdcl_1.cdcl; } });
63
+ Object.defineProperty(exports, "cdclAsync", { enumerable: true, get: function () { return cdcl_1.cdclAsync; } });
64
+ var dpll_1 = require("./profiles/classical/dpll");
65
+ Object.defineProperty(exports, "dpll", { enumerable: true, get: function () { return dpll_1.dpll; } });
66
+ Object.defineProperty(exports, "dpllAsync", { enumerable: true, get: function () { return dpll_1.dpllAsync; } });
67
+ var parallel_sat_1 = require("./profiles/classical/parallel-sat");
68
+ Object.defineProperty(exports, "workersAvailable", { enumerable: true, get: function () { return parallel_sat_1.workersAvailable; } });
69
+ Object.defineProperty(exports, "PARALLEL_THRESHOLD", { enumerable: true, get: function () { return parallel_sat_1.PARALLEL_THRESHOLD; } });
60
70
  // Formato / Unicode / LaTeX
61
71
  var format_1 = require("./runtime/format");
62
72
  Object.defineProperty(exports, "formulaToUnicode", { enumerable: true, get: function () { return format_1.formulaToUnicode; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,sDAAsD;AACtD,6BAmBe;AAlBb,+FAAA,QAAQ,OAAA;AACR,4FAAA,KAAK,OAAA;AACL,4FAAA,KAAK,OAAA;AACL,gGAAA,SAAS,OAAA;AACT,wGAAA,iBAAiB,OAAA;AACjB,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AACL,8FAAA,OAAO,OAAA;AACP,qGAAA,cAAc,OAAA;AACd,iGAAA,UAAU,OAAA;AACV,6FAAA,MAAM,OAAA;AAUR,QAAQ;AACR,0CAAwB;AAExB,QAAQ;AACR,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAA4D;AAAnD,mGAAA,SAAS,OAAA;AAAS,kGAAA,QAAQ,OAAA;AAEnC,MAAM;AACN,8CAA4B;AAE5B,SAAS;AACT,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AAEf,WAAW;AACX,kDAA+E;AAAxD,4GAAA,eAAe,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAChD,oEAA6F;AAApF,uHAAA,sBAAsB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAChD,gEAAuE;AAA9D,kHAAA,mBAAmB,OAAA;AAC5B,wCAA4C;AAAnC,2FAAA,MAAM,OAAA;AACf,2DAAwE;AAA/D,8GAAA,oBAAoB,OAAA;AAE7B,4BAA4B;AAC5B,2CAAoE;AAA3D,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAEzC,uBAAuB;AACvB,iDAAsD;AAA7C,4GAAA,eAAe,OAAA;AAGxB,aAAa;AACb,kDAW+B;AAT7B,gHAAA,oBAAoB,OAAA;AACpB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AAGvB,UAAU;AACV,qDAAoD;AAA3C,0GAAA,WAAW,OAAA;AAEpB,WAAW;AACX,8CAAqD;AAA5C,0GAAA,eAAe,OAAA;AAExB,OAAO;AACP,oCAAmC;AAA1B,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,sDAAsD;AACtD,6BAmBe;AAlBb,+FAAA,QAAQ,OAAA;AACR,4FAAA,KAAK,OAAA;AACL,4FAAA,KAAK,OAAA;AACL,gGAAA,SAAS,OAAA;AACT,wGAAA,iBAAiB,OAAA;AACjB,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AACL,8FAAA,OAAO,OAAA;AACP,qGAAA,cAAc,OAAA;AACd,iGAAA,UAAU,OAAA;AACV,6FAAA,MAAM,OAAA;AAUR,QAAQ;AACR,0CAAwB;AAExB,QAAQ;AACR,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,yCAA4D;AAAnD,mGAAA,SAAS,OAAA;AAAS,kGAAA,QAAQ,OAAA;AAEnC,MAAM;AACN,8CAA4B;AAE5B,SAAS;AACT,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AAEf,WAAW;AACX,kDAA+E;AAAxD,4GAAA,eAAe,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAChD,oEAA6F;AAApF,uHAAA,sBAAsB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAChD,gEAAuE;AAA9D,kHAAA,mBAAmB,OAAA;AAC5B,wCAA4C;AAAnC,2FAAA,MAAM,OAAA;AACf,2DAAwE;AAA/D,8GAAA,oBAAoB,OAAA;AAE7B,oCAAoC;AACpC,kDAA4D;AAAnD,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AAExB,kDAA4D;AAAnD,4FAAA,IAAI,OAAA;AAAE,iGAAA,SAAS,OAAA;AACxB,kEAAyF;AAAhF,gHAAA,gBAAgB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAE7C,4BAA4B;AAC5B,2CAAoE;AAA3D,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAEzC,uBAAuB;AACvB,iDAAsD;AAA7C,4GAAA,eAAe,OAAA;AAGxB,aAAa;AACb,kDAW+B;AAT7B,gHAAA,oBAAoB,OAAA;AACpB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AAGvB,UAAU;AACV,qDAAoD;AAA3C,0GAAA,WAAW,OAAA;AAEpB,WAAW;AACX,8CAAqD;AAA5C,0GAAA,eAAe,OAAA;AAExB,OAAO;AACP,oCAAmC;AAA1B,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,34 @@
1
+ import { Formula } from '../../types';
2
+ export interface CDCLResult {
3
+ satisfiable: boolean;
4
+ model?: Record<string, boolean>;
5
+ stats?: SolverStats;
6
+ }
7
+ export interface SolverStats {
8
+ decisions: number;
9
+ propagations: number;
10
+ conflicts: number;
11
+ learnedClauses: number;
12
+ restarts: number;
13
+ preprocessEliminated: number;
14
+ solveTimeMs: number;
15
+ }
16
+ export interface PatternDetection {
17
+ pattern: string;
18
+ description: string;
19
+ unsatisfiable: boolean;
20
+ }
21
+ export declare function detectPatterns(clauses: Int32Array[], numVars: number): PatternDetection | null;
22
+ export declare function addSymmetryBreaking(clauses: Int32Array[], numVars: number): Int32Array[];
23
+ export declare function cdcl(formula: Formula, timeoutMs?: number): CDCLResult;
24
+ /**
25
+ * Versión asíncrona del solver CDCL con soporte de paralelismo.
26
+ * Cuando la fórmula es suficientemente grande (≥ PARALLEL_THRESHOLD vars),
27
+ * lanza workers en portfolio racing. Para fórmulas pequeñas, ejecuta
28
+ * el solver secuencial como wrapper de Promise.
29
+ *
30
+ * Compatible con Node.js (worker_threads) y Browser (Web Workers).
31
+ */
32
+ export declare function cdclAsync(formula: Formula, timeoutMs?: number): Promise<CDCLResult>;
33
+ export type DPLLResult = CDCLResult;
34
+ //# sourceMappingURL=cdcl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdcl.d.ts","sourceRoot":"","sources":["../../../src/profiles/classical/cdcl.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKtC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AA+qBD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA0B9F;AA4CD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CA4BxF;AAMD,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,MAAc,GAAG,UAAU,CAsC5E;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA4DhG;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC"}