@fncts/schema 0.0.23 → 0.0.25

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 (146) hide show
  1. package/AST.d.ts +60 -29
  2. package/ASTAnnotationMap.d.ts +4 -1
  3. package/LICENSE +26 -0
  4. package/ParseError/ParseError.d.ts +28 -13
  5. package/_cjs/AST.cjs +1096 -1087
  6. package/_cjs/AST.cjs.map +1 -1
  7. package/_cjs/ASTAnnotation.cjs +114 -83
  8. package/_cjs/ASTAnnotation.cjs.map +1 -1
  9. package/_cjs/ASTAnnotationMap.cjs +43 -32
  10. package/_cjs/ASTAnnotationMap.cjs.map +1 -1
  11. package/_cjs/Eq.cjs +113 -145
  12. package/_cjs/Eq.cjs.map +1 -1
  13. package/_cjs/Gen.cjs +131 -167
  14. package/_cjs/Gen.cjs.map +1 -1
  15. package/_cjs/Guard.cjs +167 -267
  16. package/_cjs/Guard.cjs.map +1 -1
  17. package/_cjs/InvalidInterpretationError.cjs +9 -15
  18. package/_cjs/InvalidInterpretationError.cjs.map +1 -1
  19. package/_cjs/ParseError/ParseError.cjs +285 -209
  20. package/_cjs/ParseError/ParseError.cjs.map +1 -1
  21. package/_cjs/ParseError/ParseErrorFormatter.cjs +0 -2
  22. package/_cjs/ParseError/PathFormatter.cjs +55 -87
  23. package/_cjs/ParseError/PathFormatter.cjs.map +1 -1
  24. package/_cjs/ParseError/TreeFormatter.cjs +70 -102
  25. package/_cjs/ParseError/TreeFormatter.cjs.map +1 -1
  26. package/_cjs/ParseError.cjs +35 -50
  27. package/_cjs/ParseResult.cjs +15 -15
  28. package/_cjs/ParseResult.cjs.map +1 -1
  29. package/_cjs/Parser/api.cjs +54 -50
  30. package/_cjs/Parser/api.cjs.map +1 -1
  31. package/_cjs/Parser/definition.cjs +17 -16
  32. package/_cjs/Parser/definition.cjs.map +1 -1
  33. package/_cjs/Parser/interpreter.cjs +276 -358
  34. package/_cjs/Parser/interpreter.cjs.map +1 -1
  35. package/_cjs/Parser.cjs +12 -39
  36. package/_cjs/Schema/api/conc.cjs +64 -59
  37. package/_cjs/Schema/api/conc.cjs.map +1 -1
  38. package/_cjs/Schema/api/either.cjs +73 -72
  39. package/_cjs/Schema/api/either.cjs.map +1 -1
  40. package/_cjs/Schema/api/hashMap.cjs +85 -85
  41. package/_cjs/Schema/api/hashMap.cjs.map +1 -1
  42. package/_cjs/Schema/api/hashSet.cjs +75 -69
  43. package/_cjs/Schema/api/hashSet.cjs.map +1 -1
  44. package/_cjs/Schema/api/list.cjs +74 -64
  45. package/_cjs/Schema/api/list.cjs.map +1 -1
  46. package/_cjs/Schema/api/map.cjs +81 -83
  47. package/_cjs/Schema/api/map.cjs.map +1 -1
  48. package/_cjs/Schema/api/maybe.cjs +56 -49
  49. package/_cjs/Schema/api/maybe.cjs.map +1 -1
  50. package/_cjs/Schema/api/set.cjs +68 -61
  51. package/_cjs/Schema/api/set.cjs.map +1 -1
  52. package/_cjs/Schema/api.cjs +332 -350
  53. package/_cjs/Schema/api.cjs.map +1 -1
  54. package/_cjs/Schema/definition.cjs +28 -27
  55. package/_cjs/Schema/definition.cjs.map +1 -1
  56. package/_cjs/Schema/derivations.cjs +85 -100
  57. package/_cjs/Schema/derivations.cjs.map +1 -1
  58. package/_cjs/Schema.cjs +95 -127
  59. package/_cjs/Show.cjs +91 -151
  60. package/_cjs/Show.cjs.map +1 -1
  61. package/_cjs/chunk.cjs +28 -0
  62. package/_cjs/global.cjs +0 -2
  63. package/_cjs/index.cjs +0 -2
  64. package/_cjs/utils.cjs +41 -46
  65. package/_cjs/utils.cjs.map +1 -1
  66. package/_mjs/AST.mjs +1007 -1031
  67. package/_mjs/AST.mjs.map +1 -1
  68. package/_mjs/ASTAnnotation.mjs +77 -71
  69. package/_mjs/ASTAnnotation.mjs.map +1 -1
  70. package/_mjs/ASTAnnotationMap.mjs +36 -25
  71. package/_mjs/ASTAnnotationMap.mjs.map +1 -1
  72. package/_mjs/Eq.mjs +101 -134
  73. package/_mjs/Eq.mjs.map +1 -1
  74. package/_mjs/Gen.mjs +117 -157
  75. package/_mjs/Gen.mjs.map +1 -1
  76. package/_mjs/Guard.mjs +154 -257
  77. package/_mjs/Guard.mjs.map +1 -1
  78. package/_mjs/InvalidInterpretationError.mjs +8 -9
  79. package/_mjs/InvalidInterpretationError.mjs.map +1 -1
  80. package/_mjs/ParseError/ParseError.mjs +270 -190
  81. package/_mjs/ParseError/ParseError.mjs.map +1 -1
  82. package/_mjs/ParseError/ParseErrorFormatter.mjs +0 -2
  83. package/_mjs/ParseError/PathFormatter.mjs +51 -80
  84. package/_mjs/ParseError/PathFormatter.mjs.map +1 -1
  85. package/_mjs/ParseError/TreeFormatter.mjs +62 -94
  86. package/_mjs/ParseError/TreeFormatter.mjs.map +1 -1
  87. package/_mjs/ParseError.mjs +5 -6
  88. package/_mjs/ParseResult.mjs +13 -9
  89. package/_mjs/ParseResult.mjs.map +1 -1
  90. package/_mjs/Parser/api.mjs +43 -39
  91. package/_mjs/Parser/api.mjs.map +1 -1
  92. package/_mjs/Parser/definition.mjs +12 -8
  93. package/_mjs/Parser/definition.mjs.map +1 -1
  94. package/_mjs/Parser/interpreter.mjs +262 -348
  95. package/_mjs/Parser/interpreter.mjs.map +1 -1
  96. package/_mjs/Parser.mjs +4 -5
  97. package/_mjs/Schema/api/conc.mjs +41 -45
  98. package/_mjs/Schema/api/conc.mjs.map +1 -1
  99. package/_mjs/Schema/api/either.mjs +55 -61
  100. package/_mjs/Schema/api/either.mjs.map +1 -1
  101. package/_mjs/Schema/api/hashMap.mjs +61 -71
  102. package/_mjs/Schema/api/hashMap.mjs.map +1 -1
  103. package/_mjs/Schema/api/hashSet.mjs +53 -56
  104. package/_mjs/Schema/api/hashSet.mjs.map +1 -1
  105. package/_mjs/Schema/api/list.mjs +50 -51
  106. package/_mjs/Schema/api/list.mjs.map +1 -1
  107. package/_mjs/Schema/api/map.mjs +59 -69
  108. package/_mjs/Schema/api/map.mjs.map +1 -1
  109. package/_mjs/Schema/api/maybe.mjs +34 -36
  110. package/_mjs/Schema/api/maybe.mjs.map +1 -1
  111. package/_mjs/Schema/api/set.mjs +47 -48
  112. package/_mjs/Schema/api/set.mjs.map +1 -1
  113. package/_mjs/Schema/api.mjs +304 -346
  114. package/_mjs/Schema/api.mjs.map +1 -1
  115. package/_mjs/Schema/definition.mjs +21 -18
  116. package/_mjs/Schema/definition.mjs.map +1 -1
  117. package/_mjs/Schema/derivations.mjs +71 -90
  118. package/_mjs/Schema/derivations.mjs.map +1 -1
  119. package/_mjs/Schema.mjs +12 -15
  120. package/_mjs/Show.mjs +79 -139
  121. package/_mjs/Show.mjs.map +1 -1
  122. package/_mjs/global.mjs +0 -2
  123. package/_mjs/index.mjs +0 -2
  124. package/_mjs/utils.mjs +35 -37
  125. package/_mjs/utils.mjs.map +1 -1
  126. package/_src/AST.ts +226 -28
  127. package/_src/ASTAnnotationMap.ts +14 -1
  128. package/_src/ParseError/ParseError.ts +128 -13
  129. package/_src/Schema/api/hashMap.ts +1 -1
  130. package/_src/Schema/api/hashSet.ts +1 -1
  131. package/_src/Schema/api/list.ts +3 -1
  132. package/_src/Schema/api/map.ts +1 -1
  133. package/_src/Schema/api/set.ts +1 -1
  134. package/package.json +7 -3
  135. package/_cjs/ParseError/ParseErrorFormatter.cjs.map +0 -1
  136. package/_cjs/ParseError.cjs.map +0 -1
  137. package/_cjs/Parser.cjs.map +0 -1
  138. package/_cjs/Schema.cjs.map +0 -1
  139. package/_cjs/global.cjs.map +0 -1
  140. package/_cjs/index.cjs.map +0 -1
  141. package/_mjs/ParseError/ParseErrorFormatter.mjs.map +0 -1
  142. package/_mjs/ParseError.mjs.map +0 -1
  143. package/_mjs/Parser.mjs.map +0 -1
  144. package/_mjs/Schema.mjs.map +0 -1
  145. package/_mjs/global.mjs.map +0 -1
  146. package/_mjs/index.mjs.map +0 -1
