peeksafe 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/stats.js CHANGED
@@ -20,7 +20,7 @@
20
20
  * whose honest answer is "no finite sample size will do", see
21
21
  * `sampleSizeTwoProportion`.
22
22
  */
23
- import { PeeksafeError, requireCounts, requireOpenProbability, requireProbability, } from "./errors.js";
23
+ import { PeeksafeError, requireCounts, requireErrorRates, requireOpenProbability, requirePairedCounts, requireProbability, } from "./errors.js";
24
24
  /* ────────────────────────── special functions ────────────────────────── */
25
25
  const LANCZOS = [
26
26
  676.5203681218851, -1259.1392167224028, 771.32342877765313, -176.61502916214059,
@@ -28,6 +28,12 @@ const LANCZOS = [
28
28
  ];
29
29
  /** Lanczos approximation to log Γ(x), x > 0. ~15 significant digits. */
30
30
  export function logGamma(x) {
31
+ // Below 0 the reflection answered finite values at the poles, 37.78 at x = -1, and Infinity answered NaN.
32
+ if (!(x > 0) || x === Infinity) {
33
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `logGamma: x must be finite and positive, got ${x}`, {
34
+ detail: { x },
35
+ });
36
+ }
31
37
  if (x < 0.5) {
32
38
  // reflection: Γ(x)Γ(1-x) = π / sin(πx)
33
39
  return Math.log(Math.PI / Math.abs(Math.sin(Math.PI * x))) - logGamma(1 - x);
@@ -78,8 +84,16 @@ function gammaQContinued(a, x) {
78
84
  }
79
85
  /** Regularized lower incomplete gamma P(a,x), accurate to ~1e-15. */
80
86
  export function gammaP(a, x) {
87
+ // A shape at or below 0 answered a negative probability, and x = Infinity fed Infinity - Infinity to exp.
88
+ if (!(a > 0) || !Number.isFinite(a) || Number.isNaN(x)) {
89
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "gammaP: need finite a > 0 and a number x", {
90
+ detail: { a, x },
91
+ });
92
+ }
81
93
  if (x <= 0)
82
94
  return 0;
95
+ if (x === Infinity)
96
+ return 1;
83
97
  return x < a + 1 ? gammaPSeries(a, x) : 1 - gammaQContinued(a, x);
84
98
  }
85
99
  /**
@@ -97,6 +111,12 @@ export function erf(x) {
97
111
  export const normalCdf = (x) => 0.5 * (1 + erf(x / Math.SQRT2));
98
112
  /** Φ⁻¹(p): Acklam's inverse normal CDF, refined by one Halley step. */
99
113
  export function normalQuantile(p) {
114
+ // Every branch below compares false for NaN, so it fell through to the tail formula and came back NaN.
115
+ if (Number.isNaN(p)) {
116
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "normalQuantile: p must be a number, got NaN", {
117
+ detail: { p },
118
+ });
119
+ }
100
120
  if (p <= 0)
101
121
  return -Infinity;
102
122
  if (p >= 1)
@@ -215,6 +235,15 @@ export function ibeta(a, b, x) {
215
235
  betaContinuedFraction(b, a, 1 - x)) /
216
236
  b;
217
237
  }
