@anuma/sdk 9.1.11 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1804,19 +1804,19 @@ function base64ToUint8Array(base64) {
1804
1804
  // src/lib/memoryEngine/vectorEncoding.ts
1805
1805
  var BYTES_PER_FLOAT32 = 4;
1806
1806
  var CANONICAL_BASE64 = /^[A-Za-z0-9+/]+={0,2}$/;
1807
- function encodeChunkVector(vector) {
1808
- const f32 = vector instanceof Float32Array ? vector : Float32Array.from(vector);
1807
+ function encodeChunkVector(vector2) {
1808
+ const f32 = vector2 instanceof Float32Array ? vector2 : Float32Array.from(vector2);
1809
1809
  return uint8ArrayToBase64(new Uint8Array(f32.buffer, f32.byteOffset, f32.byteLength));
1810
1810
  }
1811
- function decodeChunkVector(vector, onMalformed) {
1812
- if (!vector || vector.length === 0) return new Float32Array(0);
1813
- if (typeof vector !== "string") return Float32Array.from(vector);
1814
- if (vector.length % 4 !== 0 || !CANONICAL_BASE64.test(vector)) {
1811
+ function decodeChunkVector(vector2, onMalformed) {
1812
+ if (!vector2 || vector2.length === 0) return new Float32Array(0);
1813
+ if (typeof vector2 !== "string") return Float32Array.from(vector2);
1814
+ if (vector2.length % 4 !== 0 || !CANONICAL_BASE64.test(vector2)) {
1815
1815
  onMalformed?.();
1816
1816
  return new Float32Array(0);
1817
1817
  }
1818
1818
  try {
1819
- const bytes2 = base64ToUint8Array(vector);
1819
+ const bytes2 = base64ToUint8Array(vector2);
1820
1820
  if (bytes2.byteLength === 0 || bytes2.byteLength % BYTES_PER_FLOAT32 !== 0) {
1821
1821
  onMalformed?.();
1822
1822
  return new Float32Array(0);
@@ -2300,8 +2300,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
2300
2300
  var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
2301
2301
  var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
2302
2302
  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.`;
2303
- function isAttachedFilesText(text14) {
2304
- return typeof text14 === "string" && text14.startsWith(ATTACHED_FILES_PREFIX) && text14.endsWith(ATTACHED_FILES_CLOSE_TAG);
2303
+ function isAttachedFilesText(text15) {
2304
+ return typeof text15 === "string" && text15.startsWith(ATTACHED_FILES_PREFIX) && text15.endsWith(ATTACHED_FILES_CLOSE_TAG);
2305
2305
  }
2306
2306
  function buildAttachedFilesText(fileContext) {
2307
2307
  return `${ATTACHED_FILES_PREFIX}
@@ -3017,7 +3017,7 @@ async function getMessageOp(ctx, uniqueId) {
3017
3017
  }
3018
3018
  return messageToStored(message, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner);
3019
3019
  }
3020
- async function updateMessageEmbeddingOp(ctx, uniqueId, vector, embeddingModel) {
3020
+ async function updateMessageEmbeddingOp(ctx, uniqueId, vector2, embeddingModel) {
3021
3021
  let message;
3022
3022
  try {
3023
3023
  message = await ctx.messagesCollection.find(uniqueId);
@@ -3027,10 +3027,10 @@ async function updateMessageEmbeddingOp(ctx, uniqueId, vector, embeddingModel) {
3027
3027
  const address = ctx.walletAddress;
3028
3028
  await ctx.database.write(async () => {
3029
3029
  const key = await resolveMessageEmbeddingKey(address, message.content);
3030
- const storedVector2 = await serializeMessageEmbedding(key, vector);
3030
+ const storedVector2 = await serializeMessageEmbedding(key, vector2);
3031
3031
  await message.update((msg) => {
3032
3032
  msg._setRaw("vector", storedVector2);
3033
- if (msg.origin === "chunks_discarded" && vector.length > 0) {
3033
+ if (msg.origin === "chunks_discarded" && vector2.length > 0) {
3034
3034
  msg._setRaw("origin", "message");
3035
3035
  }
3036
3036
  msg._setRaw("embedding_model", embeddingModel);
@@ -3772,49 +3772,49 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
3772
3772
  var DEFAULT_CHUNK_SIZE = 400;
3773
3773
  var DEFAULT_CHUNK_OVERLAP = 50;
3774
3774
  var DEFAULT_MIN_CHUNK_SIZE = 50;
3775
- function splitIntoSentences(text14) {
3775
+ function splitIntoSentences(text15) {
3776
3776
  const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
3777
3777
  const sentences = [];
3778
3778
  let lastIndex = 0;
3779
3779
  let match;
3780
- while ((match = sentenceRegex.exec(text14)) !== null) {
3780
+ while ((match = sentenceRegex.exec(text15)) !== null) {
3781
3781
  const endIndex = match.index + match[0].length;
3782
- const sentence = text14.slice(lastIndex, endIndex).trim();
3782
+ const sentence = text15.slice(lastIndex, endIndex).trim();
3783
3783
  if (sentence) {
3784
3784
  sentences.push(sentence);
3785
3785
  }
3786
3786
  lastIndex = endIndex;
3787
3787
  }
3788
- const remaining = text14.slice(lastIndex).trim();
3788
+ const remaining = text15.slice(lastIndex).trim();
3789
3789
  if (remaining) {
3790
3790
  sentences.push(remaining);
3791
3791
  }
3792
3792
  return sentences;
3793
3793
  }
3794
- function chunkText(text14, options) {
3794
+ function chunkText(text15, options) {
3795
3795
  const {
3796
3796
  chunkSize = DEFAULT_CHUNK_SIZE,
3797
3797
  chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
3798
3798
  minChunkSize = DEFAULT_MIN_CHUNK_SIZE
3799
3799
  } = options ?? {};
3800
3800
  const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
3801
- if (text14.length <= chunkSize) {
3801
+ if (text15.length <= chunkSize) {
3802
3802
  return [
3803
3803
  {
3804
- text: text14.trim(),
3804
+ text: text15.trim(),
3805
3805
  startOffset: 0,
3806
- endOffset: text14.length
3806
+ endOffset: text15.length
3807
3807
  }
3808
3808
  ];
3809
3809
  }
3810
- const sentences = splitIntoSentences(text14);
3810
+ const sentences = splitIntoSentences(text15);
3811
3811
  const chunks3 = [];
3812
3812
  let currentChunkSentences = [];
3813
3813
  let currentChunkStart = 0;
3814
3814
  let currentOffset = 0;
3815
3815
  for (let i = 0; i < sentences.length; i++) {
3816
3816
  const sentence = sentences[i];
3817
- let sentenceStart = text14.indexOf(sentence, currentOffset);
3817
+ let sentenceStart = text15.indexOf(sentence, currentOffset);
3818
3818
  if (sentenceStart === -1) {
3819
3819
  sentenceStart = currentOffset;
3820
3820
  }
@@ -3861,7 +3861,7 @@ function chunkText(text14, options) {
3861
3861
  if (overlapSentences.length > 0) {
3862
3862
  currentChunkSentences = [...overlapSentences, sentence];
3863
3863
  const overlapText = overlapSentences[0];
3864
- const overlapStart = text14.lastIndexOf(overlapText, currentOffset);
3864
+ const overlapStart = text15.lastIndexOf(overlapText, currentOffset);
3865
3865
  currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
3866
3866
  } else {
3867
3867
  currentChunkSentences = [sentence];
@@ -3881,18 +3881,18 @@ function chunkText(text14, options) {
3881
3881
  chunks3.push({
3882
3882
  text: chunkText2,
3883
3883
  startOffset: currentChunkStart,
3884
- endOffset: text14.length
3884
+ endOffset: text15.length
3885
3885
  });
3886
3886
  }
3887
3887
  }
3888
3888
  if (chunks3.length === 0) {
3889
- const trimmedText = text14.trim();
3889
+ const trimmedText = text15.trim();
3890
3890
  if (trimmedText.length > 0) {
3891
3891
  return [
3892
3892
  {
3893
3893
  text: trimmedText,
3894
3894
  startOffset: 0,
3895
- endOffset: text14.length
3895
+ endOffset: text15.length
3896
3896
  }
3897
3897
  ];
3898
3898
  }
@@ -4584,8 +4584,8 @@ var createClient = (config = {}) => {
4584
4584
  data = await response[parseAs]();
4585
4585
  break;
4586
4586
  case "json": {
4587
- const text14 = await response.text();
4588
- data = text14 ? JSON.parse(text14) : {};
4587
+ const text15 = await response.text();
4588
+ data = text15 ? JSON.parse(text15) : {};
4589
4589
  break;
4590
4590
  }
4591
4591
  case "stream":
@@ -4868,22 +4868,22 @@ function embeddingErrorFrom(response) {
4868
4868
  const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
4869
4869
  return new EmbeddingHttpError(message, response.response?.status);
4870
4870
  }
4871
- async function generateEmbedding(text14, options) {
4871
+ async function generateEmbedding(text15, options) {
4872
4872
  const total = options.totalTimeoutMs;
4873
- if (total === void 0) return embedOne(text14, options, void 0);
4874
- return withDeadline((signal) => embedOne(text14, options, signal), total, "embedding");
4873
+ if (total === void 0) return embedOne(text15, options, void 0);
4874
+ return withDeadline((signal) => embedOne(text15, options, signal), total, "embedding");
4875
4875
  }
4876
4876
  var { inFlightByCache, cachedEmbeddingModels } = getEmbeddingCacheState();
4877
- async function embedOne(text14, options, outer) {
4877
+ async function embedOne(text15, options, outer) {
4878
4878
  const { cache } = options;
4879
- if (!cache) return Array.from(await requestEmbedding(text14, options, outer));
4879
+ if (!cache) return Array.from(await requestEmbedding(text15, options, outer));
4880
4880
  const model = options.model ?? DEFAULT_API_EMBEDDING_MODEL;
4881
- const cached = cache.get(text14);
4881
+ const cached = cache.get(text15);
4882
4882
  const cachedModel = cached && cachedEmbeddingModels.get(cached);
4883
4883
  if (cached && (cachedModel === void 0 || cachedModel === model)) return Array.from(cached);
4884
4884
  const inFlight = inFlightByCache.get(cache) ?? /* @__PURE__ */ new Map();
4885
4885
  inFlightByCache.set(cache, inFlight);
4886
- const requestKey = JSON.stringify([model, text14]);
4886
+ const requestKey = JSON.stringify([model, text15]);
4887
4887
  const pending = inFlight.get(requestKey);
4888
4888
  if (pending) {
4889
4889
  try {
@@ -4892,18 +4892,18 @@ async function embedOne(text14, options, outer) {
4892
4892
  if (outer?.aborted) throw err;
4893
4893
  }
4894
4894
  }
4895
- const request = requestEmbedding(text14, options, outer);
4895
+ const request = requestEmbedding(text15, options, outer);
4896
4896
  inFlight.set(requestKey, request);
4897
4897
  try {
4898
4898
  const embedding2 = await request;
4899
4899
  cachedEmbeddingModels.set(embedding2, model);
4900
- cache.set(text14, embedding2);
4900
+ cache.set(text15, embedding2);
4901
4901
  return Array.from(embedding2);
4902
4902
  } finally {
4903
4903
  if (inFlight.get(requestKey) === request) inFlight.delete(requestKey);
4904
4904
  }
4905
4905
  }
4906
- async function requestEmbedding(text14, options, outer) {
4906
+ async function requestEmbedding(text15, options, outer) {
4907
4907
  const { baseUrl = BASE_URL, model } = options;
4908
4908
  const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
4909
4909
  const headers = {
@@ -4915,7 +4915,7 @@ async function requestEmbedding(text14, options, outer) {
4915
4915
  (signal) => postApiV1Embeddings({
4916
4916
  baseUrl,
4917
4917
  body: {
4918
- input: options.maskInput ? options.maskInput(text14) : text14,
4918
+ input: options.maskInput ? options.maskInput(text15) : text15,
4919
4919
  model: model ?? DEFAULT_API_EMBEDDING_MODEL
4920
4920
  },
4921
4921
  headers,
@@ -5176,10 +5176,10 @@ async function chunkAndEmbedMessage(ctx, messageId, options) {
5176
5176
  }
5177
5177
  const textChunks = chunkText(message.content, options);
5178
5178
  const chunkTexts = textChunks.map((c) => c.text);
5179
- const embeddings = await generateEmbeddings(chunkTexts, options);
5179
+ const embeddings2 = await generateEmbeddings(chunkTexts, options);
5180
5180
  const messageChunks = textChunks.map((chunk, i) => ({
5181
5181
  text: chunk.text,
5182
- vector: embeddings[i],
5182
+ vector: embeddings2[i],
5183
5183
  startOffset: chunk.startOffset,
5184
5184
  endOffset: chunk.endOffset
5185
5185
  }));
@@ -5294,13 +5294,13 @@ async function chunkAndEmbedAllMessages(ctx, options, filter) {
5294
5294
  if (shortMessages.length > 0) {
5295
5295
  try {
5296
5296
  const texts = shortMessages.map((m) => m.content);
5297
- const embeddings = await generateEmbeddings(texts, options);
5297
+ const embeddings2 = await generateEmbeddings(texts, options);
5298
5298
  for (let i = 0; i < shortMessages.length; i++) {
5299
5299
  try {
5300
5300
  await updateMessageEmbeddingOp(
5301
5301
  ctx,
5302
5302
  shortMessages[i].uniqueId,
5303
- embeddings[i],
5303
+ embeddings2[i],
5304
5304
  embeddingModel
5305
5305
  );
5306
5306
  embeddedCount++;
@@ -5319,10 +5319,10 @@ async function chunkAndEmbedAllMessages(ctx, options, filter) {
5319
5319
  for (const msg of longMessages) {
5320
5320
  try {
5321
5321
  const chunkTexts = msg.textChunks.map((c) => c.text);
5322
- const embeddings = await generateEmbeddings(chunkTexts, options);
5322
+ const embeddings2 = await generateEmbeddings(chunkTexts, options);
5323
5323
  const messageChunks = msg.textChunks.map((chunk, i) => ({
5324
5324
  text: chunk.text,
5325
- vector: embeddings[i],
5325
+ vector: embeddings2[i],
5326
5326
  startOffset: chunk.startOffset,
5327
5327
  endOffset: chunk.endOffset
5328
5328
  }));
@@ -5341,10 +5341,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
5341
5341
  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];
5342
5342
 
5343
5343
  // src/lib/chat/preProcessor.ts
5344
- function wrapAsUserText(prefix, text14) {
5345
- if (!text14 || !text14.trim()) return [];
5344
+ function wrapAsUserText(prefix, text15) {
5345
+ if (!text15 || !text15.trim()) return [];
5346
5346
  return [{ role: "user", content: [{ type: "text", text: `${prefix}
5347
- ${text14}` }] }];
5347
+ ${text15}` }] }];
5348
5348
  }
5349
5349
 
5350
5350
  // src/lib/chat/cryptoPriceClassifier.ts
@@ -5364,8 +5364,8 @@ async function classifyCryptoPrice(prompt, options) {
5364
5364
  }
5365
5365
  async function classifyCryptoPriceBatch(prompts, options) {
5366
5366
  const { margin = 0.02, ...embeddingOptions } = options;
5367
- const embeddings = await generateEmbeddings(prompts, embeddingOptions);
5368
- return embeddings.map((emb) => classify(emb, margin));
5367
+ const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
5368
+ return embeddings2.map((emb) => classify(emb, margin));
5369
5369
  }
5370
5370
  function createCryptoPricePreProcessor(options = {}) {
5371
5371
  const margin = options.margin ?? 0.02;
@@ -6100,7 +6100,7 @@ function findMatchingTools(promptEmbeddings, tools, options) {
6100
6100
  if (!tools || tools.length === 0) {
6101
6101
  return [];
6102
6102
  }
6103
- const embeddings = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
6103
+ const embeddings2 = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
6104
6104
  const results = [];
6105
6105
  for (const tool of tools) {
6106
6106
  if (!tool.embedding || tool.embedding.length === 0) {
@@ -6108,7 +6108,7 @@ function findMatchingTools(promptEmbeddings, tools, options) {
6108
6108
  }
6109
6109
  try {
6110
6110
  let maxSimilarity = -Infinity;
6111
- for (const embedding2 of embeddings) {
6111
+ for (const embedding2 of embeddings2) {
6112
6112
  const similarity = cosineSimilarity(embedding2, tool.embedding);
6113
6113
  if (similarity > maxSimilarity) {
6114
6114
  maxSimilarity = similarity;
@@ -6139,12 +6139,12 @@ function scoreTools(promptEmbeddings, tools) {
6139
6139
  const scores = /* @__PURE__ */ new Map();
6140
6140
  if (!promptEmbeddings || promptEmbeddings.length === 0) return scores;
6141
6141
  if (!tools || tools.length === 0) return scores;
6142
- const embeddings = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
6142
+ const embeddings2 = Array.isArray(promptEmbeddings[0]) ? promptEmbeddings : [promptEmbeddings];
6143
6143
  for (const tool of tools) {
6144
6144
  if (!tool.embedding || tool.embedding.length === 0) continue;
6145
6145
  let maxSimilarity = -Infinity;
6146
6146
  try {
6147
- for (const embedding2 of embeddings) {
6147
+ for (const embedding2 of embeddings2) {
6148
6148
  const similarity = cosineSimilarity(embedding2, tool.embedding);
6149
6149
  if (similarity > maxSimilarity) maxSimilarity = similarity;
6150
6150
  }
@@ -6355,13 +6355,13 @@ function createServerToolsFilter(options = {}) {
6355
6355
  const exclude = new Set(options.excludeTools ?? []);
6356
6356
  const sets = options.toolSets ?? [];
6357
6357
  const matchOpts = options.matchOptions;
6358
- const filter = (embeddings, tools) => {
6359
- const matches = findMatchingTools(embeddings, tools, matchOpts);
6358
+ const filter = (embeddings2, tools) => {
6359
+ const matches = findMatchingTools(embeddings2, tools, matchOpts);
6360
6360
  if (matches.length === 0) return [];
6361
6361
  const matchedNames = new Set(matches.map((m) => m.tool.name));
6362
6362
  let finalNames;
6363
6363
  if (sets.length > 0) {
6364
- const scores = scoreTools(embeddings, tools);
6364
+ const scores = scoreTools(embeddings2, tools);
6365
6365
  const selectedScores = new Map(
6366
6366
  [...scores].filter(([name]) => matchedNames.has(name) && !exclude.has(name))
6367
6367
  );
@@ -8443,13 +8443,13 @@ var StreamSmoother = class {
8443
8443
  /**
8444
8444
  * Add text to the buffer. If smoothing is disabled, passes through immediately.
8445
8445
  */
8446
- push(text14) {
8447
- if (this.destroyed || !text14) return;
8446
+ push(text15) {
8447
+ if (this.destroyed || !text15) return;
8448
8448
  if (!this.enabled) {
8449
- this.callback(text14);
8449
+ this.callback(text15);
8450
8450
  return;
8451
8451
  }
8452
- this.buffer += text14;
8452
+ this.buffer += text15;
8453
8453
  this.ensureTimer();
8454
8454
  }
8455
8455
  /**
@@ -8460,9 +8460,9 @@ var StreamSmoother = class {
8460
8460
  if (this.destroyed) return;
8461
8461
  this.stopTimer();
8462
8462
  if (this.buffer.length > 0) {
8463
- const text14 = this.buffer;
8463
+ const text15 = this.buffer;
8464
8464
  this.buffer = "";
8465
- this.callback(text14);
8465
+ this.callback(text15);
8466
8466
  }
8467
8467
  this.resolveDrain();
8468
8468
  }
@@ -8529,9 +8529,9 @@ var StreamSmoother = class {
8529
8529
  const currentSpeed = this.getCurrentSpeed(elapsed);
8530
8530
  const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
8531
8531
  const toRelease = Math.min(charsThisTick, this.buffer.length);
8532
- const text14 = this.buffer.slice(0, toRelease);
8532
+ const text15 = this.buffer.slice(0, toRelease);
8533
8533
  this.buffer = this.buffer.slice(toRelease);
8534
- this.callback(text14);
8534
+ this.callback(text15);
8535
8535
  if (this.buffer.length === 0) {
8536
8536
  this.stopTimer();
8537
8537
  this.resolveDrain();
@@ -8976,9 +8976,9 @@ async function runToolLoop(options) {
8976
8976
  messages = await redactBatch(messages);
8977
8977
  if (preProcessors?.length) {
8978
8978
  try {
8979
- const text14 = extractLastUserText(messages);
8980
- if (text14.length > 0) {
8981
- const embedding2 = await generateEmbedding(text14, {
8979
+ const text15 = extractLastUserText(messages);
8980
+ if (text15.length > 0) {
8981
+ const embedding2 = await generateEmbedding(text15, {
8982
8982
  apiKey: headers?.["X-API-Key"],
8983
8983
  getToken: token ? () => Promise.resolve(token) : void 0,
8984
8984
  baseUrl
@@ -8986,7 +8986,7 @@ async function runToolLoop(options) {
8986
8986
  const results = await Promise.all(
8987
8987
  preProcessors.map(async (p) => {
8988
8988
  try {
8989
- return await p({ prompt: text14, embedding: embedding2, signal: combinedSignal });
8989
+ return await p({ prompt: text15, embedding: embedding2, signal: combinedSignal });
8990
8990
  } catch (err) {
8991
8991
  console.warn("[runToolLoop] pre-processor failed:", err);
8992
8992
  return void 0;
@@ -9145,11 +9145,11 @@ async function runToolLoop(options) {
9145
9145
  }
9146
9146
  });
9147
9147
  accumulator = createStreamAccumulator(model || void 0);
9148
- contentSmoother = new StreamSmoother((text14) => {
9149
- if (emitData) emitData(text14);
9148
+ contentSmoother = new StreamSmoother((text15) => {
9149
+ if (emitData) emitData(text15);
9150
9150
  }, smoothing);
9151
- thinkingSmoother = new StreamSmoother((text14) => {
9152
- if (emitThinking) emitThinking(text14);
9151
+ thinkingSmoother = new StreamSmoother((text15) => {
9152
+ if (emitThinking) emitThinking(text15);
9153
9153
  }, smoothing);
9154
9154
  let chunksEmittedDownstream = false;
9155
9155
  try {
@@ -9654,11 +9654,11 @@ Executing tool: ${toolInfo}
9654
9654
  }
9655
9655
  });
9656
9656
  currentAccumulator = createStreamAccumulator(model || void 0);
9657
- contContentSmoother = new StreamSmoother((text14) => {
9658
- if (emitData) emitData(text14);
9657
+ contContentSmoother = new StreamSmoother((text15) => {
9658
+ if (emitData) emitData(text15);
9659
9659
  }, smoothing);
9660
- contThinkingSmoother = new StreamSmoother((text14) => {
9661
- if (emitThinking) emitThinking(text14);
9660
+ contThinkingSmoother = new StreamSmoother((text15) => {
9661
+ if (emitThinking) emitThinking(text15);
9662
9662
  }, smoothing);
9663
9663
  let chunksEmittedDownstream = false;
9664
9664
  try {
@@ -9885,11 +9885,11 @@ async function resumeStream(options) {
9885
9885
  } = options;
9886
9886
  const strategy = getStrategy(handle.apiType);
9887
9887
  const accumulator = createStreamAccumulator(handle.model || void 0);
9888
- const contentSmoother = new StreamSmoother((text14) => {
9889
- if (onData) onData(text14);
9888
+ const contentSmoother = new StreamSmoother((text15) => {
9889
+ if (onData) onData(text15);
9890
9890
  }, smoothing);
9891
- const thinkingSmoother = new StreamSmoother((text14) => {
9892
- if (onThinking) onThinking(text14);
9891
+ const thinkingSmoother = new StreamSmoother((text15) => {
9892
+ if (onThinking) onThinking(text15);
9893
9893
  }, smoothing);
9894
9894
  const idleController = new AbortController();
9895
9895
  let watchdog;
@@ -10029,8 +10029,8 @@ async function classifyStockPrice(prompt, options) {
10029
10029
  }
10030
10030
  async function classifyStockPriceBatch(prompts, options) {
10031
10031
  const { margin = 0.02, ...embeddingOptions } = options;
10032
- const embeddings = await generateEmbeddings(prompts, embeddingOptions);
10033
- return embeddings.map((emb) => classify2(emb, margin));
10032
+ const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
10033
+ return embeddings2.map((emb) => classify2(emb, margin));
10034
10034
  }
10035
10035
  function createStockPricePreProcessor(options = {}) {
10036
10036
  const margin = options.margin ?? 0.02;
@@ -10069,8 +10069,8 @@ async function classifyWeather(prompt, options) {
10069
10069
  }
10070
10070
  async function classifyWeatherBatch(prompts, options) {
10071
10071
  const { margin = 0.02, ...embeddingOptions } = options;
10072
- const embeddings = await generateEmbeddings(prompts, embeddingOptions);
10073
- return embeddings.map((emb) => classify3(emb, margin));
10072
+ const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
10073
+ return embeddings2.map((emb) => classify3(emb, margin));
10074
10074
  }
10075
10075
  function createWeatherPreProcessor(options = {}) {
10076
10076
  const margin = options.margin ?? 0.02;
@@ -10109,8 +10109,8 @@ async function classifyWebSearch(prompt, options) {
10109
10109
  }
10110
10110
  async function classifyWebSearchBatch(prompts, options) {
10111
10111
  const { margin = 0.02, ...embeddingOptions } = options;
10112
- const embeddings = await generateEmbeddings(prompts, embeddingOptions);
10113
- return embeddings.map((emb) => classify4(emb, margin));
10112
+ const embeddings2 = await generateEmbeddings(prompts, embeddingOptions);
10113
+ return embeddings2.map((emb) => classify4(emb, margin));
10114
10114
  }
10115
10115
  function createWebSearchPreProcessor(options = {}) {
10116
10116
  const margin = options.margin ?? 0.02;
@@ -10489,6 +10489,7 @@ function createNearbyRequest(options, apiPath = "/api/private-memories") {
10489
10489
  }
10490
10490
  throw error;
10491
10491
  }
10492
+ if (response.status === 204) return null;
10492
10493
  return await response.json();
10493
10494
  } catch (error) {
10494
10495
  if (timedOut) throw new RemoteMemoryError("Nearby request timed out", 408, "timeout");
@@ -10864,6 +10865,16 @@ var ChatStoreError = class extends Error {
10864
10865
  // src/lib/chatStore/remote.ts
10865
10866
  var kinds = /* @__PURE__ */ new Set(["conversation", "message", "summary", "project", "memory_links"]);
10866
10867
  var cipherPattern = /^enc:v\d+:(?:[0-9a-f]{2}){28,}$/i;
10868
+ var maxPayload = 2 * 1024 * 1024;
10869
+ var storedDims = 1536;
10870
+ var maxRequestCiphertext = 8 * 1024 * 1024;
10871
+ var maxGetRefs = 50;
10872
+ var maxImportRecords = 100;
10873
+ var maxVerifyRevisions = 1e3;
10874
+ var maxChunksPerRecord = 16;
10875
+ var maxChunksPerRequest = 200;
10876
+ var maxAttachmentBytes = 50 * 1024 * 1024;
10877
+ var attachmentIdPattern = /^[0-9a-f]{32}$/;
10867
10878
  var metadata = [
10868
10879
  "kind",
10869
10880
  "id",
@@ -10906,7 +10917,62 @@ function validRecord(value) {
10906
10917
  ))
10907
10918
  return false;
10908
10919
  const root = value.kind === "conversation" || value.kind === "project";
10909
- return root ? value.conversationId === "" && value.sortKey === 0 : id(value.conversationId);
10920
+ return root ? value.conversationId === "" : id(value.conversationId);
10921
+ }
10922
+ function embeddings(write) {
10923
+ if (write.embeddings === void 0) return true;
10924
+ return Array.isArray(write.embeddings) && !write.record.isDeleted && (write.record.kind === "message" || write.record.kind === "summary") && write.embeddings.length <= maxChunksPerRecord && (write.embeddingModel === void 0 || typeof write.embeddingModel === "string" && write.embeddingModel.length <= 256) && Array.from({ length: write.embeddings.length }, (_, i) => i).every(
10925
+ (i) => vector(write.embeddings?.[i])
10926
+ );
10927
+ }
10928
+ function vector(v) {
10929
+ if (!Array.isArray(v) || v.length !== 1536 && v.length !== 4096) return false;
10930
+ let nonZero = false;
10931
+ for (let i = 0; i < v.length; i++) {
10932
+ const x = v[i];
10933
+ if (typeof x !== "number" || !Number.isFinite(x)) return false;
10934
+ if (i < storedDims && x !== 0) nonZero = true;
10935
+ }
10936
+ return nonZero;
10937
+ }
10938
+ function vectorFields(write) {
10939
+ return {
10940
+ ...write.embeddings !== void 0 ? { embeddings: write.embeddings.map((v) => v.slice(0, storedDims)) } : {},
10941
+ ...write.embeddingModel !== void 0 ? { embedding_model: write.embeddingModel } : {}
10942
+ };
10943
+ }
10944
+ function text2(value) {
10945
+ return typeof value === "string";
10946
+ }
10947
+ function timestamp(value) {
10948
+ return typeof value === "string" && Number.isFinite(Date.parse(value));
10949
+ }
10950
+ function presigned(value) {
10951
+ if (!object(value) || !text2(value.url) || !/^https:\/\//.test(value.url) || !text2(value.method) || !object(value.headers) || !Object.values(value.headers).every(text2) || !timestamp(value.expires_at))
10952
+ invalid();
10953
+ return {
10954
+ url: value.url,
10955
+ method: value.method,
10956
+ headers: value.headers,
10957
+ expiresAt: value.expires_at
10958
+ };
10959
+ }
10960
+ function attachment(value) {
10961
+ if (!object(value) || !text2(value.attachment_id) || !attachmentIdPattern.test(value.attachment_id) || !integer(value.size_bytes, 1) || value.state !== "pending" && value.state !== "committed" || value.owner_kind !== void 0 && value.owner_kind !== "message" && value.owner_kind !== "summary" || value.owner_id !== void 0 && !id(value.owner_id) || !timestamp(value.created_at) || value.committed_at !== void 0 && !timestamp(value.committed_at))
10962
+ invalid();
10963
+ return {
10964
+ id: value.attachment_id,
10965
+ sizeBytes: value.size_bytes,
10966
+ state: value.state,
10967
+ ...value.owner_kind !== void 0 ? { ownerKind: value.owner_kind } : {},
10968
+ ...value.owner_id !== void 0 ? { ownerId: value.owner_id } : {},
10969
+ createdAt: value.created_at,
10970
+ ...value.committed_at !== void 0 ? { committedAt: value.committed_at } : {}
10971
+ };
10972
+ }
10973
+ function ref(value) {
10974
+ if (!object(value) || !text2(value.kind) || !kinds.has(value.kind) || !id(value.id)) invalid();
10975
+ return { kind: value.kind, id: value.id };
10910
10976
  }
10911
10977
  function sameMetadata(a, b) {
10912
10978
  return metadata.every((key) => a[key] === b[key]);
@@ -10962,8 +11028,11 @@ async function createRemoteChatStore(options) {
10962
11028
  isDeleted: r.is_deleted,
10963
11029
  data: {}
10964
11030
  };
10965
- if (!validRecord(plain) || typeof r.payload !== "string" || r.payload.length > 2 * 1024 * 1024 || !cipherPattern.test(r.payload))
11031
+ if (!validRecord(plain) || typeof r.payload !== "string" || r.payload.length > maxPayload)
10966
11032
  invalid();
11033
+ if (plain.isDeleted && r.payload === "")
11034
+ return { record: plain, version: value.version, serverUpdatedAt: value.server_updated_at };
11035
+ if (!cipherPattern.test(r.payload)) invalid();
10967
11036
  const envelope = JSON.parse(await decrypt(r.payload));
10968
11037
  if (!object(envelope) || envelope.schema !== 1 || envelope.account_id !== accountId || envelope.key_id !== keyId || !validRecord(envelope.record) || !sameMetadata(plain, envelope.record))
10969
11038
  invalid();
@@ -10973,30 +11042,46 @@ async function createRemoteChatStore(options) {
10973
11042
  serverUpdatedAt: value.server_updated_at
10974
11043
  };
10975
11044
  };
10976
- const putMany = async (writes, signal) => {
10977
- if (!Array.isArray(writes) || writes.length < 1 || writes.length > 25) invalid();
11045
+ const seal = async (record2, signal) => {
11046
+ if (record2.isDeleted) return "";
11047
+ const payload = await encrypt(
11048
+ JSON.stringify({ schema: 1, account_id: accountId, key_id: keyId, record: record2 })
11049
+ );
11050
+ signal?.throwIfAborted();
11051
+ if (!cipherPattern.test(payload) || payload.length > maxPayload) invalid();
11052
+ return payload;
11053
+ };
11054
+ const capture = (items, max, signal) => {
11055
+ if (!Array.isArray(items) || items.length < 1 || items.length > max) invalid();
10978
11056
  const seen = /* @__PURE__ */ new Set();
10979
- const captured = writes.map((write) => {
11057
+ let chunks3 = 0;
11058
+ return items.map((item) => {
10980
11059
  signal?.throwIfAborted();
10981
- if (!validRecord(write.record) || !integer(write.expectedVersion)) invalid();
10982
- const record2 = JSON.parse(JSON.stringify(write.record));
10983
- const recordKey = `${record2.kind}/${record2.id}`;
11060
+ if (!validRecord(item.record) || !embeddings(item)) invalid();
11061
+ chunks3 += item.embeddings?.length ?? 0;
11062
+ if (chunks3 > maxChunksPerRequest) invalid();
11063
+ const copy = JSON.parse(JSON.stringify(item));
11064
+ const recordKey = `${copy.record.kind}/${copy.record.id}`;
10984
11065
  if (seen.has(recordKey)) invalid();
10985
11066
  seen.add(recordKey);
10986
- return { record: record2, expectedVersion: write.expectedVersion };
11067
+ return copy;
10987
11068
  });
11069
+ };
11070
+ const putMany = async (writes, signal) => {
11071
+ if (Array.isArray(writes) && writes.some((w) => !integer(w.expectedVersion)))
11072
+ invalid();
11073
+ const captured = capture(writes, 25, signal);
10988
11074
  let bytes2 = 0;
10989
11075
  const prepared = [];
10990
11076
  for (const write of captured) {
10991
- const record2 = write.record;
10992
- const payload = await encrypt(
10993
- JSON.stringify({ schema: 1, account_id: accountId, key_id: keyId, record: record2 })
10994
- );
10995
- signal?.throwIfAborted();
10996
- if (!cipherPattern.test(payload) || payload.length > 2 * 1024 * 1024) invalid();
11077
+ const payload = await seal(write.record, signal);
10997
11078
  bytes2 += payload.length;
10998
- if (bytes2 > 8 * 1024 * 1024) invalid();
10999
- prepared.push({ record: wire(record2, payload), expected_version: write.expectedVersion });
11079
+ if (bytes2 > maxRequestCiphertext) invalid();
11080
+ prepared.push({
11081
+ record: wire(write.record, payload),
11082
+ expected_version: write.expectedVersion,
11083
+ ...vectorFields(write)
11084
+ });
11000
11085
  }
11001
11086
  const result = await request(
11002
11087
  "/records/batch",
@@ -11011,7 +11096,8 @@ async function createRemoteChatStore(options) {
11011
11096
  const out = [];
11012
11097
  for (let i = 0; i < result.items.length; i++) {
11013
11098
  const value = result.items[i];
11014
- if (!object(value) || value.version !== prepared[i].expected_version + 1 || !object(value.record) || value.record.payload !== prepared[i].record.payload)
11099
+ const deleted = prepared[i].record.is_deleted;
11100
+ if (!object(value) || !object(value.record) || value.record.kind !== prepared[i].record.kind || value.record.id !== prepared[i].record.id || value.record.payload !== prepared[i].record.payload || (deleted ? value.record.is_deleted !== true || !integer(value.version, 1) : value.version !== prepared[i].expected_version + 1))
11015
11101
  invalid();
11016
11102
  out.push(await decode(value));
11017
11103
  }
@@ -11040,7 +11126,7 @@ async function createRemoteChatStore(options) {
11040
11126
  async list(query) {
11041
11127
  const limit = query.limit ?? 20;
11042
11128
  const parent = query.conversationId ?? "";
11043
- if (!kinds.has(query.kind) || !integer(limit, 1) || query.includeDeleted !== void 0 && typeof query.includeDeleted !== "boolean" || limit > 50 || (query.cursor?.length ?? 0) > 2048 || (query.kind === "conversation" || query.kind === "project" ? parent !== "" : !id(parent)))
11129
+ if (!kinds.has(query.kind) || !integer(limit, 1) || query.includeDeleted !== void 0 && typeof query.includeDeleted !== "boolean" || limit > (query.kind === "message" ? 200 : 50) || (query.cursor?.length ?? 0) > 2048 || (query.kind === "conversation" || query.kind === "project" ? parent !== "" : !id(parent)))
11044
11130
  invalid();
11045
11131
  const params = new URLSearchParams({
11046
11132
  account_id: String(accountId),
@@ -11051,7 +11137,7 @@ async function createRemoteChatStore(options) {
11051
11137
  });
11052
11138
  if (query.cursor) params.set("cursor", query.cursor);
11053
11139
  const value = await request(`/records?${params}`, {}, query.signal);
11054
- if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && (typeof value.next_cursor !== "string" || value.next_cursor.length > 2048))
11140
+ if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && (typeof value.next_cursor !== "string" || value.next_cursor.length > 2048) || value.total !== void 0 && !integer(value.total))
11055
11141
  invalid();
11056
11142
  const items = [];
11057
11143
  for (const item of value.items) {
@@ -11061,27 +11147,274 @@ async function createRemoteChatStore(options) {
11061
11147
  items.push(result);
11062
11148
  }
11063
11149
  query.signal?.throwIfAborted();
11064
- return { items, ...value.next_cursor ? { nextCursor: value.next_cursor } : {} };
11150
+ return {
11151
+ items,
11152
+ ...value.next_cursor ? { nextCursor: value.next_cursor } : {},
11153
+ ...value.total !== void 0 ? { total: value.total } : {}
11154
+ };
11155
+ },
11156
+ putMany,
11157
+ async getMany(refs, signal) {
11158
+ if (!Array.isArray(refs)) invalid();
11159
+ const wanted = /* @__PURE__ */ new Map();
11160
+ for (const r of refs) {
11161
+ const checked = ref(r);
11162
+ wanted.set(`${checked.kind}/${checked.id}`, checked);
11163
+ }
11164
+ const found = /* @__PURE__ */ new Map();
11165
+ let pending = [...wanted.values()];
11166
+ while (pending.length > 0) {
11167
+ const batch = pending.slice(0, maxGetRefs);
11168
+ pending = pending.slice(maxGetRefs);
11169
+ const value = await request(
11170
+ "/records/get",
11171
+ { method: "POST", body: JSON.stringify({ account_id: accountId, refs: batch }) },
11172
+ signal
11173
+ );
11174
+ if (!object(value) || !Array.isArray(value.items) || value.remaining !== void 0 && !Array.isArray(value.remaining))
11175
+ invalid();
11176
+ const asked = new Set(batch.map((r) => `${r.kind}/${r.id}`));
11177
+ for (const item of value.items) {
11178
+ const snapshot = await decode(item);
11179
+ const key = `${snapshot.record.kind}/${snapshot.record.id}`;
11180
+ if (!asked.has(key) || found.has(key)) invalid();
11181
+ found.set(key, snapshot);
11182
+ }
11183
+ const remaining = (value.remaining ?? []).map(ref);
11184
+ if (remaining.some((r) => !asked.has(`${r.kind}/${r.id}`) || found.has(`${r.kind}/${r.id}`)))
11185
+ invalid();
11186
+ if (remaining.length > 0 && value.items.length === 0) invalid();
11187
+ pending = [...remaining, ...pending];
11188
+ }
11189
+ signal?.throwIfAborted();
11190
+ return [...wanted.keys()].flatMap((key) => {
11191
+ const snapshot = found.get(key);
11192
+ return snapshot ? [snapshot] : [];
11193
+ });
11194
+ },
11195
+ async account(signal) {
11196
+ const value = await request("/account", {}, signal);
11197
+ if (!object(value) || value.account_id !== accountId || !text2(value.key_id) || value.state !== "none" && value.state !== "migrating" && value.state !== "active" || !integer(value.record_count) || !integer(value.storage_bytes) || !integer(value.vector_count))
11198
+ invalid();
11199
+ if (value.key_id && value.key_id !== keyId)
11200
+ throw new ChatStoreError("Canonical chat key does not match", 409, "key_mismatch");
11201
+ const out = {
11202
+ keyId: value.key_id,
11203
+ state: value.state,
11204
+ recordCount: value.record_count,
11205
+ storageBytes: value.storage_bytes,
11206
+ vectorCount: value.vector_count
11207
+ };
11208
+ return out;
11209
+ },
11210
+ async importRecords(records, signal) {
11211
+ const captured = capture(records, maxImportRecords, signal);
11212
+ let bytes2 = 0;
11213
+ const prepared = [];
11214
+ for (const item of captured) {
11215
+ const payload = await seal(item.record, signal);
11216
+ bytes2 += payload.length;
11217
+ if (bytes2 > maxRequestCiphertext) invalid();
11218
+ prepared.push({ record: wire(item.record, payload), ...vectorFields(item) });
11219
+ }
11220
+ const value = await request(
11221
+ "/import",
11222
+ {
11223
+ method: "POST",
11224
+ body: JSON.stringify({ account_id: accountId, key_id: keyId, records: prepared })
11225
+ },
11226
+ signal
11227
+ );
11228
+ if (!object(value) || !integer(value.written) || value.written > prepared.length) invalid();
11229
+ return value.written;
11230
+ },
11231
+ async verify(revisions, signal) {
11232
+ if (!Array.isArray(revisions) || revisions.length > maxVerifyRevisions) invalid();
11233
+ const asked = /* @__PURE__ */ new Set();
11234
+ const wireRevisions = revisions.map((r) => {
11235
+ const checked = ref(r);
11236
+ if (!integer(r.updatedAt, 1) || typeof r.isDeleted !== "boolean") invalid();
11237
+ asked.add(`${checked.kind}/${checked.id}`);
11238
+ return {
11239
+ kind: checked.kind,
11240
+ id: checked.id,
11241
+ updated_at: r.updatedAt,
11242
+ is_deleted: r.isDeleted
11243
+ };
11244
+ });
11245
+ if (wireRevisions.length === 0) return [];
11246
+ const value = await request(
11247
+ "/verify",
11248
+ {
11249
+ method: "POST",
11250
+ body: JSON.stringify({ account_id: accountId, revisions: wireRevisions })
11251
+ },
11252
+ signal
11253
+ );
11254
+ if (!object(value) || !Array.isArray(value.missing)) invalid();
11255
+ const missing = value.missing.map(ref);
11256
+ if (missing.some((r) => !asked.has(`${r.kind}/${r.id}`))) invalid();
11257
+ return missing;
11258
+ },
11259
+ async activate(signal) {
11260
+ const value = await request(
11261
+ "/account",
11262
+ { method: "PUT", body: JSON.stringify({ account_id: accountId, state: "active" }) },
11263
+ signal
11264
+ );
11265
+ if (!object(value) || value.state !== "active" || typeof value.transitioned !== "boolean")
11266
+ invalid();
11267
+ return value.transitioned;
11065
11268
  },
11066
- putMany
11269
+ async changes(cursor, options2) {
11270
+ const limit = options2?.limit ?? 100;
11271
+ if (!integer(limit, 1) || limit > 200 || cursor !== void 0 && (!text2(cursor) || cursor.length > 2048))
11272
+ invalid();
11273
+ const params = new URLSearchParams({ account_id: String(accountId), limit: String(limit) });
11274
+ if (cursor) params.set("cursor", cursor);
11275
+ const value = await request(`/changes?${params}`, {}, options2?.signal);
11276
+ if (!object(value) || !Array.isArray(value.items) || value.items.length > limit || value.next_cursor !== void 0 && !text2(value.next_cursor) || value.changes_cursor !== void 0 && !text2(value.changes_cursor))
11277
+ invalid();
11278
+ const items = [];
11279
+ for (const item of value.items) items.push(await decode(item));
11280
+ options2?.signal?.throwIfAborted();
11281
+ return {
11282
+ items,
11283
+ ...value.next_cursor ? { nextCursor: value.next_cursor } : {},
11284
+ changesCursor: value.changes_cursor ?? cursor ?? ""
11285
+ };
11286
+ },
11287
+ async search(embedding2, options2) {
11288
+ const limit = options2?.limit ?? 20;
11289
+ const kindsFilter = options2?.kinds;
11290
+ if (!Array.isArray(embedding2) || !embeddings({
11291
+ record: { ...emptyMessage, isDeleted: false },
11292
+ embeddings: [embedding2]
11293
+ }) || !integer(limit, 1) || limit > 50 || kindsFilter !== void 0 && (!Array.isArray(kindsFilter) || kindsFilter.length === 0 || kindsFilter.some((k) => k !== "message" && k !== "summary")) || options2?.conversationId !== void 0 && !id(options2.conversationId))
11294
+ invalid();
11295
+ const value = await request(
11296
+ "/search",
11297
+ {
11298
+ method: "POST",
11299
+ body: JSON.stringify({
11300
+ account_id: accountId,
11301
+ embedding: embedding2.slice(0, storedDims),
11302
+ limit,
11303
+ ...kindsFilter ? { kinds: kindsFilter } : {},
11304
+ ...options2?.conversationId ? { conversation_id: options2.conversationId } : {}
11305
+ })
11306
+ },
11307
+ options2?.signal
11308
+ );
11309
+ if (!object(value) || !Array.isArray(value.items) || value.items.length > limit) invalid();
11310
+ const hits = [];
11311
+ for (const item of value.items) {
11312
+ if (!object(item) || !integer(item.chunk) || typeof item.score !== "number" || !Number.isFinite(item.score))
11313
+ invalid();
11314
+ const snapshot = await decode(item);
11315
+ if (snapshot.record.isDeleted || kindsFilter !== void 0 && !kindsFilter.includes(snapshot.record.kind) || snapshot.record.kind !== "message" && snapshot.record.kind !== "summary" || options2?.conversationId !== void 0 && snapshot.record.conversationId !== options2.conversationId)
11316
+ invalid();
11317
+ hits.push({ ...snapshot, chunk: item.chunk, score: item.score });
11318
+ }
11319
+ options2?.signal?.throwIfAborted();
11320
+ return hits;
11321
+ },
11322
+ async deleteAll(signal) {
11323
+ const value = await request(`/records?account_id=${accountId}`, { method: "DELETE" }, signal);
11324
+ if (!object(value) || !integer(value.deleted)) invalid();
11325
+ return value.deleted;
11326
+ },
11327
+ attachments: {
11328
+ async create(sizeBytes, signal) {
11329
+ if (!integer(sizeBytes, 1) || sizeBytes > maxAttachmentBytes) invalid();
11330
+ const value = await request(
11331
+ "/attachments",
11332
+ {
11333
+ method: "POST",
11334
+ body: JSON.stringify({ account_id: accountId, size_bytes: sizeBytes })
11335
+ },
11336
+ signal
11337
+ );
11338
+ if (!object(value)) invalid();
11339
+ const created = attachment(value.attachment);
11340
+ if (created.sizeBytes !== sizeBytes || created.state !== "pending") invalid();
11341
+ return { attachment: created, upload: presigned(value.upload) };
11342
+ },
11343
+ async commit(attachmentId, owner, signal) {
11344
+ if (!attachmentIdPattern.test(attachmentId) || !object(owner) || owner.kind !== "message" && owner.kind !== "summary" || !id(owner.id))
11345
+ invalid();
11346
+ const value = await request(
11347
+ `/attachments/${attachmentId}/commit`,
11348
+ {
11349
+ method: "POST",
11350
+ body: JSON.stringify({
11351
+ account_id: accountId,
11352
+ owner_kind: owner.kind,
11353
+ owner_id: owner.id
11354
+ })
11355
+ },
11356
+ signal
11357
+ );
11358
+ if (!object(value)) invalid();
11359
+ const committed = attachment(value.attachment);
11360
+ if (committed.id !== attachmentId || committed.state !== "committed" || committed.ownerKind !== owner.kind || committed.ownerId !== owner.id)
11361
+ invalid();
11362
+ return committed;
11363
+ },
11364
+ async get(attachmentId, signal) {
11365
+ if (!attachmentIdPattern.test(attachmentId)) invalid();
11366
+ let value;
11367
+ try {
11368
+ value = await request(`/attachments/${attachmentId}?account_id=${accountId}`, {}, signal);
11369
+ } catch (error) {
11370
+ if (error instanceof ChatStoreError && error.status === 404) return null;
11371
+ throw error;
11372
+ }
11373
+ if (!object(value)) invalid();
11374
+ const found = attachment(value.attachment);
11375
+ if (found.id !== attachmentId) invalid();
11376
+ return {
11377
+ attachment: found,
11378
+ ...value.download !== void 0 ? { download: presigned(value.download) } : {}
11379
+ };
11380
+ },
11381
+ async delete(attachmentId, signal) {
11382
+ if (!attachmentIdPattern.test(attachmentId)) invalid();
11383
+ await request(
11384
+ `/attachments/${attachmentId}?account_id=${accountId}`,
11385
+ { method: "DELETE" },
11386
+ signal
11387
+ );
11388
+ }
11389
+ }
11067
11390
  };
11068
11391
  }
11392
+ var emptyMessage = {
11393
+ kind: "message",
11394
+ id: "query",
11395
+ conversationId: "query",
11396
+ sortKey: 0,
11397
+ createdAt: 1,
11398
+ updatedAt: 1,
11399
+ isDeleted: false,
11400
+ data: {}
11401
+ };
11069
11402
 
11070
11403
  // src/lib/db/appFiles/models.ts
11071
11404
  import { Model as Model2 } from "@nozbe/watermelondb";
11072
- import { date, readonly, text as text2 } from "@nozbe/watermelondb/decorators";
11405
+ import { date, readonly, text as text3 } from "@nozbe/watermelondb/decorators";
11073
11406
  var AppFile = class extends Model2 {
11074
11407
  };
11075
11408
  AppFile.table = "app_files";
11076
11409
  AppFile.associations = {};
11077
11410
  __decorateClass([
11078
- text2("conversation_id")
11411
+ text3("conversation_id")
11079
11412
  ], AppFile.prototype, "conversationId", 2);
11080
11413
  __decorateClass([
11081
- text2("path")
11414
+ text3("path")
11082
11415
  ], AppFile.prototype, "path", 2);
11083
11416
  __decorateClass([
11084
- text2("content")
11417
+ text3("content")
11085
11418
  ], AppFile.prototype, "content", 2);
11086
11419
  __decorateClass([
11087
11420
  readonly,
@@ -11235,7 +11568,7 @@ async function decryptConversationTitle(encryptedTitle, address) {
11235
11568
 
11236
11569
  // src/lib/db/chat/models.ts
11237
11570
  import { Model as Model3 } from "@nozbe/watermelondb";
11238
- import { date as date2, field, json as json2, text as text3 } from "@nozbe/watermelondb/decorators";
11571
+ import { date as date2, field, json as json2, text as text4 } from "@nozbe/watermelondb/decorators";
11239
11572
  var Message = class extends Model3 {
11240
11573
  };
11241
11574
  Message.table = "history";
@@ -11247,19 +11580,19 @@ __decorateClass([
11247
11580
  field("message_id")
11248
11581
  ], Message.prototype, "messageId", 2);
11249
11582
  __decorateClass([
11250
- text3("conversation_id")
11583
+ text4("conversation_id")
11251
11584
  ], Message.prototype, "conversationId", 2);
11252
11585
  __decorateClass([
11253
- text3("role")
11586
+ text4("role")
11254
11587
  ], Message.prototype, "role", 2);
11255
11588
  __decorateClass([
11256
- text3("content")
11589
+ text4("content")
11257
11590
  ], Message.prototype, "content", 2);
11258
11591
  __decorateClass([
11259
- text3("model")
11592
+ text4("model")
11260
11593
  ], Message.prototype, "model", 2);
11261
11594
  __decorateClass([
11262
- text3("image_model")
11595
+ text4("image_model")
11263
11596
  ], Message.prototype, "imageModel", 2);
11264
11597
  __decorateClass([
11265
11598
  json2("files", (raw) => raw)
@@ -11277,7 +11610,7 @@ __decorateClass([
11277
11610
  json2("vector", (raw) => raw)
11278
11611
  ], Message.prototype, "vector", 2);
11279
11612
  __decorateClass([
11280
- text3("embedding_model")
11613
+ text4("embedding_model")
11281
11614
  ], Message.prototype, "embeddingModel", 2);
11282
11615
  __decorateClass([
11283
11616
  json2("chunks", (raw) => raw)
@@ -11295,25 +11628,25 @@ __decorateClass([
11295
11628
  field("was_stopped")
11296
11629
  ], Message.prototype, "wasStopped", 2);
11297
11630
  __decorateClass([
11298
- text3("error")
11631
+ text4("error")
11299
11632
  ], Message.prototype, "error", 2);
11300
11633
  __decorateClass([
11301
11634
  json2("thought_process", (raw) => raw)
11302
11635
  ], Message.prototype, "thoughtProcess", 2);
11303
11636
  __decorateClass([
11304
- text3("thinking")
11637
+ text4("thinking")
11305
11638
  ], Message.prototype, "thinking", 2);
11306
11639
  __decorateClass([
11307
- text3("parent_message_id")
11640
+ text4("parent_message_id")
11308
11641
  ], Message.prototype, "parentMessageId", 2);
11309
11642
  __decorateClass([
11310
- text3("feedback")
11643
+ text4("feedback")
11311
11644
  ], Message.prototype, "feedback", 2);
11312
11645
  __decorateClass([
11313
11646
  json2("tool_call_events", (raw) => raw)
11314
11647
  ], Message.prototype, "toolCallEvents", 2);
11315
11648
  __decorateClass([
11316
- text3("origin")
11649
+ text4("origin")
11317
11650
  ], Message.prototype, "origin", 2);
11318
11651
  var Conversation = class extends Model3 {
11319
11652
  };
@@ -11323,13 +11656,13 @@ Conversation.associations = {
11323
11656
  projects: { type: "belongs_to", key: "project_id" }
11324
11657
  };
11325
11658
  __decorateClass([
11326
- text3("conversation_id")
11659
+ text4("conversation_id")
11327
11660
  ], Conversation.prototype, "conversationId", 2);
11328
11661
  __decorateClass([
11329
- text3("title")
11662
+ text4("title")
11330
11663
  ], Conversation.prototype, "title", 2);
11331
11664
  __decorateClass([
11332
- text3("project_id")
11665
+ text4("project_id")
11333
11666
  ], Conversation.prototype, "projectId", 2);
11334
11667
  __decorateClass([
11335
11668
  date2("created_at")
@@ -11350,13 +11683,13 @@ ConversationSummary.associations = {
11350
11683
  conversations: { type: "belongs_to", key: "conversation_id" }
11351
11684
  };
11352
11685
  __decorateClass([
11353
- text3("conversation_id")
11686
+ text4("conversation_id")
11354
11687
  ], ConversationSummary.prototype, "conversationId", 2);
11355
11688
  __decorateClass([
11356
- text3("summary")
11689
+ text4("summary")
11357
11690
  ], ConversationSummary.prototype, "summary", 2);
11358
11691
  __decorateClass([
11359
- text3("summarized_up_to")
11692
+ text4("summarized_up_to")
11360
11693
  ], ConversationSummary.prototype, "summarizedUpTo", 2);
11361
11694
  __decorateClass([
11362
11695
  field("token_count")
@@ -11525,16 +11858,16 @@ async function deleteConversationSummaryOp(ctx, conversationId) {
11525
11858
 
11526
11859
  // src/lib/db/conversationMemory/models.ts
11527
11860
  import { Model as Model4 } from "@nozbe/watermelondb";
11528
- import { date as date3, field as field2, readonly as readonly2, text as text4 } from "@nozbe/watermelondb/decorators";
11861
+ import { date as date3, field as field2, readonly as readonly2, text as text5 } from "@nozbe/watermelondb/decorators";
11529
11862
  var ConversationMemory = class extends Model4 {
11530
11863
  };
11531
11864
  ConversationMemory.table = "conversation_memory";
11532
11865
  ConversationMemory.associations = {};
11533
11866
  __decorateClass([
11534
- text4("conversation_id")
11867
+ text5("conversation_id")
11535
11868
  ], ConversationMemory.prototype, "conversationId", 2);
11536
11869
  __decorateClass([
11537
- text4("memory_id")
11870
+ text5("memory_id")
11538
11871
  ], ConversationMemory.prototype, "memoryId", 2);
11539
11872
  __decorateClass([
11540
11873
  field2("score")
@@ -11604,12 +11937,12 @@ async function clearConversationMemoriesOp(ctx, conversationId) {
11604
11937
 
11605
11938
  // src/lib/db/entities/models.ts
11606
11939
  import { Model as Model5 } from "@nozbe/watermelondb";
11607
- import { date as date4, field as field3, readonly as readonly3, text as text5 } from "@nozbe/watermelondb/decorators";
11940
+ import { date as date4, field as field3, readonly as readonly3, text as text6 } from "@nozbe/watermelondb/decorators";
11608
11941
  var Entity = class extends Model5 {
11609
11942
  };
11610
11943
  Entity.table = "entity";
11611
11944
  __decorateClass([
11612
- text5("canonical_name")
11945
+ text6("canonical_name")
11613
11946
  ], Entity.prototype, "canonicalName", 2);
11614
11947
  __decorateClass([
11615
11948
  field3("kind")
@@ -11625,10 +11958,10 @@ var MemoryEntity = class extends Model5 {
11625
11958
  };
11626
11959
  MemoryEntity.table = "memory_entity";
11627
11960
  __decorateClass([
11628
- text5("memory_id")
11961
+ text6("memory_id")
11629
11962
  ], MemoryEntity.prototype, "memoryId", 2);
11630
11963
  __decorateClass([
11631
- text5("entity_id")
11964
+ text6("entity_id")
11632
11965
  ], MemoryEntity.prototype, "entityId", 2);
11633
11966
  __decorateClass([
11634
11967
  field3("user_id")
@@ -12095,7 +12428,7 @@ import {
12095
12428
 
12096
12429
  // src/lib/db/media/models.ts
12097
12430
  import { Model as Model6 } from "@nozbe/watermelondb";
12098
- import { date as date5, field as field4, json as json3, readonly as readonly4, text as text6 } from "@nozbe/watermelondb/decorators";
12431
+ import { date as date5, field as field4, json as json3, readonly as readonly4, text as text7 } from "@nozbe/watermelondb/decorators";
12099
12432
  var Media = class extends Model6 {
12100
12433
  };
12101
12434
  Media.table = "media";
@@ -12104,37 +12437,37 @@ Media.associations = {
12104
12437
  conversations: { type: "belongs_to", key: "conversation_id" }
12105
12438
  };
12106
12439
  __decorateClass([
12107
- text6("media_id")
12440
+ text7("media_id")
12108
12441
  ], Media.prototype, "mediaId", 2);
12109
12442
  __decorateClass([
12110
- text6("wallet_address")
12443
+ text7("wallet_address")
12111
12444
  ], Media.prototype, "walletAddress", 2);
12112
12445
  __decorateClass([
12113
- text6("message_id")
12446
+ text7("message_id")
12114
12447
  ], Media.prototype, "messageId", 2);
12115
12448
  __decorateClass([
12116
- text6("conversation_id")
12449
+ text7("conversation_id")
12117
12450
  ], Media.prototype, "conversationId", 2);
12118
12451
  __decorateClass([
12119
- text6("name")
12452
+ text7("name")
12120
12453
  ], Media.prototype, "name", 2);
12121
12454
  __decorateClass([
12122
- text6("mime_type")
12455
+ text7("mime_type")
12123
12456
  ], Media.prototype, "mimeType", 2);
12124
12457
  __decorateClass([
12125
- text6("media_type")
12458
+ text7("media_type")
12126
12459
  ], Media.prototype, "mediaType", 2);
12127
12460
  __decorateClass([
12128
12461
  field4("size")
12129
12462
  ], Media.prototype, "size", 2);
12130
12463
  __decorateClass([
12131
- text6("role")
12464
+ text7("role")
12132
12465
  ], Media.prototype, "role", 2);
12133
12466
  __decorateClass([
12134
- text6("model")
12467
+ text7("model")
12135
12468
  ], Media.prototype, "model", 2);
12136
12469
  __decorateClass([
12137
- text6("source_url")
12470
+ text7("source_url")
12138
12471
  ], Media.prototype, "sourceUrl", 2);
12139
12472
  __decorateClass([
12140
12473
  json3("dimensions", (raw) => raw)
@@ -12158,15 +12491,15 @@ __decorateClass([
12158
12491
 
12159
12492
  // src/lib/db/memoryVault/models.ts
12160
12493
  import { Model as Model7 } from "@nozbe/watermelondb";
12161
- import { date as date6, field as field5, readonly as readonly5, text as text7 } from "@nozbe/watermelondb/decorators";
12494
+ import { date as date6, field as field5, readonly as readonly5, text as text8 } from "@nozbe/watermelondb/decorators";
12162
12495
  var VaultMemory = class extends Model7 {
12163
12496
  };
12164
12497
  VaultMemory.table = "memory_vault";
12165
12498
  __decorateClass([
12166
- text7("content")
12499
+ text8("content")
12167
12500
  ], VaultMemory.prototype, "content", 2);
12168
12501
  __decorateClass([
12169
- text7("scope")
12502
+ text8("scope")
12170
12503
  ], VaultMemory.prototype, "scope", 2);
12171
12504
  __decorateClass([
12172
12505
  field5("kind")
@@ -12268,7 +12601,7 @@ __decorateClass([
12268
12601
 
12269
12602
  // src/lib/db/project/models.ts
12270
12603
  import { Model as Model8 } from "@nozbe/watermelondb";
12271
- import { date as date7, field as field6, text as text8 } from "@nozbe/watermelondb/decorators";
12604
+ import { date as date7, field as field6, text as text9 } from "@nozbe/watermelondb/decorators";
12272
12605
  var Project = class extends Model8 {
12273
12606
  };
12274
12607
  Project.table = "projects";
@@ -12276,10 +12609,10 @@ Project.associations = {
12276
12609
  conversations: { type: "has_many", foreignKey: "project_id" }
12277
12610
  };
12278
12611
  __decorateClass([
12279
- text8("project_id")
12612
+ text9("project_id")
12280
12613
  ], Project.prototype, "projectId", 2);
12281
12614
  __decorateClass([
12282
- text8("name")
12615
+ text9("name")
12283
12616
  ], Project.prototype, "name", 2);
12284
12617
  __decorateClass([
12285
12618
  date7("created_at")
@@ -12293,29 +12626,29 @@ __decorateClass([
12293
12626
 
12294
12627
  // src/lib/db/savedTools/models.ts
12295
12628
  import { Model as Model9 } from "@nozbe/watermelondb";
12296
- import { date as date8, field as field7, json as json4, readonly as readonly6, text as text9 } from "@nozbe/watermelondb/decorators";
12629
+ import { date as date8, field as field7, json as json4, readonly as readonly6, text as text10 } from "@nozbe/watermelondb/decorators";
12297
12630
  var sanitizeParameters = (raw) => raw ?? {};
12298
12631
  var SavedTool = class extends Model9 {
12299
12632
  };
12300
12633
  SavedTool.table = "saved_tools";
12301
12634
  SavedTool.associations = {};
12302
12635
  __decorateClass([
12303
- text9("name")
12636
+ text10("name")
12304
12637
  ], SavedTool.prototype, "name", 2);
12305
12638
  __decorateClass([
12306
- text9("display_name")
12639
+ text10("display_name")
12307
12640
  ], SavedTool.prototype, "displayName", 2);
12308
12641
  __decorateClass([
12309
- text9("description")
12642
+ text10("description")
12310
12643
  ], SavedTool.prototype, "description", 2);
12311
12644
  __decorateClass([
12312
12645
  json4("parameters", sanitizeParameters)
12313
12646
  ], SavedTool.prototype, "parameters", 2);
12314
12647
  __decorateClass([
12315
- text9("html")
12648
+ text10("html")
12316
12649
  ], SavedTool.prototype, "html", 2);
12317
12650
  __decorateClass([
12318
- text9("conversation_id")
12651
+ text10("conversation_id")
12319
12652
  ], SavedTool.prototype, "conversationId", 2);
12320
12653
  __decorateClass([
12321
12654
  readonly6,
@@ -12330,43 +12663,43 @@ __decorateClass([
12330
12663
 
12331
12664
  // src/lib/db/settings/models.ts
12332
12665
  import { Model as Model10 } from "@nozbe/watermelondb";
12333
- import { text as text10 } from "@nozbe/watermelondb/decorators";
12666
+ import { text as text11 } from "@nozbe/watermelondb/decorators";
12334
12667
  var ModelPreference = class extends Model10 {
12335
12668
  };
12336
12669
  ModelPreference.table = "modelPreferences";
12337
12670
  __decorateClass([
12338
- text10("wallet_address")
12671
+ text11("wallet_address")
12339
12672
  ], ModelPreference.prototype, "walletAddress", 2);
12340
12673
  __decorateClass([
12341
- text10("models")
12674
+ text11("models")
12342
12675
  ], ModelPreference.prototype, "models", 2);
12343
12676
 
12344
12677
  // src/lib/db/userPreferences/models.ts
12345
12678
  import { Model as Model11 } from "@nozbe/watermelondb";
12346
- import { field as field8, text as text11 } from "@nozbe/watermelondb/decorators";
12679
+ import { field as field8, text as text12 } from "@nozbe/watermelondb/decorators";
12347
12680
  var UserPreference = class extends Model11 {
12348
12681
  };
12349
12682
  UserPreference.table = "userPreferences";
12350
12683
  __decorateClass([
12351
- text11("wallet_address")
12684
+ text12("wallet_address")
12352
12685
  ], UserPreference.prototype, "walletAddress", 2);
12353
12686
  __decorateClass([
12354
- text11("nickname")
12687
+ text12("nickname")
12355
12688
  ], UserPreference.prototype, "nickname", 2);
12356
12689
  __decorateClass([
12357
- text11("occupation")
12690
+ text12("occupation")
12358
12691
  ], UserPreference.prototype, "occupation", 2);
12359
12692
  __decorateClass([
12360
- text11("description")
12693
+ text12("description")
12361
12694
  ], UserPreference.prototype, "description", 2);
12362
12695
  __decorateClass([
12363
- text11("models")
12696
+ text12("models")
12364
12697
  ], UserPreference.prototype, "models", 2);
12365
12698
  __decorateClass([
12366
- text11("personality")
12699
+ text12("personality")
12367
12700
  ], UserPreference.prototype, "personality", 2);
12368
12701
  __decorateClass([
12369
- text11("external_wallets")
12702
+ text12("external_wallets")
12370
12703
  ], UserPreference.prototype, "externalWallets", 2);
12371
12704
  __decorateClass([
12372
12705
  field8("created_at")
@@ -12377,15 +12710,15 @@ __decorateClass([
12377
12710
 
12378
12711
  // src/lib/db/vaultFolders/models.ts
12379
12712
  import { Model as Model12 } from "@nozbe/watermelondb";
12380
- import { date as date9, field as field9, readonly as readonly7, text as text12 } from "@nozbe/watermelondb/decorators";
12713
+ import { date as date9, field as field9, readonly as readonly7, text as text13 } from "@nozbe/watermelondb/decorators";
12381
12714
  var VaultFolder = class extends Model12 {
12382
12715
  };
12383
12716
  VaultFolder.table = "vault_folders";
12384
12717
  __decorateClass([
12385
- text12("name")
12718
+ text13("name")
12386
12719
  ], VaultFolder.prototype, "name", 2);
12387
12720
  __decorateClass([
12388
- text12("scope")
12721
+ text13("scope")
12389
12722
  ], VaultFolder.prototype, "scope", 2);
12390
12723
  __decorateClass([
12391
12724
  readonly7,
@@ -12401,7 +12734,7 @@ __decorateClass([
12401
12734
  field9("is_system")
12402
12735
  ], VaultFolder.prototype, "isSystem", 2);
12403
12736
  __decorateClass([
12404
- text12("context")
12737
+ text13("context")
12405
12738
  ], VaultFolder.prototype, "context", 2);
12406
12739
 
12407
12740
  // src/lib/db/schema.ts
@@ -13723,8 +14056,8 @@ var WatermelonChatStorageAdapter = class {
13723
14056
  createMessage(options) {
13724
14057
  return createMessageOp(this.ctx, options);
13725
14058
  }
13726
- updateMessageEmbedding(uniqueId, vector, embeddingModel) {
13727
- return updateMessageEmbeddingOp(this.ctx, uniqueId, vector, embeddingModel);
14059
+ updateMessageEmbedding(uniqueId, vector2, embeddingModel) {
14060
+ return updateMessageEmbeddingOp(this.ctx, uniqueId, vector2, embeddingModel);
13728
14061
  }
13729
14062
  updateMessageChunks(uniqueId, chunks3, embeddingModel) {
13730
14063
  return updateMessageChunksOp(this.ctx, uniqueId, chunks3, embeddingModel);
@@ -17649,8 +17982,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
17649
17982
  "user",
17650
17983
  "users"
17651
17984
  ]);
17652
- function tokenize(text14) {
17653
- const m = text14.toLowerCase().match(TOKEN_RE);
17985
+ function tokenize(text15) {
17986
+ const m = text15.toLowerCase().match(TOKEN_RE);
17654
17987
  if (!m) return [];
17655
17988
  return m.filter((t) => !STOPWORDS.has(t));
17656
17989
  }
@@ -17860,13 +18193,13 @@ function embedVaultRows(ctx, options, rows, preparation) {
17860
18193
  );
17861
18194
  [...missing].forEach(([key, row], index) => {
17862
18195
  const request = batch.then((vectors) => {
17863
- const vector = vectors[index];
17864
- updateVaultMemoryEmbeddingOp(ctx, row.uniqueId, JSON.stringify(vector), model, {
18196
+ const vector2 = vectors[index];
18197
+ updateVaultMemoryEmbeddingOp(ctx, row.uniqueId, JSON.stringify(vector2), model, {
17865
18198
  content: row.content,
17866
18199
  updatedAt: row.updatedAt?.getTime()
17867
18200
  }).catch(() => {
17868
18201
  });
17869
- return vector;
18202
+ return vector2;
17870
18203
  }).finally(() => {
17871
18204
  entries.delete(key);
17872
18205
  if (entries.size === 0) pendingRows.get(ctx)?.delete(options.maskInput);
@@ -18480,12 +18813,12 @@ async function preEmbedVaultMemories(vaultCtx, embeddingOptions, cache, options)
18480
18813
  }
18481
18814
  }
18482
18815
  if (uncachedTexts.length > 0) {
18483
- const embeddings = await embedVaultRows(vaultCtx, embeddingOptions, uncachedRows);
18816
+ const embeddings2 = await embedVaultRows(vaultCtx, embeddingOptions, uncachedRows);
18484
18817
  for (let i = 0; i < uncachedKeys.length; i++) {
18485
18818
  cacheRowVector(
18486
18819
  cache,
18487
18820
  uncachedKeys[i],
18488
- Float32Array.from(embeddings[i]),
18821
+ Float32Array.from(embeddings2[i]),
18489
18822
  uncachedVersions[i],
18490
18823
  uncachedTexts[i]
18491
18824
  );
@@ -20288,7 +20621,7 @@ function createAutoExtractor(options) {
20288
20621
  ...options.retainCtx,
20289
20622
  embeddingOptions: {
20290
20623
  ...options.retainCtx.embeddingOptions,
20291
- maskInput: (text14) => piiRedactor.maskText(text14)
20624
+ maskInput: (text15) => piiRedactor.maskText(text15)
20292
20625
  }
20293
20626
  } : options.retainCtx;
20294
20627
  function processTurn(messages, conversationId) {
@@ -21031,14 +21364,14 @@ var MaskScopedEmbeddingCache = class extends Map {
21031
21364
  this.inner = inner;
21032
21365
  this.masked = masked;
21033
21366
  }
21034
- key(text14) {
21035
- return `${this.masked ? "m" : "r"}:${text14}`;
21367
+ key(text15) {
21368
+ return `${this.masked ? "m" : "r"}:${text15}`;
21036
21369
  }
21037
- get(text14) {
21038
- return this.inner.get(this.key(text14));
21370
+ get(text15) {
21371
+ return this.inner.get(this.key(text15));
21039
21372
  }
21040
- set(text14, value) {
21041
- this.inner.set(this.key(text14), value);
21373
+ set(text15, value) {
21374
+ this.inner.set(this.key(text15), value);
21042
21375
  return this;
21043
21376
  }
21044
21377
  };
@@ -22237,12 +22570,12 @@ ${JSON.stringify(
22237
22570
  function parseAnswer(body, base, parseSchema) {
22238
22571
  if (typeof body !== "object" || body === null) return base;
22239
22572
  const obj = body;
22240
- const text14 = extractCompletionContent(obj) ?? "";
22573
+ const text15 = extractCompletionContent(obj) ?? "";
22241
22574
  const usage = obj.usage;
22242
22575
  let structuredOutput;
22243
- if (parseSchema && text14) {
22576
+ if (parseSchema && text15) {
22244
22577
  try {
22245
- structuredOutput = JSON.parse(extractJsonCandidate(text14));
22578
+ structuredOutput = JSON.parse(extractJsonCandidate(text15));
22246
22579
  } catch (err) {
22247
22580
  getLogger().warn("[memory/reflect] structured output was not valid JSON", {
22248
22581
  err: err instanceof Error ? err.message : String(err)
@@ -22252,7 +22585,7 @@ function parseAnswer(body, base, parseSchema) {
22252
22585
  const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
22253
22586
  const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
22254
22587
  return {
22255
- text: text14,
22588
+ text: text15,
22256
22589
  ...structuredOutput !== void 0 && { structuredOutput },
22257
22590
  basedOn: base.basedOn,
22258
22591
  usage: {
@@ -22815,10 +23148,10 @@ async function decryptMemoryField(value, rings) {
22815
23148
 
22816
23149
  // src/lib/memory/store/remotePipeline.ts
22817
23150
  import { v7 as uuidv75 } from "uuid";
22818
- function storedVector(vector) {
22819
- if (!Array.isArray(vector) || vector.length !== 1536 && vector.length !== 4096 || vector.some((v) => !Number.isFinite(v)))
23151
+ function storedVector(vector2) {
23152
+ if (!Array.isArray(vector2) || vector2.length !== 1536 && vector2.length !== 4096 || vector2.some((v) => !Number.isFinite(v)))
22820
23153
  throw new Error("Remote memories require a finite 1536/4096-dimensional vector");
22821
- const out = vector.slice(0, 1536);
23154
+ const out = vector2.slice(0, 1536);
22822
23155
  const norm = Math.sqrt(out.reduce((sum, v) => sum + v * v, 0));
22823
23156
  if (!norm) throw new Error("Remote query/content vector has no direction after MRL truncation");
22824
23157
  return out.map((v) => v / norm);
@@ -23177,7 +23510,7 @@ function createRemoteMemoryPipeline(options) {
23177
23510
  const factSource = {
23178
23511
  graphRanking: options.graphRanking,
23179
23512
  temporalRanking: options.temporalRanking,
23180
- search: async (text14, searchOptions, embeddingCache) => {
23513
+ search: async (text15, searchOptions, embeddingCache) => {
23181
23514
  const queryOptions = {
23182
23515
  ...embeddingOptions,
23183
23516
  taskType: "memory_recall_embed",
@@ -23186,8 +23519,8 @@ function createRemoteMemoryPipeline(options) {
23186
23519
  }
23187
23520
  };
23188
23521
  const { prepare } = operation("recall", queryOptions);
23189
- const prepared = await prepare(text14, searchOptions);
23190
- const ranked = await rankPreparedVaultCandidates(text14, prepared, queryOptions, searchOptions);
23522
+ const prepared = await prepare(text15, searchOptions);
23523
+ const ranked = await rankPreparedVaultCandidates(text15, prepared, queryOptions, searchOptions);
23191
23524
  return {
23192
23525
  ...ranked,
23193
23526
  rankedOnCosine: prepared.memories.length > 0 && !prepared.embeddingsUnavailable,
@@ -23277,7 +23610,7 @@ var METADATA_FIELDS = [
23277
23610
  "published_at",
23278
23611
  "geohash"
23279
23612
  ];
23280
- function text13(value) {
23613
+ function text14(value) {
23281
23614
  return typeof value === "string" && value !== "" ? value : void 0;
23282
23615
  }
23283
23616
  function num(value) {
@@ -23298,14 +23631,14 @@ function revision(raw) {
23298
23631
  };
23299
23632
  }
23300
23633
  function embedding(raw, model) {
23301
- const value = text13(raw.embedding);
23634
+ const value = text14(raw.embedding);
23302
23635
  if (!value) return void 0;
23303
23636
  try {
23304
- const vector = JSON.parse(value);
23305
- const stored2 = text13(raw.embedding_model);
23306
- if (stored2 === void 0 ? vector.length !== LOCAL_VECTOR_DIMS : stored2 !== model)
23637
+ const vector2 = JSON.parse(value);
23638
+ const stored2 = text14(raw.embedding_model);
23639
+ if (stored2 === void 0 ? vector2.length !== LOCAL_VECTOR_DIMS : stored2 !== model)
23307
23640
  return void 0;
23308
- return storedVector(vector);
23641
+ return storedVector(vector2);
23309
23642
  } catch {
23310
23643
  return void 0;
23311
23644
  }
@@ -23319,7 +23652,7 @@ function stringArray(value) {
23319
23652
  }
23320
23653
  }
23321
23654
  function sourceChunkIds(raw) {
23322
- const value = text13(raw.source_chunk_ids);
23655
+ const value = text14(raw.source_chunk_ids);
23323
23656
  const ids = value && stringArray(value);
23324
23657
  return ids ? serializeSourceChunkIds(ids) : value;
23325
23658
  }
@@ -23331,39 +23664,39 @@ function fitsNearby(row) {
23331
23664
  }
23332
23665
  function invalid2(raw) {
23333
23666
  const id2 = raw.id;
23334
- return typeof id2 !== "string" || id2 === "" || bytes(id2) > MAX_ID_BYTES || !text13(raw.scope) || (num(raw.created_at) ?? 0) <= 0 || (num(raw.updated_at) ?? 0) <= 0;
23667
+ return typeof id2 !== "string" || id2 === "" || bytes(id2) > MAX_ID_BYTES || !text14(raw.scope) || (num(raw.created_at) ?? 0) <= 0 || (num(raw.updated_at) ?? 0) <= 0;
23335
23668
  }
23336
23669
  function metadata2(raw, model) {
23337
- const vector = embedding(raw, model);
23670
+ const vector2 = embedding(raw, model);
23338
23671
  return {
23339
23672
  scope: raw.scope,
23340
- kind: text13(raw.kind),
23341
- level: text13(raw.level),
23342
- folder_id: text13(raw.folder_id),
23673
+ kind: text14(raw.kind),
23674
+ level: text14(raw.level),
23675
+ folder_id: text14(raw.folder_id),
23343
23676
  is_deleted: bool(raw.is_deleted) ?? false,
23344
- ...vector && { embedding: vector, embedding_model: model },
23677
+ ...vector2 && { embedding: vector2, embedding_model: model },
23345
23678
  source_chunk_ids: sourceChunkIds(raw),
23346
23679
  proof_count: num(raw.proof_count),
23347
- source: text13(raw.source),
23680
+ source: text14(raw.source),
23348
23681
  event_time_start: num(raw.event_time_start),
23349
23682
  event_time_end: num(raw.event_time_end),
23350
- event_time_kind: text13(raw.event_time_kind),
23683
+ event_time_kind: text14(raw.event_time_kind),
23351
23684
  topics_user_managed: bool(raw.topics_user_managed),
23352
- topics: text13(raw.topics),
23685
+ topics: text14(raw.topics),
23353
23686
  topics_updated_at: num(raw.topics_updated_at),
23354
- media: text13(raw.media),
23687
+ media: text14(raw.media),
23355
23688
  topics_extracted_at: num(raw.topics_extracted_at),
23356
23689
  topics_extracted_version: num(raw.topics_extracted_version),
23357
- superseded_by: text13(raw.superseded_by),
23690
+ superseded_by: text14(raw.superseded_by),
23358
23691
  superseded_at: num(raw.superseded_at),
23359
23692
  last_observed_at: num(raw.last_observed_at),
23360
- fact_type: text13(raw.fact_type),
23693
+ fact_type: text14(raw.fact_type),
23361
23694
  archived_at: num(raw.archived_at),
23362
- trust_tier: text13(raw.trust_tier),
23363
- visibility: text13(raw.visibility),
23695
+ trust_tier: text14(raw.trust_tier),
23696
+ visibility: text14(raw.visibility),
23364
23697
  twin_opt_in: bool(raw.twin_opt_in),
23365
23698
  published_at: num(raw.published_at),
23366
- geohash: text13(raw.geohash)
23699
+ geohash: text14(raw.geohash)
23367
23700
  };
23368
23701
  }
23369
23702
  function defined(value) {
@@ -23374,7 +23707,7 @@ function defined(value) {
23374
23707
  async function prepareRow(raw, canonical, rings, model, updatedAt) {
23375
23708
  const deleted = bool(raw.is_deleted) ?? false;
23376
23709
  const { encrypt } = memoryCipher(canonical);
23377
- const localKindValue = text13(raw.kind_value);
23710
+ const localKindValue = text14(raw.kind_value);
23378
23711
  let plaintext;
23379
23712
  let kindValue;
23380
23713
  try {
@@ -23518,7 +23851,7 @@ async function remoteMetadata(request, ids, signal) {
23518
23851
  }
23519
23852
  async function backfillTopics(ctx) {
23520
23853
  if (!ctx.entityCtx) return;
23521
- const topicless = (await getAllVaultMemoryRowsOp(ctx)).filter((raw) => !text13(raw.topics) && !bool(raw.is_deleted)).map((raw) => raw.id);
23854
+ const topicless = (await getAllVaultMemoryRowsOp(ctx)).filter((raw) => !text14(raw.topics) && !bool(raw.is_deleted)).map((raw) => raw.id);
23522
23855
  if (topicless.length > 0) await backfillMemoryTopicsOp(ctx, topicless);
23523
23856
  }
23524
23857
  async function migrateMemoriesToRemote(options) {
@@ -23629,7 +23962,7 @@ async function migrateMemoriesToRemote(options) {
23629
23962
  track(reembedded, !!row.embedding && !usable.has(id2));
23630
23963
  track(unembedded, !row.embedding);
23631
23964
  track(placeholders, plaintext === void 0);
23632
- track(truncated, row.source_chunk_ids !== text13(local.get(id2).source_chunk_ids));
23965
+ track(truncated, row.source_chunk_ids !== text14(local.get(id2).source_chunk_ids));
23633
23966
  }
23634
23967
  let sent = 0;
23635
23968
  options.onProgress?.({ imported: sent, toImport: upload.length });
@@ -24046,12 +24379,12 @@ function createRemoteMemoryStore(options) {
24046
24379
  };
24047
24380
  const embedInBackground = ({ memory: { memory_id: id2, content } }) => {
24048
24381
  generateEmbedding(content, embeddingOptions).then(
24049
- (vector) => serialized(id2, async () => {
24382
+ (vector2) => serialized(id2, async () => {
24050
24383
  const current = await live(id2);
24051
24384
  if (!current || current.memory.content !== content || current.memory.embedding?.length)
24052
24385
  return;
24053
24386
  const saved = await persistence.put(
24054
- { ...current.memory, embedding: storedVector(vector), embedding_model: model },
24387
+ { ...current.memory, embedding: storedVector(vector2), embedding_model: model },
24055
24388
  current
24056
24389
  );
24057
24390
  notify("embedding", [saved]);
@@ -24544,8 +24877,8 @@ function createRemoteMemoryStore(options) {
24544
24877
  return finish();
24545
24878
  }
24546
24879
  const writes = targets.flatMap((record2, i) => {
24547
- const vector = vectors[i];
24548
- if (!vector) {
24880
+ const vector2 = vectors[i];
24881
+ if (!vector2) {
24549
24882
  result.failed++;
24550
24883
  return [];
24551
24884
  }
@@ -24554,7 +24887,7 @@ function createRemoteMemoryStore(options) {
24554
24887
  {
24555
24888
  memory: {
24556
24889
  ...record2.memory,
24557
- embedding: storedVector(vector),
24890
+ embedding: storedVector(vector2),
24558
24891
  embedding_model: model
24559
24892
  },
24560
24893
  expectedVersion: record2
@@ -24634,10 +24967,10 @@ function createRemoteMemoryStore(options) {
24634
24967
  if (!rejectsInput(error)) return null;
24635
24968
  }
24636
24969
  const vectors = [];
24637
- for (const [i, text14] of texts.entries()) {
24970
+ for (const [i, text15] of texts.entries()) {
24638
24971
  signal?.throwIfAborted();
24639
24972
  try {
24640
- [vectors[i]] = await generateEmbeddings([text14], embeddingOptions, signal);
24973
+ [vectors[i]] = await generateEmbeddings([text15], embeddingOptions, signal);
24641
24974
  } catch (error) {
24642
24975
  signal?.throwIfAborted();
24643
24976
  if (!rejectsInput(error)) return null;
@@ -25291,6 +25624,7 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
25291
25624
  vaultPreparation,
25292
25625
  scopes,
25293
25626
  limit: hasReviewGate ? RECALL_MAX_LIMIT : limit,
25627
+ ...hasReviewGate && { memoryIds: [...reviewed] },
25294
25628
  types: ["fact"],
25295
25629
  factTypeWeights,
25296
25630
  proofCountAlpha
@@ -25326,8 +25660,8 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
25326
25660
  memories
25327
25661
  });
25328
25662
  const noEvidence = result.basedOn.memoryIds.length === 0;
25329
- const { text: text14, legitimateEmpty } = extractFacetText(result.structuredOutput);
25330
- if (!text14 && !legitimateEmpty && !noEvidence) {
25663
+ const { text: text15, legitimateEmpty } = extractFacetText(result.structuredOutput);
25664
+ if (!text15 && !legitimateEmpty && !noEvidence) {
25331
25665
  getLogger().warn(
25332
25666
  "[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
25333
25667
  { facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
@@ -25337,12 +25671,12 @@ async function synthesizeFacet(facet, ctx, options, prior, vaultPreparation) {
25337
25671
  const section = {
25338
25672
  key: facet.key,
25339
25673
  label: facet.label,
25340
- text: text14,
25674
+ text: text15,
25341
25675
  sourceMemoryIds: result.basedOn.memoryIds,
25342
25676
  generatedAt: Date.now()
25343
25677
  };
25344
- if (options.redactor && text14) {
25345
- const redacted = await options.redactor.redactTextAsync(text14);
25678
+ if (options.redactor && text15) {
25679
+ const redacted = await options.redactor.redactTextAsync(text15);
25346
25680
  section.text = redacted.text;
25347
25681
  }
25348
25682
  if (!legitimateEmpty && !noEvidence) {
@@ -25567,9 +25901,9 @@ async function assembleMemoryContext(options) {
25567
25901
  if (!refs.length) return [];
25568
25902
  const rows = await loadFacts({ ...filters, memoryIds: refs.map((r) => r.memoryId) });
25569
25903
  const byId = new Map(rows.filter(active).map((m) => [m.uniqueId, m]));
25570
- return refs.flatMap((ref) => {
25571
- const m = byId.get(ref.memoryId);
25572
- return m ? [asItem(m, "session", ref.score)] : [];
25904
+ return refs.flatMap((ref2) => {
25905
+ const m = byId.get(ref2.memoryId);
25906
+ return m ? [asItem(m, "session", ref2.score)] : [];
25573
25907
  });
25574
25908
  },
25575
25909
  []
@@ -26328,7 +26662,7 @@ async function verifyFactSupport(items, options) {
26328
26662
  }
26329
26663
  const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
26330
26664
  const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
26331
- const safe = async (text14) => redactor ? (await redactor.redactTextAsync(text14)).text : text14;
26665
+ const safe = async (text15) => redactor ? (await redactor.redactTextAsync(text15)).text : text15;
26332
26666
  let truncatedCount = 0;
26333
26667
  const parts = [];
26334
26668
  for (const [i, item] of items.entries()) {
@@ -26444,7 +26778,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
26444
26778
  );
26445
26779
  const pending = [];
26446
26780
  for (const { index, uniqueId, content, ids } of withinBudget) {
26447
- const evidence = ids.map((id2) => resolved.get(id2) ?? null).filter((text14) => text14 !== null);
26781
+ const evidence = ids.map((id2) => resolved.get(id2) ?? null).filter((text15) => text15 !== null);
26448
26782
  const dropped = ids.length - evidence.length;
26449
26783
  if (ids.some((id2) => unreadable.has(id2))) {
26450
26784
  results[index] = {
@@ -27421,10 +27755,10 @@ async function exportMarkdownToPdf(markdown, options) {
27421
27755
  function lineHeightMm(fontSizePt) {
27422
27756
  return ptToMm(fontSizePt) * lineHeight;
27423
27757
  }
27424
- function renderWrappedText(text14, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
27758
+ function renderWrappedText(text15, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
27425
27759
  doc.setFont(fontFamily, fontStyle);
27426
27760
  doc.setFontSize(fontSizePt);
27427
- const lines = doc.splitTextToSize(text14, maxW);
27761
+ const lines = doc.splitTextToSize(text15, maxW);
27428
27762
  const lh = lineHeightMm(fontSizePt);
27429
27763
  for (const line of lines) {
27430
27764
  ensureSpace(lh);
@@ -27506,10 +27840,10 @@ async function exportMarkdownToPdf(markdown, options) {
27506
27840
  const lh = lineHeightMm(opts.fontSize);
27507
27841
  for (let i = 0; i < items.length; i++) {
27508
27842
  const prefix = ordered ? `${(listToken.start || 1) + i}. ` : "\u2022 ";
27509
- const text14 = tokensToPlainText(items[i].tokens);
27843
+ const text15 = tokensToPlainText(items[i].tokens);
27510
27844
  ensureSpace(lh);
27511
27845
  doc.text(prefix, opts.margins.left, cursorY);
27512
- const listLines = doc.splitTextToSize(text14, itemW);
27846
+ const listLines = doc.splitTextToSize(text15, itemW);
27513
27847
  for (const line of listLines) {
27514
27848
  ensureSpace(lh);
27515
27849
  doc.text(line, indentX, cursorY);
@@ -27521,12 +27855,12 @@ async function exportMarkdownToPdf(markdown, options) {
27521
27855
  }
27522
27856
  case "blockquote": {
27523
27857
  const bqToken = token;
27524
- const text14 = tokensToPlainText(bqToken.tokens ?? []);
27858
+ const text15 = tokensToPlainText(bqToken.tokens ?? []);
27525
27859
  const indentX = opts.margins.left + SPACING.QUOTE_INDENT;
27526
27860
  const quoteW = cw - SPACING.QUOTE_INSET;
27527
27861
  doc.setFont("Helvetica", "italic");
27528
27862
  doc.setFontSize(opts.fontSize);
27529
- const bqLines = doc.splitTextToSize(text14, quoteW);
27863
+ const bqLines = doc.splitTextToSize(text15, quoteW);
27530
27864
  const lh = lineHeightMm(opts.fontSize);
27531
27865
  const blockH = bqLines.length * lh;
27532
27866
  ensureSpace(Math.min(blockH, 20));
@@ -27562,8 +27896,8 @@ async function exportMarkdownToPdf(markdown, options) {
27562
27896
  doc.setFont("Helvetica", fontStyle);
27563
27897
  doc.setFontSize(tableFontSize);
27564
27898
  const cellLines = cells.map((cell) => {
27565
- const text14 = tokensToPlainText(cell.tokens);
27566
- return doc.splitTextToSize(text14, cellContentW);
27899
+ const text15 = tokensToPlainText(cell.tokens);
27900
+ return doc.splitTextToSize(text15, cellContentW);
27567
27901
  });
27568
27902
  const maxLines = Math.max(1, ...cellLines.map((l) => l.length));
27569
27903
  ensureSpace(maxLines * lh + SPACING.SM);
@@ -27791,13 +28125,13 @@ async function withPdfDocument(pdfDataUrl, fn) {
27791
28125
  }
27792
28126
  }
27793
28127
  function joinPdfTextItems(items) {
27794
- let text14 = "";
28128
+ let text15 = "";
27795
28129
  for (const item of items) {
27796
28130
  if (!("str" in item)) continue;
27797
28131
  const { str, hasEOL } = item;
27798
- text14 += str + (hasEOL ? "\n" : " ");
28132
+ text15 += str + (hasEOL ? "\n" : " ");
27799
28133
  }
27800
- return text14.replace(/[ \t]+\n/g, "\n").trim();
28134
+ return text15.replace(/[ \t]+\n/g, "\n").trim();
27801
28135
  }
27802
28136
  function computeRenderScale(width, height) {
27803
28137
  const longest = Math.max(width, height);
@@ -27817,7 +28151,7 @@ async function extractPdfPageTexts(pdfDataUrl) {
27817
28151
  }
27818
28152
  async function extractTextFromPdf(pdfDataUrl) {
27819
28153
  const pageTexts = await extractPdfPageTexts(pdfDataUrl);
27820
- return pageTexts.filter((text14) => text14.trim()).join("\n\n");
28154
+ return pageTexts.filter((text15) => text15.trim()).join("\n\n");
27821
28155
  }
27822
28156
  async function renderPdfPages(pdfDataUrl, maxPages, pageNumbers) {
27823
28157
  return withPdfDocument(pdfDataUrl, async (pdf) => {
@@ -27859,8 +28193,8 @@ var MAX_IMAGE_PAGES = 20;
27859
28193
  var MIN_PAGE_TEXT_CHARS = 20;
27860
28194
  function selectPdfImagePages(pageTexts, maxImagePages = MAX_IMAGE_PAGES) {
27861
28195
  const needImage = [];
27862
- pageTexts.forEach((text14, index) => {
27863
- if (text14.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
28196
+ pageTexts.forEach((text15, index) => {
28197
+ if (text15.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
27864
28198
  });
27865
28199
  const limit = Math.max(0, maxImagePages);
27866
28200
  return { rendered: needImage.slice(0, limit), omitted: needImage.slice(limit) };
@@ -27919,10 +28253,10 @@ var PdfProcessor = class {
27919
28253
  textError
27920
28254
  );
27921
28255
  }
27922
- const text14 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
28256
+ const text15 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
27923
28257
  const { rendered, omitted } = pageTexts ? selectPdfImagePages(pageTexts) : { rendered: [], omitted: [] };
27924
28258
  if (pageTexts && rendered.length === 0 && omitted.length === 0) {
27925
- return text14.trim() ? { extractedText: text14, format: "plain" } : null;
28259
+ return text15.trim() ? { extractedText: text15, format: "plain" } : null;
27926
28260
  }
27927
28261
  let renderedPages;
27928
28262
  let pageCount = pageTexts?.length;
@@ -27935,7 +28269,7 @@ var PdfProcessor = class {
27935
28269
  pageCount = result.pageCount;
27936
28270
  }
27937
28271
  } catch (imageError) {
27938
- if (!text14.trim()) {
28272
+ if (!text15.trim()) {
27939
28273
  logger.error("[PdfProcessor] Image conversion also failed:", imageError);
27940
28274
  throw imageError;
27941
28275
  }
@@ -27947,7 +28281,7 @@ var PdfProcessor = class {
27947
28281
  const included = new Set(imagePages);
27948
28282
  const needImage = pageTexts ? [...rendered, ...omitted] : Array.from({ length: pageCount ?? 0 }, (_, i) => i + 1);
27949
28283
  const omittedPages = needImage.filter((n) => !included.has(n)).sort((a, b) => a - b);
27950
- if (images.length === 0 && !text14.trim()) {
28284
+ if (images.length === 0 && !text15.trim()) {
27951
28285
  logger.warn("[PdfProcessor] Image conversion also returned empty");
27952
28286
  return null;
27953
28287
  }
@@ -27956,9 +28290,9 @@ var PdfProcessor = class {
27956
28290
  );
27957
28291
  const imageNote = buildPdfImageNote(file.name, imagePages, omittedPages, pageCount);
27958
28292
  return {
27959
- extractedText: text14.trim() ? `${imageNote}
28293
+ extractedText: text15.trim() ? `${imageNote}
27960
28294
 
27961
- ${text14}` : imageNote,
28295
+ ${text15}` : imageNote,
27962
28296
  format: "plain",
27963
28297
  imageDataUrls: images.length > 0 ? images : void 0,
27964
28298
  metadata: {
@@ -28120,16 +28454,16 @@ var TextProcessor = class {
28120
28454
  async process(file) {
28121
28455
  try {
28122
28456
  const arrayBuffer = await dataUrlToArrayBuffer(file.dataUrl);
28123
- const text14 = decodeText(new Uint8Array(arrayBuffer));
28124
- if (!text14.trim()) {
28457
+ const text15 = decodeText(new Uint8Array(arrayBuffer));
28458
+ if (!text15.trim()) {
28125
28459
  return null;
28126
28460
  }
28127
28461
  return {
28128
- extractedText: text14,
28462
+ extractedText: text15,
28129
28463
  format: this.resolveFormat(file),
28130
28464
  metadata: {
28131
28465
  byteLength: arrayBuffer.byteLength,
28132
- characterCount: text14.length
28466
+ characterCount: text15.length
28133
28467
  }
28134
28468
  };
28135
28469
  } catch (error) {
@@ -28190,8 +28524,8 @@ var WordProcessor = class {
28190
28524
  /**
28191
28525
  * Count words in text
28192
28526
  */
28193
- countWords(text14) {
28194
- return text14.split(/\s+/).filter((w) => w.length > 0).length;
28527
+ countWords(text15) {
28528
+ return text15.split(/\s+/).filter((w) => w.length > 0).length;
28195
28529
  }
28196
28530
  };
28197
28531
 
@@ -28428,13 +28762,13 @@ function truncationMarker2(kept, total, fileName) {
28428
28762
  return `
28429
28763
  [truncated: showing the first ${kept} of ${total} characters of ${fileName}]`;
28430
28764
  }
28431
- function truncateText(text14, limit, fileName) {
28432
- if (text14.length <= limit) return { text: text14, truncated: false };
28765
+ function truncateText(text15, limit, fileName) {
28766
+ if (text15.length <= limit) return { text: text15, truncated: false };
28433
28767
  let end = Math.max(0, limit);
28434
- const code = text14.charCodeAt(end - 1);
28768
+ const code = text15.charCodeAt(end - 1);
28435
28769
  if (end > 0 && code >= 55296 && code <= 56319) end--;
28436
28770
  return {
28437
- text: `${text14.slice(0, end)}${truncationMarker2(end, text14.length, fileName)}`,
28771
+ text: `${text15.slice(0, end)}${truncationMarker2(end, text15.length, fileName)}`,
28438
28772
  truncated: true
28439
28773
  };
28440
28774
  }
@@ -28599,13 +28933,13 @@ async function preprocessFiles(files, options = {}) {
28599
28933
  Math.max(0, MAX_TOTAL_IMAGES - allImageUrls.length)
28600
28934
  );
28601
28935
  allImageUrls.push(...images.slice(0, keptImages));
28602
- const text14 = rewriteImageNote(result, file.name, keptImages);
28603
- const fitsWhole = text14.length <= Math.min(maxExtractedCharsPerFile, remaining);
28604
- const limit = fitsWhole ? text14.length : Math.min(
28936
+ const text15 = rewriteImageNote(result, file.name, keptImages);
28937
+ const fitsWhole = text15.length <= Math.min(maxExtractedCharsPerFile, remaining);
28938
+ const limit = fitsWhole ? text15.length : Math.min(
28605
28939
  maxExtractedCharsPerFile,
28606
- remaining - truncationMarker2(text14.length, text14.length, file.name).length
28940
+ remaining - truncationMarker2(text15.length, text15.length, file.name).length
28607
28941
  );
28608
- const capped = truncateText(text14, Math.max(0, limit), file.name);
28942
+ const capped = truncateText(text15, Math.max(0, limit), file.name);
28609
28943
  const formattedContent = formatExtractedContent(file.name, capped.text, result.format);
28610
28944
  totalChars += separatorLength + formattedContent.length;
28611
28945
  extractedTexts.push(formattedContent);
@@ -28709,9 +29043,9 @@ async function autoFilterClientTools(clientTools, promptEmbeddings, cache, embed
28709
29043
  if (toolsNeedingEmbeddings.length > 0) {
28710
29044
  try {
28711
29045
  const descriptions = toolsNeedingEmbeddings.map((t) => t.description);
28712
- const embeddings = await generateEmbeddings(descriptions, embeddingOptions);
29046
+ const embeddings2 = await generateEmbeddings(descriptions, embeddingOptions);
28713
29047
  for (let i = 0; i < toolsNeedingEmbeddings.length; i++) {
28714
- cache.set(toolsNeedingEmbeddings[i].name, embeddings[i]);
29048
+ cache.set(toolsNeedingEmbeddings[i].name, embeddings2[i]);
28715
29049
  }
28716
29050
  } catch {
28717
29051
  return { tools: clientTools, activatedSetNames: /* @__PURE__ */ new Set(), matchedSetNames: /* @__PURE__ */ new Set() };
@@ -28847,11 +29181,11 @@ function createGetAuthenticatedUserTool(getAccessToken, requestAccess) {
28847
29181
  };
28848
29182
  }
28849
29183
  var MAX_RESPONSE_SIZE = 1e5;
28850
- function truncate(text14, maxLen) {
28851
- if (text14.length <= maxLen) return text14;
28852
- return text14.slice(0, maxLen) + `
29184
+ function truncate(text15, maxLen) {
29185
+ if (text15.length <= maxLen) return text15;
29186
+ return text15.slice(0, maxLen) + `
28853
29187
 
28854
- ... (truncated, ${text14.length - maxLen} characters omitted)`;
29188
+ ... (truncated, ${text15.length - maxLen} characters omitted)`;
28855
29189
  }
28856
29190
  function createGitHubApiTool(getAccessToken, requestAccess) {
28857
29191
  return {
@@ -28899,16 +29233,16 @@ IMPORTANT: For write operations (POST, PUT, PATCH, DELETE), always confirm with
28899
29233
  method,
28900
29234
  body: body ? JSON.stringify(body) : void 0
28901
29235
  });
28902
- const text14 = await resp.text();
29236
+ const text15 = await resp.text();
28903
29237
  if (!resp.ok) {
28904
- return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text14, 500)}`;
29238
+ return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text15, 500)}`;
28905
29239
  }
28906
29240
  try {
28907
- const data = JSON.parse(text14);
29241
+ const data = JSON.parse(text15);
28908
29242
  const json5 = JSON.stringify(data);
28909
29243
  return truncate(json5, MAX_RESPONSE_SIZE);
28910
29244
  } catch {
28911
- return truncate(text14, MAX_RESPONSE_SIZE);
29245
+ return truncate(text15, MAX_RESPONSE_SIZE);
28912
29246
  }
28913
29247
  } catch (err) {
28914
29248
  if (err instanceof DOMException && err.name === "AbortError") {
@@ -29570,10 +29904,10 @@ function formatObjectAttr(obj) {
29570
29904
  });
29571
29905
  return `{ ${entries.join(", ")} }`;
29572
29906
  }
29573
- function isSafeJsxText(text14) {
29574
- if (/[<>{}&]/.test(text14)) return false;
29575
- if (/\n/.test(text14)) return false;
29576
- if (/^\s|\s$/.test(text14)) return false;
29907
+ function isSafeJsxText(text15) {
29908
+ if (/[<>{}&]/.test(text15)) return false;
29909
+ if (/\n/.test(text15)) return false;
29910
+ if (/^\s|\s$/.test(text15)) return false;
29577
29911
  return true;
29578
29912
  }
29579
29913
  function getId(node) {
@@ -31804,9 +32138,9 @@ New lines of conversation:
31804
32138
  {new_lines}
31805
32139
 
31806
32140
  New summary:`;
31807
- function estimateTokens(text14) {
31808
- if (!text14) return 0;
31809
- return Math.ceil(text14.length / 4);
32141
+ function estimateTokens(text15) {
32142
+ if (!text15) return 0;
32143
+ return Math.ceil(text15.length / 4);
31810
32144
  }
31811
32145
  var PER_MESSAGE_OVERHEAD_TOKENS = 4;
31812
32146
  var MAX_MESSAGES_PER_SUMMARIZATION = 20;
@@ -31866,14 +32200,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
31866
32200
  }
31867
32201
  async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
31868
32202
  if (!redactor) return prompt;
31869
- const { text: text14, matches } = await redactor.redactTextAsync(prompt);
32203
+ const { text: text15, matches } = await redactor.redactTextAsync(prompt);
31870
32204
  if (matches.length > 0 && onPiiRedacted) {
31871
32205
  try {
31872
32206
  onPiiRedacted(matches);
31873
32207
  } catch {
31874
32208
  }
31875
32209
  }
31876
- return text14;
32210
+ return text15;
31877
32211
  }
31878
32212
  async function progressiveSummarize(options) {
31879
32213
  const {
@@ -32830,11 +33164,11 @@ function useChatStorage(options) {
32830
33164
  [piiRedaction, currentConversationId]
32831
33165
  );
32832
33166
  const maskForEmbedding = useCallback5(
32833
- (text14) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text14) : text14,
33167
+ (text15) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text15) : text15,
32834
33168
  [resolvedPiiRedaction]
32835
33169
  );
32836
33170
  const maskEmbeddingInput = useMemo4(
32837
- () => isPiiRedactor(resolvedPiiRedaction) ? (text14) => resolvedPiiRedaction.maskText(text14) : void 0,
33171
+ () => isPiiRedactor(resolvedPiiRedaction) ? (text15) => resolvedPiiRedaction.maskText(text15) : void 0,
32838
33172
  [resolvedPiiRedaction]
32839
33173
  );
32840
33174
  const vaultEmbeddingOptions = useMemo4(
@@ -33090,10 +33424,10 @@ function useChatStorage(options) {
33090
33424
  if (shouldChunkMessage(message.content, DEFAULT_CHUNK_SIZE)) {
33091
33425
  const textChunks = chunkText(message.content);
33092
33426
  const chunkTexts = textChunks.map((c) => mask(c.text));
33093
- const embeddings = await generateEmbeddings(chunkTexts, embeddingOptions);
33427
+ const embeddings2 = await generateEmbeddings(chunkTexts, embeddingOptions);
33094
33428
  const messageChunks = textChunks.map((chunk, i) => ({
33095
33429
  text: chunk.text,
33096
- vector: embeddings[i],
33430
+ vector: embeddings2[i],
33097
33431
  startOffset: chunk.startOffset,
33098
33432
  endOffset: chunk.endOffset
33099
33433
  }));
@@ -33639,7 +33973,7 @@ function useChatStorage(options) {
33639
33973
  return {
33640
33974
  callRedactor: redactor,
33641
33975
  callPiiRedaction: forInnerSend,
33642
- maskForCall: (text14) => redactor ? redactor.maskText(text14) : text14
33976
+ maskForCall: (text15) => redactor ? redactor.maskText(text15) : text15
33643
33977
  };
33644
33978
  };
33645
33979
  const resolveThoughtProcess = () => finalizeThoughtProcess(getThoughtProcess?.() || thoughtProcess);
@@ -35714,13 +36048,13 @@ function useOCR() {
35714
36048
  const result = await Tesseract.recognize(image, language);
35715
36049
  pageTexts.push(result.data.text);
35716
36050
  }
35717
- const text14 = pageTexts.join("\n\n");
35718
- if (!text14.trim()) {
36051
+ const text15 = pageTexts.join("\n\n");
36052
+ if (!text15.trim()) {
35719
36053
  getLogger().warn(`No text found in OCR source ${filename || "unknown"}`);
35720
36054
  return null;
35721
36055
  }
35722
36056
  return `[Context from OCR attachment ${filename || "unknown"}]:
35723
- ${text14}`;
36057
+ ${text15}`;
35724
36058
  } catch (err) {
35725
36059
  getLogger().error(`Failed to process OCR for ${file.filename || "unknown"}:`, err);
35726
36060
  return null;
@@ -35763,13 +36097,13 @@ function usePdf() {
35763
36097
  const contexts = await Promise.all(
35764
36098
  pdfFiles.map(async (file) => {
35765
36099
  try {
35766
- const text14 = await extractTextFromPdf(file.url);
35767
- if (!text14.trim()) {
36100
+ const text15 = await extractTextFromPdf(file.url);
36101
+ if (!text15.trim()) {
35768
36102
  getLogger().warn(`No text found in PDF ${file.filename}`);
35769
36103
  return null;
35770
36104
  }
35771
36105
  return `[Context from PDF attachment ${file.filename}]:
35772
- ${text14}`;
36106
+ ${text15}`;
35773
36107
  } catch (err) {
35774
36108
  getLogger().error(`Failed to process PDF ${file.filename}:`, err);
35775
36109
  return null;
@@ -37302,14 +37636,14 @@ function useVoice(options) {
37302
37636
  recognition.interimResults = false;
37303
37637
  recognition.lang = options?.language ?? "";
37304
37638
  recognition.onresult = (event) => {
37305
- let text14 = "";
37639
+ let text15 = "";
37306
37640
  for (let i = 0; i < event.results.length; i++) {
37307
37641
  const result = event.results[i];
37308
37642
  if (result && result.isFinal && result[0]) {
37309
- text14 += result[0].transcript + " ";
37643
+ text15 += result[0].transcript + " ";
37310
37644
  }
37311
37645
  }
37312
- nativeTextRef.current = text14.trim();
37646
+ nativeTextRef.current = text15.trim();
37313
37647
  };
37314
37648
  recognition.onerror = (event) => {
37315
37649
  if (event.error !== "aborted" && event.error !== "no-speech") {