package/_cjs/utils.cjs CHANGED
@@ -1,57 +1,52 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.formatUnknown = formatUnknown;
7
- exports.getKeysForIndexSignature = getKeysForIndexSignature;
8
- exports.getTemplateLiteralRegex = getTemplateLiteralRegex;
9
- exports.memoize = memoize;
10
- exports.ownKeys = ownKeys;
11
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
12
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/schema/AST"));
13
- var _Showable = /*#__PURE__*/require("@fncts/base/data/Showable");
14
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("./chunk.cjs");
3
+ let _fncts_base_collection_immutable_Vector_api = require("@fncts/base/collection/immutable/Vector/api");
4
+ _fncts_base_collection_immutable_Vector_api = require_chunk.__toESM(_fncts_base_collection_immutable_Vector_api, 1);
5
+ let _fncts_schema_AST = require("@fncts/schema/AST");
6
+ _fncts_schema_AST = require_chunk.__toESM(_fncts_schema_AST, 1);
7
+ let _fncts_base_data_Showable = require("@fncts/base/data/Showable");
8
+ //#region build/esm/utils.js
15
9
  function memoize(f) {
16
- const cache = new Map();
17
- return a => {
18
- if (!cache.has(a)) {
19
- const b = f(a);
20
- cache.set(a, b);
21
- return b;
22
- }
23
- return cache.get(a);
24
- };
10
+ const cache = /* @__PURE__ */ new Map();
11
+ return (a) => {
12
+ if (!cache.has(a)) {
13
+ const b = f(a);
14
+ cache.set(a, b);
15
+ return b;
16
+ }
17
+ return cache.get(a);
18
+ };
25
19
  }
