@raystack/apsara 0.48.5 → 0.49.1

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 (115) hide show
  1. package/dist/components/amount/amount.cjs +39 -17
  2. package/dist/components/amount/amount.cjs.map +1 -1
  3. package/dist/components/amount/amount.d.ts +2 -1
  4. package/dist/components/amount/amount.d.ts.map +1 -1
  5. package/dist/components/amount/amount.js +39 -17
  6. package/dist/components/amount/amount.js.map +1 -1
  7. package/dist/components/calendar/range-picker.cjs +19 -18
  8. package/dist/components/calendar/range-picker.cjs.map +1 -1
  9. package/dist/components/calendar/range-picker.d.ts +5 -4
  10. package/dist/components/calendar/range-picker.d.ts.map +1 -1
  11. package/dist/components/calendar/range-picker.js +19 -18
  12. package/dist/components/calendar/range-picker.js.map +1 -1
  13. package/dist/components/color-picker/color-picker-alpha.cjs +15 -0
  14. package/dist/components/color-picker/color-picker-alpha.cjs.map +1 -0
  15. package/dist/components/color-picker/color-picker-alpha.d.ts +5 -0
  16. package/dist/components/color-picker/color-picker-alpha.d.ts.map +1 -0
  17. package/dist/components/color-picker/color-picker-alpha.js +13 -0
  18. package/dist/components/color-picker/color-picker-alpha.js.map +1 -0
  19. package/dist/components/color-picker/color-picker-area.cjs +73 -0
  20. package/dist/components/color-picker/color-picker-area.cjs.map +1 -0
  21. package/dist/components/color-picker/color-picker-area.d.ts +4 -0
  22. package/dist/components/color-picker/color-picker-area.d.ts.map +1 -0
  23. package/dist/components/color-picker/color-picker-area.js +71 -0
  24. package/dist/components/color-picker/color-picker-area.js.map +1 -0
  25. package/dist/components/color-picker/color-picker-hue.cjs +15 -0
  26. package/dist/components/color-picker/color-picker-hue.cjs.map +1 -0
  27. package/dist/components/color-picker/color-picker-hue.d.ts +5 -0
  28. package/dist/components/color-picker/color-picker-hue.d.ts.map +1 -0
  29. package/dist/components/color-picker/color-picker-hue.js +13 -0
  30. package/dist/components/color-picker/color-picker-hue.js.map +1 -0
  31. package/dist/components/color-picker/color-picker-input.cjs +16 -0
  32. package/dist/components/color-picker/color-picker-input.cjs.map +1 -0
  33. package/dist/components/color-picker/color-picker-input.d.ts +4 -0
  34. package/dist/components/color-picker/color-picker-input.d.ts.map +1 -0
  35. package/dist/components/color-picker/color-picker-input.js +14 -0
  36. package/dist/components/color-picker/color-picker-input.js.map +1 -0
  37. package/dist/components/color-picker/color-picker-mode.cjs +16 -0
  38. package/dist/components/color-picker/color-picker-mode.cjs.map +1 -0
  39. package/dist/components/color-picker/color-picker-mode.d.ts +8 -0
  40. package/dist/components/color-picker/color-picker-mode.d.ts.map +1 -0
  41. package/dist/components/color-picker/color-picker-mode.js +14 -0
  42. package/dist/components/color-picker/color-picker-mode.js.map +1 -0
  43. package/dist/components/color-picker/color-picker-root.cjs +53 -0
  44. package/dist/components/color-picker/color-picker-root.cjs.map +1 -0
  45. package/dist/components/color-picker/color-picker-root.d.ts +25 -0
  46. package/dist/components/color-picker/color-picker-root.d.ts.map +1 -0
  47. package/dist/components/color-picker/color-picker-root.js +50 -0
  48. package/dist/components/color-picker/color-picker-root.js.map +1 -0
  49. package/dist/components/color-picker/color-picker.cjs +19 -0
  50. package/dist/components/color-picker/color-picker.cjs.map +1 -0
  51. package/dist/components/color-picker/color-picker.js +17 -0
  52. package/dist/components/color-picker/color-picker.js.map +1 -0
  53. package/dist/components/color-picker/color-picker.module.css.cjs +8 -0
  54. package/dist/components/color-picker/color-picker.module.css.cjs.map +1 -0
  55. package/dist/components/color-picker/color-picker.module.css.js +4 -0
  56. package/dist/components/color-picker/color-picker.module.css.js.map +1 -0
  57. package/dist/components/color-picker/index.d.ts +2 -0
  58. package/dist/components/color-picker/index.d.ts.map +1 -0
  59. package/dist/components/color-picker/utils.cjs +18 -0
  60. package/dist/components/color-picker/utils.cjs.map +1 -0
  61. package/dist/components/color-picker/utils.d.ts +11 -0
  62. package/dist/components/color-picker/utils.d.ts.map +1 -0
  63. package/dist/components/color-picker/utils.js +15 -0
  64. package/dist/components/color-picker/utils.js.map +1 -0
  65. package/dist/components/filter-chip/filter-chip.cjs +4 -5
  66. package/dist/components/filter-chip/filter-chip.cjs.map +1 -1
  67. package/dist/components/filter-chip/filter-chip.d.ts.map +1 -1
  68. package/dist/components/filter-chip/filter-chip.js +4 -5
  69. package/dist/components/filter-chip/filter-chip.js.map +1 -1
  70. package/dist/components/filter-chip/filter-chip.module.css.cjs +1 -1
  71. package/dist/components/filter-chip/filter-chip.module.css.js +1 -1
  72. package/dist/index.cjs +2 -0
  73. package/dist/index.cjs.map +1 -1
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs +986 -0
  79. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs.map +1 -0
  80. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js +982 -0
  81. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js.map +1 -0
  82. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs +86 -0
  83. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs.map +1 -0
  84. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js +82 -0
  85. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js.map +1 -0
  86. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs +103 -0
  87. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs.map +1 -0
  88. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js +99 -0
  89. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js.map +1 -0
  90. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs +157 -0
  91. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs.map +1 -0
  92. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js +153 -0
  93. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js.map +1 -0
  94. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs +235 -0
  95. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs.map +1 -0
  96. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js +231 -0
  97. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js.map +1 -0
  98. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs +501 -0
  99. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs.map +1 -0
  100. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js +497 -0
  101. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js.map +1 -0
  102. package/dist/style.css +1 -1
  103. package/package.json +2 -1
  104. package/dist/components/textfield/index.d.ts +0 -2
  105. package/dist/components/textfield/index.d.ts.map +0 -1
  106. package/dist/components/textfield/textfield.cjs +0 -44
  107. package/dist/components/textfield/textfield.cjs.map +0 -1
  108. package/dist/components/textfield/textfield.d.ts +0 -33
  109. package/dist/components/textfield/textfield.d.ts.map +0 -1
  110. package/dist/components/textfield/textfield.js +0 -42
  111. package/dist/components/textfield/textfield.js.map +0 -1
  112. package/dist/components/textfield/textfield.module.css.cjs +0 -8
  113. package/dist/components/textfield/textfield.module.css.cjs.map +0 -1
  114. package/dist/components/textfield/textfield.module.css.js +0 -4
  115. package/dist/components/textfield/textfield.module.css.js.map +0 -1