238
+ // A negative z swapped the bounds and a non-finite one made them NaN; checked before the empty-arm returns.
239
+ function requireZ(z, where) {
240
+ if (!Number.isFinite(z) || z < 0) {
241
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: z must be finite and ≥ 0, got ${z}`, {
242
+ detail: { z, where },
243
+ hint: "a standard normal quantile, such as 1.96 for a 95% interval",
244
+ });
245
+ }
246
+ }
218
247
  /**
219
248
  * Wilson score interval for a binomial proportion.
220
249
  * Correct at the boundaries (0/n and n/n) where Wald is degenerate, which is
@@ -222,6 +251,7 @@ export function ibeta(a, b, x) {
222
251
  */
223
252
  export function wilsonInterval(successes, n, z = 1.959963984540054) {
224
253
  requireCounts(successes, n, "wilsonInterval");
254
+ requireZ(z, "wilsonInterval");
225
255
  // No data is not "p = 0.5". The interval is the whole line and the point
226
256
  // estimate is NaN-free only because callers must check `n`, which is why
227
257
  // `n` is echoed back in `observations`.
@@ -268,6 +298,12 @@ export function betaQuantile(alpha, beta, q) {
268
298
  detail: { alpha, beta, q },
269
299
  });
270
300
  }
301
+ // The clamps below are kept, but a NaN fails every comparison in the bisection and came back near 0.
302
+ if (Number.isNaN(q)) {
303
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "betaQuantile: q must be a number, got NaN", {
304
+ detail: { alpha, beta, q },
305
+ });
306
+ }
271
307
  if (q <= 0)
272
308
  return 0;
273
309
  if (q >= 1)
@@ -325,6 +361,8 @@ export function tQuantile(p, df) {
325
361
  }
326
362
  /** Equal-tailed credible interval of a Beta posterior. */
327
363
  export function betaCredibleInterval(post, level = 0.95) {
364
+ // betaQuantile clamps q to [0, 1], so a level of 95 or -1 came back as [0, 1] or [1, 0].
365
+ requireOpenProbability(level, "level", "betaCredibleInterval");
328
366
  const tail = (1 - level) / 2;
329
367
  return {
330
368
  low: betaQuantile(post.alpha, post.beta, tail),
@@ -352,6 +390,7 @@ export function betaMassBetween(post, a, b) {
352
390
  export function diffInterval(s1, n1, s2, n2, z = 1.959963984540054) {
353
391
  requireCounts(s1, n1, "diffInterval(arm 1)");
354
392
  requireCounts(s2, n2, "diffInterval(arm 2)");
393
+ requireZ(z, "diffInterval");
355
394
  // With an empty arm there is no difference to estimate. Saying so beats
356
395
  // reporting `p2 − 0` as if the missing arm had scored zero.
357
396
  if (n1 === 0 || n2 === 0)
@@ -446,8 +485,9 @@ export function sprtDecision(opts) {
446
485
  // against a wall that is not a number. An alpha of 0 puts `upper` at
447
486
  // Infinity, which no evidence ever crosses. Open at both ends: an error rate
448
487
  // of 0 is a test that never decides and one of 1 is a test that always does.
449
- requireOpenProbability(alpha, "alpha", "sprtDecision");
450
- requireOpenProbability(beta, "beta", "sprtDecision");
488
+ // At `alpha + beta >= 1` the walls meet or cross, so a test at 0 runs and a
489
+ // log likelihood ratio of 0 already sat on the H1 wall and answered ACCEPT_H1.
490
+ requireErrorRates(alpha, beta, "sprtDecision");
451
491
  const e = 1e-12;
452
492
  const cl = (x) => Math.min(1 - e, Math.max(e, x));
453
493
  const q0 = cl(p0), q1 = cl(p1);
@@ -525,8 +565,9 @@ export function sprtExpectedN(p, p0, p1, alpha = 0.05, beta = 0.1) {
525
565
  // and quote `maxTrials` when that fails, which both answers do, so a plan
526
566
  // built on an out-of-range error rate priced every case at the per-case cap
527
567
  // and reported it as a budget, with nothing to say it was not a real answer.
528
- requireOpenProbability(alpha, "alpha", "sprtExpectedN");
529
- requireOpenProbability(beta, "beta", "sprtExpectedN");
568
+ // At `alpha + beta >= 1` the test decides before its first run, and this
569
+ // answered 0 or a small positive number instead of saying so.
570
+ requireErrorRates(alpha, beta, "sprtExpectedN");
530
571
  const A = Math.log((1 - beta) / alpha);
531
572
  const B = Math.log(beta / (1 - alpha));
532
573
  const logR1 = Math.log(p1 / p0);
@@ -537,17 +578,6 @@ export function sprtExpectedN(p, p0, p1, alpha = 0.05, beta = 0.1) {
537
578
  // are both 0 and no number of runs ends the test.
538
579
  if (second === 0)
539
580
  return Infinity;
540
- // `A === B` is `alpha + beta === 1`: both walls sit at a log likelihood ratio
541
- // of 0, which is where the test starts, so it decides before it has seen
542
- // anything and the expected sample number is 0. The general form is
543
- // `(L1·(A − B) + B) / drift`, which is 0 whatever `L1` is, but it computes
544
- // `L1` as `(1 − B^h) / (A^h − B^h)`, a genuine 0/0 here, and so returned NaN
545
- // for in-domain error rates: (0.5, 0.5) and (0.25, 0.75) both landed on it.
546
- // The neighbouring configurations already converge to 0 from both sides.
547
- // Only the pairs where both logs round to exactly 0 were affected, which is
548
- // why this survived the error-rate guards above.
549
- if (A === B)
550
- return 0;
551
581
  // The ASN is 0/0 where the tilt vanishes, and that limit is the one place
552
582
  // Wald's formula needs a different expression. What decides whether the
553
583
  // quotient is really 0/0 is the *tilt*, not the drift: near the zero
@@ -665,6 +695,31 @@ function requireConcentration(k, name, where) {
665
695
  });
666
696
  }
667
697
  }
698
+ /**
699
+ * The most runs a sample-size search may try. Below 1, or NaN, the doubling
700
+ * loop never ran and the search answered Infinity, "no number of runs will
701
+ * do", for a design that needs a few hundred.
702
+ */
703
+ function requireSearchCap(cap, name, where) {
704
+ if (!(cap >= 1) || !Number.isFinite(cap)) {
705
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: ${name} must be finite and at least 1, got ${cap}`, {
706
+ detail: { [name]: cap, where },
707
+ });
708
+ }
709
+ }
710
+ /**
711
+ * The log e-value bar a sample-size search sizes a study to. A NaN bar loses
712
+ * every comparison the searches make, so one answered a single pair and the
713
+ * other Infinity, "no number of runs will do", for the same mistake.
714
+ */
715
+ function requireLogThreshold(logThreshold, where) {
716
+ if (!Number.isFinite(logThreshold)) {
717
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `${where}: logThreshold must be finite, got ${logThreshold}`, {
718
+ detail: { logThreshold },
719
+ hint: "this is a log e-value bar, such as Math.log(ebhSoloThreshold(m, fdr))",
720
+ });
721
+ }
722
+ }
668
723
  // Below 1 a shape piles alternative mass onto 0 or 1, which pushed type I error past alpha for thin baselines.