26
20
  function ownKeys(o) {
27
- return o ? tsplus_module_1.from(Reflect.ownKeys(o)) : tsplus_module_1.empty();
21
+ return o ? _fncts_base_collection_immutable_Vector_api.from(Reflect.ownKeys(o)) : _fncts_base_collection_immutable_Vector_api.empty();
28
22
  }
29
23
  function getTemplateLiteralRegex(ast) {
30
- let pattern = `^${ast.head}`;
31
- for (const span of ast.spans) {
32
- if (tsplus_module_2.isStringKeyword(span.type)) {
33
- pattern += ".*";
34
- } else if (tsplus_module_2.isNumberKeyword(span.type)) {
35
- pattern += "-?\\d+(\\.\\d+)?";
36
- }
37
- pattern += span.literal;
38
- }
39
- pattern += "$";
40
- return new RegExp(pattern);
24
+ let pattern = `^${ast.head}`;
25
+ for (const span of ast.spans) {
26
+ if (_fncts_schema_AST.isStringKeyword(span.type)) pattern += ".*";
27
+ else if (_fncts_schema_AST.isNumberKeyword(span.type)) pattern += "-?\\d+(\\.\\d+)?";
28
+ pattern += span.literal;
29
+ }
30
+ pattern += "$";
31
+ return new RegExp(pattern);
41
32
  }
