@bilig/formula 0.1.0 → 0.1.3

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 (30) hide show
  1. package/dist/builtins/lookup-hypothesis-builtins.d.ts +4 -5
  2. package/dist/builtins/lookup-hypothesis-builtins.js +393 -10
  3. package/dist/builtins/lookup-hypothesis-builtins.js.map +1 -1
  4. package/dist/builtins/lookup.js +3 -387
  5. package/dist/builtins/lookup.js.map +1 -1
  6. package/dist/builtins/placeholder.d.ts +2 -2
  7. package/dist/builtins/text-core-builtins.d.ts +12 -0
  8. package/dist/builtins/text-core-builtins.js +409 -0
  9. package/dist/builtins/text-core-builtins.js.map +1 -0
  10. package/dist/builtins/text-format-builtins.d.ts +14 -0
  11. package/dist/builtins/text-format-builtins.js +537 -0
  12. package/dist/builtins/text-format-builtins.js.map +1 -0
  13. package/dist/builtins/text-search-builtins.d.ts +21 -0
  14. package/dist/builtins/text-search-builtins.js +469 -0
  15. package/dist/builtins/text-search-builtins.js.map +1 -0
  16. package/dist/builtins/text.js +41 -1368
  17. package/dist/builtins/text.js.map +1 -1
  18. package/dist/js-evaluator-array-special-calls.d.ts +28 -0
  19. package/dist/js-evaluator-array-special-calls.js +340 -0
  20. package/dist/js-evaluator-array-special-calls.js.map +1 -0
  21. package/dist/js-evaluator-context-special-calls.d.ts +24 -0
  22. package/dist/js-evaluator-context-special-calls.js +156 -0
  23. package/dist/js-evaluator-context-special-calls.js.map +1 -0
  24. package/dist/js-evaluator-types.d.ts +117 -0
  25. package/dist/js-evaluator-types.js +2 -0
  26. package/dist/js-evaluator-types.js.map +1 -0
  27. package/dist/js-evaluator.d.ts +3 -100
  28. package/dist/js-evaluator.js +42 -492
  29. package/dist/js-evaluator.js.map +1 -1
  30. package/package.json +6 -6
@@ -188,389 +188,6 @@ function toNumericMatrix(arg) {
188
188
  }
189
189
  return matrix;
190
190
  }