669
724
  const ALT_SHAPE_FLOOR = 1;
670
725
  /**
@@ -747,8 +802,21 @@ export function ebhCorrect(evalues, q = 0.05) {
747
802
  rejected[order[k].i] = true;
748
803
  return { rejected, discoveries: kStar, threshold: kStar > 0 ? m / (q * kStar) : m / q };
749
804
  }
750
- /** The e-value a case must reach to be certain of rejection whatever the others do. */
751
- export const ebhSoloThreshold = (m, q = 0.05) => m / q;
805
+ /**
806
+ * The e-value a case must reach to be certain of rejection whatever the others do.
807
+ *
808
+ * `q` is checked as `ebhCorrect` checks it, so a level of 0 answers Infinity.
809
+ */
810
+ export function ebhSoloThreshold(m, q = 0.05) {
811
+ if (!Number.isInteger(m) || m < 1) {
812
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `ebhSoloThreshold: m must be a positive integer, got ${m}`, {
813
+ detail: { m },
814
+ hint: "m is the number of cases in the e-BH family",
815
+ });
816
+ }
817
+ requireProbability(q, "q", "ebhSoloThreshold");
818
+ return m / q;
819
+ }
752
820
  /* ──────────────────────────────── planning ──────────────────────────── */
753
821
  /**
754
822
  * Fixed-N sample size per arm for detecting a `delta` drop from `p0` at the
@@ -770,6 +838,12 @@ export function sampleSizeTwoProportion(p0, delta, alpha = 0.05, beta = 0.1) {
770
838
  // naive design costs.
771
839
  requireOpenProbability(alpha, "alpha", "sampleSizeTwoProportion");
772
840
  requireOpenProbability(beta, "beta", "sampleSizeTwoProportion");
841
+ // Both comparisons below are false for NaN, so it fell through to the formula and came back NaN.
842
+ if (Number.isNaN(delta)) {
843
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", "sampleSizeTwoProportion: delta must be a number, got NaN", {
844
+ detail: { p0, delta },
845
+ });
846
+ }
773
847
  if (delta <= 0 || delta >= p0)
774
848
  return Infinity;
775
849
  const p1 = p0 - delta;
@@ -987,6 +1061,8 @@ export function expectedLogEExact(pTrue, n, baselineSuccesses, baselineTrials, m
987
1061
  * that no number of runs will do.
988
1062
  */
