@guihz/trading-vue-editor-tes 0.1.46 → 0.1.48

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.
@@ -274,13 +274,13 @@ var JC = D5((DT, Za) => {
274
274
  ic.exports;
275
275
  (function(n, e) {
276
276
  (function() {
277
- var t, r = "4.17.21", i = 200, s = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", o = "Expected a function", a = "Invalid `variable` option passed into `_.template`", c = "__lodash_hash_undefined__", p = 500, b = "__lodash_placeholder__", M = 1, l = 2, u = 4, O = 1, d = 2, _ = 1, f = 2, A = 4, q = 8, m = 16, W = 32, v = 64, y = 128, N = 256, w = 512, R = 30, D = "...", B = 800, T = 16, $ = 1, P = 2, X = 3, K = 1 / 0, j = 9007199254740991, Q = 17976931348623157e292, n0 = NaN, l0 = 4294967295, r0 = l0 - 1, G = l0 >>> 1, _0 = [
277
+ var t, r = "4.17.21", i = 200, s = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", o = "Expected a function", a = "Invalid `variable` option passed into `_.template`", c = "__lodash_hash_undefined__", p = 500, b = "__lodash_placeholder__", M = 1, l = 2, u = 4, O = 1, d = 2, _ = 1, f = 2, A = 4, q = 8, m = 16, W = 32, v = 64, y = 128, N = 256, D = 512, R = 30, w = "...", B = 800, T = 16, $ = 1, P = 2, X = 3, K = 1 / 0, j = 9007199254740991, Q = 17976931348623157e292, n0 = NaN, l0 = 4294967295, r0 = l0 - 1, G = l0 >>> 1, _0 = [
278
278
  ["ary", y],
279
279
  ["bind", _],
280
280
  ["bindKey", f],
281
281
  ["curry", q],
282
282
  ["curryRight", m],
283
- ["flip", w],
283
+ ["flip", D],
284
284
  ["partial", W],
285
285
  ["partialRight", v],
286
286
  ["rearg", N]
@@ -1929,7 +1929,7 @@ var JC = D5((DT, Za) => {
1929
1929
  });
1930
1930
  }
1931
1931
  function oa(z, h, g, L, x, E, S, H, V, o0) {
1932
- var a0 = h & y, u0 = h & _, y0 = h & f, E0 = h & (q | m), Q0 = h & w, d1 = y0 ? t : eo(z);
1932
+ var a0 = h & y, u0 = h & _, y0 = h & f, E0 = h & (q | m), Q0 = h & D, d1 = y0 ? t : eo(z);
1933
1933
  function J0() {
1934
1934
  for (var A1 = arguments.length, w1 = e0(A1), Xt = A1; Xt--; )
1935
1935
  w1[Xt] = arguments[Xt];
@@ -3039,7 +3039,7 @@ var JC = D5((DT, Za) => {
3039
3039
  return ml(z, tr(h) || 0, g);
3040
3040
  });
3041
3041
  function t4(z) {
3042
- return Jr(z, w);
3042
+ return Jr(z, D);
3043
3043
  }
3044
3044
  function da(z, h) {
3045
3045
  if (typeof z != "function" || h != null && typeof h != "function")
@@ -3638,7 +3638,7 @@ function print() { __p += __j.call(arguments, '') }
3638
3638
  return Pi(L, x).join("");
3639
3639
  }
3640
3640
  function Pm(z, h) {
3641
- var g = R, L = D;
3641
+ var g = R, L = w;
3642
3642
  if (fe(h)) {
3643
3643
  var x = "separator" in h ? h.separator : x;
3644
3644
  g = "length" in h ? z1(h.length) : g, L = "omission" in h ? Et(h.omission) : L;
@@ -4200,9 +4200,9 @@ function print() { __p += __j.call(arguments, '') }
4200
4200
  maxprofit_long: v = 0,
4201
4201
  maxprofit_short: y = 0,
4202
4202
  maxloss_long: N = 0,
4203
- maxloss_short: w = 0,
4203
+ maxloss_short: D = 0,
4204
4204
  maxprofit_percent_long: R = 0,
4205
- maxprofit_percent_short: D = 0,
4205
+ maxprofit_percent_short: w = 0,
4206
4206
  maxloss_percent_long: B = 0,
4207
4207
  maxloss_percent_short: T = 0,
4208
4208
  hold_long_k_count: $ = 0,
@@ -4215,7 +4215,7 @@ function print() { __p += __j.call(arguments, '') }
4215
4215
  shapeRatioType: l0 = "NONE"
4216
4216
  } = this._preHistoryOrderCalcResult;
4217
4217
  const { profit: r0 = 0, profit_percent: G = 0, in_index: _0 = 0, out_index: A0 = 0, commission: q0 = 0, direction: h0, in_time: V0 = 0, out_time: G0 = 0, total_profit: c1 = 0 } = e, Z0 = A0 - _0 + 1;
4218
- if (h0 === e1.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), D = Math.max(D, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, w = Math.min(w, r0), T = Math.min(T, G))), !n0) {
4218
+ if (h0 === e1.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), w = Math.max(w, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, D = Math.min(D, r0), T = Math.min(T, G))), !n0) {
4219
4219
  const s0 = this._createBalanceByInterval(V0, Date.now());
4220
4220
  n0 = s0.balanceByInterval, l0 = s0.shapeRatioType;
4221
4221
  }
@@ -4251,9 +4251,9 @@ function print() { __p += __j.call(arguments, '') }
4251
4251
  maxprofit_long: v,
4252
4252
  maxprofit_short: y,
4253
4253
  maxloss_long: N,
4254
- maxloss_short: w,
4254
+ maxloss_short: D,
4255
4255
  maxprofit_percent_long: R,
4256
- maxprofit_percent_short: D,
4256
+ maxprofit_percent_short: w,
4257
4257
  maxloss_percent_long: B,
4258
4258
  maxloss_percent_short: T,
4259
4259
  hold_long_k_count: $,
@@ -7314,7 +7314,7 @@ Arguments: ` + Array.prototype.slice.call(r).join("") + `
7314
7314
  s0.push(new W(new Date(F + f1, 0, 1))), s0.push(new W(new Date(F + f1, 6, 1)));
7315
7315
  return s0;
7316
7316
  }
7317
- function w(F, J) {
7317
+ function D(F, J) {
7318
7318
  return F.offsetScore !== J.offsetScore ? F.offsetScore - J.offsetScore : F.abbrScore !== J.abbrScore ? F.abbrScore - J.abbrScore : F.zone.population !== J.zone.population ? J.zone.population - F.zone.population : J.zone.name.localeCompare(F.zone.name);
7319
7319
  }
7320
7320
  function R(F, J) {
@@ -7322,7 +7322,7 @@ Arguments: ` + Array.prototype.slice.call(r).join("") + `
7322
7322
  for (O(J), t0 = 0; t0 < J.length; t0++)
7323
7323
  s0 = J[t0], a[s0] = a[s0] || {}, a[s0][F] = !0;
7324
7324
  }
7325
- function D(F) {
7325
+ function w(F) {
7326
7326
  var J = F.length, t0 = {}, s0 = [], C0 = {}, b1, U1, f1, v1;
7327
7327
  for (b1 = 0; b1 < J; b1++)
7328
7328
  if (f1 = F[b1].offset, !C0.hasOwnProperty(f1)) {
@@ -7346,13 +7346,13 @@ Arguments: ` + Array.prototype.slice.call(r).join("") + `
7346
7346
  }
7347
7347
  } catch {
7348
7348
  }
7349
- var t0 = N(), s0 = t0.length, C0 = D(t0), b1 = [], U1, f1, v1;
7349
+ var t0 = N(), s0 = t0.length, C0 = w(t0), b1 = [], U1, f1, v1;
7350
7350
  for (f1 = 0; f1 < C0.length; f1++) {
7351
7351
  for (U1 = new v(X(C0[f1])), v1 = 0; v1 < s0; v1++)
7352
7352
  U1.scoreOffsetAt(t0[v1]);
7353
7353
  b1.push(U1);
7354
7354
  }
7355
- return b1.sort(w), b1.length > 0 ? b1[0].zone.name : void 0;
7355
+ return b1.sort(D), b1.length > 0 ? b1[0].zone.name : void 0;
7356
7356
  }
7357
7357
  function T(F) {
7358
7358
  return (!c || F) && (c = B()), c;
@@ -9345,11 +9345,11 @@ Arguments: ` + Array.prototype.slice.call(r).join("") + `
9345
9345
  for (const [A, q] of t.entries()) {
9346
9346
  const { barindex: m, time: W } = q, v = W * 1e3, y = m || A;
9347
9347
  if (f && y === f[0]) {
9348
- const [N, w] = f;
9349
- for (const [R, D] of d.entries()) {
9350
- const { data: B, type: T } = D;
9348
+ const [N, D] = f;
9349
+ for (const [R, w] of d.entries()) {
9350
+ const { data: B, type: T } = w;
9351
9351
  if (B) {
9352
- const $ = B[w];
9352
+ const $ = B[D];
9353
9353
  if ($)
9354
9354
  switch ($.barIndex = N, _[R][A] = $, T) {
9355
9355
  case g1.plot:
@@ -9369,28 +9369,28 @@ Arguments: ` + Array.prototype.slice.call(r).join("") + `
9369
9369
  }
9370
9370
  e.shift(), f = e[0];
9371
9371
  } else
9372
- for (const [N, w] of d.entries()) {
9373
- const { type: R } = w, D = _[N];
9372
+ for (const [N, D] of d.entries()) {
9373
+ const { type: R } = D, w = _[N];
9374
9374
  switch (R) {
9375
9375
  case g1.plot:
9376
9376
  case g1.plotarrow:
9377
9377
  case g1.plotbar:
9378
9378
  case g1.plotcandle:
9379
9379
  case g1.plotchar:
9380
- if (!r && D.length) {
9381
- const B = { ...D[D.length - 1] };
9382
- B.value = [...B.value], B.value[0] = v, B.barIndex = y, D[A] = B;
9380
+ if (!r && w.length) {
9381
+ const B = { ...w[w.length - 1] };
9382
+ B.value = [...B.value], B.value[0] = v, B.barIndex = y, w[A] = B;
9383
9383
  } else
9384
- D[A] = { value: [v], barIndex: y };
9384
+ w[A] = { value: [v], barIndex: y };
9385
9385
  break;
9386
9386
  case "plot":
9387
9387
  case g1.plotshape:
9388
9388
  case "color":
9389
- if (!r && D.length) {
9390
- const B = { ...D[D.length - 1] };
9391
- D[A] = Object.assign({}, B, { time: v, barIndex: y });
9389
+ if (!r && w.length) {
9390
+ const B = { ...w[w.length - 1] };
9391
+ w[A] = Object.assign({}, B, { time: v, barIndex: y });
9392
9392
  } else
9393
- D[A] = { time: v, barIndex: y };
9393
+ w[A] = { time: v, barIndex: y };
9394
9394
  break;
9395
9395
  }
9396
9396
  }
@@ -10481,17 +10481,17 @@ Example:
10481
10481
  function N(I, Y) {
10482
10482
  return Y < I.length ? I[Y] : W(I) ? G0(I) : null;
10483
10483
  }
10484
- function w(I, Y) {
10484
+ function D(I, Y) {
10485
10485
  const Z = N(I, Y);
10486
10486
  return Z ? q(Z) : /* @__PURE__ */ new Set();
10487
10487
  }
10488
10488
  function R(I) {
10489
10489
  return I.conversion === null || I.conversion === void 0;
10490
10490
  }
10491
- function D(I, Y) {
10491
+ function w(I, Y) {
10492
10492
  const Z = /* @__PURE__ */ new Set();
10493
10493
  return I.forEach((b0) => {
10494
- const z0 = w(b0.params, Y);
10494
+ const z0 = D(b0.params, Y);
10495
10495
  let c0;
10496
10496
  for (c0 of z0)
10497
10497
  Z.add(c0);
@@ -10507,7 +10507,7 @@ Example:
10507
10507
  const Se = N(ze.params, d0), Be = v(Se);
10508
10508
  (d0 < ze.params.length || W(ze.params)) && Be(Y[d0]) && H1.push(ze);
10509
10509
  }), H1.length === 0) {
10510
- if (z0 = D(g0, d0), z0.length > 0) {
10510
+ if (z0 = w(g0, d0), z0.length > 0) {
10511
10511
  const ze = M(Y[d0]);
10512
10512
  return b0 = new TypeError("Unexpected type of argument in function " + c0 + " (expected: " + z0.join(" or ") + ", actual: " + ze.join(" | ") + ", index: " + d0 + ")"), b0.data = {
10513
10513
  category: "wrongType",
@@ -10524,7 +10524,7 @@ Example:
10524
10524
  return W(H1.params) ? 1 / 0 : H1.params.length;
10525
10525
  });
10526
10526
  if (Y.length < Math.min.apply(null, W0))
10527
- return z0 = D(g0, d0), b0 = new TypeError("Too few arguments in function " + c0 + " (expected: " + z0.join(" or ") + ", index: " + Y.length + ")"), b0.data = {
10527
+ return z0 = w(g0, d0), b0 = new TypeError("Too few arguments in function " + c0 + " (expected: " + z0.join(" or ") + ", index: " + Y.length + ")"), b0.data = {
10528
10528
  category: "tooFewArgs",
10529
10529
  fn: c0,
10530
10530
  index: Y.length,
@@ -10725,7 +10725,7 @@ Example:
10725
10725
  function l0(I, Y) {
10726
10726
  const Z = Math.max(I.length, Y.length);
10727
10727
  for (let d0 = 0; d0 < Z; d0++) {
10728
- const W0 = w(I, d0), O0 = w(Y, d0);
10728
+ const W0 = D(I, d0), O0 = D(Y, d0);
10729
10729
  let X1 = !1, H1;
10730
10730
  for (H1 of O0)
10731
10731
  if (W0.has(H1)) {
@@ -12516,7 +12516,7 @@ Example:
12516
12516
  r.shift();
12517
12517
  }
12518
12518
  return function(r, i, s, o, a, c) {
12519
- var p, b, M, l, u, O, d, _, f, A, q, m, W, v, y, N, w, R, D, B, T = r.constructor, $ = r.s == i.s ? 1 : -1, P = r.d, X = i.d;
12519
+ var p, b, M, l, u, O, d, _, f, A, q, m, W, v, y, N, D, R, w, B, T = r.constructor, $ = r.s == i.s ? 1 : -1, P = r.d, X = i.d;
12520
12520
  if (!P || !P[0] || !X || !X[0])
12521
12521
  return new T(
12522
12522
  // Return NaN if either NaN, or both Infinity or 0.
@@ -12525,22 +12525,22 @@ Example:
12525
12525
  P && P[0] == 0 || !X ? $ * 0 : $ / 0
12526
12526
  )
12527
12527
  );
12528
- for (c ? (u = 1, b = r.e - i.e) : (c = Lr, u = K0, b = at(r.e / u) - at(i.e / u)), D = X.length, w = P.length, f = new T($), A = f.d = [], M = 0; X[M] == (P[M] || 0); M++)
12528
+ for (c ? (u = 1, b = r.e - i.e) : (c = Lr, u = K0, b = at(r.e / u) - at(i.e / u)), w = X.length, D = P.length, f = new T($), A = f.d = [], M = 0; X[M] == (P[M] || 0); M++)
12529
12529
  ;
12530
12530
  if (X[M] > (P[M] || 0) && b--, s == null ? (v = s = T.precision, o = T.rounding) : a ? v = s + (r.e - i.e) + 1 : v = s, v < 0)
12531
12531
  A.push(1), O = !0;
12532
12532
  else {
12533
- if (v = v / u + 2 | 0, M = 0, D == 1) {
12534
- for (l = 0, X = X[0], v++; (M < w || l) && v--; M++)
12533
+ if (v = v / u + 2 | 0, M = 0, w == 1) {
12534
+ for (l = 0, X = X[0], v++; (M < D || l) && v--; M++)
12535
12535
  y = l * c + (P[M] || 0), A[M] = y / X | 0, l = y % X | 0;
12536
- O = l || M < w;
12536
+ O = l || M < D;
12537
12537
  } else {
12538
- for (l = c / (X[0] + 1) | 0, l > 1 && (X = n(X, l, c), P = n(P, l, c), D = X.length, w = P.length), N = D, q = P.slice(0, D), m = q.length; m < D; )
12538
+ for (l = c / (X[0] + 1) | 0, l > 1 && (X = n(X, l, c), P = n(P, l, c), w = X.length, D = P.length), N = w, q = P.slice(0, w), m = q.length; m < w; )
12539
12539
  q[m++] = 0;
12540
12540
  B = X.slice(), B.unshift(0), R = X[0], X[1] >= c / 2 && ++R;
12541
12541
  do
12542
- l = 0, p = e(X, q, D, m), p < 0 ? (W = q[0], D != m && (W = W * c + (q[1] || 0)), l = W / R | 0, l > 1 ? (l >= c && (l = c - 1), d = n(X, l, c), _ = d.length, m = q.length, p = e(d, q, _, m), p == 1 && (l--, t(d, D < _ ? B : X, _, c))) : (l == 0 && (p = l = 1), d = X.slice()), _ = d.length, _ < m && d.unshift(0), t(q, d, m, c), p == -1 && (m = q.length, p = e(X, q, D, m), p < 1 && (l++, t(q, D < m ? B : X, m, c))), m = q.length) : p === 0 && (l++, q = [0]), A[M++] = l, p && q[0] ? q[m++] = P[N] || 0 : (q = [P[N]], m = 1);
12543
- while ((N++ < w || q[0] !== void 0) && v--);
12542
+ l = 0, p = e(X, q, w, m), p < 0 ? (W = q[0], w != m && (W = W * c + (q[1] || 0)), l = W / R | 0, l > 1 ? (l >= c && (l = c - 1), d = n(X, l, c), _ = d.length, m = q.length, p = e(d, q, _, m), p == 1 && (l--, t(d, w < _ ? B : X, _, c))) : (l == 0 && (p = l = 1), d = X.slice()), _ = d.length, _ < m && d.unshift(0), t(q, d, m, c), p == -1 && (m = q.length, p = e(X, q, w, m), p < 1 && (l++, t(q, w < m ? B : X, m, c))), m = q.length) : p === 0 && (l++, q = [0]), A[M++] = l, p && q[0] ? q[m++] = P[N] || 0 : (q = [P[N]], m = 1);
12543
+ while ((N++ < D || q[0] !== void 0) && v--);
12544
12544
  O = q[0] !== void 0;
12545
12545
  }
12546
12546
  A[0] || A.shift();
@@ -13923,7 +13923,7 @@ Example:
13923
13923
  return q !== f ? q > 1 && (A[q] = (A[q] || 0) + 1) : A[f] = (A[f] || 0) + 1, A;
13924
13924
  }
13925
13925
  var c = function(f, A) {
13926
- var q = 0, m = 1, W = 1, v = 0, y = 0, N = 0, w = 1, R = 1, D = 0, B = 1, T = 1, $ = 1, P = 1e7, X;
13926
+ var q = 0, m = 1, W = 1, v = 0, y = 0, N = 0, D = 1, R = 1, w = 0, B = 1, T = 1, $ = 1, P = 1e7, X;
13927
13927
  if (f != null)
13928
13928
  if (A !== void 0) {
13929
13929
  if (q = f, m = A, W = q * m, q % 1 !== 0 || m % 1 !== 0)
@@ -13945,11 +13945,11 @@ Example:
13945
13945
  q = f;
13946
13946
  else if (f > 0) {
13947
13947
  for (f >= 1 && (R = Math.pow(10, Math.floor(1 + Math.log(f) / Math.LN10)), f /= R); B <= P && $ <= P; )
13948
- if (X = (D + T) / (B + $), f === X) {
13949
- B + $ <= P ? (q = D + T, m = B + $) : $ > B ? (q = T, m = $) : (q = D, m = B);
13948
+ if (X = (w + T) / (B + $), f === X) {
13949
+ B + $ <= P ? (q = w + T, m = B + $) : $ > B ? (q = T, m = $) : (q = w, m = B);
13950
13950
  break;
13951
13951
  } else
13952
- f > X ? (D += T, B += $) : (T += D, $ += B), B > P ? (q = T, m = $) : (q = D, m = B);
13952
+ f > X ? (w += T, B += $) : (T += w, $ += B), B > P ? (q = T, m = $) : (q = w, m = B);
13953
13953
  q *= R;
13954
13954
  } else
13955
13955
  (isNaN(f) || isNaN(A)) && (m = q = NaN);
@@ -13958,8 +13958,8 @@ Example:
13958
13958
  case "string": {
13959
13959
  if (B = f.match(/\d+|./g), B === null)
13960
13960
  throw d();
13961
- if (B[D] === "-" ? (W = -1, D++) : B[D] === "+" && D++, B.length === D + 1 ? y = s(B[D++], W) : B[D + 1] === "." || B[D] === "." ? (B[D] !== "." && (v = s(B[D++], W)), D++, (D + 1 === B.length || B[D + 1] === "(" && B[D + 3] === ")" || B[D + 1] === "'" && B[D + 3] === "'") && (y = s(B[D], W), w = Math.pow(10, B[D].length), D++), (B[D] === "(" && B[D + 2] === ")" || B[D] === "'" && B[D + 2] === "'") && (N = s(B[D + 1], W), R = Math.pow(10, B[D + 1].length) - 1, D += 3)) : B[D + 1] === "/" || B[D + 1] === ":" ? (y = s(B[D], W), w = s(B[D + 2], 1), D += 3) : B[D + 3] === "/" && B[D + 1] === " " && (v = s(B[D], W), y = s(B[D + 2], W), w = s(B[D + 4], 1), D += 5), B.length <= D) {
13962
- m = w * R, W = /* void */
13961
+ if (B[w] === "-" ? (W = -1, w++) : B[w] === "+" && w++, B.length === w + 1 ? y = s(B[w++], W) : B[w + 1] === "." || B[w] === "." ? (B[w] !== "." && (v = s(B[w++], W)), w++, (w + 1 === B.length || B[w + 1] === "(" && B[w + 3] === ")" || B[w + 1] === "'" && B[w + 3] === "'") && (y = s(B[w], W), D = Math.pow(10, B[w].length), w++), (B[w] === "(" && B[w + 2] === ")" || B[w] === "'" && B[w + 2] === "'") && (N = s(B[w + 1], W), R = Math.pow(10, B[w + 1].length) - 1, w += 3)) : B[w + 1] === "/" || B[w + 1] === ":" ? (y = s(B[w], W), D = s(B[w + 2], 1), w += 3) : B[w + 3] === "/" && B[w + 1] === " " && (v = s(B[w], W), y = s(B[w + 2], W), D = s(B[w + 4], 1), w += 5), B.length <= w) {
13962
+ m = D * R, W = /* void */
13963
13963
  q = N + m * v + R * y;
13964
13964
  break;
13965
13965
  }
@@ -14914,8 +14914,8 @@ Example:
14914
14914
  var N = _[y];
14915
14915
  if (he(N)) {
14916
14916
  if (v === 0 && q < N.length && (q = N.length), v < N.length) {
14917
- var w = N[v];
14918
- m(w, W) || (d._values.push(w), d._index.push(y));
14917
+ var D = N[v];
14918
+ m(D, W) || (d._values.push(D), d._index.push(y));
14919
14919
  }
14920
14920
  } else
14921
14921
  v === 0 && q < 1 && (q = 1), m(N, W) || (d._values.push(N), d._index.push(y));
@@ -14965,14 +14965,14 @@ Example:
14965
14965
  var q, m, W, v, y = _.min(), N = _.max();
14966
14966
  for (q = 0, m = d._size.length; q < m; q++)
14967
14967
  _e(y[q], d._size[q]), _e(N[q], d._size[q]);
14968
- var w = d._values, R = d._index, D = d._ptr, B = _.dimension(0), T = _.dimension(1), $ = [], P = [];
14968
+ var D = d._values, R = d._index, w = d._ptr, B = _.dimension(0), T = _.dimension(1), $ = [], P = [];
14969
14969
  B.forEach(function(Q, n0) {
14970
14970
  P[Q] = n0[0], $[Q] = !0;
14971
14971
  });
14972
- var X = w ? [] : void 0, K = [], j = [];
14972
+ var X = D ? [] : void 0, K = [], j = [];
14973
14973
  return T.forEach(function(Q) {
14974
- for (j.push(K.length), W = D[Q], v = D[Q + 1]; W < v; W++)
14975
- q = R[W], $[q] === !0 && (K.push(P[q]), X && X.push(w[W]));
14974
+ for (j.push(K.length), W = w[Q], v = w[Q + 1]; W < v; W++)
14975
+ q = R[W], $[q] === !0 && (K.push(P[q]), X && X.push(D[W]));
14976
14976
  }), j.push(K.length), new i({
14977
14977
  values: X,
14978
14978
  index: K,
@@ -15003,14 +15003,14 @@ Example:
15003
15003
  throw new I1(q, W, ">");
15004
15004
  if (q.length === 1) {
15005
15005
  var N = _.dimension(0);
15006
- N.forEach(function(D, B) {
15007
- _e(D), d.set([D, 0], f[B[0]], A);
15006
+ N.forEach(function(w, B) {
15007
+ _e(w), d.set([w, 0], f[B[0]], A);
15008
15008
  });
15009
15009
  } else {
15010
- var w = _.dimension(0), R = _.dimension(1);
15011
- w.forEach(function(D, B) {
15012
- _e(D), R.forEach(function(T, $) {
15013
- _e(T), d.set([D, T], f[B[0]][$[0]], A);
15010
+ var D = _.dimension(0), R = _.dimension(1);
15011
+ D.forEach(function(w, B) {
15012
+ _e(w), R.forEach(function(T, $) {
15013
+ _e(T), d.set([w, T], f[B[0]][$[0]], A);
15014
15014
  });
15015
15015
  });
15016
15016
  }
@@ -15074,12 +15074,12 @@ Example:
15074
15074
  function l(d, _, f, A) {
15075
15075
  var q = A || 0, m = t, W = 0;
15076
15076
  Xr(d._datatype) && (m = e.find(t, [d._datatype, d._datatype]) || t, W = e.convert(0, d._datatype), q = e.convert(q, d._datatype));
15077
- var v = !m(q, W), y = d._size[0], N = d._size[1], w, R, D;
15077
+ var v = !m(q, W), y = d._size[0], N = d._size[1], D, R, w;
15078
15078
  if (f > N) {
15079
15079
  for (R = N; R < f; R++)
15080
15080
  if (d._ptr[R] = d._values.length, v)
15081
- for (w = 0; w < y; w++)
15082
- d._values.push(q), d._index.push(w);
15081
+ for (D = 0; D < y; D++)
15082
+ d._values.push(q), d._index.push(D);
15083
15083
  d._ptr[f] = d._values.length;
15084
15084
  } else
15085
15085
  f < N && (d._ptr.splice(f + 1, N - f), d._values.splice(d._ptr[f], d._values.length), d._index.splice(d._ptr[f], d._index.length));
@@ -15087,10 +15087,10 @@ Example:
15087
15087
  if (v) {
15088
15088
  var B = 0;
15089
15089
  for (R = 0; R < N; R++) {
15090
- d._ptr[R] = d._ptr[R] + B, D = d._ptr[R + 1] + B;
15090
+ d._ptr[R] = d._ptr[R] + B, w = d._ptr[R + 1] + B;
15091
15091
  var T = 0;
15092
- for (w = y; w < _; w++, T++)
15093
- d._values.splice(D + T, 0, q), d._index.splice(D + T, 0, w), B++;
15092
+ for (D = y; D < _; D++, T++)
15093
+ d._values.splice(w + T, 0, q), d._index.splice(w + T, 0, D), B++;
15094
15094
  }
15095
15095
  d._ptr[N] = d._values.length;
15096
15096
  }
@@ -15099,8 +15099,8 @@ Example:
15099
15099
  for (R = 0; R < N; R++) {
15100
15100
  d._ptr[R] = d._ptr[R] - $;
15101
15101
  var P = d._ptr[R], X = d._ptr[R + 1] - $;
15102
- for (D = P; D < X; D++)
15103
- w = d._index[D], w > _ - 1 && (d._values.splice(D, 1), d._index.splice(D, 1), $++);
15102
+ for (w = P; w < X; w++)
15103
+ D = d._index[w], D > _ - 1 && (d._values.splice(w, 1), d._index.splice(w, 1), $++);
15104
15104
  }
15105
15105
  d._ptr[R] = d._values.length;
15106
15106
  }
@@ -15126,9 +15126,9 @@ Example:
15126
15126
  for (var m = [], W = 0; W < q._ptr.length; W++)
15127
15127
  for (var v = 0; v < q._ptr[W + 1] - q._ptr[W]; v++)
15128
15128
  m.push(W);
15129
- for (var y = q._values.slice(), N = q._index.slice(), w = 0; w < q._index.length; w++) {
15130
- var R = N[w], D = m[w], B = R * q._size[1] + D;
15131
- m[w] = B % d[1], N[w] = Math.floor(B / d[1]);
15129
+ for (var y = q._values.slice(), N = q._index.slice(), D = 0; D < q._index.length; D++) {
15130
+ var R = N[D], w = m[D], B = R * q._size[1] + w;
15131
+ m[D] = B % d[1], N[D] = Math.floor(B / d[1]);
15132
15132
  }
15133
15133
  q._values.length = 0, q._index.length = 0, q._ptr.length = d[1] + 1, q._size = d.slice();
15134
15134
  for (var T = 0; T < q._ptr.length; T++)
@@ -15152,23 +15152,23 @@ Example:
15152
15152
  }, i.prototype.map = function(d, _) {
15153
15153
  if (!this._values)
15154
15154
  throw new Error("Cannot invoke map on a Pattern only matrix");
15155
- var f = this, A = this._size[0], q = this._size[1], m = f3(d), W = function(y, N, w) {
15156
- return m === 1 ? d(y) : m === 2 ? d(y, [N, w]) : d(y, [N, w], f);
15155
+ var f = this, A = this._size[0], q = this._size[1], m = f3(d), W = function(y, N, D) {
15156
+ return m === 1 ? d(y) : m === 2 ? d(y, [N, D]) : d(y, [N, D], f);
15157
15157
  };
15158
15158
  return u(this, 0, A - 1, 0, q - 1, W, _);
15159
15159
  };
15160
15160
  function u(d, _, f, A, q, m, W) {
15161
- var v = [], y = [], N = [], w = t, R = 0;
15162
- Xr(d._datatype) && (w = e.find(t, [d._datatype, d._datatype]) || t, R = e.convert(0, d._datatype));
15163
- for (var D = function(G, _0, A0) {
15164
- G = m(G, _0, A0), w(G, R) || (v.push(G), y.push(_0));
15161
+ var v = [], y = [], N = [], D = t, R = 0;
15162
+ Xr(d._datatype) && (D = e.find(t, [d._datatype, d._datatype]) || t, R = e.convert(0, d._datatype));
15163
+ for (var w = function(G, _0, A0) {
15164
+ G = m(G, _0, A0), D(G, R) || (v.push(G), y.push(_0));
15165
15165
  }, B = A; B <= q; B++) {
15166
15166
  N.push(v.length);
15167
15167
  var T = d._ptr[B], $ = d._ptr[B + 1];
15168
15168
  if (W)
15169
15169
  for (var P = T; P < $; P++) {
15170
15170
  var X = d._index[P];
15171
- X >= _ && X <= f && D(d._values[P], X - _, B - A);
15171
+ X >= _ && X <= f && w(d._values[P], X - _, B - A);
15172
15172
  }
15173
15173
  else {
15174
15174
  for (var K = {}, j = T; j < $; j++) {
@@ -15177,7 +15177,7 @@ Example:
15177
15177
  }
15178
15178
  for (var n0 = _; n0 <= f; n0++) {
15179
15179
  var l0 = n0 in K ? K[n0] : 0;
15180
- D(l0, n0 - _, B - A);
15180
+ w(l0, n0 - _, B - A);
15181
15181
  }
15182
15182
  }
15183
15183
  }
@@ -15199,12 +15199,12 @@ Example:
15199
15199
  d(this._values[y], [N, m], f);
15200
15200
  }
15201
15201
  else {
15202
- for (var w = {}, R = W; R < v; R++) {
15203
- var D = this._index[R];
15204
- w[D] = this._values[R];
15202
+ for (var D = {}, R = W; R < v; R++) {
15203
+ var w = this._index[R];
15204
+ D[w] = this._values[R];
15205
15205
  }
15206
15206
  for (var B = 0; B < A; B++) {
15207
- var T = B in w ? w[B] : 0;
15207
+ var T = B in D ? D[B] : 0;
15208
15208
  d(T, [B, m], f);
15209
15209
  }
15210
15210
  }
@@ -15231,8 +15231,8 @@ Example:
15231
15231
  for (v[y] = [], N = 0; N < W; N++)
15232
15232
  v[y][N] = 0;
15233
15233
  for (N = 0; N < W; N++)
15234
- for (var w = f[N], R = f[N + 1], D = w; D < R; D++)
15235
- y = _[D], v[y][N] = d ? q ? Y1(d[D]) : d[D] : 1;
15234
+ for (var D = f[N], R = f[N + 1], w = D; w < R; w++)
15235
+ y = _[w], v[y][N] = d ? q ? Y1(d[w]) : d[w] : 1;
15236
15236
  return v;
15237
15237
  }
15238
15238
  return i.prototype.format = function(d) {
@@ -15264,10 +15264,10 @@ Example:
15264
15264
  var _ = d > 0 ? d : 0, f = d < 0 ? -d : 0, A = this._size[0], q = this._size[1], m = Math.min(A - f, q - _), W = [], v = [], y = [];
15265
15265
  y[0] = 0;
15266
15266
  for (var N = _; N < q && W.length < m; N++)
15267
- for (var w = this._ptr[N], R = this._ptr[N + 1], D = w; D < R; D++) {
15268
- var B = this._index[D];
15267
+ for (var D = this._ptr[N], R = this._ptr[N + 1], w = D; w < R; w++) {
15268
+ var B = this._index[w];
15269
15269
  if (B === N - _ + f) {
15270
- W.push(this._values[D]), v[W.length - 1] = B - f;
15270
+ W.push(this._values[w]), v[W.length - 1] = B - f;
15271
15271
  break;
15272
15272
  }
15273
15273
  }
@@ -15295,29 +15295,29 @@ Example:
15295
15295
  f = 0;
15296
15296
  var m = t, W = 0;
15297
15297
  Xr(q) && (m = e.find(t, [q, q]) || t, W = e.convert(0, q));
15298
- var v = f > 0 ? f : 0, y = f < 0 ? -f : 0, N = d[0], w = d[1], R = Math.min(N - y, w - v), D;
15298
+ var v = f > 0 ? f : 0, y = f < 0 ? -f : 0, N = d[0], D = d[1], R = Math.min(N - y, D - v), w;
15299
15299
  if (he(_)) {
15300
15300
  if (_.length !== R)
15301
15301
  throw new Error("Invalid value array length");
15302
- D = function(n0) {
15302
+ w = function(n0) {
15303
15303
  return _[n0];
15304
15304
  };
15305
15305
  } else if (pe(_)) {
15306
15306
  var B = _.size();
15307
15307
  if (B.length !== 1 || B[0] !== R)
15308
15308
  throw new Error("Invalid matrix length");
15309
- D = function(n0) {
15309
+ w = function(n0) {
15310
15310
  return _.get([n0]);
15311
15311
  };
15312
15312
  } else
15313
- D = function() {
15313
+ w = function() {
15314
15314
  return _;
15315
15315
  };
15316
- for (var T = [], $ = [], P = [], X = 0; X < w; X++) {
15316
+ for (var T = [], $ = [], P = [], X = 0; X < D; X++) {
15317
15317
  P.push(T.length);
15318
15318
  var K = X - v;
15319
15319
  if (K >= 0 && K < R) {
15320
- var j = D(K);
15320
+ var j = w(K);
15321
15321
  m(j, W) || ($.push(K + y), T.push(j));
15322
15322
  }
15323
15323
  }
@@ -15325,7 +15325,7 @@ Example:
15325
15325
  values: T,
15326
15326
  index: $,
15327
15327
  ptr: P,
15328
- size: [N, w]
15328
+ size: [N, D]
15329
15329
  });
15330
15330
  }, i.prototype.swapRows = function(d, _) {
15331
15331
  if (!oe(d) || !de(d) || !oe(_) || !de(_))
@@ -15338,22 +15338,22 @@ Example:
15338
15338
  q(f[v], _[v]);
15339
15339
  }, i._swapRows = function(d, _, f, A, q, m) {
15340
15340
  for (var W = 0; W < f; W++) {
15341
- var v = m[W], y = m[W + 1], N = p(d, v, y, q), w = p(_, v, y, q);
15342
- if (N < y && w < y && q[N] === d && q[w] === _) {
15341
+ var v = m[W], y = m[W + 1], N = p(d, v, y, q), D = p(_, v, y, q);
15342
+ if (N < y && D < y && q[N] === d && q[D] === _) {
15343
15343
  if (A) {
15344
15344
  var R = A[N];
15345
- A[N] = A[w], A[w] = R;
15345
+ A[N] = A[D], A[D] = R;
15346
15346
  }
15347
15347
  continue;
15348
15348
  }
15349
- if (N < y && q[N] === d && (w >= y || q[w] !== _)) {
15350
- var D = A ? A[N] : void 0;
15351
- q.splice(w, 0, _), A && A.splice(w, 0, D), q.splice(w <= N ? N + 1 : N, 1), A && A.splice(w <= N ? N + 1 : N, 1);
15349
+ if (N < y && q[N] === d && (D >= y || q[D] !== _)) {
15350
+ var w = A ? A[N] : void 0;
15351
+ q.splice(D, 0, _), A && A.splice(D, 0, w), q.splice(D <= N ? N + 1 : N, 1), A && A.splice(D <= N ? N + 1 : N, 1);
15352
15352
  continue;
15353
15353
  }
15354
- if (w < y && q[w] === _ && (N >= y || q[N] !== d)) {
15355
- var B = A ? A[w] : void 0;
15356
- q.splice(N, 0, d), A && A.splice(N, 0, B), q.splice(N <= w ? w + 1 : w, 1), A && A.splice(N <= w ? w + 1 : w, 1);
15354
+ if (D < y && q[D] === _ && (N >= y || q[N] !== d)) {
15355
+ var B = A ? A[D] : void 0;
15356
+ q.splice(N, 0, d), A && A.splice(N, 0, B), q.splice(N <= D ? D + 1 : D, 1), A && A.splice(N <= D ? D + 1 : D, 1);
15357
15357
  }
15358
15358
  }
15359
15359
  }, i;
@@ -15632,9 +15632,9 @@ Example:
15632
15632
  typeof l == "string" && (d = l, _ = e.find(t, [d, d]), f = e.convert(0, d), s = e.convert(s, d), A = e.find(o, [d, d]));
15633
15633
  for (var q = [], m = [], W = [], v = 0; v < O; v++) {
15634
15634
  W[v] = m.length;
15635
- for (var y = b[v], N = b[v + 1], w = y; w < N; w++) {
15636
- var R = p[w], D = a ? A(s, c[w]) : A(c[w], s);
15637
- _(D, f) || (m.push(R), q.push(D));
15635
+ for (var y = b[v], N = b[v + 1], D = y; D < N; D++) {
15636
+ var R = p[D], w = a ? A(s, c[D]) : A(c[D], s);
15637
+ _(w, f) || (m.push(R), q.push(w));
15638
15638
  }
15639
15639
  }
15640
15640
  return W[O] = m.length, i.createSparseMatrix({
@@ -15658,8 +15658,8 @@ Example:
15658
15658
  typeof l == "string" && (d = l, s = e.convert(s, d), _ = e.find(o, [d, d]));
15659
15659
  for (var f = [], A = [], q = [], m = 0; m < O; m++) {
15660
15660
  for (var W = m + 1, v = b[m], y = b[m + 1], N = v; N < y; N++) {
15661
- var w = p[N];
15662
- A[w] = c[N], q[w] = W;
15661
+ var D = p[N];
15662
+ A[D] = c[N], q[D] = W;
15663
15663
  }
15664
15664
  for (var R = 0; R < u; R++)
15665
15665
  m === 0 && (f[R] = []), q[R] === W ? f[R][m] = a ? _(s, A[R]) : _(A[R], s) : f[R][m] = a ? _(s, 0) : _(0, s);
@@ -15709,10 +15709,10 @@ Example:
15709
15709
  throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");
15710
15710
  var _ = p[0], f = p[1], A, q = t, m = 0, W = o;
15711
15711
  typeof b == "string" && b === d && b !== "mixed" && (A = b, q = e.find(t, [A, A]), m = e.convert(0, A), W = e.find(o, [A, A]));
15712
- for (var v = [], y = [], N = [], w = 0; w < f; w++) {
15713
- N[w] = y.length;
15714
- for (var R = u[w], D = u[w + 1], B = R; B < D; B++) {
15715
- var T = l[B], $ = a ? W(M[B], c[T][w]) : W(c[T][w], M[B]);
15712
+ for (var v = [], y = [], N = [], D = 0; D < f; D++) {
15713
+ N[D] = y.length;
15714
+ for (var R = u[D], w = u[D + 1], B = R; B < w; B++) {
15715
+ var T = l[B], $ = a ? W(M[B], c[T][D]) : W(c[T][D], M[B]);
15716
15716
  q($, m) || (y.push(T), v.push($));
15717
15717
  }
15718
15718
  }
@@ -15741,12 +15741,12 @@ Example:
15741
15741
  for (var m = [], W = 0; W < d; W++)
15742
15742
  m[W] = [];
15743
15743
  for (var v = [], y = [], N = 0; N < _; N++) {
15744
- for (var w = N + 1, R = l[N], D = l[N + 1], B = R; B < D; B++) {
15744
+ for (var D = N + 1, R = l[N], w = l[N + 1], B = R; B < w; B++) {
15745
15745
  var T = M[B];
15746
- v[T] = o ? q(b[B], a[T][N]) : q(a[T][N], b[B]), y[T] = w;
15746
+ v[T] = o ? q(b[B], a[T][N]) : q(a[T][N], b[B]), y[T] = D;
15747
15747
  }
15748
15748
  for (var $ = 0; $ < d; $++)
15749
- y[$] === w ? m[$][N] = v[$] : m[$][N] = o ? q(A, a[$][N]) : q(a[$][N], A);
15749
+ y[$] === D ? m[$][N] = v[$] : m[$][N] = o ? q(A, a[$][N]) : q(a[$][N], A);
15750
15750
  }
15751
15751
  return r.createDenseMatrix({
15752
15752
  data: m,
@@ -15767,28 +15767,28 @@ Example:
15767
15767
  throw new RangeError("Dimension mismatch. Matrix A (" + b + ") must match Matrix B (" + d + ")");
15768
15768
  var f = b[0], A = b[1], q, m = t, W = 0, v = o;
15769
15769
  typeof M == "string" && M === _ && M !== "mixed" && (q = M, m = e.find(t, [q, q]), W = e.convert(0, q), v = e.find(o, [q, q]));
15770
- var y = a && l ? [] : void 0, N = [], w = [], R = y ? [] : void 0, D = y ? [] : void 0, B = [], T = [], $, P, X, K;
15770
+ var y = a && l ? [] : void 0, N = [], D = [], R = y ? [] : void 0, w = y ? [] : void 0, B = [], T = [], $, P, X, K;
15771
15771
  for (P = 0; P < A; P++) {
15772
- w[P] = N.length;
15772
+ D[P] = N.length;
15773
15773
  var j = P + 1;
15774
15774
  for (X = p[P], K = p[P + 1]; X < K; X++)
15775
15775
  $ = c[X], N.push($), B[$] = j, R && (R[$] = a[X]);
15776
15776
  for (X = O[P], K = O[P + 1]; X < K; X++)
15777
- $ = u[X], B[$] !== j && N.push($), T[$] = j, D && (D[$] = l[X]);
15777
+ $ = u[X], B[$] !== j && N.push($), T[$] = j, w && (w[$] = l[X]);
15778
15778
  if (y)
15779
- for (X = w[P]; X < N.length; ) {
15779
+ for (X = D[P]; X < N.length; ) {
15780
15780
  $ = N[X];
15781
15781
  var Q = B[$], n0 = T[$];
15782
15782
  if (Q === j || n0 === j) {
15783
- var l0 = Q === j ? R[$] : W, r0 = n0 === j ? D[$] : W, G = v(l0, r0);
15783
+ var l0 = Q === j ? R[$] : W, r0 = n0 === j ? w[$] : W, G = v(l0, r0);
15784
15784
  m(G, W) ? N.splice(X, 1) : (y.push(G), X++);
15785
15785
  }
15786
15786
  }
15787
15787
  }
15788
- return w[A] = N.length, i.createSparseMatrix({
15788
+ return D[A] = N.length, i.createSparseMatrix({
15789
15789
  values: y,
15790
15790
  index: N,
15791
- ptr: w,
15791
+ ptr: D,
15792
15792
  size: [f, A],
15793
15793
  datatype: M === i._datatype && _ === s._datatype ? q : void 0
15794
15794
  });
@@ -15895,8 +15895,8 @@ Example:
15895
15895
  W[q] = [];
15896
15896
  var v = [], y = [];
15897
15897
  for (m = 0; m < _; m++) {
15898
- for (var N = m + 1, w = l[m], R = l[m + 1], D = w; D < R; D++)
15899
- q = M[D], v[q] = o ? A(b[D], a[q][m]) : A(a[q][m], b[D]), y[q] = N;
15898
+ for (var N = m + 1, D = l[m], R = l[m + 1], w = D; w < R; w++)
15899
+ q = M[w], v[q] = o ? A(b[w], a[q][m]) : A(a[q][m], b[w]), y[q] = N;
15900
15900
  for (q = 0; q < d; q++)
15901
15901
  y[q] === N ? W[q][m] = v[q] : W[q][m] = a[q][m];
15902
15902
  }
@@ -15919,9 +15919,9 @@ Example:
15919
15919
  throw new RangeError("Dimension mismatch. Matrix A (" + b + ") must match Matrix B (" + d + ")");
15920
15920
  var f = b[0], A = b[1], q, m = t, W = 0, v = o;
15921
15921
  typeof M == "string" && M === _ && M !== "mixed" && (q = M, m = e.find(t, [q, q]), W = e.convert(0, q), v = e.find(o, [q, q]));
15922
- var y = a && l ? [] : void 0, N = [], w = [], R = a && l ? [] : void 0, D = a && l ? [] : void 0, B = [], T = [], $, P, X, K, j;
15922
+ var y = a && l ? [] : void 0, N = [], D = [], R = a && l ? [] : void 0, w = a && l ? [] : void 0, B = [], T = [], $, P, X, K, j;
15923
15923
  for (P = 0; P < A; P++) {
15924
- w[P] = N.length;
15924
+ D[P] = N.length;
15925
15925
  var Q = P + 1;
15926
15926
  for (K = p[P], j = p[P + 1], X = K; X < j; X++)
15927
15927
  $ = c[X], N.push($), B[$] = Q, R && (R[$] = a[X]);
@@ -15932,15 +15932,15 @@ Example:
15932
15932
  m(n0, W) ? B[$] = null : R[$] = n0;
15933
15933
  }
15934
15934
  } else
15935
- N.push($), T[$] = Q, D && (D[$] = l[X]);
15936
- if (R && D)
15937
- for (X = w[P]; X < N.length; )
15938
- $ = N[X], B[$] === Q ? (y[X] = R[$], X++) : T[$] === Q ? (y[X] = D[$], X++) : N.splice(X, 1);
15935
+ N.push($), T[$] = Q, w && (w[$] = l[X]);
15936
+ if (R && w)
15937
+ for (X = D[P]; X < N.length; )
15938
+ $ = N[X], B[$] === Q ? (y[X] = R[$], X++) : T[$] === Q ? (y[X] = w[$], X++) : N.splice(X, 1);
15939
15939
  }
15940
- return w[A] = N.length, i.createSparseMatrix({
15940
+ return D[A] = N.length, i.createSparseMatrix({
15941
15941
  values: y,
15942
15942
  index: N,
15943
- ptr: w,
15943
+ ptr: D,
15944
15944
  size: [f, A],
15945
15945
  datatype: M === i._datatype && _ === s._datatype ? q : void 0
15946
15946
  });
@@ -15958,8 +15958,8 @@ Example:
15958
15958
  typeof l == "string" && (d = l, s = e.convert(s, d), _ = e.find(o, [d, d]));
15959
15959
  for (var f = [], A = [], q = [], m = 0; m < O; m++) {
15960
15960
  for (var W = m + 1, v = b[m], y = b[m + 1], N = v; N < y; N++) {
15961
- var w = p[N];
15962
- A[w] = c[N], q[w] = W;
15961
+ var D = p[N];
15962
+ A[D] = c[N], q[D] = W;
15963
15963
  }
15964
15964
  for (var R = 0; R < u; R++)
15965
15965
  m === 0 && (f[R] = []), q[R] === W ? f[R][m] = a ? _(s, A[R]) : _(A[R], s) : f[R][m] = s;
@@ -16047,8 +16047,8 @@ Example:
16047
16047
  return l(W, v);
16048
16048
  }
16049
16049
  function l(W, v) {
16050
- var y = W._data, N = W._size, w = W._datatype || W.getDataType(), R = v._data, D = v._size, B = v._datatype || v.getDataType(), T = N[0], $ = D[1], P, X = r, K = i;
16051
- w && B && w === B && typeof w == "string" && w !== "mixed" && (P = w, X = e.find(r, [P, P]), K = e.find(i, [P, P]));
16050
+ var y = W._data, N = W._size, D = W._datatype || W.getDataType(), R = v._data, w = v._size, B = v._datatype || v.getDataType(), T = N[0], $ = w[1], P, X = r, K = i;
16051
+ D && B && D === B && typeof D == "string" && D !== "mixed" && (P = D, X = e.find(r, [P, P]), K = e.find(i, [P, P]));
16052
16052
  for (var j = [], Q = 0; Q < $; Q++) {
16053
16053
  for (var n0 = K(y[0], R[0][Q]), l0 = 1; l0 < T; l0++)
16054
16054
  n0 = X(n0, K(y[l0], R[l0][Q]));
@@ -16057,7 +16057,7 @@ Example:
16057
16057
  return W.createDenseMatrix({
16058
16058
  data: j,
16059
16059
  size: [$],
16060
- datatype: w === W._datatype && B === v._datatype ? P : void 0
16060
+ datatype: D === W._datatype && B === v._datatype ? P : void 0
16061
16061
  });
16062
16062
  }
16063
16063
  var u = e("_multiplyMatrixVector", {
@@ -16070,8 +16070,8 @@ Example:
16070
16070
  "SparseMatrix, SparseMatrix": m
16071
16071
  });
16072
16072
  function d(W, v) {
16073
- var y = W._data, N = W._size, w = W._datatype || W.getDataType(), R = v._data, D = v._datatype || v.getDataType(), B = N[0], T = N[1], $, P = r, X = i;
16074
- w && D && w === D && typeof w == "string" && w !== "mixed" && ($ = w, P = e.find(r, [$, $]), X = e.find(i, [$, $]));
16073
+ var y = W._data, N = W._size, D = W._datatype || W.getDataType(), R = v._data, w = v._datatype || v.getDataType(), B = N[0], T = N[1], $, P = r, X = i;
16074
+ D && w && D === w && typeof D == "string" && D !== "mixed" && ($ = D, P = e.find(r, [$, $]), X = e.find(i, [$, $]));
16075
16075
  for (var K = [], j = 0; j < B; j++) {
16076
16076
  for (var Q = y[j], n0 = X(Q[0], R[0]), l0 = 1; l0 < T; l0++)
16077
16077
  n0 = P(n0, X(Q[l0], R[l0]));
@@ -16080,12 +16080,12 @@ Example:
16080
16080
  return W.createDenseMatrix({
16081
16081
  data: K,
16082
16082
  size: [B],
16083
- datatype: w === W._datatype && D === v._datatype ? $ : void 0
16083
+ datatype: D === W._datatype && w === v._datatype ? $ : void 0
16084
16084
  });
16085
16085
  }
16086
16086
  function _(W, v) {
16087
- var y = W._data, N = W._size, w = W._datatype || W.getDataType(), R = v._data, D = v._size, B = v._datatype || v.getDataType(), T = N[0], $ = N[1], P = D[1], X, K = r, j = i;
16088
- w && B && w === B && typeof w == "string" && w !== "mixed" && w !== "mixed" && (X = w, K = e.find(r, [X, X]), j = e.find(i, [X, X]));
16087
+ var y = W._data, N = W._size, D = W._datatype || W.getDataType(), R = v._data, w = v._size, B = v._datatype || v.getDataType(), T = N[0], $ = N[1], P = w[1], X, K = r, j = i;
16088
+ D && B && D === B && typeof D == "string" && D !== "mixed" && D !== "mixed" && (X = D, K = e.find(r, [X, X]), j = e.find(i, [X, X]));
16089
16089
  for (var Q = [], n0 = 0; n0 < T; n0++) {
16090
16090
  var l0 = y[n0];
16091
16091
  Q[n0] = [];
@@ -16098,28 +16098,28 @@ Example:
16098
16098
  return W.createDenseMatrix({
16099
16099
  data: Q,
16100
16100
  size: [T, P],
16101
- datatype: w === W._datatype && B === v._datatype ? X : void 0
16101
+ datatype: D === W._datatype && B === v._datatype ? X : void 0
16102
16102
  });
16103
16103
  }
16104
16104
  function f(W, v) {
16105
- var y = W._data, N = W._size, w = W._datatype || W.getDataType(), R = v._values, D = v._index, B = v._ptr, T = v._size, $ = v._datatype || v._data === void 0 ? v._datatype : v.getDataType();
16105
+ var y = W._data, N = W._size, D = W._datatype || W.getDataType(), R = v._values, w = v._index, B = v._ptr, T = v._size, $ = v._datatype || v._data === void 0 ? v._datatype : v.getDataType();
16106
16106
  if (!R)
16107
16107
  throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");
16108
16108
  var P = N[0], X = T[1], K, j = r, Q = i, n0 = s, l0 = 0;
16109
- w && $ && w === $ && typeof w == "string" && w !== "mixed" && (K = w, j = e.find(r, [K, K]), Q = e.find(i, [K, K]), n0 = e.find(s, [K, K]), l0 = e.convert(0, K));
16109
+ D && $ && D === $ && typeof D == "string" && D !== "mixed" && (K = D, j = e.find(r, [K, K]), Q = e.find(i, [K, K]), n0 = e.find(s, [K, K]), l0 = e.convert(0, K));
16110
16110
  for (var r0 = [], G = [], _0 = [], A0 = v.createSparseMatrix({
16111
16111
  values: r0,
16112
16112
  index: G,
16113
16113
  ptr: _0,
16114
16114
  size: [P, X],
16115
- datatype: w === W._datatype && $ === v._datatype ? K : void 0
16115
+ datatype: D === W._datatype && $ === v._datatype ? K : void 0
16116
16116
  }), q0 = 0; q0 < X; q0++) {
16117
16117
  _0[q0] = G.length;
16118
16118
  var h0 = B[q0], V0 = B[q0 + 1];
16119
16119
  if (V0 > h0)
16120
16120
  for (var G0 = 0, c1 = 0; c1 < P; c1++) {
16121
16121
  for (var Z0 = c1 + 1, T0 = void 0, F = h0; F < V0; F++) {
16122
- var J = D[F];
16122
+ var J = w[F];
16123
16123
  G0 !== Z0 ? (T0 = Q(y[c1][J], R[F]), G0 = Z0) : T0 = j(T0, Q(y[c1][J], R[F]));
16124
16124
  }
16125
16125
  G0 === Z0 && !n0(T0, l0) && (G.push(c1), r0.push(T0));
@@ -16128,17 +16128,17 @@ Example:
16128
16128
  return _0[X] = G.length, A0;
16129
16129
  }
16130
16130
  function A(W, v) {
16131
- var y = W._values, N = W._index, w = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType();
16131
+ var y = W._values, N = W._index, D = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType();
16132
16132
  if (!y)
16133
16133
  throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");
16134
- var D = v._data, B = v._datatype || v.getDataType(), T = W._size[0], $ = v._size[0], P = [], X = [], K = [], j, Q = r, n0 = i, l0 = s, r0 = 0;
16134
+ var w = v._data, B = v._datatype || v.getDataType(), T = W._size[0], $ = v._size[0], P = [], X = [], K = [], j, Q = r, n0 = i, l0 = s, r0 = 0;
16135
16135
  R && B && R === B && typeof R == "string" && R !== "mixed" && (j = R, Q = e.find(r, [j, j]), n0 = e.find(i, [j, j]), l0 = e.find(s, [j, j]), r0 = e.convert(0, j));
16136
16136
  var G = [], _0 = [];
16137
16137
  K[0] = 0;
16138
16138
  for (var A0 = 0; A0 < $; A0++) {
16139
- var q0 = D[A0];
16139
+ var q0 = w[A0];
16140
16140
  if (!l0(q0, r0))
16141
- for (var h0 = w[A0], V0 = w[A0 + 1], G0 = h0; G0 < V0; G0++) {
16141
+ for (var h0 = D[A0], V0 = D[A0 + 1], G0 = h0; G0 < V0; G0++) {
16142
16142
  var c1 = N[G0];
16143
16143
  _0[c1] ? G[c1] = Q(G[c1], n0(q0, y[G0])) : (_0[c1] = !0, X.push(c1), G[c1] = n0(q0, y[G0]));
16144
16144
  }
@@ -16156,10 +16156,10 @@ Example:
16156
16156
  });
16157
16157
  }
16158
16158
  function q(W, v) {
16159
- var y = W._values, N = W._index, w = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType();
16159
+ var y = W._values, N = W._index, D = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType();
16160
16160
  if (!y)
16161
16161
  throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");
16162
- var D = v._data, B = v._datatype || v.getDataType(), T = W._size[0], $ = v._size[0], P = v._size[1], X, K = r, j = i, Q = s, n0 = 0;
16162
+ var w = v._data, B = v._datatype || v.getDataType(), T = W._size[0], $ = v._size[0], P = v._size[1], X, K = r, j = i, Q = s, n0 = 0;
16163
16163
  R && B && R === B && typeof R == "string" && R !== "mixed" && (X = R, K = e.find(r, [X, X]), j = e.find(i, [X, X]), Q = e.find(s, [X, X]), n0 = e.convert(0, X));
16164
16164
  for (var l0 = [], r0 = [], G = [], _0 = W.createSparseMatrix({
16165
16165
  values: l0,
@@ -16170,9 +16170,9 @@ Example:
16170
16170
  }), A0 = [], q0 = [], h0 = 0; h0 < P; h0++) {
16171
16171
  G[h0] = r0.length;
16172
16172
  for (var V0 = h0 + 1, G0 = 0; G0 < $; G0++) {
16173
- var c1 = D[G0][h0];
16173
+ var c1 = w[G0][h0];
16174
16174
  if (!Q(c1, n0))
16175
- for (var Z0 = w[G0], T0 = w[G0 + 1], F = Z0; F < T0; F++) {
16175
+ for (var Z0 = D[G0], T0 = D[G0 + 1], F = Z0; F < T0; F++) {
16176
16176
  var J = N[F];
16177
16177
  q0[J] !== V0 ? (q0[J] = V0, r0.push(J), A0[J] = j(c1, y[F])) : A0[J] = K(A0[J], j(c1, y[F]));
16178
16178
  }
@@ -16185,7 +16185,7 @@ Example:
16185
16185
  return G[P] = r0.length, _0;
16186
16186
  }
16187
16187
  function m(W, v) {
16188
- var y = W._values, N = W._index, w = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType(), D = v._values, B = v._index, T = v._ptr, $ = v._datatype || v._data === void 0 ? v._datatype : v.getDataType(), P = W._size[0], X = v._size[1], K = y && D, j, Q = r, n0 = i;
16188
+ var y = W._values, N = W._index, D = W._ptr, R = W._datatype || W._data === void 0 ? W._datatype : W.getDataType(), w = v._values, B = v._index, T = v._ptr, $ = v._datatype || v._data === void 0 ? v._datatype : v.getDataType(), P = W._size[0], X = v._size[1], K = y && w, j, Q = r, n0 = i;
16189
16189
  R && $ && R === $ && typeof R == "string" && R !== "mixed" && (j = R, Q = e.find(r, [j, j]), n0 = e.find(i, [j, j]));
16190
16190
  for (var l0 = K ? [] : void 0, r0 = [], G = [], _0 = W.createSparseMatrix({
16191
16191
  values: l0,
@@ -16198,10 +16198,10 @@ Example:
16198
16198
  var s0 = t0 + 1;
16199
16199
  for (Z0 = T[t0], T0 = T[t0 + 1], c1 = Z0; c1 < T0; c1++)
16200
16200
  if (J = B[c1], K)
16201
- for (V0 = w[J], G0 = w[J + 1], h0 = V0; h0 < G0; h0++)
16202
- F = N[h0], q0[F] !== s0 ? (q0[F] = s0, r0.push(F), A0[F] = n0(D[c1], y[h0])) : A0[F] = Q(A0[F], n0(D[c1], y[h0]));
16201
+ for (V0 = D[J], G0 = D[J + 1], h0 = V0; h0 < G0; h0++)
16202
+ F = N[h0], q0[F] !== s0 ? (q0[F] = s0, r0.push(F), A0[F] = n0(w[c1], y[h0])) : A0[F] = Q(A0[F], n0(w[c1], y[h0]));
16203
16203
  else
16204
- for (V0 = w[J], G0 = w[J + 1], h0 = V0; h0 < G0; h0++)
16204
+ for (V0 = D[J], G0 = D[J + 1], h0 = V0; h0 < G0; h0++)
16205
16205
  F = N[h0], q0[F] !== s0 && (q0[F] = s0, r0.push(F));
16206
16206
  if (K)
16207
16207
  for (var C0 = G[t0], b1 = r0.length, U1 = C0; U1 < b1; U1++) {
@@ -16219,8 +16219,8 @@ Example:
16219
16219
  return pe(N) ? N.valueOf() : N;
16220
16220
  }),
16221
16221
  "Matrix, Matrix": function(v, y) {
16222
- var N = v.size(), w = y.size();
16223
- return p(N, w), N.length === 1 ? w.length === 1 ? b(v, y, N[0]) : M(v, y) : w.length === 1 ? u(v, y) : O(v, y);
16222
+ var N = v.size(), D = y.size();
16223
+ return p(N, D), N.length === 1 ? D.length === 1 ? b(v, y, N[0]) : M(v, y) : D.length === 1 ? u(v, y) : O(v, y);
16224
16224
  },
16225
16225
  "Matrix, Array": e.referTo("Matrix,Matrix", (W) => (v, y) => W(v, t(y))),
16226
16226
  "Array, Matrix": e.referToSelf((W) => (v, y) => W(t(v, y.storage()), y)),
@@ -16244,9 +16244,9 @@ Example:
16244
16244
  },
16245
16245
  "any, any": i,
16246
16246
  "any, any, ...any": e.referToSelf((W) => (v, y, N) => {
16247
- for (var w = W(v, y), R = 0; R < N.length; R++)
16248
- w = W(w, N[R]);
16249
- return w;
16247
+ for (var D = W(v, y), R = 0; R < N.length; R++)
16248
+ D = W(D, N[R]);
16249
+ return D;
16250
16250
  })
16251
16251
  });
16252
16252
  }), xu = "subtract", Ww = ["typed", "matrix", "equalScalar", "subtractScalar", "unaryMinus", "DenseMatrix", "concat"], vw = /* @__PURE__ */ R0(xu, Ww, (n) => {
@@ -16306,8 +16306,8 @@ Example:
16306
16306
  for (A = 0; A < u; A++) {
16307
16307
  var N = A + 1;
16308
16308
  for (r(s, A, v, m, N), r(o, A, y, W, N), f = 0; f < l; f++) {
16309
- var w = v[f] === N ? m[f] : d, R = y[f] === N ? W[f] : d;
16310
- q[f][A] = _(w, R);
16309
+ var D = v[f] === N ? m[f] : d, R = y[f] === N ? W[f] : d;
16310
+ q[f][A] = _(D, R);
16311
16311
  }
16312
16312
  }
16313
16313
  return new t({
@@ -16586,8 +16586,8 @@ Example:
16586
16586
  O.push(m), m += d[W], d[W] = O[W];
16587
16587
  for (O.push(m), q = 0; q < c; q++)
16588
16588
  for (var v = M[q], y = M[q + 1], N = v; N < y; N++) {
16589
- var w = d[b[N]]++;
16590
- u[w] = q, p && (l[w] = Y1(p[N]));
16589
+ var D = d[b[N]]++;
16590
+ u[D] = q, p && (l[D] = Y1(p[N]));
16591
16591
  }
16592
16592
  return o.createSparseMatrix({
16593
16593
  values: l,
@@ -17248,13 +17248,13 @@ Example:
17248
17248
  return v;
17249
17249
  }
17250
17250
  if (!f && A) {
17251
- for (var N = m(i(u[0]), d[0][0]), w = 1; w < l; w++)
17252
- N = q(N, m(i(u[w]), d[w][0]));
17251
+ for (var N = m(i(u[0]), d[0][0]), D = 1; D < l; D++)
17252
+ N = q(N, m(i(u[D]), d[D][0]));
17253
17253
  return N;
17254
17254
  }
17255
17255
  if (f && !A) {
17256
- for (var R = m(i(u[0][0]), d[0]), D = 1; D < l; D++)
17257
- R = q(R, m(i(u[D][0]), d[D]));
17256
+ for (var R = m(i(u[0][0]), d[0]), w = 1; w < l; w++)
17257
+ R = q(R, m(i(u[w][0]), d[w]));
17258
17258
  return R;
17259
17259
  }
17260
17260
  if (f && A) {
@@ -17453,19 +17453,19 @@ Example:
17453
17453
  if (y === 0)
17454
17454
  throw Error("Cannot calculate inverse, determinant is zero");
17455
17455
  O = N, O !== v && (A = m[v], m[v] = m[O], m[O] = A, A = W[v], W[v] = W[O], W[O] = A);
17456
- var w = m[v], R = W[v];
17456
+ var D = m[v], R = W[v];
17457
17457
  for (O = 0; O < l; O++) {
17458
- var D = m[O], B = W[O];
17458
+ var w = m[O], B = W[O];
17459
17459
  if (O !== v) {
17460
- if (D[v] !== 0) {
17461
- for (_ = r(o(D[v]), w[v]), d = v; d < u; d++)
17462
- D[d] = i(D[d], s(_, w[d]));
17460
+ if (w[v] !== 0) {
17461
+ for (_ = r(o(w[v]), D[v]), d = v; d < u; d++)
17462
+ w[d] = i(w[d], s(_, D[d]));
17463
17463
  for (d = 0; d < u; d++)
17464
17464
  B[d] = i(B[d], s(_, R[d]));
17465
17465
  }
17466
17466
  } else {
17467
- for (_ = w[v], d = v; d < u; d++)
17468
- D[d] = r(D[d], _);
17467
+ for (_ = D[v], d = v; d < u; d++)
17468
+ w[d] = r(w[d], _);
17469
17469
  for (d = 0; d < u; d++)
17470
17470
  B[d] = r(B[d], _);
17471
17471
  }
@@ -17531,20 +17531,20 @@ Example:
17531
17531
  if (N++, q === N && (N = y, v++, m === v))
17532
17532
  return W;
17533
17533
  [W[N], W[y]] = [W[y], W[N]];
17534
- for (var w = W[y][v], R = 0; R < m; R++)
17535
- W[y][R] = o(W[y][R], w);
17536
- for (var D = 0; D < q; D++)
17537
- if (D !== y) {
17538
- w = W[D][v];
17534
+ for (var D = W[y][v], R = 0; R < m; R++)
17535
+ W[y][R] = o(W[y][R], D);
17536
+ for (var w = 0; w < q; w++)
17537
+ if (w !== y) {
17538
+ D = W[w][v];
17539
17539
  for (var B = 0; B < m; B++)
17540
- W[D][B] = M(W[D][B], b(-1, b(w, W[y][B])));
17540
+ W[w][B] = M(W[w][B], b(-1, b(D, W[y][B])));
17541
17541
  }
17542
17542
  v++;
17543
17543
  }
17544
17544
  return W;
17545
17545
  }
17546
17546
  function d(A, q, m) {
17547
- var W = O(A, q, m), v = A.map((N, w) => N.filter((R, D) => D < q && !_(a(W[D], W[D])))), y = W.filter((N, w) => !_(a(W[w], W[w])));
17547
+ var W = O(A, q, m), v = A.map((N, D) => N.filter((R, w) => w < q && !_(a(W[w], W[w])))), y = W.filter((N, D) => !_(a(W[D], W[D])));
17548
17548
  return {
17549
17549
  C: v,
17550
17550
  F: y
@@ -17957,21 +17957,21 @@ Example:
17957
17957
  var N = f(_(
17958
17958
  W.entropy ? [m, q(t)] : m ?? A(),
17959
17959
  3
17960
- ), y), w = new O(y), R = function() {
17961
- for (var D = w.g(s), B = c, T = 0; D < p; )
17962
- D = (D + T) * i, B *= i, T = w.g(1);
17963
- for (; D >= b; )
17964
- D /= 2, B /= 2, T >>>= 1;
17965
- return (D + T) / B;
17960
+ ), y), D = new O(y), R = function() {
17961
+ for (var w = D.g(s), B = c, T = 0; w < p; )
17962
+ w = (w + T) * i, B *= i, T = D.g(1);
17963
+ for (; w >= b; )
17964
+ w /= 2, B /= 2, T >>>= 1;
17965
+ return (w + T) / B;
17966
17966
  };
17967
17967
  return R.int32 = function() {
17968
- return w.g(4) | 0;
17968
+ return D.g(4) | 0;
17969
17969
  }, R.quick = function() {
17970
- return w.g(4) / 4294967296;
17971
- }, R.double = R, f(q(w.S), t), (W.pass || v || function(D, B, T, $) {
17972
- return $ && ($.S && d($, w), D.state = function() {
17973
- return d(w, {});
17974
- }), T ? (r[a] = D, B) : D;
17970
+ return D.g(4) / 4294967296;
17971
+ }, R.double = R, f(q(D.S), t), (W.pass || v || function(w, B, T, $) {
17972
+ return $ && ($.S && d($, D), w.state = function() {
17973
+ return d(D, {});
17974
+ }), T ? (r[a] = w, B) : w;
17975
17975
  })(
17976
17976
  R,
17977
17977
  N,
@@ -17980,13 +17980,13 @@ Example:
17980
17980
  );
17981
17981
  }
17982
17982
  function O(m) {
17983
- var W, v = m.length, y = this, N = 0, w = y.i = y.j = 0, R = y.S = [];
17983
+ var W, v = m.length, y = this, N = 0, D = y.i = y.j = 0, R = y.S = [];
17984
17984
  for (v || (m = [v++]); N < i; )
17985
17985
  R[N] = N++;
17986
17986
  for (N = 0; N < i; N++)
17987
- R[N] = R[w = M & w + m[N % v] + (W = R[N])], R[w] = W;
17988
- (y.g = function(D) {
17989
- for (var B, T = 0, $ = y.i, P = y.j, X = y.S; D--; )
17987
+ R[N] = R[D = M & D + m[N % v] + (W = R[N])], R[D] = W;
17988
+ (y.g = function(w) {
17989
+ for (var B, T = 0, $ = y.i, P = y.j, X = y.S; w--; )
17990
17990
  B = X[$ = M & $ + 1], T = T * i + X[M & (X[$] = X[P = M & P + B]) + (X[P] = B)];
17991
17991
  return y.i = $, y.j = P, T;
17992
17992
  })(i);
@@ -19672,26 +19672,26 @@ Example:
19672
19672
  const { id: W, isClose: v, from_entry: y, qtys: N = {} } = m;
19673
19673
  if (v && !N?.hasOwnProperty(d))
19674
19674
  continue;
19675
- const w = `${W}-${y || ""}`;
19675
+ const D = `${W}-${y || ""}`;
19676
19676
  let R = 0;
19677
19677
  N.hasOwnProperty(d) ? R = N[d] || 0 : (R = this._calcExitOrderQty(f, l, m), N[d] = R, m.qtys = N);
19678
- const D = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
19679
- if (D && (A?.push(w), s.push(D)), f -= R, f <= 0)
19678
+ const w = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
19679
+ if (w && (A?.push(D), s.push(w)), f -= R, f <= 0)
19680
19680
  break;
19681
19681
  }
19682
19682
  for (const m of this._exitOrders) {
19683
19683
  if (f <= 0)
19684
19684
  break;
19685
- const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: w = {} } = m;
19686
- if (N && !w?.hasOwnProperty(d) && y !== O)
19685
+ const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: D = {} } = m;
19686
+ if (N && !D?.hasOwnProperty(d) && y !== O)
19687
19687
  continue;
19688
19688
  const R = `${v}-${W || ""}`;
19689
19689
  if (M !== W && W || b.exitIds?.includes(R) || W === M && y < O || y >= O && b.exitIds?.includes(v))
19690
19690
  continue;
19691
- let D = 0;
19692
- w.hasOwnProperty(d) ? D = w[d] || 0 : (D = this._calcExitOrderQty(f, l, m), w[d] = D, m.qtys = w);
19693
- const B = this._orderInExitHandle(b, { exitOrder: m, qty: D }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
19694
- B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= D;
19691
+ let w = 0;
19692
+ D.hasOwnProperty(d) ? w = D[d] || 0 : (w = this._calcExitOrderQty(f, l, m), D[d] = w, m.qtys = D);
19693
+ const B = this._orderInExitHandle(b, { exitOrder: m, qty: w }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
19694
+ B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= w;
19695
19695
  }
19696
19696
  b.occupancyQty = _ - f;
19697
19697
  }
@@ -19719,8 +19719,8 @@ Example:
19719
19719
  m && q.push({ order: e, price: m, index: W, isHighFront: A, exitInfo: { id: l, comment: d || u, qty: M } });
19720
19720
  const [v, y] = this._getStopPrice(b, r, s, i, A, e);
19721
19721
  v && q.push({ order: e, price: v, index: y, isHighFront: A, exitInfo: { id: l, comment: O || u, qty: M } });
19722
- const [N, w] = this._getTrailStopPrice(b, r, s, i, o, A, e);
19723
- if (N && q.push({ order: e, price: N, index: w, isHighFront: A, exitInfo: { id: l, comment: _ || u, qty: M } }), q.length)
19722
+ const [N, D] = this._getTrailStopPrice(b, r, s, i, o, A, e);
19723
+ if (N && q.push({ order: e, price: N, index: D, isHighFront: A, exitInfo: { id: l, comment: _ || u, qty: M } }), q.length)
19724
19724
  return this._executesSort(q), q[0];
19725
19725
  }
19726
19726
  _executesSort(e) {
@@ -19932,18 +19932,18 @@ Example:
19932
19932
  if (M)
19933
19933
  m = i && !s.isnew ? p : o;
19934
19934
  else {
19935
- let { stop: N, limit: w } = e;
19936
- const R = N && (N - o) * v >= 0, { backtest_fill_limits_assumption: D = 0 } = this._options;
19937
- D > 0 && w && (w -= D * this._mintick * v);
19938
- const B = w && (w - o) * v <= 0;
19939
- R && B || (N && !R || w && !B) && (m = o);
19935
+ let { stop: N, limit: D } = e;
19936
+ const R = N && (N - o) * v >= 0, { backtest_fill_limits_assumption: w = 0 } = this._options;
19937
+ w > 0 && D && (D -= w * this._mintick * v);
19938
+ const B = D && (D - o) * v <= 0;
19939
+ R && B || (N && !R || D && !B) && (m = o);
19940
19940
  }
19941
19941
  const y = tt(m, N1(v * b, this._mintick));
19942
19942
  if (m <= c && y >= a) {
19943
19943
  const N = this._getOrders(O, q);
19944
19944
  if (this._ocaGroupVerify(l, _, f), N.length) {
19945
- const w = this._getHisOrderSurplusQty(O, l);
19946
- if (W = this._processOrders(N, m, l, w, q, d, !1, "order"), W <= 0)
19945
+ const D = this._getHisOrderSurplusQty(O, l);
19946
+ if (W = this._processOrders(N, m, l, D, q, d, !1, "order"), W <= 0)
19947
19947
  return;
19948
19948
  }
19949
19949
  this._calcCurrentOrder({ ...e, in_price: y, in_index: r, in_time: t, in_high: c, in_low: a, qty: W });
@@ -20200,13 +20200,13 @@ Example:
20200
20200
  if (t = t - q * M * this._mintick, r < u) {
20201
20201
  const m = u - r, W = (t - l) * q * r, v = O !== void 0 ? O / u * r : void 0, y = d !== void 0 ? d / u * r : void 0, N = f * m / A;
20202
20202
  this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: N, out_id: i, out_index: c, out_high: b, out_low: p, out_time: a, out_comment: s, profit: W, out_qty: r, max_profit: v, trading_loss: y });
20203
- const w = (t - l) * q * m - N;
20203
+ const D = (t - l) * q * m - N;
20204
20204
  Object.assign(e, {
20205
20205
  qty: m,
20206
- profit: w,
20206
+ profit: D,
20207
20207
  max_profit: O !== void 0 ? O - (v || 0) : void 0,
20208
20208
  trading_loss: d !== void 0 ? d - (y || 0) : void 0,
20209
- total_profit: this._totalChangeCapital + w
20209
+ total_profit: this._totalChangeCapital + D
20210
20210
  }), r = 0;
20211
20211
  } else {
20212
20212
  e.isDeal = !0;
@@ -20223,11 +20223,11 @@ Example:
20223
20223
  this._totalChangeCapital -= y;
20224
20224
  let N = f * c / b;
20225
20225
  A += N, N += y, O = O - N, Object.assign(e, { commission: N });
20226
- const w = this._orders.reduce((R, D) => {
20227
- const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = D;
20226
+ const D = this._orders.reduce((R, w) => {
20227
+ const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = w;
20228
20228
  return R + $ * B / T;
20229
20229
  }, 0);
20230
- q += w - l;
20230
+ q += D - l;
20231
20231
  }
20232
20232
  const m = M === e1.long ? 1 : -1;
20233
20233
  let [W, v] = this._calcProfitAndLossHandle(a, c, m, p);
@@ -20392,8 +20392,8 @@ return ${f}` : f = `return ${f}`, f;
20392
20392
  let q = JSON.parse(ns(A));
20393
20393
  const m = [];
20394
20394
  q = q.map((v) => {
20395
- const { type: y, code: N, varNames: w, dependSelf: R } = v;
20396
- return y === 2 && !m.includes(w) && !R && (v.code = `let ${N}`), w && m.push(...w.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
20395
+ const { type: y, code: N, varNames: D, dependSelf: R } = v;
20396
+ return y === 2 && !m.includes(D) && !R && (v.code = `let ${N}`), D && m.push(...D.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
20397
20397
  });
20398
20398
  let W = b.map((v) => ({ ...v, isArg: !1, isPreArg: !0 }));
20399
20399
  b = [], this._getDependCodes(W, q, i, p, b), this._getStmtFuncs(i, q, p, b);
@@ -20441,19 +20441,19 @@ ${u}`), u;
20441
20441
  if (!y.length)
20442
20442
  return;
20443
20443
  const N = y.slice(W);
20444
- let w = M, R = v + w;
20445
- const D = y.length - 1;
20446
- if (D < 0)
20444
+ let D = M, R = v + D;
20445
+ const w = y.length - 1;
20446
+ if (w < 0)
20447
20447
  return;
20448
20448
  const B = {
20449
- lastBarIndex: y[D].barIndex || D,
20450
- lastBarTime: y[D].time,
20449
+ lastBarIndex: y[w].barIndex || w,
20450
+ lastBarTime: y[w].time,
20451
20451
  interval: i,
20452
20452
  mintick: b
20453
20453
  };
20454
20454
  if (q > v) {
20455
20455
  let T;
20456
- if (a ? T = this._lookaheadOnHandle(N, i, R, q, B, W, v, t, w, o) : T = this._lookaheadOffHandle(N, i, R, q, B, W, v, t, w, l || R, o), T)
20456
+ if (a ? T = this._lookaheadOnHandle(N, i, R, q, B, W, v, t, D, o) : T = this._lookaheadOffHandle(N, i, R, q, B, W, v, t, D, l || R, o), T)
20457
20457
  return T;
20458
20458
  if (T === null)
20459
20459
  return;
@@ -20469,7 +20469,7 @@ ${u}`), u;
20469
20469
  };
20470
20470
  return;
20471
20471
  }
20472
- if (P <= w && K > w)
20472
+ if (P <= D && K > D)
20473
20473
  return this._reqCacheData[t] = {
20474
20474
  index: j,
20475
20475
  periodStamp: v
@@ -20492,7 +20492,7 @@ ${u}`), u;
20492
20492
  index: j,
20493
20493
  periodStamp: v
20494
20494
  }, { ...$, barIndex: j, nextBarTime: N[T + 1]?.time, ...B };
20495
- if (P >= w && P <= R && j === B.lastBarIndex)
20495
+ if (P >= D && P <= R && j === B.lastBarIndex)
20496
20496
  return this._reqCacheData[t] = {
20497
20497
  index: j,
20498
20498
  periodStamp: v
@@ -20647,7 +20647,7 @@ ${u}`), u;
20647
20647
  p.updateOptions({ interval: O, mintick: _, syminfo: { ...f.__syminfo, mintick: _, tickerid: d || f.tickerid, ticker: q || A || f.ticker } });
20648
20648
  for (const [W, v] of i.entries()) {
20649
20649
  const { barindex: y } = v, N = Object.assign(v, { barIndex: y || W, lastBarIndex: i[u].barindex || u, lastBarTime: i[u].time, nextBarTime: i[W + 1]?.time });
20650
- if (p.updateData(N), M.update({ barIndex: N?.barindex || 0 }), v.result = Object.assign(v.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), M.errors.length && M.errors.some((w) => w.type === ge.Error))
20650
+ if (p.updateData(N), M.update({ barIndex: N?.barindex || 0 }), v.result = Object.assign(v.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), M.errors.length && M.errors.some((D) => D.type === ge.Error))
20651
20651
  return {
20652
20652
  logs: [],
20653
20653
  errors: M.errors
@@ -20873,8 +20873,8 @@ ${u}`), u;
20873
20873
  if (a && c)
20874
20874
  q = this._hlines.get(a?.key)?.price, m = this._hlines.get(c?.key)?.price, W = "hline";
20875
20875
  else {
20876
- const v = this._plots.get(p?.key), y = this._plots.get(b?.key), N = v?.data || [], w = y?.data || [];
20877
- if (q = N[u]?.value?.[1], m = w[u]?.value?.[1], !u) {
20876
+ const v = this._plots.get(p?.key), y = this._plots.get(b?.key), N = v?.data || [], D = y?.data || [];
20877
+ if (q = N[u]?.value?.[1], m = D[u]?.value?.[1], !u) {
20878
20878
  const R = v?.force_overlay && y?.force_overlay;
20879
20879
  (v?.force_overlay || y?.force_overlay) && !R ? this._errorListener.addError(Lt.plotFillForceOverlayErr, t, ge.Error) : M.force_overlay = R;
20880
20880
  }
@@ -21244,8 +21244,8 @@ ${u}`), u;
21244
21244
  if (t)
21245
21245
  v.requestData = d?.requestCacheData?.requestData ?? [], d = f;
21246
21246
  else {
21247
- const { funcCacheData: R, varCacheData: D, requestCacheData: B } = d;
21248
- v = B, A.setVarCacheData(D), m.setFuncCacheData(R);
21247
+ const { funcCacheData: R, varCacheData: w, requestCacheData: B } = d;
21248
+ v = B, A.setVarCacheData(w), m.setFuncCacheData(R);
21249
21249
  }
21250
21250
  f.requestCacheData = v, self.workerStorage.set(`request_${l}`, new Map(v.request)), self.workerStorage.set(`request_${l}_data`, new Map(v.requestData)), self.workerStorage.set(`request_${l}_list`, new Map(v.requestList)), self.workerStorage.set(`request_${l}_tmp`, new Map(v.requestTmp));
21251
21251
  let y = [];
@@ -21254,7 +21254,7 @@ ${u}`), u;
21254
21254
  else if (r && r.length) {
21255
21255
  const R = r.length - 1;
21256
21256
  A.__isFirstRun = t, A.updateOptions({ interval: o, mintick: _, chart: c, syminfo: s }), m.updateOptions({ inputs: a, strategy: p });
21257
- const D = self.workerStorage.get(`request_${l}_tmp`), B = self.workerStorage.get(`request_${l}_data`), T = self.workerStorage.get(`request_${l}`), $ = Date.now();
21257
+ const w = self.workerStorage.get(`request_${l}_tmp`), B = self.workerStorage.get(`request_${l}_data`), T = self.workerStorage.get(`request_${l}`), $ = Date.now();
21258
21258
  try {
21259
21259
  let P;
21260
21260
  const X = self.workerStorage.get(`request_${l}_list`);
@@ -21275,10 +21275,10 @@ ${u}`), u;
21275
21275
  }]
21276
21276
  };
21277
21277
  !t && (Q || Q === 0) && O.push(Q);
21278
- const n0 = await nO(A, m, q, W, b, P, T, { newCacheData: f, cacheData: d }, D, B, X);
21278
+ const n0 = await nO(A, m, q, W, b, P, T, { newCacheData: f, cacheData: d }, w, B, X);
21279
21279
  if (n0)
21280
21280
  return n0;
21281
- P = Object.assign(j, { barIndex: Q || K, lastBarIndex: r[R].barindex || R, lastBarTime: r[R].time, nextBarTime: r[K + 1]?.time }), G3(A, m, q, W, b, P, D);
21281
+ P = Object.assign(j, { barIndex: Q || K, lastBarIndex: r[R].barindex || R, lastBarTime: r[R].time, nextBarTime: r[K + 1]?.time }), G3(A, m, q, W, b, P, w);
21282
21282
  const l0 = m.errors;
21283
21283
  if (l0.length && l0.some((r0) => r0.type === ge.Error))
21284
21284
  return vs(l), {
@@ -21286,8 +21286,8 @@ ${u}`), u;
21286
21286
  errors: X0.uniqBy(l0, "startLineNumber")
21287
21287
  };
21288
21288
  }
21289
- if (D?.size) {
21290
- const K = await nO(A, m, q, W, b, P, T, { newCacheData: f, cacheData: d }, D, B, X);
21289
+ if (w?.size) {
21290
+ const K = await nO(A, m, q, W, b, P, T, { newCacheData: f, cacheData: d }, w, B, X);
21291
21291
  if (K)
21292
21292
  return vs(l), K;
21293
21293
  }
@@ -21337,13 +21337,13 @@ ${u}`), u;
21337
21337
  status: 1,
21338
21338
  errors: N
21339
21339
  };
21340
- const w = m.options(O, t);
21340
+ const D = m.options(O, t);
21341
21341
  return Object.assign(f, { inputCache: self.workerStorage.get(`inputs_${l}`), strategyCacheArgs: self.workerStorage.get(`strategy_${l}`), varCacheData: A.getVarCacheData(), funcCacheData: m.getFuncCacheData() }), vs(l), {
21342
21342
  status: 0,
21343
21343
  requestList: y,
21344
21344
  errors: N,
21345
21345
  cacheData: f,
21346
- options: { ...w, id: e.id }
21346
+ options: { ...D, id: e.id }
21347
21347
  };
21348
21348
  }
21349
21349
  async function nO(n, e, t, r, i, s, o, a, c, p, b) {
@@ -21352,15 +21352,15 @@ ${u}`), u;
21352
21352
  const u = [], O = [];
21353
21353
  for (const [_, f] of c) {
21354
21354
  const { symbol: A = "", timeframe: q, id: m, calc_bars_count: W, ignore_invalid_symbol: v, originTimeframe: y } = f, N = `${A}:${q}`;
21355
- let w = 0;
21355
+ let D = 0;
21356
21356
  const R = p?.get(m);
21357
- R && (w = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: w });
21358
- const [D, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3;
21359
- u.push(ks({ params: [{ exchange: B ? D : "FX", symbol: B || D, limit: W || T, start: w, end: 0, period: q }] }).json());
21357
+ R && (D = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: D });
21358
+ const [w, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3;
21359
+ u.push(ks({ params: [{ exchange: B ? w : "FX", symbol: B || w, limit: W || T, start: D, end: 0, period: q }] }).json());
21360
21360
  }
21361
21361
  const d = await Promise.all(u);
21362
21362
  for (const [_, f] of d.entries()) {
21363
- const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: w } = O[_];
21363
+ const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: D } = O[_];
21364
21364
  if (A !== 200 && !y)
21365
21365
  return {
21366
21366
  status: 1,
@@ -21374,13 +21374,13 @@ ${u}`), u;
21374
21374
  }]
21375
21375
  };
21376
21376
  const R = q?.[v]?.list?.reverse() || [];
21377
- R[0]?.time === w && N.splice(N.length - 1);
21378
- const D = b?.get(W);
21379
- if (D) {
21377
+ R[0]?.time === D && N.splice(N.length - 1);
21378
+ const w = b?.get(W);
21379
+ if (w) {
21380
21380
  const B = Number(q?.[v]?.tick_size) || 1e-5;
21381
- D.mintick = B;
21381
+ w.mintick = B;
21382
21382
  }
21383
- p?.set(W, N.concat(R));
21383
+ R.length && (R[R.length - 1].isrealtime = !0), p?.set(W, N.concat(R));
21384
21384
  }
21385
21385
  c?.clear();
21386
21386
  }
@@ -21415,18 +21415,21 @@ ${u}`), u;
21415
21415
  if (A.length) {
21416
21416
  let q = A.length - 1;
21417
21417
  const m = A[q].time;
21418
- if (f = f.filter((R) => R.time >= m), f[0]?.time === m) {
21419
- const R = A.pop();
21420
- q -= 1, Object.assign(f[0], { result: R?.result });
21418
+ f = f.filter((w) => w.time >= m);
21419
+ const W = f[0]?.time;
21420
+ if (W === m) {
21421
+ const w = A.pop();
21422
+ q -= 1, Object.assign(f[0], { result: w?.result });
21421
21423
  }
21422
- for (const R of f)
21423
- q += 1, R.barindex = q;
21424
+ for (const w of f)
21425
+ q += 1, w.barindex = q;
21424
21426
  if (!f.length)
21425
21427
  continue;
21426
- const W = c?.get(O)?.mintick || 1e-5;
21428
+ W > m && f.push(Object.assign(A[q], { isrealtime: !1 })), f[f.length - 1].isrealtime = !0;
21429
+ const v = c?.get(O)?.mintick || 1e-5;
21427
21430
  o?.set(O, A.concat(f));
21428
- const { varCacheData: v, funcCacheData: y } = s[b] || {}, { errors: N = [], cacheData: w } = t.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: v, funcCacheData: y, mintick: W }), u, d) || {};
21429
- i.requestCacheData[b] = w, t.addErrors(N, b);
21431
+ const { varCacheData: y, funcCacheData: N } = s[b] || {}, { errors: D = [], cacheData: R } = t.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: y, funcCacheData: N, mintick: v }), u, d) || {};
21432
+ i.requestCacheData[b] = R, t.addErrors(D, b);
21430
21433
  } else
21431
21434
  o?.set(O, A.concat(f));
21432
21435
  }
@@ -21706,9 +21709,9 @@ ${u}`), u;
21706
21709
  maxprofit_long: v = 0,
21707
21710
  maxprofit_short: y = 0,
21708
21711
  maxloss_long: N = 0,
21709
- maxloss_short: w = 0,
21712
+ maxloss_short: D = 0,
21710
21713
  maxprofit_percent_long: R = 0,
21711
- maxprofit_percent_short: D = 0,
21714
+ maxprofit_percent_short: w = 0,
21712
21715
  maxloss_percent_long: B = 0,
21713
21716
  maxloss_percent_short: T = 0,
21714
21717
  hold_long_k_count: $ = 0,
@@ -21721,7 +21724,7 @@ ${u}`), u;
21721
21724
  shapeRatioType: l0 = "NONE"
21722
21725
  } = this._preHistoryOrderCalcResult;
21723
21726
  const { profit: r0 = 0, profit_percent: G = 0, in_index: _0 = 0, out_index: A0 = 0, commission: q0 = 0, direction: h0, in_time: V0 = 0, out_time: G0 = 0, total_profit: c1 = 0 } = e, Z0 = A0 - _0 + 1;
21724
- if (h0 === _1.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), D = Math.max(D, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, w = Math.min(w, r0), T = Math.min(T, G))), !n0) {
21727
+ if (h0 === _1.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), w = Math.max(w, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, D = Math.min(D, r0), T = Math.min(T, G))), !n0) {
21725
21728
  const s0 = this._createBalanceByInterval(V0, Date.now());
21726
21729
  n0 = s0.balanceByInterval, l0 = s0.shapeRatioType;
21727
21730
  }
@@ -21757,9 +21760,9 @@ ${u}`), u;
21757
21760
  maxprofit_long: v,
21758
21761
  maxprofit_short: y,
21759
21762
  maxloss_long: N,
21760
- maxloss_short: w,
21763
+ maxloss_short: D,
21761
21764
  maxprofit_percent_long: R,
21762
- maxprofit_percent_short: D,
21765
+ maxprofit_percent_short: w,
21763
21766
  maxloss_percent_long: B,
21764
21767
  maxloss_percent_short: T,
21765
21768
  hold_long_k_count: $,
@@ -23854,14 +23857,14 @@ ${u}`), u;
23854
23857
  if (u < e)
23855
23858
  m = { low: O, high: d, close: _, PDMS: (p || 0) + f, NDMS: (b || 0) + A, TRS: (M || 0) + q, count: u + 1, value: [void 0, void 0, void 0] };
23856
23859
  else {
23857
- const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, w = v / y * 100, R = Math.abs((N - w) / (N + w)) * 100;
23858
- let D = R, B = [N, w, void 0];
23860
+ const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, D = v / y * 100, R = Math.abs((N - D) / (N + D)) * 100;
23861
+ let w = R, B = [N, D, void 0];
23859
23862
  if (u + 1 - e < t) {
23860
23863
  const T = u + 1 - e;
23861
- D = ((l || 0) * (T - 1) + R) / T;
23864
+ w = ((l || 0) * (T - 1) + R) / T;
23862
23865
  } else
23863
- D = (l * (t - 1) + R) / t, B = [N, w, D];
23864
- m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: D, count: u + 1, value: B };
23866
+ w = (l * (t - 1) + R) / t, B = [N, D, w];
23867
+ m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: w, count: u + 1, value: B };
23865
23868
  }
23866
23869
  return this._cacheDataHandle(i, m), m.value;
23867
23870
  }
@@ -25978,26 +25981,26 @@ ${u}`), u;
25978
25981
  const { id: W, isClose: v, from_entry: y, qtys: N = {} } = m;
25979
25982
  if (v && !N?.hasOwnProperty(d))
25980
25983
  continue;
25981
- const w = `${W}-${y || ""}`;
25984
+ const D = `${W}-${y || ""}`;
25982
25985
  let R = 0;
25983
25986
  N.hasOwnProperty(d) ? R = N[d] || 0 : (R = this._calcExitOrderQty(f, l, m), N[d] = R, m.qtys = N);
25984
- const D = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
25985
- if (D && (A?.push(w), s.push(D)), f -= R, f <= 0)
25987
+ const w = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
25988
+ if (w && (A?.push(D), s.push(w)), f -= R, f <= 0)
25986
25989
  break;
25987
25990
  }
25988
25991
  for (const m of this._exitOrders) {
25989
25992
  if (f <= 0)
25990
25993
  break;
25991
- const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: w = {} } = m;
25992
- if (N && !w?.hasOwnProperty(d) && y !== O)
25994
+ const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: D = {} } = m;
25995
+ if (N && !D?.hasOwnProperty(d) && y !== O)
25993
25996
  continue;
25994
25997
  const R = `${v}-${W || ""}`;
25995
25998
  if (M !== W && W || b.exitIds?.includes(R) || W === M && y < O || y >= O && b.exitIds?.includes(v))
25996
25999
  continue;
25997
- let D = 0;
25998
- w.hasOwnProperty(d) ? D = w[d] || 0 : (D = this._calcExitOrderQty(f, l, m), w[d] = D, m.qtys = w);
25999
- const B = this._orderInExitHandle(b, { exitOrder: m, qty: D }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
26000
- B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= D;
26000
+ let w = 0;
26001
+ D.hasOwnProperty(d) ? w = D[d] || 0 : (w = this._calcExitOrderQty(f, l, m), D[d] = w, m.qtys = D);
26002
+ const B = this._orderInExitHandle(b, { exitOrder: m, qty: w }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
26003
+ B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= w;
26001
26004
  }
26002
26005
  b.occupancyQty = _ - f;
26003
26006
  }
@@ -26025,8 +26028,8 @@ ${u}`), u;
26025
26028
  W && m.push({ order: e, price: W, index: v, isHighFront: q, exitInfo: { id: l, comment: d || u, qty: M, alert_message: f } });
26026
26029
  const [y, N] = this._getStopPrice(b, r, s, i, q, e);
26027
26030
  y && m.push({ order: e, price: y, index: N, isHighFront: q, exitInfo: { id: l, comment: O || u, qty: M, alert_message: f } });
26028
- const [w, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
26029
- if (w && m.push({ order: e, price: w, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
26031
+ const [D, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
26032
+ if (D && m.push({ order: e, price: D, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
26030
26033
  return this._executesSort(m), m[0];
26031
26034
  }
26032
26035
  _executesSort(e) {
@@ -26239,18 +26242,18 @@ ${u}`), u;
26239
26242
  if (M)
26240
26243
  W = i && !s.isnew ? p : o;
26241
26244
  else {
26242
- let { stop: w, limit: R } = e;
26243
- const D = w && (w - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
26245
+ let { stop: D, limit: R } = e;
26246
+ const w = D && (D - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
26244
26247
  B > 0 && R && (R -= B * this._mintick * y);
26245
26248
  const T = R && (R - o) * y <= 0;
26246
- D && T || (w && !D || R && !T) && (W = o);
26249
+ w && T || (D && !w || R && !T) && (W = o);
26247
26250
  }
26248
26251
  const N = tt(W, N1(y * b, this._mintick));
26249
26252
  if (W <= c && N >= a) {
26250
- const w = this._getOrders(O, q);
26251
- if (this._ocaGroupVerify(l, _, f), w.length) {
26253
+ const D = this._getOrders(O, q);
26254
+ if (this._ocaGroupVerify(l, _, f), D.length) {
26252
26255
  const R = this._getHisOrderSurplusQty(O, l);
26253
- if (v = this._processOrders(w, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
26256
+ if (v = this._processOrders(D, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
26254
26257
  return;
26255
26258
  }
26256
26259
  this._calcCurrentOrder({ ...e, in_price: N, in_index: r, in_time: t, in_high: c, in_low: a, qty: v });
@@ -26505,9 +26508,9 @@ ${u}`), u;
26505
26508
  _processOrder(e, t, r, i, s, o = !1, a) {
26506
26509
  const { time: c, bar_index: p } = this._variables, { low: b, high: M } = this.calcOnOrderFillsData.data || this._variables, { slippage: l = 0 } = this._options, { in_price: u, qty: O = 0, max_profit: d, trading_loss: _, direction: f, commission: A = 0, original_qty: q = 0 } = e, m = f === _1.long ? 1 : -1;
26507
26510
  if (t = t - m * l * this._mintick, r < O) {
26508
- const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, w = A * W / q;
26509
- this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: w, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
26510
- const R = (t - u) * m * W - w;
26511
+ const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, D = A * W / q;
26512
+ this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: D, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
26513
+ const R = (t - u) * m * W - D;
26511
26514
  Object.assign(e, {
26512
26515
  qty: W,
26513
26516
  profit: R,
@@ -26530,11 +26533,11 @@ ${u}`), u;
26530
26533
  this._totalChangeCapital -= y;
26531
26534
  let N = f * c / b;
26532
26535
  A += N, N += y, O = O - N, Object.assign(e, { commission: N });
26533
- const w = this._orders.reduce((R, D) => {
26534
- const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = D;
26536
+ const D = this._orders.reduce((R, w) => {
26537
+ const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = w;
26535
26538
  return R + $ * B / T;
26536
26539
  }, 0);
26537
- q += w - l;
26540
+ q += D - l;
26538
26541
  }
26539
26542
  const m = M === _1.long ? 1 : -1;
26540
26543
  let [W, v] = this._calcProfitAndLossHandle(a, c, m, p);
@@ -26698,8 +26701,8 @@ return ${f}` : f = `return ${f}`, f;
26698
26701
  let q = JSON.parse(ns(A));
26699
26702
  const m = [];
26700
26703
  q = q.map((v) => {
26701
- const { type: y, code: N, varNames: w, dependSelf: R } = v;
26702
- return y === 2 && !m.includes(w) && !R && (v.code = `let ${N}`), w && m.push(...w.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
26704
+ const { type: y, code: N, varNames: D, dependSelf: R } = v;
26705
+ return y === 2 && !m.includes(D) && !R && (v.code = `let ${N}`), D && m.push(...D.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
26703
26706
  });
26704
26707
  let W = b.map((v) => ({ ...v, isArg: !1, isPreArg: !0 }));
26705
26708
  b = [], this._getDependCodes(W, q, i, p, b), this._getStmtFuncs(i, q, p, b);
@@ -26746,8 +26749,8 @@ ${u}`), u;
26746
26749
  } = this._reqCacheDataLoc[t] || {}, N = d?.get(O);
26747
26750
  if (!N.length)
26748
26751
  return;
26749
- const w = N.slice(v);
26750
- let R = M, D = y + R;
26752
+ const D = N.slice(v);
26753
+ let R = M, w = y + R;
26751
26754
  const B = N.length - 1;
26752
26755
  if (B < 0)
26753
26756
  return;
@@ -26759,16 +26762,16 @@ ${u}`), u;
26759
26762
  };
26760
26763
  if (m > y) {
26761
26764
  let $;
26762
- if (a ? $ = this._lookaheadOnHandle(w, u, D, m, T, v, y, t, R, o) : $ = this._lookaheadOffHandle(w, u, D, m, T, v, y, t, R, l || D, o), $)
26765
+ if (a ? $ = this._lookaheadOnHandle(D, u, w, m, T, v, y, t, R, o) : $ = this._lookaheadOffHandle(D, u, w, m, T, v, y, t, R, l || w, o), $)
26763
26766
  return $;
26764
26767
  if ($ === null)
26765
26768
  return;
26766
26769
  } else if (a)
26767
- for (const [$, P] of w.entries()) {
26770
+ for (const [$, P] of D.entries()) {
26768
26771
  let { time: X, barIndex: K } = P;
26769
26772
  X = X * 1e3;
26770
- const j = w[$ + 1]?.time * 1e3 || X + m, Q = K || v + $;
26771
- if (X >= D) {
26773
+ const j = D[$ + 1]?.time * 1e3 || X + m, Q = K || v + $;
26774
+ if (X >= w) {
26772
26775
  this._reqCacheDataLoc[t] = {
26773
26776
  index: Q,
26774
26777
  periodStamp: y
@@ -26779,30 +26782,30 @@ ${u}`), u;
26779
26782
  return this._reqCacheDataLoc[t] = {
26780
26783
  index: Q,
26781
26784
  periodStamp: y
26782
- }, { ...P, barIndex: Q, nextBarTime: w[$ + 1]?.time, ...T };
26785
+ }, { ...P, barIndex: Q, nextBarTime: D[$ + 1]?.time, ...T };
26783
26786
  }
26784
26787
  else
26785
- for (const [$, P] of w.entries()) {
26788
+ for (const [$, P] of D.entries()) {
26786
26789
  let { time: X, barIndex: K } = P;
26787
26790
  X = X * 1e3;
26788
- const j = w[$ + 1]?.time * 1e3 || X + m, Q = K || v + $;
26789
- if (X > D) {
26791
+ const j = D[$ + 1]?.time * 1e3 || X + m, Q = K || v + $;
26792
+ if (X > w) {
26790
26793
  this._reqCacheDataLoc[t] = {
26791
26794
  index: Q,
26792
26795
  periodStamp: y
26793
26796
  };
26794
26797
  return;
26795
26798
  }
26796
- if (X < D && D <= j)
26799
+ if (X < w && w <= j)
26797
26800
  return this._reqCacheDataLoc[t] = {
26798
26801
  index: Q,
26799
26802
  periodStamp: y
26800
- }, { ...P, barIndex: Q, nextBarTime: w[$ + 1]?.time, ...T };
26801
- if (X >= R && X <= D && Q === T.lastBarIndex)
26803
+ }, { ...P, barIndex: Q, nextBarTime: D[$ + 1]?.time, ...T };
26804
+ if (X >= R && X <= w && Q === T.lastBarIndex)
26802
26805
  return this._reqCacheDataLoc[t] = {
26803
26806
  index: Q,
26804
26807
  periodStamp: y
26805
- }, { ...P, barIndex: Q, nextBarTime: w[$ + 1]?.time, ...T };
26808
+ }, { ...P, barIndex: Q, nextBarTime: D[$ + 1]?.time, ...T };
26806
26809
  }
26807
26810
  this._reqCacheDataLoc[t] = {
26808
26811
  index: N.length,
@@ -26951,7 +26954,7 @@ ${u}`), u;
26951
26954
  p.updateOptions({ interval: O, mintick: _, syminfo: { ...f.__syminfo, mintick: _, tickerid: d || f.tickerid, ticker: q || A || f.ticker } });
26952
26955
  for (const [W, v] of i.entries()) {
26953
26956
  const { barindex: y } = v, N = Object.assign(v, { barIndex: y || W, lastBarIndex: i[u].barindex || u, lastBarTime: i[u].time, nextBarTime: i[W + 1]?.time });
26954
- if (p.updateData(N), M.update({ barIndex: N?.barindex || 0 }), v.result = Object.assign(v.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), M.errors.length && M.errors.some((w) => w.type === D1.Error))
26957
+ if (p.updateData(N), M.update({ barIndex: N?.barindex || 0 }), v.result = Object.assign(v.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), M.errors.length && M.errors.some((D) => D.type === D1.Error))
26955
26958
  return {
26956
26959
  logs: [],
26957
26960
  errors: M.errors
@@ -27216,8 +27219,8 @@ ${u}`), u;
27216
27219
  if (a && c)
27217
27220
  q = this._hlines.get(a?.key)?.price, m = this._hlines.get(c?.key)?.price, W = "hline";
27218
27221
  else {
27219
- const v = this._plots.get(p?.key), y = this._plots.get(b?.key), N = v?.data || [], w = y?.data || [];
27220
- if (q = N[u]?.value?.[1], m = w[u]?.value?.[1], !u) {
27222
+ const v = this._plots.get(p?.key), y = this._plots.get(b?.key), N = v?.data || [], D = y?.data || [];
27223
+ if (q = N[u]?.value?.[1], m = D[u]?.value?.[1], !u) {
27221
27224
  const R = v?.force_overlay && y?.force_overlay;
27222
27225
  (v?.force_overlay || y?.force_overlay) && !R ? this._errorListener.addError(re.plotFillForceOverlayErr, t, D1.Error) : M.force_overlay = R;
27223
27226
  }
@@ -27517,7 +27520,7 @@ ${u}`), u;
27517
27520
  s.mintick = v;
27518
27521
  const y = /* @__PURE__ */ Object.create(null);
27519
27522
  self.workerStorage.set(`inputs_${u}`, W?.inputCache), self.workerStorage.set(`strategy_${u}`, W?.strategyCacheArgs), self.workerStorage.set(`indicator_${u}`, W?.indicatorCacheArgs);
27520
- const N = new Ab(u, O), w = new qb(), R = new mb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), D = new Function("_$_var", "_$_const", "_$_func", n);
27523
+ const N = new Ab(u, O), D = new qb(), R = new mb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), w = new Function("_$_var", "_$_const", "_$_func", n);
27521
27524
  let B = {
27522
27525
  request: [],
27523
27526
  requestData: [],
@@ -27538,7 +27541,7 @@ ${u}`), u;
27538
27541
  }
27539
27542
  }
27540
27543
  if (y.requestCacheData = B, self.workerStorage.set(`request_${u}`, new Map(B.request)), self.workerStorage.set(`request_${u}_data`, new Map(B.requestData)), self.workerStorage.set(`request_${u}_list`, new Map(B.requestList)), self.workerStorage.set(`request_${u}_tmp`, new Map(B.requestTmp)), yB(M, u, R, { newCacheData: y, cacheData: W }), i)
27541
- D(N, w, R);
27544
+ w(N, D, R);
27542
27545
  else if (f && f.length) {
27543
27546
  const X = f.length - 1;
27544
27547
  N.__isFirstRun = t, N.updateOptions({ interval: A, mintick: v, chart: c, syminfo: s }), R.updateOptions({ inputs: a, strategy: p });
@@ -27563,10 +27566,10 @@ ${u}`), u;
27563
27566
  }]
27564
27567
  };
27565
27568
  !t && (A0 || A0 === 0) && m.push(A0);
27566
- const q0 = await pO(N, R, w, D, b, l0, Q, { newCacheData: y, cacheData: W }, K, j, r0);
27569
+ const q0 = await pO(N, R, D, w, b, l0, Q, { newCacheData: y, cacheData: W }, K, j, r0);
27567
27570
  if (q0)
27568
27571
  return q0;
27569
- l0 = Object.assign(_0, { barIndex: A0 || G, lastBarIndex: f[X].barindex || X, lastBarTime: f[X].time, nextBarTime: f[G + 1]?.time }), rf(N, R, w, D, b, l0, K);
27572
+ l0 = Object.assign(_0, { barIndex: A0 || G, lastBarIndex: f[X].barindex || X, lastBarTime: f[X].time, nextBarTime: f[G + 1]?.time }), rf(N, R, D, w, b, l0, K);
27570
27573
  const h0 = R.errors;
27571
27574
  if (h0.length && h0.some((V0) => V0.type === D1.Error))
27572
27575
  return ys(u), {
@@ -27575,7 +27578,7 @@ ${u}`), u;
27575
27578
  };
27576
27579
  }
27577
27580
  if (K?.size) {
27578
- const G = await pO(N, R, w, D, b, l0, Q, { newCacheData: y, cacheData: W }, K, j, r0);
27581
+ const G = await pO(N, R, D, w, b, l0, Q, { newCacheData: y, cacheData: W }, K, j, r0);
27579
27582
  if (G)
27580
27583
  return ys(u), G;
27581
27584
  }
@@ -27642,15 +27645,15 @@ ${u}`), u;
27642
27645
  const u = [], O = [];
27643
27646
  for (const [_, f] of c) {
27644
27647
  const { symbol: A = "", timeframe: q, id: m, calc_bars_count: W, ignore_invalid_symbol: v, originTimeframe: y } = f, N = `${A}:${q}`;
27645
- let w = 0;
27648
+ let D = 0;
27646
27649
  const R = p?.get(m);
27647
- R && (w = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: w });
27648
- const [D, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3;
27649
- u.push(ks({ params: [{ exchange: B ? D : "FX", symbol: B || D, limit: W || T, start: w, end: 0, period: q }] }).json());
27650
+ R && (D = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: D });
27651
+ const [w, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3;
27652
+ u.push(ks({ params: [{ exchange: B ? w : "FX", symbol: B || w, limit: W || T, start: D, end: 0, period: q }] }).json());
27650
27653
  }
27651
27654
  const d = await Promise.all(u);
27652
27655
  for (const [_, f] of d.entries()) {
27653
- const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: w } = O[_];
27656
+ const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: D } = O[_];
27654
27657
  if (A !== 200 && !y)
27655
27658
  return {
27656
27659
  status: 1,
@@ -27664,13 +27667,13 @@ ${u}`), u;
27664
27667
  }]
27665
27668
  };
27666
27669
  const R = q?.[v]?.list?.reverse() || [];
27667
- R[0]?.time === w && N.splice(N.length - 1);
27668
- const D = b?.get(W);
27669
- if (D) {
27670
+ R[0]?.time === D && N.splice(N.length - 1);
27671
+ const w = b?.get(W);
27672
+ if (w) {
27670
27673
  const B = Number(q?.[v]?.tick_size) || 1e-5;
27671
- D.mintick = B;
27674
+ w.mintick = B;
27672
27675
  }
27673
- p?.set(W, N.concat(R));
27676
+ R.length && (R[R.length - 1].isrealtime = !0), p?.set(W, N.concat(R));
27674
27677
  }
27675
27678
  c?.clear();
27676
27679
  }
@@ -27705,18 +27708,21 @@ ${u}`), u;
27705
27708
  if (A.length) {
27706
27709
  let q = A.length - 1;
27707
27710
  const m = A[q].time;
27708
- if (f = f.filter((R) => R.time >= m), f[0]?.time === m) {
27709
- const R = A.pop();
27710
- q -= 1, Object.assign(f[0], { result: R?.result });
27711
+ f = f.filter((w) => w.time >= m);
27712
+ const W = f[0]?.time;
27713
+ if (W === m) {
27714
+ const w = A.pop();
27715
+ q -= 1, Object.assign(f[0], { result: w?.result });
27711
27716
  }
27712
- for (const R of f)
27713
- q += 1, R.barindex = q;
27717
+ for (const w of f)
27718
+ q += 1, w.barindex = q;
27714
27719
  if (!f.length)
27715
27720
  continue;
27716
- const W = c?.get(O)?.mintick || 1e-5;
27721
+ W > m && f.push(Object.assign(A[q], { isrealtime: !1 })), f[f.length - 1].isrealtime = !0;
27722
+ const v = c?.get(O)?.mintick || 1e-5;
27717
27723
  o?.set(O, A.concat(f));
27718
- const { varCacheData: v, funcCacheData: y } = s[b] || {}, { errors: N = [], cacheData: w } = t.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: v, funcCacheData: y, mintick: W }), u, d) || {};
27719
- i.requestCacheData[b] = w, t.addErrors(N, b);
27724
+ const { varCacheData: y, funcCacheData: N } = s[b] || {}, { errors: D = [], cacheData: R } = t.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: y, funcCacheData: N, mintick: v }), u, d) || {};
27725
+ i.requestCacheData[b] = R, t.addErrors(D, b);
27720
27726
  } else
27721
27727
  o?.set(O, A.concat(f));
27722
27728
  }
@@ -28704,14 +28710,14 @@ ${u}`), u;
28704
28710
  if (u < e)
28705
28711
  m = { low: O, high: d, close: _, PDMS: (p || 0) + f, NDMS: (b || 0) + A, TRS: (M || 0) + q, count: u + 1, value: [void 0, void 0, void 0] };
28706
28712
  else {
28707
- const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, w = v / y * 100, R = Math.abs((N - w) / (N + w)) * 100;
28708
- let D = R, B = [N, w, void 0];
28713
+ const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, D = v / y * 100, R = Math.abs((N - D) / (N + D)) * 100;
28714
+ let w = R, B = [N, D, void 0];
28709
28715
  if (u + 1 - e < t) {
28710
28716
  const T = u + 1 - e;
28711
- D = ((l || 0) * (T - 1) + R) / T;
28717
+ w = ((l || 0) * (T - 1) + R) / T;
28712
28718
  } else
28713
- D = (l * (t - 1) + R) / t, B = [N, w, D];
28714
- m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: D, count: u + 1, value: B };
28719
+ w = (l * (t - 1) + R) / t, B = [N, D, w];
28720
+ m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: w, count: u + 1, value: B };
28715
28721
  }
28716
28722
  return this._cacheDataHandle(i, m), m.value;
28717
28723
  }
@@ -30641,7 +30647,7 @@ ${cf}`);
30641
30647
  strassen3x3(e) {
30642
30648
  e = v0.checkMatrix(e);
30643
30649
  let t = new v0(3, 3);
30644
- const r = this.get(0, 0), i = this.get(0, 1), s = this.get(0, 2), o = this.get(1, 0), a = this.get(1, 1), c = this.get(1, 2), p = this.get(2, 0), b = this.get(2, 1), M = this.get(2, 2), l = e.get(0, 0), u = e.get(0, 1), O = e.get(0, 2), d = e.get(1, 0), _ = e.get(1, 1), f = e.get(1, 2), A = e.get(2, 0), q = e.get(2, 1), m = e.get(2, 2), W = (r + i + s - o - a - b - M) * _, v = (r - o) * (-u + _), y = a * (-l + u + d - _ - f - A + m), N = (-r + o + a) * (l - u + _), w = (o + a) * (-l + u), R = r * l, D = (-r + p + b) * (l - O + f), B = (-r + p) * (O - f), T = (p + b) * (-l + O), $ = (r + i + s - a - c - p - b) * f, P = b * (-l + O + d - _ - f - A + q), X = (-s + b + M) * (_ + A - q), K = (s - M) * (_ - q), j = s * A, Q = (b + M) * (-A + q), n0 = (-s + a + c) * (f + A - m), l0 = (s - c) * (f - m), r0 = (a + c) * (-A + m), G = i * d, _0 = c * q, A0 = o * O, q0 = p * u, h0 = M * m, V0 = R + j + G, G0 = W + N + w + R + X + j + Q, c1 = R + D + T + $ + j + n0 + r0, Z0 = v + y + N + R + j + n0 + l0, T0 = v + N + w + R + _0, F = j + n0 + l0 + r0 + A0, J = R + D + B + P + X + K + j, t0 = X + K + j + Q + q0, s0 = R + D + B + T + h0;
30650
+ const r = this.get(0, 0), i = this.get(0, 1), s = this.get(0, 2), o = this.get(1, 0), a = this.get(1, 1), c = this.get(1, 2), p = this.get(2, 0), b = this.get(2, 1), M = this.get(2, 2), l = e.get(0, 0), u = e.get(0, 1), O = e.get(0, 2), d = e.get(1, 0), _ = e.get(1, 1), f = e.get(1, 2), A = e.get(2, 0), q = e.get(2, 1), m = e.get(2, 2), W = (r + i + s - o - a - b - M) * _, v = (r - o) * (-u + _), y = a * (-l + u + d - _ - f - A + m), N = (-r + o + a) * (l - u + _), D = (o + a) * (-l + u), R = r * l, w = (-r + p + b) * (l - O + f), B = (-r + p) * (O - f), T = (p + b) * (-l + O), $ = (r + i + s - a - c - p - b) * f, P = b * (-l + O + d - _ - f - A + q), X = (-s + b + M) * (_ + A - q), K = (s - M) * (_ - q), j = s * A, Q = (b + M) * (-A + q), n0 = (-s + a + c) * (f + A - m), l0 = (s - c) * (f - m), r0 = (a + c) * (-A + m), G = i * d, _0 = c * q, A0 = o * O, q0 = p * u, h0 = M * m, V0 = R + j + G, G0 = W + N + D + R + X + j + Q, c1 = R + w + T + $ + j + n0 + r0, Z0 = v + y + N + R + j + n0 + l0, T0 = v + N + D + R + _0, F = j + n0 + l0 + r0 + A0, J = R + w + B + P + X + K + j, t0 = X + K + j + Q + q0, s0 = R + w + B + T + h0;
30645
30651
  return t.set(0, 0, V0), t.set(0, 1, G0), t.set(0, 2, c1), t.set(1, 0, Z0), t.set(1, 1, T0), t.set(1, 2, F), t.set(2, 0, J), t.set(2, 1, t0), t.set(2, 2, s0), t;
30646
30652
  }
30647
30653
  mmulStrassen(e) {
@@ -30665,12 +30671,12 @@ ${cf}`);
30665
30671
  if (u <= 512 || O <= 512)
30666
30672
  return M.mmul(l);
30667
30673
  u % 2 === 1 && O % 2 === 1 ? (M = a(M, u + 1, O + 1), l = a(l, u + 1, O + 1)) : u % 2 === 1 ? (M = a(M, u + 1, O), l = a(l, u + 1, O)) : O % 2 === 1 && (M = a(M, u, O + 1), l = a(l, u, O + 1));
30668
- let d = parseInt(M.rows / 2, 10), _ = parseInt(M.columns / 2, 10), f = M.subMatrix(0, d - 1, 0, _ - 1), A = l.subMatrix(0, d - 1, 0, _ - 1), q = M.subMatrix(0, d - 1, _, M.columns - 1), m = l.subMatrix(0, d - 1, _, l.columns - 1), W = M.subMatrix(d, M.rows - 1, 0, _ - 1), v = l.subMatrix(d, l.rows - 1, 0, _ - 1), y = M.subMatrix(d, M.rows - 1, _, M.columns - 1), N = l.subMatrix(d, l.rows - 1, _, l.columns - 1), w = b(
30674
+ let d = parseInt(M.rows / 2, 10), _ = parseInt(M.columns / 2, 10), f = M.subMatrix(0, d - 1, 0, _ - 1), A = l.subMatrix(0, d - 1, 0, _ - 1), q = M.subMatrix(0, d - 1, _, M.columns - 1), m = l.subMatrix(0, d - 1, _, l.columns - 1), W = M.subMatrix(d, M.rows - 1, 0, _ - 1), v = l.subMatrix(d, l.rows - 1, 0, _ - 1), y = M.subMatrix(d, M.rows - 1, _, M.columns - 1), N = l.subMatrix(d, l.rows - 1, _, l.columns - 1), D = b(
30669
30675
  M1.add(f, y),
30670
30676
  M1.add(A, N),
30671
30677
  d,
30672
30678
  _
30673
- ), R = b(M1.add(W, y), A, d, _), D = b(f, M1.sub(m, N), d, _), B = b(y, M1.sub(v, A), d, _), T = b(M1.add(f, q), N, d, _), $ = b(
30679
+ ), R = b(M1.add(W, y), A, d, _), w = b(f, M1.sub(m, N), d, _), B = b(y, M1.sub(v, A), d, _), T = b(M1.add(f, q), N, d, _), $ = b(
30674
30680
  M1.sub(W, f),
30675
30681
  M1.add(A, m),
30676
30682
  d,
@@ -30680,10 +30686,10 @@ ${cf}`);
30680
30686
  M1.add(v, N),
30681
30687
  d,
30682
30688
  _
30683
- ), X = M1.add(w, B);
30689
+ ), X = M1.add(D, B);
30684
30690
  X.sub(T), X.add(P);
30685
- let K = M1.add(D, T), j = M1.add(R, B), Q = M1.sub(w, R);
30686
- Q.add(D), Q.add($);
30691
+ let K = M1.add(w, T), j = M1.add(R, B), Q = M1.sub(D, R);
30692
+ Q.add(w), Q.add($);
30687
30693
  let n0 = M1.zeros(2 * X.rows, 2 * X.columns);
30688
30694
  return n0 = n0.setSubMatrix(X, 0, 0), n0 = n0.setSubMatrix(K, X.rows, 0), n0 = n0.setSubMatrix(j, 0, X.columns), n0 = n0.setSubMatrix(Q, X.rows, X.columns), n0.subMatrix(0, u - 1, 0, O - 1);
30689
30695
  }
@@ -31687,124 +31693,124 @@ ${cf}`);
31687
31693
  for (let R = 0; R < v; R++) {
31688
31694
  if (R < m) {
31689
31695
  O[R] = 0;
31690
- for (let D = R; D < r; D++)
31691
- O[R] = pi(O[R], M.get(D, R));
31696
+ for (let w = R; w < r; w++)
31697
+ O[R] = pi(O[R], M.get(w, R));
31692
31698
  if (O[R] !== 0) {
31693
31699
  M.get(R, R) < 0 && (O[R] = -O[R]);
31694
- for (let D = R; D < r; D++)
31695
- M.set(D, R, M.get(D, R) / O[R]);
31700
+ for (let w = R; w < r; w++)
31701
+ M.set(w, R, M.get(w, R) / O[R]);
31696
31702
  M.set(R, R, M.get(R, R) + 1);
31697
31703
  }
31698
31704
  O[R] = -O[R];
31699
31705
  }
31700
- for (let D = R + 1; D < i; D++) {
31706
+ for (let w = R + 1; w < i; w++) {
31701
31707
  if (R < m && O[R] !== 0) {
31702
31708
  let B = 0;
31703
31709
  for (let T = R; T < r; T++)
31704
- B += M.get(T, R) * M.get(T, D);
31710
+ B += M.get(T, R) * M.get(T, w);
31705
31711
  B = -B / M.get(R, R);
31706
31712
  for (let T = R; T < r; T++)
31707
- M.set(T, D, M.get(T, D) + B * M.get(T, R));
31713
+ M.set(T, w, M.get(T, w) + B * M.get(T, R));
31708
31714
  }
31709
- f[D] = M.get(R, D);
31715
+ f[w] = M.get(R, w);
31710
31716
  }
31711
31717
  if (c && R < m)
31712
- for (let D = R; D < r; D++)
31713
- d.set(D, R, M.get(D, R));
31718
+ for (let w = R; w < r; w++)
31719
+ d.set(w, R, M.get(w, R));
31714
31720
  if (R < W) {
31715
31721
  f[R] = 0;
31716
- for (let D = R + 1; D < i; D++)
31717
- f[R] = pi(f[R], f[D]);
31722
+ for (let w = R + 1; w < i; w++)
31723
+ f[R] = pi(f[R], f[w]);
31718
31724
  if (f[R] !== 0) {
31719
31725
  f[R + 1] < 0 && (f[R] = 0 - f[R]);
31720
- for (let D = R + 1; D < i; D++)
31721
- f[D] /= f[R];
31726
+ for (let w = R + 1; w < i; w++)
31727
+ f[w] /= f[R];
31722
31728
  f[R + 1] += 1;
31723
31729
  }
31724
31730
  if (f[R] = -f[R], R + 1 < r && f[R] !== 0) {
31725
- for (let D = R + 1; D < r; D++)
31726
- A[D] = 0;
31727
- for (let D = R + 1; D < r; D++)
31731
+ for (let w = R + 1; w < r; w++)
31732
+ A[w] = 0;
31733
+ for (let w = R + 1; w < r; w++)
31728
31734
  for (let B = R + 1; B < i; B++)
31729
- A[D] += f[B] * M.get(D, B);
31730
- for (let D = R + 1; D < i; D++) {
31731
- let B = -f[D] / f[R + 1];
31735
+ A[w] += f[B] * M.get(w, B);
31736
+ for (let w = R + 1; w < i; w++) {
31737
+ let B = -f[w] / f[R + 1];
31732
31738
  for (let T = R + 1; T < r; T++)
31733
- M.set(T, D, M.get(T, D) + B * A[T]);
31739
+ M.set(T, w, M.get(T, w) + B * A[T]);
31734
31740
  }
31735
31741
  }
31736
31742
  if (p)
31737
- for (let D = R + 1; D < i; D++)
31738
- _.set(D, R, f[D]);
31743
+ for (let w = R + 1; w < i; w++)
31744
+ _.set(w, R, f[w]);
31739
31745
  }
31740
31746
  }
31741
31747
  let y = Math.min(i, r + 1);
31742
31748
  if (m < i && (O[m] = M.get(m, m)), r < y && (O[y - 1] = 0), W + 1 < y && (f[W] = M.get(W, y - 1)), f[y - 1] = 0, c) {
31743
31749
  for (let R = m; R < l; R++) {
31744
- for (let D = 0; D < r; D++)
31745
- d.set(D, R, 0);
31750
+ for (let w = 0; w < r; w++)
31751
+ d.set(w, R, 0);
31746
31752
  d.set(R, R, 1);
31747
31753
  }
31748
31754
  for (let R = m - 1; R >= 0; R--)
31749
31755
  if (O[R] !== 0) {
31750
- for (let D = R + 1; D < l; D++) {
31756
+ for (let w = R + 1; w < l; w++) {
31751
31757
  let B = 0;
31752
31758
  for (let T = R; T < r; T++)
31753
- B += d.get(T, R) * d.get(T, D);
31759
+ B += d.get(T, R) * d.get(T, w);
31754
31760
  B = -B / d.get(R, R);
31755
31761
  for (let T = R; T < r; T++)
31756
- d.set(T, D, d.get(T, D) + B * d.get(T, R));
31762
+ d.set(T, w, d.get(T, w) + B * d.get(T, R));
31757
31763
  }
31758
- for (let D = R; D < r; D++)
31759
- d.set(D, R, -d.get(D, R));
31764
+ for (let w = R; w < r; w++)
31765
+ d.set(w, R, -d.get(w, R));
31760
31766
  d.set(R, R, 1 + d.get(R, R));
31761
- for (let D = 0; D < R - 1; D++)
31762
- d.set(D, R, 0);
31767
+ for (let w = 0; w < R - 1; w++)
31768
+ d.set(w, R, 0);
31763
31769
  } else {
31764
- for (let D = 0; D < r; D++)
31765
- d.set(D, R, 0);
31770
+ for (let w = 0; w < r; w++)
31771
+ d.set(w, R, 0);
31766
31772
  d.set(R, R, 1);
31767
31773
  }
31768
31774
  }
31769
31775
  if (p)
31770
31776
  for (let R = i - 1; R >= 0; R--) {
31771
31777
  if (R < W && f[R] !== 0)
31772
- for (let D = R + 1; D < i; D++) {
31778
+ for (let w = R + 1; w < i; w++) {
31773
31779
  let B = 0;
31774
31780
  for (let T = R + 1; T < i; T++)
31775
- B += _.get(T, R) * _.get(T, D);
31781
+ B += _.get(T, R) * _.get(T, w);
31776
31782
  B = -B / _.get(R + 1, R);
31777
31783
  for (let T = R + 1; T < i; T++)
31778
- _.set(T, D, _.get(T, D) + B * _.get(T, R));
31784
+ _.set(T, w, _.get(T, w) + B * _.get(T, R));
31779
31785
  }
31780
- for (let D = 0; D < i; D++)
31781
- _.set(D, R, 0);
31786
+ for (let w = 0; w < i; w++)
31787
+ _.set(w, R, 0);
31782
31788
  _.set(R, R, 1);
31783
31789
  }
31784
- let N = y - 1, w = Number.EPSILON;
31790
+ let N = y - 1, D = Number.EPSILON;
31785
31791
  for (; y > 0; ) {
31786
- let R, D;
31792
+ let R, w;
31787
31793
  for (R = y - 2; R >= -1 && R !== -1; R--) {
31788
- const B = Number.MIN_VALUE + w * Math.abs(O[R] + Math.abs(O[R + 1]));
31794
+ const B = Number.MIN_VALUE + D * Math.abs(O[R] + Math.abs(O[R + 1]));
31789
31795
  if (Math.abs(f[R]) <= B || Number.isNaN(f[R])) {
31790
31796
  f[R] = 0;
31791
31797
  break;
31792
31798
  }
31793
31799
  }
31794
31800
  if (R === y - 2)
31795
- D = 4;
31801
+ w = 4;
31796
31802
  else {
31797
31803
  let B;
31798
31804
  for (B = y - 1; B >= R && B !== R; B--) {
31799
31805
  let T = (B !== y ? Math.abs(f[B]) : 0) + (B !== R + 1 ? Math.abs(f[B - 1]) : 0);
31800
- if (Math.abs(O[B]) <= w * T) {
31806
+ if (Math.abs(O[B]) <= D * T) {
31801
31807
  O[B] = 0;
31802
31808
  break;
31803
31809
  }
31804
31810
  }
31805
- B === R ? D = 3 : B === y - 1 ? D = 1 : (D = 2, R = B);
31811
+ B === R ? w = 3 : B === y - 1 ? w = 1 : (w = 2, R = B);
31806
31812
  }
31807
- switch (R++, D) {
31813
+ switch (R++, w) {
31808
31814
  case 1: {
31809
31815
  let B = f[y - 2];
31810
31816
  f[y - 2] = 0;
@@ -32183,7 +32189,7 @@ ${cf}`);
32183
32189
  }
32184
32190
  }
32185
32191
  function wx(n, e, t, r, i) {
32186
- let s = n - 1, o = 0, a = n - 1, c = Number.EPSILON, p = 0, b = 0, M = 0, l = 0, u = 0, O = 0, d = 0, _ = 0, f, A, q, m, W, v, y, N, w, R, D, B, T, $, P;
32192
+ let s = n - 1, o = 0, a = n - 1, c = Number.EPSILON, p = 0, b = 0, M = 0, l = 0, u = 0, O = 0, d = 0, _ = 0, f, A, q, m, W, v, y, N, D, R, w, B, T, $, P;
32187
32193
  for (f = 0; f < n; f++)
32188
32194
  for ((f < o || f > a) && (t[f] = i.get(f, f), e[f] = 0), A = Math.max(f - 1, 0); A < n; A++)
32189
32195
  b = b + Math.abs(i.get(f, A));
@@ -32204,28 +32210,28 @@ ${cf}`);
32204
32210
  t[s - 1] = N + M, t[s] = N + M, e[s - 1] = d, e[s] = -d;
32205
32211
  s = s - 2, _ = 0;
32206
32212
  } else {
32207
- if (N = i.get(s, s), w = 0, y = 0, m < s && (w = i.get(s - 1, s - 1), y = i.get(s, s - 1) * i.get(s - 1, s)), _ === 10) {
32213
+ if (N = i.get(s, s), D = 0, y = 0, m < s && (D = i.get(s - 1, s - 1), y = i.get(s, s - 1) * i.get(s - 1, s)), _ === 10) {
32208
32214
  for (p += N, f = o; f <= s; f++)
32209
32215
  i.set(f, f, i.get(f, f) - N);
32210
- O = Math.abs(i.get(s, s - 1)) + Math.abs(i.get(s - 1, s - 2)), N = w = 0.75 * O, y = -0.4375 * O * O;
32216
+ O = Math.abs(i.get(s, s - 1)) + Math.abs(i.get(s - 1, s - 2)), N = D = 0.75 * O, y = -0.4375 * O * O;
32211
32217
  }
32212
- if (_ === 30 && (O = (w - N) / 2, O = O * O + y, O > 0)) {
32213
- for (O = Math.sqrt(O), w < N && (O = -O), O = N - y / ((w - N) / 2 + O), f = o; f <= s; f++)
32218
+ if (_ === 30 && (O = (D - N) / 2, O = O * O + y, O > 0)) {
32219
+ for (O = Math.sqrt(O), D < N && (O = -O), O = N - y / ((D - N) / 2 + O), f = o; f <= s; f++)
32214
32220
  i.set(f, f, i.get(f, f) - O);
32215
- p += O, N = w = y = 0.964;
32221
+ p += O, N = D = y = 0.964;
32216
32222
  }
32217
- for (_ = _ + 1, W = s - 2; W >= m && (d = i.get(W, W), u = N - d, O = w - d, M = (u * O - y) / i.get(W + 1, W) + i.get(W, W + 1), l = i.get(W + 1, W + 1) - d - u - O, u = i.get(W + 2, W + 1), O = Math.abs(M) + Math.abs(l) + Math.abs(u), M = M / O, l = l / O, u = u / O, !(W === m || Math.abs(i.get(W, W - 1)) * (Math.abs(l) + Math.abs(u)) < c * (Math.abs(M) * (Math.abs(i.get(W - 1, W - 1)) + Math.abs(d) + Math.abs(i.get(W + 1, W + 1)))))); )
32223
+ for (_ = _ + 1, W = s - 2; W >= m && (d = i.get(W, W), u = N - d, O = D - d, M = (u * O - y) / i.get(W + 1, W) + i.get(W, W + 1), l = i.get(W + 1, W + 1) - d - u - O, u = i.get(W + 2, W + 1), O = Math.abs(M) + Math.abs(l) + Math.abs(u), M = M / O, l = l / O, u = u / O, !(W === m || Math.abs(i.get(W, W - 1)) * (Math.abs(l) + Math.abs(u)) < c * (Math.abs(M) * (Math.abs(i.get(W - 1, W - 1)) + Math.abs(d) + Math.abs(i.get(W + 1, W + 1)))))); )
32218
32224
  W--;
32219
32225
  for (f = W + 2; f <= s; f++)
32220
32226
  i.set(f, f - 2, 0), f > W + 2 && i.set(f, f - 3, 0);
32221
32227
  for (q = W; q <= s - 1 && ($ = q !== s - 1, q !== W && (M = i.get(q, q - 1), l = i.get(q + 1, q - 1), u = $ ? i.get(q + 2, q - 1) : 0, N = Math.abs(M) + Math.abs(l) + Math.abs(u), N !== 0 && (M = M / N, l = l / N, u = u / N)), N !== 0); q++)
32222
32228
  if (O = Math.sqrt(M * M + l * l + u * u), M < 0 && (O = -O), O !== 0) {
32223
- for (q !== W ? i.set(q, q - 1, -O * N) : m !== W && i.set(q, q - 1, -i.get(q, q - 1)), M = M + O, N = M / O, w = l / O, d = u / O, l = l / M, u = u / M, A = q; A < n; A++)
32224
- M = i.get(q, A) + l * i.get(q + 1, A), $ && (M = M + u * i.get(q + 2, A), i.set(q + 2, A, i.get(q + 2, A) - M * d)), i.set(q, A, i.get(q, A) - M * N), i.set(q + 1, A, i.get(q + 1, A) - M * w);
32229
+ for (q !== W ? i.set(q, q - 1, -O * N) : m !== W && i.set(q, q - 1, -i.get(q, q - 1)), M = M + O, N = M / O, D = l / O, d = u / O, l = l / M, u = u / M, A = q; A < n; A++)
32230
+ M = i.get(q, A) + l * i.get(q + 1, A), $ && (M = M + u * i.get(q + 2, A), i.set(q + 2, A, i.get(q + 2, A) - M * d)), i.set(q, A, i.get(q, A) - M * N), i.set(q + 1, A, i.get(q + 1, A) - M * D);
32225
32231
  for (f = 0; f <= Math.min(s, q + 3); f++)
32226
- M = N * i.get(f, q) + w * i.get(f, q + 1), $ && (M = M + d * i.get(f, q + 2), i.set(f, q + 2, i.get(f, q + 2) - M * u)), i.set(f, q, i.get(f, q) - M), i.set(f, q + 1, i.get(f, q + 1) - M * l);
32232
+ M = N * i.get(f, q) + D * i.get(f, q + 1), $ && (M = M + d * i.get(f, q + 2), i.set(f, q + 2, i.get(f, q + 2) - M * u)), i.set(f, q, i.get(f, q) - M), i.set(f, q + 1, i.get(f, q + 1) - M * l);
32227
32233
  for (f = o; f <= a; f++)
32228
- M = N * r.get(f, q) + w * r.get(f, q + 1), $ && (M = M + d * r.get(f, q + 2), r.set(f, q + 2, r.get(f, q + 2) - M * u)), r.set(f, q, r.get(f, q) - M), r.set(f, q + 1, r.get(f, q + 1) - M * l);
32234
+ M = N * r.get(f, q) + D * r.get(f, q + 1), $ && (M = M + d * r.get(f, q + 2), r.set(f, q + 2, r.get(f, q + 2) - M * u)), r.set(f, q, r.get(f, q) - M), r.set(f, q + 1, r.get(f, q + 1) - M * l);
32229
32235
  }
32230
32236
  }
32231
32237
  }
@@ -32237,23 +32243,23 @@ ${cf}`);
32237
32243
  u = u + i.get(f, A) * i.get(A, s);
32238
32244
  if (e[f] < 0)
32239
32245
  d = y, O = u;
32240
- else if (m = f, e[f] === 0 ? i.set(f, s, y !== 0 ? -u / y : -u / (c * b)) : (N = i.get(f, f + 1), w = i.get(f + 1, f), l = (t[f] - M) * (t[f] - M) + e[f] * e[f], v = (N * O - d * u) / l, i.set(f, s, v), i.set(
32246
+ else if (m = f, e[f] === 0 ? i.set(f, s, y !== 0 ? -u / y : -u / (c * b)) : (N = i.get(f, f + 1), D = i.get(f + 1, f), l = (t[f] - M) * (t[f] - M) + e[f] * e[f], v = (N * O - d * u) / l, i.set(f, s, v), i.set(
32241
32247
  f + 1,
32242
32248
  s,
32243
- Math.abs(N) > Math.abs(d) ? (-u - y * v) / N : (-O - w * v) / d
32249
+ Math.abs(N) > Math.abs(d) ? (-u - y * v) / N : (-O - D * v) / d
32244
32250
  )), v = Math.abs(i.get(f, s)), c * v * v > 1)
32245
32251
  for (A = f; A <= s; A++)
32246
32252
  i.set(A, s, i.get(A, s) / v);
32247
32253
  }
32248
32254
  else if (l < 0)
32249
32255
  for (m = s - 1, Math.abs(i.get(s, s - 1)) > Math.abs(i.get(s - 1, s)) ? (i.set(s - 1, s - 1, l / i.get(s, s - 1)), i.set(s - 1, s, -(i.get(s, s) - M) / i.get(s, s - 1))) : (P = wa(0, -i.get(s - 1, s), i.get(s - 1, s - 1) - M, l), i.set(s - 1, s - 1, P[0]), i.set(s - 1, s, P[1])), i.set(s, s - 1, 0), i.set(s, s, 1), f = s - 2; f >= 0; f--) {
32250
- for (R = 0, D = 0, A = m; A <= s; A++)
32251
- R = R + i.get(f, A) * i.get(A, s - 1), D = D + i.get(f, A) * i.get(A, s);
32256
+ for (R = 0, w = 0, A = m; A <= s; A++)
32257
+ R = R + i.get(f, A) * i.get(A, s - 1), w = w + i.get(f, A) * i.get(A, s);
32252
32258
  if (y = i.get(f, f) - M, e[f] < 0)
32253
- d = y, u = R, O = D;
32254
- else if (m = f, e[f] === 0 ? (P = wa(-R, -D, y, l), i.set(f, s - 1, P[0]), i.set(f, s, P[1])) : (N = i.get(f, f + 1), w = i.get(f + 1, f), B = (t[f] - M) * (t[f] - M) + e[f] * e[f] - l * l, T = (t[f] - M) * 2 * l, B === 0 && T === 0 && (B = c * b * (Math.abs(y) + Math.abs(l) + Math.abs(N) + Math.abs(w) + Math.abs(d))), P = wa(
32255
- N * u - d * R + l * D,
32256
- N * O - d * D - l * R,
32259
+ d = y, u = R, O = w;
32260
+ else if (m = f, e[f] === 0 ? (P = wa(-R, -w, y, l), i.set(f, s - 1, P[0]), i.set(f, s, P[1])) : (N = i.get(f, f + 1), D = i.get(f + 1, f), B = (t[f] - M) * (t[f] - M) + e[f] * e[f] - l * l, T = (t[f] - M) * 2 * l, B === 0 && T === 0 && (B = c * b * (Math.abs(y) + Math.abs(l) + Math.abs(N) + Math.abs(D) + Math.abs(d))), P = wa(
32261
+ N * u - d * R + l * w,
32262
+ N * O - d * w - l * R,
32257
32263
  B,
32258
32264
  T
32259
32265
  ), i.set(f, s - 1, P[0]), i.set(f, s, P[1]), Math.abs(N) > Math.abs(d) + Math.abs(l) ? (i.set(
@@ -32263,10 +32269,10 @@ ${cf}`);
32263
32269
  ), i.set(
32264
32270
  f + 1,
32265
32271
  s,
32266
- (-D - y * i.get(f, s) - l * i.get(f, s - 1)) / N
32272
+ (-w - y * i.get(f, s) - l * i.get(f, s - 1)) / N
32267
32273
  )) : (P = wa(
32268
- -u - w * i.get(f, s - 1),
32269
- -O - w * i.get(f, s),
32274
+ -u - D * i.get(f, s - 1),
32275
+ -O - D * i.get(f, s),
32270
32276
  d,
32271
32277
  l
32272
32278
  ), i.set(f + 1, s - 1, P[0]), i.set(f + 1, s, P[1]))), v = Math.max(Math.abs(i.get(f, s - 1)), Math.abs(i.get(f, s))), c * v * v > 1)
@@ -35438,26 +35444,26 @@ ${cf}`);
35438
35444
  const { id: W, isClose: v, from_entry: y, qtys: N = {} } = m;
35439
35445
  if (v && !N?.hasOwnProperty(d))
35440
35446
  continue;
35441
- const w = `${W}-${y || ""}`;
35447
+ const D = `${W}-${y || ""}`;
35442
35448
  let R = 0;
35443
35449
  N.hasOwnProperty(d) ? R = N[d] || 0 : (R = this._calcExitOrderQty(f, l, m), N[d] = R, m.qtys = N);
35444
- const D = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
35445
- if (D && (A?.push(w), s.push(D)), f -= R, f <= 0)
35450
+ const w = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
35451
+ if (w && (A?.push(D), s.push(w)), f -= R, f <= 0)
35446
35452
  break;
35447
35453
  }
35448
35454
  for (const m of this._exitOrders) {
35449
35455
  if (f <= 0)
35450
35456
  break;
35451
- const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: w = {} } = m;
35452
- if (N && !w?.hasOwnProperty(d) && y !== O)
35457
+ const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: D = {} } = m;
35458
+ if (N && !D?.hasOwnProperty(d) && y !== O)
35453
35459
  continue;
35454
35460
  const R = `${v}-${W || ""}`;
35455
35461
  if (M !== W && W || b.exitIds?.includes(R) || W === M && y < O || y >= O && b.exitIds?.includes(v))
35456
35462
  continue;
35457
- let D = 0;
35458
- w.hasOwnProperty(d) ? D = w[d] || 0 : (D = this._calcExitOrderQty(f, l, m), w[d] = D, m.qtys = w);
35459
- const B = this._orderInExitHandle(b, { exitOrder: m, qty: D }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
35460
- B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= D;
35463
+ let w = 0;
35464
+ D.hasOwnProperty(d) ? w = D[d] || 0 : (w = this._calcExitOrderQty(f, l, m), D[d] = w, m.qtys = D);
35465
+ const B = this._orderInExitHandle(b, { exitOrder: m, qty: w }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
35466
+ B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= w;
35461
35467
  }
35462
35468
  b.occupancyQty = _ - f;
35463
35469
  }
@@ -35485,8 +35491,8 @@ ${cf}`);
35485
35491
  W && m.push({ order: e, price: W, index: v, isHighFront: q, exitInfo: { id: l, comment: d || u, qty: M, alert_message: f } });
35486
35492
  const [y, N] = this._getStopPrice(b, r, s, i, q, e);
35487
35493
  y && m.push({ order: e, price: y, index: N, isHighFront: q, exitInfo: { id: l, comment: O || u, qty: M, alert_message: f } });
35488
- const [w, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
35489
- if (w && m.push({ order: e, price: w, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
35494
+ const [D, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
35495
+ if (D && m.push({ order: e, price: D, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
35490
35496
  return this._executesSort(m), m[0];
35491
35497
  }
35492
35498
  _executesSort(e) {
@@ -35710,18 +35716,18 @@ ${cf}`);
35710
35716
  if (M)
35711
35717
  W = i && !s.isnew ? p : o;
35712
35718
  else {
35713
- let { stop: w, limit: R } = e;
35714
- const D = w && (w - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
35719
+ let { stop: D, limit: R } = e;
35720
+ const w = D && (D - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
35715
35721
  B > 0 && R && (R -= B * this._mintick * y);
35716
35722
  const T = R && (R - o) * y <= 0;
35717
- D && T || (w && !D || R && !T) && (W = o);
35723
+ w && T || (D && !w || R && !T) && (W = o);
35718
35724
  }
35719
35725
  const N = tt(W, N1(y * b, this._mintick));
35720
35726
  if (W <= c && N >= a) {
35721
- const w = this._getOrders(O, q);
35722
- if (this._ocaGroupVerify(l, _, f), w.length) {
35727
+ const D = this._getOrders(O, q);
35728
+ if (this._ocaGroupVerify(l, _, f), D.length) {
35723
35729
  const R = this._getHisOrderSurplusQty(O, l);
35724
- if (v = this._processOrders(w, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
35730
+ if (v = this._processOrders(D, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
35725
35731
  return;
35726
35732
  }
35727
35733
  this._calcCurrentOrder({ ...e, in_price: N, in_index: r, in_time: t, in_high: c, in_low: a, qty: v });
@@ -35976,9 +35982,9 @@ ${cf}`);
35976
35982
  _processOrder(e, t, r, i, s, o = !1, a) {
35977
35983
  const { time: c, bar_index: p } = this._variables, { low: b, high: M } = this.calcOnOrderFillsData.data || this._variables, { slippage: l = 0 } = this._options, { in_price: u, qty: O = 0, max_profit: d, trading_loss: _, direction: f, commission: A = 0, original_qty: q = 0 } = e, m = f === P0.long ? 1 : -1;
35978
35984
  if (t = t - m * l * this._mintick, r < O) {
35979
- const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, w = A * W / q;
35980
- this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: w, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
35981
- const R = (t - u) * m * W - w;
35985
+ const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, D = A * W / q;
35986
+ this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: D, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
35987
+ const R = (t - u) * m * W - D;
35982
35988
  Object.assign(e, {
35983
35989
  qty: W,
35984
35990
  profit: R,
@@ -36001,11 +36007,11 @@ ${cf}`);
36001
36007
  this._totalChangeCapital -= y;
36002
36008
  let N = f * c / b;
36003
36009
  A += N, N += y, O = O - N, Object.assign(e, { commission: N });
36004
- const w = this._orders.reduce((R, D) => {
36005
- const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = D;
36010
+ const D = this._orders.reduce((R, w) => {
36011
+ const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = w;
36006
36012
  return R + $ * B / T;
36007
36013
  }, 0);
36008
- q += w - l;
36014
+ q += D - l;
36009
36015
  }
36010
36016
  const m = M === P0.long ? 1 : -1;
36011
36017
  let [W, v] = this._calcProfitAndLossHandle(a, c, m, p);
@@ -36441,20 +36447,20 @@ ${cf}`);
36441
36447
  if (c && p)
36442
36448
  W = this._hlines.get(c?.key)?.price, v = this._hlines.get(p?.key)?.price, y = "hline";
36443
36449
  else {
36444
- const N = this._plots.get(b?.key), w = this._plots.get(M?.key), R = N?.data || [], D = w?.data || [];
36445
- if (W = R[d]?.value?.[1], v = D[d]?.value?.[1], !d) {
36446
- const B = N?.force_overlay && w?.force_overlay;
36447
- (N?.force_overlay || w?.force_overlay) && !B ? this._errorListener.addError(s1.plotFillForceOverlayErr, t, F0.Error) : O.force_overlay = B;
36450
+ const N = this._plots.get(b?.key), D = this._plots.get(M?.key), R = N?.data || [], w = D?.data || [];
36451
+ if (W = R[d]?.value?.[1], v = w[d]?.value?.[1], !d) {
36452
+ const B = N?.force_overlay && D?.force_overlay;
36453
+ (N?.force_overlay || D?.force_overlay) && !B ? this._errorListener.addError(s1.plotFillForceOverlayErr, t, F0.Error) : O.force_overlay = B;
36448
36454
  }
36449
36455
  }
36450
36456
  if (q[d] = { time: _, color: i, top_color: s, bottom_color: o, barIndex: d, plot1: W, plot2: v, top_value: l, bottom_value: u }, this._seriesColorHandle(e, r, A), !A) {
36451
36457
  this._count++;
36452
- const N = this._options.indicator?.explicit_plot_zorder || this._options.strategy?.explicit_plot_zorder, w = i ? [i] : void 0, R = s ? [s] : void 0, D = o ? [o] : void 0;
36458
+ const N = this._options.indicator?.explicit_plot_zorder || this._options.strategy?.explicit_plot_zorder, D = i ? [i] : void 0, R = s ? [s] : void 0, w = o ? [o] : void 0;
36453
36459
  this._fills.set(f, {
36454
36460
  id: f,
36455
- colors: w,
36461
+ colors: D,
36456
36462
  top_colors: R,
36457
- bottom_colors: D,
36463
+ bottom_colors: w,
36458
36464
  display: m,
36459
36465
  data: q,
36460
36466
  type: y,
@@ -36819,8 +36825,8 @@ return ${f}` : f = `return ${f}`, f;
36819
36825
  let q = JSON.parse(ns(A));
36820
36826
  const m = [];
36821
36827
  q = q.map((v) => {
36822
- const { type: y, code: N, varNames: w, dependSelf: R } = v;
36823
- return y === 2 && !m.includes(w) && !R && (v.code = `let ${N}`), w && m.push(...w.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
36828
+ const { type: y, code: N, varNames: D, dependSelf: R } = v;
36829
+ return y === 2 && !m.includes(D) && !R && (v.code = `let ${N}`), D && m.push(...D.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
36824
36830
  });
36825
36831
  let W = b.map((v) => ({ ...v, isArg: !1, isPreArg: !0 }));
36826
36832
  b = [], this._getDependCodes(W, q, i, p, b), this._getStmtFuncs(i, q, p, b);
@@ -36872,19 +36878,19 @@ ${u}`), u;
36872
36878
  return [];
36873
36879
  if (y.length - 1 < 0)
36874
36880
  return [];
36875
- const w = y.slice(W);
36876
- let R = M, D = v + R;
36881
+ const D = y.slice(W);
36882
+ let R = M, w = v + R;
36877
36883
  const B = [];
36878
- for (const [T, $] of w.entries()) {
36884
+ for (const [T, $] of D.entries()) {
36879
36885
  let { time: P, barIndex: X } = $;
36880
36886
  P = P * 1e3;
36881
36887
  let K = X || W + T;
36882
- if (P >= D)
36888
+ if (P >= w)
36883
36889
  return !l && (this._cacheData[r] = {
36884
36890
  index: K,
36885
36891
  periodStamp: v
36886
36892
  }), B;
36887
- if (R <= P && P < D) {
36893
+ if (R <= P && P < w) {
36888
36894
  const j = $?.result?.[r];
36889
36895
  if (Array.isArray(j))
36890
36896
  for (const [Q, n0] of j.entries())
@@ -36926,8 +36932,8 @@ ${u}`), u;
36926
36932
  if (!v.length)
36927
36933
  return;
36928
36934
  const y = v.slice(m);
36929
- let N = M, w = W + N;
36930
- const R = v.length - 1, D = {
36935
+ let N = M, D = W + N;
36936
+ const R = v.length - 1, w = {
36931
36937
  lastBarIndex: v[R].barIndex || R,
36932
36938
  lastBarTime: v[R].time,
36933
36939
  interval: i,
@@ -36935,7 +36941,7 @@ ${u}`), u;
36935
36941
  };
36936
36942
  if (A > W) {
36937
36943
  let B;
36938
- if (a === $r.lookaheadOn ? B = this._lookaheadOnHandle(y, i, w, A, D, m, W, t, N, o) : B = this._lookaheadOffHandle(y, i, w, A, D, m, W, t, N, l || w, o), B)
36944
+ if (a === $r.lookaheadOn ? B = this._lookaheadOnHandle(y, i, D, A, w, m, W, t, N, o) : B = this._lookaheadOffHandle(y, i, D, A, w, m, W, t, N, l || D, o), B)
36939
36945
  return B;
36940
36946
  if (B === null)
36941
36947
  return;
@@ -36945,7 +36951,7 @@ ${u}`), u;
36945
36951
  $ = $ * 1e3;
36946
36952
  const X = y[B + 1]?.time * 1e3 || $ + A;
36947
36953
  let K = P || m + B;
36948
- if ($ >= w) {
36954
+ if ($ >= D) {
36949
36955
  this._cacheData[t] = {
36950
36956
  index: K,
36951
36957
  periodStamp: W
@@ -36956,7 +36962,7 @@ ${u}`), u;
36956
36962
  return this._cacheData[t] = {
36957
36963
  index: K,
36958
36964
  periodStamp: W
36959
- }, { ...T, barIndex: P, nextBarTime: y[B + 1]?.time, ...D };
36965
+ }, { ...T, barIndex: P, nextBarTime: y[B + 1]?.time, ...w };
36960
36966
  }
36961
36967
  else
36962
36968
  for (const [B, T] of y.entries()) {
@@ -36964,23 +36970,23 @@ ${u}`), u;
36964
36970
  $ = $ * 1e3;
36965
36971
  const X = $ + A, K = y[B + 1]?.time * 1e3 || X;
36966
36972
  let j = P || m + B;
36967
- if ($ > w) {
36973
+ if ($ > D) {
36968
36974
  this._cacheData[t] = {
36969
36975
  index: j,
36970
36976
  periodStamp: W
36971
36977
  };
36972
36978
  return;
36973
36979
  }
36974
- if ($ < w && w <= K)
36980
+ if ($ < D && D <= K)
36975
36981
  return this._cacheData[t] = {
36976
36982
  index: j,
36977
36983
  periodStamp: W
36978
- }, { ...T, barIndex: j, nextBarTime: y[B + 1]?.time, ...D };
36979
- if (($ >= N && $ <= w || X < w && $ < N) && j === D.lastBarIndex)
36984
+ }, { ...T, barIndex: j, nextBarTime: y[B + 1]?.time, ...w };
36985
+ if (($ >= N && $ <= D || X < D && $ < N) && j === w.lastBarIndex)
36980
36986
  return this._cacheData[t] = {
36981
36987
  index: j,
36982
36988
  periodStamp: W
36983
- }, { ...T, barIndex: j, nextBarTime: y[B + 1]?.time, ...D };
36989
+ }, { ...T, barIndex: j, nextBarTime: y[B + 1]?.time, ...w };
36984
36990
  }
36985
36991
  this._cacheData[t] = {
36986
36992
  index: v.length,
@@ -37129,16 +37135,16 @@ ${u}`), u;
37129
37135
  c.__isFirstRun = r, c.updateOptions({ interval: u, mintick: d, syminfo: { ..._.__syminfo, mintick: d, tickerid: O || _.tickerid, ticker: v || W || _.ticker } });
37130
37136
  let y;
37131
37137
  const N = {};
37132
- for (const [D, B] of i.entries()) {
37138
+ for (const [w, B] of i.entries()) {
37133
37139
  const { barindex: T } = B, $ = await this.requestMapHandle(b, q, N, f, A, m);
37134
- if (y && $ && (b.log.clearLogForIndex(y.barIndex), c.__isReqRepeated = !0, c.updateData(y), b.update({ barIndex: y?.barIndex || 0 }), y.result = Object.assign(y.result || {}, { [t]: M(c, p, b, o || [], t) }), b.endExecution(), c.__isReqRepeated = !1), y = Object.assign(B, { barIndex: T || D, lastBarIndex: i[l].barindex || l, lastBarTime: i[l].time, nextBarTime: i[D + 1]?.time }), c.updateData(y), b.update({ barIndex: y?.barIndex || 0 }), B.result = Object.assign(B.result || {}, { [t]: M(c, p, b, o || [], t) }), b.endExecution(), b.errors.length && b.errors.some((P) => P.type === F0.Error))
37140
+ if (y && $ && (b.log.clearLogForIndex(y.barIndex), c.__isReqRepeated = !0, c.updateData(y), b.update({ barIndex: y?.barIndex || 0 }), y.result = Object.assign(y.result || {}, { [t]: M(c, p, b, o || [], t) }), b.endExecution(), c.__isReqRepeated = !1), y = Object.assign(B, { barIndex: T || w, lastBarIndex: i[l].barindex || l, lastBarTime: i[l].time, nextBarTime: i[w + 1]?.time }), c.updateData(y), b.update({ barIndex: y?.barIndex || 0 }), B.result = Object.assign(B.result || {}, { [t]: M(c, p, b, o || [], t) }), b.endExecution(), b.errors.length && b.errors.some((P) => P.type === F0.Error))
37135
37141
  return {
37136
37142
  logs: [],
37137
37143
  errors: b.errors
37138
37144
  };
37139
37145
  }
37140
- const w = b.log.logs, R = b.errors;
37141
- return b.log.clearLogs(), b.clearErrors(), { logs: w, errors: R, cacheData: { varCacheData: c.getVarCacheData(), funcCacheData: b.getFuncCacheData(), requestCacheData: N } };
37146
+ const D = b.log.logs, R = b.errors;
37147
+ return b.log.clearLogs(), b.clearErrors(), { logs: D, errors: R, cacheData: { varCacheData: c.getVarCacheData(), funcCacheData: b.getFuncCacheData(), requestCacheData: N } };
37142
37148
  }
37143
37149
  }
37144
37150
  async requestMapHandle(e, t, r, i, s, o) {
@@ -37151,8 +37157,8 @@ ${u}`), u;
37151
37157
  let m = 0;
37152
37158
  const W = s?.get(d);
37153
37159
  W && (m = W[W.length - 1]?.time || 0), p.push({ id: d, key: q, ignore_invalid_symbol: f, currentDataList: W, startTime: m });
37154
- const [v, y] = u.split(":"), N = Number(A) <= 60 ? 1e4 : 5e3, w = _ ? _ <= 1e5 ? _ : 1e5 : N;
37155
- c.push(ks({ params: [{ exchange: y ? v : "FX", symbol: y || v, limit: w, start: m, end: 0, period: O }] }).json());
37160
+ const [v, y] = u.split(":"), N = Number(A) <= 60 ? 1e4 : 5e3, D = _ ? _ <= 1e5 ? _ : 1e5 : N;
37161
+ c.push(ks({ params: [{ exchange: y ? v : "FX", symbol: y || v, limit: D, start: m, end: 0, period: O }] }).json());
37156
37162
  }
37157
37163
  const b = await Promise.all(c);
37158
37164
  for (const [M, l] of b.entries()) {
@@ -37567,9 +37573,9 @@ ${u}`), u;
37567
37573
  maxprofit_long: v = 0,
37568
37574
  maxprofit_short: y = 0,
37569
37575
  maxloss_long: N = 0,
37570
- maxloss_short: w = 0,
37576
+ maxloss_short: D = 0,
37571
37577
  maxprofit_percent_long: R = 0,
37572
- maxprofit_percent_short: D = 0,
37578
+ maxprofit_percent_short: w = 0,
37573
37579
  maxloss_percent_long: B = 0,
37574
37580
  maxloss_percent_short: T = 0,
37575
37581
  hold_long_k_count: $ = 0,
@@ -37582,7 +37588,7 @@ ${u}`), u;
37582
37588
  shapeRatioType: l0 = "NONE"
37583
37589
  } = this._preHistoryOrderCalcResult;
37584
37590
  const { profit: r0 = 0, profit_percent: G = 0, in_index: _0 = 0, out_index: A0 = 0, commission: q0 = 0, direction: h0, in_time: V0 = 0, out_time: G0 = 0, total_profit: c1 = 0 } = e, Z0 = A0 - _0 + 1;
37585
- if (h0 === P0.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), D = Math.max(D, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, w = Math.min(w, r0), T = Math.min(T, G))), !n0) {
37591
+ if (h0 === P0.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), w = Math.max(w, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, D = Math.min(D, r0), T = Math.min(T, G))), !n0) {
37586
37592
  const s0 = this._createBalanceByInterval(V0, Date.now());
37587
37593
  n0 = s0.balanceByInterval, l0 = s0.shapeRatioType;
37588
37594
  }
@@ -37618,9 +37624,9 @@ ${u}`), u;
37618
37624
  maxprofit_long: v,
37619
37625
  maxprofit_short: y,
37620
37626
  maxloss_long: N,
37621
- maxloss_short: w,
37627
+ maxloss_short: D,
37622
37628
  maxprofit_percent_long: R,
37623
- maxprofit_percent_short: D,
37629
+ maxprofit_percent_short: w,
37624
37630
  maxloss_percent_long: B,
37625
37631
  maxloss_percent_short: T,
37626
37632
  hold_long_k_count: $,
@@ -38877,7 +38883,7 @@ ${u}`), u;
38877
38883
  s.mintick = v;
38878
38884
  const y = /* @__PURE__ */ Object.create(null);
38879
38885
  self.workerStorage.set(`inputs_${u}`, W?.inputCache), self.workerStorage.set(`strategy_${u}`, W?.strategyCacheArgs), self.workerStorage.set(`indicator_${u}`, W?.indicatorCacheArgs);
38880
- const N = new Rb(O), w = new vb(), R = new yb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), D = new Function("_$_var", "_$_const", "_$_func", n);
38886
+ const N = new Rb(O), D = new vb(), R = new yb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), w = new Function("_$_var", "_$_const", "_$_func", n);
38881
38887
  let B = {
38882
38888
  request: [],
38883
38889
  requestData: [],
@@ -38898,7 +38904,7 @@ ${u}`), u;
38898
38904
  }
38899
38905
  }
38900
38906
  if (y.requestCacheData = B, self.workerStorage.set(`request_${u}`, new Map(B.request)), self.workerStorage.set(`request_${u}_data`, new Map(B.requestData)), self.workerStorage.set(`request_${u}_list`, new Map(B.requestList)), self.workerStorage.set(`request_${u}_tmp`, new Map(B.requestTmp)), await X7(M, u, R, { newCacheData: y, cacheData: W }), i)
38901
- D(N, w, R);
38907
+ w(N, D, R);
38902
38908
  else if (f && f.length) {
38903
38909
  const X = f.length - 1;
38904
38910
  N.__isFirstRun = t, N.updateOptions({ interval: A, mintick: v, chart: c, syminfo: s }), R.updateOptions({ inputs: a, strategy: p });
@@ -38923,10 +38929,10 @@ ${u}`), u;
38923
38929
  }]
38924
38930
  };
38925
38931
  !t && (q0 || q0 === 0) && m.push(q0);
38926
- const h0 = await _O(N, R, w, D, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
38932
+ const h0 = await _O(N, R, D, w, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
38927
38933
  if (h0)
38928
38934
  return h0;
38929
- r0 = Object.assign(A0, { barIndex: q0 || _0, lastBarIndex: l0 ? q0 : f[X].barindex || X, lastBarTime: l0 ? A0.time : f[X].time, nextBarTime: f[_0 + 1]?.time }), hf(N, R, w, D, b, r0, K);
38935
+ r0 = Object.assign(A0, { barIndex: q0 || _0, lastBarIndex: l0 ? q0 : f[X].barindex || X, lastBarTime: l0 ? A0.time : f[X].time, nextBarTime: f[_0 + 1]?.time }), hf(N, R, D, w, b, r0, K);
38930
38936
  const V0 = R.errors;
38931
38937
  if (V0.length && V0.some((G0) => G0.type === F0.Error))
38932
38938
  return Rs(u), {
@@ -38935,7 +38941,7 @@ ${u}`), u;
38935
38941
  };
38936
38942
  }
38937
38943
  if (K?.size) {
38938
- const _0 = await _O(N, R, w, D, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
38944
+ const _0 = await _O(N, R, D, w, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
38939
38945
  if (_0)
38940
38946
  return Rs(u), _0;
38941
38947
  }
@@ -39002,15 +39008,15 @@ ${u}`), u;
39002
39008
  const u = [], O = [];
39003
39009
  for (const [_, f] of c) {
39004
39010
  const { symbol: A = "", timeframe: q, id: m, calc_bars_count: W, ignore_invalid_symbol: v, originTimeframe: y } = f, N = `${A}:${q}`;
39005
- let w = 0;
39011
+ let D = 0;
39006
39012
  const R = p?.get(m);
39007
- R && (w = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: w });
39008
- const [D, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3, $ = W ? W <= 1e5 ? W : 1e5 : T;
39009
- u.push(ks({ params: [{ exchange: B ? D : "FX", symbol: B || D, limit: $, start: w, end: 0, period: q }] }).json());
39013
+ R && (D = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: D });
39014
+ const [w, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3, $ = W ? W <= 1e5 ? W : 1e5 : T;
39015
+ u.push(ks({ params: [{ exchange: B ? w : "FX", symbol: B || w, limit: $, start: D, end: 0, period: q }] }).json());
39010
39016
  }
39011
39017
  const d = await Promise.all(u);
39012
39018
  for (const [_, f] of d.entries()) {
39013
- const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: w } = O[_];
39019
+ const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: D } = O[_];
39014
39020
  if (A !== 200 && !y)
39015
39021
  return {
39016
39022
  status: 1,
@@ -39024,13 +39030,13 @@ ${u}`), u;
39024
39030
  }]
39025
39031
  };
39026
39032
  const R = q?.[v]?.list?.reverse() || [];
39027
- R[0]?.time === w && N.splice(N.length - 1);
39028
- const D = b?.get(W);
39029
- if (D) {
39033
+ R[0]?.time === D && N.splice(N.length - 1);
39034
+ const w = b?.get(W);
39035
+ if (w) {
39030
39036
  const B = Number(q?.[v]?.tick_size) || 1e-5;
39031
- D.mintick = B;
39037
+ w.mintick = B;
39032
39038
  }
39033
- p?.set(W, N.concat(R));
39039
+ R.length && (R[R.length - 1].isrealtime = !0), p?.set(W, N.concat(R));
39034
39040
  }
39035
39041
  c?.clear();
39036
39042
  }
@@ -39067,18 +39073,21 @@ ${u}`), u;
39067
39073
  if (A.length) {
39068
39074
  let q = A.length - 1;
39069
39075
  const m = A[q].time;
39070
- if (f = f.filter((D) => D.time >= m), f[0]?.time === m) {
39071
- const D = A.pop();
39072
- q -= 1, Object.assign(f[0], { result: D?.result });
39076
+ f = f.filter((B) => B.time >= m);
39077
+ const W = f[0]?.time;
39078
+ if (W === m) {
39079
+ const B = A.pop();
39080
+ q -= 1, Object.assign(f[0], { result: B?.result });
39073
39081
  }
39074
- for (const D of f)
39075
- q += 1, D.barindex = q;
39082
+ for (const B of f)
39083
+ q += 1, B.barindex = q;
39076
39084
  if (!f.length)
39077
39085
  continue;
39078
- const W = c?.get(O)?.mintick || 1e-5;
39086
+ W > m && f.push(Object.assign(A[q], { isrealtime: !1 })), f[f.length - 1].isrealtime = !0;
39087
+ const v = c?.get(O)?.mintick || 1e-5;
39079
39088
  o?.set(O, A.concat(f));
39080
- const { varCacheData: v, funcCacheData: y } = s[b] || {}, { logs: N = [], errors: w = [], cacheData: R } = await t.request.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: v, funcCacheData: y, mintick: W }), u, d) || {};
39081
- i.requestCacheData[b] = R, t.log.mergeLogs(N), t.addErrors(w, b);
39089
+ const { varCacheData: y, funcCacheData: N } = s[b] || {}, { logs: D = [], errors: R = [], cacheData: w } = await t.request.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: y, funcCacheData: N, mintick: v }), u, d) || {};
39090
+ i.requestCacheData[b] = w, t.log.mergeLogs(D), t.addErrors(R, b);
39082
39091
  } else
39083
39092
  o?.set(O, A.concat(f));
39084
39093
  }
@@ -40064,14 +40073,14 @@ ${u}`), u;
40064
40073
  if (u < e)
40065
40074
  m = { low: O, high: d, close: _, PDMS: (p || 0) + f, NDMS: (b || 0) + A, TRS: (M || 0) + q, count: u + 1, value: [void 0, void 0, void 0] };
40066
40075
  else {
40067
- const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, w = v / y * 100, R = Math.abs((N - w) / (N + w)) * 100;
40068
- let D = R, B = [N, w, void 0];
40076
+ const W = p - p / e + f, v = b - b / e + A, y = M - M / e + q, N = W / y * 100, D = v / y * 100, R = Math.abs((N - D) / (N + D)) * 100;
40077
+ let w = R, B = [N, D, void 0];
40069
40078
  if (u + 1 - e < t) {
40070
40079
  const T = u + 1 - e;
40071
- D = ((l || 0) * (T - 1) + R) / T;
40080
+ w = ((l || 0) * (T - 1) + R) / T;
40072
40081
  } else
40073
- D = (l * (t - 1) + R) / t, B = [N, w, D];
40074
- m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: D, count: u + 1, value: B };
40082
+ w = (l * (t - 1) + R) / t, B = [N, D, w];
40083
+ m = { low: O, high: d, close: _, PDMS: W, NDMS: v, TRS: y, ADX: w, count: u + 1, value: B };
40075
40084
  }
40076
40085
  return this._cacheDataHandle(i, m), m.value;
40077
40086
  }
@@ -43836,26 +43845,26 @@ ${u}`), u;
43836
43845
  const { id: W, isClose: v, from_entry: y, qtys: N = {} } = m;
43837
43846
  if (v && !N?.hasOwnProperty(d))
43838
43847
  continue;
43839
- const w = `${W}-${y || ""}`;
43848
+ const D = `${W}-${y || ""}`;
43840
43849
  let R = 0;
43841
43850
  N.hasOwnProperty(d) ? R = N[d] || 0 : (R = this._calcExitOrderQty(f, l, m), N[d] = R, m.qtys = N);
43842
- const D = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
43843
- if (D && (A?.push(w), s.push(D)), f -= R, f <= 0)
43851
+ const w = this._orderInExitHandle(b, { exitOrder: m, qty: R }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
43852
+ if (w && (A?.push(D), s.push(w)), f -= R, f <= 0)
43844
43853
  break;
43845
43854
  }
43846
43855
  for (const m of this._exitOrders) {
43847
43856
  if (f <= 0)
43848
43857
  break;
43849
- const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: w = {} } = m;
43850
- if (N && !w?.hasOwnProperty(d) && y !== O)
43858
+ const { from_entry: W, id: v, createTime: y = 0, isClose: N, qtys: D = {} } = m;
43859
+ if (N && !D?.hasOwnProperty(d) && y !== O)
43851
43860
  continue;
43852
43861
  const R = `${v}-${W || ""}`;
43853
43862
  if (M !== W && W || b.exitIds?.includes(R) || W === M && y < O || y >= O && b.exitIds?.includes(v))
43854
43863
  continue;
43855
- let D = 0;
43856
- w.hasOwnProperty(d) ? D = w[d] || 0 : (D = this._calcExitOrderQty(f, l, m), w[d] = D, m.qtys = w);
43857
- const B = this._orderInExitHandle(b, { exitOrder: m, qty: D }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
43858
- B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= D;
43864
+ let w = 0;
43865
+ D.hasOwnProperty(d) ? w = D[d] || 0 : (w = this._calcExitOrderQty(f, l, m), D[d] = w, m.qtys = D);
43866
+ const B = this._orderInExitHandle(b, { exitOrder: m, qty: w }, { open: e, low: t, high: r, close: i, distanceH: o, distanceL: a });
43867
+ B && (y >= O && A?.push(v), A?.push(R), s.push(B)), f -= w;
43859
43868
  }
43860
43869
  b.occupancyQty = _ - f;
43861
43870
  }
@@ -43883,8 +43892,8 @@ ${u}`), u;
43883
43892
  W && m.push({ order: e, price: W, index: v, isHighFront: q, exitInfo: { id: l, comment: d || u, qty: M, alert_message: f } });
43884
43893
  const [y, N] = this._getStopPrice(b, r, s, i, q, e);
43885
43894
  y && m.push({ order: e, price: y, index: N, isHighFront: q, exitInfo: { id: l, comment: O || u, qty: M, alert_message: f } });
43886
- const [w, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
43887
- if (w && m.push({ order: e, price: w, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
43895
+ const [D, R] = this._getTrailStopPrice(b, r, s, i, o, q, e);
43896
+ if (D && m.push({ order: e, price: D, index: R, isHighFront: q, exitInfo: { id: l, comment: _ || u, qty: M, alert_message: f } }), m.length)
43888
43897
  return this._executesSort(m), m[0];
43889
43898
  }
43890
43899
  _executesSort(e) {
@@ -44108,18 +44117,18 @@ ${u}`), u;
44108
44117
  if (M)
44109
44118
  W = i && !s.isnew ? p : o;
44110
44119
  else {
44111
- let { stop: w, limit: R } = e;
44112
- const D = w && (w - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
44120
+ let { stop: D, limit: R } = e;
44121
+ const w = D && (D - o) * y >= 0, { backtest_fill_limits_assumption: B = 0 } = this._options;
44113
44122
  B > 0 && R && (R -= B * this._mintick * y);
44114
44123
  const T = R && (R - o) * y <= 0;
44115
- D && T || (w && !D || R && !T) && (W = o);
44124
+ w && T || (D && !w || R && !T) && (W = o);
44116
44125
  }
44117
44126
  const N = tt(W, N1(y * b, this._mintick));
44118
44127
  if (W <= c && N >= a) {
44119
- const w = this._getOrders(O, q);
44120
- if (this._ocaGroupVerify(l, _, f), w.length) {
44128
+ const D = this._getOrders(O, q);
44129
+ if (this._ocaGroupVerify(l, _, f), D.length) {
44121
44130
  const R = this._getHisOrderSurplusQty(O, l);
44122
- if (v = this._processOrders(w, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
44131
+ if (v = this._processOrders(D, W, l, R, q, d, !1, "order", void 0, m), v <= 0)
44123
44132
  return;
44124
44133
  }
44125
44134
  this._calcCurrentOrder({ ...e, in_price: N, in_index: r, in_time: t, in_high: c, in_low: a, qty: v });
@@ -44374,9 +44383,9 @@ ${u}`), u;
44374
44383
  _processOrder(e, t, r, i, s, o = !1, a) {
44375
44384
  const { time: c, bar_index: p } = this._variables, { low: b, high: M } = this.calcOnOrderFillsData.data || this._variables, { slippage: l = 0 } = this._options, { in_price: u, qty: O = 0, max_profit: d, trading_loss: _, direction: f, commission: A = 0, original_qty: q = 0 } = e, m = f === H0.long ? 1 : -1;
44376
44385
  if (t = t - m * l * this._mintick, r < O) {
44377
- const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, w = A * W / q;
44378
- this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: w, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
44379
- const R = (t - u) * m * W - w;
44386
+ const W = O - r, v = (t - u) * m * r, y = d !== void 0 ? d / O * r : void 0, N = _ !== void 0 ? _ / O * r : void 0, D = A * W / q;
44387
+ this._calcPercent({ ...e, isPartClose: !0, out_price: t, last_commission: D, out_id: i, out_index: p, out_high: M, out_low: b, out_time: c, out_comment: s, alert_message: a, profit: v, out_qty: r, max_profit: y, trading_loss: N });
44388
+ const R = (t - u) * m * W - D;
44380
44389
  Object.assign(e, {
44381
44390
  qty: W,
44382
44391
  profit: R,
@@ -44399,11 +44408,11 @@ ${u}`), u;
44399
44408
  this._totalChangeCapital -= y;
44400
44409
  let N = f * c / b;
44401
44410
  A += N, N += y, O = O - N, Object.assign(e, { commission: N });
44402
- const w = this._orders.reduce((R, D) => {
44403
- const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = D;
44411
+ const D = this._orders.reduce((R, w) => {
44412
+ const { qty: B = 0, original_qty: T = 0, commission: $ = 0 } = w;
44404
44413
  return R + $ * B / T;
44405
44414
  }, 0);
44406
- q += w - l;
44415
+ q += D - l;
44407
44416
  }
44408
44417
  const m = M === H0.long ? 1 : -1;
44409
44418
  let [W, v] = this._calcProfitAndLossHandle(a, c, m, p);
@@ -44844,20 +44853,20 @@ ${u}`), u;
44844
44853
  if (c && p)
44845
44854
  W = this._hlines.get(c?.key)?.price, v = this._hlines.get(p?.key)?.price, y = "hline";
44846
44855
  else {
44847
- const N = this._plots.get(b?.key), w = this._plots.get(M?.key), R = N?.data || [], D = w?.data || [];
44848
- if (W = R[d]?.value?.[1], v = D[d]?.value?.[1], !d) {
44849
- const B = N?.force_overlay && w?.force_overlay;
44850
- (N?.force_overlay || w?.force_overlay) && !B ? this._errorListener.addError(n1.plotFillForceOverlayErr, t, S0.Error) : O.force_overlay = B;
44856
+ const N = this._plots.get(b?.key), D = this._plots.get(M?.key), R = N?.data || [], w = D?.data || [];
44857
+ if (W = R[d]?.value?.[1], v = w[d]?.value?.[1], !d) {
44858
+ const B = N?.force_overlay && D?.force_overlay;
44859
+ (N?.force_overlay || D?.force_overlay) && !B ? this._errorListener.addError(n1.plotFillForceOverlayErr, t, S0.Error) : O.force_overlay = B;
44851
44860
  }
44852
44861
  }
44853
44862
  if (q[d] = { time: _, color: i, top_color: s, bottom_color: o, barIndex: d, plot1: W, plot2: v, top_value: l, bottom_value: u }, this._seriesColorHandle(e, r, A), !A) {
44854
44863
  this._count++;
44855
- const N = this._options.indicator?.explicit_plot_zorder || this._options.strategy?.explicit_plot_zorder, w = i ? [i] : void 0, R = s ? [s] : void 0, D = o ? [o] : void 0;
44864
+ const N = this._options.indicator?.explicit_plot_zorder || this._options.strategy?.explicit_plot_zorder, D = i ? [i] : void 0, R = s ? [s] : void 0, w = o ? [o] : void 0;
44856
44865
  this._fills.set(f, {
44857
44866
  id: f,
44858
- colors: w,
44867
+ colors: D,
44859
44868
  top_colors: R,
44860
- bottom_colors: D,
44869
+ bottom_colors: w,
44861
44870
  display: m,
44862
44871
  data: q,
44863
44872
  type: y,
@@ -45223,8 +45232,8 @@ return ${f}` : f = `return ${f}`, f;
45223
45232
  let q = JSON.parse(ns(A));
45224
45233
  const m = [];
45225
45234
  q = q.map((v) => {
45226
- const { type: y, code: N, varNames: w, dependSelf: R } = v;
45227
- return y === 2 && !m.includes(w) && !R && (v.code = `let ${N}`), w && m.push(...w.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
45235
+ const { type: y, code: N, varNames: D, dependSelf: R } = v;
45236
+ return y === 2 && !m.includes(D) && !R && (v.code = `let ${N}`), D && m.push(...D.split(", ")), v.memberCodes && Object.assign(a, { ...v.memberCodes }), v;
45228
45237
  });
45229
45238
  let W = b.map((v) => ({ ...v, isArg: !1, isPreArg: !0 }));
45230
45239
  b = [], this._getDependCodes(W, q, i, p, b), this._getStmtFuncs(i, q, p, b);
@@ -45276,19 +45285,19 @@ ${u}`), u;
45276
45285
  return [];
45277
45286
  if (y.length - 1 < 0)
45278
45287
  return [];
45279
- const w = y.slice(W);
45280
- let R = M, D = v + R;
45288
+ const D = y.slice(W);
45289
+ let R = M, w = v + R;
45281
45290
  const B = [];
45282
- for (const [T, $] of w.entries()) {
45291
+ for (const [T, $] of D.entries()) {
45283
45292
  let { time: P, barIndex: X } = $;
45284
45293
  P = P * 1e3;
45285
45294
  let K = X || W + T;
45286
- if (P >= D)
45295
+ if (P >= w)
45287
45296
  return !l && (this._cacheData[r] = {
45288
45297
  index: K,
45289
45298
  periodStamp: v
45290
45299
  }), B;
45291
- if (R <= P && P < D) {
45300
+ if (R <= P && P < w) {
45292
45301
  const j = $?.result?.[r];
45293
45302
  if (Array.isArray(j))
45294
45303
  for (const [Q, n0] of j.entries())
@@ -45326,19 +45335,19 @@ ${u}`), u;
45326
45335
  if (!y.length)
45327
45336
  return;
45328
45337
  const N = y.slice(W);
45329
- let w = M, R = v + w;
45330
- const D = y.length - 1;
45331
- if (D < 0)
45338
+ let D = M, R = v + D;
45339
+ const w = y.length - 1;
45340
+ if (w < 0)
45332
45341
  return;
45333
45342
  const B = {
45334
- lastBarIndex: y[D].barIndex || D,
45335
- lastBarTime: y[D].time,
45343
+ lastBarIndex: y[w].barIndex || w,
45344
+ lastBarTime: y[w].time,
45336
45345
  interval: i,
45337
45346
  mintick: b
45338
45347
  };
45339
45348
  if (q > v) {
45340
45349
  let T;
45341
- if (a === Fr.lookaheadOn ? T = this._lookaheadOnHandle(N, i, R, q, B, W, v, t, w, o) : T = this._lookaheadOffHandle(N, i, R, q, B, W, v, t, w, l || R, o), T)
45350
+ if (a === Fr.lookaheadOn ? T = this._lookaheadOnHandle(N, i, R, q, B, W, v, t, D, o) : T = this._lookaheadOffHandle(N, i, R, q, B, W, v, t, D, l || R, o), T)
45342
45351
  return T;
45343
45352
  if (T === null)
45344
45353
  return;
@@ -45355,7 +45364,7 @@ ${u}`), u;
45355
45364
  };
45356
45365
  return;
45357
45366
  }
45358
- if (P <= w && K > w)
45367
+ if (P <= D && K > D)
45359
45368
  return this._cacheData[t] = {
45360
45369
  index: j,
45361
45370
  periodStamp: v
@@ -45379,7 +45388,7 @@ ${u}`), u;
45379
45388
  index: Q,
45380
45389
  periodStamp: v
45381
45390
  }, { ...$, barIndex: Q, nextBarTime: N[T + 1]?.time, ...B };
45382
- if ((P >= w && P <= R || K < R && P < w) && Q === B.lastBarIndex)
45391
+ if ((P >= D && P <= R || K < R && P < D) && Q === B.lastBarIndex)
45383
45392
  return this._cacheData[t] = {
45384
45393
  index: Q,
45385
45394
  periodStamp: v
@@ -45521,7 +45530,7 @@ ${u}`), u;
45521
45530
  }
45522
45531
  }
45523
45532
  async runScripts(e, t, r, i, s, o, a) {
45524
- const c = `${this._scriptId}_${t}`, p = new Db(c), b = new Lb(), M = new wb(s?.mintick || 1e-5, p, this._scriptId), l = new Function("_$_var", "_$_const", "_$_func", "$paramsExpr", "$posStr", e);
45533
+ const c = `${this._scriptId}_${t}`, p = new Db(c), b = new Lb(), M = new wb(s?.mintick || 1e-5, p, this._scriptId, {}), l = new Function("_$_var", "_$_const", "_$_func", "$paramsExpr", "$posStr", e);
45525
45534
  if (!r) {
45526
45535
  const { varCacheData: u, funcCacheData: O } = s;
45527
45536
  p.setVarCacheData(u), M.setFuncCacheData(O);
@@ -45532,17 +45541,17 @@ ${u}`), u;
45532
45541
  const A = self.workerStorage.get(`request_${this._scriptId}_tmp`), q = self.workerStorage.get(`request_${this._scriptId}_data`), m = self.workerStorage.get(`request_${this._scriptId}`), W = self.workerStorage.get(`request_${this._scriptId}_list`), [v, y] = d.split(":");
45533
45542
  p.__isFirstRun = r, p.updateOptions({ interval: O, mintick: _, syminfo: { ...f.__syminfo, main_tickerid: f.main_tickerid, main_period: f.main_period, mintick: _, tickerid: d || f.tickerid, ticker: y || v || f.ticker } });
45534
45543
  let N;
45535
- const w = {};
45544
+ const D = {};
45536
45545
  for (const [B, T] of i.entries()) {
45537
- const { barindex: $ } = T, P = await this.requestMapHandle(M, m, w, A, q, W);
45546
+ const { barindex: $ } = T, P = await this.requestMapHandle(M, m, D, A, q, W);
45538
45547
  if (N && P && (M.log.clearLogForIndex(N.barIndex), p.__isReqRepeated = !0, p.updateData(N), M.update({ barIndex: N?.barIndex || 0 }), N.result = Object.assign(N.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), p.__isReqRepeated = !1), N = Object.assign(T, { barIndex: $ || B, lastBarIndex: i[u].barindex || u, lastBarTime: i[u].time, nextBarTime: i[B + 1]?.time }), p.updateData(N), M.update({ barIndex: N?.barIndex || 0 }), T.result = Object.assign(T.result || {}, { [t]: l(p, b, M, o || [], t) }), M.endExecution(), M.errors.length && M.errors.some((X) => X.type === S0.Error))
45539
45548
  return {
45540
45549
  logs: [],
45541
45550
  errors: M.errors
45542
45551
  };
45543
45552
  }
45544
- const R = M.log.logs, D = M.errors;
45545
- return M.log.clearLogs(), M.clearErrors(), { logs: R, errors: D, cacheData: { varCacheData: p.getVarCacheData(), funcCacheData: M.getFuncCacheData(), requestCacheData: w } };
45553
+ const R = M.log.logs, w = M.errors;
45554
+ return M.log.clearLogs(), M.clearErrors(), { logs: R, errors: w, cacheData: { varCacheData: p.getVarCacheData(), funcCacheData: M.getFuncCacheData(), requestCacheData: D } };
45546
45555
  }
45547
45556
  }
45548
45557
  async requestMapHandle(e, t, r, i, s, o) {
@@ -45555,8 +45564,8 @@ ${u}`), u;
45555
45564
  let m = 0;
45556
45565
  const W = s?.get(d);
45557
45566
  W && (m = W[W.length - 1]?.time || 0), p.push({ id: d, key: q, ignore_invalid_symbol: f, currentDataList: W, startTime: m });
45558
- const [v, y] = u.split(":"), N = Number(A) <= 60 ? 1e4 : 5e3, w = _ ? _ <= 1e5 ? _ : 1e5 : N;
45559
- c.push(ks({ params: [{ exchange: y ? v : "FX", symbol: y || v, limit: w, start: m, end: 0, period: O }] }).json());
45567
+ const [v, y] = u.split(":"), N = Number(A) <= 60 ? 1e4 : 5e3, D = _ ? _ <= 1e5 ? _ : 1e5 : N;
45568
+ c.push(ks({ params: [{ exchange: y ? v : "FX", symbol: y || v, limit: D, start: m, end: 0, period: O }] }).json());
45560
45569
  }
45561
45570
  const b = await Promise.all(c);
45562
45571
  for (const [M, l] of b.entries()) {
@@ -45596,7 +45605,7 @@ ${u}`), u;
45596
45605
  return a;
45597
45606
  }
45598
45607
  _runScripts(e, t, r, i, s, o) {
45599
- const a = `${this._scriptId}_${t}`, { interval: c, ...p } = s || {}, b = new Db(a), M = new Lb(), l = new wb(this._variables.mintick || 1e-5, b, this._scriptId), u = new Function("_$_var", "_$_const", "_$_func", "$paramsExpr", "$posStr", e), { mintick: O, syminfo: d } = this._variables;
45608
+ const a = `${this._scriptId}_${t}`, { interval: c, ...p } = s || {}, b = new Db(a), M = new Lb(), l = new wb(this._variables.mintick || 1e-5, b, this._scriptId, {}), u = new Function("_$_var", "_$_const", "_$_func", "$paramsExpr", "$posStr", e), { mintick: O, syminfo: d } = this._variables;
45600
45609
  b.updateOptions({ interval: c, mintick: O || 1e-5, syminfo: { ...d.__syminfo } }), b.__requestName = o || "", b.updateData(p), l.update({ barIndex: p?.barindex || 0 });
45601
45610
  const _ = u(b, M, l, i || [], t), f = l.log.logs, A = l.errors;
45602
45611
  return l.log.clearLogs(), l.clearErrors(), l.endExecution(), {
@@ -45979,9 +45988,9 @@ ${u}`), u;
45979
45988
  maxprofit_long: v = 0,
45980
45989
  maxprofit_short: y = 0,
45981
45990
  maxloss_long: N = 0,
45982
- maxloss_short: w = 0,
45991
+ maxloss_short: D = 0,
45983
45992
  maxprofit_percent_long: R = 0,
45984
- maxprofit_percent_short: D = 0,
45993
+ maxprofit_percent_short: w = 0,
45985
45994
  maxloss_percent_long: B = 0,
45986
45995
  maxloss_percent_short: T = 0,
45987
45996
  hold_long_k_count: $ = 0,
@@ -45994,7 +46003,7 @@ ${u}`), u;
45994
46003
  shapeRatioType: l0 = "NONE"
45995
46004
  } = this._preHistoryOrderCalcResult;
45996
46005
  const { profit: r0 = 0, profit_percent: G = 0, in_index: _0 = 0, out_index: A0 = 0, commission: q0 = 0, direction: h0, in_time: V0 = 0, out_time: G0 = 0, total_profit: c1 = 0 } = e, Z0 = A0 - _0 + 1;
45997
- if (h0 === H0.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), D = Math.max(D, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, w = Math.min(w, r0), T = Math.min(T, G))), !n0) {
46006
+ if (h0 === H0.long ? (t += r0, i += 1, o += G, m += q0, $ += Z0, r0 > 0 ? (b += G, A += 1, O += r0, X += Z0, v = Math.max(v, r0), R = Math.max(R, G)) : r0 < 0 && (c += G, _ += 1, l += r0, j += Z0, N = Math.min(N, r0), B = Math.min(B, G))) : (r += r0, s += 1, a += G, W += q0, P += Z0, r0 > 0 ? (M += G, q += 1, d += r0, K += Z0, y = Math.max(y, r0), w = Math.max(w, G)) : r0 < 0 && (p += G, f += 1, u += r0, Q += Z0, D = Math.min(D, r0), T = Math.min(T, G))), !n0) {
45998
46007
  const s0 = this._createBalanceByInterval(V0, Date.now());
45999
46008
  n0 = s0.balanceByInterval, l0 = s0.shapeRatioType;
46000
46009
  }
@@ -46030,9 +46039,9 @@ ${u}`), u;
46030
46039
  maxprofit_long: v,
46031
46040
  maxprofit_short: y,
46032
46041
  maxloss_long: N,
46033
- maxloss_short: w,
46042
+ maxloss_short: D,
46034
46043
  maxprofit_percent_long: R,
46035
- maxprofit_percent_short: D,
46044
+ maxprofit_percent_short: w,
46036
46045
  maxloss_percent_long: B,
46037
46046
  maxloss_percent_short: T,
46038
46047
  hold_long_k_count: $,
@@ -47320,7 +47329,7 @@ ${u}`), u;
47320
47329
  s.mintick = v;
47321
47330
  const y = /* @__PURE__ */ Object.create(null);
47322
47331
  self.workerStorage.set(`inputs_${u}`, W?.inputCache), self.workerStorage.set(`strategy_${u}`, W?.strategyCacheArgs), self.workerStorage.set(`indicator_${u}`, W?.indicatorCacheArgs);
47323
- const N = new Db(u, O), w = new Lb(), R = new wb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), D = new Function("_$_var", "_$_const", "_$_func", n);
47332
+ const N = new Db(u, O), D = new Lb(), R = new wb(v, N, u, { customTimeframe: O, calcBarsCount: l, timeframeGaps: d }), w = new Function("_$_var", "_$_const", "_$_func", n);
47324
47333
  let B = {
47325
47334
  request: [],
47326
47335
  requestData: [],
@@ -47341,7 +47350,7 @@ ${u}`), u;
47341
47350
  }
47342
47351
  }
47343
47352
  if (y.requestCacheData = B, self.workerStorage.set(`request_${u}`, new Map(B.request)), self.workerStorage.set(`request_${u}_data`, new Map(B.requestData)), self.workerStorage.set(`request_${u}_list`, new Map(B.requestList)), self.workerStorage.set(`request_${u}_tmp`, new Map(B.requestTmp)), await KC(M, u, R, { newCacheData: y, cacheData: W }), i)
47344
- D(N, w, R);
47353
+ w(N, D, R);
47345
47354
  else if (f && f.length) {
47346
47355
  const X = f.length - 1;
47347
47356
  N.__isFirstRun = t, N.updateOptions({ interval: A, mintick: v, chart: c, syminfo: s }), R.updateOptions({ inputs: a, strategy: p });
@@ -47366,10 +47375,10 @@ ${u}`), u;
47366
47375
  }]
47367
47376
  };
47368
47377
  !t && (q0 || q0 === 0) && m.push(q0);
47369
- const h0 = await vO(N, R, w, D, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
47378
+ const h0 = await vO(N, R, D, w, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
47370
47379
  if (h0)
47371
47380
  return h0;
47372
- r0 = Object.assign(A0, { barIndex: q0 || _0, lastBarIndex: l0 ? q0 : f[X].barindex || X, lastBarTime: l0 ? A0.time : f[X].time, nextBarTime: f[_0 + 1]?.time }), vf(N, R, w, D, b, r0, K);
47381
+ r0 = Object.assign(A0, { barIndex: q0 || _0, lastBarIndex: l0 ? q0 : f[X].barindex || X, lastBarTime: l0 ? A0.time : f[X].time, nextBarTime: f[_0 + 1]?.time }), vf(N, R, D, w, b, r0, K);
47373
47382
  const V0 = R.errors;
47374
47383
  if (V0.length && V0.some((G0) => G0.type === S0.Error))
47375
47384
  return Ns(u), {
@@ -47378,7 +47387,7 @@ ${u}`), u;
47378
47387
  };
47379
47388
  }
47380
47389
  if (K?.size) {
47381
- const _0 = await vO(N, R, w, D, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
47390
+ const _0 = await vO(N, R, D, w, b, r0, Q, { newCacheData: y, cacheData: W }, K, j, G);
47382
47391
  if (_0)
47383
47392
  return Ns(u), _0;
47384
47393
  }
@@ -47445,15 +47454,15 @@ ${u}`), u;
47445
47454
  const u = [], O = [];
47446
47455
  for (const [_, f] of c) {
47447
47456
  const { symbol: A = "", timeframe: q, id: m, calc_bars_count: W, ignore_invalid_symbol: v, originTimeframe: y } = f, N = `${A}:${q}`;
47448
- let w = 0;
47457
+ let D = 0;
47449
47458
  const R = p?.get(m);
47450
- R && (w = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: w });
47451
- const [D, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3, $ = W ? W <= 1e5 ? W : 1e5 : T;
47452
- u.push(ks({ params: [{ exchange: B ? D : "FX", symbol: B || D, limit: $, start: w, end: 0, period: q }] }).json());
47459
+ R && (D = R[R.length - 1]?.time || 0), O.push({ id: m, key: N, ignore_invalid_symbol: v, currentDataList: R, startTime: D });
47460
+ const [w, B] = A.split(":"), T = Number(y) <= 60 ? 1e4 : 5e3, $ = W ? W <= 1e5 ? W : 1e5 : T;
47461
+ u.push(ks({ params: [{ exchange: B ? w : "FX", symbol: B || w, limit: $, start: D, end: 0, period: q }] }).json());
47453
47462
  }
47454
47463
  const d = await Promise.all(u);
47455
47464
  for (const [_, f] of d.entries()) {
47456
- const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: w } = O[_];
47465
+ const { code: A, data: q, msg: m } = f, { id: W, key: v, ignore_invalid_symbol: y, currentDataList: N = [], startTime: D } = O[_];
47457
47466
  if (A !== 200 && !y)
47458
47467
  return {
47459
47468
  status: 1,
@@ -47467,13 +47476,13 @@ ${u}`), u;
47467
47476
  }]
47468
47477
  };
47469
47478
  const R = q?.[v]?.list?.reverse() || [];
47470
- R[0]?.time === w && N.splice(N.length - 1);
47471
- const D = b?.get(W);
47472
- if (D) {
47479
+ R[0]?.time === D && N.splice(N.length - 1);
47480
+ const w = b?.get(W);
47481
+ if (w) {
47473
47482
  const B = Number(q?.[v]?.tick_size) || 1e-5;
47474
- D.mintick = B;
47483
+ w.mintick = B;
47475
47484
  }
47476
- p?.set(W, N.concat(R));
47485
+ R.length && (R[R.length - 1].isrealtime = !0), p?.set(W, N.concat(R));
47477
47486
  }
47478
47487
  c?.clear();
47479
47488
  }
@@ -47510,18 +47519,21 @@ ${u}`), u;
47510
47519
  if (A.length) {
47511
47520
  let q = A.length - 1;
47512
47521
  const m = A[q].time;
47513
- if (f = f.filter((D) => D.time >= m), f[0]?.time === m) {
47514
- const D = A.pop();
47515
- q -= 1, Object.assign(f[0], { result: D?.result });
47522
+ f = f.filter((B) => B.time >= m);
47523
+ const W = f[0]?.time;
47524
+ if (W === m) {
47525
+ const B = A.pop();
47526
+ q -= 1, Object.assign(f[0], { result: B?.result });
47516
47527
  }
47517
- for (const D of f)
47518
- q += 1, D.barindex = q;
47528
+ for (const B of f)
47529
+ q += 1, B.barindex = q;
47519
47530
  if (!f.length)
47520
47531
  continue;
47521
- const W = c?.get(O)?.mintick || 1e-5;
47532
+ W > m && f.push(Object.assign(A[q], { isrealtime: !1 })), f[f.length - 1].isrealtime = !0;
47533
+ const v = c?.get(O)?.mintick || 1e-5;
47522
47534
  o?.set(O, A.concat(f));
47523
- const { varCacheData: v, funcCacheData: y } = s[b] || {}, { logs: N = [], errors: w = [], cacheData: R } = await t.request.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: v, funcCacheData: y, mintick: W }), u, d) || {};
47524
- i.requestCacheData[b] = R, t.log.mergeLogs(N), t.addErrors(w, b);
47535
+ const { varCacheData: y, funcCacheData: N } = s[b] || {}, { logs: D = [], errors: R = [], cacheData: w } = await t.request.runScripts(l, b, !1, f, Object.assign(_, { varCacheData: y, funcCacheData: N, mintick: v }), u, d) || {};
47536
+ i.requestCacheData[b] = w, t.log.mergeLogs(D), t.addErrors(R, b);
47525
47537
  } else
47526
47538
  o?.set(O, A.concat(f));
47527
47539
  }