191
- const LANCZOS_G = 7;
192
- const LANCZOS_COEFFICIENTS = [
193
- 676.5203681218851, -1259.1392167224028, 771.3234287776531, -176.6150291621406, 12.507343278686905,
194
- -0.13857109526572012, 9.984369578019572e-6, 1.5056327351493116e-7,
195
- ];
196
- function logGamma(value) {
197
- if (!Number.isFinite(value) || value <= 0) {
198
- return Number.NaN;
199
- }
200
- let sum = 0.9999999999998099;
201
- const shifted = value - 1;
202
- LANCZOS_COEFFICIENTS.forEach((coefficient, index) => {
203
- sum += coefficient / (shifted + index + 1);
204
- });
205
- const t = shifted + LANCZOS_G + 0.5;
206
- return 0.5 * Math.log(2 * Math.PI) + (shifted + 0.5) * Math.log(t) - t + Math.log(sum);
207
- }
208
- function regularizedLowerGamma(shape, x) {
209
- if (!Number.isFinite(shape) || !Number.isFinite(x) || shape <= 0 || x < 0) {
210
- return Number.NaN;
211
- }
212
- if (x === 0) {
213
- return 0;
214
- }
215
- const logGammaShape = logGamma(shape);
216
- if (!Number.isFinite(logGammaShape)) {
217
- return Number.NaN;
218
- }
219
- if (x < shape + 1) {
220
- let term = 1 / shape;
221
- let sum = term;
222
- for (let iteration = 1; iteration < 1000; iteration += 1) {
223
- term *= x / (shape + iteration);
224
- sum += term;
225
- if (Math.abs(term) <= Math.abs(sum) * 1e-14) {
226
- break;
227
- }
228
- }
229
- return sum * Math.exp(-x + shape * Math.log(x) - logGammaShape);
230
- }
231
- let b = x + 1 - shape;
232
- let c = 1 / 1e-300;
233
- let d = 1 / b;
234
- let h = d;
235
- for (let iteration = 1; iteration < 1000; iteration += 1) {
236
- const factor = -iteration * (iteration - shape);
237
- b += 2;
238
- d = factor * d + b;
239
- if (Math.abs(d) < 1e-300) {
240
- d = 1e-300;
241
- }
242
- c = b + factor / c;
243
- if (Math.abs(c) < 1e-300) {
244
- c = 1e-300;
245
- }
246
- d = 1 / d;
247
- const delta = d * c;
248
- h *= delta;
249
- if (Math.abs(delta - 1) <= 1e-14) {
250
- break;
251
- }
252
- }
253
- return 1 - Math.exp(-x + shape * Math.log(x) - logGammaShape) * h;
254
- }
255
- function regularizedUpperGamma(shape, x) {
256
- const lower = regularizedLowerGamma(shape, x);
257
- return Number.isFinite(lower) ? 1 - lower : Number.NaN;
258
- }
259
- function erfApprox(value) {
260
- const sign = value < 0 ? -1 : 1;
261
- const absolute = Math.abs(value);
262
- const t = 1 / (1 + 0.3275911 * absolute);
263
- const y = 1 -
264
- ((((1.061405429 * t - 1.453152027) * t + 1.421413741) * t - 0.284496736) * t + 0.254829592) *
265
- t *
266
- Math.exp(-absolute * absolute);
267
- return sign * y;
268
- }
269
- function standardNormalCdf(value) {
270
- return 0.5 * (1 + erfApprox(value / Math.sqrt(2)));
271
- }
272
- function logBeta(alpha, beta) {
273
- return logGamma(alpha) + logGamma(beta) - logGamma(alpha + beta);
274
- }
275
- function betaContinuedFraction(x, alpha, beta) {
276
- const maxIterations = 200;
277
- const epsilon = 1e-14;
278
- const tiny = 1e-300;
279
- const qab = alpha + beta;
280
- const qap = alpha + 1;
281
- const qam = alpha - 1;
282
- let c = 1;
283
- let d = 1 - (qab * x) / qap;
284
- if (Math.abs(d) < tiny) {
285
- d = tiny;
286
- }
287
- d = 1 / d;
288
- let h = d;
289
- for (let iteration = 1; iteration <= maxIterations; iteration += 1) {
290
- const step = iteration * 2;
291
- let factor = (iteration * (beta - iteration) * x) / ((qam + step) * (alpha + step));
292
- d = 1 + factor * d;
293
- if (Math.abs(d) < tiny) {
294
- d = tiny;
295
- }
296
- c = 1 + factor / c;
297
- if (Math.abs(c) < tiny) {
298
- c = tiny;
299
- }
300
- d = 1 / d;
301
- h *= d * c;
302
- factor = (-(alpha + iteration) * (qab + iteration) * x) / ((alpha + step) * (qap + step));
303
- d = 1 + factor * d;
304
- if (Math.abs(d) < tiny) {
305
- d = tiny;
306
- }
307
- c = 1 + factor / c;
308
- if (Math.abs(c) < tiny) {
309
- c = tiny;
310
- }
311
- d = 1 / d;
312
- const delta = d * c;
313
- h *= delta;
314
- if (Math.abs(delta - 1) <= epsilon) {
315
- break;
316
- }
317
- }
318
- return h;
319
- }
320
- function regularizedBeta(x, alpha, beta) {
321
- if (!Number.isFinite(x) ||
322
- !Number.isFinite(alpha) ||
323
- !Number.isFinite(beta) ||
324
- x < 0 ||
325
- x > 1 ||
326
- alpha <= 0 ||
327
- beta <= 0) {
328
- return Number.NaN;
329
- }
330
- if (x === 0) {
331
- return 0;
332
- }
333
- if (x === 1) {
334
- return 1;
335
- }
336
- const logTerm = alpha * Math.log(x) + beta * Math.log(1 - x) - logBeta(alpha, beta);
337
- if (!Number.isFinite(logTerm)) {
338
- return Number.NaN;
339
- }
340
- const front = Math.exp(logTerm);
341
- if (x < (alpha + 1) / (alpha + beta + 2)) {
342
- return (front * betaContinuedFraction(x, alpha, beta)) / alpha;
343
- }
344
- return 1 - (front * betaContinuedFraction(1 - x, beta, alpha)) / beta;
345
- }
346
- function fDistributionCdf(x, degreesFreedom1, degreesFreedom2) {
347
- if (!Number.isFinite(x) ||
348
- !Number.isFinite(degreesFreedom1) ||
349
- !Number.isFinite(degreesFreedom2) ||
350
- x < 0 ||
351
- degreesFreedom1 < 1 ||
352
- degreesFreedom2 < 1) {
353
- return Number.NaN;
354
- }
355
- const alpha = degreesFreedom1 / 2;
356
- const beta = degreesFreedom2 / 2;
357
- const transformed = (degreesFreedom1 * x) / (degreesFreedom1 * x + degreesFreedom2);
358
- return regularizedBeta(transformed, alpha, beta);
359
- }
360
- function studentTCdf(x, degreesFreedom) {
361
- if (!Number.isFinite(x) || !Number.isFinite(degreesFreedom) || degreesFreedom < 1) {
362
- return Number.NaN;
363
- }
364
- if (x === 0) {
365
- return 0.5;
366
- }
367
- const transformed = degreesFreedom / (degreesFreedom + x * x);
368
- const tail = regularizedBeta(transformed, degreesFreedom / 2, 0.5);
369
- if (!Number.isFinite(tail)) {
370
- return Number.NaN;
371
- }
372
- return x > 0 ? 1 - tail / 2 : tail / 2;
373
- }
374
- function collectSampleNumbers(arg) {
375
- if (!isRangeArg(arg)) {
376
- if (isError(arg)) {
377
- return arg;
378
- }
379
- return arg.tag === ValueTag.Number ? [arg.value] : errorValue(ErrorCode.Value);
380
- }
381
- const values = [];
382
- for (const value of arg.values) {
383
- if (value.tag === ValueTag.Error) {
384
- return value;
385
- }
386
- if (value.tag === ValueTag.Number) {
387
- values.push(value.value);
388
- }
389
- }
390
- return values;
391
- }
392
- function chiSquareTestResult(actualArg, expectedArg) {
393
- const actual = toNumericMatrix(actualArg);
394
- if (!Array.isArray(actual)) {
395
- return actual;
396
- }
397
- const expected = toNumericMatrix(expectedArg);
398
- if (!Array.isArray(expected)) {
399
- return expected;
400
- }
401
- const rows = actual.length;
402
- const cols = actual[0]?.length ?? 0;
403
- if (rows !== expected.length || cols !== (expected[0]?.length ?? 0)) {
404
- return errorValue(ErrorCode.NA);
405
- }
406
- if ((rows === 1 && cols === 1) || rows === 0 || cols === 0) {
407
- return errorValue(ErrorCode.NA);
408
- }
409
- let statistic = 0;
410
- for (let row = 0; row < rows; row += 1) {
411
- const actualRow = actual[row];
412
- const expectedRow = expected[row];
413
- if (actualRow.length !== cols || expectedRow.length !== cols) {
414
- return errorValue(ErrorCode.NA);
415
- }
416
- for (let col = 0; col < cols; col += 1) {
417
- const actualValue = actualRow[col];
418
- const expectedValue = expectedRow[col];
419
- if (actualValue < 0 || expectedValue < 0) {
420
- return errorValue(ErrorCode.Value);
421
- }
422
- if (expectedValue === 0) {
423
- return errorValue(ErrorCode.Div0);
424
- }
425
- const delta = actualValue - expectedValue;
426
- statistic += (delta * delta) / expectedValue;
427
- }
428
- }
429
- const degrees = rows > 1 && cols > 1 ? (rows - 1) * (cols - 1) : rows > 1 ? rows - 1 : cols - 1;
430
- if (degrees <= 0) {
431
- return errorValue(ErrorCode.NA);
432
- }
433
- const probability = regularizedUpperGamma(degrees / 2, statistic / 2);
434
- return Number.isFinite(probability)
435
- ? { tag: ValueTag.Number, value: probability }
436
- : errorValue(ErrorCode.Value);
437
- }
438
- function fTestResult(firstArg, secondArg) {
439
- const first = collectSampleNumbers(firstArg);
440
- if (!Array.isArray(first)) {
441
- return first;
442
- }
443
- const second = collectSampleNumbers(secondArg);
444
- if (!Array.isArray(second)) {
445
- return second;
446
- }
447
- if (first.length < 2 || second.length < 2) {
448
- return errorValue(ErrorCode.Div0);
449
- }
450
- const firstMean = first.reduce((sum, value) => sum + value, 0) / first.length;
451
- const secondMean = second.reduce((sum, value) => sum + value, 0) / second.length;
452
- const firstVariance = first.reduce((sum, value) => sum + (value - firstMean) ** 2, 0) / (first.length - 1);
453
- const secondVariance = second.reduce((sum, value) => sum + (value - secondMean) ** 2, 0) / (second.length - 1);
454
- if (!(firstVariance > 0) || !(secondVariance > 0)) {
455
- return errorValue(ErrorCode.Div0);
456
- }
457
- const firstLeads = firstVariance >= secondVariance;
458
- const numeratorVariance = firstLeads ? firstVariance : secondVariance;
459
- const denominatorVariance = firstLeads ? secondVariance : firstVariance;
460
- const numeratorDf = firstLeads ? first.length - 1 : second.length - 1;
461
- const denominatorDf = firstLeads ? second.length - 1 : first.length - 1;
462
- const upperTail = 1 - fDistributionCdf(numeratorVariance / denominatorVariance, numeratorDf, denominatorDf);
463
- const probability = Math.min(1, upperTail * 2);
464
- return Number.isFinite(probability)
465
- ? { tag: ValueTag.Number, value: probability }
466
- : errorValue(ErrorCode.Value);
467
- }
468
- function zTestResult(arrayArg, xArg, sigmaArg) {
469
- const sample = collectSampleNumbers(arrayArg);
470
- if (!Array.isArray(sample)) {
471
- return sample;
472
- }
473
- const x = !isRangeArg(xArg) ? toNumber(xArg) : undefined;
474
- if (x === undefined || sample.length === 0) {
475
- return errorValue(ErrorCode.Value);
476
- }
477
- let sigma;
478
- if (sigmaArg !== undefined) {
479
- sigma = !isRangeArg(sigmaArg) ? toNumber(sigmaArg) : undefined;
480
- }
481
- else if (sample.length >= 2) {
482
- const mean = sample.reduce((sum, value) => sum + value, 0) / sample.length;
483
- const variance = sample.reduce((sum, value) => sum + (value - mean) ** 2, 0) / (sample.length - 1);
484
- sigma = variance > 0 ? Math.sqrt(variance) : undefined;
485
- }
486
- if (sigma === undefined || !(sigma > 0)) {
487
- return errorValue(ErrorCode.Div0);
488
- }
489
- const mean = sample.reduce((sum, value) => sum + value, 0) / sample.length;
490
- const zScore = (mean - x) / (sigma / Math.sqrt(sample.length));
491
- const probability = 1 - standardNormalCdf(zScore);
492
- return Number.isFinite(probability)
493
- ? { tag: ValueTag.Number, value: probability }
494
- : errorValue(ErrorCode.Value);
495
- }
496
- function tTestResult(firstArg, secondArg, tailsArg, typeArg) {
497
- const first = collectSampleNumbers(firstArg);
498
- if (!Array.isArray(first)) {
499
- return first;
500
- }
501
- const second = collectSampleNumbers(secondArg);
502
- if (!Array.isArray(second)) {
503
- return second;
504
- }
505
- const tails = !isRangeArg(tailsArg) ? toNumber(tailsArg) : undefined;
506
- const type = !isRangeArg(typeArg) ? toNumber(typeArg) : undefined;
507
- if (tails === undefined ||
508
- type === undefined ||
509
- !Number.isInteger(tails) ||
510
- !Number.isInteger(type) ||
511
- ![1, 2].includes(tails) ||
512
- ![1, 2, 3].includes(type)) {
513
- return errorValue(ErrorCode.Value);
514
- }
515
- let statistic;
516
- let degreesFreedom;
517
- if (type === 1) {
518
- if (first.length !== second.length) {
519
- return errorValue(ErrorCode.NA);
520
- }
521
- if (first.length < 2) {
522
- return errorValue(ErrorCode.Div0);
523
- }
524
- const deltas = first.map((value, index) => value - second[index]);
525
- const mean = deltas.reduce((sum, value) => sum + value, 0) / deltas.length;
526
- const variance = deltas.reduce((sum, value) => sum + (value - mean) ** 2, 0) / (deltas.length - 1);
527
- if (!(variance > 0)) {
528
- return errorValue(ErrorCode.Div0);
529
- }
530
- statistic = mean / Math.sqrt(variance / deltas.length);
531
- degreesFreedom = deltas.length - 1;
532
- }
533
- else {
534
- if (first.length < 2 || second.length < 2) {
535
- return errorValue(ErrorCode.Div0);
536
- }
537
- const firstMean = first.reduce((sum, value) => sum + value, 0) / first.length;
538
- const secondMean = second.reduce((sum, value) => sum + value, 0) / second.length;
539
- const firstVariance = first.reduce((sum, value) => sum + (value - firstMean) ** 2, 0) / (first.length - 1);
540
- const secondVariance = second.reduce((sum, value) => sum + (value - secondMean) ** 2, 0) / (second.length - 1);
541
- if (!(firstVariance > 0) || !(secondVariance > 0)) {
542
- return errorValue(ErrorCode.Div0);
543
- }
544
- if (type === 2) {
545
- const pooledVariance = ((first.length - 1) * firstVariance + (second.length - 1) * secondVariance) /
546
- (first.length + second.length - 2);
547
- if (!(pooledVariance > 0)) {
548
- return errorValue(ErrorCode.Div0);
549
- }
550
- statistic =
551
- (firstMean - secondMean) /
552
- Math.sqrt(pooledVariance * (1 / first.length + 1 / second.length));
553
- degreesFreedom = first.length + second.length - 2;
554
- }
555
- else {
556
- const firstTerm = firstVariance / first.length;
557
- const secondTerm = secondVariance / second.length;
558
- const denominator = Math.sqrt(firstTerm + secondTerm);
559
- const welchDenominator = (firstTerm * firstTerm) / (first.length - 1) +
560
- (secondTerm * secondTerm) / (second.length - 1);
561
- if (!(denominator > 0) || !(welchDenominator > 0)) {
562
- return errorValue(ErrorCode.Div0);
563
- }
564
- statistic = (firstMean - secondMean) / denominator;
565
- degreesFreedom = (firstTerm + secondTerm) ** 2 / welchDenominator;
566
- }
567
- }
568
- const upperTail = 1 - studentTCdf(Math.abs(statistic), degreesFreedom);
569
- const probability = tails === 1 ? upperTail : Math.min(1, upperTail * 2);
570
- return Number.isFinite(probability)
571
- ? { tag: ValueTag.Number, value: probability }
572
- : errorValue(ErrorCode.Value);
573
- }
574
191
  function flattenNumbers(arg) {
575
192
  if (!isRangeArg(arg)) {
576
193
  const numeric = toNumber(arg);
@@ -701,10 +318,9 @@ const lookupFinancialBuiltins = createLookupFinancialBuiltins({
701
318
  });
702
319
  const lookupHypothesisBuiltins = createLookupHypothesisBuiltins({
703
320
  errorValue,
704
- chiSquareTestResult,
705
- fTestResult,
706
- zTestResult,
707
- tTestResult,
321
+ isRangeArg,
322
+ toNumber,
323
+ toNumericMatrix,
708
324
  });
709
325
  const lookupMatrixBuiltins = createLookupMatrixBuiltins({
710
326
  errorValue,
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/builtins/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAalF,SAAS,UAAU,CAAC,IAAe;IACjC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,OAAO,CACd,KAAwC;IAExC,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC;AACnF,CAAC;AAED,SAAS,UAAU,CAAC,KAAwC;IAC1D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAClG,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,CACL,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI,CACf,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqD;IAErD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CACnB,MAAqD;IAErD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAgB;IAChC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,MAAM,CAAC;QACrB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;QAC3B,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ,CAAC,MAAM,CAAC;QACrB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,QAAQ,CAAC,OAAO;YACnB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACxC,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAe,EAAE,KAAgB;IACvD,IACE,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC;QAC7D,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,EAC/D,CAAC;QACD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA0B;IACnD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,GAA0B;IAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B,EAAE,GAAW,EAAE,GAAW;IAC1E,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB,EAAE,IAAY,EAAE,IAAY;IAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAA0B,EAC1B,IAA0B;IAE1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAgB;IACjD,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,GAA0B;IAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,GAA0B;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,oBAAoB,GAAG;IAC3B,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB;IACjG,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB;CACzD,CAAC;AAEX,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,GAAG,GAAG,kBAAkB,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,oBAAoB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;QAClD,GAAG,IAAI,WAAW,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC;IACpC,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,CAAS;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;QAClB,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;YAChC,GAAG,IAAI,IAAI,CAAC;YACZ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC5C,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QAChD,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YACzB,CAAC,GAAG,MAAM,CAAC;QACb,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;YACzB,CAAC,GAAG,MAAM,CAAC;QACb,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,IAAI,KAAK,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,CAAS;IACrD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACzD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,GACL,CAAC;QACD,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACzF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACnC,OAAO,IAAI,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAS,EAAE,KAAa,EAAE,IAAY;IACnE,MAAM,aAAa,GAAG,GAAG,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QACvB,CAAC,GAAG,IAAI,CAAC;IACX,CAAC;IACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACvB,CAAC,GAAG,IAAI,CAAC;QACX,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACvB,CAAC,GAAG,IAAI,CAAC;QACX,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEX,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACvB,CAAC,GAAG,IAAI,CAAC;QACX,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACvB,CAAC,GAAG,IAAI,CAAC;QACX,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,IAAI,KAAK,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,CAAS,EAAE,KAAa,EAAE,IAAY;IAC7D,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,CAAC,GAAG,CAAC;QACL,CAAC,GAAG,CAAC;QACL,KAAK,IAAI,CAAC;QACV,IAAI,IAAI,CAAC,EACT,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS,EAAE,eAAuB,EAAE,eAAuB;IACnF,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,CAAC,GAAG,CAAC;QACL,eAAe,GAAG,CAAC;QACnB,eAAe,GAAG,CAAC,EACnB,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,eAAe,GAAG,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IACpF,OAAO,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,cAAsB;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAClF,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,cAAc,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAA0B;IACtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAgC,EAChC,WAAkC;IAElC,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAE,CAAC;QACnC,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC;YACpC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAE,CAAC;YACxC,IAAI,WAAW,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,KAAK,GAAG,WAAW,GAAG,aAAa,CAAC;YAC1C,SAAS,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAChG,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;QAC9C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,QAA+B,EAAE,SAAgC;IACpF,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACjF,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvF,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,IAAI,cAAc,CAAC;IACnD,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IACtE,MAAM,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IACxE,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACxE,MAAM,SAAS,GACb,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,GAAG,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;QAC9C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,QAA+B,EAC/B,IAA2B,EAC3B,QAAgC;IAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAyB,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3E,MAAM,QAAQ,GACZ,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;QAC9C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,QAA+B,EAC/B,SAAgC,EAChC,QAA+B,EAC/B,OAA8B;IAE9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,IACE,KAAK,KAAK,SAAS;QACnB,IAAI,KAAK,SAAS;QAClB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,SAAiB,CAAC;IACtB,IAAI,cAAsB,CAAC;IAC3B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3E,MAAM,QAAQ,GACZ,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACjF,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvF,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,cAAc,GAClB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;gBAC3E,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,SAAS;gBACP,CAAC,SAAS,GAAG,UAAU,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACrE,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/C,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GACpB,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5C,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,SAAS,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,WAAW,CAAC;YACnD,cAAc,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;QACpE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;QAC9C,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,GAA0B;IAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAA2B,EAAE,GAAW;IAC5D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACvC,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS,IAAI,OAAO,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;QACH,CAAC;QACD,SAAS,IAAI,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAsC;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,0BAA0B,GAAG,CAAC,WAAW,EAAE,cAAc,CAAU,CAAC;AAE1E,SAAS,2BAA2B,CAAC,IAAY;IAC/C,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAC/C,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CACnD,CAAC;AAEnC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;IAC9D,UAAU;IACV,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,SAAS;IACT,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;IACxE,UAAU;IACV,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;IAC5D,UAAU;IACV,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;IAC9D,UAAU;IACV,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;IACtD,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;IAC9D,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;IAC1D,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;IAC1D,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,eAAe;IACf,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;IAC5D,UAAU;IACV,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;IAC9D,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,YAAY;IACZ,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,GAAG,wBAAwB;IAC3B,GAAG,uBAAuB;IAC1B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;IACzB,GAAG,uBAAuB;IAC1B,GAAG,wBAAwB;IAC3B,GAAG,wBAAwB;IAC3B,GAAG,6BAA6B;IAChC,GAAG,oBAAoB;IACvB,GAAG,wBAAwB;IAC3B,GAAG,sBAAsB;CAC1B,CAAC;AAIF,SAAS,eAAe,CAAC,KAAgB,EAAE,QAAmB;IAC5D,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpD,IACE,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM;QAC/B,CAAC,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,CAAC;QACvC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,EACjC,CAAC;QACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,GAAG;YACR,GAAG,EAAE,QAAQ,CAAC,MAAM;YACpB,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7C,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,GAAG;YACN,OAAO,UAAU,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,UAAU,KAAK,CAAC,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,UAAU,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI;YACP,OAAO,UAAU,IAAI,CAAC,CAAC;QACzB,KAAK,GAAG;YACN,OAAO,UAAU,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI;YACP,OAAO,UAAU,IAAI,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAmB;IACxC,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACjC,OAAO;QACL,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;QACvD,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAChC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/builtins/lookup.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { type CellValue } from "@bilig/protocol";
2
- export declare const scalarPlaceholderBuiltinNames: readonly ("FILTERXML" | "STOCKHISTORY" | "F.TEST" | "FTEST" | "Z.TEST" | "ZTEST" | "T.TEST" | "TTEST" | "OFFSET" | "TAKE" | "DROP" | "SORT" | "SORTBY" | "TOCOL" | "TOROW" | "WRAPROWS" | "WRAPCOLS" | "ROW" | "COLUMN" | "ISOMITTED" | "FORMULATEXT" | "SHEET" | "SHEETS" | "CELL" | "INDIRECT" | "EXPAND" | "TEXTSPLIT" | "TRIMRANGE" | "TREND" | "GROWTH" | "LINEST" | "LOGEST" | "FREQUENCY" | "MODE.MULT" | "ASC" | "BAHTTEXT" | "BESSELI" | "BESSELJ" | "BESSELK" | "BESSELY" | "BETADIST" | "BETA.DIST" | "BETAINV" | "BIN2DEC" | "BIN2HEX" | "BIN2OCT" | "BINOMDIST" | "BINOM.DIST" | "BINOM.DIST.RANGE" | "BINOM.INV" | "CALL" | "CHIDIST" | "CHIINV" | "CHISQ.DIST" | "CHISQ.DIST.RT" | "CHISQ.INV" | "CHISQ.INV.RT" | "COMPLEX" | "CONFIDENCE" | "CONFIDENCE.T" | "CONVERT" | "COPILOT" | "COUPDAYBS" | "COUPDAYS" | "COUPDAYSNC" | "COUPNCD" | "COUPNUM" | "COUPPCD" | "CRITBINOM" | "CUBEKPIMEMBER" | "CUBEMEMBER" | "CUBEMEMBERPROPERTY" | "CUBERANKEDMEMBER" | "CUBESET" | "CUBESETCOUNT" | "CUBEVALUE" | "CUMIPMT" | "CUMPRINC" | "DATEDIF" | "DB" | "DBCS" | "DDB" | "DDE" | "DEC2BIN" | "DEC2HEX" | "DEC2OCT" | "DETECTLANGUAGE" | "DURATION" | "ERF" | "ERF.PRECISE" | "ERFC" | "ERFC.PRECISE" | "EUROCONVERT" | "EXPON.DIST" | "EXPONDIST" | "F.DIST" | "FDIST" | "F.DIST.RT" | "F.INV" | "F.INV.RT" | "FINV" | "FISHER" | "FISHERINV" | "FORECAST" | "FORECAST.LINEAR" | "FORECAST.ETS" | "FORECAST.ETS.CONFINT" | "FORECAST.ETS.SEASONALITY" | "FORECAST.ETS.STAT" | "FVSCHEDULE" | "GAMMA" | "GAMMA.DIST" | "GAMMADIST" | "GAMMA.INV" | "GAMMAINV" | "GAMMALN" | "GAMMALN.PRECISE" | "HEX2BIN" | "HEX2DEC" | "HEX2OCT" | "HYPERLINK" | "HYPGEOM.DIST" | "HYPGEOMDIST" | "IMABS" | "IMAGE" | "IMAGINARY" | "IMARGUMENT" | "IMCONJUGATE" | "IMCOS" | "IMCOSH" | "IMCOT" | "IMCSC" | "IMCSCH" | "IMDIV" | "IMEXP" | "IMLN" | "IMLOG10" | "IMLOG2" | "IMPOWER" | "IMPRODUCT" | "IMREAL" | "IMSEC" | "IMSECH" | "IMSIN" | "IMSINH" | "IMSQRT" | "IMSUB" | "IMSUM" | "IMTAN" | "INFO" | "INTERCEPT" | "IRR" | "JIS" | "MDURATION" | "MIRR" | "NEGBINOM.DIST" | "NEGBINOMDIST" | "OCT2BIN" | "OCT2DEC" | "OCT2HEX" | "PERCENTILE.EXC" | "PERCENTILE.INC" | "PERCENTILE" | "PERCENTRANK.EXC" | "PERCENTRANK.INC" | "PERCENTRANK" | "POISSON.DIST" | "POISSON" | "PRICE" | "PRICEDISC" | "PRICEMAT" | "QUARTILE" | "QUARTILE.EXC" | "QUARTILE.INC" | "RANK.AVG" | "RATE" | "REGEXEXTRACT" | "REGEXREPLACE" | "REGEXTEST" | "REGISTER.ID" | "RSQ" | "RTD" | "SLN" | "SLOPE" | "STEYX" | "SYD" | "TBILLEQ" | "TBILLPRICE" | "TBILLYIELD" | "T.DIST" | "T.DIST.2T" | "T.DIST.RT" | "TDIST" | "TRANSLATE" | "T.INV" | "T.INV.2T" | "TINV" | "VDB" | "WEBSERVICE" | "WEIBULL" | "WEIBULL.DIST" | "XIRR" | "XNPV" | "YIELD" | "YIELDDISC" | "YIELDMAT")[];
2
+ export declare const scalarPlaceholderBuiltinNames: readonly ("CELL" | "COLUMN" | "FORMULATEXT" | "INDIRECT" | "ROW" | "SHEET" | "SHEETS" | "DATEDIF" | "BIN2DEC" | "BIN2HEX" | "BIN2OCT" | "DEC2BIN" | "DEC2HEX" | "DEC2OCT" | "HEX2BIN" | "HEX2DEC" | "HEX2OCT" | "OCT2BIN" | "OCT2DEC" | "OCT2HEX" | "CONVERT" | "EUROCONVERT" | "BESSELI" | "BESSELJ" | "BESSELK" | "BESSELY" | "ASC" | "JIS" | "DBCS" | "BAHTTEXT" | "TEXTSPLIT" | "FORECAST" | "FORECAST.LINEAR" | "GROWTH" | "INTERCEPT" | "LINEST" | "LOGEST" | "MODE.MULT" | "FREQUENCY" | "PERCENTILE" | "PERCENTILE.INC" | "PERCENTILE.EXC" | "PERCENTRANK" | "PERCENTRANK.INC" | "PERCENTRANK.EXC" | "QUARTILE" | "QUARTILE.INC" | "QUARTILE.EXC" | "RANK.AVG" | "RSQ" | "SLOPE" | "STEYX" | "TREND" | "EXPAND" | "OFFSET" | "TAKE" | "DROP" | "SORT" | "SORTBY" | "TOCOL" | "TOROW" | "WRAPROWS" | "WRAPCOLS" | "TRIMRANGE" | "ERF" | "ERF.PRECISE" | "ERFC" | "ERFC.PRECISE" | "FISHER" | "FISHERINV" | "GAMMALN" | "GAMMALN.PRECISE" | "GAMMA" | "GAMMA.INV" | "GAMMAINV" | "CONFIDENCE" | "CONFIDENCE.T" | "EXPONDIST" | "EXPON.DIST" | "POISSON" | "POISSON.DIST" | "WEIBULL" | "WEIBULL.DIST" | "GAMMADIST" | "GAMMA.DIST" | "CHIDIST" | "CHIINV" | "CHISQ.DIST.RT" | "CHISQ.DIST" | "CHISQ.INV.RT" | "CHISQ.INV" | "F.TEST" | "FTEST" | "Z.TEST" | "ZTEST" | "BETA.DIST" | "BETADIST" | "BETAINV" | "F.DIST" | "F.DIST.RT" | "F.INV" | "F.INV.RT" | "FDIST" | "FINV" | "T.DIST" | "T.DIST.RT" | "T.DIST.2T" | "T.INV" | "T.INV.2T" | "TDIST" | "TINV" | "T.TEST" | "TTEST" | "BINOMDIST" | "BINOM.DIST" | "BINOM.DIST.RANGE" | "CRITBINOM" | "BINOM.INV" | "HYPGEOMDIST" | "HYPGEOM.DIST" | "NEGBINOMDIST" | "NEGBINOM.DIST" | "FVSCHEDULE" | "RATE" | "CUMIPMT" | "CUMPRINC" | "IRR" | "MIRR" | "XNPV" | "XIRR" | "DB" | "DDB" | "VDB" | "SLN" | "SYD" | "COUPDAYBS" | "COUPDAYS" | "COUPDAYSNC" | "COUPNCD" | "COUPNUM" | "COUPPCD" | "PRICEDISC" | "YIELDDISC" | "PRICEMAT" | "YIELDMAT" | "PRICE" | "YIELD" | "DURATION" | "MDURATION" | "TBILLPRICE" | "TBILLYIELD" | "TBILLEQ" | "COMPLEX" | "IMREAL" | "IMAGINARY" | "IMABS" | "IMARGUMENT" | "IMCONJUGATE" | "IMSUM" | "IMSUB" | "IMPRODUCT" | "IMDIV" | "IMEXP" | "IMLN" | "IMLOG10" | "IMLOG2" | "IMPOWER" | "IMSQRT" | "IMSIN" | "IMCOS" | "IMTAN" | "IMSINH" | "IMCOSH" | "IMSEC" | "IMCSC" | "IMCOT" | "IMSECH" | "IMCSCH" | "CALL" | "CUBEKPIMEMBER" | "CUBEMEMBER" | "CUBEMEMBERPROPERTY" | "CUBERANKEDMEMBER" | "CUBESET" | "CUBESETCOUNT" | "CUBEVALUE" | "DDE" | "DETECTLANGUAGE" | "FILTERXML" | "HYPERLINK" | "IMAGE" | "INFO" | "ISOMITTED" | "REGEXEXTRACT" | "REGEXREPLACE" | "REGEXTEST" | "REGISTER.ID" | "RTD" | "TRANSLATE" | "STOCKHISTORY" | "WEBSERVICE" | "COPILOT" | "FORECAST.ETS" | "FORECAST.ETS.CONFINT" | "FORECAST.ETS.SEASONALITY" | "FORECAST.ETS.STAT")[];
3
3
  export declare const logicalPlaceholderBuiltinNames: readonly [];
4
4
  export declare const datetimePlaceholderBuiltinNames: readonly [];
5
5
  export declare const textPlaceholderBuiltinNames: readonly [];
6
- export declare const placeholderBuiltinNames: readonly ("FILTERXML" | "STOCKHISTORY" | "F.TEST" | "FTEST" | "Z.TEST" | "ZTEST" | "T.TEST" | "TTEST" | "OFFSET" | "TAKE" | "DROP" | "SORT" | "SORTBY" | "TOCOL" | "TOROW" | "WRAPROWS" | "WRAPCOLS" | "ROW" | "COLUMN" | "ISOMITTED" | "FORMULATEXT" | "SHEET" | "SHEETS" | "CELL" | "INDIRECT" | "EXPAND" | "TEXTSPLIT" | "TRIMRANGE" | "TREND" | "GROWTH" | "LINEST" | "LOGEST" | "FREQUENCY" | "MODE.MULT" | "ASC" | "BAHTTEXT" | "BESSELI" | "BESSELJ" | "BESSELK" | "BESSELY" | "BETADIST" | "BETA.DIST" | "BETAINV" | "BIN2DEC" | "BIN2HEX" | "BIN2OCT" | "BINOMDIST" | "BINOM.DIST" | "BINOM.DIST.RANGE" | "BINOM.INV" | "CALL" | "CHIDIST" | "CHIINV" | "CHISQ.DIST" | "CHISQ.DIST.RT" | "CHISQ.INV" | "CHISQ.INV.RT" | "COMPLEX" | "CONFIDENCE" | "CONFIDENCE.T" | "CONVERT" | "COPILOT" | "COUPDAYBS" | "COUPDAYS" | "COUPDAYSNC" | "COUPNCD" | "COUPNUM" | "COUPPCD" | "CRITBINOM" | "CUBEKPIMEMBER" | "CUBEMEMBER" | "CUBEMEMBERPROPERTY" | "CUBERANKEDMEMBER" | "CUBESET" | "CUBESETCOUNT" | "CUBEVALUE" | "CUMIPMT" | "CUMPRINC" | "DATEDIF" | "DB" | "DBCS" | "DDB" | "DDE" | "DEC2BIN" | "DEC2HEX" | "DEC2OCT" | "DETECTLANGUAGE" | "DURATION" | "ERF" | "ERF.PRECISE" | "ERFC" | "ERFC.PRECISE" | "EUROCONVERT" | "EXPON.DIST" | "EXPONDIST" | "F.DIST" | "FDIST" | "F.DIST.RT" | "F.INV" | "F.INV.RT" | "FINV" | "FISHER" | "FISHERINV" | "FORECAST" | "FORECAST.LINEAR" | "FORECAST.ETS" | "FORECAST.ETS.CONFINT" | "FORECAST.ETS.SEASONALITY" | "FORECAST.ETS.STAT" | "FVSCHEDULE" | "GAMMA" | "GAMMA.DIST" | "GAMMADIST" | "GAMMA.INV" | "GAMMAINV" | "GAMMALN" | "GAMMALN.PRECISE" | "HEX2BIN" | "HEX2DEC" | "HEX2OCT" | "HYPERLINK" | "HYPGEOM.DIST" | "HYPGEOMDIST" | "IMABS" | "IMAGE" | "IMAGINARY" | "IMARGUMENT" | "IMCONJUGATE" | "IMCOS" | "IMCOSH" | "IMCOT" | "IMCSC" | "IMCSCH" | "IMDIV" | "IMEXP" | "IMLN" | "IMLOG10" | "IMLOG2" | "IMPOWER" | "IMPRODUCT" | "IMREAL" | "IMSEC" | "IMSECH" | "IMSIN" | "IMSINH" | "IMSQRT" | "IMSUB" | "IMSUM" | "IMTAN" | "INFO" | "INTERCEPT" | "IRR" | "JIS" | "MDURATION" | "MIRR" | "NEGBINOM.DIST" | "NEGBINOMDIST" | "OCT2BIN" | "OCT2DEC" | "OCT2HEX" | "PERCENTILE.EXC" | "PERCENTILE.INC" | "PERCENTILE" | "PERCENTRANK.EXC" | "PERCENTRANK.INC" | "PERCENTRANK" | "POISSON.DIST" | "POISSON" | "PRICE" | "PRICEDISC" | "PRICEMAT" | "QUARTILE" | "QUARTILE.EXC" | "QUARTILE.INC" | "RANK.AVG" | "RATE" | "REGEXEXTRACT" | "REGEXREPLACE" | "REGEXTEST" | "REGISTER.ID" | "RSQ" | "RTD" | "SLN" | "SLOPE" | "STEYX" | "SYD" | "TBILLEQ" | "TBILLPRICE" | "TBILLYIELD" | "T.DIST" | "T.DIST.2T" | "T.DIST.RT" | "TDIST" | "TRANSLATE" | "T.INV" | "T.INV.2T" | "TINV" | "VDB" | "WEBSERVICE" | "WEIBULL" | "WEIBULL.DIST" | "XIRR" | "XNPV" | "YIELD" | "YIELDDISC" | "YIELDMAT")[];
6
+ export declare const placeholderBuiltinNames: readonly ("CELL" | "COLUMN" | "FORMULATEXT" | "INDIRECT" | "ROW" | "SHEET" | "SHEETS" | "DATEDIF" | "BIN2DEC" | "BIN2HEX" | "BIN2OCT" | "DEC2BIN" | "DEC2HEX" | "DEC2OCT" | "HEX2BIN" | "HEX2DEC" | "HEX2OCT" | "OCT2BIN" | "OCT2DEC" | "OCT2HEX" | "CONVERT" | "EUROCONVERT" | "BESSELI" | "BESSELJ" | "BESSELK" | "BESSELY" | "ASC" | "JIS" | "DBCS" | "BAHTTEXT" | "TEXTSPLIT" | "FORECAST" | "FORECAST.LINEAR" | "GROWTH" | "INTERCEPT" | "LINEST" | "LOGEST" | "MODE.MULT" | "FREQUENCY" | "PERCENTILE" | "PERCENTILE.INC" | "PERCENTILE.EXC" | "PERCENTRANK" | "PERCENTRANK.INC" | "PERCENTRANK.EXC" | "QUARTILE" | "QUARTILE.INC" | "QUARTILE.EXC" | "RANK.AVG" | "RSQ" | "SLOPE" | "STEYX" | "TREND" | "EXPAND" | "OFFSET" | "TAKE" | "DROP" | "SORT" | "SORTBY" | "TOCOL" | "TOROW" | "WRAPROWS" | "WRAPCOLS" | "TRIMRANGE" | "ERF" | "ERF.PRECISE" | "ERFC" | "ERFC.PRECISE" | "FISHER" | "FISHERINV" | "GAMMALN" | "GAMMALN.PRECISE" | "GAMMA" | "GAMMA.INV" | "GAMMAINV" | "CONFIDENCE" | "CONFIDENCE.T" | "EXPONDIST" | "EXPON.DIST" | "POISSON" | "POISSON.DIST" | "WEIBULL" | "WEIBULL.DIST" | "GAMMADIST" | "GAMMA.DIST" | "CHIDIST" | "CHIINV" | "CHISQ.DIST.RT" | "CHISQ.DIST" | "CHISQ.INV.RT" | "CHISQ.INV" | "F.TEST" | "FTEST" | "Z.TEST" | "ZTEST" | "BETA.DIST" | "BETADIST" | "BETAINV" | "F.DIST" | "F.DIST.RT" | "F.INV" | "F.INV.RT" | "FDIST" | "FINV" | "T.DIST" | "T.DIST.RT" | "T.DIST.2T" | "T.INV" | "T.INV.2T" | "TDIST" | "TINV" | "T.TEST" | "TTEST" | "BINOMDIST" | "BINOM.DIST" | "BINOM.DIST.RANGE" | "CRITBINOM" | "BINOM.INV" | "HYPGEOMDIST" | "HYPGEOM.DIST" | "NEGBINOMDIST" | "NEGBINOM.DIST" | "FVSCHEDULE" | "RATE" | "CUMIPMT" | "CUMPRINC" | "IRR" | "MIRR" | "XNPV" | "XIRR" | "DB" | "DDB" | "VDB" | "SLN" | "SYD" | "COUPDAYBS" | "COUPDAYS" | "COUPDAYSNC" | "COUPNCD" | "COUPNUM" | "COUPPCD" | "PRICEDISC" | "YIELDDISC" | "PRICEMAT" | "YIELDMAT" | "PRICE" | "YIELD" | "DURATION" | "MDURATION" | "TBILLPRICE" | "TBILLYIELD" | "TBILLEQ" | "COMPLEX" | "IMREAL" | "IMAGINARY" | "IMABS" | "IMARGUMENT" | "IMCONJUGATE" | "IMSUM" | "IMSUB" | "IMPRODUCT" | "IMDIV" | "IMEXP" | "IMLN" | "IMLOG10" | "IMLOG2" | "IMPOWER" | "IMSQRT" | "IMSIN" | "IMCOS" | "IMTAN" | "IMSINH" | "IMCOSH" | "IMSEC" | "IMCSC" | "IMCOT" | "IMSECH" | "IMCSCH" | "CALL" | "CUBEKPIMEMBER" | "CUBEMEMBER" | "CUBEMEMBERPROPERTY" | "CUBERANKEDMEMBER" | "CUBESET" | "CUBESETCOUNT" | "CUBEVALUE" | "DDE" | "DETECTLANGUAGE" | "FILTERXML" | "HYPERLINK" | "IMAGE" | "INFO" | "ISOMITTED" | "REGEXEXTRACT" | "REGEXREPLACE" | "REGEXTEST" | "REGISTER.ID" | "RTD" | "TRANSLATE" | "STOCKHISTORY" | "WEBSERVICE" | "COPILOT" | "FORECAST.ETS" | "FORECAST.ETS.CONFINT" | "FORECAST.ETS.SEASONALITY" | "FORECAST.ETS.STAT")[];
7
7
  export declare const protocolPlaceholderBuiltinNames: readonly [];
8
8
  export type PlaceholderBuiltin = (...args: CellValue[]) => CellValue;
9
9
  export declare function createBlockedBuiltinMap(names: readonly string[]): Record<string, PlaceholderBuiltin>;
@@ -0,0 +1,12 @@
1
+ import { ErrorCode, type CellValue } from "@bilig/protocol";
2
+ import type { TextBuiltin } from "./text.js";
3
+ interface TextCoreBuiltinDeps {
4
+ error: (code: ErrorCode) => CellValue;
5
+ stringResult: (value: string) => CellValue;
6
+ booleanResult: (value: boolean) => CellValue;
7
+ firstError: (args: readonly (CellValue | undefined)[]) => CellValue | undefined;
8
+ coerceText: (value: CellValue) => string;
9
+ coerceNumber: (value: CellValue) => number | undefined;
10
+ }
11
+ export declare function createTextCoreBuiltins(deps: TextCoreBuiltinDeps): Record<string, TextBuiltin>;
12
+ export {};