989
1063
  export function samplesForEvidence(pTrue, baselineSuccesses, baselineTrials, mde, logThreshold, maxN = 100_000, altConcentration = 8) {
1064
+ requireSearchCap(maxN, "maxN", "samplesForEvidence");
1065
+ requireLogThreshold(logThreshold, "samplesForEvidence");
990
1066
  const ceiling = evidenceCeilingLogE(pTrue, baselineSuccesses, baselineTrials, mde, altConcentration);
991
1067
  if (!(ceiling > logThreshold))
992
1068
  return Infinity;
@@ -1077,7 +1153,10 @@ export function universalCeilingLogE(pTrue, baselineSuccesses, baselineTrials) {
1077
1153
  const p = Math.max(1e-12, pTrue);
1078
1154
  return occam + baselineTrials * (xlogy(pb, pb / p) + xlogy(1 - pb, (1 - pb) / (1 - p)));
1079
1155
  }
1080
- export const discordant = (p) => p.worse + p.better;
1156
+ export function discordant(p) {
1157
+ requirePairedCounts(p, "discordant");
1158
+ return p.worse + p.better;
1159
+ }
1081
1160
  /**
1082
1161
  * Phi coefficient of the 2×2 pair table, how well the pairing actually
1083
1162
  * coupled the two arms. 0 means the seeds bought nothing (the arms are
@@ -1086,19 +1165,8 @@ export const discordant = (p) => p.worse + p.better;
1086
1165
  * not assumed.
1087
1166
  */
1088
1167
  export function pairPhi(p) {
1168
+ requirePairedCounts(p, "pairPhi");
1089
1169
  const { bothPass: a, worse: b, better: cc, bothFail: d } = p;
1090
- for (const [name, v] of [
1091
- ["bothPass", a],
1092
- ["worse", b],
1093
- ["better", cc],
1094
- ["bothFail", d],
1095
- ]) {
1096
- if (!Number.isInteger(v) || v < 0) {
1097
- throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `pairPhi: ${name} must be a non-negative integer, got ${v}`, {
1098
- detail: { counts: p },
1099
- });
1100
- }
1101
- }
1102
1170
  const n = a + b + cc + d;
1103
1171
  if (n === 0)
1104
1172
  return 0;
@@ -1167,17 +1235,8 @@ export function pairedDiscordance(pBaseline, mde, rho) {
1167
1235
  */
1168
1236
  export function mcnemarSamplesForEvidence(pBaseline, mde, rho, logThreshold, maxPairs = 100_000, concentration = 6) {
1169
1237
  requireConcentration(concentration, "concentration", "mcnemarSamplesForEvidence");
1170
- // Every comparison below is a `<` against `logThreshold`, and a NaN loses all
1171
- // of them: the doubling loop exited on its first test, the Infinity guard did
1172
- // not fire, and the bisection returned its own starting point. The answer
1173
- // came back as one pair, where the same design at a real 15pt effect needs
1174
- // 172. `samplesForEvidence` writes its guard negated and so refuses instead.
1175
- if (!Number.isFinite(logThreshold)) {
1176
- throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `mcnemarSamplesForEvidence: logThreshold must be finite, got ${logThreshold}`, {
1177
- detail: { logThreshold },
1178
- hint: "this is a log e-value bar, such as Math.log(ebhSoloThreshold(m, fdr))",
1179
- });
1180
- }
1238
+ requireSearchCap(maxPairs, "maxPairs", "mcnemarSamplesForEvidence");
1239
+ requireLogThreshold(logThreshold, "mcnemarSamplesForEvidence");
1181
1240
  const { rate, theta } = pairedDiscordance(pBaseline, mde, rho);
1182
1241
  if (rate <= 0 || theta <= 0.5)
1183
1242
  return Infinity;
package/dist/stats.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,6EAA6E;AAE7E,MAAM,OAAO,GAAG;IACd,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,kBAAkB;IAC/E,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB;CACvF,CAAC;AAEF,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,0GAA0G;IAC1G,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,gDAAgD,CAAC,EAAE,EACnD;YACE,MAAM,EAAE,EAAE,CAAC,EAAE;SACd,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACZ,uCAAuC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,mBAAmB,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;IACnC,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CACtD,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9C,kFAAkF;AAClF,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpB,GAAG,IAAI,IAAI,CAAC;QACZ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;YAAE,MAAM;IACpD,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,kFAAkF;AAClF,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,CAAC,GAAG,IAAI,CAAC;QACjC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI;YAAE,EAAE,GAAG,IAAI,CAAC;QACnC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC,IAAI,GAAG,CAAC;QACT,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK;YAAE,MAAM;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,CAAS;IACzC,0GAA0G;IAC1G,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE,0CAA0C,EAAE;YAC5F,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,CAAS;IAC3B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,iCAAiC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhF,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,uGAAuG;IACvG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,6CAA6C,EAC7C;YACE,MAAM,EAAE,EAAE,CAAC,EAAE;SACd,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC;IAC7B,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,CAAC,GAAG;QACR,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB;QACnF,CAAC,mBAAmB,EAAE,iBAAiB;KACxC,CAAC;IACF,MAAM,CAAC,GAAG;QACR,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB;QACpF,CAAC,mBAAmB;KACrB,CAAC;IACF,MAAM,EAAE,GAAG;QACT,CAAC,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB;QACpF,iBAAiB,EAAE,iBAAiB;KACrC,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,OAAO,CAAC;IACnB,IAAI,CAAS,CAAC;IACd,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;YACC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;gBACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;YACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;YACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;gBAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,2EAA2E;IAC3E,sEAAsE;IACtE,+CAA+C;IAC/C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,KAAK,CAAC;AAE1B,+CAA+C;AAC/C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC5D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpB,2EAA2E;IAC3E,+EAA+E;IAC/E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAClD,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnB,0BAA0B;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;QAC3C,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC;QAEtB,2BAA2B;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACrE,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;QAC1C,KAAK,GAAG,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,IAAI,CAAC;QAEb,sEAAsE;QACtE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK;YAAE,MAAM;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACnD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,8CAA8C,EAC9C;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACpB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,CAAC;YACC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC;AACZ,CAAC;AAgBD,4GAA4G;AAC5G,SAAS,QAAQ,CAAC,CAAS,EAAE,KAAa;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,GAAG,KAAK,mCAAmC,CAAC,EAAE,EAC9C;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;YACpB,IAAI,EAAE,6DAA6D;SACpE,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,CAAS,EAAE,CAAC,GAAG,iBAAiB;IAChF,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9B,yEAAyE;IACzE,yEAAyE;IACzE,wCAAwC;IACxC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACrE,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAaD,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,QAAgB,EAChB,KAAK,GAAoC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IAE9D,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,kDAAkD,EAClD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE;SAClB,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACvB,OAAO;QACL,KAAK;QACL,IAAI;QACJ,IAAI,EAAE,KAAK,GAAG,CAAC;QACf,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAC/D,QAAQ,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,EAAE,SAAS,GAAG,QAAQ;QACvB,SAAS;KACV,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,CAAS;IACjE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,0DAA0D,EAC1D;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;SAC3B,CACF,CAAC;IACJ,CAAC;IACD,qGAAqG;IACrG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE,2CAA2C,EAAE;YAC7F,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,EACR,EAAE,GAAG,CAAC,CAAC;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;YAAE,EAAE,GAAG,GAAG,CAAC;;YACrC,EAAE,GAAG,GAAG,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK;YAAE,MAAM;IAC7B,CAAC;IACD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,EAAU;IAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE,sCAAsC,CAAC,EAAE,EAAE;YAC3F,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,kDAAkD,EAAE,EAAE,EACtD;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;SAClB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,GAAG;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,8EAA8E;IAC9E,yDAAyD;IACzD,IAAI,EAAE,GAAG,GAAG;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,IAAmB,EAAE,KAAK,GAAG,IAAI;IACpE,yFAAyF;IACzF,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,KAAK,EAAE,IAAI,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,eAAe,CAAC,IAAmB,EAAE,CAAS,EAAE,CAAS;IACvE,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC9C,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,qCAAqC,CAAC,KAAK,CAAC,GAAG,EAC/C;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SACjB,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAC,GAAG,iBAAiB;IAErB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC7C,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC5B,wEAAwE;IACxE,4DAA4D;IAC5D,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACjF,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,EAAE,GAAG,EAAE;QACd,YAAY,EAAE,EAAE,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,EAAU;IAC5C,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AASD,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAC/E,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACnD,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAChB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CACjD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,CAAS;IACxE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI;QACtB,CAAC,GAAG,EAAE,CAAC,CAAC;QACR,CAAC,GAAG,EAAE,CAAC,CAAC;QACR,CAAC,GAAG,EAAE,EAAE,CAAC;QACT,CAAC,GAAG,EAAE,CAAC,CAAC;KACA,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,wBAAwB,IAAI,wCAAwC,CAAC,EAAE,EACvE;gBACE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;aAC3B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EACd,EAAE,GAAG,EAAE,GAAG,CAAC,EACX,EAAE,GAAG,CAAC,GAAG,EAAE,EACX,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAC7B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AA0BD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IACpC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;IAC9B,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,+EAA+E;IAC/E,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EACf,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,QAAQ,GACZ,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAC/D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,QAAQ,CAAC,CAAS,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;IACtE,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAAE,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;YAAE,EAAE,GAAG,GAAG,CAAC;;YAC3B,EAAE,GAAG,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG;IACvF,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9C,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9C,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,8DAA8D;IAC9D,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3D,6EAA6E;IAC7E,kDAAkD;IAClD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClC,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,sEAAsE;IACtE,gEAAgE;IAChE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,0BAA0B;IAC1B,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,iEAAiE;IACjE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM;QAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IAClE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa;IAClE,4EAA4E;IAC5E,qDAAqD;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAcD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAiB,EAAE,CAAC,GAAG,IAAI;IACnD,6EAA6E;IAC7E,yDAAyD;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IACD,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,iEAAiE;IACjE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,WAAW,EAAE,IAAI,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAChF,4EAA4E;IAC5E,iDAAiD;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,gDAAgD,CAAC,IAAI,CAAC,EAAE,EACxD;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SACjB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,uEAAuE,EACvE;YACE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SACjB,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,CAAS,EAAE,IAAY,EAAE,KAAa;IAClE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,GAAG,KAAK,KAAK,IAAI,8BAA8B,EAC/C;YACE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;SACtB,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;IAChE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,GAAG,KAAK,KAAK,IAAI,uCAAuC,GAAG,EAAE,EAC7D;YACE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;SAC/B,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,YAAoB,EAAE,KAAa;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,GAAG,KAAK,sCAAsC,YAAY,EAAE,EAC5D;YACE,MAAM,EAAE,EAAE,YAAY,EAAE;YACxB,IAAI,EAAE,uEAAuE;SAC9E,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAC3B,kBAA0B,EAC1B,eAAuB,EACvB,iBAAyB,EACzB,cAAsB,EACtB,GAAW;AACX;;;;GAIG;AACH,gBAAgB,GAAG,CAAC;IAEpB,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,6EAA6E;IAC7E,8CAA8C;IAC9C,aAAa,CAAC,kBAAkB,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAC;IAC/E,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAC;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,iEAAiE;IACjE,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACpD,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAClD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GACR,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC;QACpE,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,GAAG,eAAe,EAAE,iBAAiB,EAAE,cAAc,CAAC;QAC/F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CACxB,aAAqB,EACrB,iBAAyB,EACzB,cAAsB,EACb,EAAE,CAAC,cAAc,GAAG,CAAC,IAAI,aAAa,IAAI,iBAAiB,GAAG,cAAc,CAAC;AAqBxF,MAAM,UAAU,UAAU,CAAC,OAAiB,EAAE,CAAC,GAAG,IAAI;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,iBAAiB,CAAC,iCAAiC,CAAC,EAAE,EACtD;gBACE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC9B,IAAI,EAAE,iHAAiH;aACxH,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAC,GAAG,IAAI;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,uDAAuD,CAAC,EAAE,EAC1D;YACE,MAAM,EAAE,EAAE,CAAC,EAAE;YACb,IAAI,EAAE,6CAA6C;SACpD,CACF,CAAC;IACJ,CAAC;IACD,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,4EAA4E;AAE5E;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAU,EACV,KAAa,EACb,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,GAAG;IAEV,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;IACxD,wEAAwE;IACxE,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,6EAA6E;IAC7E,sBAAsB;IACtB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAClE,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAChE,iGAAiG;IACjG,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,0DAA0D,EAC1D;YACE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,GACL,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;GAKG;AAEH,yCAAyC;AACzC,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IACxD,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,wEAAwE;QACxE,uEAAuE;QACvE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,eAAe,CAC7B,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACpE,4EAA4E;IAC5E,6EAA6E;IAC7E,sEAAsE;IACtE,4EAA4E;IAC5E,0EAA0E;IAC1E,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAClD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IACnE,OAAO;QACL,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC3B,QAAQ,EAAE;YACR,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC;YACxD,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;SAC/D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,CAC7C,iBAAiB,EACjB,cAAc,EACd,GAAG,EACH,gBAAgB,CACjB,CAAC;IACF,MAAM,OAAO,GACX,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,cAAc,CAAC;QAChE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,UAAkB;IACxE,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACnE,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,yBAAyB,CACvC,iBAAyB,EACzB,cAAsB,EACtB,KAAa,EACb,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;IAC9E,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAChE,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,8DAA8D,EAC9D;YACE,MAAM,EAAE,EAAE,cAAc,EAAE;YAC1B,IAAI,EAAE,oHAAoH;SAC3H,CACF,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,IAAI,iBAAiB,KAAK,CAAC,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QACpE,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,iFAAiF,iBAAiB,IAAI,cAAc,EAAE,EACtH;YACE,MAAM,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE;YAC7C,IAAI,EAAE,yGAAyG;SAChH,CACF,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,wEAAwE;IACxE,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,IAAI,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAChD,MAAM,CAAC,GAAG,cAAc,CAAC;IACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,iBAAiB,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/F,OAAO,CACL,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC;QACrC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,CAAS,EACT,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE,wCAAwC,EAAE;YAC1F,MAAM,EAAE,EAAE,CAAC,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,eAAe,CACrD,iBAAiB,EACjB,cAAc,EACd,GAAG,EACH,gBAAgB,CACjB,CAAC;IACF,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACpB,MAAM,IAAI,GACR,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,cAAc,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,CAAS,EACT,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,qDAAqD,EACrD,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GACR,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAClD,GAAG;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACd,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,YAAoB,EACpB,IAAI,GAAG,OAAO,EACd,gBAAgB,GAAG,CAAC;IAEpB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACrD,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,mBAAmB,CACjC,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,GAAG,EACH,gBAAgB,CACjB,CAAC;IACF,IAAI,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CACtB,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACnF,0EAA0E;IAC1E,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY;QAAE,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY;YAAE,EAAE,GAAG,GAAG,CAAC;;YAChC,EAAE,GAAG,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9F,0FAA0F;AAC1F,SAAS,UAAU,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAChE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,EAAE,IAAI,EAAE;QACb,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,kBAA0B,EAC1B,eAAuB,EACvB,iBAAyB,EACzB,cAAsB,EACtB,GAAW,EACX,gBAAgB,GAAG,CAAC;IAEpB,aAAa,CAAC,kBAAkB,EAAE,eAAe,EAAE,mCAAmC,CAAC,CAAC;IACxF,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,kCAAkC,CAAC,CAAC;IACrF,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,2DAA2D,EAC3D;YACE,MAAM,EAAE,EAAE,cAAc,EAAE;SAC3B,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,iBAAiB,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/F,MAAM,IAAI,GACR,OAAO,CAAC,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,cAAc,GAAG,iBAAiB,CAAC;QACtE,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,IAAI,GAAG,UAAU,CAAC,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,iBAAyB,EACzB,cAAsB;IAEtB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC3D,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;IACzE,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,yDAAyD,EACzD;YACE,MAAM,EAAE,EAAE,cAAc,EAAE;SAC3B,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAC9C,MAAM,KAAK,GACT,OAAO,CAAC,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,cAAc,GAAG,iBAAiB,CAAC;QACtE,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,GAAG,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AA2BD,MAAM,UAAU,UAAU,CAAC,CAAe;IACxC,mBAAmB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,CAAe;IACrC,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,eAAuB,EACvB,QAAQ,GAAG,IAAI,EACf,aAAa,GAAG,CAAC;IAEjB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACpD,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACvD,oBAAoB,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC1D,OAAO,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChG,CAAC;AAED,kGAAkG;AAClG,SAAS,oBAAoB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACtE,OAAO,CACL,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,GAAW,EACX,GAAW;IAEX,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAChE,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACpD,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,gEAAgE;IAChE,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,SAAS,GAAG,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC;IAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,GAAW,EACX,GAAW,EACX,YAAoB,EACpB,QAAQ,GAAG,OAAO,EAClB,aAAa,GAAG,CAAC;IAEjB,oBAAoB,CAAC,aAAa,EAAE,eAAe,EAAE,2BAA2B,CAAC,CAAC;IAClF,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;IACpE,mBAAmB,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CACtB,oBAAoB,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtF,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY;QAAE,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY;YAAE,EAAE,GAAG,GAAG,CAAC;;YAChC,EAAE,GAAG,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,iBAAyB,EACzB,cAAsB,EACtB,kBAA0B,EAC1B,eAAuB,EACvB,GAAW,EACX,KAAK,GAAG,GAAG;IAEX,aAAa,CAAC,iBAAiB,EAAE,cAAc,EAAE,4BAA4B,CAAC,CAAC;IAC/E,aAAa,CAAC,kBAAkB,EAAE,eAAe,EAAE,6BAA6B,CAAC,CAAC;IAClF,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,aAAa,CACrB,wBAAwB,EACxB,2DAA2D,KAAK,EAAE,EAClE;YACE,MAAM,EAAE,EAAE,KAAK,EAAE;SAClB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,EAC9B,EAAE,GAAG,CAAC,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAC9C,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB,EAC/B,EAAE,GAAG,CAAC,GAAG,eAAe,GAAG,kBAAkB,CAAC;IAChD,0DAA0D;IAC1D,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAClE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
package/dist/stop.d.ts CHANGED
@@ -160,4 +160,5 @@ export interface PairedStopDecision extends Omit<StopDecision, "reason" | "ceili
160
160
  * second e-process against "dropped by at least `mde`", valid under repeated looks like `regressed`.
161
161
  */
162
162
  export declare function shouldStopPaired(counts: PairedCounts, options: PairedStopOptions): PairedStopDecision;
163
+ export declare function settleLogE(c: PairedCounts, mde: number): number;
163
164
  //# sourceMappingURL=stop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU;AACpB,mEAAmE;AACjE,WAAW;AACb;;;;GAIG;GACD,SAAS;AACX;;;GAGG;GACD,QAAQ;AACV;;;GAGG;GACD,YAAY;AACd,6CAA6C;GAC3C,QAAQ;AACV,mBAAmB;GACjB,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB;aAC/B,GAAG;aACH,GAAG;aACH,gBAAgB;aAChB,QAAQ;aACR,kBAAkB,EAAE,IAAI;CAChB,CAAC;AAiBX;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACnB,YAAY,CAyJd;AAED,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gHAAgH;IAChH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7F,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,oHAAoH;IACpH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,GACzB,kBAAkB,CAwEpB"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,KAAK,YAAY,EAGlB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU;AACpB,mEAAmE;AACjE,WAAW;AACb;;;;GAIG;GACD,SAAS;AACX;;;GAGG;GACD,QAAQ;AACV;;;GAGG;GACD,YAAY;AACd,6CAA6C;GAC3C,QAAQ;AACV,mBAAmB;GACjB,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,oBAAoB;aAC/B,GAAG;aACH,GAAG;aACH,gBAAgB;aAChB,QAAQ;aACR,kBAAkB,EAAE,IAAI;CAChB,CAAC;AA6BX;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACnB,YAAY,CAyJd;AAED,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gHAAgH;IAChH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7F,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,oHAAoH;IACpH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,GACzB,kBAAkB,CAwEpB;AAGD,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAY/D"}
package/dist/stop.js CHANGED
@@ -46,7 +46,7 @@
46
46
  */
47
47
  import { PeeksafeError, requireAltConcentration, requireCounts, requireOpenProbability, requirePairedCounts, } from "./errors.js";
48
48
  import { ceilingLogEvidence, logEvidence, requireEvidence, toEvalue, } from "./evidence.js";
49
- import { cannotDropBy, DEFAULT_GATE_OPTIONS } from "./gate.js";
49
+ import { cannotDropBy, DEFAULT_GATE_OPTIONS, definedOptions } from "./gate.js";
50
50
  import { discordant, ebhSoloThreshold, normalQuantile, pairedLogE, wilsonInterval, } from "./stats.js";
51
51
  export const DEFAULT_STOP_OPTIONS = {
52
52
  mde: DEFAULT_GATE_OPTIONS.mde,
@@ -63,7 +63,15 @@ const zFor = (confidence) => {
63
63
  hint: "a two-sided confidence level such as 0.95; higher makes futility fire later",
64
64
  });
65
65
  }
66
- return normalQuantile(1 - (1 - confidence) / 2);
66
+ const z = normalQuantile(1 - (1 - confidence) / 2);
67
+ // At the largest double below 1 the upper tail rounds to 1, and an infinite z reached the ceiling as NaN.
68
+ if (!Number.isFinite(z)) {
69
+ throw new PeeksafeError("PEEKSAFE_E_CONFIG", `shouldStop: futilityConfidence ${confidence} is too close to 1 for a finite interval`, {
70
+ detail: { futilityConfidence: confidence },
71
+ hint: "a two-sided confidence level such as 0.95; higher makes futility fire later",
72
+ });
73
+ }
74
+ return z;
67
75
  };
