sass-embedded 1.0.0-beta.1 → 1.0.0-beta.7

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 (116) hide show
  1. package/CHANGELOG.md +49 -1
  2. package/README.md +3 -3
  3. package/dist/.gitignore +2 -1
  4. package/dist/lib/index.js +29 -2
  5. package/dist/lib/index.js.map +1 -1
  6. package/dist/lib/src/{embedded/compiler.js → async-compiler.js} +13 -13
  7. package/dist/lib/src/async-compiler.js.map +1 -0
  8. package/dist/lib/src/compile.js +170 -69
  9. package/dist/lib/src/compile.js.map +1 -1
  10. package/dist/lib/src/compiler-path.js +18 -0
  11. package/dist/lib/src/compiler-path.js.map +1 -0
  12. package/dist/lib/src/deprotofy-span.js +51 -0
  13. package/dist/lib/src/deprotofy-span.js.map +1 -0
  14. package/dist/lib/src/{embedded/dispatcher.js → dispatcher.js} +63 -57
  15. package/dist/lib/src/dispatcher.js.map +1 -0
  16. package/dist/lib/src/exception.js +20 -0
  17. package/dist/lib/src/exception.js.map +1 -0
  18. package/dist/lib/src/function-registry.js +81 -0
  19. package/dist/lib/src/function-registry.js.map +1 -0
  20. package/dist/lib/src/legacy.js +133 -0
  21. package/dist/lib/src/legacy.js.map +1 -0
  22. package/dist/lib/src/{embedded/message-transformer.js → message-transformer.js} +35 -34
  23. package/dist/lib/src/message-transformer.js.map +1 -0
  24. package/dist/lib/src/{embedded/packet-transformer.js → packet-transformer.js} +2 -1
  25. package/dist/lib/src/packet-transformer.js.map +1 -0
  26. package/dist/lib/src/protofier.js +205 -0
  27. package/dist/lib/src/protofier.js.map +1 -0
  28. package/dist/lib/src/{embedded/request-tracker.js → request-tracker.js} +1 -0
  29. package/dist/lib/src/request-tracker.js.map +1 -0
  30. package/dist/lib/src/sync-compiler.js +52 -0
  31. package/dist/lib/src/sync-compiler.js.map +1 -0
  32. package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
  33. package/dist/lib/src/sync-process/event.js.map +1 -0
  34. package/dist/lib/src/sync-process/index.js +122 -0
  35. package/dist/lib/src/sync-process/index.js.map +1 -0
  36. package/dist/lib/src/sync-process/sync-message-port.js +128 -0
  37. package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
  38. package/dist/lib/src/sync-process/worker.js +51 -0
  39. package/dist/lib/src/sync-process/worker.js.map +1 -0
  40. package/dist/lib/src/utils.js +64 -42
  41. package/dist/lib/src/utils.js.map +1 -1
  42. package/dist/lib/src/value/boolean.js +40 -0
  43. package/dist/lib/src/value/boolean.js.map +1 -0
  44. package/dist/lib/src/value/color.js +258 -0
  45. package/dist/lib/src/value/color.js.map +1 -0
  46. package/dist/lib/src/value/index.js +147 -0
  47. package/dist/lib/src/value/index.js.map +1 -0
  48. package/dist/lib/src/value/list.js +99 -0
  49. package/dist/lib/src/value/list.js.map +1 -0
  50. package/dist/lib/src/value/map.js +91 -0
  51. package/dist/lib/src/value/map.js.map +1 -0
  52. package/dist/lib/src/value/null.js +35 -0
  53. package/dist/lib/src/value/null.js.map +1 -0
  54. package/dist/lib/src/value/number.js +579 -0
  55. package/dist/lib/src/value/number.js.map +1 -0
  56. package/dist/lib/src/value/string.js +117 -0
  57. package/dist/lib/src/value/string.js.map +1 -0
  58. package/dist/lib/src/value/utils.js +120 -0
  59. package/dist/lib/src/value/utils.js.map +1 -0
  60. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1738 -261
  61. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
  62. package/dist/package.json +63 -0
  63. package/dist/tool/utils.js +78 -90
  64. package/dist/tool/utils.js.map +1 -1
  65. package/dist/types/compile.d.ts +152 -0
  66. package/dist/types/exception.d.ts +41 -0
  67. package/dist/types/importer.d.ts +294 -0
  68. package/dist/types/index.d.ts +76 -0
  69. package/dist/types/legacy/exception.d.ts +54 -0
  70. package/dist/types/legacy/function.d.ts +652 -0
  71. package/dist/types/legacy/importer.d.ts +168 -0
  72. package/dist/types/legacy/options.d.ts +642 -0
  73. package/dist/types/legacy/plugin_this.d.ts +70 -0
  74. package/dist/types/legacy/render.d.ts +139 -0
  75. package/dist/types/logger/index.d.ts +94 -0
  76. package/dist/types/logger/source_location.d.ts +21 -0
  77. package/dist/types/logger/source_span.d.ts +34 -0
  78. package/dist/types/options.d.ts +408 -0
  79. package/dist/types/util/promise_or.d.ts +17 -0
  80. package/dist/types/value/argument_list.d.ts +47 -0
  81. package/dist/types/value/boolean.d.ts +29 -0
  82. package/dist/types/value/color.d.ts +107 -0
  83. package/dist/types/value/function.d.ts +22 -0
  84. package/dist/types/value/index.d.ts +173 -0
  85. package/dist/types/value/list.d.ts +54 -0
  86. package/dist/types/value/map.d.ts +41 -0
  87. package/dist/types/value/number.d.ts +305 -0
  88. package/dist/types/value/string.d.ts +84 -0
  89. package/download-compiler-for-end-user.js +1 -6
  90. package/package.json +25 -21
  91. package/dist/lib/index.d.ts +0 -1
  92. package/dist/lib/src/compile.d.ts +0 -20
  93. package/dist/lib/src/embedded/compiler.d.ts +0 -19
  94. package/dist/lib/src/embedded/compiler.js.map +0 -1
  95. package/dist/lib/src/embedded/dispatcher.d.ts +0 -60
  96. package/dist/lib/src/embedded/dispatcher.js.map +0 -1
  97. package/dist/lib/src/embedded/message-transformer.d.ts +0 -47
  98. package/dist/lib/src/embedded/message-transformer.js.map +0 -1
  99. package/dist/lib/src/embedded/packet-transformer.d.ts +0 -34
  100. package/dist/lib/src/embedded/packet-transformer.js.map +0 -1
  101. package/dist/lib/src/embedded/request-tracker.d.ts +0 -20
  102. package/dist/lib/src/embedded/request-tracker.js.map +0 -1
  103. package/dist/lib/src/exception/exception.d.ts +0 -19
  104. package/dist/lib/src/exception/exception.js +0 -36
  105. package/dist/lib/src/exception/exception.js.map +0 -1
  106. package/dist/lib/src/exception/location.d.ts +0 -11
  107. package/dist/lib/src/exception/location.js +0 -6
  108. package/dist/lib/src/exception/location.js.map +0 -1
  109. package/dist/lib/src/exception/span.d.ts +0 -29
  110. package/dist/lib/src/exception/span.js.map +0 -1
  111. package/dist/lib/src/node-sass/render.d.ts +0 -60
  112. package/dist/lib/src/node-sass/render.js +0 -125
  113. package/dist/lib/src/node-sass/render.js.map +0 -1
  114. package/dist/lib/src/utils.d.ts +0 -14
  115. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
  116. package/dist/tool/utils.d.ts +0 -29
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ // Copyright 2021 Google Inc. Use of this source code is governed by an
3
+ // MIT-style license that can be found in the LICENSE file or at
4
+ // https://opensource.org/licenses/MIT.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SassString = void 0;
7
+ const immutable_1 = require("immutable");
8
+ const index_1 = require("./index");
9
+ const utils_1 = require("../utils");
10
+ /** A SassScript string. */
11
+ class SassString extends index_1.Value {
12
+ constructor(textOrOptions, options) {
13
+ var _a, _b;
14
+ super();
15
+ if (typeof textOrOptions === 'string') {
16
+ this.textInternal = textOrOptions;
17
+ this.hasQuotesInternal = (_a = options === null || options === void 0 ? void 0 : options.quotes) !== null && _a !== void 0 ? _a : true;
18
+ }
19
+ else {
20
+ this.textInternal = '';
21
+ this.hasQuotesInternal = (_b = textOrOptions === null || textOrOptions === void 0 ? void 0 : textOrOptions.quotes) !== null && _b !== void 0 ? _b : true;
22
+ }
23
+ }
24
+ /** Creates an empty string, optionally with quotes. */
25
+ static empty(options) {
26
+ return options === undefined || (options === null || options === void 0 ? void 0 : options.quotes)
27
+ ? emptyQuoted
28
+ : emptyUnquoted;
29
+ }
30
+ /** `this`'s text. */
31
+ get text() {
32
+ return this.textInternal;
33
+ }
34
+ /** Whether `this` has quotes. */
35
+ get hasQuotes() {
36
+ return this.hasQuotesInternal;
37
+ }
38
+ assertString() {
39
+ return this;
40
+ }
41
+ /**
42
+ * Sass's notion of `this`'s length.
43
+ *
44
+ * Sass treats strings as a series of Unicode code points while JS treats them
45
+ * as a series of UTF-16 code units. For example, the character U+1F60A,
46
+ * Smiling Face With Smiling Eyes, is a single Unicode code point but is
47
+ * represented in UTF-16 as two code units (`0xD83D` and `0xDE0A`). So in
48
+ * JS, `"n😊b".length` returns `4`, whereas in Sass `string.length("n😊b")`
49
+ * returns `3`.
50
+ */
51
+ get sassLength() {
52
+ let length = 0;
53
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
+ for (const codepoint of this.text) {
55
+ length++;
56
+ }
57
+ return length;
58
+ }
59
+ /**
60
+ * Converts `sassIndex` to a JS index into `text`.
61
+ *
62
+ * Sass indices are one-based, while JS indices are zero-based. Sass
63
+ * indices may also be negative in order to index from the end of the string.
64
+ *
65
+ * In addition, Sass indices refer to Unicode code points while JS string
66
+ * indices refer to UTF-16 code units. For example, the character U+1F60A,
67
+ * Smiling Face With Smiling Eyes, is a single Unicode code point but is
68
+ * represented in UTF-16 as two code units (`0xD83D` and `0xDE0A`). So in
69
+ * JS, `"n😊b".charAt(1)` returns `0xD83D`, whereas in Sass
70
+ * `string.slice("n😊b", 1, 1)` returns `"😊"`.
71
+ *
72
+ * This function converts Sass's code point indices to JS's code unit
73
+ * indices. This means it's O(n) in the length of `text`.
74
+ *
75
+ * Throws an error `sassIndex` isn't a number, if that number isn't an
76
+ * integer, or if that integer isn't a valid index for this string.
77
+ *
78
+ * If `sassIndex` came from a function argument, `name` is the argument name
79
+ * (without the `$`) and is used for error reporting.
80
+ */
81
+ sassIndexToStringIndex(sassIndex, name) {
82
+ let sassIdx = sassIndex.assertNumber().assertInt();
83
+ if (sassIdx === 0) {
84
+ throw (0, utils_1.valueError)('String index may not be 0', name);
85
+ }
86
+ const sassLength = this.sassLength;
87
+ if (Math.abs(sassIdx) > sassLength) {
88
+ throw (0, utils_1.valueError)(`Invalid index ${sassIdx} for a string with ${sassLength} characters`, name);
89
+ }
90
+ if (sassIdx < 0)
91
+ sassIdx += sassLength + 1;
92
+ let pointer = 1;
93
+ let idx = 0;
94
+ for (const codePoint of this.text) {
95
+ if (pointer === sassIdx)
96
+ break;
97
+ idx += codePoint.length;
98
+ pointer++;
99
+ }
100
+ return idx;
101
+ }
102
+ equals(other) {
103
+ return other instanceof SassString && this.text === other.text;
104
+ }
105
+ hashCode() {
106
+ return (0, immutable_1.hash)(this.text);
107
+ }
108
+ toString() {
109
+ return this.hasQuotes ? `"${this.text}"` : this.text;
110
+ }
111
+ }
112
+ exports.SassString = SassString;
113
+ // A quoted empty string returned by `SassString.empty()`.
114
+ const emptyQuoted = new SassString('', { quotes: true });
115
+ // An unquoted empty string returned by `SassString.empty()`.
116
+ const emptyUnquoted = new SassString('', { quotes: false });
117
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../lib/src/value/string.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ // Copyright 2021 Google Inc. Use of this source code is governed by an
3
+ // MIT-style license that can be found in the LICENSE file or at
4
+ // https://opensource.org/licenses/MIT.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.positiveMod = exports.fuzzyAssertInRange = exports.fuzzyInRange = exports.fuzzyRound = exports.fuzzyAsInt = exports.fuzzyIsInt = exports.fuzzyGreaterThanOrEquals = exports.fuzzyGreaterThan = exports.fuzzyLessThanOrEquals = exports.fuzzyLessThan = exports.fuzzyHashCode = exports.fuzzyEquals = exports.precision = void 0;
7
+ const immutable_1 = require("immutable");
8
+ const utils_1 = require("../utils");
9
+ /** The precision of Sass numbers. */
10
+ exports.precision = 10;
11
+ // The max distance two Sass numbers can be from each another before they're
12
+ // considered different.
13
+ //
14
+ // Uses ** instead of Math.pow() for constant folding.
15
+ const epsilon = 10 ** (-exports.precision - 1);
16
+ /** Whether `num1` and `num2` are equal within `epsilon`. */
17
+ function fuzzyEquals(num1, num2) {
18
+ return Math.abs(num1 - num2) < epsilon;
19
+ }
20
+ exports.fuzzyEquals = fuzzyEquals;
21
+ /**
22
+ * Returns a hash code for `num`.
23
+ *
24
+ * Two numbers that `fuzzyEquals` each other must have the same hash code.
25
+ */
26
+ function fuzzyHashCode(num) {
27
+ return !isFinite(num) || isNaN(num)
28
+ ? (0, immutable_1.hash)(num)
29
+ : (0, immutable_1.hash)(Math.round(num / epsilon));
30
+ }
31
+ exports.fuzzyHashCode = fuzzyHashCode;
32
+ /** Whether `num1` < `num2`, within `epsilon`. */
33
+ function fuzzyLessThan(num1, num2) {
34
+ return num1 < num2 && !fuzzyEquals(num1, num2);
35
+ }
36
+ exports.fuzzyLessThan = fuzzyLessThan;
37
+ /** Whether `num1` <= `num2`, within `epsilon`. */
38
+ function fuzzyLessThanOrEquals(num1, num2) {
39
+ return num1 < num2 || fuzzyEquals(num1, num2);
40
+ }
41
+ exports.fuzzyLessThanOrEquals = fuzzyLessThanOrEquals;
42
+ /** Whether `num1` > `num2`, within `epsilon`. */
43
+ function fuzzyGreaterThan(num1, num2) {
44
+ return num1 > num2 && !fuzzyEquals(num1, num2);
45
+ }
46
+ exports.fuzzyGreaterThan = fuzzyGreaterThan;
47
+ /** Whether `num1` >= `num2`, within `epsilon`. */
48
+ function fuzzyGreaterThanOrEquals(num1, num2) {
49
+ return num1 > num2 || fuzzyEquals(num1, num2);
50
+ }
51
+ exports.fuzzyGreaterThanOrEquals = fuzzyGreaterThanOrEquals;
52
+ /** Whether `num` `fuzzyEquals` an integer. */
53
+ function fuzzyIsInt(num) {
54
+ return !isFinite(num) || isNaN(num)
55
+ ? false
56
+ : // Check against 0.5 rather than 0.0 so that we catch numbers that are
57
+ // both very slightly above an integer, and very slightly below.
58
+ fuzzyEquals(Math.abs(num - 0.5) % 1, 0.5);
59
+ }
60
+ exports.fuzzyIsInt = fuzzyIsInt;
61
+ /**
62
+ * If `num` `fuzzyIsInt`, returns it as an integer. Otherwise, returns `null`.
63
+ */
64
+ function fuzzyAsInt(num) {
65
+ return fuzzyIsInt(num) ? Math.round(num) : null;
66
+ }
67
+ exports.fuzzyAsInt = fuzzyAsInt;
68
+ /**
69
+ * Rounds `num` to the nearest integer.
70
+ *
71
+ * If `num` `fuzzyEquals` `x.5`, rounds away from zero.
72
+ */
73
+ function fuzzyRound(num) {
74
+ if (num > 0) {
75
+ return fuzzyLessThan(num % 1, 0.5) ? Math.floor(num) : Math.ceil(num);
76
+ }
77
+ else {
78
+ return fuzzyGreaterThan(num % 1, -0.5) ? Math.ceil(num) : Math.floor(num);
79
+ }
80
+ }
81
+ exports.fuzzyRound = fuzzyRound;
82
+ /**
83
+ * Returns `num` if it's within `min` and `max`, or `null` if it's not.
84
+ *
85
+ * If `num` `fuzzyEquals` `min` or `max`, it gets clamped to that value.
86
+ */
87
+ function fuzzyInRange(num, min, max) {
88
+ if (fuzzyEquals(num, min))
89
+ return min;
90
+ if (fuzzyEquals(num, max))
91
+ return max;
92
+ if (num > min && num < max)
93
+ return num;
94
+ return null;
95
+ }
96
+ exports.fuzzyInRange = fuzzyInRange;
97
+ /**
98
+ * Returns `num` if it's within `min` and `max`. Otherwise, throws an error.
99
+ *
100
+ * If `num` `fuzzyEquals` `min` or `max`, it gets clamped to that value.
101
+ *
102
+ * If `name` is provided, it is used as the parameter name for error reporting.
103
+ */
104
+ function fuzzyAssertInRange(num, min, max, name) {
105
+ if (fuzzyEquals(num, min))
106
+ return min;
107
+ if (fuzzyEquals(num, max))
108
+ return max;
109
+ if (num > min && num < max)
110
+ return num;
111
+ throw (0, utils_1.valueError)(`${num} must be between ${min} and ${max}`, name);
112
+ }
113
+ exports.fuzzyAssertInRange = fuzzyAssertInRange;
114
+ /** Returns `dividend % modulus`, but always in the range `[0, modulus)`. */
115
+ function positiveMod(dividend, modulus) {
116
+ const result = dividend % modulus;
117
+ return result < 0 ? result + modulus : result;
118
+ }
119
+ exports.positiveMod = positiveMod;
120
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/src/value/utils.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA+B;AAE/B,oCAAoC;AAEpC,qCAAqC;AACxB,QAAA,SAAS,GAAG,EAAE,CAAC;AAE5B,4EAA4E;AAC5E,wBAAwB;AACxB,EAAE;AACF,sDAAsD;AACtD,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,iBAAS,GAAG,CAAC,CAAC,CAAC;AAEvC,4DAA4D;AAC5D,SAAgB,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;AACzC,CAAC;AAFD,kCAEC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QACjC,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,CAAC;QACX,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC;AAJD,sCAIC;AAED,iDAAiD;AACjD,SAAgB,aAAa,CAAC,IAAY,EAAE,IAAY;IACtD,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAFD,sCAEC;AAED,kDAAkD;AAClD,SAAgB,qBAAqB,CAAC,IAAY,EAAE,IAAY;IAC9D,OAAO,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,sDAEC;AAED,iDAAiD;AACjD,SAAgB,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACzD,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAFD,4CAEC;AAED,kDAAkD;AAClD,SAAgB,wBAAwB,CAAC,IAAY,EAAE,IAAY;IACjE,OAAO,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,4DAEC;AAED,8CAA8C;AAC9C,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QACjC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,sEAAsE;YACtE,gEAAgE;YAChE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAND,gCAMC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,IAAI,GAAG,GAAG,CAAC,EAAE;QACX,OAAO,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvE;SAAM;QACL,OAAO,gBAAgB,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3E;AACH,CAAC;AAND,gCAMC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,GAAW,EACX,GAAW,EACX,GAAW;IAEX,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,GAAG,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AATD,oCASC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,GAAW,EACX,GAAW,EACX,GAAW,EACX,IAAa;IAEb,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,GAAG,CAAC;IACvC,MAAM,IAAA,kBAAU,EAAC,GAAG,GAAG,oBAAoB,GAAG,QAAQ,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAVD,gDAUC;AAED,4EAA4E;AAC5E,SAAgB,WAAW,CAAC,QAAgB,EAAE,OAAe;IAC3D,MAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClC,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAHD,kCAGC"}