@anuma/sdk 6.36.0 → 6.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/expo/index.cjs +299 -181
- package/dist/expo/index.d.mts +30 -1
- package/dist/expo/index.d.ts +30 -1
- package/dist/expo/index.mjs +306 -189
- package/dist/index.cjs +150 -74
- package/dist/index.d.mts +30 -1
- package/dist/index.d.ts +30 -1
- package/dist/index.mjs +149 -74
- package/dist/react/index.cjs +344 -226
- package/dist/react/index.d.mts +30 -1
- package/dist/react/index.d.ts +30 -1
- package/dist/react/index.mjs +351 -234
- package/dist/server/index.cjs +43 -1
- package/dist/server/index.mjs +43 -1
- package/dist/tools/index.cjs +74 -12
- package/dist/tools/index.d.mts +16 -3
- package/dist/tools/index.d.ts +16 -3
- package/dist/tools/index.mjs +73 -12
- package/package.json +1 -1
package/dist/react/index.cjs
CHANGED
|
@@ -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
|
|
358
|
-
this.categoryCounters.set(category,
|
|
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}_${
|
|
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(
|
|
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(
|
|
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 =
|
|
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(
|
|
397
|
+
scan(text13, makeReplacement) {
|
|
398
398
|
const matches = [];
|
|
399
|
-
let redacted =
|
|
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(
|
|
421
|
-
return this.scan(
|
|
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(
|
|
431
|
-
return this.scan(
|
|
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(
|
|
435
|
+
collectRegexSpans(text13) {
|
|
436
436
|
const spans = [];
|
|
437
437
|
this.patterns.forEach((pattern, patternIndex) => {
|
|
438
|
-
for (const { match, index } of this.findMatches(
|
|
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(
|
|
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),
|
|
463
|
-
let end = Math.max(0, Math.min(Math.trunc(s.end),
|
|
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(
|
|
466
|
-
while (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(
|
|
475
|
+
async detectNerSpans(text13) {
|
|
476
476
|
if (!this.nerDetector) return [];
|
|
477
477
|
try {
|
|
478
|
-
return this.normalizeNerSpans(
|
|
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(
|
|
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 =
|
|
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 +=
|
|
524
|
+
result += text13.slice(cursor, s.start) + (placeholderByStart.get(s.start) ?? "");
|
|
525
525
|
cursor = s.end;
|
|
526
526
|
}
|
|
527
|
-
result +=
|
|
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(
|
|
532
|
-
const nerPromise = this.detectNerSpans(
|
|
533
|
-
const regexSpans = this.collectRegexSpans(
|
|
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(
|
|
543
|
-
if (!this.nerDetector) return this.redactText(
|
|
544
|
-
const spans = await this.detectAllSpans(
|
|
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
|
-
|
|
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(
|
|
556
|
-
if (!this.nerDetector) return this.maskText(
|
|
557
|
-
const spans = await this.detectAllSpans(
|
|
558
|
-
return this.rebuildSpans(
|
|
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(
|
|
645
|
-
if (!
|
|
646
|
-
let restored =
|
|
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(
|
|
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:
|
|
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 =
|
|
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
|
|
895
|
+
const outcome2 = await attemptPortalJson(
|
|
896
896
|
{ ...attemptReq, transport },
|
|
897
897
|
endpoint
|
|
898
898
|
);
|
|
899
|
-
if (
|
|
899
|
+
if (outcome2.kind === "ok") {
|
|
900
900
|
req.onAttempt?.({ attempt, ok: true });
|
|
901
|
-
return
|
|
901
|
+
return outcome2.value;
|
|
902
902
|
}
|
|
903
903
|
req.onAttempt?.({
|
|
904
904
|
attempt,
|
|
905
905
|
ok: false,
|
|
906
|
-
reason:
|
|
907
|
-
...
|
|
906
|
+
reason: outcome2.code,
|
|
907
|
+
...outcome2.httpStatus !== void 0 && { httpStatus: outcome2.httpStatus }
|
|
908
908
|
});
|
|
909
909
|
lastFailure = {
|
|
910
|
-
reason:
|
|
911
|
-
...
|
|
910
|
+
reason: outcome2.code,
|
|
911
|
+
...outcome2.httpStatus !== void 0 && { httpStatus: outcome2.httpStatus },
|
|
912
912
|
attempts: attempt
|
|
913
913
|
};
|
|
914
|
-
if (
|
|
915
|
-
if (
|
|
916
|
-
log.warn(`[${req.tag}] ${
|
|
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}] ${
|
|
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,
|
|
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}] ${
|
|
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}] ${
|
|
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
|
|
1136
|
-
return
|
|
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({
|
|
@@ -1588,6 +1588,7 @@ __export(index_exports, {
|
|
|
1588
1588
|
extractFacts: () => extractFacts,
|
|
1589
1589
|
extractFileIds: () => extractFileIds,
|
|
1590
1590
|
extractMCPImageUrls: () => extractMCPImageUrls,
|
|
1591
|
+
extractReservationReceipts: () => extractReservationReceipts,
|
|
1591
1592
|
fileExists: () => fileExists,
|
|
1592
1593
|
findById: () => findById,
|
|
1593
1594
|
findMatchingTools: () => findMatchingTools,
|
|
@@ -2525,8 +2526,8 @@ var createClient = (config = {}) => {
|
|
|
2525
2526
|
data = await response[parseAs]();
|
|
2526
2527
|
break;
|
|
2527
2528
|
case "json": {
|
|
2528
|
-
const
|
|
2529
|
-
data =
|
|
2529
|
+
const text13 = await response.text();
|
|
2530
|
+
data = text13 ? JSON.parse(text13) : {};
|
|
2530
2531
|
break;
|
|
2531
2532
|
}
|
|
2532
2533
|
case "stream":
|
|
@@ -5810,8 +5811,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
|
|
|
5810
5811
|
var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
|
|
5811
5812
|
var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
|
|
5812
5813
|
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.`;
|
|
5813
|
-
function isAttachedFilesText(
|
|
5814
|
-
return typeof
|
|
5814
|
+
function isAttachedFilesText(text13) {
|
|
5815
|
+
return typeof text13 === "string" && text13.startsWith(ATTACHED_FILES_PREFIX) && text13.endsWith(ATTACHED_FILES_CLOSE_TAG);
|
|
5815
5816
|
}
|
|
5816
5817
|
function buildAttachedFilesText(fileContext) {
|
|
5817
5818
|
return `${ATTACHED_FILES_PREFIX}
|
|
@@ -6990,49 +6991,49 @@ init_logger();
|
|
|
6990
6991
|
var DEFAULT_CHUNK_SIZE = 400;
|
|
6991
6992
|
var DEFAULT_CHUNK_OVERLAP = 50;
|
|
6992
6993
|
var DEFAULT_MIN_CHUNK_SIZE = 50;
|
|
6993
|
-
function splitIntoSentences(
|
|
6994
|
+
function splitIntoSentences(text13) {
|
|
6994
6995
|
const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
|
|
6995
6996
|
const sentences = [];
|
|
6996
6997
|
let lastIndex = 0;
|
|
6997
6998
|
let match;
|
|
6998
|
-
while ((match = sentenceRegex.exec(
|
|
6999
|
+
while ((match = sentenceRegex.exec(text13)) !== null) {
|
|
6999
7000
|
const endIndex = match.index + match[0].length;
|
|
7000
|
-
const sentence =
|
|
7001
|
+
const sentence = text13.slice(lastIndex, endIndex).trim();
|
|
7001
7002
|
if (sentence) {
|
|
7002
7003
|
sentences.push(sentence);
|
|
7003
7004
|
}
|
|
7004
7005
|
lastIndex = endIndex;
|
|
7005
7006
|
}
|
|
7006
|
-
const remaining =
|
|
7007
|
+
const remaining = text13.slice(lastIndex).trim();
|
|
7007
7008
|
if (remaining) {
|
|
7008
7009
|
sentences.push(remaining);
|
|
7009
7010
|
}
|
|
7010
7011
|
return sentences;
|
|
7011
7012
|
}
|
|
7012
|
-
function chunkText(
|
|
7013
|
+
function chunkText(text13, options) {
|
|
7013
7014
|
const {
|
|
7014
7015
|
chunkSize = DEFAULT_CHUNK_SIZE,
|
|
7015
7016
|
chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
|
|
7016
7017
|
minChunkSize = DEFAULT_MIN_CHUNK_SIZE
|
|
7017
7018
|
} = options ?? {};
|
|
7018
7019
|
const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
|
|
7019
|
-
if (
|
|
7020
|
+
if (text13.length <= chunkSize) {
|
|
7020
7021
|
return [
|
|
7021
7022
|
{
|
|
7022
|
-
text:
|
|
7023
|
+
text: text13.trim(),
|
|
7023
7024
|
startOffset: 0,
|
|
7024
|
-
endOffset:
|
|
7025
|
+
endOffset: text13.length
|
|
7025
7026
|
}
|
|
7026
7027
|
];
|
|
7027
7028
|
}
|
|
7028
|
-
const sentences = splitIntoSentences(
|
|
7029
|
+
const sentences = splitIntoSentences(text13);
|
|
7029
7030
|
const chunks2 = [];
|
|
7030
7031
|
let currentChunkSentences = [];
|
|
7031
7032
|
let currentChunkStart = 0;
|
|
7032
7033
|
let currentOffset = 0;
|
|
7033
7034
|
for (let i = 0; i < sentences.length; i++) {
|
|
7034
7035
|
const sentence = sentences[i];
|
|
7035
|
-
let sentenceStart =
|
|
7036
|
+
let sentenceStart = text13.indexOf(sentence, currentOffset);
|
|
7036
7037
|
if (sentenceStart === -1) {
|
|
7037
7038
|
sentenceStart = currentOffset;
|
|
7038
7039
|
}
|
|
@@ -7079,7 +7080,7 @@ function chunkText(text12, options) {
|
|
|
7079
7080
|
if (overlapSentences.length > 0) {
|
|
7080
7081
|
currentChunkSentences = [...overlapSentences, sentence];
|
|
7081
7082
|
const overlapText = overlapSentences[0];
|
|
7082
|
-
const overlapStart =
|
|
7083
|
+
const overlapStart = text13.lastIndexOf(overlapText, currentOffset);
|
|
7083
7084
|
currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
|
|
7084
7085
|
} else {
|
|
7085
7086
|
currentChunkSentences = [sentence];
|
|
@@ -7099,18 +7100,18 @@ function chunkText(text12, options) {
|
|
|
7099
7100
|
chunks2.push({
|
|
7100
7101
|
text: chunkText2,
|
|
7101
7102
|
startOffset: currentChunkStart,
|
|
7102
|
-
endOffset:
|
|
7103
|
+
endOffset: text13.length
|
|
7103
7104
|
});
|
|
7104
7105
|
}
|
|
7105
7106
|
}
|
|
7106
7107
|
if (chunks2.length === 0) {
|
|
7107
|
-
const trimmedText =
|
|
7108
|
+
const trimmedText = text13.trim();
|
|
7108
7109
|
if (trimmedText.length > 0) {
|
|
7109
7110
|
return [
|
|
7110
7111
|
{
|
|
7111
7112
|
text: trimmedText,
|
|
7112
7113
|
startOffset: 0,
|
|
7113
|
-
endOffset:
|
|
7114
|
+
endOffset: text13.length
|
|
7114
7115
|
}
|
|
7115
7116
|
];
|
|
7116
7117
|
}
|
|
@@ -7211,16 +7212,16 @@ function embeddingErrorFrom(response) {
|
|
|
7211
7212
|
const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
|
|
7212
7213
|
return new EmbeddingHttpError(message, response.response?.status);
|
|
7213
7214
|
}
|
|
7214
|
-
async function generateEmbedding(
|
|
7215
|
+
async function generateEmbedding(text13, options) {
|
|
7215
7216
|
const total = options.totalTimeoutMs;
|
|
7216
|
-
if (total === void 0) return embedOne(
|
|
7217
|
-
return withDeadline((signal) => embedOne(
|
|
7217
|
+
if (total === void 0) return embedOne(text13, options, void 0);
|
|
7218
|
+
return withDeadline((signal) => embedOne(text13, options, signal), total, "embedding");
|
|
7218
7219
|
}
|
|
7219
|
-
async function embedOne(
|
|
7220
|
+
async function embedOne(text13, options, outer) {
|
|
7220
7221
|
const { baseUrl = BASE_URL, model, cache } = options;
|
|
7221
7222
|
const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
|
|
7222
7223
|
if (cache) {
|
|
7223
|
-
const cached = cache.get(
|
|
7224
|
+
const cached = cache.get(text13);
|
|
7224
7225
|
if (cached) return Array.from(cached);
|
|
7225
7226
|
}
|
|
7226
7227
|
const headers = await resolveAuthHeaders(options, outer);
|
|
@@ -7229,7 +7230,7 @@ async function embedOne(text12, options, outer) {
|
|
|
7229
7230
|
(signal) => postApiV1Embeddings({
|
|
7230
7231
|
baseUrl,
|
|
7231
7232
|
body: {
|
|
7232
|
-
input: options.maskInput ? options.maskInput(
|
|
7233
|
+
input: options.maskInput ? options.maskInput(text13) : text13,
|
|
7233
7234
|
model: model ?? DEFAULT_API_EMBEDDING_MODEL
|
|
7234
7235
|
},
|
|
7235
7236
|
headers,
|
|
@@ -7256,7 +7257,7 @@ async function embedOne(text12, options, outer) {
|
|
|
7256
7257
|
}
|
|
7257
7258
|
const f32Embedding = Float32Array.from(embedding);
|
|
7258
7259
|
if (cache) {
|
|
7259
|
-
cache.set(
|
|
7260
|
+
cache.set(text13, f32Embedding);
|
|
7260
7261
|
}
|
|
7261
7262
|
return Array.from(f32Embedding);
|
|
7262
7263
|
}
|
|
@@ -7590,10 +7591,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
|
|
|
7590
7591
|
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];
|
|
7591
7592
|
|
|
7592
7593
|
// src/lib/chat/preProcessor.ts
|
|
7593
|
-
function wrapAsUserText(prefix,
|
|
7594
|
-
if (!
|
|
7594
|
+
function wrapAsUserText(prefix, text13) {
|
|
7595
|
+
if (!text13 || !text13.trim()) return [];
|
|
7595
7596
|
return [{ role: "user", content: [{ type: "text", text: `${prefix}
|
|
7596
|
-
${
|
|
7597
|
+
${text13}` }] }];
|
|
7597
7598
|
}
|
|
7598
7599
|
|
|
7599
7600
|
// src/lib/chat/cryptoPriceClassifier.ts
|
|
@@ -7632,6 +7633,80 @@ function createCryptoPricePreProcessor(options = {}) {
|
|
|
7632
7633
|
};
|
|
7633
7634
|
}
|
|
7634
7635
|
|
|
7636
|
+
// src/lib/chat/reservationReceipts.ts
|
|
7637
|
+
var ACTIONS = [
|
|
7638
|
+
{
|
|
7639
|
+
kind: "booking",
|
|
7640
|
+
tool: "anuma_book_restaurant",
|
|
7641
|
+
alreadyDone: /^Tool "[^"]*" failed: ALREADY_BOOKED:/
|
|
7642
|
+
},
|
|
7643
|
+
{
|
|
7644
|
+
kind: "cancel",
|
|
7645
|
+
tool: "anuma_cancel_reservation",
|
|
7646
|
+
alreadyDone: /^Tool "[^"]*" failed: ALREADY_CANCELLED:/
|
|
7647
|
+
}
|
|
7648
|
+
];
|
|
7649
|
+
var NOT_AN_ATTEMPT = /^Tool "[^"]*" (has already been called|was already called)/;
|
|
7650
|
+
var BOOKING_OUTCOME_UNKNOWN = /^Tool "[^"]*" failed: BOOKING_OUTCOME_UNKNOWN:/;
|
|
7651
|
+
var CANCEL_OUTCOME_UNKNOWN = "CANCEL_OUTCOME_UNKNOWN";
|
|
7652
|
+
function extractReservationReceipts(toolCallEvents) {
|
|
7653
|
+
const latest = /* @__PURE__ */ new Map();
|
|
7654
|
+
for (const event of toolCallEvents ?? []) {
|
|
7655
|
+
const action = ACTIONS.find((a) => event.name?.endsWith(a.tool));
|
|
7656
|
+
const output = event.output ?? "";
|
|
7657
|
+
if (!action || !output || NOT_AN_ATTEMPT.test(output)) continue;
|
|
7658
|
+
const kept = latest.get(action.kind)?.status;
|
|
7659
|
+
if (kept === "made") continue;
|
|
7660
|
+
const receipt = toReceipt(action, event.arguments ?? "", output);
|
|
7661
|
+
if (kept === "unknown" && receipt.status !== "made") continue;
|
|
7662
|
+
latest.set(action.kind, receipt);
|
|
7663
|
+
}
|
|
7664
|
+
return [...latest.values()];
|
|
7665
|
+
}
|
|
7666
|
+
function toReceipt(action, argumentsJson, output) {
|
|
7667
|
+
const args = parseObject(argumentsJson);
|
|
7668
|
+
const result = parseObject(output);
|
|
7669
|
+
return {
|
|
7670
|
+
kind: action.kind,
|
|
7671
|
+
venueName: text(args.venue_name) ?? "",
|
|
7672
|
+
day: text(args.day) ?? "",
|
|
7673
|
+
time: text(args.time) ?? "",
|
|
7674
|
+
partySize: count(args.party_size),
|
|
7675
|
+
reservationId: text(result.reservation_id) ?? text(args.reservation_id),
|
|
7676
|
+
resyUrl: text(result.reservations_url),
|
|
7677
|
+
feeSummary: text(result.fee_summary),
|
|
7678
|
+
...outcome(action, output, result)
|
|
7679
|
+
};
|
|
7680
|
+
}
|
|
7681
|
+
function outcome(action, output, result) {
|
|
7682
|
+
if (action.alreadyDone.test(output)) return { status: "already_done" };
|
|
7683
|
+
const reason = text(result.error);
|
|
7684
|
+
if (action.kind === "booking") {
|
|
7685
|
+
if (BOOKING_OUTCOME_UNKNOWN.test(output)) return { status: "unknown" };
|
|
7686
|
+
const held = result.success === true || text(result.reservation_id) !== void 0;
|
|
7687
|
+
return held ? { status: "made" } : { status: "not_made", reason };
|
|
7688
|
+
}
|
|
7689
|
+
if (result.error_code === CANCEL_OUTCOME_UNKNOWN) return { status: "unknown", reason };
|
|
7690
|
+
const cancelled = result.success === true && !result.error && !result.error_code;
|
|
7691
|
+
return cancelled ? { status: "made" } : { status: "not_made", reason };
|
|
7692
|
+
}
|
|
7693
|
+
function parseObject(json4) {
|
|
7694
|
+
try {
|
|
7695
|
+
const parsed = JSON.parse(json4);
|
|
7696
|
+
return parsed && typeof parsed === "object" ? parsed : {};
|
|
7697
|
+
} catch {
|
|
7698
|
+
return {};
|
|
7699
|
+
}
|
|
7700
|
+
}
|
|
7701
|
+
function text(value) {
|
|
7702
|
+
if (typeof value === "number") return String(value);
|
|
7703
|
+
return typeof value === "string" && value ? value : void 0;
|
|
7704
|
+
}
|
|
7705
|
+
function count(value) {
|
|
7706
|
+
const n = typeof value === "string" && value.trim() ? Number(value) : value;
|
|
7707
|
+
return typeof n === "number" && Number.isFinite(n) ? n : void 0;
|
|
7708
|
+
}
|
|
7709
|
+
|
|
7635
7710
|
// src/lib/chat/resumeStream.ts
|
|
7636
7711
|
init_clientConfig();
|
|
7637
7712
|
|
|
@@ -7640,6 +7715,46 @@ init_clientConfig();
|
|
|
7640
7715
|
|
|
7641
7716
|
// src/tools/confirmConstants.ts
|
|
7642
7717
|
var CONFIRM_TOOL_NAME = "prompt_user_confirm";
|
|
7718
|
+
var BOOK_RESTAURANT = {
|
|
7719
|
+
tool: "AnumaPaymentsMCP-anuma_book_restaurant",
|
|
7720
|
+
status: "confirmed_not_booked",
|
|
7721
|
+
fields: ["venue_id", "config_id", "party_size", "day", "venue_name", "time"]
|
|
7722
|
+
};
|
|
7723
|
+
var CANCEL_RESERVATION = {
|
|
7724
|
+
tool: "AnumaPaymentsMCP-anuma_cancel_reservation",
|
|
7725
|
+
status: "confirmed_not_cancelled",
|
|
7726
|
+
fields: [
|
|
7727
|
+
"reservation_id",
|
|
7728
|
+
"venue_name",
|
|
7729
|
+
"day",
|
|
7730
|
+
"time",
|
|
7731
|
+
"party_size",
|
|
7732
|
+
"fee_applies",
|
|
7733
|
+
"fee_amount"
|
|
7734
|
+
]
|
|
7735
|
+
};
|
|
7736
|
+
var CONFIRM_REQUIRED_FIELDS = /* @__PURE__ */ new Map([
|
|
7737
|
+
["book_restaurant", BOOK_RESTAURANT],
|
|
7738
|
+
["anuma_book_restaurant", BOOK_RESTAURANT],
|
|
7739
|
+
["anumapaymentsmcp-anuma_book_restaurant", BOOK_RESTAURANT],
|
|
7740
|
+
["cancel_reservation", CANCEL_RESERVATION],
|
|
7741
|
+
["anuma_cancel_reservation", CANCEL_RESERVATION],
|
|
7742
|
+
["anumapaymentsmcp-anuma_cancel_reservation", CANCEL_RESERVATION]
|
|
7743
|
+
]);
|
|
7744
|
+
function confirmRequirement(action) {
|
|
7745
|
+
if (typeof action !== "string") return void 0;
|
|
7746
|
+
return CONFIRM_REQUIRED_FIELDS.get(action.trim().toLowerCase());
|
|
7747
|
+
}
|
|
7748
|
+
function missingConfirmFields(action, parameters) {
|
|
7749
|
+
const requirement = confirmRequirement(action);
|
|
7750
|
+
if (!requirement) return [];
|
|
7751
|
+
const shown = /* @__PURE__ */ new Set();
|
|
7752
|
+
for (const parameter of Array.isArray(parameters) ? parameters : []) {
|
|
7753
|
+
const { name, value } = parameter ?? {};
|
|
7754
|
+
if (typeof name === "string" && typeof value === "string" && value.trim()) shown.add(name);
|
|
7755
|
+
}
|
|
7756
|
+
return requirement.fields.filter((field10) => !shown.has(field10));
|
|
7757
|
+
}
|
|
7643
7758
|
|
|
7644
7759
|
// src/lib/chat/toolLoop.ts
|
|
7645
7760
|
init_redactor();
|
|
@@ -10466,13 +10581,13 @@ var StreamSmoother = class {
|
|
|
10466
10581
|
/**
|
|
10467
10582
|
* Add text to the buffer. If smoothing is disabled, passes through immediately.
|
|
10468
10583
|
*/
|
|
10469
|
-
push(
|
|
10470
|
-
if (this.destroyed || !
|
|
10584
|
+
push(text13) {
|
|
10585
|
+
if (this.destroyed || !text13) return;
|
|
10471
10586
|
if (!this.enabled) {
|
|
10472
|
-
this.callback(
|
|
10587
|
+
this.callback(text13);
|
|
10473
10588
|
return;
|
|
10474
10589
|
}
|
|
10475
|
-
this.buffer +=
|
|
10590
|
+
this.buffer += text13;
|
|
10476
10591
|
this.ensureTimer();
|
|
10477
10592
|
}
|
|
10478
10593
|
/**
|
|
@@ -10483,9 +10598,9 @@ var StreamSmoother = class {
|
|
|
10483
10598
|
if (this.destroyed) return;
|
|
10484
10599
|
this.stopTimer();
|
|
10485
10600
|
if (this.buffer.length > 0) {
|
|
10486
|
-
const
|
|
10601
|
+
const text13 = this.buffer;
|
|
10487
10602
|
this.buffer = "";
|
|
10488
|
-
this.callback(
|
|
10603
|
+
this.callback(text13);
|
|
10489
10604
|
}
|
|
10490
10605
|
this.resolveDrain();
|
|
10491
10606
|
}
|
|
@@ -10552,9 +10667,9 @@ var StreamSmoother = class {
|
|
|
10552
10667
|
const currentSpeed = this.getCurrentSpeed(elapsed);
|
|
10553
10668
|
const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
|
|
10554
10669
|
const toRelease = Math.min(charsThisTick, this.buffer.length);
|
|
10555
|
-
const
|
|
10670
|
+
const text13 = this.buffer.slice(0, toRelease);
|
|
10556
10671
|
this.buffer = this.buffer.slice(toRelease);
|
|
10557
|
-
this.callback(
|
|
10672
|
+
this.callback(text13);
|
|
10558
10673
|
if (this.buffer.length === 0) {
|
|
10559
10674
|
this.stopTimer();
|
|
10560
10675
|
this.resolveDrain();
|
|
@@ -10758,6 +10873,7 @@ function getToolName(tool) {
|
|
|
10758
10873
|
}
|
|
10759
10874
|
function toolsAfterConfirmation(apiTools, executionResults) {
|
|
10760
10875
|
const members = /* @__PURE__ */ new Set();
|
|
10876
|
+
let keepConfirm = false;
|
|
10761
10877
|
for (const r of executionResults) {
|
|
10762
10878
|
if (r.name !== CONFIRM_TOOL_NAME) continue;
|
|
10763
10879
|
const answer = r.result;
|
|
@@ -10765,11 +10881,12 @@ function toolsAfterConfirmation(apiTools, executionResults) {
|
|
|
10765
10881
|
const setName = CONFIRMED_ACTION_TOOL_SETS.get(answer.action.trim().toLowerCase());
|
|
10766
10882
|
const set = BUILT_IN_TOOL_SETS.find((s) => s.name === setName);
|
|
10767
10883
|
for (const member of set?.members ?? []) members.add(member);
|
|
10884
|
+
if (missingConfirmFields(answer.action, answer.parameters).length > 0) keepConfirm = true;
|
|
10768
10885
|
}
|
|
10769
10886
|
if (!apiTools.some((t) => members.has(getToolName(t) ?? ""))) return void 0;
|
|
10770
10887
|
return apiTools.filter((t) => {
|
|
10771
10888
|
const name = getToolName(t) ?? "";
|
|
10772
|
-
return members.has(name) || name ===
|
|
10889
|
+
return members.has(name) || name === TOOL_SEARCH_TOOL_NAME || keepConfirm && name === CONFIRM_TOOL_NAME;
|
|
10773
10890
|
});
|
|
10774
10891
|
}
|
|
10775
10892
|
var STREAM_RESUMABLE_HEADER = "X-Stream-Resumable";
|
|
@@ -10975,9 +11092,9 @@ async function runToolLoop(options) {
|
|
|
10975
11092
|
messages = await redactBatch(messages);
|
|
10976
11093
|
if (preProcessors?.length) {
|
|
10977
11094
|
try {
|
|
10978
|
-
const
|
|
10979
|
-
if (
|
|
10980
|
-
const embedding = await generateEmbedding(
|
|
11095
|
+
const text13 = extractLastUserText(messages);
|
|
11096
|
+
if (text13.length > 0) {
|
|
11097
|
+
const embedding = await generateEmbedding(text13, {
|
|
10981
11098
|
apiKey: headers?.["X-API-Key"],
|
|
10982
11099
|
getToken: token ? () => Promise.resolve(token) : void 0,
|
|
10983
11100
|
baseUrl
|
|
@@ -10985,7 +11102,7 @@ async function runToolLoop(options) {
|
|
|
10985
11102
|
const results = await Promise.all(
|
|
10986
11103
|
preProcessors.map(async (p) => {
|
|
10987
11104
|
try {
|
|
10988
|
-
return await p({ prompt:
|
|
11105
|
+
return await p({ prompt: text13, embedding, signal: combinedSignal });
|
|
10989
11106
|
} catch (err) {
|
|
10990
11107
|
console.warn("[runToolLoop] pre-processor failed:", err);
|
|
10991
11108
|
return void 0;
|
|
@@ -11144,11 +11261,11 @@ async function runToolLoop(options) {
|
|
|
11144
11261
|
}
|
|
11145
11262
|
});
|
|
11146
11263
|
accumulator = createStreamAccumulator(model || void 0);
|
|
11147
|
-
contentSmoother = new StreamSmoother((
|
|
11148
|
-
if (emitData) emitData(
|
|
11264
|
+
contentSmoother = new StreamSmoother((text13) => {
|
|
11265
|
+
if (emitData) emitData(text13);
|
|
11149
11266
|
}, smoothing);
|
|
11150
|
-
thinkingSmoother = new StreamSmoother((
|
|
11151
|
-
if (emitThinking) emitThinking(
|
|
11267
|
+
thinkingSmoother = new StreamSmoother((text13) => {
|
|
11268
|
+
if (emitThinking) emitThinking(text13);
|
|
11152
11269
|
}, smoothing);
|
|
11153
11270
|
let chunksEmittedDownstream = false;
|
|
11154
11271
|
try {
|
|
@@ -11653,11 +11770,11 @@ Executing tool: ${toolInfo}
|
|
|
11653
11770
|
}
|
|
11654
11771
|
});
|
|
11655
11772
|
currentAccumulator = createStreamAccumulator(model || void 0);
|
|
11656
|
-
contContentSmoother = new StreamSmoother((
|
|
11657
|
-
if (emitData) emitData(
|
|
11773
|
+
contContentSmoother = new StreamSmoother((text13) => {
|
|
11774
|
+
if (emitData) emitData(text13);
|
|
11658
11775
|
}, smoothing);
|
|
11659
|
-
contThinkingSmoother = new StreamSmoother((
|
|
11660
|
-
if (emitThinking) emitThinking(
|
|
11776
|
+
contThinkingSmoother = new StreamSmoother((text13) => {
|
|
11777
|
+
if (emitThinking) emitThinking(text13);
|
|
11661
11778
|
}, smoothing);
|
|
11662
11779
|
let chunksEmittedDownstream = false;
|
|
11663
11780
|
try {
|
|
@@ -11884,11 +12001,11 @@ async function resumeStream(options) {
|
|
|
11884
12001
|
} = options;
|
|
11885
12002
|
const strategy = getStrategy(handle.apiType);
|
|
11886
12003
|
const accumulator = createStreamAccumulator(handle.model || void 0);
|
|
11887
|
-
const contentSmoother = new StreamSmoother((
|
|
11888
|
-
if (onData) onData(
|
|
12004
|
+
const contentSmoother = new StreamSmoother((text13) => {
|
|
12005
|
+
if (onData) onData(text13);
|
|
11889
12006
|
}, smoothing);
|
|
11890
|
-
const thinkingSmoother = new StreamSmoother((
|
|
11891
|
-
if (onThinking) onThinking(
|
|
12007
|
+
const thinkingSmoother = new StreamSmoother((text13) => {
|
|
12008
|
+
if (onThinking) onThinking(text13);
|
|
11892
12009
|
}, smoothing);
|
|
11893
12010
|
const idleController = new AbortController();
|
|
11894
12011
|
let watchdog;
|
|
@@ -18008,7 +18125,7 @@ Which item numbers should be flagged?`,
|
|
|
18008
18125
|
if (parsed === null) return empty;
|
|
18009
18126
|
return { flagged: parseFlagged(parsed, scope.length) };
|
|
18010
18127
|
}
|
|
18011
|
-
function parseFlagged(parsed,
|
|
18128
|
+
function parseFlagged(parsed, count2) {
|
|
18012
18129
|
const out = /* @__PURE__ */ new Set();
|
|
18013
18130
|
if (typeof parsed !== "object" || parsed === null) return out;
|
|
18014
18131
|
const list = parsed.poisoned;
|
|
@@ -18016,7 +18133,7 @@ function parseFlagged(parsed, count) {
|
|
|
18016
18133
|
for (const raw of list) {
|
|
18017
18134
|
const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
|
|
18018
18135
|
if (!Number.isInteger(n)) continue;
|
|
18019
|
-
if (n >= 1 && n <=
|
|
18136
|
+
if (n >= 1 && n <= count2) out.add(n - 1);
|
|
18020
18137
|
}
|
|
18021
18138
|
return out;
|
|
18022
18139
|
}
|
|
@@ -18513,8 +18630,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
|
|
|
18513
18630
|
"user",
|
|
18514
18631
|
"users"
|
|
18515
18632
|
]);
|
|
18516
|
-
function tokenize(
|
|
18517
|
-
const m =
|
|
18633
|
+
function tokenize(text13) {
|
|
18634
|
+
const m = text13.toLowerCase().match(TOKEN_RE);
|
|
18518
18635
|
if (!m) return [];
|
|
18519
18636
|
return m.filter((t) => !STOPWORDS.has(t));
|
|
18520
18637
|
}
|
|
@@ -20041,14 +20158,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
|
|
|
20041
20158
|
);
|
|
20042
20159
|
}
|
|
20043
20160
|
if (options.consolidateOptions) {
|
|
20044
|
-
const
|
|
20045
|
-
if (
|
|
20046
|
-
if ("done" in
|
|
20047
|
-
if ("create" in
|
|
20161
|
+
const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
|
|
20162
|
+
if (outcome2) {
|
|
20163
|
+
if ("done" in outcome2) return outcome2.done;
|
|
20164
|
+
if ("create" in outcome2) {
|
|
20048
20165
|
consolidationDecidedCreate = true;
|
|
20049
20166
|
} else {
|
|
20050
|
-
supersedeTargetIds =
|
|
20051
|
-
supersedeContent =
|
|
20167
|
+
supersedeTargetIds = outcome2.supersede;
|
|
20168
|
+
supersedeContent = outcome2.content;
|
|
20052
20169
|
}
|
|
20053
20170
|
}
|
|
20054
20171
|
}
|
|
@@ -20714,12 +20831,12 @@ async function extractAndRetain(messages, retainCtx, options) {
|
|
|
20714
20831
|
if (failedWrites > 0) {
|
|
20715
20832
|
log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
|
|
20716
20833
|
}
|
|
20717
|
-
const
|
|
20834
|
+
const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
|
|
20718
20835
|
return {
|
|
20719
20836
|
candidates: succeededCandidates,
|
|
20720
20837
|
results,
|
|
20721
20838
|
failedCount: failedWrites,
|
|
20722
|
-
outcome,
|
|
20839
|
+
outcome: outcome2,
|
|
20723
20840
|
quarantined: quarantinedInfo,
|
|
20724
20841
|
funnel: {
|
|
20725
20842
|
rawCandidateCount,
|
|
@@ -20951,7 +21068,7 @@ function createAutoExtractor(options) {
|
|
|
20951
21068
|
...options.retainCtx,
|
|
20952
21069
|
embeddingOptions: {
|
|
20953
21070
|
...options.retainCtx.embeddingOptions,
|
|
20954
|
-
maskInput: (
|
|
21071
|
+
maskInput: (text13) => piiRedactor.maskText(text13)
|
|
20955
21072
|
}
|
|
20956
21073
|
} : options.retainCtx;
|
|
20957
21074
|
function processTurn(messages, conversationId) {
|
|
@@ -20984,7 +21101,7 @@ function createAutoExtractor(options) {
|
|
|
20984
21101
|
const t0 = Date.now();
|
|
20985
21102
|
void (async () => {
|
|
20986
21103
|
try {
|
|
20987
|
-
const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
|
|
21104
|
+
const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
|
|
20988
21105
|
extract,
|
|
20989
21106
|
...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
|
|
20990
21107
|
...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
|
|
@@ -21001,7 +21118,7 @@ function createAutoExtractor(options) {
|
|
|
21001
21118
|
onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
|
|
21002
21119
|
}
|
|
21003
21120
|
});
|
|
21004
|
-
if (
|
|
21121
|
+
if (outcome2 !== "empty-after-retry" && failedCount === 0) {
|
|
21005
21122
|
const advancedTo = window2[window2.length - 1].id;
|
|
21006
21123
|
stateFor(conversationId).watermark = advancedTo;
|
|
21007
21124
|
persistCursor(conversationId, messages, advancedTo, contiguous);
|
|
@@ -21020,7 +21137,7 @@ function createAutoExtractor(options) {
|
|
|
21020
21137
|
failedCount,
|
|
21021
21138
|
durationMs: Date.now() - t0,
|
|
21022
21139
|
conversationId,
|
|
21023
|
-
outcome,
|
|
21140
|
+
outcome: outcome2,
|
|
21024
21141
|
funnel,
|
|
21025
21142
|
timings,
|
|
21026
21143
|
model,
|
|
@@ -22697,12 +22814,12 @@ ${JSON.stringify(
|
|
|
22697
22814
|
function parseAnswer(body, base, parseSchema) {
|
|
22698
22815
|
if (typeof body !== "object" || body === null) return base;
|
|
22699
22816
|
const obj = body;
|
|
22700
|
-
const
|
|
22817
|
+
const text13 = extractCompletionContent(obj) ?? "";
|
|
22701
22818
|
const usage = obj.usage;
|
|
22702
22819
|
let structuredOutput;
|
|
22703
|
-
if (parseSchema &&
|
|
22820
|
+
if (parseSchema && text13) {
|
|
22704
22821
|
try {
|
|
22705
|
-
structuredOutput = JSON.parse(extractJsonCandidate(
|
|
22822
|
+
structuredOutput = JSON.parse(extractJsonCandidate(text13));
|
|
22706
22823
|
} catch (err) {
|
|
22707
22824
|
getLogger().warn("[memory/reflect] structured output was not valid JSON", {
|
|
22708
22825
|
err: err instanceof Error ? err.message : String(err)
|
|
@@ -22712,7 +22829,7 @@ function parseAnswer(body, base, parseSchema) {
|
|
|
22712
22829
|
const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
|
|
22713
22830
|
const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
|
|
22714
22831
|
return {
|
|
22715
|
-
text:
|
|
22832
|
+
text: text13,
|
|
22716
22833
|
...structuredOutput !== void 0 && { structuredOutput },
|
|
22717
22834
|
basedOn: base.basedOn,
|
|
22718
22835
|
usage: {
|
|
@@ -23917,10 +24034,10 @@ function createRemoteMemoryPipeline(options) {
|
|
|
23917
24034
|
factSource: {
|
|
23918
24035
|
graphRanking: options.graphRanking,
|
|
23919
24036
|
temporalRanking: options.temporalRanking,
|
|
23920
|
-
search: async (
|
|
23921
|
-
const prepared = await prepare(
|
|
24037
|
+
search: async (text13, searchOptions) => {
|
|
24038
|
+
const prepared = await prepare(text13, searchOptions);
|
|
23922
24039
|
const ranked = await rankPreparedVaultCandidates(
|
|
23923
|
-
|
|
24040
|
+
text13,
|
|
23924
24041
|
prepared,
|
|
23925
24042
|
embeddingOptions,
|
|
23926
24043
|
searchOptions
|
|
@@ -24811,8 +24928,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
|
|
|
24811
24928
|
memories
|
|
24812
24929
|
});
|
|
24813
24930
|
const noEvidence = result.basedOn.memoryIds.length === 0;
|
|
24814
|
-
const { text:
|
|
24815
|
-
if (!
|
|
24931
|
+
const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
|
|
24932
|
+
if (!text13 && !legitimateEmpty && !noEvidence) {
|
|
24816
24933
|
getLogger().warn(
|
|
24817
24934
|
"[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
|
|
24818
24935
|
{ facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
|
|
@@ -24822,12 +24939,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
|
|
|
24822
24939
|
const section = {
|
|
24823
24940
|
key: facet.key,
|
|
24824
24941
|
label: facet.label,
|
|
24825
|
-
text:
|
|
24942
|
+
text: text13,
|
|
24826
24943
|
sourceMemoryIds: result.basedOn.memoryIds,
|
|
24827
24944
|
generatedAt: Date.now()
|
|
24828
24945
|
};
|
|
24829
|
-
if (options.redactor &&
|
|
24830
|
-
const redacted = await options.redactor.redactTextAsync(
|
|
24946
|
+
if (options.redactor && text13) {
|
|
24947
|
+
const redacted = await options.redactor.redactTextAsync(text13);
|
|
24831
24948
|
section.text = redacted.text;
|
|
24832
24949
|
}
|
|
24833
24950
|
if (!legitimateEmpty && !noEvidence) {
|
|
@@ -25340,10 +25457,10 @@ function createDurableAutoExtractor(options) {
|
|
|
25340
25457
|
const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
|
|
25341
25458
|
if (!counted) return false;
|
|
25342
25459
|
const prior = sessionFailures.get(job.id);
|
|
25343
|
-
const
|
|
25344
|
-
sessionFailures.set(job.id, { head, count });
|
|
25460
|
+
const count2 = prior?.head === head ? prior.count + 1 : 1;
|
|
25461
|
+
sessionFailures.set(job.id, { head, count: count2 });
|
|
25345
25462
|
const terminal = error instanceof BatchFailureError && error.terminal;
|
|
25346
|
-
if (!terminal &&
|
|
25463
|
+
if (!terminal && count2 < MAX_ATTEMPTS) return false;
|
|
25347
25464
|
skippedThisSession.add(job.id);
|
|
25348
25465
|
const now = clock();
|
|
25349
25466
|
const lastCounted = failedAtOf(job, head);
|
|
@@ -25650,7 +25767,7 @@ async function verifyFactSupport(items, options) {
|
|
|
25650
25767
|
}
|
|
25651
25768
|
const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
|
|
25652
25769
|
const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
|
|
25653
|
-
const safe = async (
|
|
25770
|
+
const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
|
|
25654
25771
|
let truncatedCount = 0;
|
|
25655
25772
|
const parts = [];
|
|
25656
25773
|
for (const [i, item] of items.entries()) {
|
|
@@ -25707,7 +25824,7 @@ Which item numbers are supported?`,
|
|
|
25707
25824
|
}
|
|
25708
25825
|
return supported;
|
|
25709
25826
|
}
|
|
25710
|
-
function parseSupported(parsed,
|
|
25827
|
+
function parseSupported(parsed, count2) {
|
|
25711
25828
|
if (typeof parsed !== "object" || parsed === null) return null;
|
|
25712
25829
|
const list = parsed.supported;
|
|
25713
25830
|
if (!Array.isArray(list)) return null;
|
|
@@ -25715,7 +25832,7 @@ function parseSupported(parsed, count) {
|
|
|
25715
25832
|
for (const raw of list) {
|
|
25716
25833
|
const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
|
|
25717
25834
|
if (!Number.isInteger(n)) continue;
|
|
25718
|
-
if (n >= 1 && n <=
|
|
25835
|
+
if (n >= 1 && n <= count2) out.add(n - 1);
|
|
25719
25836
|
}
|
|
25720
25837
|
return out;
|
|
25721
25838
|
}
|
|
@@ -25766,7 +25883,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
|
|
|
25766
25883
|
);
|
|
25767
25884
|
const pending = [];
|
|
25768
25885
|
for (const { index, uniqueId, content, ids } of withinBudget) {
|
|
25769
|
-
const evidence = ids.map((id) => resolved.get(id) ?? null).filter((
|
|
25886
|
+
const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
|
|
25770
25887
|
const dropped = ids.length - evidence.length;
|
|
25771
25888
|
if (ids.some((id) => unreadable.has(id))) {
|
|
25772
25889
|
results[index] = {
|
|
@@ -26269,22 +26386,22 @@ function normalizeManualFactType(value) {
|
|
|
26269
26386
|
function isSharedScope(scope) {
|
|
26270
26387
|
return scope === "shared";
|
|
26271
26388
|
}
|
|
26272
|
-
async function notifyWritten(options, input,
|
|
26389
|
+
async function notifyWritten(options, input, outcome2) {
|
|
26273
26390
|
try {
|
|
26274
|
-
await options?.onWritten?.({ input, outcome });
|
|
26391
|
+
await options?.onWritten?.({ input, outcome: outcome2 });
|
|
26275
26392
|
} catch {
|
|
26276
26393
|
}
|
|
26277
26394
|
}
|
|
26278
|
-
function describeWriteOutcome(
|
|
26279
|
-
switch (
|
|
26395
|
+
function describeWriteOutcome(outcome2) {
|
|
26396
|
+
switch (outcome2.action) {
|
|
26280
26397
|
case "create":
|
|
26281
|
-
return `Memory saved successfully (ID: ${
|
|
26398
|
+
return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
|
|
26282
26399
|
case "update":
|
|
26283
26400
|
case "supersede":
|
|
26284
|
-
return `Memory saved successfully (ID: ${
|
|
26401
|
+
return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
|
|
26285
26402
|
case "merge":
|
|
26286
26403
|
case "skip":
|
|
26287
|
-
return `The vault already holds this fact (ID: ${
|
|
26404
|
+
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.`;
|
|
26288
26405
|
case "suppressed":
|
|
26289
26406
|
return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
|
|
26290
26407
|
}
|
|
@@ -26390,9 +26507,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
|
|
|
26390
26507
|
...folderId !== void 0 && { folderId },
|
|
26391
26508
|
...factType !== void 0 && { factType }
|
|
26392
26509
|
};
|
|
26393
|
-
const
|
|
26394
|
-
await notifyWritten(options, input,
|
|
26395
|
-
return describeWriteOutcome(
|
|
26510
|
+
const outcome2 = await options.write(input);
|
|
26511
|
+
await notifyWritten(options, input, outcome2);
|
|
26512
|
+
return describeWriteOutcome(outcome2);
|
|
26396
26513
|
}
|
|
26397
26514
|
const created = await createVaultMemoryOp(vaultCtx, {
|
|
26398
26515
|
content,
|
|
@@ -26681,10 +26798,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
26681
26798
|
function lineHeightMm(fontSizePt) {
|
|
26682
26799
|
return ptToMm(fontSizePt) * lineHeight;
|
|
26683
26800
|
}
|
|
26684
|
-
function renderWrappedText(
|
|
26801
|
+
function renderWrappedText(text13, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
|
|
26685
26802
|
doc.setFont(fontFamily, fontStyle);
|
|
26686
26803
|
doc.setFontSize(fontSizePt);
|
|
26687
|
-
const lines = doc.splitTextToSize(
|
|
26804
|
+
const lines = doc.splitTextToSize(text13, maxW);
|
|
26688
26805
|
const lh = lineHeightMm(fontSizePt);
|
|
26689
26806
|
for (const line of lines) {
|
|
26690
26807
|
ensureSpace(lh);
|
|
@@ -26766,10 +26883,10 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
26766
26883
|
const lh = lineHeightMm(opts.fontSize);
|
|
26767
26884
|
for (let i = 0; i < items.length; i++) {
|
|
26768
26885
|
const prefix = ordered ? `${(listToken.start || 1) + i}. ` : "\u2022 ";
|
|
26769
|
-
const
|
|
26886
|
+
const text13 = tokensToPlainText(items[i].tokens);
|
|
26770
26887
|
ensureSpace(lh);
|
|
26771
26888
|
doc.text(prefix, opts.margins.left, cursorY);
|
|
26772
|
-
const listLines = doc.splitTextToSize(
|
|
26889
|
+
const listLines = doc.splitTextToSize(text13, itemW);
|
|
26773
26890
|
for (const line of listLines) {
|
|
26774
26891
|
ensureSpace(lh);
|
|
26775
26892
|
doc.text(line, indentX, cursorY);
|
|
@@ -26781,12 +26898,12 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
26781
26898
|
}
|
|
26782
26899
|
case "blockquote": {
|
|
26783
26900
|
const bqToken = token;
|
|
26784
|
-
const
|
|
26901
|
+
const text13 = tokensToPlainText(bqToken.tokens ?? []);
|
|
26785
26902
|
const indentX = opts.margins.left + SPACING.QUOTE_INDENT;
|
|
26786
26903
|
const quoteW = cw - SPACING.QUOTE_INSET;
|
|
26787
26904
|
doc.setFont("Helvetica", "italic");
|
|
26788
26905
|
doc.setFontSize(opts.fontSize);
|
|
26789
|
-
const bqLines = doc.splitTextToSize(
|
|
26906
|
+
const bqLines = doc.splitTextToSize(text13, quoteW);
|
|
26790
26907
|
const lh = lineHeightMm(opts.fontSize);
|
|
26791
26908
|
const blockH = bqLines.length * lh;
|
|
26792
26909
|
ensureSpace(Math.min(blockH, 20));
|
|
@@ -26822,8 +26939,8 @@ async function exportMarkdownToPdf(markdown, options) {
|
|
|
26822
26939
|
doc.setFont("Helvetica", fontStyle);
|
|
26823
26940
|
doc.setFontSize(tableFontSize);
|
|
26824
26941
|
const cellLines = cells.map((cell) => {
|
|
26825
|
-
const
|
|
26826
|
-
return doc.splitTextToSize(
|
|
26942
|
+
const text13 = tokensToPlainText(cell.tokens);
|
|
26943
|
+
return doc.splitTextToSize(text13, cellContentW);
|
|
26827
26944
|
});
|
|
26828
26945
|
const maxLines = Math.max(1, ...cellLines.map((l) => l.length));
|
|
26829
26946
|
ensureSpace(maxLines * lh + SPACING.SM);
|
|
@@ -27054,13 +27171,13 @@ async function withPdfDocument(pdfDataUrl, fn) {
|
|
|
27054
27171
|
}
|
|
27055
27172
|
}
|
|
27056
27173
|
function joinPdfTextItems(items) {
|
|
27057
|
-
let
|
|
27174
|
+
let text13 = "";
|
|
27058
27175
|
for (const item of items) {
|
|
27059
27176
|
if (!("str" in item)) continue;
|
|
27060
27177
|
const { str, hasEOL } = item;
|
|
27061
|
-
|
|
27178
|
+
text13 += str + (hasEOL ? "\n" : " ");
|
|
27062
27179
|
}
|
|
27063
|
-
return
|
|
27180
|
+
return text13.replace(/[ \t]+\n/g, "\n").trim();
|
|
27064
27181
|
}
|
|
27065
27182
|
function computeRenderScale(width, height) {
|
|
27066
27183
|
const longest = Math.max(width, height);
|
|
@@ -27080,7 +27197,7 @@ async function extractPdfPageTexts(pdfDataUrl) {
|
|
|
27080
27197
|
}
|
|
27081
27198
|
async function extractTextFromPdf(pdfDataUrl) {
|
|
27082
27199
|
const pageTexts = await extractPdfPageTexts(pdfDataUrl);
|
|
27083
|
-
return pageTexts.filter((
|
|
27200
|
+
return pageTexts.filter((text13) => text13.trim()).join("\n\n");
|
|
27084
27201
|
}
|
|
27085
27202
|
async function renderPdfPages(pdfDataUrl, maxPages, pageNumbers) {
|
|
27086
27203
|
return withPdfDocument(pdfDataUrl, async (pdf) => {
|
|
@@ -27122,8 +27239,8 @@ var MAX_IMAGE_PAGES = 20;
|
|
|
27122
27239
|
var MIN_PAGE_TEXT_CHARS = 20;
|
|
27123
27240
|
function selectPdfImagePages(pageTexts, maxImagePages = MAX_IMAGE_PAGES) {
|
|
27124
27241
|
const needImage = [];
|
|
27125
|
-
pageTexts.forEach((
|
|
27126
|
-
if (
|
|
27242
|
+
pageTexts.forEach((text13, index) => {
|
|
27243
|
+
if (text13.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
|
|
27127
27244
|
});
|
|
27128
27245
|
const limit = Math.max(0, maxImagePages);
|
|
27129
27246
|
return { rendered: needImage.slice(0, limit), omitted: needImage.slice(limit) };
|
|
@@ -27182,10 +27299,10 @@ var PdfProcessor = class {
|
|
|
27182
27299
|
textError
|
|
27183
27300
|
);
|
|
27184
27301
|
}
|
|
27185
|
-
const
|
|
27302
|
+
const text13 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
|
|
27186
27303
|
const { rendered, omitted } = pageTexts ? selectPdfImagePages(pageTexts) : { rendered: [], omitted: [] };
|
|
27187
27304
|
if (pageTexts && rendered.length === 0 && omitted.length === 0) {
|
|
27188
|
-
return
|
|
27305
|
+
return text13.trim() ? { extractedText: text13, format: "plain" } : null;
|
|
27189
27306
|
}
|
|
27190
27307
|
let renderedPages;
|
|
27191
27308
|
let pageCount = pageTexts?.length;
|
|
@@ -27198,7 +27315,7 @@ var PdfProcessor = class {
|
|
|
27198
27315
|
pageCount = result.pageCount;
|
|
27199
27316
|
}
|
|
27200
27317
|
} catch (imageError) {
|
|
27201
|
-
if (!
|
|
27318
|
+
if (!text13.trim()) {
|
|
27202
27319
|
logger.error("[PdfProcessor] Image conversion also failed:", imageError);
|
|
27203
27320
|
throw imageError;
|
|
27204
27321
|
}
|
|
@@ -27210,7 +27327,7 @@ var PdfProcessor = class {
|
|
|
27210
27327
|
const included = new Set(imagePages);
|
|
27211
27328
|
const needImage = pageTexts ? [...rendered, ...omitted] : Array.from({ length: pageCount ?? 0 }, (_, i) => i + 1);
|
|
27212
27329
|
const omittedPages = needImage.filter((n) => !included.has(n)).sort((a, b) => a - b);
|
|
27213
|
-
if (images.length === 0 && !
|
|
27330
|
+
if (images.length === 0 && !text13.trim()) {
|
|
27214
27331
|
logger.warn("[PdfProcessor] Image conversion also returned empty");
|
|
27215
27332
|
return null;
|
|
27216
27333
|
}
|
|
@@ -27219,9 +27336,9 @@ var PdfProcessor = class {
|
|
|
27219
27336
|
);
|
|
27220
27337
|
const imageNote = buildPdfImageNote(file.name, imagePages, omittedPages, pageCount);
|
|
27221
27338
|
return {
|
|
27222
|
-
extractedText:
|
|
27339
|
+
extractedText: text13.trim() ? `${imageNote}
|
|
27223
27340
|
|
|
27224
|
-
${
|
|
27341
|
+
${text13}` : imageNote,
|
|
27225
27342
|
format: "plain",
|
|
27226
27343
|
imageDataUrls: images.length > 0 ? images : void 0,
|
|
27227
27344
|
metadata: {
|
|
@@ -27387,16 +27504,16 @@ var TextProcessor = class {
|
|
|
27387
27504
|
async process(file) {
|
|
27388
27505
|
try {
|
|
27389
27506
|
const arrayBuffer = await dataUrlToArrayBuffer(file.dataUrl);
|
|
27390
|
-
const
|
|
27391
|
-
if (!
|
|
27507
|
+
const text13 = decodeText(new Uint8Array(arrayBuffer));
|
|
27508
|
+
if (!text13.trim()) {
|
|
27392
27509
|
return null;
|
|
27393
27510
|
}
|
|
27394
27511
|
return {
|
|
27395
|
-
extractedText:
|
|
27512
|
+
extractedText: text13,
|
|
27396
27513
|
format: this.resolveFormat(file),
|
|
27397
27514
|
metadata: {
|
|
27398
27515
|
byteLength: arrayBuffer.byteLength,
|
|
27399
|
-
characterCount:
|
|
27516
|
+
characterCount: text13.length
|
|
27400
27517
|
}
|
|
27401
27518
|
};
|
|
27402
27519
|
} catch (error) {
|
|
@@ -27458,8 +27575,8 @@ var WordProcessor = class {
|
|
|
27458
27575
|
/**
|
|
27459
27576
|
* Count words in text
|
|
27460
27577
|
*/
|
|
27461
|
-
countWords(
|
|
27462
|
-
return
|
|
27578
|
+
countWords(text13) {
|
|
27579
|
+
return text13.split(/\s+/).filter((w) => w.length > 0).length;
|
|
27463
27580
|
}
|
|
27464
27581
|
};
|
|
27465
27582
|
|
|
@@ -27697,13 +27814,13 @@ function truncationMarker2(kept, total, fileName) {
|
|
|
27697
27814
|
return `
|
|
27698
27815
|
[truncated: showing the first ${kept} of ${total} characters of ${fileName}]`;
|
|
27699
27816
|
}
|
|
27700
|
-
function truncateText(
|
|
27701
|
-
if (
|
|
27817
|
+
function truncateText(text13, limit, fileName) {
|
|
27818
|
+
if (text13.length <= limit) return { text: text13, truncated: false };
|
|
27702
27819
|
let end = Math.max(0, limit);
|
|
27703
|
-
const code =
|
|
27820
|
+
const code = text13.charCodeAt(end - 1);
|
|
27704
27821
|
if (end > 0 && code >= 55296 && code <= 56319) end--;
|
|
27705
27822
|
return {
|
|
27706
|
-
text: `${
|
|
27823
|
+
text: `${text13.slice(0, end)}${truncationMarker2(end, text13.length, fileName)}`,
|
|
27707
27824
|
truncated: true
|
|
27708
27825
|
};
|
|
27709
27826
|
}
|
|
@@ -27867,13 +27984,13 @@ async function preprocessFiles(files, options = {}) {
|
|
|
27867
27984
|
Math.max(0, MAX_TOTAL_IMAGES - allImageUrls.length)
|
|
27868
27985
|
);
|
|
27869
27986
|
allImageUrls.push(...images.slice(0, keptImages));
|
|
27870
|
-
const
|
|
27871
|
-
const fitsWhole =
|
|
27872
|
-
const limit = fitsWhole ?
|
|
27987
|
+
const text13 = rewriteImageNote(result, file.name, keptImages);
|
|
27988
|
+
const fitsWhole = text13.length <= Math.min(maxExtractedCharsPerFile, remaining);
|
|
27989
|
+
const limit = fitsWhole ? text13.length : Math.min(
|
|
27873
27990
|
maxExtractedCharsPerFile,
|
|
27874
|
-
remaining - truncationMarker2(
|
|
27991
|
+
remaining - truncationMarker2(text13.length, text13.length, file.name).length
|
|
27875
27992
|
);
|
|
27876
|
-
const capped = truncateText(
|
|
27993
|
+
const capped = truncateText(text13, Math.max(0, limit), file.name);
|
|
27877
27994
|
const formattedContent = formatExtractedContent(file.name, capped.text, result.format);
|
|
27878
27995
|
totalChars += separatorLength + formattedContent.length;
|
|
27879
27996
|
extractedTexts.push(formattedContent);
|
|
@@ -28116,11 +28233,11 @@ function createGetAuthenticatedUserTool(getAccessToken, requestAccess) {
|
|
|
28116
28233
|
};
|
|
28117
28234
|
}
|
|
28118
28235
|
var MAX_RESPONSE_SIZE = 1e5;
|
|
28119
|
-
function truncate(
|
|
28120
|
-
if (
|
|
28121
|
-
return
|
|
28236
|
+
function truncate(text13, maxLen) {
|
|
28237
|
+
if (text13.length <= maxLen) return text13;
|
|
28238
|
+
return text13.slice(0, maxLen) + `
|
|
28122
28239
|
|
|
28123
|
-
... (truncated, ${
|
|
28240
|
+
... (truncated, ${text13.length - maxLen} characters omitted)`;
|
|
28124
28241
|
}
|
|
28125
28242
|
function createGitHubApiTool(getAccessToken, requestAccess) {
|
|
28126
28243
|
return {
|
|
@@ -28168,16 +28285,16 @@ IMPORTANT: For write operations (POST, PUT, PATCH, DELETE), always confirm with
|
|
|
28168
28285
|
method,
|
|
28169
28286
|
body: body ? JSON.stringify(body) : void 0
|
|
28170
28287
|
});
|
|
28171
|
-
const
|
|
28288
|
+
const text13 = await resp.text();
|
|
28172
28289
|
if (!resp.ok) {
|
|
28173
|
-
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(
|
|
28290
|
+
return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text13, 500)}`;
|
|
28174
28291
|
}
|
|
28175
28292
|
try {
|
|
28176
|
-
const data = JSON.parse(
|
|
28293
|
+
const data = JSON.parse(text13);
|
|
28177
28294
|
const json4 = JSON.stringify(data);
|
|
28178
28295
|
return truncate(json4, MAX_RESPONSE_SIZE);
|
|
28179
28296
|
} catch {
|
|
28180
|
-
return truncate(
|
|
28297
|
+
return truncate(text13, MAX_RESPONSE_SIZE);
|
|
28181
28298
|
}
|
|
28182
28299
|
} catch (err) {
|
|
28183
28300
|
if (err instanceof DOMException && err.name === "AbortError") {
|
|
@@ -28839,10 +28956,10 @@ function formatObjectAttr(obj) {
|
|
|
28839
28956
|
});
|
|
28840
28957
|
return `{ ${entries.join(", ")} }`;
|
|
28841
28958
|
}
|
|
28842
|
-
function isSafeJsxText(
|
|
28843
|
-
if (/[<>{}&]/.test(
|
|
28844
|
-
if (/\n/.test(
|
|
28845
|
-
if (/^\s|\s$/.test(
|
|
28959
|
+
function isSafeJsxText(text13) {
|
|
28960
|
+
if (/[<>{}&]/.test(text13)) return false;
|
|
28961
|
+
if (/\n/.test(text13)) return false;
|
|
28962
|
+
if (/^\s|\s$/.test(text13)) return false;
|
|
28846
28963
|
return true;
|
|
28847
28964
|
}
|
|
28848
28965
|
function getId(node) {
|
|
@@ -32422,9 +32539,9 @@ New lines of conversation:
|
|
|
32422
32539
|
{new_lines}
|
|
32423
32540
|
|
|
32424
32541
|
New summary:`;
|
|
32425
|
-
function estimateTokens(
|
|
32426
|
-
if (!
|
|
32427
|
-
return Math.ceil(
|
|
32542
|
+
function estimateTokens(text13) {
|
|
32543
|
+
if (!text13) return 0;
|
|
32544
|
+
return Math.ceil(text13.length / 4);
|
|
32428
32545
|
}
|
|
32429
32546
|
var PER_MESSAGE_OVERHEAD_TOKENS = 4;
|
|
32430
32547
|
var MAX_MESSAGES_PER_SUMMARIZATION = 20;
|
|
@@ -32484,14 +32601,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
|
|
|
32484
32601
|
}
|
|
32485
32602
|
async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
|
|
32486
32603
|
if (!redactor) return prompt;
|
|
32487
|
-
const { text:
|
|
32604
|
+
const { text: text13, matches } = await redactor.redactTextAsync(prompt);
|
|
32488
32605
|
if (matches.length > 0 && onPiiRedacted) {
|
|
32489
32606
|
try {
|
|
32490
32607
|
onPiiRedacted(matches);
|
|
32491
32608
|
} catch {
|
|
32492
32609
|
}
|
|
32493
32610
|
}
|
|
32494
|
-
return
|
|
32611
|
+
return text13;
|
|
32495
32612
|
}
|
|
32496
32613
|
async function progressiveSummarize(options) {
|
|
32497
32614
|
const {
|
|
@@ -32804,14 +32921,14 @@ var MaskScopedEmbeddingCache = class extends Map {
|
|
|
32804
32921
|
this.inner = inner;
|
|
32805
32922
|
this.masked = masked;
|
|
32806
32923
|
}
|
|
32807
|
-
key(
|
|
32808
|
-
return `${this.masked ? "m" : "r"}:${
|
|
32924
|
+
key(text13) {
|
|
32925
|
+
return `${this.masked ? "m" : "r"}:${text13}`;
|
|
32809
32926
|
}
|
|
32810
|
-
get(
|
|
32811
|
-
return this.inner.get(this.key(
|
|
32927
|
+
get(text13) {
|
|
32928
|
+
return this.inner.get(this.key(text13));
|
|
32812
32929
|
}
|
|
32813
|
-
set(
|
|
32814
|
-
this.inner.set(this.key(
|
|
32930
|
+
set(text13, value) {
|
|
32931
|
+
this.inner.set(this.key(text13), value);
|
|
32815
32932
|
return this;
|
|
32816
32933
|
}
|
|
32817
32934
|
};
|
|
@@ -33466,11 +33583,11 @@ function useChatStorage(options) {
|
|
|
33466
33583
|
[piiRedaction, currentConversationId]
|
|
33467
33584
|
);
|
|
33468
33585
|
const maskForEmbedding = (0, import_react6.useCallback)(
|
|
33469
|
-
(
|
|
33586
|
+
(text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
|
|
33470
33587
|
[resolvedPiiRedaction]
|
|
33471
33588
|
);
|
|
33472
33589
|
const maskEmbeddingInput = (0, import_react6.useMemo)(
|
|
33473
|
-
() => isPiiRedactor(resolvedPiiRedaction) ? (
|
|
33590
|
+
() => isPiiRedactor(resolvedPiiRedaction) ? (text13) => resolvedPiiRedaction.maskText(text13) : void 0,
|
|
33474
33591
|
[resolvedPiiRedaction]
|
|
33475
33592
|
);
|
|
33476
33593
|
const vaultEmbeddingOptions = (0, import_react6.useMemo)(
|
|
@@ -34201,7 +34318,7 @@ function useChatStorage(options) {
|
|
|
34201
34318
|
return {
|
|
34202
34319
|
callRedactor: redactor,
|
|
34203
34320
|
callPiiRedaction: forInnerSend,
|
|
34204
|
-
maskForCall: (
|
|
34321
|
+
maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
|
|
34205
34322
|
};
|
|
34206
34323
|
};
|
|
34207
34324
|
const resolveThoughtProcess = () => finalizeThoughtProcess(getThoughtProcess?.() || thoughtProcess);
|
|
@@ -36527,13 +36644,13 @@ function useOCR() {
|
|
|
36527
36644
|
const result = await import_tesseract.default.recognize(image, language);
|
|
36528
36645
|
pageTexts.push(result.data.text);
|
|
36529
36646
|
}
|
|
36530
|
-
const
|
|
36531
|
-
if (!
|
|
36647
|
+
const text13 = pageTexts.join("\n\n");
|
|
36648
|
+
if (!text13.trim()) {
|
|
36532
36649
|
getLogger().warn(`No text found in OCR source ${filename || "unknown"}`);
|
|
36533
36650
|
return null;
|
|
36534
36651
|
}
|
|
36535
36652
|
return `[Context from OCR attachment ${filename || "unknown"}]:
|
|
36536
|
-
${
|
|
36653
|
+
${text13}`;
|
|
36537
36654
|
} catch (err) {
|
|
36538
36655
|
getLogger().error(`Failed to process OCR for ${file.filename || "unknown"}:`, err);
|
|
36539
36656
|
return null;
|
|
@@ -36577,13 +36694,13 @@ function usePdf() {
|
|
|
36577
36694
|
const contexts = await Promise.all(
|
|
36578
36695
|
pdfFiles.map(async (file) => {
|
|
36579
36696
|
try {
|
|
36580
|
-
const
|
|
36581
|
-
if (!
|
|
36697
|
+
const text13 = await extractTextFromPdf(file.url);
|
|
36698
|
+
if (!text13.trim()) {
|
|
36582
36699
|
getLogger().warn(`No text found in PDF ${file.filename}`);
|
|
36583
36700
|
return null;
|
|
36584
36701
|
}
|
|
36585
36702
|
return `[Context from PDF attachment ${file.filename}]:
|
|
36586
|
-
${
|
|
36703
|
+
${text13}`;
|
|
36587
36704
|
} catch (err) {
|
|
36588
36705
|
getLogger().error(`Failed to process PDF ${file.filename}:`, err);
|
|
36589
36706
|
return null;
|
|
@@ -38109,14 +38226,14 @@ function useVoice(options) {
|
|
|
38109
38226
|
recognition.interimResults = false;
|
|
38110
38227
|
recognition.lang = options?.language ?? "";
|
|
38111
38228
|
recognition.onresult = (event) => {
|
|
38112
|
-
let
|
|
38229
|
+
let text13 = "";
|
|
38113
38230
|
for (let i = 0; i < event.results.length; i++) {
|
|
38114
38231
|
const result = event.results[i];
|
|
38115
38232
|
if (result && result.isFinal && result[0]) {
|
|
38116
|
-
|
|
38233
|
+
text13 += result[0].transcript + " ";
|
|
38117
38234
|
}
|
|
38118
38235
|
}
|
|
38119
|
-
nativeTextRef.current =
|
|
38236
|
+
nativeTextRef.current = text13.trim();
|
|
38120
38237
|
};
|
|
38121
38238
|
recognition.onerror = (event) => {
|
|
38122
38239
|
if (event.error !== "aborted" && event.error !== "no-speech") {
|
|
@@ -38582,6 +38699,7 @@ function useWalletBinding(options = {}) {
|
|
|
38582
38699
|
extractFacts,
|
|
38583
38700
|
extractFileIds,
|
|
38584
38701
|
extractMCPImageUrls,
|
|
38702
|
+
extractReservationReceipts,
|
|
38585
38703
|
fileExists,
|
|
38586
38704
|
findById,
|
|
38587
38705
|
findMatchingTools,
|