68
76
  /**
69
77
  * Decide whether to keep running one case.
@@ -78,7 +86,7 @@ const zFor = (confidence) => {
78
86
  * ```
79
87
  */
80
88
  export function shouldStop(observed, baseline, options) {
81
- const opts = { ...DEFAULT_STOP_OPTIONS, ...options };
89
+ const opts = { ...DEFAULT_STOP_OPTIONS, ...definedOptions(options) };
82
90
  requireCounts(observed.successes, observed.trials, "shouldStop");
83
91
  requireCounts(baseline.successes, baseline.trials, "shouldStop.baseline");
84
92
  requireOpenProbability(opts.mde, "mde", "shouldStop");
@@ -189,7 +197,7 @@ export function shouldStop(observed, baseline, options) {
189
197
  * second e-process against "dropped by at least `mde`", valid under repeated looks like `regressed`.
190
198
  */
191
199
  export function shouldStopPaired(counts, options) {
192
- const opts = { ...DEFAULT_STOP_OPTIONS, ...options };
200
+ const opts = { ...DEFAULT_STOP_OPTIONS, ...definedOptions(options) };
193
201
  requirePairedCounts(counts, "shouldStopPaired");
194
202
  requireOpenProbability(opts.mde, "mde", "shouldStopPaired");
195
203
  requireOpenProbability(opts.fdr, "fdr", "shouldStopPaired");
@@ -248,7 +256,7 @@ export function shouldStopPaired(counts, options) {
248
256
  };
249
257
  }
250
258
  // Mean of prod(1 - lambda (D - mde)) over fixed bets, D = +1 worse, -1 better; a supermartingale whenever E[D] >= mde.
251
- function settleLogE(c, mde) {
259
+ export function settleLogE(c, mde) {
252
260
  const terms = [];
253
261
  for (let k = 1; k <= 9; k++) {
254
262
  const lambda = k / 10 / (1 - mde);
package/dist/stop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../src/stop.ts"],"names":[],"mappings":"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"}