42
33
  function getKeysForIndexSignature(input, parameter) {
43
- switch (parameter._tag) {
44
- case 9 /* ASTTag.NumberKeyword */:
45
- case 8 /* ASTTag.StringKeyword */:
46
- case 15 /* ASTTag.TemplateLiteral */:
47
- return tsplus_module_1.from(Object.keys(input));
48
- case 12 /* ASTTag.SymbolKeyword */:
49
- return tsplus_module_1.from(Object.getOwnPropertySymbols(input));
50
- case 20 /* ASTTag.Refinement */:
51
- return getKeysForIndexSignature(input, parameter.from);
52
- }
34
+ switch (parameter._tag) {
35
+ case 9:
36
+ case 8:
37
+ case 15: return _fncts_base_collection_immutable_Vector_api.from(Object.keys(input));
38
+ case 12: return _fncts_base_collection_immutable_Vector_api.from(Object.getOwnPropertySymbols(input));
39
+ case 20: return getKeysForIndexSignature(input, parameter.from);
40
+ }
53
41
  }
54
42
  function formatUnknown(u) {
55
- return (0, _Showable.showWithOptions)(u, {});
43
+ return (0, _fncts_base_data_Showable.showWithOptions)(u, {});
56
44
  }
45
+ //#endregion
46
+ exports.formatUnknown = formatUnknown;
47
+ exports.getKeysForIndexSignature = getKeysForIndexSignature;
48
+ exports.getTemplateLiteralRegex = getTemplateLiteralRegex;
49
+ exports.memoize = memoize;
50
+ exports.ownKeys = ownKeys;
51
+
57
52
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["_Showable","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","memoize","cache","Map","a","b","ownKeys","tsplus_module_1","from","Reflect","empty","getTemplateLiteralRegex","ast","pattern","head","span","spans","tsplus_module_2","isStringKeyword","type","isNumberKeyword","literal","RegExp","getKeysForIndexSignature","input","parameter","_tag","keys","getOwnPropertySymbols","formatUnknown","u","showWithOptions"],"sources":["../_src/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;AAEA,IAAAA,SAAA,gBAAAC,OAAA;AAA4D,SAAAC,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAItD,SAAUkB,OAAOA,CAAOX,CAAc;EAC1C,MAAMY,KAAK,GAAG,IAAIC,GAAG,EAAE;EACvB,OAAQC,CAAC,IAAI;IACX,IAAI,CAACF,KAAK,CAACT,GAAG,CAACW,CAAC,CAAC,EAAE;MACjB,MAAMC,CAAC,GAAGf,CAAC,CAACc,CAAC,CAAC;MACdF,KAAK,CAACP,GAAG,CAACS,CAAC,EAAEC,CAAC,CAAC;MACf,OAAOA,CAAC;IACV;IACA,OAAOH,KAAK,CAACR,GAAG,CAACU,CAAC,CAAC;EACrB,CAAC;AACH;AAEM,SAAUE,OAAOA,CAAClB,CAAqB;EAC3C,OAAOA,CAAC,GAAGmB,eAAA,CAAAC,IAAA,CAAYC,OAAO,CAACH,OAAO,CAAClB,CAAC,CAAC,CAAC,GAAGmB,eAAA,CAAAG,KAAA,EAAc;AAC7D;AAEM,SAAUC,uBAAuBA,CAACC,GAAoB;EAC1D,IAAIC,OAAO,GAAG,IAAID,GAAG,CAACE,IAAI,EAAE;EAC5B,KAAK,MAAMC,IAAI,IAAIH,GAAG,CAACI,KAAK,EAAE;IAC5B,IAAIC,eAAA,CAAAC,eAAA,CAAAH,IAAI,CAACI,IAAI,CAAkB,EAAE;MAC/BN,OAAO,IAAI,IAAI;IACjB,CAAC,MAAM,IAAII,eAAA,CAAAG,eAAA,CAAAL,IAAI,CAACI,IAAI,CAAkB,EAAE;MACtCN,OAAO,IAAI,kBAAkB;IAC/B;IACAA,OAAO,IAAIE,IAAI,CAACM,OAAO;EACzB;EACAR,OAAO,IAAI,GAAG;EACd,OAAO,IAAIS,MAAM,CAACT,OAAO,CAAC;AAC5B;AAEM,SAAUU,wBAAwBA,CACtCC,KAA6C,EAC7CC,SAAsC;EAEtC,QAAQA,SAAS,CAACC,IAAI;IACpB;IACA;IACA;MACE,OAAOnB,eAAA,CAAAC,IAAA,CAAYV,MAAM,CAAC6B,IAAI,CAACH,KAAK,CAAC,CAAC;IACxC;MACE,OAAOjB,eAAA,CAAAC,IAAA,CAAYV,MAAM,CAAC8B,qBAAqB,CAACJ,KAAK,CAAC,CAAC;IACzD;MACE,OAAOD,wBAAwB,CAACC,KAAK,EAAEC,SAAS,CAACjB,IAAW,CAAC;EACjE;AACF;AAEM,SAAUqB,aAAaA,CAACC,CAAU;EACtC,OAAO,IAAAC,yBAAe,EAACD,CAAC,EAAE,EAAE,CAAC;AAC/B","ignoreList":[]}
1
+ {"version":3,"file":"utils.cjs","names":["tsplus_module_1","tsplus_module_2"],"sources":["../esm/utils.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_2 from \"@fncts/schema/AST\";\nimport { showWithOptions } from \"@fncts/base/data/Showable\";\nexport function memoize(f) {\n const cache = new Map();\n return (a) => {\n if (!cache.has(a)) {\n const b = f(a);\n cache.set(a, b);\n return b;\n }\n return cache.get(a);\n };\n}\nexport function ownKeys(o) {\n return o ? tsplus_module_1.from(Reflect.ownKeys(o)) : tsplus_module_1.empty();\n}\nexport function getTemplateLiteralRegex(ast) {\n let pattern = `^${ast.head}`;\n for (const span of ast.spans) {\n if (tsplus_module_2.isStringKeyword(span.type)) {\n pattern += \".*\";\n }\n else if (tsplus_module_2.isNumberKeyword(span.type)) {\n pattern += \"-?\\\\d+(\\\\.\\\\d+)?\";\n }\n pattern += span.literal;\n }\n pattern += \"$\";\n return new RegExp(pattern);\n}\nexport function getKeysForIndexSignature(input, parameter) {\n switch (parameter._tag) {\n case 9 /* ASTTag.NumberKeyword */:\n case 8 /* ASTTag.StringKeyword */:\n case 15 /* ASTTag.TemplateLiteral */:\n return tsplus_module_1.from(Object.keys(input));\n case 12 /* ASTTag.SymbolKeyword */:\n return tsplus_module_1.from(Object.getOwnPropertySymbols(input));\n case 20 /* ASTTag.Refinement */:\n return getKeysForIndexSignature(input, parameter.from);\n }\n}\nexport function formatUnknown(u) {\n return showWithOptions(u, {});\n}\n//# sourceMappingURL=utils.js.map"],"mappings":";;;;;;;;AAGA,SAAgB,QAAQ,GAAG;CACvB,MAAM,wBAAQ,IAAI,KAAK;AACvB,SAAQ,MAAM;AACV,MAAI,CAAC,MAAM,IAAI,EAAE,EAAE;GACf,MAAM,IAAI,EAAE,EAAE;AACd,SAAM,IAAI,GAAG,EAAE;AACf,UAAO;;AAEX,SAAO,MAAM,IAAI,EAAE;;;AAG3B,SAAgB,QAAQ,GAAG;AACvB,QAAO,IAAIA,4CAAgB,KAAK,QAAQ,QAAQ,EAAE,CAAC,GAAGA,4CAAgB,OAAO;;AAEjF,SAAgB,wBAAwB,KAAK;CACzC,IAAI,UAAU,IAAI,IAAI;AACtB,MAAK,MAAM,QAAQ,IAAI,OAAO;AAC1B,MAAIC,kBAAgB,gBAAgB,KAAK,KAAK,CAC1C,YAAW;WAENA,kBAAgB,gBAAgB,KAAK,KAAK,CAC/C,YAAW;AAEf,aAAW,KAAK;;AAEpB,YAAW;AACX,QAAO,IAAI,OAAO,QAAQ;;AAE9B,SAAgB,yBAAyB,OAAO,WAAW;AACvD,SAAQ,UAAU,MAAlB;EACI,KAAK;EACL,KAAK;EACL,KAAK,GACD,QAAOD,4CAAgB,KAAK,OAAO,KAAK,MAAM,CAAC;EACnD,KAAK,GACD,QAAOA,4CAAgB,KAAK,OAAO,sBAAsB,MAAM,CAAC;EACpE,KAAK,GACD,QAAO,yBAAyB,OAAO,UAAU,KAAK;;;AAGlE,SAAgB,cAAc,GAAG;AAC7B,SAAA,GAAA,0BAAA,iBAAuB,GAAG,EAAE,CAAC"}