@@ -0,0 +1,501 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index$1 = require('../../../color-string@2.0.1/node_modules/color-string/index.cjs');
6
+ var index = require('../../../color-convert@3.1.0/node_modules/color-convert/index.cjs');
7
+
8
+ const skippedModels = [
9
+ // To be honest, I don't really feel like keyword belongs in color convert, but eh.
10
+ 'keyword',
11
+
12
+ // Gray conflicts with some method names, and has its own method defined.
13
+ 'gray',
14
+
15
+ // Shouldn't really be in color-convert either...
16
+ 'hex',
17
+ ];
18
+
19
+ const hashedModelKeys = {};
20
+ for (const model of Object.keys(index.default)) {
21
+ hashedModelKeys[[...index.default[model].labels].sort().join('')] = model;
22
+ }
23
+
24
+ const limiters = {};
25
+
26
+ function Color(object, model) {
27
+ if (!(this instanceof Color)) {
28
+ return new Color(object, model);
29
+ }
30
+
31
+ if (model && model in skippedModels) {
32
+ model = null;
33
+ }
34
+
35
+ if (model && !(model in index.default)) {
36
+ throw new Error('Unknown model: ' + model);
37
+ }
38
+
39
+ let i;
40
+ let channels;
41
+
42
+ if (object == null) { // eslint-disable-line no-eq-null,eqeqeq
43
+ this.model = 'rgb';
44
+ this.color = [0, 0, 0];
45
+ this.valpha = 1;
46
+ } else if (object instanceof Color) {
47
+ this.model = object.model;
48
+ this.color = [...object.color];
49
+ this.valpha = object.valpha;
50
+ } else if (typeof object === 'string') {
51
+ const result = index$1.default.get(object);
52
+ if (result === null) {
53
+ throw new Error('Unable to parse color from string: ' + object);
54
+ }
55
+
56
+ this.model = result.model;
57
+ channels = index.default[this.model].channels;
58
+ this.color = result.value.slice(0, channels);
59
+ this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;
60
+ } else if (object.length > 0) {
61
+ this.model = model || 'rgb';
62
+ channels = index.default[this.model].channels;
63
+ const newArray = Array.prototype.slice.call(object, 0, channels);
64
+ this.color = zeroArray(newArray, channels);
65
+ this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;
66
+ } else if (typeof object === 'number') {
67
+ // This is always RGB - can be converted later on.
68
+ this.model = 'rgb';
69
+ this.color = [
70
+ (object >> 16) & 0xFF,
71
+ (object >> 8) & 0xFF,
72
+ object & 0xFF,
73
+ ];
74
+ this.valpha = 1;
75
+ } else {
76
+ this.valpha = 1;
77
+
78
+ const keys = Object.keys(object);
79
+ if ('alpha' in object) {
80
+ keys.splice(keys.indexOf('alpha'), 1);
81
+ this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;
82
+ }
83
+
84
+ const hashedKeys = keys.sort().join('');
85
+ if (!(hashedKeys in hashedModelKeys)) {
86
+ throw new Error('Unable to parse color from object: ' + JSON.stringify(object));
87
+ }
88
+
89
+ this.model = hashedModelKeys[hashedKeys];
90
+
91
+ const {labels} = index.default[this.model];
92
+ const color = [];
93
+ for (i = 0; i < labels.length; i++) {
94
+ color.push(object[labels[i]]);
95
+ }
96
+
97
+ this.color = zeroArray(color);
98
+ }
99
+
100
+ // Perform limitations (clamping, etc.)
101
+ if (limiters[this.model]) {
102
+ channels = index.default[this.model].channels;
103
+ for (i = 0; i < channels; i++) {
104
+ const limit = limiters[this.model][i];
105
+ if (limit) {
106
+ this.color[i] = limit(this.color[i]);
107
+ }
108
+ }
109
+ }
110
+
111
+ this.valpha = Math.max(0, Math.min(1, this.valpha));
112
+
113
+ if (Object.freeze) {
114
+ Object.freeze(this);
115
+ }
116
+ }
117
+
118
+ Color.prototype = {
119
+ toString() {
120
+ return this.string();
121
+ },
122
+
123
+ toJSON() {
124
+ return this[this.model]();
125
+ },
126
+
127
+ string(places) {
128
+ let self = this.model in index$1.default.to ? this : this.rgb();
129
+ self = self.round(typeof places === 'number' ? places : 1);
130
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
131
+ return index$1.default.to[self.model](...arguments_);
132
+ },
133
+
134
+ percentString(places) {
135
+ const self = this.rgb().round(typeof places === 'number' ? places : 1);
136
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
137
+ return index$1.default.to.rgb.percent(...arguments_);
138
+ },
139
+
140
+ array() {
141
+ return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
142
+ },
143
+
144
+ object() {
145
+ const result = {};
146
+ const {channels} = index.default[this.model];
147
+ const {labels} = index.default[this.model];
148
+
149
+ for (let i = 0; i < channels; i++) {
150
+ result[labels[i]] = this.color[i];
151
+ }
152
+
153
+ if (this.valpha !== 1) {
154
+ result.alpha = this.valpha;
155
+ }
156
+
157
+ return result;
158
+ },
159
+
160
+ unitArray() {
161
+ const rgb = this.rgb().color;
162
+ rgb[0] /= 255;
163
+ rgb[1] /= 255;
164
+ rgb[2] /= 255;
165
+
166
+ if (this.valpha !== 1) {
167
+ rgb.push(this.valpha);
168
+ }
169
+
170
+ return rgb;
171
+ },
172
+
173
+ unitObject() {
174
+ const rgb = this.rgb().object();
175
+ rgb.r /= 255;
176
+ rgb.g /= 255;
177
+ rgb.b /= 255;
178
+
179
+ if (this.valpha !== 1) {
180
+ rgb.alpha = this.valpha;
181
+ }
182
+
183
+ return rgb;
184
+ },
185
+
186
+ round(places) {
187
+ places = Math.max(places || 0, 0);
188
+ return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);
189
+ },
190
+
191
+ alpha(value) {
192
+ if (value !== undefined) {
193
+ return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);
194
+ }
195
+
196
+ return this.valpha;
197
+ },
198
+
199
+ // Rgb
200
+ red: getset('rgb', 0, maxfn(255)),
201
+ green: getset('rgb', 1, maxfn(255)),
202
+ blue: getset('rgb', 2, maxfn(255)),
203
+
204
+ hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),
205
+
206
+ saturationl: getset('hsl', 1, maxfn(100)),
207
+ lightness: getset('hsl', 2, maxfn(100)),
208
+
209
+ saturationv: getset('hsv', 1, maxfn(100)),
210
+ value: getset('hsv', 2, maxfn(100)),
211
+
212
+ chroma: getset('hcg', 1, maxfn(100)),
213
+ gray: getset('hcg', 2, maxfn(100)),
214
+
215
+ white: getset('hwb', 1, maxfn(100)),
216
+ wblack: getset('hwb', 2, maxfn(100)),
217
+
218
+ cyan: getset('cmyk', 0, maxfn(100)),
219
+ magenta: getset('cmyk', 1, maxfn(100)),
220
+ yellow: getset('cmyk', 2, maxfn(100)),
221
+ black: getset('cmyk', 3, maxfn(100)),
222
+
223
+ x: getset('xyz', 0, maxfn(95.047)),
224
+ y: getset('xyz', 1, maxfn(100)),
225
+ z: getset('xyz', 2, maxfn(108.833)),
226
+
227
+ l: getset('lab', 0, maxfn(100)),
228
+ a: getset('lab', 1),
229
+ b: getset('lab', 2),
230
+
231
+ keyword(value) {
232
+ if (value !== undefined) {
233
+ return new Color(value);
234
+ }
235
+
236
+ return index.default[this.model].keyword(this.color);
237
+ },
238
+
239
+ hex(value) {
240
+ if (value !== undefined) {
241
+ return new Color(value);
242
+ }
243
+
244
+ return index$1.default.to.hex(...this.rgb().round().color);
245
+ },
246
+
247
+ hexa(value) {
248
+ if (value !== undefined) {
249
+ return new Color(value);
250
+ }
251
+
252
+ const rgbArray = this.rgb().round().color;
253
+
254
+ let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
255
+ if (alphaHex.length === 1) {
256
+ alphaHex = '0' + alphaHex;
257
+ }
258
+
259
+ return index$1.default.to.hex(...rgbArray) + alphaHex;
260
+ },
261
+
262
+ rgbNumber() {
263
+ const rgb = this.rgb().color;
264
+ return ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);
265
+ },
266
+
267
+ luminosity() {
268
+ // http://www.w3.org/TR/WCAG20/#relativeluminancedef
269
+ const rgb = this.rgb().color;
270
+
271
+ const lum = [];
272
+ for (const [i, element] of rgb.entries()) {
273
+ const chan = element / 255;
274
+ lum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
275
+ }
276
+
277
+ return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
278
+ },
279
+
280
+ contrast(color2) {
281
+ // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
282
+ const lum1 = this.luminosity();
283
+ const lum2 = color2.luminosity();
284
+
285
+ if (lum1 > lum2) {
286
+ return (lum1 + 0.05) / (lum2 + 0.05);
287
+ }
288
+
289
+ return (lum2 + 0.05) / (lum1 + 0.05);
290
+ },
291
+
292
+ level(color2) {
293
+ // https://www.w3.org/TR/WCAG/#contrast-enhanced
294
+ const contrastRatio = this.contrast(color2);
295
+ if (contrastRatio >= 7) {
296
+ return 'AAA';
297
+ }
298
+
299
+ return (contrastRatio >= 4.5) ? 'AA' : '';
300
+ },
301
+
302
+ isDark() {
303
+ // YIQ equation from http://24ways.org/2010/calculating-color-contrast
304
+ const rgb = this.rgb().color;
305
+ const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;
306
+ return yiq < 128;
307
+ },
308
+
309
+ isLight() {
310
+ return !this.isDark();
311
+ },
312
+
313
+ negate() {
314
+ const rgb = this.rgb();
315
+ for (let i = 0; i < 3; i++) {
316
+ rgb.color[i] = 255 - rgb.color[i];
317
+ }
318
+
319
+ return rgb;
320
+ },
321
+
322
+ lighten(ratio) {
323
+ const hsl = this.hsl();
324
+ hsl.color[2] += hsl.color[2] * ratio;
325
+ return hsl;
326
+ },
327
+
328
+ darken(ratio) {
329
+ const hsl = this.hsl();
330
+ hsl.color[2] -= hsl.color[2] * ratio;
331
+ return hsl;
332
+ },
333
+
334
+ saturate(ratio) {
335
+ const hsl = this.hsl();
336
+ hsl.color[1] += hsl.color[1] * ratio;
337
+ return hsl;
338
+ },
339
+
340
+ desaturate(ratio) {
341
+ const hsl = this.hsl();
342
+ hsl.color[1] -= hsl.color[1] * ratio;
343
+ return hsl;
344
+ },
345
+
346
+ whiten(ratio) {
347
+ const hwb = this.hwb();
348
+ hwb.color[1] += hwb.color[1] * ratio;
349
+ return hwb;
350
+ },
351
+
352
+ blacken(ratio) {
353
+ const hwb = this.hwb();
354
+ hwb.color[2] += hwb.color[2] * ratio;
355
+ return hwb;
356
+ },
357
+
358
+ grayscale() {
359
+ // http://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale
360
+ const rgb = this.rgb().color;
361
+ const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
362
+ return Color.rgb(value, value, value);
363
+ },
364
+
365
+ fade(ratio) {
366
+ return this.alpha(this.valpha - (this.valpha * ratio));
367
+ },
368
+
369
+ opaquer(ratio) {
370
+ return this.alpha(this.valpha + (this.valpha * ratio));
371
+ },
372
+
373
+ rotate(degrees) {
374
+ const hsl = this.hsl();
375
+ let hue = hsl.color[0];
376
+ hue = (hue + degrees) % 360;
377
+ hue = hue < 0 ? 360 + hue : hue;
378
+ hsl.color[0] = hue;
379
+ return hsl;
380
+ },
381
+
382
+ mix(mixinColor, weight) {
383
+ // Ported from sass implementation in C
384
+ // https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
385
+ if (!mixinColor || !mixinColor.rgb) {
386
+ throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
387
+ }
388
+
389
+ const color1 = mixinColor.rgb();
390
+ const color2 = this.rgb();
391
+ const p = weight === undefined ? 0.5 : weight;
392
+
393
+ const w = 2 * p - 1;
394
+ const a = color1.alpha() - color2.alpha();
395
+
396
+ const w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;
397
+ const w2 = 1 - w1;
398
+
399
+ return Color.rgb(
400
+ w1 * color1.red() + w2 * color2.red(),
401
+ w1 * color1.green() + w2 * color2.green(),
402
+ w1 * color1.blue() + w2 * color2.blue(),
403
+ color1.alpha() * p + color2.alpha() * (1 - p));
404
+ },
405
+ };
406
+
407
+ // Model conversion methods and static constructors
408
+ for (const model of Object.keys(index.default)) {
409
+ if (skippedModels.includes(model)) {
410
+ continue;
411
+ }
412
+
413
+ const {channels} = index.default[model];
414
+
415
+ // Conversion methods
416
+ Color.prototype[model] = function (...arguments_) {
417
+ if (this.model === model) {
418
+ return new Color(this);
419
+ }
420
+
421
+ if (arguments_.length > 0) {
422
+ return new Color(arguments_, model);
423
+ }
424
+
425
+ return new Color([...assertArray(index.default[this.model][model].raw(this.color)), this.valpha], model);
426
+ };
427
+
428
+ // 'static' construction methods
429
+ Color[model] = function (...arguments_) {
430
+ let color = arguments_[0];
431
+ if (typeof color === 'number') {
432
+ color = zeroArray(arguments_, channels);
433
+ }
434
+
435
+ return new Color(color, model);
436
+ };
437
+ }
438
+
439
+ function roundTo(number, places) {
440
+ return Number(number.toFixed(places));
441
+ }
442
+
443
+ function roundToPlace(places) {
444
+ return function (number) {
445
+ return roundTo(number, places);
446
+ };
447
+ }
448
+
449
+ function getset(model, channel, modifier) {
450
+ model = Array.isArray(model) ? model : [model];
451
+
452
+ for (const m of model) {
453
+ (limiters[m] ||= [])[channel] = modifier;
454
+ }
455
+
456
+ model = model[0];
457
+
458
+ return function (value) {
459
+ let result;
460
+
461
+ if (value !== undefined) {
462
+ if (modifier) {
463
+ value = modifier(value);
464
+ }
465
+
466
+ result = this[model]();
467
+ result.color[channel] = value;
468
+ return result;
469
+ }
470
+
471
+ result = this[model]().color[channel];
472
+ if (modifier) {
473
+ result = modifier(result);
474
+ }
475
+
476
+ return result;
477
+ };
478
+ }
479
+
480
+ function maxfn(max) {
481
+ return function (v) {
482
+ return Math.max(0, Math.min(max, v));
483
+ };
484
+ }
485
+
486
+ function assertArray(value) {
487
+ return Array.isArray(value) ? value : [value];
488
+ }
489
+
490
+ function zeroArray(array, length) {
491
+ for (let i = 0; i < length; i++) {
492
+ if (typeof array[i] !== 'number') {
493
+ array[i] = 0;
494
+ }
495
+ }
496
+
497
+ return array;
498
+ }
499
+
500
+ exports.default = Color;
501
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../../../node_modules/.pnpm/color@5.0.0/node_modules/color/index.js"],"sourcesContent":["import colorString from 'color-string';\nimport convert from 'color-convert';\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](...arguments_);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(...arguments_);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(...this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(...rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...arguments_) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments_.length > 0) {\n\t\t\treturn new Color(arguments_, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...arguments_) {\n\t\tlet color = arguments_[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(arguments_, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] ||= [])[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nexport default Color;\n"],"names":["convert","colorString"],"mappings":";;;;;;;AAGA,MAAM,aAAa,GAAG;AACtB;AACA,CAAC,SAAS;AACV;AACA;AACA,CAAC,MAAM;AACP;AACA;AACA,CAAC,KAAK;AACN,CAAC,CAAC;AACF;AACA,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAACA,aAAO,CAAC,EAAE;AAC1C,CAAC,eAAe,CAAC,CAAC,GAAGA,aAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AACrE,CAAC;AACD;AACA,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB;AACA,SAAS,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;AAC9B,CAAC,IAAI,EAAE,IAAI,YAAY,KAAK,CAAC,EAAE;AAC/B,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClC,EAAE;AACF;AACA,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,aAAa,EAAE;AACtC,EAAE,KAAK,GAAG,IAAI,CAAC;AACf,EAAE;AACF;AACA,CAAC,IAAI,KAAK,IAAI,EAAE,KAAK,IAAIA,aAAO,CAAC,EAAE;AACnC,EAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;AAC7C,EAAE;AACF;AACA,CAAC,IAAI,CAAC,CAAC;AACP,CAAC,IAAI,QAAQ,CAAC;AACd;AACA,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE;AACrB,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB,EAAE,MAAM,IAAI,MAAM,YAAY,KAAK,EAAE;AACrC,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,EAAE,MAAM,MAAM,GAAGC,eAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,EAAE,IAAI,MAAM,KAAK,IAAI,EAAE;AACvB,GAAG,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,MAAM,CAAC,CAAC;AACnE,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,EAAE,QAAQ,GAAGD,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC1C,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/C,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxF,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;AAC9B,EAAE,QAAQ,GAAGA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC1C,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnE,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7C,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5E,EAAE,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC;AACA,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,EAAE,IAAI,CAAC,KAAK,GAAG;AACf,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI;AACxB,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI;AACvB,GAAG,MAAM,GAAG,IAAI;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB,EAAE,MAAM;AACR,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAClB;AACA,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE;AACzB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACrE,GAAG;AACH;AACA,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,EAAE,IAAI,EAAE,UAAU,IAAI,eAAe,CAAC,EAAE;AACxC,GAAG,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACnF,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;AAC3C;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,GAAGA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,EAAE;AACF;AACA;AACA,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3B,EAAE,QAAQ,GAAGA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC1C,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACjC,GAAG,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,GAAG,IAAI,KAAK,EAAE;AACd,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD;AACA,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;AACpB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,EAAE;AACF,CAAC;AACD;AACA,KAAK,CAAC,SAAS,GAAG;AAClB,CAAC,QAAQ,GAAG;AACZ,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,EAAE;AACF;AACA,CAAC,MAAM,GAAG;AACV,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5B,EAAE;AACF;AACA,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,IAAIC,eAAW,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9D,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACnF,EAAE,OAAOA,eAAW,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD,EAAE;AACF;AACA,CAAC,aAAa,CAAC,MAAM,EAAE;AACvB,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;AACzE,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACnF,EAAE,OAAOA,eAAW,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD,EAAE;AACF;AACA,CAAC,KAAK,GAAG;AACT,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5E,EAAE;AACF;AACA,CAAC,MAAM,GAAG;AACV,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAGD,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAGA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACrC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG;AACH;AACA,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC9B,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,EAAE;AACF;AACA,CAAC,SAAS,GAAG;AACb,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAChB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAChB,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAChB;AACA,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,UAAU,GAAG;AACd,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;AAClC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AACf,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AACf,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AACf;AACA,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,KAAK,CAAC,MAAM,EAAE;AACf,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvF,EAAE;AACF;AACA,CAAC,KAAK,CAAC,KAAK,EAAE;AACd,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;AAC3B,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAClF,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,EAAE;AACF;AACA;AACA,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC;AACA,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AAC1F;AACA,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACxC;AACA,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC;AACA,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC;AACA,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC;AACA,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC;AACA,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACpC;AACA,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACpB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACpB;AACA,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;AAC3B,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAOA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,EAAE;AACF;AACA,CAAC,GAAG,CAAC,KAAK,EAAE;AACZ,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;AAC3B,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,OAAOC,eAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACzD,EAAE;AACF;AACA,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;AAC3B,GAAG,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;AAC5C;AACA,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1E,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,OAAOA,eAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACpD,EAAE;AACF;AACA,CAAC,SAAS,GAAG;AACb,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5E,EAAE;AACF;AACA,CAAC,UAAU,GAAG;AACd;AACA,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B;AACA,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;AAC5C,GAAG,MAAM,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC;AAC9B,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC;AAC/E,GAAG;AACH;AACA,EAAE,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,EAAE;AACF;AACA,CAAC,QAAQ,CAAC,MAAM,EAAE;AAClB;AACA,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACjC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACnC;AACA,EAAE,IAAI,IAAI,GAAG,IAAI,EAAE;AACnB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;AACxC,GAAG;AACH;AACA,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC;AACvC,EAAE;AACF;AACA,CAAC,KAAK,CAAC,MAAM,EAAE;AACf;AACA,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,EAAE,IAAI,aAAa,IAAI,CAAC,EAAE;AAC1B,GAAG,OAAO,KAAK,CAAC;AAChB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,aAAa,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;AAC5C,EAAE;AACF;AACA,CAAC,MAAM,GAAG;AACV;AACA,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC;AACrE,EAAE,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,EAAE;AACF;AACA,CAAC,OAAO,GAAG;AACX,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACxB,EAAE;AACF;AACA,CAAC,MAAM,GAAG;AACV,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG;AACH;AACA,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,MAAM,CAAC,KAAK,EAAE;AACf,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,QAAQ,CAAC,KAAK,EAAE;AACjB,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,UAAU,CAAC,KAAK,EAAE;AACnB,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,MAAM,CAAC,KAAK,EAAE;AACf,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,SAAS,GAAG;AACb;AACA,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7D,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACxC,EAAE;AACF;AACA,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACzD,EAAE;AACF;AACA,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACzD,EAAE;AACF;AACA,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,IAAI,GAAG,CAAC;AAC9B,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAClC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AACrB,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACF;AACA,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE;AACzB;AACA;AACA,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;AACtC,GAAG,MAAM,IAAI,KAAK,CAAC,wEAAwE,GAAG,OAAO,UAAU,CAAC,CAAC;AACjH,GAAG;AACH;AACA,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;AAClC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5B,EAAE,MAAM,CAAC,GAAG,MAAM,KAAK,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;AAChD;AACA,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5C;AACA,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AACpB;AACA,EAAE,OAAO,KAAK,CAAC,GAAG;AAClB,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;AACxC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;AAC5C,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE;AAC1C,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClD,EAAE;AACF,CAAC,CAAC;AACF;AACA;AACA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAACD,aAAO,CAAC,EAAE;AAC1C,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpC,EAAE,SAAS;AACX,EAAE;AACF;AACA,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAGA,aAAO,CAAC,KAAK,CAAC,CAAC;AACnC;AACA;AACA,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,UAAU,EAAE;AACnD,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AAC5B,GAAG,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,GAAG,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACvC,GAAG;AACH;AACA,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,GAAG,WAAW,CAACA,aAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AACrG,EAAE,CAAC;AACH;AACA;AACA,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,UAAU,EAAE;AACzC,EAAE,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5B,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACjC,GAAG,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,GAAG;AACH;AACA,EAAE,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,EAAE,CAAC;AACH,CAAC;AACD;AACA,SAAS,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AACjC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,CAAC;AACD;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,CAAC,OAAO,UAAU,MAAM,EAAE;AAC1B,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,EAAE,CAAC;AACH,CAAC;AACD;AACA,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC1C,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AAChD;AACA,CAAC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACxB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;AAC3C,EAAE;AACF;AACA,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB;AACA,CAAC,OAAO,UAAU,KAAK,EAAE;AACzB,EAAE,IAAI,MAAM,CAAC;AACb;AACA,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;AAC3B,GAAG,IAAI,QAAQ,EAAE;AACjB,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,IAAI;AACJ;AACA,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1B,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACjC,GAAG,OAAO,MAAM,CAAC;AACjB,GAAG;AACH;AACA,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7B,GAAG;AACH;AACA,EAAE,OAAO,MAAM,CAAC;AAChB,EAAE,CAAC;AACH,CAAC;AACD;AACA,SAAS,KAAK,CAAC,GAAG,EAAE;AACpB,CAAC,OAAO,UAAU,CAAC,EAAE;AACrB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,EAAE,CAAC;AACH,CAAC;AACD;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AACD;AACA,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;AAClC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACpC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChB,GAAG;AACH,EAAE;AACF;AACA,CAAC,OAAO,KAAK,CAAC;AACd;;;;","x_google_ignoreList":[0]}