@anuma/sdk 6.36.0 → 6.38.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.
@@ -354,10 +354,10 @@ var init_redactor = __esm({
354
354
  const existing = this.valueToPlaceholder.get(normalizedValue);
355
355
  if (existing) return existing;
356
356
  const existingCount = this.categoryCounters.get(category);
357
- const count = (existingCount ?? 0) + 1;
358
- this.categoryCounters.set(category, count);
357
+ const count2 = (existingCount ?? 0) + 1;
358
+ this.categoryCounters.set(category, count2);
359
359
  if (existingCount === void 0) this.storagePattern = void 0;
360
- const placeholder = `[${category}_${count}]`;
360
+ const placeholder = `[${category}_${count2}]`;
361
361
  this.valueToPlaceholder.set(normalizedValue, placeholder);
362
362
  this.placeholderToValue.set(placeholder, normalizedValue);
363
363
  this.storageLookup = null;
@@ -370,15 +370,15 @@ var init_redactor = __esm({
370
370
  * (sequential, per-pattern) and the async {@link collectRegexSpans} (span)
371
371
  * paths so the detection rules live in exactly one place.
372
372
  */
373
- findMatches(text12, pattern) {
373
+ findMatches(text13, pattern) {
374
374
  const regex = new RegExp(pattern.regex.source, pattern.regex.flags);
375
375
  const found = [];
376
376
  let m;
377
- while ((m = regex.exec(text12)) !== null) {
377
+ while ((m = regex.exec(text13)) !== null) {
378
378
  const value = m[0];
379
379
  if (pattern.validate && !pattern.validate(value)) continue;
380
380
  if (pattern.context) {
381
- const before = text12.slice(Math.max(0, m.index - 40), m.index);
381
+ const before = text13.slice(Math.max(0, m.index - 40), m.index);
382
382
  if (!pattern.context.test(before)) continue;
383
383
  }
384
384
  found.push({ match: value, index: m.index });
@@ -394,9 +394,9 @@ var init_redactor = __esm({
394
394
  * earlier patterns, so an earlier (more specific) pattern claims a region
395
395
  * before a later one can — placeholders are inert and match no pattern.
396
396
  */
397
- scan(text12, makeReplacement) {
397
+ scan(text13, makeReplacement) {
398
398
  const matches = [];
399
- let redacted = text12;
399
+ let redacted = text13;
400
400
  for (const pattern of this.patterns) {
401
401
  const found = this.findMatches(redacted, pattern);
402
402
  if (found.length === 0) continue;
@@ -417,8 +417,8 @@ var init_redactor = __esm({
417
417
  * Scan and redact PII from a single text string, using numbered, reversible
418
418
  * placeholders ([EMAIL_1], …) tracked on this instance.
419
419
  */
420
- redactText(text12) {
421
- return this.scan(text12, (category, value) => this.getPlaceholder(category, value));
420
+ redactText(text13) {
421
+ return this.scan(text13, (category, value) => this.getPlaceholder(category, value));
422
422
  }
423
423
  /**
424
424
  * Mask PII with unnumbered, NON-reversible tokens ([EMAIL], [SSN], …) without
@@ -427,15 +427,15 @@ var init_redactor = __esm({
427
427
  * embeddings endpoint while staying deterministic, so the same content always
428
428
  * masks identically and search stays consistent across conversations.
429
429
  */
430
- maskText(text12) {
431
- return this.scan(text12, (category) => `[${category}]`).text;
430
+ maskText(text13) {
431
+ return this.scan(text13, (category) => `[${category}]`).text;
432
432
  }
433
433
  /** All regex matches as spans on the ORIGINAL text (priority 0). Uses the
434
434
  * same {@link findMatches} guards as the sync scan. */
435
- collectRegexSpans(text12) {
435
+ collectRegexSpans(text13) {
436
436
  const spans = [];
437
437
  this.patterns.forEach((pattern, patternIndex) => {
438
- for (const { match, index } of this.findMatches(text12, pattern)) {
438
+ for (const { match, index } of this.findMatches(text13, pattern)) {
439
439
  spans.push({
440
440
  start: index,
441
441
  end: index + match.length,
@@ -454,16 +454,16 @@ var init_redactor = __esm({
454
454
  * of "Stripe") from producing a corrupting partial placeholder like
455
455
  * `[ORG_1]e`.
456
456
  */
457
- normalizeNerSpans(text12, raw) {
457
+ normalizeNerSpans(text13, raw) {
458
458
  if (!Array.isArray(raw)) return [];
459
459
  const out = [];
460
460
  raw.forEach((s, i) => {
461
461
  if (!Number.isFinite(s.start) || !Number.isFinite(s.end)) return;
462
- let start = Math.max(0, Math.min(Math.trunc(s.start), text12.length));
463
- let end = Math.max(0, Math.min(Math.trunc(s.end), text12.length));
462
+ let start = Math.max(0, Math.min(Math.trunc(s.start), text13.length));
463
+ let end = Math.max(0, Math.min(Math.trunc(s.end), text13.length));
464
464
  if (end <= start) return;
465
- while (start > 0 && isWordChar(text12[start - 1])) start--;
466
- while (end < text12.length && isWordChar(text12[end])) end++;
465
+ while (start > 0 && isWordChar(text13[start - 1])) start--;
466
+ while (end < text13.length && isWordChar(text13[end])) end++;
467
467
  const category = String(s.category ?? "").trim();
468
468
  if (!category) return;
469
469
  out.push({ start, end, category, priority: 1, order: i });
@@ -472,10 +472,10 @@ var init_redactor = __esm({
472
472
  }
473
473
  /** Run the configured detector defensively: failures degrade to regex-only
474
474
  * (fail-open on detection, not on protection) with a one-time warning. */
475
- async detectNerSpans(text12) {
475
+ async detectNerSpans(text13) {
476
476
  if (!this.nerDetector) return [];
477
477
  try {
478
- return this.normalizeNerSpans(text12, await this.nerDetector.detect(text12));
478
+ return this.normalizeNerSpans(text13, await this.nerDetector.detect(text13));
479
479
  } catch (err) {
480
480
  this.warnNerFailure(err);
481
481
  return [];
@@ -508,11 +508,11 @@ var init_redactor = __esm({
508
508
  * in pattern then document order, matching the sync scan's numbering). The
509
509
  * string is then EMITTED in document order.
510
510
  */
511
- rebuildSpans(text12, spans, makeReplacement) {
511
+ rebuildSpans(text13, spans, makeReplacement) {
512
512
  const placeholderByStart = /* @__PURE__ */ new Map();
513
513
  const matches = [];
514
514
  for (const s of spans) {
515
- const value = text12.slice(s.start, s.end);
515
+ const value = text13.slice(s.start, s.end);
516
516
  const placeholder = makeReplacement(s.category, value);
517
517
  placeholderByStart.set(s.start, placeholder);
518
518
  matches.push({ category: s.category, original: value, placeholder });
@@ -521,16 +521,16 @@ var init_redactor = __esm({
521
521
  let result = "";
522
522
  let cursor = 0;
523
523
  for (const s of emitOrder) {
524
- result += text12.slice(cursor, s.start) + (placeholderByStart.get(s.start) ?? "");
524
+ result += text13.slice(cursor, s.start) + (placeholderByStart.get(s.start) ?? "");
525
525
  cursor = s.end;
526
526
  }
527
- result += text12.slice(cursor);
527
+ result += text13.slice(cursor);
528
528
  return { text: result, matches };
529
529
  }
530
530
  /** Merge regex + NER spans for `text` into a resolved, non-overlapping set. */
531
- async detectAllSpans(text12) {
532
- const nerPromise = this.detectNerSpans(text12);
533
- const regexSpans = this.collectRegexSpans(text12);
531
+ async detectAllSpans(text13) {
532
+ const nerPromise = this.detectNerSpans(text13);
533
+ const regexSpans = this.collectRegexSpans(text13);
534
534
  const ner = await nerPromise;
535
535
  return this.resolveOverlaps([...regexSpans, ...ner]);
536
536
  }
@@ -539,11 +539,11 @@ var init_redactor = __esm({
539
539
  * unstructured PII (the configured {@link NerDetector}) with numbered,
540
540
  * reversible placeholders. With no detector, identical to `redactText`.
541
541
  */
542
- async redactTextAsync(text12) {
543
- if (!this.nerDetector) return this.redactText(text12);
544
- const spans = await this.detectAllSpans(text12);
542
+ async redactTextAsync(text13) {
543
+ if (!this.nerDetector) return this.redactText(text13);
544
+ const spans = await this.detectAllSpans(text13);
545
545
  return this.rebuildSpans(
546
- text12,
546
+ text13,
547
547
  spans,
548
548
  (category, value) => this.getPlaceholder(category, value)
549
549
  );
@@ -552,10 +552,10 @@ var init_redactor = __esm({
552
552
  * Async counterpart to {@link maskText}: stateless `[CATEGORY]` masking over
553
553
  * regex + NER matches. With no detector, identical to `maskText`.
554
554
  */
555
- async maskTextAsync(text12) {
556
- if (!this.nerDetector) return this.maskText(text12);
557
- const spans = await this.detectAllSpans(text12);
558
- return this.rebuildSpans(text12, spans, (category) => `[${category}]`).text;
555
+ async maskTextAsync(text13) {
556
+ if (!this.nerDetector) return this.maskText(text13);
557
+ const spans = await this.detectAllSpans(text13);
558
+ return this.rebuildSpans(text13, spans, (category) => `[${category}]`).text;
559
559
  }
560
560
  /**
561
561
  * Async counterpart to {@link redactMessages}. Text parts are redacted
@@ -641,9 +641,9 @@ var init_redactor = __esm({
641
641
  * {@link restoreForStorage} instead, which tolerates the mangled echoes the
642
642
  * extraction models produce.
643
643
  */
644
- deAnonymize(text12) {
645
- if (!text12.includes("[")) return text12;
646
- let restored = text12;
644
+ deAnonymize(text13) {
645
+ if (!text13.includes("[")) return text13;
646
+ let restored = text13;
647
647
  for (const [placeholder, original] of this.placeholderToValue) {
648
648
  if (restored.includes(placeholder)) {
649
649
  restored = restored.split(placeholder).join(original);
@@ -668,15 +668,15 @@ var init_redactor = __esm({
668
668
  * - `unresolved` is derived from the lookup miss during this pass, not from a
669
669
  * regex re-scan of the output — so it can't trip over a restored value.
670
670
  */
671
- restoreForStorage(text12) {
671
+ restoreForStorage(text13) {
672
672
  if (this.storagePattern === void 0) this.storagePattern = this.buildStoragePattern();
673
673
  if (!this.storagePattern || this.placeholderToValue.size === 0) {
674
- return { text: text12, unresolved: false };
674
+ return { text: text13, unresolved: false };
675
675
  }
676
676
  this.storageLookup ?? (this.storageLookup = this.buildStorageLookup());
677
677
  const { exact, ci, ciCollisions } = this.storageLookup;
678
678
  let unresolved = false;
679
- const restored = text12.replace(
679
+ const restored = text13.replace(
680
680
  this.storagePattern,
681
681
  (match, bracketed, bare) => {
682
682
  const body = bracketed ?? bare ?? "";
@@ -892,44 +892,44 @@ async function callPortalJsonCompletion(req) {
892
892
  ),
893
893
  ...reinforce && { reinforceJsonContract: true }
894
894
  } : reinforce ? { ...req, reinforceJsonContract: true } : req;
895
- const outcome = await attemptPortalJson(
895
+ const outcome2 = await attemptPortalJson(
896
896
  { ...attemptReq, transport },
897
897
  endpoint
898
898
  );
899
- if (outcome.kind === "ok") {
899
+ if (outcome2.kind === "ok") {
900
900
  req.onAttempt?.({ attempt, ok: true });
901
- return outcome.value;
901
+ return outcome2.value;
902
902
  }
903
903
  req.onAttempt?.({
904
904
  attempt,
905
905
  ok: false,
906
- reason: outcome.code,
907
- ...outcome.httpStatus !== void 0 && { httpStatus: outcome.httpStatus }
906
+ reason: outcome2.code,
907
+ ...outcome2.httpStatus !== void 0 && { httpStatus: outcome2.httpStatus }
908
908
  });
909
909
  lastFailure = {
910
- reason: outcome.code,
911
- ...outcome.httpStatus !== void 0 && { httpStatus: outcome.httpStatus },
910
+ reason: outcome2.code,
911
+ ...outcome2.httpStatus !== void 0 && { httpStatus: outcome2.httpStatus },
912
912
  attempts: attempt
913
913
  };
914
- if (outcome.code === "invalid-json" || outcome.code === "null-completion") reinforce = true;
915
- if (outcome.kind === "terminal") {
916
- log.warn(`[${req.tag}] ${outcome.reason}`);
914
+ if (outcome2.code === "invalid-json" || outcome2.code === "null-completion") reinforce = true;
915
+ if (outcome2.kind === "terminal") {
916
+ log.warn(`[${req.tag}] ${outcome2.reason}`);
917
917
  return giveUp();
918
918
  }
919
919
  if (attempt >= maxAttempts) {
920
- log.warn(`[${req.tag}] ${outcome.reason} \u2014 attempt ${attempt}/${maxAttempts}, giving up`);
920
+ log.warn(`[${req.tag}] ${outcome2.reason} \u2014 attempt ${attempt}/${maxAttempts}, giving up`);
921
921
  break;
922
922
  }
923
923
  const backoff = (req.backoffMs ?? defaultBackoffMs)(attempt);
924
- const delay = Math.max(backoff, outcome.retryAfterMs ?? 0);
924
+ const delay = Math.max(backoff, outcome2.retryAfterMs ?? 0);
925
925
  if (overBudget() || req.totalTimeoutMs !== void 0 && Date.now() - startedAt + delay >= req.totalTimeoutMs) {
926
926
  log.warn(
927
- `[${req.tag}] ${outcome.reason} \u2014 attempt ${attempt}/${maxAttempts}, over time budget, giving up`
927
+ `[${req.tag}] ${outcome2.reason} \u2014 attempt ${attempt}/${maxAttempts}, over time budget, giving up`
928
928
  );
929
929
  lastFailure = { reason: "time-budget-exhausted", attempts: attempt };
930
930
  break;
931
931
  }
932
- log.warn(`[${req.tag}] ${outcome.reason} \u2014 attempt ${attempt}/${maxAttempts}, retrying`);
932
+ log.warn(`[${req.tag}] ${outcome2.reason} \u2014 attempt ${attempt}/${maxAttempts}, retrying`);
933
933
  if (delay > 0) await sleep3(delay);
934
934
  }
935
935
  return giveUp();
@@ -1132,8 +1132,8 @@ function extractResponsesContent(body) {
1132
1132
  if (!root) return null;
1133
1133
  if (typeof root.output_text === "string" && root.output_text !== "") return root.output_text;
1134
1134
  if (!Array.isArray(root.output)) return null;
1135
- const text12 = root.output.filter((item) => asRecord(item)?.type === "message").flatMap((item) => Array.isArray(item.content) ? item.content : []).map((part) => asRecord(part)?.text).filter((t) => typeof t === "string").join("");
1136
- return text12;
1135
+ const text13 = root.output.filter((item) => asRecord(item)?.type === "message").flatMap((item) => Array.isArray(item.content) ? item.content : []).map((part) => asRecord(part)?.text).filter((t) => typeof t === "string").join("");
1136
+ return text13;
1137
1137
  }
1138
1138
  var RESPONSE_FORMAT_OK, RESPONSE_SCHEMA_OK, JSON_CONTRACT_REMINDER, RESPONSES_ONLY_MODEL_PREFIXES, CHAT_TO_RESPONSES_FIELDS, FOREIGN_ENDPOINT_SUFFIX, RETRYABLE_HTTP;
1139
1139
  var init_portalLlm = __esm({
@@ -1499,6 +1499,7 @@ __export(index_exports, {
1499
1499
  extractAndRetain: () => extractAndRetain,
1500
1500
  extractEntitiesForMemories: () => extractEntitiesForMemories,
1501
1501
  extractFacts: () => extractFacts,
1502
+ extractReservationReceipts: () => extractReservationReceipts,
1502
1503
  formatFileProcessingNotes: () => formatFileProcessingNotes,
1503
1504
  generateConversationId: () => generateConversationId,
1504
1505
  generateEmbedding: () => generateEmbedding,
@@ -3169,8 +3170,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
3169
3170
  var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
3170
3171
  var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
3171
3172
  The user attached the following file(s) to this message. Their extracted contents are below; when the user refers to "the attached file", "this file" or "the document", they mean these.`;
3172
- function isAttachedFilesText(text12) {
3173
- return typeof text12 === "string" && text12.startsWith(ATTACHED_FILES_PREFIX) && text12.endsWith(ATTACHED_FILES_CLOSE_TAG);
3173
+ function isAttachedFilesText(text13) {
3174
+ return typeof text13 === "string" && text13.startsWith(ATTACHED_FILES_PREFIX) && text13.endsWith(ATTACHED_FILES_CLOSE_TAG);
3174
3175
  }
3175
3176
  function buildAttachedFilesText(fileContext) {
3176
3177
  return `${ATTACHED_FILES_PREFIX}
@@ -3355,7 +3356,7 @@ function extractUserMessageFromMessages(messages) {
3355
3356
  }
3356
3357
 
3357
3358
  // src/lib/db/chat/operations.ts
3358
- function messageToStoredRaw(message, projection) {
3359
+ function messageToStoredRaw(message, projection2) {
3359
3360
  const convId = String(message._getRaw("conversation_id"));
3360
3361
  const parseJsonField = (rawValue) => {
3361
3362
  if (!rawValue) return void 0;
@@ -3369,7 +3370,7 @@ function messageToStoredRaw(message, projection) {
3369
3370
  }
3370
3371
  return rawValue;
3371
3372
  };
3372
- const skipEmbeddings = projection?.skipEmbeddings === true;
3373
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
3373
3374
  const sourcesRaw = message._getRaw("sources");
3374
3375
  const vectorRaw = skipEmbeddings ? null : message._getRaw("vector");
3375
3376
  const chunksRaw = skipEmbeddings ? null : message._getRaw("chunks");
@@ -3403,8 +3404,8 @@ function messageToStoredRaw(message, projection) {
3403
3404
  origin: message.origin
3404
3405
  };
3405
3406
  }
3406
- async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection) {
3407
- const baseMessage = messageToStoredRaw(message, projection);
3407
+ async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection2) {
3408
+ const baseMessage = messageToStoredRaw(message, projection2);
3408
3409
  if (walletAddress) {
3409
3410
  return await decryptMessageFields(
3410
3411
  baseMessage,
@@ -3418,7 +3419,7 @@ async function messageToStored(message, walletAddress, signMessage, embeddedWall
3418
3419
  function rawDate(value) {
3419
3420
  return new Date(typeof value === "number" ? value : 0);
3420
3421
  }
3421
- function messageRawToStoredRaw(raw, projection) {
3422
+ function messageRawToStoredRaw(raw, projection2) {
3422
3423
  const parseJsonField = (rawValue) => {
3423
3424
  if (!rawValue) return void 0;
3424
3425
  if (typeof rawValue === "string") {
@@ -3431,7 +3432,7 @@ function messageRawToStoredRaw(raw, projection) {
3431
3432
  }
3432
3433
  return rawValue;
3433
3434
  };
3434
- const skipEmbeddings = projection?.skipEmbeddings === true;
3435
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
3435
3436
  const vectorRaw = skipEmbeddings ? null : raw.vector;
3436
3437
  const chunksRaw = skipEmbeddings ? null : raw.chunks;
3437
3438
  return {
@@ -3462,8 +3463,8 @@ function messageRawToStoredRaw(raw, projection) {
3462
3463
  origin: raw.origin
3463
3464
  };
3464
3465
  }
3465
- async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection) {
3466
- const baseMessage = messageRawToStoredRaw(raw, projection);
3466
+ async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection2) {
3467
+ const baseMessage = messageRawToStoredRaw(raw, projection2);
3467
3468
  if (walletAddress) {
3468
3469
  return await decryptMessageFields(
3469
3470
  baseMessage,
@@ -4274,49 +4275,49 @@ init_logger();
4274
4275
  var DEFAULT_CHUNK_SIZE = 400;
4275
4276
  var DEFAULT_CHUNK_OVERLAP = 50;
4276
4277
  var DEFAULT_MIN_CHUNK_SIZE = 50;
4277
- function splitIntoSentences(text12) {
4278
+ function splitIntoSentences(text13) {
4278
4279
  const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
4279
4280
  const sentences = [];
4280
4281
  let lastIndex = 0;
4281
4282
  let match;
4282
- while ((match = sentenceRegex.exec(text12)) !== null) {
4283
+ while ((match = sentenceRegex.exec(text13)) !== null) {
4283
4284
  const endIndex = match.index + match[0].length;
4284
- const sentence = text12.slice(lastIndex, endIndex).trim();
4285
+ const sentence = text13.slice(lastIndex, endIndex).trim();
4285
4286
  if (sentence) {
4286
4287
  sentences.push(sentence);
4287
4288
  }
4288
4289
  lastIndex = endIndex;
4289
4290
  }
4290
- const remaining = text12.slice(lastIndex).trim();
4291
+ const remaining = text13.slice(lastIndex).trim();
4291
4292
  if (remaining) {
4292
4293
  sentences.push(remaining);
4293
4294
  }
4294
4295
  return sentences;
4295
4296
  }
4296
- function chunkText(text12, options) {
4297
+ function chunkText(text13, options) {
4297
4298
  const {
4298
4299
  chunkSize = DEFAULT_CHUNK_SIZE,
4299
4300
  chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
4300
4301
  minChunkSize = DEFAULT_MIN_CHUNK_SIZE
4301
4302
  } = options ?? {};
4302
4303
  const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
4303
- if (text12.length <= chunkSize) {
4304
+ if (text13.length <= chunkSize) {
4304
4305
  return [
4305
4306
  {
4306
- text: text12.trim(),
4307
+ text: text13.trim(),
4307
4308
  startOffset: 0,
4308
- endOffset: text12.length
4309
+ endOffset: text13.length
4309
4310
  }
4310
4311
  ];
4311
4312
  }
4312
- const sentences = splitIntoSentences(text12);
4313
+ const sentences = splitIntoSentences(text13);
4313
4314
  const chunks2 = [];
4314
4315
  let currentChunkSentences = [];
4315
4316
  let currentChunkStart = 0;
4316
4317
  let currentOffset = 0;
4317
4318
  for (let i = 0; i < sentences.length; i++) {
4318
4319
  const sentence = sentences[i];
4319
- let sentenceStart = text12.indexOf(sentence, currentOffset);
4320
+ let sentenceStart = text13.indexOf(sentence, currentOffset);
4320
4321
  if (sentenceStart === -1) {
4321
4322
  sentenceStart = currentOffset;
4322
4323
  }
@@ -4363,7 +4364,7 @@ function chunkText(text12, options) {
4363
4364
  if (overlapSentences.length > 0) {
4364
4365
  currentChunkSentences = [...overlapSentences, sentence];
4365
4366
  const overlapText = overlapSentences[0];
4366
- const overlapStart = text12.lastIndexOf(overlapText, currentOffset);
4367
+ const overlapStart = text13.lastIndexOf(overlapText, currentOffset);
4367
4368
  currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
4368
4369
  } else {
4369
4370
  currentChunkSentences = [sentence];
@@ -4383,18 +4384,18 @@ function chunkText(text12, options) {
4383
4384
  chunks2.push({
4384
4385
  text: chunkText2,
4385
4386
  startOffset: currentChunkStart,
4386
- endOffset: text12.length
4387
+ endOffset: text13.length
4387
4388
  });
4388
4389
  }
4389
4390
  }
4390
4391
  if (chunks2.length === 0) {
4391
- const trimmedText = text12.trim();
4392
+ const trimmedText = text13.trim();
4392
4393
  if (trimmedText.length > 0) {
4393
4394
  return [
4394
4395
  {
4395
4396
  text: trimmedText,
4396
4397
  startOffset: 0,
4397
- endOffset: text12.length
4398
+ endOffset: text13.length
4398
4399
  }
4399
4400
  ];
4400
4401
  }
@@ -5086,8 +5087,8 @@ var createClient = (config = {}) => {
5086
5087
  data = await response[parseAs]();
5087
5088
  break;
5088
5089
  case "json": {
5089
- const text12 = await response.text();
5090
- data = text12 ? JSON.parse(text12) : {};
5090
+ const text13 = await response.text();
5091
+ data = text13 ? JSON.parse(text13) : {};
5091
5092
  break;
5092
5093
  }
5093
5094
  case "stream":
@@ -5297,16 +5298,16 @@ function embeddingErrorFrom(response) {
5297
5298
  const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
5298
5299
  return new EmbeddingHttpError(message, response.response?.status);
5299
5300
  }
5300
- async function generateEmbedding(text12, options) {
5301
+ async function generateEmbedding(text13, options) {
5301
5302
  const total = options.totalTimeoutMs;
5302
- if (total === void 0) return embedOne(text12, options, void 0);
5303
- return withDeadline((signal) => embedOne(text12, options, signal), total, "embedding");
5303
+ if (total === void 0) return embedOne(text13, options, void 0);
5304
+ return withDeadline((signal) => embedOne(text13, options, signal), total, "embedding");
5304
5305
  }
5305
- async function embedOne(text12, options, outer) {
5306
+ async function embedOne(text13, options, outer) {
5306
5307
  const { baseUrl = BASE_URL, model, cache } = options;
5307
5308
  const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
5308
5309
  if (cache) {
5309
- const cached = cache.get(text12);
5310
+ const cached = cache.get(text13);
5310
5311
  if (cached) return Array.from(cached);
5311
5312
  }
5312
5313
  const headers = await resolveAuthHeaders(options, outer);
@@ -5315,7 +5316,7 @@ async function embedOne(text12, options, outer) {
5315
5316
  (signal) => postApiV1Embeddings({
5316
5317
  baseUrl,
5317
5318
  body: {
5318
- input: options.maskInput ? options.maskInput(text12) : text12,
5319
+ input: options.maskInput ? options.maskInput(text13) : text13,
5319
5320
  model: model ?? DEFAULT_API_EMBEDDING_MODEL
5320
5321
  },
5321
5322
  headers,
@@ -5342,7 +5343,7 @@ async function embedOne(text12, options, outer) {
5342
5343
  }
5343
5344
  const f32Embedding = Float32Array.from(embedding);
5344
5345
  if (cache) {
5345
- cache.set(text12, f32Embedding);
5346
+ cache.set(text13, f32Embedding);
5346
5347
  }
5347
5348
  return Array.from(f32Embedding);
5348
5349
  }
@@ -5676,10 +5677,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
5676
5677
  var noCryptoPriceCentroid = [0.015473095138684206, 0.0031634101517105263, -0.011257569272697374, -0.02186071628118421, 0.008889833600921049, -0.006683160151842105, -0.009353561542368423, 0.01352172231447368, -0.01804750482084211, -0.00367377302894737, -0.02944732364736842, -0.002762284484078947, 0.033265779919736845, -0.006296026233684209, 0.022671929989210516, -0.0011530866775394733, 0.007070449366500001, -0.0050351310097368415, 0.010799295548421052, 8887227547368423e-20, 0.016334833743289468, 0.014258147745263154, 0.009584979092368422, 0.003050773904342107, -0.013426355076315791, 0.03582639014592105, -0.01160198427105263, -0.012974957788421051, -0.0031303864967105266, 0.021372544676315785, -0.02374843410263159, -0.009223416682894739, 0.005602822635394739, 0.02924898819473684, -0.014123551471890794, 0.019027650408421047, -0.005074793619605263, -4600031255263159e-19, 0.010498459563947368, -0.011094227593421054, 0.010249076817105258, -5753623577631579e-19, -0.005674418818421051, -0.00447285064486842, -0.005516097867105263, -0.007470266562368424, -0.005471375803289476, -0.006780112021052632, 0.007059772195657894, 0.0021554959672368413, 0.004705735464473685, -0.02317132775394737, -0.011564555390789474, -0.002422056378552632, -0.006380764081578948, -0.004005146213289473, -0.00794062262769737, 0.01414054164342105, -0.01016237577355263, 0.003978143405131578, -0.03655277326578946, 0.006158242906276315, 0.004217046339078946, -0.008940671309210528, -0.00673433677186842, 0.010728261618421055, 0.005998754786184212, -0.012994214264868421, 0.01220040680802632, -0.010796953655434208, -0.006105011632500001, 0.008011191312894737, 0.006423354985394737, 0.0012142853823684213, 0.009146709284210528, 0.022887410982105266, -0.022682944046052637, -0.020356859009684213, 0.010394592805789476, 0.022593094030263154, -7750265294736841e-19, 0.010491877809868419, -0.00632094335789474, -0.00435166075344737, -0.0033312799659210527, -0.013687921215789472, -0.0021700710893421053, -0.009265354446052636, -0.007450454793684212, -0.01119890545223684, 0.01885215469736842, -0.0016829954880263156, 0.004660542770078946, 0.01614547219013159, 0.0012384379707105267, 0.0012953595593421052, -0.019026688374473685, -0.012046473879210519, -0.01890812402105263, -0.0013315808465131577, 0.011091345418421055, 0.021520818015789468, -0.005630902795947368, -0.0019751528094210527, 0.016361938930000004, -0.006861605829210528, -0.0028363347098684204, 0.008591381667894738, -0.009064190686052631, 0.0019356226038157898, 6169263489473686e-19, 0.005576595939605265, 0.01869662389342105, 0.001262012349342105, -0.005366806441447369, -0.016217105081578947, 0.0016831897417500007, -0.0018950253057894739, -0.002175052982236842, 0.015151523774342104, 0.009984357328157894, -0.008543766583157896, -0.00730858755781579, -0.005671754766447369, 0.016222894231578945, -0.006877592555789474, -0.00339728109881579, 0.002327833744078947, -0.007433236152460526, 0.003641817336996051, -22983315413157884e-20, -0.018579861956578948, -0.002013661149605263, -0.0012221983013157892, -0.005588193124592107, 0.0017740131994736844, -0.005087314752105264, -0.0024032324010526303, -0.021181957791973682, 0.015352973211842105, 0.0014077697809210523, 0.01886358938289474, 0.0034620092081578944, 0.001262707815105263, -0.016702094776315787, 0.0024528663467105263, -0.015399577423684214, 0.013716609889342105, 0.008007916322368419, 17873636657894727e-20, 0.012559814308552636, 0.004152347459210525, -0.007167261042105263, -0.010308009533421052, -0.0118209450956579, 0.0034850848647894755, -0.01689842138618421, 0.02312426354868421, 0.018107834585526318, -0.005113781234210525, 0.0036598878982894733, -0.002219674033289473, 0.010094555771578948, -0.004721280503184208, -4728102780263162e-19, -0.005741379793631579, 0.004688492021052632, -0.009298409537368421, 0.021306954543421058, 0.002625481324473684, 0.0021689222906578947, 0.0016470091790789468, 0.021918357023684207, 0.01859015762499999, 0.008736974258815788, -0.007575892959605263, 0.0012198560669736834, -0.013031221881184206, 0.005416682665447367, 0.014852952819736842, -27517017642368397e-20, 0.01096887469118421, -0.0013455180846052635, 0.022272436745131585, 0.0067934349073684175, 0.012959732387171052, -0.02075517668026316, -0.0064723936585, -0.0038070007211315794, 0.0012372250631578945, 0.0050306169430263175, -0.006763357246763157, -0.006772821312763157, 0.010125664042499998, 0.002038023320000001, 0.011549378190657895, 0.0029378070836842116, 0.010960937982500004, 0.010825824704473684, 0.0021591957962631583, 0.04206184268421052, -0.024262397277631575, 0.008255900677763156, 0.009695903923947372, -0.007390906788684211, -0.008087284358947368, -0.021996855926315787, 0.011287301983684214, -5568711708289474e-19, -0.014932725518421055, 0.009245778972302627, 0.0015213949119210516, 0.009132084528947367, 0.016006044472368423, 0.011636527018026314, 0.006784626309736844, 0.013307319816763155, -0.0027379106158421057, -0.0020452238106578946, -0.004009475287105262, 0.010760948439342109, -0.008745640049473686, -0.003213084865263158, -0.002908590922105263, -0.008224298627236842, -0.01243814725003421, 0.002076089559092105, -0.009891295528947368, 0.002955430833842103, -0.026389982763157894, 0.00307576746013158, -0.019563673766447378, 0.0016621273825, -0.008313485993421054, 0.004804929035789474, -0.00549750888473684, 0.00505214069705263, -0.011755459830263165, -0.0024296008852631576, 0.00875007432236842, -0.008075735610789475, -0.01105359596322368, 0.0039991457536842105, -0.010148718380263164, 0.0025960758788157894, -0.010566656651710528, 0.012436943196578952, -0.016535537697368412, 0.01290098068868421, -0.01656991388736842, -0.007831062019144736, 0.005940865221447369, -9759450793421052e-19, -0.008620581310184207, -0.003005893026447368, -0.002761302409605262, -0.0030793885886842114, -0.006974357054078946, 9721991617105264e-19, 0.010942189804473684, 0.002026653777631579, -0.012401945011578947, 0.0033469499360526318, 0.018924720229473682, -0.005991988553184208, 0.0033316007316315788, -0.015320591599605263, -0.02128828745542763, -0.0022622942237697373, 0.0069056783826315785, 0.004446302767763156, -0.016207595330789474, 11362097776315657e-20, 0.008954130263986842, -0.010221943235789475, 0.014461354018157896, 0.0028590932341973686, -0.010514913011447373, -0.015841919529473683, -0.01389901701263158, -0.009229765706842105, 2461921435526319e-19, 0.020577489130263162, -0.022800926136842106, -0.0015163221825394738, -0.013809464157236842, 0.004897803686315791, 0.018522811494736845, -0.009630460222828948, 0.011984547498157897, 0.0111937101125, 0.015270678807631577, 0.0019252811815789483, 0.014758101361842106, -0.005758524065263159, -0.0021391250729868427, -0.010472078178684207, -0.012900316256973682, -0.0014497102297763157, 0.006431885074342107, -0.003826420850657895, 0.004125123941578948, 7190557013157885e-20, 0.005760016457894736, -0.01029894582407894, -0.014202551836842109, -0.008429392661184212, -0.004542960022631579, 0.004390327258289474, -0.017841332352631578, -0.02092670811578947, -0.011721044171184207, 0.001154552708868421, -0.008358092435263156, -0.009767428120921056, 0.00617505359518421, 0.004506490673552631, 0.0020017606636842113, -0.00796983946092105, 0.020977802086842096, -0.0075353952266447415, -0.007463197555921055, -0.012128650817236842, 0.019736432668421053, 0.002261451146973684, 0.004720614210526316, -0.009998388954473686, -0.005624677788552632, -0.022545385379078953, -0.001583800878381579, -0.002379242887671053, -0.006442413411381578, -0.00695587538394737, 0.0011264698367105268, -0.0045705394853947385, -0.0015821324533815784, 0.023414226677631576, -0.0012724761923684214, 0.023761430540263154, 0.0029503868397894734, -0.0033352330858684217, -0.011512791865657892, 0.00981099949723684, -5708729797368422e-19, 8188937956578947e-19, 0.010694227110197371, 0.008592401465789476, -35825991868421067e-20, -0.004266100294447367, 0.005692018715789475, -0.0033002098638157907, 0.004866896994999999, 0.01000889828684211, 0.006752862654868419, 0.0026472819757499995, -0.005589931472697369, -0.017258877186842114, 0.01836197345605264, 0.003980058679868421, -0.0020851821997368417, -0.006682193140302631, 0.008638199788657895, 0.01154588990657895, -0.0014030509926710529, 0.00623447043604513, 0.016997480921671054, -0.0076195284961842105, 9118090571052634e-19, -0.01740562824342105, 0.001625513271842105, -0.012645379938157893, 0.010188843557894742, -0.012510250708026317, 0.0014163581344342104, 0.007640950823026323, 0.009030281375263157, -6778679552631581e-19, -0.021454867002973686, 0.001957897549473684, 0.001193311223026316, 0.0027351965483684215, -0.05114138984210526, 9931653628947367e-19, -0.0034956210430263156, -0.011831037061315788, 0.010289316701315792, -0.006878016126315793, 0.004890278758947368, 0.005483033461842105, -0.01275958679236842, -0.01331795716276316, 0.003143929424078947, -0.0022857318045394724, 0.007633577711973686, 0.0021747185855263158, 0.005520500721710526, 0.008252045688684212, -0.014708749063026315, -0.010071718517500002, 0.004989717453947367, 0.017077984349605266, -8273659215789473e-19, 0.005120420113328947, 0.007857212020657894, -0.007720276348289473, 0.002462438197763158, -55125038157895184e-21, 0.004356982750105262, -0.00700954478736842, 0.008855195414342104, -0.007593518517105262, 5683125496052636e-19, 0.006104346186842107, 0.0018523006100263158, 0.011868568778421053, 0.008818247002631579, 0.007355409463684211, 0.014110024566184213, -0.004139245012105264, -0.008042714513815788, -0.008814672356447366, 0.010348661143157892, 0.008645756135526317, -0.0039321516707894735, -0.018719250872499996, 0.016164309558789468, 0.011362069608157893, 0.012222493691973682, 0.009424688908947371, -0.00664402617118421, -0.007866664878289475, -0.012993650039078946, -0.018103016852631583, -0.0065906644863157875, 0.004789760346776317, -0.014935053199342104, 0.014902569211842109, 0.004785409491052631, 0.007345346444473684, 0.003159245409736842, 0.01312098370328947, 0.006301784642499999, 0.005022653047368423, -0.002849895648684211, -0.0032933022748421045, 0.004350993063026316, -0.007350343983026319, 0.010007334274736844, -0.0028172315381578953, -0.011997126834394734, -0.005281044011052631, 0.017256082294736845, -0.026231524928157893, 0.001482624986578947, -0.01504677556723684, -0.006961093627631583, -0.009158235009605265, -0.010464971171052636, -0.012205843889473683, 0.013581314933421051, 0.024057515715473682, -0.026571698318421058, -39512425210526327e-20, -0.008364490104342107, 0.01043953546486842, -0.006329244778157894, 0.00677121107763158, -0.006404679137105265, -0.008498417039605265, -0.011997726845921054, -0.00819236379276316, -0.008719842036447368, 2480567830263159e-19, -0.009615319662105265, 0.010179268672105262, 0.010257863497157897, -0.002203600034342105, -0.014915970727368411, 0.010107625643947371, -0.0016536920541710522, -0.006636945585526316, -0.016858044851315784, -0.020209110402631573, -0.007010765250131577, 0.0073754879921052625, 0.019676440628368427, 0.010058316429868416, -0.026224092562236838, -0.010421548158342108, 0.004843649796842105, -0.018334794059605263, 0.007321559153421053, 0.014406508708157897, -0.013035912961381586, 0.008222181527763156, -0.002566978908289474, 0.009497600043981577, -0.0056751013231578955, 0.004298258599210526, -0.00134152910618421, 0.0017198262138157904, -0.00527642314413158, -0.006738037163421052, 8391017913947374e-19, -0.011822055771453949, -0.0023647280209210526, 0.018581314182894736, 0.0013511696361842105, -0.008034561226052629, 0.0050400383831578945, 0.011289238419736843, -0.01018335548486842, -0.008891896734736842, 0.007739089927236841, -0.014787865826578945, -0.017835246043026314, 0.0056641722032894715, -0.0059957612642105255, -0.006282649575526315, 0.016645820401710514, 0.002203326760921053, 0.0022889429653157895, -0.008153908865789473, -0.009116433642894738, 0.014059073972894742, 0.006152197939947369, 0.01395997850157895, -0.012334291357763155, 0.017010570389868414, -0.0063333831828947355, -0.0025206653310921056, 0.006800531193421053, -0.004048019489342104, -0.006107880013157895, -0.011589549206710528, -0.0023016446209210527, 0.018917020458026318, -0.0018317876103026314, 0.007985371543710523, -0.009285482378157892, -0.007067705323684211, 0.011150805990789475, -0.009777598592105264, -0.008635949183289476, -0.004163104284868419, 0.010232138396315793, -0.0019257375613157897, -5739201986842089e-20, 0.013092055408684215, 0.01974871008065789, 0.005587073321842107, 0.025888940701315793, 0.016139226412631578, -0.0011026304183986845, -0.006448130678552632, 0.0013506662108157892, -0.00879462901421053, 0.0067748442927236825, -0.002999273877368421, 5861502590000002e-19, -31988263750131585e-20, -9557692903947368e-19, -0.005667702506315793, -0.006468547942684208, -0.017199129730526317, -0.019429718929210527, -0.003644407856578948, 0.004087335838671054, -0.003677765850855264, 0.007942120783605264, 6586344227631579e-19, -0.0037614600624999986, 0.0055129023461368415, 0.011244061396578945, 0.005010426876315791, 0.0072596023613157885, -0.008378387808157896, 0.01193223011842105, 0.002783704421578947, -0.0018955311381578942, 0.016495522016315784, 0.0010300654348684207, 0.0029166797853947372, 0.0019548181412, 0.0034482197978947357, -0.01597233675447369, -0.004172262047894737, 0.004349557685394737, 0.0057765581432894725, -0.017049438059999998, -0.004525430396052631, -28143429157894773e-20, 0.008926862911842108, -0.01706470510842106, -0.009343251894078945, -0.014551790916315796, 0.0037077234910526317, -0.024520926263157893, 0.005740144142368422, 0.0053956368143421056, -0.005766834186973687, -0.012353098134999999, 0.005150600744473685, -0.002591634655236843, -0.0034600672671052644, 0.020232129807894742, 0.0019706625393421055, -0.021094935969078955, 0.013562589856578945, -0.01982315960263158, 0.0022789787307368413, 0.0030350554696052627, -0.0023380354609868425, 0.0016429701249999996, 0.0013748243807894737, -0.011015212538802624, -0.01045923693026316, -0.010230515132368417, 0.0031865286891710532, 0.019525663493815786, -0.01229977110328947, -0.01392738180263158, 0.0047192255380921035, 0.009634271472381582, -0.0036637588399210516, 0.01367465738263158, -9074315167105264e-19, 0.009034615510460526, -0.013227085239526318, -0.008698134963421054, -0.005679745975289474, 0.016064328626710523, 6854882098684209e-19, -0.02409260117894737, -0.029390496973684222, -8429490286315783e-19, 0.017532396812105267, 0.003992892611842105, -0.015176699562894741, 0.017688143694565794, 0.015704753903289473, -0.006714242723157895, 0.006966373187026316, 0.014712872807894739, 0.0048426642788421065, 0.004560759092499999, 0.014764954930526316, 0.007755880210394735, -0.0063704605949999995, 0.013370230355131577, 0.006058873911578949, -0.007236065584644737, 0.02192650811447368, -0.0036055442649473683, 0.017262371172368424, -0.019675186598421057, 0.012352453031578945, -0.019395975741052625, -0.005476996759473683, -0.003981952255394738, -0.019128493134342103, -0.006420192784736843, 0.00663706127763158, -0.00931713626539474, -0.004438600155394738, -0.0074747220036842105, -3532221511315789e-19, 0.003786715305789473, 0.002143004024210527, -0.013259830103026315, -0.019481669799736843, 0.0063924609735921045, -0.006268689519868423, 0.011194401769210527, 0.014244597600921052, -0.009581357068684208, 0.015704279303947365, 0.002868509497368421, 0.009993456976842102, -0.009288659571184214, -0.00567008211111842, -0.0016774708461842105, -0.015881515857631583, -0.0031357240957894735, 0.009431347011250004, -0.02115866819605263, -0.002224235694342105, 0.016286955564605264, 0.007042988388157893, 0.002287434175, 0.010197640378157893, -0.005280943861578946, 0.0014105266302631581, 8359535263157892e-19, 0.0047502692026315805, 0.013299677349078947, -0.0023519426788157897, -0.004674174603421053, 0.018177119728907887, -0.0014176172173881575, 0.007134867282894738, -22741002690789458e-20, -0.022838398981578946, -0.003212089612105263, 2004287202631577e-19, -0.022176862091973677, -0.020671407409605266, 0.009063825494342106, -0.016635621425526326, -0.008275760027894737, -0.010347646235000002, 0.009041304183157893, 0.0051814241601315794, 0.005795941738552632, -0.006237753602210528, -0.004308292899078948, 0.027939477830263154, 0.0022927221325526313, -0.009122603172894738, -0.012685393528368422, 0.035720136647368415, 3721588992105262e-19, -0.015025574779078942, 0.0087486222525, -0.009074244906710525, -0.01173346431697368, 0.012090590483960533, 0.016366954857105268, 0.011179668721052633, -0.0073358287721842115, -0.007733899611315792, -0.003457529575921053, -0.006236338289078949, 0.005774385420526318, -0.018860930085526313, 0.01522345625828947, -0.012091792738157891, -0.004068704780263158, -0.004178824925921053, -0.013820312269210535, -0.01096366969644737, -0.004025642653947369, -0.024534325314078946, 0.006440052884473688, -0.016726629586052633, -3620708957894737e-19, 0.0047140585557894745, 0.0018035156026315793, 0.0048402487059210535, -0.00438187360013158, -6329667841710535e-19, 0.013023098627184216, -0.0015603331286578957, -0.0015727194086052627, 0.015044479001315789, 0.003913626584973687, -0.011406708371973688, 0.009567988548947368, 0.0048712744065789486, 8060304496052634e-19, -0.0027007557632499997, -0.007984334569848683, 0.0035786119902631594, 0.008549296575394733, 0.013448384334736838, 0.003980597008986842, 0.0027732479433552628, 0.0022548364651710537, 0.01305019627302631, -0.010885881758421052, 0.0046425705302631575, -0.006159144808684208, 0.0016908100748684212, 0.010177649750394735, -0.00148574499868421, -0.007758489989078948, -0.010132687943157893, 0.010328826282539472, -0.007675625043065791, 0.010875474622368417, -10961718381578953e-20, 2469314122368423e-19, 0.01456813955157895, -0.002258910603421052, -0.006317790170921054, 0.008751932444473686, -0.009791627398947367, 0.015247204259210523, 0.010811477365789473, 0.006444553805289473, -0.009046801008342103, 0.0030660862369736833, 0.020425601981842102, 1083259947368725e-21, 0.024182386267499998, -0.017303176044473685, 0.006597084168552631, 0.001865562837526316, 0.001028871313631579, 0.01472760354684211, -0.0075378481717105275, 0.010146784916184209, -0.007357307590657895, 0.015889662872500005, -0.0010280143740789473, 0.008057754063236841, -0.0017568669571052641, -0.004133698758421052, 0.007827215762368422, 0.03512832019999999, -0.00993780903394737, -0.004260993277631579, -0.008866919430526315, -0.012339414527631576, -45847830315789447e-20, 0.00838245042193421, -0.016904068641184215, -0.01032341292509211, -0.0179430145493421, -0.005017911380025, 0.004198584343289474, -0.012134608429342105, 0.02621189465, 0.021764919877236843, -0.0016967839548684218, 0.0064469595144736845, 0.0015113159294999998, 0.01449087951447368, 0.00908490776328947, 0.0021144275999999997, -0.0023710569351315784, -0.012429141851184206, -0.007313173065394735, -0.003165631556907895, -0.005191618546052632, -0.00811820481360526, 0.006263298302894738, -4727746834342098e-19, 0.01215529816414474, 0.005959134763223686, -0.003053097290263157, 0.0022509379385526307, -0.012437947575526312, -0.017363427211052634, -0.0044620109, 0.01702834882368421, -0.0014438623280263164, 0.007209018304078949, -0.005530027731842105, -0.006350269325728949, -1933061736184215e-19, -0.012560664186842102, 0.021907004355263156, -0.00368476647618421, -0.008714235420315792, 0.006064745458157897, 0.004239938750368421, -0.003381502998157895, -0.009450509392500002, 0.021473245165789474, -0.006664313856578946, -0.007727308110131578, 0.01755496648539474, -0.008046387513815787, 0.004243436594473684, -0.0018419240855263163, -0.002696314727236842, 0.00458863617605263, -0.009136615755921052, -0.01227240456026316, 0.007315492906276317, 0.001563661388157895, -0.005130049675394736, -0.002669057950473685, -0.0014561823650000002, -0.005081315489473683, -0.019940945634210522, 0.0020929494719736843, 0.004403723249342103, -0.03075529604868421, -0.008624309510289472, 0.01228930504118421, -0.009409504784473681, 0.0011323868934210513, -5501856157894726e-19, 0.011253276619736843, -0.005881537943934211, -0.009128014259078948, -0.002782203197434212, -0.00439761305381579, 0.018774566821052625, -0.011816556899605264, -0.019359096755263157, -0.009348714950473683, -0.0010719945900657896, 0.010479289703256579, -0.011939962278157891, 0.005665995433736843, 0.006774268349210528, 0.0034390900013157896, -0.008370486944868423, 0.017960268711842104, -0.0040098660762236836, 7006663912157889e-19, 0.0015448419175000006, 0.030164748171052642, -0.013288672209210527, -0.0194342324281579, -0.014333865537368415, -0.0010687613120394742, 0.006369927146184209, -0.02037403711921052, -0.0011595645836842109, 0.012291525279210526, -0.004659846724868422, 0.014351864156447373, 0.004539899117368421, -0.011356260933815792, 0.014434559298684207, 0.003388873248815791, 6091339384210531e-19, 0.009991929092763158, 0.019049285447499998, -0.007336658402000001, 0.01645323191407895, 0.011546428464605267, -0.003781113732894739, 0.01016362579592105, 0.003369438427763157, -0.012699591561842107, -0.027960629820000003, 0.006582685929197369, -0.0014268903726315791, 0.005638759550394738, -0.006515546567039474, -0.004676419364394737, 0.008950068268947365, -0.006762236009210526, 0.010658080675000004, -0.005891587223157895, -0.014665679521842107, -0.013644553504473684, 10368947013157792e-20, -0.007762898519210526, -0.01131838790855263, -0.00988497489276316, -0.0072114894752039445, 0.0027077467686842105, 7480073221052632e-19, 0.001175619631578947, 9005636573684216e-19, -0.017333229999605265, 5094909162236838e-19, 0.012029732047368418, 0.009794908618684218, -0.01157117548918421, -0.009239849182894735, 0.005636658962236845, -0.008340407034210524, -817503516907895e-18, 0.003921638921052632, 0.005545640947368417, 0.014569629413078954, -0.00717244047236842, 0.00835087193605263, -0.008531247800499998, -0.004064330462, 0.008101339765526315, -0.01701503037605263, 0.004955823044473687, -0.0022204531394868425, -0.01208521188631579, -0.002832061093026315, -0.002318643040434209, -0.007110677303947368, 0.001033564958947368, 0.027433827638157895, 0.010220588290263156, -0.007394786349605265, -0.006538531349210523, -0.0022718601860526317, -0.004229559157973685, 0.005938436034868422, 0.01048373804263158, 0.00986031018078947, 0.020336058257894734, 0.004668691585657895, -0.011039444343815792, -0.03195965501315791, 22211712236841965e-20, 0.004621380856581578, -0.0032872489723684223, 0.0022427985402631574, 0.009466410571710526, 0.017591113605263154, -0.004106379021052631, 0.006385616363748682, -0.0040017953515789455, 0.0012984135143552632, -0.0013681684519605262, 0.006150785983582896, 0.02349364751052632, -0.003507428290921053, -0.023245202525000005, 0.0073350322506578955, -0.012751762621973684, -0.009509772432105263, -0.011624634206315787, 0.008383111918289473, 0.008738430290394734, -0.0019306551646052629, 0.004987825924447366, 0.0067051984610657905, 0.010962145944078953, -0.006160766227763156, -0.01599381954276316, -0.005996254381473684, 0.013413042621052635, -0.016699554863157894, -0.00425797138263158, -0.002346582932368421, -0.003454997969210526, 0.015414278531447364, 0.0020144495526315796, 0.004778662968414474, 0.019607659189473686, -36090899996052645e-20, -0.008492139364605267, 0.007747498233499999, -0.0013514066389473686, -0.013021238629802628, 0.02135893455000001, 0.0050934569453947335, -0.005380931788039476, 0.0034462612061184213, 0.002471601183026315, 0.0018443146213815793, -0.005110344829342106, -0.014184218227105262, -0.0043937764976315795, -0.004010257807763158, 0.007609986475131577, -0.0017383072384999994, -0.008765348437499997, 0.006436899067289473, -0.005252098280921053, 0.0012666882906842106, 7271012838815791e-19, -0.012168801171973687, -0.006950649873815789, 0.006179354461447367, 0.008584705725921056, 6826743815789457e-20, 0.005478510884342106, -0.001656087406842105, 0.004353472659210527, -0.007852758323026314, 0.00774670264888684, -0.004548253065789474, -0.00872336939763158, 0.007497302493421052, -0.003937119212631579, 0.005084670148232898, -0.006804365856578951, -0.004160022079342104, -8716827518421054e-19, -0.0018917191575000003, -0.04542618686578948, -7962240394736886e-20, 0.005303945623421051, -0.0010489784114473685, 0.0040561710610526325, -0.005575023273947369, -0.014307941818026318, -0.005483095651842106, -0.0036865826026315804, -0.007326996465921051, -0.007258892687710523, -0.017002108826973682, 0.0026596006468421053, 0.007241479605526319, -0.006855145818736838, -0.007547068765263157, -0.011135433282763159, 0.015574704355921056, 0.015176253521052627, -0.006872319883815792, 0.0017937790452631581, 0.0012157494165789468, 0.007882637975789471, 0.003405427387894736, -0.004297595478375, 0.017864616917368424, 0.0030970381859210523, -0.0023354204692105267, 0.0017386867781578944, 0.02049815361294737, -0.00913410340657895, 0.01556748598855263, 0.0014741332142105261, 0.00888697265651316, -0.008259757955789475, 0.010162209150921054, -0.015258628212236844, 0.007913002543421052, 5999896474736846e-19, 0.010361211858157896, -0.005668571334210528, 0.009625429015263158, -0.0104467670125, 82077470868421e-17, -0.0016111464500000003, 0.011819657311842107, -0.010997043170815787, 0.026556267275000003, 0.006691072826710528, 0.020695954338157893, 0.003105390495, 0.007586750871802631, -0.006386726654605265, -0.02003319237539473, 4345854440394738e-19, -0.008994508450263157, -0.026183591028947364, -0.002199864392631578, -0.0028300363084210523, 0.008933973642105263, -0.004872168878026316, -0.010508434657894736, -0.030814126236842106, 0.003977499332947367, 0.003367798314605263, -0.008800812126184209, 0.03421133572763158, 0.036882231234210514, -0.009774976162894739, 0.014867376786052633, 0.01847335194828948, 0.004703114508157895, 0.004981278706842106, -20820300881578947e-20, 0.0023825047832894738, -0.006051949050131578, 0.005748253940526316, -0.048717287638157886, 0.006936276815973685, -0.00717120160088158, -0.0011371543828947368, -633878522763158e-18, -0.009472156436842108, 0.004011299037763159, -6579590755328946e-19, 0.006974676819078946, -0.005393841788815792, -0.004757979923842104, -0.0033050710856578945, 0.011350404267631583, -0.007076194413157896, 0.0017202756382894743, 0.012773173556842102, 0.0030848825621578946, 0.0027823394973684207, -0.00670719708276316, 0.005835784166710526, 0.006515324253026317, 0.008066022838947366, 0.001960170838894737, 0.0051619980871052615, 0.0026211382473684216, -5182459471052627e-19, -0.0027954785167105234, -0.004234536522631581, -0.009315601918947366, 0.008809953131578951, -6880571447368561e-21, -7682047319210527e-19, -4287664078947533e-21, -0.008450649188421052, -0.0035262061703947374, 0.012014457226315788, 0.00802163259636842, -0.014263569363815795, -0.001529443673157895, 0.0038201108919736853, -0.0021061006564999994, -0.006485662478921053, -4953983351315789e-19, -39382826565789427e-20, 0.0028122849150000006, -0.012065431929342112, -0.004557107439381579, -0.004202265546447372, -0.006648211306315786, -0.0026814599381578944, -0.004716990799535528, 0.011677914061486841, 0.0054311442510526315, -0.009687709625394739, -0.00401446957026316, 21303643315789461e-20, -0.004548820044210527, 0.001488740388592105, -0.008498280648552632, -0.009067142177105258, -0.001475207605789474, 0.003382969827236843, -0.003364108026184211, -0.015231927833026314, -25714068360526294e-20, -0.009678724665486842, 21494394868420982e-20, 0.0069928910540789455, -0.009154249508157892, -0.014927330287236848, -0.04244073076315791, -0.009253368699736841, -0.007564927833815789, -0.006217242748684212, -0.007667895968815788, 0.012352994166578951, 0.005073167429381579, -0.005000820531315791, -0.01045439083394737, 0.0015025571015789476, 0.0064443839557894724, -0.007921140097105263, 0.01298356292368421, 0.022927954959605267, -0.005738576246052634, 0.01002808020881579, -0.0017933789327631581, -0.0036308607342026324, 0.007852910432894737, 0.008723654298289477, 0.005285313737631579, 0.013029228591842109, 0.0033245363744736855, -0.00546107157763158, -0.01238937413552632, -0.014016715163947365, -0.00480338421131579, -0.017565224993223685, -0.0010297757147368421, 0.0190754480131579, -0.016528817848684218, -1554027478552634e-19, -0.0033909335259210555, -0.02275056143078949, -0.012455294898723683, -4695065194736842e-19, -0.019497075148026316, 29407749652631535e-20, -0.004932486893276316, 800515078947368e-20, -0.019466739034210534, 0.0011483287201315788, -0.006102988706842104, 0.004115763767592106, 0.004177756370252632, -0.002618433127763157, -0.00537044665544737, -0.011829460742671057, 0.00692578045657895, 0.006913495407763157, -0.0012394369451315791, 0.004177181062190789, -0.004855147448592105, -0.009354103443947366, 0.008475817234342108, -0.0060853426540789495, 0.017770833389999994, 0.010468942911184213, -0.006522560685973683, -0.015092426563342105, 0.008636236548684206, 0.004441229959605264, 0.005320611943289475, -9800074276184207e-19, -0.010191143523026322, -0.007796377074999998, 0.005595688935526317, -0.0016283605736842112, -0.012121330430263163, 0.008727131922578948, 0.002284515743368422, 0.002682018403026316, 0.02112667354078947, -0.013087226411842108, 0.011961740068421057, -0.0029621327447368426, -0.00711086599605263, -7157445806315789e-19, 0.00296389472118421, -0.002106245437236842, -2060961381578952e-19, -0.0023762942430657894, 0.0067748971048684214, 0.02305358949394737, 0.024209113952105267, -0.0010323672338157883, 5835666469736843e-19, 0.0011928865788157893, -0.013926641433421053, -0.0010454462015131592, -0.008992499685921052, 0.005833304399473685, 0.007247240086842105, 0.007005285494078946, 0.00532119499868421, -0.002409817022763158, -0.009118484332407894, 0.00902553582131579, 0.003644393953815789, -0.001458669926578947, -0.007759722557236839, -0.015974711869276317, 0.005593415395263159, -0.00699891096894737, 0.013671992413157898, 0.0030071592296052633, -0.00725996611631579, 0.00831834310973684, 15080351578947707e-21, 0.010492338298289472, -0.011587350163157897, 0.007662332826842105, 0.008755792813026311, 0.007074787369210524, 0.01825972633684211, 0.005628270758078947, 0.013933462579342108, 4695127519736841e-19, -0.016538577678947376, 0.013688757842105262, -0.00958296806763158, -0.01084689514210526, 0.004655695267894736, 0.002764839804828948, -0.008966435890710524, 0.01818742012328948, -0.002021167613421053, 0.011088005707894739, -0.003949641440789475, 0.016206056167105264, -0.018271099290000006, 0.012128778174342108, 0.016409871427894733, -0.005132905442789474, 0.013977325583552627, 0.0027061513397368423, -0.030432116805263153, 0.009202131592500001, -0.005219011863552631, -0.02768622942105263, 0.005146511143078947, 0.016741514684210528, 0.008617631309868421, 0.001446558946578948, -0.010973319831578945, -0.002393318402447369, 0.0025146223098815794, 0.002058704305, 0.009670727197499998, 0.006972026925486846, 0.007941592818026316, 0.006313998498157896, 0.004550358204605262, 0.019503475739868426, -0.00808706035526316, 0.0014521665658289477, 0.008814657770526316, -0.0034991419792894736, 0.001152647225789473, 0.0035165233944736848, -0.008015521834605265, 0.0030662299349999986, -0.008316208095789476, 0.0018460274468421055, 0.010874037769736845, 0.0019301458946052628, 0.014981398493289479, 0.0063040013951315785, 0.0011182811667105259, -0.001531185306381579, 0.007286755069710524, 0.007252432990381575, 0.005447569480263158, 0.005672717215565791, -0.011183678003684212, 0.0010281094409210528, 0.0037040489348026313, -0.018558228386052637, -0.0024118456417105264, 0.001912976863157895, 0.004824422551335526, -0.007085397379605263, 0.010146420386052636, -0.012797370635526323, 0.005280684883421054, -0.007430231397421052, 0.0012657216987105263, -0.003414122816315788, -0.001953577547894738, 0.004944337450526315, -0.009499839262763153, -0.007726497248157897, 0.02043591631578946, 0.005235241476657896, -0.016428867193421043, -0.02316521289473684, -5283661032894735e-19, 0.0039097042727631575, -33895851092105274e-20, 0.01083217157236842, -7426432255263161e-19, -0.00391929611618421, -0.007359749506882893, -0.0035571319606578938, 0.012559667453289472, 0.0058923027007894745, 0.015785403049999997, -0.013460644672368413, 8476099292105275e-19, -0.0033159500932236833, 0.008975023673552632, -0.01474813875868421, 0.01023825899394737, -0.01589566984736842, -7458934167105253e-19, 0.015296658677631575, 0.008350472782171053, -0.01303794148592105, 0.009825855495394734, -0.0031653390423157907, -0.0023992715984210533, 0.012867784544868418, -0.007730846508157893, -0.008233608065789473, -0.00578186875105263, 7660654657894731e-19, 0.007309484258749999, -0.004728002686184211, 0.024414807685526316, 0.07103057530263161, 138350805131579e-18, -0.0227730847868421, -0.002000239483157895, -2523412961842105e-19, 0.0036002593248947363, -0.00960461145763158, -0.014719047412763165, -0.010525172183026317, -0.008946292160657896, -0.00487614558486842, -0.015348885583552638, 0.005484280077631576, 0.0047399032012368425, -0.011332118468552635, 0.018375535672368423, 0.0028248364129736837, 0.002669773003710525, -0.013733811623947365, -0.012085463925657897, -0.005202895044802634, 0.0011071545386052636, 0.002822448957105263, -0.005775769501039475, -0.007958374655000005, -0.012961527270999999, 0.008736424775394736, 0.001623934084342105, -0.0029857376405, 0.006539750386447366, -921088730657895e-18, 0.01011317570105263, 0.004816758724236842, 0.01006797531394737, -0.024919923669736846, -0.013252434965131578, 0.004975805359868419, 0.0028436151710394737, 0.026767861371052633, 0.01679312495263158, 0.0029180558214473695, -0.01334025122631579, 0.006395531258157895, 0.012167909879868426, 0.0010437845743947376, 0.015899900866315795, -0.015891970886315786, -0.007016795418947369, 0.005720414304868421, 0.014279509605394737, 0.011842180225789475, 0.012174502878815788, -0.004032991572842103, -0.01191846249868421, 0.006569720230394738, -0.007758679420881577, 0.008243021787499999, -0.0056768207752631574, -0.010259304986710528, -0.005975154729605264, 0.022218811560526314, -0.01284212495, -0.0043886743385526325, -0.007587261113289475, -0.00100997453736842, 0.007466683218736842, 0.0017474622250000002, 0.011411024255263157, 0.007287669592105263, -0.011071793518989473, -0.007791523718026317, 0.0024424171717105266, 0.010883432589473684, 0.017893625253684212, 0.008674725273447368, 0.00948412372276316, 0.004439929401005265, -0.012966921410526314, -0.009952035897894734, -0.009481836221250003, 6631337719736842e-19, 0.013784739155921056, 0.01274559315868421, 0.015312255263157895, 0.014739994169736837, 0.001961665102973683, 0.016666361813815787, -0.01601210714707894, -0.003862630162710527, 0.0017456178976315803, 0.002383359211842105, 0.005658344708289475, 0.02028012731447368, 0.0038586854298289478, -0.003930425682236844, 0.005947570116842103, 0.006645788041973682, 0.00593962558863158, -0.0055098527475, -2709300878947366e-19, -0.02526451096052632, 0.0034957235959210526, -0.004797192927499998, 0.010852291108092103, -0.0024250138515789464, -0.008193180311052631, -0.006060304734868421, -0.005015898619736843, 0.009915213199078949, 0.0049576433317105265, 13137401934210517e-20, -0.011906290325000004, 0.005487915484868421, -0.0026353010490789476, -0.006053524171552631, -0.01679510672763158, 0.0019228737013157898, 0.01702610227171053, 0.007407213732763154, 0.001119691041315789, -0.0041095490676315806, -8301038464210527e-19, 0.0033998062114736845, 0.010597575788947365, 0.014257269136842107, 0.007372944618421052, -0.0035281079432894734, -0.017203723107131575, 0.004068165850842105, 0.00382046129631579, -0.011138788382368418, 0.01527541427763158, 0.01094105444394737, 0.003186118735263158, -0.011153858221842101, -0.001682062516447369, 1102902368421087e-20, -0.007634609815394738, -0.0024121695576315794, -0.004676494936184211, -0.004374885159342105, -0.004125291510394737, 8512605788947367e-19, -0.015911860113236847, -0.01630071632578947, 0.0075893821925000025, 0.016570409282894737, -0.0028060973136842106, -0.010812139536144735, -0.0035154795997368424, -0.007599472084868421, -0.0027118450077763152, 0.003790211149736841, -0.0016624428627631574, -0.006025105557500002, -0.00271212489868421, 0.004819238931578948, -2838972343421054e-19, 0.008508885079999997, 0.0037412741409736843, 0.003480958837938158, 0.01989113539539474, -0.007170555643552633, 0.007131082274999999, -0.00324891509618421, 0.017624990426578946, -0.008696587564605262, 0.009625076661710525, -0.003385572580052631, -0.0011940798148684204, 0.013382737070394736, -0.0019341717852631578, 0.014078404609210527, 0.006157531654513156, -0.00436843442881579, 0.010804814319078945, 0.016877812977368414, -0.004866282633157894, -0.004019908407105263, -0.008622002943026319, -0.001156913919736843, 0.00860937810460526, 0.00854736410960526, 0.006645876394210526, 0.006044397847105263, -0.0029129494269078955, 0.005728795454605264, 0.003868690374868421, 14415561068421056e-20, -0.011550837929210526, 0.0024273528732894744, 0.01675736555552631, 0.008618001551842105, -0.009086696278947369, -0.0019255664260000005, 0.017823474286842108, 0.023852092268289476, 0.005640211945657894, -0.0157103212696579, 0.002671248446973685, 5732126974736841e-19, -0.003747782739723685, -0.015167234880263156, -7942613815789339e-21, 20631670931578946e-20, 0.005739634929078944, 0.008089517185263155, -0.005618019369960528, -0.004716671923026316, 0.002440650008157895, -0.013887452536578948, 0.010245098745394738, 0.011824351372763156, -0.005547870031710528, -16388543065789472e-20, -0.0074466632465789466, 0.00498810127631579, 0.015039879665789478, -0.0040669246943421085, -0.005869341766447369, -0.024218201709868412, 0.001695024713552631, -0.005041553392631579, -0.00783228454736842, -0.005132145636842107, 579431247268421e-18, 0.0026811771932894746, -0.007146641212236844, -0.008457516277105264, -0.015692255188223682, 0.024690377132894726, 20765250613157882e-20, -0.0020539644646052624, -0.005768370673684211, 0.003702322850921053, 0.004201434479473683, 0.0028723328136842103, -0.014360589550263161, 0.003967806877105263, 0.004476002342671051, 0.004944308020131578, -0.01157276546618421, -0.009082047036973684, 0.0036693403972368425, 0.009826728072236843, 0.0074656336861842094, -6485088782894734e-19, -0.0014051343403289473, 0.007369758026842101, -0.010425479788289477, 0.01821328323157895, -0.012023113507986844, 0.001740522146710527, 0.005332594062894738, -0.001378770888421052, -0.015753834223815794, 0.0076369660996052635, -0.014926969834157896, 0.0038507784668157883, -0.0041886614165, 0.005354455710657894, -9931518065789487e-20, -0.002756159138157895, 0.014061157835657897, -13951124842105257e-20, -0.013132667226578947, -0.0019348305806052633, -0.009907254651973684, 0.009314450074276314, -0.006995864365000003, -0.004312180836447369, 0.004297729036710528, 0.0047553823486842116, -0.00931211325394737, 0.021702308997368424, 0.007112765311718424, -0.008150883757249996, -0.0015760545419210529, -16017972894736844e-20, 0.0012709232195131578, 0.008913342906302628, -0.009902096786842104, 0.03158665600926315, -0.0043072190056578944, 0.007661704021052634, 0.004888625593815791, 0.003962992540921054, 0.004328961708421054, -0.0062252458030263155, -0.0073411886288157905, -0.002077252053605263, -0.011778288789210526, -0.00824901193289474, -0.0036174059680000002, 0.008596170780328946, -0.007529505605394737, 0.00450591202768421, -0.016162284833421053, -0.006285099551315791, 0.01741020744342105, -0.004753392869697369, 0.004862889815131579, 0.008373598259, 0.007595550645657895, -0.007107993389473689, -0.008475462659473682, 5595674320263158e-19, -0.0034365798056578915, -0.016078184318421052, -0.010819015256052633, -0.0018932811597368428, -0.0060824286468421015, 0.009014217587631579, -0.005298673378684211, 0.0020203203051710524, 0.0023555486237763156, -0.011414600681763159, -0.029000318375131576, 0.012605560375, -0.015203555485526316, 0.013647403227894738, -0.008804857755526316, 0.008642128292289471, -7019206473684211e-19, 0.028421054261842115, 0.010750185311184211, 0.004273382298328947, 0.014962174191052634, -0.0091029727825, 0.004545577043947365, -0.005067943168815789, -0.008576309225131579, -0.009371516520921051, -0.003953041012539474, 0.0026335486594868413, 0.0010443595075789475, -0.006137380078947367, -0.019068207819210526, -0.0066171946843947395, 0.0154603859943421, -0.03956156613026316, -0.005423286051376317, 0.0064764647446052615, 0.017917068601973684, 0.018834929819078944, -0.023795076729473678, -0.005232680938421053, 0.007063256785526317, -0.002471332747368421, -0.005540072479078948, 0.0030247992273684196, -0.041372428210526314, -0.022792676082894738, 0.01496056775592105, 7162006171052637e-20, -0.0054049346089473675, -5917285729473686e-19, -0.006140541838736841, 0.01165498020263158, 7520184688157894e-19, -0.004048719246052633, -0.004093513149078948, 0.001113782621578947, -0.00515289844513158, -0.014532121503749999, -0.005462963103684211, 0.002013934241710526, 0.006934004597374998, 0.011849665684605267, -0.02845128821973684, -0.0027645604678947374, -0.029641802678947365, 0.005846543234157898, 0.004001273209868421, 0.009660376192697369, -0.01431830397552632, -0.0034636234957236833, -0.015780388346842117, -0.0061515257567105255, 0.011677517784078944, 0.011294756013947365, 0.009406988080263162, 0.02362260060394736, 0.006315555671052633, -0.00983715779947368, -0.012793336953947368, -0.010380582411513158, -0.005019749015, 0.004049450225131579, 0.017717702139473684, 0.012014558753947363, -0.004216072575789474, 0.012309840076065792, 0.003926167156578947, -0.011685566748684212, -25353602302631577e-22, -0.005299348902368422, 0.007730379013289471, -0.0027699679941184216, -0.0069104686293421065, -0.002654266115921053, -0.012859640121842106, -0.0107146154105921, 0.004399860249078947, -0.006205988169868421, -0.002287691709381579, 0.0022477117532631575, -0.011032372216710525, 0.0038386147140789476, 0.017001313835526322, 0.003409522446052632, 0.0038818556153947365, 0.0010723420983289483, 0.007902039610460527, 0.0023776093863157894, -0.006922669011657895, -0.012493596986842102, 5051128443421054e-19, -0.003519559938197369, 0.009428645297631578, -0.0010605874422368415, -0.008557814389473686, -7813989881578948e-19, -0.008372406573684214, 9731762513157829e-20, -0.008460361298552634, -0.0022174336363157904, -0.008624776876973684, 11917679249999991e-20, 0.006416730669828947, 0.008520198330263157, 0.012873614050657895, 0.011955042275394739, 0.01041146601725, -0.007033908750526316, -0.0016643551606578938, -0.011975207748157898, -0.010176406554210527, 0.0046722559355434215, -0.019248556189473687, 0.012035626013513158, 0.005876074411052633, 0.0023601008795000006, 0.0017393916595131586, -0.006760177633552631, 0.0037472353740789477, 0.08577118239473684, -0.004266319282368422, -0.0071308153913157875, 0.002913963492236842, -0.011218220720921051, 0.0016349006751315786, -0.0019050253921052633, -0.003319563322894737, -0.004499976557500002, 0.009833074842368417, 0.007605858973947369, 0.005772069280921054, -5503060188947367e-19, 0.013013069021578944, -0.0034565342047368423, -0.01143237421848684, 0.01110795669013158, -987561984539474e-18, -0.006423849459473684, 0.00217356449263158, 0.0010567873492894734, 0.014532239263815788, 0.010447370052631582, -0.00759626205513158, -0.0022266032110526313, -0.008538287243881578, -0.01131031077157895, -0.015313536264473682, 0.005158005157763159, 0.0030549536626315785, 0.004764115755657894, -0.012034718590789474, -0.006626763940263157, 0.009110119795921048, -0.002301413071921053, 0.015578638884210528, -0.005167726482500001, 0.02117604996315789, 0.008285337067996052, -0.007844231455157892, -0.01983585482868422, 0.008469638907236843, 3119132776315813e-20, -0.001960619750092105, -0.0174250582075, 0.0024971948229210532, -0.009844892709210526, -0.00997894878157895, 0.008923550396710523, -0.015006534729868421, 0.010365114785526321, -0.01453934758578947, -0.003352099966710527, 7359328694736843e-19, -0.010912618383552628, 0.00553644026263158, -0.0020364845940789474, 0.01638792804421053, -0.002702654283236842, 8317131059210523e-19, -0.0062164165, 0.01416901248881579, -0.001157289313026316, 0.0015120998847368426, 0.018197012598026318, 0.018230856374999993, 0.0013759326027105259, -0.0022414605464473685, 0.010594263889473684, 0.0032048177697368407, 0.0015967663478421053, 0.005898981746447367, 0.0026566908555921056, 0.007526576979868416, 0.006680355165921054, -0.010573069984868419, -0.0037745313918421054, 0.005754974540473685, 0.008721350822763157, -0.004220488521921052, 0.007543852856315786, 0.002001725290789474, 3765012028947365e-19, -0.005974376834473688, -0.007132448870578947, -0.008149476120263158, 0.020858640447368428, -0.0026150683706578945, 0.0025981752977631586, 0.011055772810526318, 0.006417484732236842, 0.02127346352631579, -0.010789793555, 0.0018354179835526315, 0.01635032267421053, -0.00914016103246053, 0.00721719150447368, -0.011749975486184212, 0.007983058785, -0.0025599285438157905, -0.02525250945921052, 0.016565419086578947, -0.0049727678667105275, 0.016954254666710526, 0.0072252290184210526, 0.00663506177881579, -0.016708790731052633, -0.019179279734736834, 0.0036575822153815793, -0.0036278681642105243, 9362055535526312e-19, 0.003667399366578948, -0.005599063442105262, -0.001710235229973684, -0.0020441094883684213, 0.008895651518289471, 0.011197020705263155, -0.0096675727705921, 0.0048109815131578935, -0.009713690278157895, -6161499026315836e-20, 0.013903376549342109, -0.0037505515171052627, -0.004402282192631579, -0.00803135064986842, -0.0022901599207236834, 0.0028172990298684225, 0.005441962186973684, 0.008157506930394737, -0.005246615045631578, 0.0017373259923157893, -0.011001224905657895, 0.0012983470696052632, -0.01309617162052632, 5287650694736846e-19, -0.012678124126447364, -0.004449979991315788, 0.013012943638552632, 0.002311609178421053, 0.00852208751355263, -0.0021326908651973695, 0.006498695877500001, -0.012073736925131582, 0.010822192646592104, 0.004732820625263159, -0.003690172558684211, -0.009818942454868423, -0.00727969328513158, -0.01263686636618421, -0.003183486671921052, -0.009880075140921055, 0.002198814761578948, 0.013470662695263156, 0.00607287450868421, -6002962989999996e-19, 0.008114174997552634, 0.011275753842105262, -0.005673379224736841, 0.0031662297654605257, 0.0028777117961842117, 0.008016936837894739, 0.0017901154897368426, -0.006646555544013159, -0.008096424208289474, -0.006122036452894737, -0.0057617752151315794, 0.0011516110418421056, 0.0033034063114473684, 0.001144898634342105, 0.015016336455263162, -0.005089427256578948, 0.011095485811210526, -0.01487947794381579, 2754231664473685e-19, 0.01434458742828948, 0.004142680879736844, -0.008173420285131577, 0.009047083722894741, 0.006638912060921054, -0.010928462396842106, 0.005584001594493421, -0.006758851203157896, 0.012239943157835526, 7178325472368416e-19, 0.004164529241644737, 0.006919659793157895, 0.0018766501502631577, 0.005851904381052632, 0.01649575659144737, 0.018543284467894737, -0.004570943860131577, -0.014199454217763158, -0.004522597645789472, 0.01323128955736842, 0.009430725228289473, 4302028357894734e-19, 0.014124286351315792, 0.0014682764307894735, 0.014347456733684217, -0.004273947661315787, -0.005397340513289473, 0.004777006242105263, 0.0014340101824815783, 0.004214361838684211, 0.004253698227473684, -0.005495129646250002, -0.004944426877631579, 0.001132264872631579, -0.025759664019736846, 0.01343974873236842, 0.007074848766842105, -0.017592669572894747, 0.0017375639004473685, 0.015513802537763154, -976651714342105e-18, 0.006099546812236844, 0.009297965083289474, -0.006545829302368422, 0.002187739041315791, 0.003335506018026315, 0.0021257748652631593, 0.007083832225526319, -0.00821666152184211, 0.008502307442157893, -0.0012726394867368417, 0.003975927348552632, 0.005120596614473684, 0.005579327967368418, -0.0076789852039473696, -0.021034838578947373, 0.007545610900131577, 0.011339017010394737, 0.01220300189605263, 0.012834558334486842, 23943841328947444e-20, -0.012060543739868423, -9013390900000001e-19, -0.007001447220394739, 0.001807072239342103, -0.007920413789473684, -0.014183284144078948, 0.0032435898167105224, 0.007661070786578948, -0.009576734622368422, -24735532930263165e-20, -3279625464473687e-19, 0.00592114891631579, -0.0031360228920394744, -0.004423669705131578, -0.006236715882473684, -0.01428929095, 0.0012041522547368432, 0.009992463885789478, 0.014660581713355257, -0.012100258024789475, -0.0041604909128947366, -0.0022737396475000005, -0.005318546005078945, -0.0019765347979631576, 0.001943228074394737, 0.01009488755486842, 0.006165831676578947, 0.0018300388325000001, -18122561157894723e-20, -0.020566950382894744, -0.006887413951872369, 0.004043231116447368, 0.014405956009276313, -0.004649199056078947, 0.016667253566842104, -0.012720103426315793, -0.004804016313157894, -4011695289473683e-19, 0.004846170921052631, -0.0016384565850263162, 0.017794608296052634, -0.007291804857605264, 5409149652631579e-19, -0.005412328068421052, 0.014002738125526317, 0.007782216855789474, 0.03379361171052632, -0.0037693036657894725, 0.006207439997131578, 0.011665550201763155, -0.002727257783815789, 0.006404820097236843, -0.007757448749342103, 0.00321114124381579, -0.005974114834342104, -0.017798501374999998, 0.008996167303710525, 0.004107372101447368, 0.007539583035263157, -0.0014233594372368415, 0.00381117836013158, 0.008256078101842102, -0.0018291068210526304, 0.0019358302312894743, -0.010674378317894738, 0.0065658293554078945, -0.007450003366710528, 0.004437219244605264, -0.024618154752631582, -0.015038326359078957, -0.00463826566381579, 0.007930537400131579, 0.004519121789078946, -21704581684210515e-20, -0.007922356677894737, -0.011271936131578942, 0.006213316302368421, -0.001811201335361843, -0.06298805399342101, -0.003931348754999999, -0.002375323733289475, 0.006955065128421053, 0.011551465797368423, 0.005049561330973682, -0.004226440632631578, 0.001415731466381579, -13998377784210452e-20, -0.0011909930659210531, -0.002045448113026316, -7439456209210522e-19, 0.008089150971763161, -0.007385254353552632, 0.0017794121346052629, -0.0021466796694736847, -0.007901907795526318, -0.006739856069736841, -0.0031380352994736845, 0.0076046099585000025, -0.011527594351315795, -0.0020396639011052635, 0.001525548389342105, -0.006094216933684211, -0.0014722651828947364, -4518903077631577e-19, 0.007140101749473689, -0.011676537059210524, -0.019966328755921053, -0.0024167389288157906, -0.008110973655078945, -0.010138389487328942, 0.004652459228947369, 0.003344180307855263, -0.00269698604401316, -0.006219439502236842, -0.012621290809263159, -0.010441855874605261, -0.001525004825868421, 3106502772368417e-19, -0.02632054453157896, 0.014578032460263153, -0.004134980474473683, 11510845465789741e-21, 0.0062397942408684215, -0.0063305206980263165, -0.0032845915709868406, -0.011880825206578951, -0.004127339640789471, -0.005412744576842107, 5791435789473685e-19, -0.005604593690263158, 0.01140999920789474, -0.0035105268881578944, -0.005644377784736843, 3777405411052633e-19, 0.006655294573118422, 0.012310034789868423, -0.012314680914342105, -0.004660671697236843, 0.019227642512499997, 0.012370556660526312, 0.0018540437435131578, 2843068044736842e-19, 0.0029149404551315795, 0.001349117293078947, 0.004231145650921054, 0.005014896011447368, 0.0030759806921052636, 0.002634996195394737, -0.02146838184355263, -0.023354627235526327, 0.007463801508881578, -0.044740355858815806, 16885995480789474e-21, 0.0018187605642105266, -0.0028608081773684206, -0.019586663092236847, -0.005291358396439473, -9306446955263162e-19, 9336062423026312e-19, 0.00640387573013158, -0.05765600515921052, -0.0010193050008289466, 0.0029813614198157894, 0.0017824373404078948, -0.006496215178552631, 0.024087691802631577, -0.010348639678947369, 503021751973684e-18, -0.009403571023947366, 0.012732326389460522, -0.005403565589605263, 10905120605263125e-20, -0.008504000929605262, 0.006370600620263157, 0.018242643109210525, 0.009379113575526317, -0.01214825572302631, -0.0015711109278947369, -0.0020749150806842107, 0.0051656843653947355, -0.015150247375526317, 0.0034633881215789457, -0.0023204803727631573, 0.0013554988172368421, -0.00916673603631579, -1386599248684208e-19, -0.011236653686842102, 0.01057515615355263, 0.0038270946907894747, 0.0032054099676315792, -718647992236842e-18, -8057763245394725e-19, -0.004644138220394738, 5584668676973688e-19, 0.004134472640657893, 0.003242992475139473, 0.004408569986710524, 0.006886769568421052, 0.0022040188868421057, 0.004717420271184211, -0.010944220514868425, -0.01496134418960526, -0.004904572456118423, -0.0029349479123026317, 5269890798684209e-19, -0.018642433568684214, -0.0014636822255263157, -0.0032874282358578933, -0.005220993034210527, -0.001006430675144737, 9930258057894734e-19, 0.01337606780197368, 0.009240478431184211, -0.01117918292618421, 0.015037270521710534, 0.00705424925763158, 0.004022910573421053, 0.004511536920394735, 7300990415789472e-19, 0.0025198337564868423, 0.004174408284605264, -0.006822327408157894, -0.012508884771973679, 0.0018977242146052643, 0.00169175941868421, 0.00914618583809211, 0.00616711017276316, -0.016066297167105267, -0.007600618392368421, -5936514901315801e-19, 0.009191851769736843, -0.01048495533644737, 0.0039003314751315785, 0.010082093744078946, -0.02150961690736843, -0.003076141387631579, 0.01795051239210526, -0.0016097397646052626, 0.006738568165394737, -0.01008712938552631, -0.0023239680332894736, -0.0023542645427631586, -0.007415254536973685, -0.0017370888950000002, -2142969864736847e-19, -0.0019526079594736842, 0.004812759554289475, -0.003177666265657895, -0.010193668303157894, -0.008950753272763155, -0.012276084238157898, -0.013801354708684207, 0.013260181611973685, 0.005137841782236843, -0.005623419413947369, 0.002380635332763157, 0.020261579571842093, 0.0025086264638157895, 23285078407894738e-20, -0.013896984565526316, -0.002813308350394737, 0.006464827561842104, -0.0017387912031578952, -0.009293710947368423, -0.002234433483973683, 0.0029236971019736837, -7009606947368418e-19, 0.004321338025526315, 0.011410774383157896, 0.0019641712277631575, -0.0032173488855263156, -9017514617105258e-19, 0.02536431413421052, -0.0036204208476315796, -0.0045066121440394714, 0.007895695332842106, 0.01375771906894737, 0.0016665629351973685, -0.009256044322434214, -0.010135795456671053, 0.008737079069078947, 0.0034428967317105263, -0.010638219975263161, -0.004573688986184211, -0.008506904400102367, 0.0025543856753947364, 0.004874314954210525, 0.010396809270921051, -0.0018452750817105265, 0.01090056822052632, 0.02098761590078947, 0.009814058689144733, -0.0029276505494736844, -0.010893099969697373, 0.01975842706710526, -0.010948870352592106, 0.0058412445308815815, 0.015515693848684214, 0.0020952677422368424, 0.008907295886842106, 0.00873527318223684, -0.006631097216973685, -0.01977647116223684, 0.010740387438947363, 0.008736050202499998, -6532119030263152e-19, -8522597289473685e-19, 0.007881729391184214, 0.007262564786315789, 0.009642556828684206, 0.009887033669644734, -0.00506204858236842, 0.00914667588671053, -0.005646160281184208, 0.0015682480643947365, 0.007187644667573682, -6413499337828947e-19, 0.0014132899411842103, 0.0017755321165263149, -0.007160940067000004, 0.012367878591973682, 22851084263157844e-20, -0.006308410619078947, -0.0015791580263157898, 0.00442315712593421, -0.006452675031118422, -0.009020969568421053, -0.011030041889539469, -8780194159210523e-19, 9627984798684214e-19, 0.00363151196994737, 0.02183342311710526, 0.02024013596973684, -0.012353824388684213, -764319970657895e-18, 0.002105059234210527, -0.0014566305570592104, 0.002706323287631579, 0.00607090862407895, -0.009545597578157896, -0.004247753485894737, -0.0176261248381579, -0.0031491103884210524, -0.003108941359539473, 0.015593445543815788, -0.04427306710881578, -0.0020792380994736847, 0.011489951907105264, 0.006966976375342106, 0.0015082572486578947, 0.007737702031710525, -0.00655683788473684, 0.007863643000657894, 0.002917634675013158, -0.004152638770789473, 0.005619210159473683, 0.005586618189342104, 0.010026886728421051, -0.004179918709473686, -0.005501686800131579, -0.00604261921421053, -0.0071300491338157895, 0.014459129589473686, -0.0037379425788157897, -0.0020940462386842117, -0.00957774127394737, -0.03357854765131578, 0.025668219275000004, 0.022622876078947373, 0.0022629713582894718, -0.0026858775323684216, -0.0017051095038157894, 0.003815842962894737, -3828872972368422e-19, 0.0026066615468157894, 0.012387053006578948, -0.006318214374868418, -0.007521578666315793, -0.01284997625631579, 0.012826012949078947, 0.0010223195625, -0.011615881295131579, 0.0022139161670263153, -0.002016348744078947, -0.0028064120447368417, -0.015572008834210525, -0.0019618904405263164, 0.00544554776289474, 0.009761993845921054, -0.012984902144736842, -0.014145811457894734, -0.008978529723144736, 0.004056017691315789, -0.011844596710394733, -0.0059587758225, 0.007508870492105264, -0.005443937433289474, 0.002935879441578947, 0.01486225123960526, -0.005532202826052629, 0.005462015192631581, -0.02565744589868421, -0.008383098813815791, 0.003647495577368422, 5357671111842098e-19, 0.01166961910486842, -0.006377186925131579, 0.0127008994825, -0.009436918356578944, 0.0020323967420921053, -0.008456428355526319, -2027747211842104e-19, -0.0030937144914473694, -0.011085721413078948, -0.009645654179210527, -0.014846991478947372, -0.0035684288476315797, -0.011654160063684214, -0.01581150187026316, -0.016840036789473687, 0.013057866414473684, -0.008234539141578947, 0.0053163960105263195, 0.020490004785526317, -0.00960410656486842, -0.006657243668236841, 0.010736420357105264, -0.01748494961973684, 0.0011016242359736844, 0.005718755139868422, 0.006338006613157893, 0.0038684128078947367, 0.005595157857631579, 0.017694987824210535, 0.017391755352355258, -0.003702699658552634, -0.005022188236513158, 0.01342638474771316, -0.0043205563098684206, -0.0028454328957894745, 2592531746052632e-19, -0.004767219290789473, 0.013560908384539477, 0.005906873550263159, -0.009617733145394736, 0.003591151950263157, 0.005010814367368423, 0.0012510964286842107, 0.0028993149072368417, -0.0051906266312368434, 0.00729437020368421, -0.012531499855657886, 0.020476676778750005, -0.009869155927894734, 0.0025973456112368416, -0.021903372915789476, 0.008153542140921052, -0.006835870289605262, -0.010486773017592106, 0.017626112727631586, -0.004606312977368421, -0.014957404596052633, 0.0020897874979618424, -0.004724369788980265, 0.021548606073684213, -0.0019029721914473681, 0.006200722453289475, -0.003450824262276317, -0.006826156169210524, -0.010176031075657897, 0.024789349911842107, 0.003143936896315789, -0.004955119694078948, 9158874664473686e-19, 0.0052856249526315804, 0.01390172287763158, 0.004978571828947366, -0.0032051206281578947, -0.007972612475236842, -0.007769723397631579, -0.00202725623381579, -0.003416697538776315, -0.002556709217407894, 0.0184408019, -0.01105052606855263, -0.014664148855789474, 0.003882449320657895, -0.012429670850921054, 0.013084466028552635, -0.04336451231578946, 0.0074979511960526326, -0.001663643616907895, 0.008059816289473682, -0.011445970542105267, -0.004167850928697367, -0.003230411173657895, 0.02097656965710526, -0.011578596098421053, 0.012013696860657893, 0.001233423443421052, -0.002649905661144737, -0.00883562393153947, 0.0015486095338157892, -0.010413099061842105, 0.013987708639236847, -0.0038697919174999996, 0.006219689598421055, 0.006652394345230264, -0.005381284718815789, -0.0037626181478947387, 0.01059816618401315, 0.003220842913421052, 0.0035804951468421044, 0.010183990906447369, -0.009547694365789472, 7697464371184215e-19, -0.011326520949342108, 0.036538593302236834, 9323258973684188e-20, -0.008973688185921053, 0.00706366331381579, 0.001107784416394737, -4910452642105268e-19, -6440596276315794e-19, -0.0036792987653684202, 0.003713873318157893, -0.004735835042960525, -9658112065789478e-19, -0.043979574686842084, -0.0016790318328947353, 9925788503157894e-19, 0.018722528654473682, -0.0021518665293421054, 0.0035296605411842103, 1413653897368415e-19, -0.017016988203947366, 0.004561038191973685, 0.015442165966184201, -0.007485759814473685, -0.017065918415000002, 0.009342482221710524, -0.0020734458669736835, -0.002520825664789474, -0.021231756026315784, -0.010013884122368423, 0.009265903680263157, 0.008139276791052632, -5609036057894738e-19, 0.015773905215697364, -0.001884182508960525, -0.0024270794468947356, -0.00422654353631579, 0.006008762833684209, -0.003698271740263158, 0.016081907390789473, 0.030718033629736848, -0.007108369866842106, 0.00527163336881579, -9271790684210529e-19, 0.0068789392490789456, -0.013093138075605264, -0.012924308120526315, 0.00556886656968421, 0.0033076618509210527, 0.0017935490473684217, -0.008094466807394738, -0.01079597931, 0.01151358625263158, 0.00893792486236842, 0.010344446836842108, -0.00719051074644737, 0.00572758606, 0.004846286956973685, 0.00814658403092105, -0.0010492790623684207, 0.0049120969460526315, -0.01486755767197368, 0.004852195027565792, -0.007043126832710525, 0.005356651270263156, -0.0035065615885723684, -0.005829078253026317, 0.025083412392631576, 0.0015541765726315804, -0.013320558341842105, -0.027978110792105267, -0.004866113275657896, 0.009822611491184208, -0.004338714495526316, 0.028622747207894733, 0.0056140354747368434, -0.012210432556184212, 0.0033045029190263164, -19000230480263145e-20, -0.0034141616881578937, -0.004623406075394737, 0.006392982858421052, 0.01835209741710526, 0.01747985185131579, 0.004233065692460527, 0.01626176455263158, 0.0032433631718421056, -0.011749469372421053, -0.012891163621052632, -0.01571628433157894, 0.002652207523026316, 0.004507458543026318, -0.01775668739868421, -0.03493414880657894, -0.016362935907894737, 7675142188157897e-19, 0.010285956762684217, -0.0014735680384210526, 0.011252831868552636, 9547897207894737e-19, 0.006510753468289477, 0.005189211297763158, -0.013117319414473682, 0.003801194065131578, -0.008176472670263162, -0.008538372863026316, 0.02108607474342105, 0.0037161164223684204, -0.004774306337894736, -0.0077946213527631605, 0.0024585640678947366, -0.012176232483421057, -0.012235060736184205, 0.001400212257894737, 0.0027084579294736843, 0.0068722990685526324, 0.013335502111842099, -0.005830226586052632, 0.011873504235263161, -0.013693625648026312, -0.010449696567302632, 0.011044927082500003, 0.015400494224552629, -0.009381916401355262, 0.006673642672368421, -0.0018263740446052626, -0.0021770728546052624, 0.016361497218421055, -0.01863254121315789, -0.003530500149210525, -0.03730359020723685, -0.004191118148289474, -0.0045071628236842114, 0.015596569568947373, 0.004240642962276315, -0.002759536991368422, 0.005148003131355265, -0.0069468455677631595, 0.012819585946447368, -0.003170211528815789, 0.01752115107447369, 0.009766708002105265, 0.01720768516973684, -0.01617324446578948, 0.012112183639473681, -0.021386946318421057, -19106013060526326e-20, 0.006491905236710525, 0.012694083912631583, -0.012121427248552632, 0.007453259151052631, -0.005300583340657895, -0.0034357232692105253, -0.008234549374210526, -0.0049134867761842105, -0.011864055638157895, -0.00727513381118421, -0.006225588572394736, -0.014474562209210527, -1696423735526317e-19, -0.009927942404210525, 0.005164234018026316, 0.0017515462315789469, 0.0015904607235526311, 0.007963644751578946, 0.012216724002631584, -0.009501306335068424, -0.003338244066407896, -0.013702270143026316, 3177477896842107e-19, -0.004519560832171056, 0.002465137685263159, 0.0021053644855789483, 0.01910074195263158, 0.012031324014473682, -0.0018186422331578943, 0.005212327788421051, -0.004785163042710527, 0.0021153964885526322, -0.00444928972188158, -0.0035029865, 0.0075856674897368396, -0.016637170858460525, -0.0049104649688157895, 0.004211803076513158, -8546719754210526e-19, -0.005023115469473685, 0.0029476111911842105, 0.002885427894921053, 0.004207519965584211, -0.0045995042944736875, 0.003015317669210526, -0.003959649376578948, -0.001799221694921052, -0.010122554486973682, -0.004602558039210528, 0.0013513901315789464, 3764912463157896e-19, 0.008489159527105262, 0.014707852295131572, 0.002345036650789474, -0.0032689961036842102, 0.04255329955263159, -0.014716855848684204, 0.008619987162236838, 0.008365918811578948, -0.005013759794736842, 0.004195959585499997, -0.008992120611710525, -0.009782703207236846, -0.0022335605896052625, 0.01287937127763158, -0.015554637754473693, 0.008397985909605265, 0.002251561622499998, -0.010050093168815789, 0.008956767632171053, 0.013687852065394742, 0.013600534268289477, 0.004365934441315789, -0.0030305592554868413, -0.00781057913469737, -0.004966902079605262, 0.01856187427644737, -0.0025631659986842118, 0.004677612719921054, 10226186131578904e-20, -0.014421684380263157, 0.016739205349605258, 0.0050146044172894744, 0.011911084407631578, -0.002687138399210526, 0.00960758048539474, -0.002726553521315789, -2118536161842109e-19, 0.013187813793947371, 0.009969895463026316, 0.006658861126052631, -0.0018322755946052636, -0.0017487937331578944, -0.011101524417894743, -0.032939431818421065, 0.01520578899605263, 0.0015081202571052632, -0.005066026860486843, 493556515986842e-18, 0.004060829064605263, -0.005561150131894735, 0.010997560033026309, 0.004095647503947369, 0.012622729288684204, -0.004958941837157896, 0.006538527521447367, -0.0010266161943421049, -0.004851542462973687, 0.0016268616459210535, 0.008403855759605262, -0.005476859455, -0.00812804427618421, 0.007041481924657892, 8838693684210528e-20, 0.00597193902618421, -0.00842409854263158, 0.0024697172419736856, 0.005663838686578944, 0.0036075020965789487, -0.0023292463477631578, -0.0032376719465789477, 0.021101475338026313, 26567486563157904e-20, 0.016493054231184204, -0.002458445587631579, 0.0010258956694736841, 0.00225805411368421, 0.0031990768135526323, 0.006263685490526316, -0.004572679283552632, 0.009529538310526317, -0.011298854067368422, -0.010216326432368422, -0.01634466709473685, -0.014281002560460524, 2702401223684224e-20, 0.005255444044671053, -5290619164473683e-19, 0.020079138140789477, -0.0017828449621052637, -0.012192540535789468, -0.007199579816184209, -0.00116835002625, 0.00958368675736842, 0.007733851895789477, 0.007963292808289474, 0.025216065143421052, 0.004103331857894736, 0.0030591781828947368, -0.009872114714473685, -0.004663548545, 0.004991833832105262, -0.006863926871710525, 0.001242838931578947, 0.020425079027802634, 0.012370465663815786, -0.012126274007894736, 0.010670443024473687, -0.01464566428460526, -0.0038673775906710524, 41958086710526394e-21, 0.01994244099210526, 0.015357990706842106, 0.0063989385026315794, -0.018309239200000004, 0.006747877917368419, -0.017506960167236837, 0.005670401942631581, -0.010581732321578946, 0.0011620065078947373, 0.012163235759210531, 0.006399715106223681, -0.006113071873210528, -0.0028651888345789466, 0.002149627898157895, -0.012140688709210527, -0.010713522528947373, 0.02737408816710527, 0.017518066717105266, -0.005137931570986841, 0.003589904351447368, 0.0010994190049210533, -0.004798525595026317, -4554749059210497e-20, -6981043210526358e-20, 0.017134092135131583, 0.012083527265789476, -0.049615527359210515, 0.005816751165736842, 0.01857131190000001, 0.02351225466336842, 0.01219104790131579, -0.0010487995125921048, -0.0044726659714473685, -0.001028941063157895, -0.005443464117499998, -0.00634262967868421, 0.010381099005263152, 0.001703392962105263, -0.009139037917894735, 0.009512460323684208, 0.008586436496315792, -0.025455710537105262, -0.009792295319078947, -7742059002744737e-19, 0.018877256644736842, 0.038857334956578955, 0.003912381590921053, -0.008361733056842105, 0.016590833038421057, -0.005869556491710525, 0.009990736888552633, 38346460510526274e-20, -0.016626637246578948, -0.012364668933289474, 0.0018547245361842113, 0.006512999228605265, -0.001085481154868421, -0.009963445404999997, 0.004301809971973684, 3661409990131576e-19, -4224867659394737e-19, 48160601578947393e-20, -0.007223044006763162, -0.026113254673289465, -0.0013004677222368422, -0.0017831314044736836, 0.01561539529144738, -0.0066719939618421036, -0.00877529002351316, 0.006605579253289475, 0.005603149853552632, -0.007193712031578948, -0.0016247132320263158, -0.012534181940394738, 0.017229109368421053, 0.00245370861631579, -0.006031722248552632, 0.0031117475930263158, 0.0043886369376315805, -0.0024453895729249996, 0.00690473798328947, 40740072210526353e-20, -0.0031424490643421057, 0.019926203121315794, 0.012182200482894739, 0.008118145491578951, -0.005559053631315788, -27164370357368446e-20, -0.003351124758092105, 0.005957678860368421, -0.008513101869473681, 0.007304541067499999, 0.019957336234210518, -0.0030209489469736834, 0.004469626572763158, 0.012090736671578948, 0.01514115723331579, 0.0042360726635526326, -0.010162506523684207, -0.002649304801184211, -0.007750173208749997, 0.0019587431771447374, -0.027095424518421053, 0.0066075871005263145, 0.00536601891631579, -0.0010357673420394737, -0.003466868494342106, 0.014316960686578954, 0.0023369776231578956, -0.0053653818119210545, -0.007858214859999999, -0.013146294391315785, -0.0018566735342105262, -0.009514895538421051, -0.0036132000074342112, 0.0034368430490789486, -8554010195394731e-19, -0.0032387031372368437, 0.00244777456131579, -0.006286163061842106, 0.011771267721710532, 0.023035620363157896, -0.0043442739443421054, -0.009922730226315792, -0.004276738937499999, -0.0035189323507894745, 0.0039030267724473704, 0.014395429023592102, -0.0012053757906578947, -2897619489473682e-19, 0.007045867771144736, 0.007517767199210526, 0.007418771915644738, 0.010169157498289476, 0.00706302323276316, 0.013311043676250002, 0.003038169512894737, 0.0033463043809210517, 0.001753204881197368, -0.0074550630986842115, -0.03247426388684211, -0.014712809272763156, -0.01257650307744737, -0.005583758863815789, -0.010988394333684212, -0.01094829823105263, 0.014527793146184208, -0.01726736960019736, -0.0011412191313157898, -0.003875160005921052, 0.0054491025328289484, 0.00764098283223684, -0.01397128377631579, 0.020156240986078953, -0.018178711318157893, 0.007760771186842106, -0.012693300230263159, 0.0034562666953947383, 0.017623470872368423, 0.01328646389205263, 0.006033057996184212, 0.0021477171030263157, 0.004209592630394737, 0.022607883206578958, 45995770960526315e-20, 0.004256902114473686, 0.007727120836526311, -0.011495399911315795, -0.006097572578026317, -0.003288532194342106, 23524967355263143e-20, -0.01843602415421052, -0.006332212189999999, -0.007104603521578947, -0.006046406687763155, 0.0031444280434210527, 0.011026709301315791, 0.007965343235657892, -7478460321052628e-19, 0.010399411723157894, -0.003222595633552633, 0.0013722621246052631, -9306063203684211e-19, -0.008244672536447365, 0.010224801592763153, 0.011236862973157893, 0.002438936607828946, -0.0011834995152631578, -0.007761896696973684, -0.006536142010526313, -0.004305835025789474, -0.006375306423552633, 0.002894340127526317, -0.007056530478157897, -0.006344087711473684, 0.012371267300526317, -0.008661172924210528, 0.016608231906578945, 0.006209598555605264, -0.0049610081385394736, -0.006289596580421053, -0.008653004873157896, 0.006589724684342105, 0.0042221396663157905, -0.024205309596052636, -0.007927559016842107, -0.0036796517148684213, -0.010860645916842101, -0.001776141146973683, -0.0066375001164473675, 0.002395305515921052, -0.014593319744736844, 0.00733454749668421, 0.0019130213015789476, -0.02945044170131579, 0.0021041659146052625, -0.002779561371539474, -0.020078335207894735, 0.003642550809710527, 5936502644736846e-19, 0.00325616999868421, 0.017399437181578953, -0.06370752007631578, -0.003701780296631579, 0.007564594753552632, -0.00405948423839737, 0.0015840840405263162, 0.005836310675263158, -0.012381032086315788, -0.004665367583947368, -0.0010173959317894734, 0.005156387308802632, -0.0165339495006579, 734178938157895e-18, 0.024508261125789473, 0.01724277075526316, 0.008913617889078948, 0.018123411353289477, 0.019972735151315802, -0.015223236485526315, -0.011504417352105265, 0.010046699026184209, -0.009774468743421052, 0.014051472367763159, -799595632236844e-19, 0.015914003425263158, -0.010235261282894738, -0.012426796318973685, -0.00529559477105263, 0.0032275154818421047, -0.012022474961184216, 0.004842165463157897, -0.012777494966842105, 0.007940708949736842, -0.010386868507894734, -0.012277893373289472, -0.01469461501513158, 6472758955460526e-19, 0.011309826192631581, 0.0014896182946052632, -0.0018290806492105261, 0.004781091154078948, 0.009413893570921053, 0.00916419533118421, -0.002920155307368421, -0.004322433785789473, 0.010922147476842106, -9692939010657897e-19, -0.00471161965105263, 0.0022456688428947364, -0.01511019358289474, 0.01469485253026316, -0.0034939871920921027, 0.005169176186973684, -0.004767383189802632, -0.004363123971710525, 0.008160435356184211, 0.008593854647631578, -0.014373928093157892, 0.012998453866184211, 0.012818183890921054, -0.0012967544054736846, 0.018860078121447365, 0.011299536434868421, 0.010162780092499995, 0.010768595093881578, 0.006929429669736845, -0.009301306071052631, -0.001229964434210526, 0.022915811622105268, 0.005473494591263157, 0.01684595049736842, 0.0068085582832894745, -0.009735548395394736, -0.008009809031052632, 0.00818278650394737, -0.00514607482631579, -0.0017882432596052638, -0.003795041893157895, -0.0028177598829473675, -0.009401223562894738, -0.015638386469736837, -0.013144470036842108, -0.0025362829124999987, -0.015570190517552634, 0.0072135779351315795, -0.0033293784007894737, 0.0033921677573684203, 0.0171126722368421, -0.016200724738157896, 0.002023070578552632, -0.005874176478421054, -0.007982894414539473, -0.01305297109342105, 0.013835959466144737, -0.007678114530657894, 0.0016565042665789473, -0.0029898593556578947, 0.018475673282499997, -0.004774599107368421, -0.01045985660768421, 5002329298684213e-19, 455613157105266e-19, 0.012770474667763154, 0.0036531933109210527, -0.006355904673157896, -0.00323254957336842, -28950164197368423e-20, -0.0016983754679473682, -6461348456578951e-19, 0.011579839645394736, 3174967802632419e-21, -0.009248690072105265, 0.010413905775572371, 0.00742944108473684, 0.00453180122631579, 0.01615883042802631, -0.0032757992935526312, -0.0038371938214394738, -0.002908959269342105, 0.009208926093951316, -0.0014955339189473683, -0.013758465006973683, -0.0063294295475, -0.005727852496578948, -0.005272904527105263, -0.001316834533684211, -0.01645172019144737, -0.007092707085578947, -0.003522257189605263, -0.013505265605263156, -0.011881032946052632, 0.011369551982828954, 44452595263157905e-21, -0.006352405066578949, 0.0052995613325, 0.009505844287763156, -0.006053228503013156, 0.006845024962368421, -0.011510292038552633, -0.0032177408799999997, -0.004505434028289475, 0.004123595264342105, 0.006593527555000002, -0.011078657794605259, -0.014011584826078945, 0.0029858133488157895, 4344722920789474e-19, 0.008640971361973684, 0.006481291948157893, -0.005891967694342105, 0.008448872632763157, 0.016859102106052633, 0.0014603208068421055, 0.005249472965605262, -0.00686901125013158, -0.010637044371578948, 0.011924648195789474, -0.0058005032065789495, 0.015501499024999997, -0.006453810105921054, -0.002997035320473683, 0.018575800172368425, -0.008515451444736838, 0.012462028264473679, -0.003774380357539475, -0.0019450062711842105, 0.00391133496173684, 0.004730433910526316, -0.001315982468776316, 3232796018157894e-19, -0.0066704201258026286, 0.00680665693223684, -39029438710526344e-20, 0.005489703965131578, 0.008671756791842107, -0.012851425032368417, 0.003147755206052631, 0.0026194010623684216, -0.007664137591973682, -0.011883636635, 0.004133208043763159, -8303924315789413e-20, 0.003270837395131579, -0.005892774992763157, 0.012238801593815785, 0.006942355931973683, 0.02878469881921053, 9479045131578946e-19, 0.0017351399474736847, 0.008778382914078947, 0.0010939997295263163, 0.0030465893436842097, 0.014783142862368417, 0.01642540962717105, 0.0036857923714473675, -0.015363344993026315, 0.009919231350263158, -0.011551756493421059, 0.0023134715465394744, 0.011385295549473687, 0.013802586752105264, -0.01116167753921053, -0.003641126586684211, -0.013648889441184206, 0.014234762527368418, 0.002806655006105263, -0.013499138960736849, 0.005006243019473683, 0.015739427460526312, -0.0027175753445131574, -0.010932971389473686, -0.010770135974552631, 890700216526316e-18, -0.012623942286842103, 0.016124839350000003, -0.002831514939934211, 0.012697006429342104, -0.007019076696973686, -0.006475317798065787, 0.007137869946052634, 0.006031961175105265, -0.00705848445763158, 0.0033737443014210527, -2768167815789512e-20, 0.017694467707894734, 0.006258390639605262, -0.002385706069394737, 0.003583886412894737, -7993168968421051e-19, -0.01620972400113158, 0.01370171146118421, 0.00461520679318421, -7547631113157896e-19, 0.002939954357631579, -0.006845462558289473, 0.007328082212763157, 0.007676322326467105, 0.004349595261973684, 0.015829044343197374, -0.00368448221881579, 5303418106447364e-19, 0.0026827215614473685, -0.008580460431710527, 0.005024989097499999, -0.003635687485394737, 0.002272944439315789, -0.006124602738289472, -0.016172138838026325, 0.015377584130394738, 0.010782426606184206, -0.021383269930657894, 0.005706450336052631, 0.0018523320315789475, 3522892494736843e-19, 0.004350316041157894, 0.005934959479144734, 0.01708160452131579, -0.007678650551447369, -0.0033582777418421053, -0.017157569269684224, 0.007354085403947371, 8351606031578944e-19, -0.005335390844342104, -0.002535301282368421, 0.014636234615921057, 0.004858749898355263, 0.007662922150526313, -0.0016256868378026308, 0.01556731267368421, -0.005104593538289476, -0.019748377389473677, -0.013980995652631582, 0.00946453539263158, -0.008415238208421055, -0.011370187082631577, -0.024026692542368423, -0.028569824043500013, -0.004478069888947369, 0.0031515005953947363, -0.002700122834605264, 0.00815917739855658, -0.00445320840494737, 0.006830579967631578, -0.006684497927105263, 0.010432664122105263, -0.014661140320368424, -0.006587801074605265, 0.007357709939078946, -0.005931698591973684, -7732484365789474e-19, -0.002239530471052632, 0.007788843097894735, 0.0064669147390789454, -0.0030537573617631575, 0.017894125887236843, 0.014577202200000002, 0.0015132674616710532, -0.0057732834064473685, -0.0027821142750131585, -0.01908095769276315, 0.009781772397894737, 0.009500178334210524, -0.08152622444736843, 0.008212754039473679, -0.01767476994144737, 0.0026395801725000003, 0.0014657673559210526, 0.007638076904605263, 0.004058115665973685, 0.0035145148113157896, -0.011827003826315791, -0.0027065570113157895, 0.0023756798456578943, 0.008448311618421052, 0.017983404865789466, 0.016279126637631577, -0.0012591387876315795, -0.01015563660263158, -0.007210258607868422, 5225580767105262e-19, 0.008399898934210526, 0.005169876301250003, -0.0054817867677631575, 0.004851883672052633, 8781897375131572e-19, -0.004407749175657896, -0.0037234890038684225, 0.010837226267236846, -0.008299530855789473, 0.012997853572105266, -0.017374133039473685, 0.01771941214802632, -0.010850383854999996, -0.0025922976049605273, -0.005014948546052633, 0.001572493777631579, -0.009683719784736844, 0.003544048853289474, -0.005399044507894736, 0.0019298673893421046, 0.008562550747213162, 0.007685438104276315, 9653876659736838e-19, 0.006209795067934209, -0.007815720736421053, 0.01339235502684211, -0.014595927550000002, -0.001961306322894736, 0.01755357029118421, 0.009892284107105262, -0.004357266436710526, -0.024933551971052636, -0.008265622360263156, 46308488684210446e-21, 0.008073451047105263, -0.006002720232921055, 0.00960784907105263, -0.008960232250921057, 0.009452138660526316, -1669984473684197e-19, 0.006347901398026315, 0.006253983917105261, -0.001933425444473684, -0.010605378191710526, 0.0017956876511842107, 0.010316846388552634, -0.006851734682407896, 0.017523879366710526, -0.003045540768026316, 0.021021487419736837, -0.00978115143263158, 0.007848767184210523, 0.008862482220921052, -0.01242224652736842, 0.0013790572871052633, 0.014478706237421052, -0.008613721365578947, 8338612144736844e-19, 0.003780419830131578, 0.00346602358868421, 0.01269026605723684, 0.009463772316851317, 0.012594825682894736, -0.0069123792341578925, 0.0013869928297368425, -0.012008816909210525, -0.005822936399078947, -0.016418475083815786, -0.010629006791973683, 0.008168218550394738, 0.00664607999610526, -5069868140000001e-19, 0.004181848071447371, -0.0011114877839473682, 0.02246608591315789, -0.0034439313037368416, -0.004351277874210527, 0.0014461106753947362, -0.009660680614197373, -0.005408365936052628, 0.01752714284907894, 0.008516543233210525, 0.002278526259736842, -0.006875266473026315, -0.0069421802624999975, 0.013035910887894736, 0.0015391923593421058, 0.0012664572747368423, 0.0011414591399473686, -0.0037214528182894745, 0.015104741671868427, -0.013068065997078947, -9741302530000001e-19, -0.0033918721798684216, 0.005097137174605263, 0.004477671593026316, 0.006166728530789473, -4620546571052633e-19, -0.00529603509618421, 8418184122421051e-19, -0.0012031493919868418, 15712514144736853e-20, -0.0019224767417105261, 0.005464992050000003, 0.004573905729556577, -0.005107717659999997, -0.001779724216276316, 0.0062555419631578945, 0.014157424513157893, -0.002229668639710526, -0.004112240003421051, -0.008737391783947368, -0.01772272931749999, -0.011969726380789475, 3489228665526319e-19, 0.008398761923223683, 0.006083781918289473, 0.0038491992196052634, 0.006757484750263158, -0.0033988848290789457, 0.010786320785381581, 0.007709229539986843, -0.0027759906160526315, 0.01513786151671053, -33675679921052606e-20, -9034154792105268e-19, -0.006730010358421051, -0.0038794277310526316, 0.011774508437552627, 0.0075108212575000005, -5415923363157894e-19, -0.010228818563289476, -0.004567732969605264, -0.006103785833947367, -0.007408031901286839, -0.0032699436107894737, -0.007860791874210528, 0.01599756300842105, -0.016585482788684217, -0.008410989815789471, -0.0024622896271447366, -31383816486842115e-20, -0.006790721234210526, 0.0037121541342105256, -0.009942839455, -0.012361527721052628, 0.019747696744736844, -0.004605994977907893, 0.0033676318580263156, 8737887935394738e-19, 0.002211198596144737, 0.010937877776315795, -0.01129901567118421, -8168034689473677e-19, -0.009641223938421057, 0.009402437952631576, 0.0056297516052631605, -0.0010065862368421055, -0.02594543341447368, -0.0011355776477631582, -0.011891248669605264, -0.00839228417031579, 0.007896343589210524, 0.007322515729342106, 0.0033040433167105263, 0.003778204579868421, 0.011096790547631581, -0.0015593353430263153, 0.014356465188157893, -0.006630788594118421, 4828352872894737e-19, 0.0010450569010473684, -0.007027775473815791, -0.006984254253157892, -0.00792534963342105, -0.00162584528, -0.006522221855263158, 0.01805963293197369, -0.004809070690789476, -0.01814591389078947, -0.005865267296828947, 0.003988285848684209, -0.008169152964999999, -0.008437095909210527, 0.009360843043815788, 0.030021375652105258, 0.007297060365657896, -0.0023612295406578963, -0.01073050399763947, 0.0019045162401315795, 0.00651718905263158, 0.0010275199546052635, -0.006277306921263158, 0.0012021913027105262, -0.011182417592105264, -0.002024020123421053, -0.006231476668342106, 4796000135526314e-19, 0.006449109247355262, 7456603261184208e-19, -0.005144762157460526, -0.0021357675948684212, -0.01883197047171053, -0.025576503247368407, -0.013539074083421053, -0.011034470814473686, 0.0024368244498684222, -0.002245899774736842, 0.007094408709210526, 0.0012029363072368422, -0.009510369465000001, -0.012366834156578943, 22163493250000016e-20, -864950124473684e-18, -0.0054156288555263134, 0.005750937247368423, 0.003270796098421053, 0.002449161180921053, 52041173618420834e-21, 0.010704513787500002, 0.001962141009605263, 0.004546446430526313, -0.009514348226710524, 0.013900074301842112, 0.007515311701355261, 0.0035688571342105263, -0.0031417825293421063, 0.013631733623026311, 0.004473217585789474, 0.022099065907894736, -0.010242928179605263, -0.021115605811315788, -0.0020430657981592103, -0.004960829025921049, 6026669513157779e-20, -0.004585000899605264, -0.004475863079315788, -0.004507509982368421, 0.012760686508684211, 0.0035079304818421055, 0.0043142242481578955, -0.0037753994023157884, 0.009972505233289472, 0.004257388717499998, 0.0037933767182894737, -0.003782828635039474, -0.016245113222631585, -0.0067635378846052615, 0.001699853626842106, 0.0049727823532894734, -0.0026726438017763156, 35606309460526324e-20, 0.0014221154155263163, -0.006753894785657897, -0.0021303370428947363, 0.0020290390381578942, 0.0065541381115789485, 0.005578077509210527, 0.00597834956631579, -0.015656070957894737, -0.005700937814868422, -0.003300278165210526, 0.0010437032015789478, -0.006081244438026316, -0.012030119331578949, 0.008609655173684212, -0.012421846317171054, 0.0038849181815789487, -0.003441401350921053, 0.005337632936842106, -0.00501430082631579, 0.007684295191355262, -0.018589622549210528, 0.0020294963380921055, -0.01736990133552631, -12342767794736842e-20, 0.013101640196631579, -19718100105263185e-20, 0.00191136175070921, 0.002991744120394736, 0.005360340401578948, -0.002541910205657895, -0.011420830478947371, 0.0025571802081578946, -0.007654641906842104, 1324760923026315e-19, 0.009839589908289474, 0.014137809323684214, 0.005973617257894737, 0.0044086344710526325, -0.007683909966710525, -0.014283573396973682, -0.015558832550000004, 0.006422352959605265, 0.0015610042364473677, 0.005954876463289471, 0.01747821746710526, 0.012649821948026316, -0.00588777466013158, 0.00278459120360921, -0.0027093084425131573, 0.00528561605, -0.0013567440365789465, -0.0036329947868421046, -0.027717547824078946, -0.009446810628947372, 0.0016673699111842107, 0.01964425766578947, -0.00695099289526316, 0.01540288453881579, -0.0017949823404736845, -0.0017532934771052637, 0.011818318206578948, 0.0014771281863157897, 0.010423521287236842, 7254289103947369e-19, -0.004566167288026315, -0.003529428743197369, 0.0011952240294736843, -0.003898400712605264, -0.010473680018684213, 0.00285922366139474, -0.006599853688026317, -0.02107415088815789, 0.0052880693118421045, 0.006744707181578948, -0.00798451460657895, -0.004557204219868423, -0.01156681187255263, 0.0076239759752631635, 0.0035902046968684207, -0.012573743979605262, -0.003764909397236842, 6335979498684211e-19, -0.003016045632947368, 0.0018927498906578949, 0.007497210715789474, -0.005934193091907899, 0.0035080823515789466, -0.0018217714548684216, -5523007649828952e-19, -7058270163815789e-19, 0.012370342157368423, -15139791644736762e-21, -0.013432961709210524, -4939559349999998e-19, 0.010054779912499996, -0.001919280470486842, -0.0013844150172368421, 0.007696783919605264, 0.008991117240473684, -0.007747281024078945, -0.004739962277894735, 0.007187543989473684, 0.003015955778815791, -0.001928289877644735, 0.004620562280552632, -0.0014514659089473684, -0.020361874824473686, 0.010851485952894735, -0.0048367870628947375, 7418370901184215e-19, 0.003954019490328949, -0.0036905010957894754, 0.005135467446315788, -7641653630263166e-19, 0.002803192092157894, 9011874512236843e-19, -0.006852827178236843, -0.009182144093157896, 6662634763552632e-19, 0.003859204278289474, 0.002627766069263158, 16687577934210564e-20, -0.004155122549868421, 0.007481256317894739, 0.010201827506842105, -0.02001931662526316, 0.008597913657499998, 0.009211417565, -0.003000300423684211, 48565491249999974e-20, -0.006839893910657894, -0.0024400726705263165, 0.0018072735346052636, -0.019441373660526323, 0.008917724683289475, 0.006977527517447371, 0.0012267423015789476, 37295210526322205e-22, -0.03201578951578947, 0.0014607340267894736, 0.010337255695263156, 0.002957082175947369, 0.009742125079473684, 0.0062952107691315795, 0.010293411451381573, 0.007467224718026317, -0.01702668064539474, 0.005315579784210528, -0.03403872432368421, -0.0036593492817105257, -0.013481478045789471, -0.005543817282105263, 0.0024990400036842106, -0.005272580224539472, 0.009082922817368418, -0.001777538198289474, -0.00401194444394737, 0.00793982549736842, 23839166631578926e-20, 0.005703706245131579, 0.0032615849919210536, 5623444232236841e-19, -0.009299548110394735, 0.0010441157952631576, -0.012694072275263158, 0.004126734016842105, -0.001088491213815789, -43924066513157913e-20, -0.006497900055789475, -0.008375932914473687, 0.006604953940657895, 0.008322977985131578, 0.0014929076139473686, -0.005037357923289473, 0.001687304174736842, 0.005036407010486843, 0.002468036690526316, 0.0014052489157894733, -0.0022257209973684214, 0.005458085299473683, 0.009009774955749998, 0.0858067330657895, -0.007581642367631578, 0.01083994584868421, -0.0022605711906578943, 21345696315789494e-20, -0.005091092415263156, -0.0064649052059342115, -0.0031673467632894734, 0.007837809513026317, -0.0048379660456749985, 0.003358471353947369, -0.007209436236315789, -0.004074764670526317, -0.002432236466131579, -0.001538101053328947, -0.003958276178197368, -0.001431222515394737, -0.002890863070263158, -0.005015565842105263, 0.006637256008947367, -0.01610401879026316, 16318058486842113e-20, 0.006704906538815789, -0.00704305531026316, -0.006291144144078946, 0.00933739933177632, 0.003039505811973684, -0.002349317244736842, 6161272673684213e-19, 0.011576436187894739, 19294986634210533e-20, -5418114680263158e-19, 0.002641153911184212, -0.00675274457026316, 0.008304665786171056, 0.001867557076842105, 0.007009144105789473, 37644492855263173e-20, 0.008968001444210526, 0.0015434073640789474, 0.005244117515263159, 0.0029953329880263156, 5347106021052633e-19, 0.004156591307368421, -0.0022211070997368424, 0.0034716415264473685, -0.0065318866889473685, 977989682631579e-18, -0.0014095522748684215, -0.006451674766447366, 0.0032100871473157893, -0.005529904199539473, 0.0059584155557894725, -9850399996052639e-19, 0.006995684919078948, -0.0022856163722368393, -0.01090589053710526, 0.009130581944078944, 0.00312594295013158, 0.007374450093421053, 0.0025797777251710522, 29641350526315737e-21, 0.001176881737763158, -0.014572063391447372, -2289824355263157e-19, -0.004469249211710526, 0.007769186374868425, -0.002506505231434211, 0.006041142717631577, -0.002120238433026316, -0.009695580013552628, -0.005020087666881578, 0.005143053156315791, 0.007150294719789475, 0.0023021195396710527, 0.003707133851447368, 0.006069693725921051, -0.00467861785710526, 0.02125906401236842, 9268083446052627e-19, -0.003634692288684209, -0.003680463652815789, 0.0040336247021052615, 0.0013372253536447368, 0.0021130635865789465, -4880915286842109e-19, -0.012233446567342104, -0.004310965072894738, -0.01132869828552632, -0.006841497305263159, -0.0016422147394736845, -0.002537146005289474, 0.003615671777368422, 0.00814799093118421, -0.005056491793263158, 0.013174237758684208, 3394553878157892e-19, -0.008489372885473684, -0.0027938550723684203, 0.0030627760844078957, 9348454796052637e-19, 0.004848255386842105, -0.0117739507, -6810965494736843e-19, -0.002880153715, 0.008861613728178947, 0.0033199058337500006, -0.003612675859078948, 0.002928360304065789, 0.0039185375651315775, -7332073442631576e-19, -0.0012935513150789466, 0.004886879997894738, 0.007781129023552632, -0.004267412731052632, -0.003639562495460526, 0.00523262424868421, -0.003657068880394737, 0.005125610617552631, -0.004419953952236842, -9843244355092107e-19, -2347114171052623e-20, 0.0016072527152631584, 0.003128275799539474, 4279722777368421e-19, 0.006050774428552632, -0.004237210059210528, -0.0025468053725000005, 0.0026924242311184205, -0.02019396686092105, -0.005761839523684209, -0.009751797271973686, 0.011594078876973685, 9348787827236843e-19, 0.014106164205263163, 6055481813026316e-19, -7440742407894764e-20, -0.005227106624868422, 0.013380218100789466, 0.008165820871447366, -4882895227631577e-19, -0.0010533377903157893, -0.0016510250091447362, 0.0018723641477631577, -0.004344320649736843, 0.002451466830486842, 0.003751309517368421, -1192675066447369e-19, 5871760036842106e-19, 0.00721447406936842, 0.003513352502315789, 0.009986706387763158, -0.003577922982105263, -0.006272508934210527, 0.00939798507907895, 0.005559408675131579, -0.004530027807368421, 0.008267799573289474, 9763903811842103e-19, 6323663030263157e-19, -0.018563745183684206, 0.003477922045657895, 0.0034454675522368416, 0.0022030032148815794, 9718481634210526e-19, -0.006363050955000002, 0.009044980506973683, -0.007551598236973688, -6711054927894736e-19, -0.0013286158334210524, 0.0017464641878947365, -0.011715851191973686, -0.005520589822500002, 8535201651315791e-19, 0.010038929649605262];
5677
5678
 
5678
5679
  // src/lib/chat/preProcessor.ts
5679
- function wrapAsUserText(prefix, text12) {
5680
- if (!text12 || !text12.trim()) return [];
5680
+ function wrapAsUserText(prefix, text13) {
5681
+ if (!text13 || !text13.trim()) return [];
5681
5682
  return [{ role: "user", content: [{ type: "text", text: `${prefix}
5682
- ${text12}` }] }];
5683
+ ${text13}` }] }];
5683
5684
  }
5684
5685
 
5685
5686
  // src/lib/chat/cryptoPriceClassifier.ts
@@ -5718,6 +5719,80 @@ function createCryptoPricePreProcessor(options = {}) {
5718
5719
  };
5719
5720
  }
5720
5721
 
5722
+ // src/lib/chat/reservationReceipts.ts
5723
+ var ACTIONS = [
5724
+ {
5725
+ kind: "booking",
5726
+ tool: "anuma_book_restaurant",
5727
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_BOOKED:/
5728
+ },
5729
+ {
5730
+ kind: "cancel",
5731
+ tool: "anuma_cancel_reservation",
5732
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_CANCELLED:/
5733
+ }
5734
+ ];
5735
+ var NOT_AN_ATTEMPT = /^Tool "[^"]*" (has already been called|was already called)/;
5736
+ var BOOKING_OUTCOME_UNKNOWN = /^Tool "[^"]*" failed: BOOKING_OUTCOME_UNKNOWN:/;
5737
+ var CANCEL_OUTCOME_UNKNOWN = "CANCEL_OUTCOME_UNKNOWN";
5738
+ function extractReservationReceipts(toolCallEvents) {
5739
+ const latest = /* @__PURE__ */ new Map();
5740
+ for (const event of toolCallEvents ?? []) {
5741
+ const action = ACTIONS.find((a) => event.name?.endsWith(a.tool));
5742
+ const output = event.output ?? "";
5743
+ if (!action || !output || NOT_AN_ATTEMPT.test(output)) continue;
5744
+ const kept = latest.get(action.kind)?.status;
5745
+ if (kept === "made") continue;
5746
+ const receipt = toReceipt(action, event.arguments ?? "", output);
5747
+ if (kept === "unknown" && receipt.status !== "made") continue;
5748
+ latest.set(action.kind, receipt);
5749
+ }
5750
+ return [...latest.values()];
5751
+ }
5752
+ function toReceipt(action, argumentsJson, output) {
5753
+ const args = parseObject(argumentsJson);
5754
+ const result = parseObject(output);
5755
+ return {
5756
+ kind: action.kind,
5757
+ venueName: text(args.venue_name) ?? "",
5758
+ day: text(args.day) ?? "",
5759
+ time: text(args.time) ?? "",
5760
+ partySize: count(args.party_size),
5761
+ reservationId: text(result.reservation_id) ?? text(args.reservation_id),
5762
+ resyUrl: text(result.reservations_url),
5763
+ feeSummary: text(result.fee_summary),
5764
+ ...outcome(action, output, result)
5765
+ };
5766
+ }
5767
+ function outcome(action, output, result) {
5768
+ if (action.alreadyDone.test(output)) return { status: "already_done" };
5769
+ const reason = text(result.error);
5770
+ if (action.kind === "booking") {
5771
+ if (BOOKING_OUTCOME_UNKNOWN.test(output)) return { status: "unknown" };
5772
+ const held = result.success === true || text(result.reservation_id) !== void 0;
5773
+ return held ? { status: "made" } : { status: "not_made", reason };
5774
+ }
5775
+ if (result.error_code === CANCEL_OUTCOME_UNKNOWN) return { status: "unknown", reason };
5776
+ const cancelled = result.success === true && !result.error && !result.error_code;
5777
+ return cancelled ? { status: "made" } : { status: "not_made", reason };
5778
+ }
5779
+ function parseObject(json4) {
5780
+ try {
5781
+ const parsed = JSON.parse(json4);
5782
+ return parsed && typeof parsed === "object" ? parsed : {};
5783
+ } catch {
5784
+ return {};
5785
+ }
5786
+ }
5787
+ function text(value) {
5788
+ if (typeof value === "number") return String(value);
5789
+ return typeof value === "string" && value ? value : void 0;
5790
+ }
5791
+ function count(value) {
5792
+ const n = typeof value === "string" && value.trim() ? Number(value) : value;
5793
+ return typeof n === "number" && Number.isFinite(n) ? n : void 0;
5794
+ }
5795
+
5721
5796
  // src/lib/chat/resumeStream.ts
5722
5797
  init_clientConfig();
5723
5798
 
@@ -5726,6 +5801,46 @@ init_clientConfig();
5726
5801
 
5727
5802
  // src/tools/confirmConstants.ts
5728
5803
  var CONFIRM_TOOL_NAME = "prompt_user_confirm";
5804
+ var BOOK_RESTAURANT = {
5805
+ tool: "AnumaPaymentsMCP-anuma_book_restaurant",
5806
+ status: "confirmed_not_booked",
5807
+ fields: ["venue_id", "config_id", "party_size", "day", "venue_name", "time"]
5808
+ };
5809
+ var CANCEL_RESERVATION = {
5810
+ tool: "AnumaPaymentsMCP-anuma_cancel_reservation",
5811
+ status: "confirmed_not_cancelled",
5812
+ fields: [
5813
+ "reservation_id",
5814
+ "venue_name",
5815
+ "day",
5816
+ "time",
5817
+ "party_size",
5818
+ "fee_applies",
5819
+ "fee_amount"
5820
+ ]
5821
+ };
5822
+ var CONFIRM_REQUIRED_FIELDS = /* @__PURE__ */ new Map([
5823
+ ["book_restaurant", BOOK_RESTAURANT],
5824
+ ["anuma_book_restaurant", BOOK_RESTAURANT],
5825
+ ["anumapaymentsmcp-anuma_book_restaurant", BOOK_RESTAURANT],
5826
+ ["cancel_reservation", CANCEL_RESERVATION],
5827
+ ["anuma_cancel_reservation", CANCEL_RESERVATION],
5828
+ ["anumapaymentsmcp-anuma_cancel_reservation", CANCEL_RESERVATION]
5829
+ ]);
5830
+ function confirmRequirement(action) {
5831
+ if (typeof action !== "string") return void 0;
5832
+ return CONFIRM_REQUIRED_FIELDS.get(action.trim().toLowerCase());
5833
+ }
5834
+ function missingConfirmFields(action, parameters) {
5835
+ const requirement = confirmRequirement(action);
5836
+ if (!requirement) return [];
5837
+ const shown = /* @__PURE__ */ new Set();
5838
+ for (const parameter of Array.isArray(parameters) ? parameters : []) {
5839
+ const { name, value } = parameter ?? {};
5840
+ if (typeof name === "string" && typeof value === "string" && value.trim()) shown.add(name);
5841
+ }
5842
+ return requirement.fields.filter((field10) => !shown.has(field10));
5843
+ }
5729
5844
 
5730
5845
  // src/lib/chat/toolLoop.ts
5731
5846
  init_redactor();
@@ -8427,13 +8542,13 @@ var StreamSmoother = class {
8427
8542
  /**
8428
8543
  * Add text to the buffer. If smoothing is disabled, passes through immediately.
8429
8544
  */
8430
- push(text12) {
8431
- if (this.destroyed || !text12) return;
8545
+ push(text13) {
8546
+ if (this.destroyed || !text13) return;
8432
8547
  if (!this.enabled) {
8433
- this.callback(text12);
8548
+ this.callback(text13);
8434
8549
  return;
8435
8550
  }
8436
- this.buffer += text12;
8551
+ this.buffer += text13;
8437
8552
  this.ensureTimer();
8438
8553
  }
8439
8554
  /**
@@ -8444,9 +8559,9 @@ var StreamSmoother = class {
8444
8559
  if (this.destroyed) return;
8445
8560
  this.stopTimer();
8446
8561
  if (this.buffer.length > 0) {
8447
- const text12 = this.buffer;
8562
+ const text13 = this.buffer;
8448
8563
  this.buffer = "";
8449
- this.callback(text12);
8564
+ this.callback(text13);
8450
8565
  }
8451
8566
  this.resolveDrain();
8452
8567
  }
@@ -8513,9 +8628,9 @@ var StreamSmoother = class {
8513
8628
  const currentSpeed = this.getCurrentSpeed(elapsed);
8514
8629
  const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
8515
8630
  const toRelease = Math.min(charsThisTick, this.buffer.length);
8516
- const text12 = this.buffer.slice(0, toRelease);
8631
+ const text13 = this.buffer.slice(0, toRelease);
8517
8632
  this.buffer = this.buffer.slice(toRelease);
8518
- this.callback(text12);
8633
+ this.callback(text13);
8519
8634
  if (this.buffer.length === 0) {
8520
8635
  this.stopTimer();
8521
8636
  this.resolveDrain();
@@ -8719,6 +8834,7 @@ function getToolName(tool) {
8719
8834
  }
8720
8835
  function toolsAfterConfirmation(apiTools, executionResults) {
8721
8836
  const members = /* @__PURE__ */ new Set();
8837
+ let keepConfirm = false;
8722
8838
  for (const r of executionResults) {
8723
8839
  if (r.name !== CONFIRM_TOOL_NAME) continue;
8724
8840
  const answer = r.result;
@@ -8726,11 +8842,12 @@ function toolsAfterConfirmation(apiTools, executionResults) {
8726
8842
  const setName = CONFIRMED_ACTION_TOOL_SETS.get(answer.action.trim().toLowerCase());
8727
8843
  const set = BUILT_IN_TOOL_SETS.find((s) => s.name === setName);
8728
8844
  for (const member of set?.members ?? []) members.add(member);
8845
+ if (missingConfirmFields(answer.action, answer.parameters).length > 0) keepConfirm = true;
8729
8846
  }
8730
8847
  if (!apiTools.some((t) => members.has(getToolName(t) ?? ""))) return void 0;
8731
8848
  return apiTools.filter((t) => {
8732
8849
  const name = getToolName(t) ?? "";
8733
- return members.has(name) || name === CONFIRM_TOOL_NAME || name === TOOL_SEARCH_TOOL_NAME;
8850
+ return members.has(name) || name === TOOL_SEARCH_TOOL_NAME || keepConfirm && name === CONFIRM_TOOL_NAME;
8734
8851
  });
8735
8852
  }
8736
8853
  var STREAM_RESUMABLE_HEADER = "X-Stream-Resumable";
@@ -8936,9 +9053,9 @@ async function runToolLoop(options) {
8936
9053
  messages = await redactBatch(messages);
8937
9054
  if (preProcessors?.length) {
8938
9055
  try {
8939
- const text12 = extractLastUserText(messages);
8940
- if (text12.length > 0) {
8941
- const embedding = await generateEmbedding(text12, {
9056
+ const text13 = extractLastUserText(messages);
9057
+ if (text13.length > 0) {
9058
+ const embedding = await generateEmbedding(text13, {
8942
9059
  apiKey: headers?.["X-API-Key"],
8943
9060
  getToken: token ? () => Promise.resolve(token) : void 0,
8944
9061
  baseUrl
@@ -8946,7 +9063,7 @@ async function runToolLoop(options) {
8946
9063
  const results = await Promise.all(
8947
9064
  preProcessors.map(async (p) => {
8948
9065
  try {
8949
- return await p({ prompt: text12, embedding, signal: combinedSignal });
9066
+ return await p({ prompt: text13, embedding, signal: combinedSignal });
8950
9067
  } catch (err) {
8951
9068
  console.warn("[runToolLoop] pre-processor failed:", err);
8952
9069
  return void 0;
@@ -9105,11 +9222,11 @@ async function runToolLoop(options) {
9105
9222
  }
9106
9223
  });
9107
9224
  accumulator = createStreamAccumulator(model || void 0);
9108
- contentSmoother = new StreamSmoother((text12) => {
9109
- if (emitData) emitData(text12);
9225
+ contentSmoother = new StreamSmoother((text13) => {
9226
+ if (emitData) emitData(text13);
9110
9227
  }, smoothing);
9111
- thinkingSmoother = new StreamSmoother((text12) => {
9112
- if (emitThinking) emitThinking(text12);
9228
+ thinkingSmoother = new StreamSmoother((text13) => {
9229
+ if (emitThinking) emitThinking(text13);
9113
9230
  }, smoothing);
9114
9231
  let chunksEmittedDownstream = false;
9115
9232
  try {
@@ -9614,11 +9731,11 @@ Executing tool: ${toolInfo}
9614
9731
  }
9615
9732
  });
9616
9733
  currentAccumulator = createStreamAccumulator(model || void 0);
9617
- contContentSmoother = new StreamSmoother((text12) => {
9618
- if (emitData) emitData(text12);
9734
+ contContentSmoother = new StreamSmoother((text13) => {
9735
+ if (emitData) emitData(text13);
9619
9736
  }, smoothing);
9620
- contThinkingSmoother = new StreamSmoother((text12) => {
9621
- if (emitThinking) emitThinking(text12);
9737
+ contThinkingSmoother = new StreamSmoother((text13) => {
9738
+ if (emitThinking) emitThinking(text13);
9622
9739
  }, smoothing);
9623
9740
  let chunksEmittedDownstream = false;
9624
9741
  try {
@@ -9845,11 +9962,11 @@ async function resumeStream(options) {
9845
9962
  } = options;
9846
9963
  const strategy = getStrategy(handle.apiType);
9847
9964
  const accumulator = createStreamAccumulator(handle.model || void 0);
9848
- const contentSmoother = new StreamSmoother((text12) => {
9849
- if (onData) onData(text12);
9965
+ const contentSmoother = new StreamSmoother((text13) => {
9966
+ if (onData) onData(text13);
9850
9967
  }, smoothing);
9851
- const thinkingSmoother = new StreamSmoother((text12) => {
9852
- if (onThinking) onThinking(text12);
9968
+ const thinkingSmoother = new StreamSmoother((text13) => {
9969
+ if (onThinking) onThinking(text13);
9853
9970
  }, smoothing);
9854
9971
  const idleController = new AbortController();
9855
9972
  let watchdog;
@@ -10094,8 +10211,8 @@ function sseFailureMessage(status, statusText, detail = "") {
10094
10211
  }
10095
10212
  function parseSseChunks(raw, incompleteBuffer) {
10096
10213
  const chunks2 = [];
10097
- const text12 = incompleteBuffer + raw;
10098
- const lines = text12.split("\n");
10214
+ const text13 = incompleteBuffer + raw;
10215
+ const lines = text13.split("\n");
10099
10216
  const remaining = raw.endsWith("\n") ? "" : lines.pop() ?? "";
10100
10217
  for (const line of lines) {
10101
10218
  if (!line.startsWith("data: ")) continue;
@@ -10591,14 +10708,14 @@ var MaskScopedEmbeddingCache = class extends Map {
10591
10708
  this.inner = inner;
10592
10709
  this.masked = masked;
10593
10710
  }
10594
- key(text12) {
10595
- return `${this.masked ? "m" : "r"}:${text12}`;
10711
+ key(text13) {
10712
+ return `${this.masked ? "m" : "r"}:${text13}`;
10596
10713
  }
10597
- get(text12) {
10598
- return this.inner.get(this.key(text12));
10714
+ get(text13) {
10715
+ return this.inner.get(this.key(text13));
10599
10716
  }
10600
- set(text12, value) {
10601
- this.inner.set(this.key(text12), value);
10717
+ set(text13, value) {
10718
+ this.inner.set(this.key(text13), value);
10602
10719
  return this;
10603
10720
  }
10604
10721
  };
@@ -12880,22 +12997,35 @@ async function vaultMemoryRawToStored(raw, walletAddress, signMessage, embeddedW
12880
12997
  return stored2;
12881
12998
  }
12882
12999
  async function getAllVaultMemoriesOp(ctx, options) {
12883
- const conditions = [
13000
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
13001
+ return mapInBatches(
13002
+ results,
13003
+ (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
13004
+ );
13005
+ }
13006
+ function vaultListConditions(ctx, options) {
13007
+ return [
12884
13008
  ...baseVaultConditions(ctx, options),
12885
13009
  ...options?.scopes?.length ? [import_watermelondb20.Q.where("scope", import_watermelondb20.Q.oneOf(options.scopes))] : [],
12886
13010
  ...visibilityConditions(options?.visibility),
12887
13011
  ...levelConditions(options?.levels),
12888
13012
  ...options?.kinds?.length ? [import_watermelondb20.Q.where("kind", import_watermelondb20.Q.oneOf(options.kinds))] : [],
12889
13013
  ...options?.folderId !== void 0 ? [import_watermelondb20.Q.where("folder_id", options.folderId)] : [],
12890
- ...options?.factTypes?.length ? [import_watermelondb20.Q.where("fact_type", import_watermelondb20.Q.oneOf(options.factTypes))] : [],
13014
+ ...options?.factTypes?.length ? [import_watermelondb20.Q.where("fact_type", import_watermelondb20.Q.oneOf(options.factTypes))] : []
13015
+ ];
13016
+ }
13017
+ function vaultListOrder(options) {
13018
+ return [
12891
13019
  import_watermelondb20.Q.sortBy(options?.since ? "updated_at" : "created_at", import_watermelondb20.Q.desc),
12892
13020
  ...options?.limit !== null && options?.limit !== void 0 && options.limit > 0 ? [import_watermelondb20.Q.take(options.limit)] : []
12893
13021
  ];
12894
- const results = await ctx.vaultMemoryCollection.query(...conditions).unsafeFetchRaw();
12895
- return mapInBatches(
12896
- results,
12897
- (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
12898
- );
13022
+ }
13023
+ async function getVaultMemoryProjectionsOp(ctx, options) {
13024
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
13025
+ return results.map((raw) => ({
13026
+ ...vaultMemoryRawToRankable(raw),
13027
+ topicsUserManaged: raw.topics_user_managed === true || raw.topics_user_managed === 1
13028
+ }));
12899
13029
  }
12900
13030
  function vaultMemoryRawToRankable(raw) {
12901
13031
  return {
@@ -14637,7 +14767,7 @@ Which item numbers should be flagged?`,
14637
14767
  if (parsed === null) return empty;
14638
14768
  return { flagged: parseFlagged(parsed, scope.length) };
14639
14769
  }
14640
- function parseFlagged(parsed, count) {
14770
+ function parseFlagged(parsed, count2) {
14641
14771
  const out = /* @__PURE__ */ new Set();
14642
14772
  if (typeof parsed !== "object" || parsed === null) return out;
14643
14773
  const list = parsed.poisoned;
@@ -14645,7 +14775,7 @@ function parseFlagged(parsed, count) {
14645
14775
  for (const raw of list) {
14646
14776
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
14647
14777
  if (!Number.isInteger(n)) continue;
14648
- if (n >= 1 && n <= count) out.add(n - 1);
14778
+ if (n >= 1 && n <= count2) out.add(n - 1);
14649
14779
  }
14650
14780
  return out;
14651
14781
  }
@@ -15142,8 +15272,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
15142
15272
  "user",
15143
15273
  "users"
15144
15274
  ]);
15145
- function tokenize(text12) {
15146
- const m = text12.toLowerCase().match(TOKEN_RE);
15275
+ function tokenize(text13) {
15276
+ const m = text13.toLowerCase().match(TOKEN_RE);
15147
15277
  if (!m) return [];
15148
15278
  return m.filter((t) => !STOPWORDS.has(t));
15149
15279
  }
@@ -16670,14 +16800,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
16670
16800
  );
16671
16801
  }
16672
16802
  if (options.consolidateOptions) {
16673
- const outcome = await tryConsolidate(trimmed, ctx, options, prepared);
16674
- if (outcome) {
16675
- if ("done" in outcome) return outcome.done;
16676
- if ("create" in outcome) {
16803
+ const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
16804
+ if (outcome2) {
16805
+ if ("done" in outcome2) return outcome2.done;
16806
+ if ("create" in outcome2) {
16677
16807
  consolidationDecidedCreate = true;
16678
16808
  } else {
16679
- supersedeTargetIds = outcome.supersede;
16680
- supersedeContent = outcome.content;
16809
+ supersedeTargetIds = outcome2.supersede;
16810
+ supersedeContent = outcome2.content;
16681
16811
  }
16682
16812
  }
16683
16813
  }
@@ -17343,12 +17473,12 @@ async function extractAndRetain(messages, retainCtx, options) {
17343
17473
  if (failedWrites > 0) {
17344
17474
  log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
17345
17475
  }
17346
- const outcome = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
17476
+ const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
17347
17477
  return {
17348
17478
  candidates: succeededCandidates,
17349
17479
  results,
17350
17480
  failedCount: failedWrites,
17351
- outcome,
17481
+ outcome: outcome2,
17352
17482
  quarantined: quarantinedInfo,
17353
17483
  funnel: {
17354
17484
  rawCandidateCount,
@@ -17580,7 +17710,7 @@ function createAutoExtractor(options) {
17580
17710
  ...options.retainCtx,
17581
17711
  embeddingOptions: {
17582
17712
  ...options.retainCtx.embeddingOptions,
17583
- maskInput: (text12) => piiRedactor.maskText(text12)
17713
+ maskInput: (text13) => piiRedactor.maskText(text13)
17584
17714
  }
17585
17715
  } : options.retainCtx;
17586
17716
  function processTurn(messages, conversationId) {
@@ -17613,7 +17743,7 @@ function createAutoExtractor(options) {
17613
17743
  const t0 = Date.now();
17614
17744
  void (async () => {
17615
17745
  try {
17616
- const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
17746
+ const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
17617
17747
  extract,
17618
17748
  ...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
17619
17749
  ...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
@@ -17630,7 +17760,7 @@ function createAutoExtractor(options) {
17630
17760
  onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
17631
17761
  }
17632
17762
  });
17633
- if (outcome !== "empty-after-retry" && failedCount === 0) {
17763
+ if (outcome2 !== "empty-after-retry" && failedCount === 0) {
17634
17764
  const advancedTo = window2[window2.length - 1].id;
17635
17765
  stateFor(conversationId).watermark = advancedTo;
17636
17766
  persistCursor(conversationId, messages, advancedTo, contiguous);
@@ -17649,7 +17779,7 @@ function createAutoExtractor(options) {
17649
17779
  failedCount,
17650
17780
  durationMs: Date.now() - t0,
17651
17781
  conversationId,
17652
- outcome,
17782
+ outcome: outcome2,
17653
17783
  funnel,
17654
17784
  timings,
17655
17785
  model,
@@ -19326,12 +19456,12 @@ ${JSON.stringify(
19326
19456
  function parseAnswer(body, base, parseSchema) {
19327
19457
  if (typeof body !== "object" || body === null) return base;
19328
19458
  const obj = body;
19329
- const text12 = extractCompletionContent(obj) ?? "";
19459
+ const text13 = extractCompletionContent(obj) ?? "";
19330
19460
  const usage = obj.usage;
19331
19461
  let structuredOutput;
19332
- if (parseSchema && text12) {
19462
+ if (parseSchema && text13) {
19333
19463
  try {
19334
- structuredOutput = JSON.parse(extractJsonCandidate(text12));
19464
+ structuredOutput = JSON.parse(extractJsonCandidate(text13));
19335
19465
  } catch (err) {
19336
19466
  getLogger().warn("[memory/reflect] structured output was not valid JSON", {
19337
19467
  err: err instanceof Error ? err.message : String(err)
@@ -19341,7 +19471,7 @@ function parseAnswer(body, base, parseSchema) {
19341
19471
  const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
19342
19472
  const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
19343
19473
  return {
19344
- text: text12,
19474
+ text: text13,
19345
19475
  ...structuredOutput !== void 0 && { structuredOutput },
19346
19476
  basedOn: base.basedOn,
19347
19477
  usage: {
@@ -19576,6 +19706,7 @@ function createLocalMemoryStore(options) {
19576
19706
  };
19577
19707
  const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
19578
19708
  const ownedBy = userId !== void 0 ? [import_watermelondb23.Q.where("user_id", userId)] : [];
19709
+ const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [import_watermelondb23.Q.or(import_watermelondb23.Q.where("user_id", userId), import_watermelondb23.Q.where("user_id", null))] : [import_watermelondb23.Q.where("user_id", userId)];
19579
19710
  const watchedColumns = [
19580
19711
  "content",
19581
19712
  "scope",
@@ -19618,6 +19749,29 @@ function createLocalMemoryStore(options) {
19618
19749
  },
19619
19750
  memoriesByTopics: (names) => getMemoriesByEntityNamesOp(entityCtx, names),
19620
19751
  topicsByMemories: (memoryIds) => getEntitiesByMemoryIdsOp(entityCtx, memoryIds),
19752
+ listTopics: async () => {
19753
+ const links = await entityCtx.memoryEntityCollection.query(...linksOwnedBy).fetch();
19754
+ const members = /* @__PURE__ */ new Map();
19755
+ for (const link of links) {
19756
+ const entityId = String(link.entityId);
19757
+ const set = members.get(entityId) ?? /* @__PURE__ */ new Set();
19758
+ set.add(String(link.memoryId));
19759
+ members.set(entityId, set);
19760
+ }
19761
+ const entities = userId === void 0 ? await entityCtx.entityCollection.query().fetch() : members.size ? await entityCtx.entityCollection.query(import_watermelondb23.Q.where("id", import_watermelondb23.Q.oneOf([...members.keys()]))).fetch() : [];
19762
+ const byName = /* @__PURE__ */ new Map();
19763
+ for (const entity of entities) {
19764
+ const count2 = members.get(entity.id)?.size ?? 0;
19765
+ const existing = byName.get(entity.canonicalName);
19766
+ byName.set(entity.canonicalName, {
19767
+ name: entity.canonicalName,
19768
+ kind: existing?.kind ?? entity.kind ?? null,
19769
+ memoryCount: (existing?.memoryCount ?? 0) + count2
19770
+ });
19771
+ }
19772
+ return [...byName.values()].sort((a, b) => a.name.localeCompare(b.name));
19773
+ },
19774
+ listProjections: (listOptions) => getVaultMemoryProjectionsOp(vaultCtx, listOptions),
19621
19775
  create: async (input) => {
19622
19776
  const created = await createVaultMemoryOp(vaultCtx, input);
19623
19777
  if (input.embedding === void 0) embedInBackground(created);
@@ -19679,7 +19833,6 @@ function createLocalMemoryStore(options) {
19679
19833
  );
19680
19834
  const subscriptions = [memories.subscribe(afterFirst())];
19681
19835
  if (subscribeOptions?.topics) {
19682
- const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [import_watermelondb23.Q.or(import_watermelondb23.Q.where("user_id", userId), import_watermelondb23.Q.where("user_id", null))] : [import_watermelondb23.Q.where("user_id", userId)];
19683
19836
  subscriptions.push(
19684
19837
  entityCtx.memoryEntityCollection.query(...linksOwnedBy).observe().subscribe(afterFirst())
19685
19838
  );
@@ -20089,6 +20242,31 @@ async function createRemoteMemoryPersistence(options) {
20089
20242
  throw new Error("Invalid nearby candidate response");
20090
20243
  return result;
20091
20244
  };
20245
+ const fetchQueryPage = async (queryOptions) => {
20246
+ const { signal, ...query } = queryOptions;
20247
+ if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
20248
+ throw new Error("Page limit must be 1\u2013200");
20249
+ for (const [key, max] of queryListLimits) {
20250
+ const values = query[key];
20251
+ if (values && values.length > max)
20252
+ throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
20253
+ }
20254
+ const page = await request(
20255
+ "/memories/query",
20256
+ {
20257
+ method: "POST",
20258
+ body: JSON.stringify(
20259
+ Object.fromEntries(
20260
+ queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
20261
+ )
20262
+ )
20263
+ },
20264
+ signal
20265
+ );
20266
+ if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
20267
+ throw new Error("Invalid nearby private-memory page");
20268
+ return page;
20269
+ };
20092
20270
  const candidateSet = async (embedding, candidateOptions = {}) => {
20093
20271
  const result = await fetchCandidates(embedding, candidateOptions, true);
20094
20272
  if (!Number.isSafeInteger(result.total_count) || result.total_count < 0 || !Number.isSafeInteger(result.unavailable_count) || result.unavailable_count < 0)
@@ -20167,34 +20345,27 @@ async function createRemoteMemoryPersistence(options) {
20167
20345
  return Promise.all(result.items.map((item, i) => decodeCommitted(item, prepared[i])));
20168
20346
  },
20169
20347
  query: async (queryOptions = {}) => {
20170
- const { signal, ...query } = queryOptions;
20171
- if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
20172
- throw new Error("Page limit must be 1\u2013200");
20173
- for (const [key, max] of queryListLimits) {
20174
- const values = query[key];
20175
- if (values && values.length > max)
20176
- throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
20177
- }
20178
- const page = await request(
20179
- "/memories/query",
20180
- {
20181
- method: "POST",
20182
- body: JSON.stringify(
20183
- Object.fromEntries(
20184
- queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
20185
- )
20186
- )
20187
- },
20188
- signal
20189
- );
20190
- if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
20191
- throw new Error("Invalid nearby private-memory page");
20348
+ const page = await fetchQueryPage(queryOptions);
20192
20349
  return {
20193
20350
  ...await decodeAll(page.items),
20194
20351
  ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor },
20195
20352
  ...page.changes_cursor !== void 0 && { changes_cursor: page.changes_cursor }
20196
20353
  };
20197
20354
  },
20355
+ queryMetadata: async (queryOptions = {}) => {
20356
+ const page = await fetchQueryPage(queryOptions);
20357
+ return {
20358
+ items: page.items.map((item) => {
20359
+ const {
20360
+ memory: { content: _content, kind_value: _kindValue, ...memory },
20361
+ version,
20362
+ server_updated_at
20363
+ } = memoryRecord(item);
20364
+ return { memory, version, server_updated_at };
20365
+ }),
20366
+ ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor }
20367
+ };
20368
+ },
20198
20369
  candidateSet,
20199
20370
  candidates: async (embedding, candidateOptions = {}) => decodeAll((await fetchCandidates(embedding, candidateOptions, false)).items)
20200
20371
  };
@@ -20546,10 +20717,10 @@ function createRemoteMemoryPipeline(options) {
20546
20717
  factSource: {
20547
20718
  graphRanking: options.graphRanking,
20548
20719
  temporalRanking: options.temporalRanking,
20549
- search: async (text12, searchOptions) => {
20550
- const prepared = await prepare(text12, searchOptions);
20720
+ search: async (text13, searchOptions) => {
20721
+ const prepared = await prepare(text13, searchOptions);
20551
20722
  const ranked = await rankPreparedVaultCandidates(
20552
- text12,
20723
+ text13,
20553
20724
  prepared,
20554
20725
  embeddingOptions,
20555
20726
  searchOptions
@@ -20587,6 +20758,19 @@ function createRemoteMemoryPipeline(options) {
20587
20758
  // src/lib/memory/store/remoteStore.ts
20588
20759
  var import_uuid5 = require("uuid");
20589
20760
  init_logger();
20761
+ function projection({ memory }) {
20762
+ return {
20763
+ uniqueId: memory.memory_id,
20764
+ scope: memory.scope,
20765
+ folderId: memory.folder_id ?? null,
20766
+ embedding: memory.embedding?.length ? JSON.stringify(memory.embedding) : null,
20767
+ embeddingModel: memory.embedding_model ?? null,
20768
+ createdAt: new Date(memory.created_at),
20769
+ updatedAt: new Date(memory.updated_at),
20770
+ lastObservedAt: memory.last_observed_at ?? null,
20771
+ topicsUserManaged: memory.topics_user_managed ?? false
20772
+ };
20773
+ }
20590
20774
  function relevant(change, options) {
20591
20775
  return options.includeDeleted ? change === "membership" : change !== "embedding" || !!options.embeddings;
20592
20776
  }
@@ -20621,6 +20805,9 @@ function bounded(filters, key) {
20621
20805
  if (!values || values.length <= MAX_QUERY_FILTER) return [filters];
20622
20806
  return chunks(values, MAX_QUERY_FILTER).map((chunk) => ({ ...filters, [key]: chunk }));
20623
20807
  }
20808
+ function maxOf(options) {
20809
+ return options.limit && options.limit > 0 ? options.limit : Infinity;
20810
+ }
20624
20811
  function chunks(values, size) {
20625
20812
  const out = [];
20626
20813
  for (let i = 0; i < values.length; i += size) out.push(values.slice(i, i + size));
@@ -20692,26 +20879,49 @@ function createRemoteMemoryStore(options) {
20692
20879
  for (const subscriber of [...subscribers])
20693
20880
  if (relevant(change, subscriber.options)) safely(subscriber.onChange);
20694
20881
  };
20695
- const enumerate = async (filters, max = Infinity) => {
20882
+ const pages = async (read, filters, max = Infinity) => {
20696
20883
  const records = [];
20697
20884
  let cursor2;
20698
20885
  do {
20699
- const page = await persistence.query({
20886
+ const page = await read({
20700
20887
  ...filters,
20701
20888
  limit: Math.min(200, Math.max(1, max - records.length)),
20702
20889
  ...cursor2 && { cursor: cursor2 }
20703
20890
  });
20704
- warnFailed(page.failed);
20891
+ if (page.failed) warnFailed(page.failed);
20705
20892
  records.push(...page.items);
20706
20893
  cursor2 = page.next_cursor;
20707
20894
  } while (cursor2 && records.length < max);
20708
20895
  return records.slice(0, max);
20709
20896
  };
20710
- const enumerateIds = async (ids, filters) => (await Promise.all(
20897
+ const decrypted = (options2) => persistence.query(options2);
20898
+ const metadata = (options2) => persistence.queryMetadata(options2);
20899
+ const enumerate = (filters, max = Infinity) => pages(decrypted, filters, max);
20900
+ const enumerateIds = async (read, ids, filters) => (await Promise.all(
20711
20901
  chunks([...new Set(ids)], MAX_QUERY_IDS).map(
20712
- (memory_ids) => enumerate({ ...filters, memory_ids })
20902
+ (memory_ids) => pages(read, { ...filters, memory_ids })
20713
20903
  )
20714
20904
  )).flat();
20905
+ const listFilters = (listOptions) => ({
20906
+ ...stateFilters(listOptions),
20907
+ include_embeddings: true,
20908
+ order: listOptions.since ? "updated" : "created",
20909
+ ...listOptions.scopes?.length && { scopes: listOptions.scopes },
20910
+ ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
20911
+ ...listOptions.visibility?.length && { visibility: listOptions.visibility },
20912
+ ...listOptions.since && { updated_after: listOptions.since.getTime() }
20913
+ });
20914
+ const listRows = async (read, listOptions, filters, max) => {
20915
+ const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
20916
+ if (!listOptions.memoryIds && variants.length === 1) return pages(read, filters, max);
20917
+ const fetched = await Promise.all(
20918
+ variants.map(
20919
+ (variant) => listOptions.memoryIds ? enumerateIds(read, listOptions.memoryIds, variant) : pages(read, variant, max)
20920
+ )
20921
+ );
20922
+ const time = (row) => filters.order === "updated" ? row.memory.updated_at : row.memory.created_at;
20923
+ return [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].sort((a, b) => time(b) - time(a) || (a.memory.memory_id < b.memory.memory_id ? 1 : -1)).slice(0, max);
20924
+ };
20715
20925
  const queues = /* @__PURE__ */ new Map();
20716
20926
  const serialized = (id, task) => {
20717
20927
  const run = (queues.get(id) ?? Promise.resolve()).then(task, task);
@@ -20753,12 +20963,15 @@ function createRemoteMemoryStore(options) {
20753
20963
  };
20754
20964
  const newRow = (input) => {
20755
20965
  const now = Date.now();
20756
- const scope = input.scope ?? "private";
20966
+ const { level, scope } = resolveCreateLevel(input);
20967
+ assertValidKindLevel(input.kind, level);
20757
20968
  return {
20758
20969
  memory_id: (0, import_uuid5.v7)(),
20759
20970
  content: input.content,
20760
20971
  scope,
20761
- level: levelFromScope(scope),
20972
+ level,
20973
+ ...input.kind !== void 0 && input.kind !== null && { kind: input.kind },
20974
+ ...typeof input.kindValue === "string" && { kind_value: input.kindValue },
20762
20975
  created_at: now,
20763
20976
  updated_at: now,
20764
20977
  is_deleted: false,
@@ -20787,6 +21000,30 @@ function createRemoteMemoryStore(options) {
20787
21000
  return records.map((record2) => stored(record2.memory));
20788
21001
  };
20789
21002
  const asStored = (record2) => record2 ? stored(record2.memory) : null;
21003
+ const withKnownKinds = async (topics) => {
21004
+ const unkinded = [
21005
+ ...new Set(topics.filter((t) => !t.kind).map((t) => normalizeEntityName(t.name)))
21006
+ ];
21007
+ if (unkinded.length === 0) return topics;
21008
+ const kinds = /* @__PURE__ */ new Map();
21009
+ for (const names of chunks(unkinded, MAX_QUERY_TOPICS)) {
21010
+ for (const { memory } of await pages(metadata, {
21011
+ topics: names,
21012
+ include_archived: true,
21013
+ include_quarantined: true,
21014
+ include_superseded: true
21015
+ })) {
21016
+ for (const topic of parseTopics(memory.topics) ?? []) {
21017
+ const name = normalizeEntityName(topic.name);
21018
+ if (topic.kind && !kinds.has(name)) kinds.set(name, topic.kind);
21019
+ }
21020
+ }
21021
+ }
21022
+ return topics.map((topic) => {
21023
+ const kind = topic.kind ?? kinds.get(normalizeEntityName(topic.name));
21024
+ return kind ? { ...topic, kind } : topic;
21025
+ });
21026
+ };
20790
21027
  const everyState = {
20791
21028
  include_deleted: true,
20792
21029
  include_archived: true,
@@ -20863,30 +21100,34 @@ function createRemoteMemoryStore(options) {
20863
21100
  });
20864
21101
  };
20865
21102
  return {
20866
- list: async (listOptions = {}) => {
20867
- const order = listOptions.since ? "updated" : "created";
20868
- const filters = {
20869
- ...stateFilters(listOptions),
20870
- include_embeddings: true,
20871
- order,
20872
- ...listOptions.scopes?.length && { scopes: listOptions.scopes },
20873
- ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
20874
- ...listOptions.visibility?.length && { visibility: listOptions.visibility },
20875
- ...listOptions.since && { updated_after: listOptions.since.getTime() }
20876
- };
20877
- const max = listOptions.limit && listOptions.limit > 0 ? listOptions.limit : Infinity;
20878
- const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
20879
- if (!listOptions.memoryIds && variants.length === 1)
20880
- return (await enumerate(filters, max)).map((r) => stored(r.memory));
20881
- const fetched = await Promise.all(
20882
- variants.map(
20883
- (variant) => listOptions.memoryIds ? enumerateIds(listOptions.memoryIds, variant) : enumerate(variant, max)
20884
- )
20885
- );
20886
- const rows = [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].map((record2) => stored(record2.memory)).sort(
20887
- (a, b) => order === "updated" ? b.updatedAt.getTime() - a.updatedAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1) : b.createdAt.getTime() - a.createdAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1)
20888
- );
20889
- return rows.slice(0, max);
21103
+ list: async (listOptions = {}) => (await listRows(decrypted, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
21104
+ (r) => stored(r.memory)
21105
+ ),
21106
+ listProjections: async (listOptions = {}) => (await listRows(metadata, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
21107
+ projection
21108
+ ),
21109
+ listTopics: async () => {
21110
+ const topics = /* @__PURE__ */ new Map();
21111
+ for (const { memory } of await pages(metadata, {
21112
+ include_archived: true,
21113
+ include_quarantined: true,
21114
+ include_superseded: true
21115
+ })) {
21116
+ for (const topic of parseTopics(memory.topics) ?? []) {
21117
+ const name = normalizeEntityName(topic.name);
21118
+ if (!name) continue;
21119
+ const entry = topics.get(name) ?? {
21120
+ name,
21121
+ kind: null,
21122
+ memoryCount: 0,
21123
+ members: /* @__PURE__ */ new Set()
21124
+ };
21125
+ entry.kind ?? (entry.kind = topic.kind ?? null);
21126
+ entry.members.add(memory.memory_id);
21127
+ topics.set(name, entry);
21128
+ }
21129
+ }
21130
+ return [...topics.values()].map(({ members, ...topic }) => ({ ...topic, memoryCount: members.size })).sort((a, b) => a.name.localeCompare(b.name));
20890
21131
  },
20891
21132
  get: async (id) => asStored(await live(id)),
20892
21133
  listArchived: async () => (await enumerate({ archived_only: true, order: "archived", include_embeddings: true })).map(
@@ -20895,10 +21136,10 @@ function createRemoteMemoryStore(options) {
20895
21136
  memoriesByTopics: async (names) => {
20896
21137
  const wanted = new Set(names.map(normalizeEntityName).filter(Boolean));
20897
21138
  const out = /* @__PURE__ */ new Map();
20898
- const pages = await Promise.all(
21139
+ const pages2 = await Promise.all(
20899
21140
  chunks([...wanted], MAX_QUERY_TOPICS).map((topics) => enumerate({ topics }))
20900
21141
  );
20901
- for (const { memory } of pages.flat()) {
21142
+ for (const { memory } of pages2.flat()) {
20902
21143
  const matched = [...canonicalTopics(memory)].filter((name) => wanted.has(name));
20903
21144
  if (matched.length) out.set(memory.memory_id, new Set(matched));
20904
21145
  }
@@ -20906,7 +21147,7 @@ function createRemoteMemoryStore(options) {
20906
21147
  },
20907
21148
  topicsByMemories: async (memoryIds) => {
20908
21149
  const out = /* @__PURE__ */ new Map();
20909
- for (const { memory } of await enumerateIds(memoryIds, {
21150
+ for (const { memory } of await enumerateIds(decrypted, memoryIds, {
20910
21151
  include_archived: true,
20911
21152
  include_superseded: true,
20912
21153
  include_quarantined: true
@@ -20939,15 +21180,26 @@ function createRemoteMemoryStore(options) {
20939
21180
  update: async (id, patch) => {
20940
21181
  const saved = await mutate(id, "edit", (memory) => {
20941
21182
  if (memory.superseded_by) return null;
21183
+ const level = patch.level !== void 0 ? patch.level : patch.scope !== void 0 ? levelForScopeChange({ level: memory.level, scope: memory.scope }, patch.scope) : resolveMemoryLevel(memory.level, memory.scope);
21184
+ const kind = patch.kind !== void 0 ? patch.kind : memory.kind;
21185
+ assertValidKindLevel(kind, level);
20942
21186
  memory.content = patch.content;
20943
21187
  memory.updated_at = Date.now();
20944
- if (patch.scope !== void 0) {
20945
- memory.level = levelForScopeChange(
20946
- { level: memory.level, scope: memory.scope },
20947
- patch.scope
20948
- );
21188
+ if (patch.level !== void 0) {
21189
+ memory.level = level;
21190
+ memory.scope = scopeForLevel(level);
21191
+ } else if (patch.scope !== void 0) {
21192
+ memory.level = level;
20949
21193
  memory.scope = patch.scope;
20950
21194
  }
21195
+ if (patch.kind !== void 0) {
21196
+ if (patch.kind === null) delete memory.kind;
21197
+ else memory.kind = patch.kind;
21198
+ }
21199
+ if (patch.kindValue !== void 0) {
21200
+ if (patch.kindValue === null) delete memory.kind_value;
21201
+ else memory.kind_value = patch.kindValue;
21202
+ }
20951
21203
  if (patch.factType !== void 0) memory.fact_type = patch.factType ?? void 0;
20952
21204
  if (patch.eventTime !== void 0) {
20953
21205
  memory.event_time_start = patch.eventTime?.start ?? void 0;
@@ -21002,16 +21254,19 @@ function createRemoteMemoryStore(options) {
21002
21254
  notify("edit", [await persistence.put(memory, record2)]);
21003
21255
  return true;
21004
21256
  }),
21005
- setTopics: async (memoryId, topics) => asStored(
21006
- await mutate(memoryId, "edit", (memory) => ({
21007
- ...memory,
21008
- topics: serializeTopics(mergeTopics([], topicInputs(topics, "user"))),
21009
- topics_user_managed: true,
21010
- topics_updated_at: Date.now()
21011
- }))
21012
- ),
21257
+ setTopics: async (memoryId, topics) => {
21258
+ const chosen = await withKnownKinds(topicInputs(topics, "user"));
21259
+ return asStored(
21260
+ await mutate(memoryId, "edit", (memory) => ({
21261
+ ...memory,
21262
+ topics: serializeTopics(mergeTopics([], chosen)),
21263
+ topics_user_managed: true,
21264
+ topics_updated_at: Date.now()
21265
+ }))
21266
+ );
21267
+ },
21013
21268
  addTopics: async (memoryId, topics) => {
21014
- const added = topicInputs(topics, "auto");
21269
+ const added = await withKnownKinds(topicInputs(topics, "auto"));
21015
21270
  const saved = await mutate(memoryId, "edit", (memory) => ({
21016
21271
  ...memory,
21017
21272
  topics: serializeTopics(mergeTopics(parseTopics(memory.topics) ?? [], added)),
@@ -21440,8 +21695,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
21440
21695
  memories
21441
21696
  });
21442
21697
  const noEvidence = result.basedOn.memoryIds.length === 0;
21443
- const { text: text12, legitimateEmpty } = extractFacetText(result.structuredOutput);
21444
- if (!text12 && !legitimateEmpty && !noEvidence) {
21698
+ const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
21699
+ if (!text13 && !legitimateEmpty && !noEvidence) {
21445
21700
  getLogger().warn(
21446
21701
  "[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
21447
21702
  { facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
@@ -21451,12 +21706,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
21451
21706
  const section = {
21452
21707
  key: facet.key,
21453
21708
  label: facet.label,
21454
- text: text12,
21709
+ text: text13,
21455
21710
  sourceMemoryIds: result.basedOn.memoryIds,
21456
21711
  generatedAt: Date.now()
21457
21712
  };
21458
- if (options.redactor && text12) {
21459
- const redacted = await options.redactor.redactTextAsync(text12);
21713
+ if (options.redactor && text13) {
21714
+ const redacted = await options.redactor.redactTextAsync(text13);
21460
21715
  section.text = redacted.text;
21461
21716
  }
21462
21717
  if (!legitimateEmpty && !noEvidence) {
@@ -21969,10 +22224,10 @@ function createDurableAutoExtractor(options) {
21969
22224
  const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
21970
22225
  if (!counted) return false;
21971
22226
  const prior = sessionFailures.get(job.id);
21972
- const count = prior?.head === head ? prior.count + 1 : 1;
21973
- sessionFailures.set(job.id, { head, count });
22227
+ const count2 = prior?.head === head ? prior.count + 1 : 1;
22228
+ sessionFailures.set(job.id, { head, count: count2 });
21974
22229
  const terminal = error instanceof BatchFailureError && error.terminal;
21975
- if (!terminal && count < MAX_ATTEMPTS) return false;
22230
+ if (!terminal && count2 < MAX_ATTEMPTS) return false;
21976
22231
  skippedThisSession.add(job.id);
21977
22232
  const now = clock();
21978
22233
  const lastCounted = failedAtOf(job, head);
@@ -22279,7 +22534,7 @@ async function verifyFactSupport(items, options) {
22279
22534
  }
22280
22535
  const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
22281
22536
  const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
22282
- const safe = async (text12) => redactor ? (await redactor.redactTextAsync(text12)).text : text12;
22537
+ const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
22283
22538
  let truncatedCount = 0;
22284
22539
  const parts = [];
22285
22540
  for (const [i, item] of items.entries()) {
@@ -22336,7 +22591,7 @@ Which item numbers are supported?`,
22336
22591
  }
22337
22592
  return supported;
22338
22593
  }
22339
- function parseSupported(parsed, count) {
22594
+ function parseSupported(parsed, count2) {
22340
22595
  if (typeof parsed !== "object" || parsed === null) return null;
22341
22596
  const list = parsed.supported;
22342
22597
  if (!Array.isArray(list)) return null;
@@ -22344,7 +22599,7 @@ function parseSupported(parsed, count) {
22344
22599
  for (const raw of list) {
22345
22600
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
22346
22601
  if (!Number.isInteger(n)) continue;
22347
- if (n >= 1 && n <= count) out.add(n - 1);
22602
+ if (n >= 1 && n <= count2) out.add(n - 1);
22348
22603
  }
22349
22604
  return out;
22350
22605
  }
@@ -22395,7 +22650,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
22395
22650
  );
22396
22651
  const pending = [];
22397
22652
  for (const { index, uniqueId, content, ids } of withinBudget) {
22398
- const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text12) => text12 !== null);
22653
+ const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
22399
22654
  const dropped = ids.length - evidence.length;
22400
22655
  if (ids.some((id) => unreadable.has(id))) {
22401
22656
  results[index] = {
@@ -22898,22 +23153,22 @@ function normalizeManualFactType(value) {
22898
23153
  function isSharedScope(scope) {
22899
23154
  return scope === "shared";
22900
23155
  }
22901
- async function notifyWritten(options, input, outcome) {
23156
+ async function notifyWritten(options, input, outcome2) {
22902
23157
  try {
22903
- await options?.onWritten?.({ input, outcome });
23158
+ await options?.onWritten?.({ input, outcome: outcome2 });
22904
23159
  } catch {
22905
23160
  }
22906
23161
  }
22907
- function describeWriteOutcome(outcome) {
22908
- switch (outcome.action) {
23162
+ function describeWriteOutcome(outcome2) {
23163
+ switch (outcome2.action) {
22909
23164
  case "create":
22910
- return `Memory saved successfully (ID: ${outcome.memoryId}).`;
23165
+ return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
22911
23166
  case "update":
22912
23167
  case "supersede":
22913
- return `Memory saved successfully (ID: ${outcome.memoryId}); it replaces an earlier version of this fact.`;
23168
+ return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
22914
23169
  case "merge":
22915
23170
  case "skip":
22916
- return `The vault already holds this fact (ID: ${outcome.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
23171
+ return `The vault already holds this fact (ID: ${outcome2.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
22917
23172
  case "suppressed":
22918
23173
  return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
22919
23174
  }
@@ -23019,9 +23274,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
23019
23274
  ...folderId !== void 0 && { folderId },
23020
23275
  ...factType !== void 0 && { factType }
23021
23276
  };
23022
- const outcome = await options.write(input);
23023
- await notifyWritten(options, input, outcome);
23024
- return describeWriteOutcome(outcome);
23277
+ const outcome2 = await options.write(input);
23278
+ await notifyWritten(options, input, outcome2);
23279
+ return describeWriteOutcome(outcome2);
23025
23280
  }
23026
23281
  const created = await createVaultMemoryOp(vaultCtx, {
23027
23282
  content,
@@ -23505,8 +23760,8 @@ var sessionCache = /* @__PURE__ */ new Map();
23505
23760
  function generateRequestId() {
23506
23761
  return ++requestIdCounter;
23507
23762
  }
23508
- function parseSSEResponse(text12) {
23509
- const events = text12.split(/\n\n+/);
23763
+ function parseSSEResponse(text13) {
23764
+ const events = text13.split(/\n\n+/);
23510
23765
  let lastEventData = "";
23511
23766
  for (const event of events) {
23512
23767
  const dataLines = [];
@@ -23528,11 +23783,11 @@ function parseSSEResponse(text12) {
23528
23783
  }
23529
23784
  async function parseResponseBody(response) {
23530
23785
  const contentType = response.headers.get("Content-Type") || "";
23531
- const text12 = await response.text();
23532
- if (contentType.includes("text/event-stream") || text12.startsWith("event:") || text12.startsWith("data:")) {
23533
- return parseSSEResponse(text12);
23786
+ const text13 = await response.text();
23787
+ if (contentType.includes("text/event-stream") || text13.startsWith("event:") || text13.startsWith("data:")) {
23788
+ return parseSSEResponse(text13);
23534
23789
  }
23535
- return JSON.parse(text12);
23790
+ return JSON.parse(text13);
23536
23791
  }
23537
23792
  async function initializeMCPSession(accessToken) {
23538
23793
  const requestId = generateRequestId();
@@ -24669,9 +24924,9 @@ New lines of conversation:
24669
24924
  {new_lines}
24670
24925
 
24671
24926
  New summary:`;
24672
- function estimateTokens(text12) {
24673
- if (!text12) return 0;
24674
- return Math.ceil(text12.length / 4);
24927
+ function estimateTokens(text13) {
24928
+ if (!text13) return 0;
24929
+ return Math.ceil(text13.length / 4);
24675
24930
  }
24676
24931
  var PER_MESSAGE_OVERHEAD_TOKENS = 4;
24677
24932
  var MAX_MESSAGES_PER_SUMMARIZATION = 20;
@@ -24731,14 +24986,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
24731
24986
  }
24732
24987
  async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
24733
24988
  if (!redactor) return prompt;
24734
- const { text: text12, matches } = await redactor.redactTextAsync(prompt);
24989
+ const { text: text13, matches } = await redactor.redactTextAsync(prompt);
24735
24990
  if (matches.length > 0 && onPiiRedacted) {
24736
24991
  try {
24737
24992
  onPiiRedacted(matches);
24738
24993
  } catch {
24739
24994
  }
24740
24995
  }
24741
- return text12;
24996
+ return text13;
24742
24997
  }
24743
24998
  async function progressiveSummarize(options) {
24744
24999
  const {
@@ -25470,7 +25725,7 @@ function useChatStorage(options) {
25470
25725
  [piiRedaction, currentConversationId]
25471
25726
  );
25472
25727
  const maskForEmbedding = (0, import_react5.useCallback)(
25473
- (text12) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text12) : text12,
25728
+ (text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
25474
25729
  [resolvedPiiRedaction]
25475
25730
  );
25476
25731
  const maskEmbeddingInput = isPiiRedactor(resolvedPiiRedaction) ? maskForEmbedding : void 0;
@@ -26114,12 +26369,12 @@ function useChatStorage(options) {
26114
26369
  return {
26115
26370
  callRedactor: redactor,
26116
26371
  callPiiRedaction: forInnerSend,
26117
- maskForCall: (text12) => redactor ? redactor.maskText(text12) : text12
26372
+ maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
26118
26373
  };
26119
26374
  };
26120
26375
  pendingResumeRef.current = null;
26121
26376
  const effectiveAssistantUniqueId = assistantUniqueId ?? (resumable ? `msg_${(0, import_uuid7.v7)()}` : void 0);
26122
- const embedToolText = (text12, mask, masked, token) => {
26377
+ const embedToolText = (text13, mask, masked, token) => {
26123
26378
  const opts = {
26124
26379
  getToken: token,
26125
26380
  baseUrl,
@@ -26127,10 +26382,10 @@ function useChatStorage(options) {
26127
26382
  maskInput: mask,
26128
26383
  cache: embeddingCache ? maskScopedEmbeddingCache(embeddingCache, masked) : void 0
26129
26384
  };
26130
- return shouldChunkMessage(text12, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
26131
- chunkText(text12).map((c) => c.text),
26385
+ return shouldChunkMessage(text13, DEFAULT_CHUNK_SIZE) ? generateEmbeddings(
26386
+ chunkText(text13).map((c) => c.text),
26132
26387
  opts
26133
- ) : generateEmbedding(text12, opts);
26388
+ ) : generateEmbedding(text13, opts);
26134
26389
  };
26135
26390
  if (walletAddress && signMessage && !hasEncryptionKey(walletAddress)) {
26136
26391
  try {
@@ -27256,6 +27511,7 @@ function useChatStorage(options) {
27256
27511
  extractAndRetain,
27257
27512
  extractEntitiesForMemories,
27258
27513
  extractFacts,
27514
+ extractReservationReceipts,
27259
27515
  formatFileProcessingNotes,
27260
27516
  generateConversationId,
27261
27517
  generateEmbedding,