st-comp 0.0.166 → 0.0.168

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/KlinePlus.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import "./base-4bcd2756.js";
2
2
  import { v as Ce } from "./el-loading-5d29f26d.js";
3
- import { E as fe } from "./el-empty-64b2ea8a.js";
3
+ import { E as be } from "./el-empty-64b2ea8a.js";
4
4
  import "./el-tag-6036f51c.js";
5
- import { E as ke, a as be } from "./el-select-d3bce4d1.js";
5
+ import { E as ke, a as he } from "./el-select-d3bce4d1.js";
6
6
  import "./el-scrollbar-bcf29780.js";
7
7
  import "./el-popper-85365d5b.js";
8
- import { openBlock as R, createElementBlock as _, Fragment as Le, renderList as Ae, normalizeStyle as he, toDisplayString as te, inject as me, ref as P, onMounted as xe, nextTick as Ee, watch as Ne, onUnmounted as we, computed as se, withDirectives as ve, createElementVNode as $, createVNode as ee, createCommentVNode as oe, withCtx as Se, createBlock as ge } from "vue";
9
- import { d as p } from "./dayjs.min-54a4e095.js";
10
- import * as ce from "echarts";
11
- import { x as pe, G as Me, D as Qe } from "./index-7ed0999e.js";
12
- import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
8
+ import { openBlock as R, createElementBlock as _, Fragment as me, renderList as Ae, normalizeStyle as Ee, toDisplayString as Me, inject as xe, ref as P, onMounted as pe, nextTick as ve, watch as te, onUnmounted as we, computed as ce, withDirectives as Se, createElementVNode as $, createVNode as ee, createCommentVNode as Ne, withCtx as Qe, createBlock as ge } from "vue";
9
+ import { d as m } from "./dayjs.min-54a4e095.js";
10
+ import * as se from "echarts";
11
+ import { x as Oe, G as ae, D as Ue } from "./index-7ed0999e.js";
12
+ import { _ as je } from "./_plugin-vue_export-helper-dad06003.js";
13
13
  import "./use-global-config-946f61a4.js";
14
14
  import "./use-form-common-props-54c31983.js";
15
15
  import "./index-ef7c4392.js";
@@ -21,7 +21,7 @@ import "./index-21fb27eb.js";
21
21
  import "./scroll-0277d145.js";
22
22
  import "./debounce-51046b06.js";
23
23
  import "./_commonjsHelpers-10dfc225.js";
24
- const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Pe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Re = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: Fe } = pe, J = {
24
+ const Pe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Re = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Fe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: Ve } = Oe, W = {
25
25
  // 单屏展示条目上限
26
26
  minValueSpan: 5,
27
27
  maxValueSpan: 2e3,
@@ -29,9 +29,29 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
29
29
  loadCheckCount: 500,
30
30
  // 加载更多: 载入条目
31
31
  loadAddCount: 2e3
32
- }, Ve = (n, d) => {
33
- const l = n[d], j = d === 0 ? n[d] : n[d - 1];
34
- return l[0] === l[1] ? l[0] >= j[1] ? {
32
+ }, _e = {
33
+ 1: 240,
34
+ // 每天240根(4小时×60分钟)
35
+ 2: 48,
36
+ // 每天48根(4小时×12根)
37
+ 3: 16,
38
+ // 每天16根(4小时×4根)
39
+ 4: 8,
40
+ // 每天8根(4小时×2根)
41
+ 5: 4,
42
+ // 每天4根(4小时×1根)
43
+ 6: 1,
44
+ // 每天1根
45
+ 7: 0.2,
46
+ // 每周1根(按5个交易日算)
47
+ 8: 0.033
48
+ // 每月1根(按21个交易日算)
49
+ }, Ie = ({ startTime: n, endTime: d, cycle: l }) => {
50
+ const { maxValueSpan: u } = W, j = Math.ceil((u + 1e3) / _e[l]), A = m(n);
51
+ return [m(d).diff(A, "day") <= j ? n : m(d).subtract(j, "day").format("YYYY-MM-DD HH:mm:ss"), d];
52
+ }, He = (n, d) => {
53
+ const l = n[d], u = d === 0 ? n[d] : n[d - 1];
54
+ return l[0] === l[1] ? l[0] >= u[1] ? {
35
55
  color: "transparent",
36
56
  borderColor: "#FF0000"
37
57
  } : {
@@ -42,9 +62,9 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
42
62
  } : {
43
63
  color: "#00FFFF"
44
64
  };
45
- }, _e = (n, d, l) => {
46
- var u, A, I, D;
47
- const j = n.subIndicator.map((e) => {
65
+ }, Be = (n, d, l) => {
66
+ var j, A, I, D;
67
+ const u = n.subIndicator.map((e) => {
48
68
  if (e.series === "bar")
49
69
  return {
50
70
  name: "subMain",
@@ -55,7 +75,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
55
75
  symbol: "none",
56
76
  data: e.data.map((E, v) => e.seriesColor === "kline" ? {
57
77
  value: E,
58
- itemStyle: Ve(n.data, v)
78
+ itemStyle: He(n.data, v)
59
79
  } : e.seriesColor === "value" ? {
60
80
  value: E,
61
81
  itemStyle: {
@@ -98,7 +118,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
98
118
  type: "inside",
99
119
  startValue: d,
100
120
  endValue: l,
101
- maxValueSpan: J.maxValueSpan
121
+ maxValueSpan: W.maxValueSpan
102
122
  }
103
123
  ],
104
124
  tooltip: {
@@ -114,7 +134,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
114
134
  if (E === "x")
115
135
  return null;
116
136
  if (e.axisIndex === 1)
117
- return String(Fe(v));
137
+ return String(Ve(v));
118
138
  }
119
139
  }
120
140
  },
@@ -137,7 +157,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
137
157
  },
138
158
  {
139
159
  position: "left",
140
- min: ((u = n.subIndicator[0]) == null ? void 0 : u.leftYAxisRange) === "cover" ? (e) => e.min : null,
160
+ min: ((j = n.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
141
161
  max: ((A = n.subIndicator[0]) == null ? void 0 : A.leftYAxisRange) === "cover" ? (e) => e.max : null,
142
162
  splitNumber: 1,
143
163
  axisLine: {
@@ -167,99 +187,99 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
167
187
  }
168
188
  }
169
189
  ],
170
- series: j
190
+ series: u
171
191
  };
172
- }, je = (n, d, l = "strict") => {
173
- let j = 0, u = n.length - 1, A = -1;
174
- for (; j <= u; ) {
175
- let I = Math.floor((j + u) / 2);
192
+ }, ue = (n, d, l = "strict") => {
193
+ let u = 0, j = n.length - 1, A = -1;
194
+ for (; u <= j; ) {
195
+ let I = Math.floor((u + j) / 2);
176
196
  if (l === "strict") {
177
197
  if (n[I] === d)
178
198
  return I;
179
- n[I] < d ? j = I + 1 : u = I - 1;
199
+ n[I] < d ? u = I + 1 : j = I - 1;
180
200
  } else
181
- l === "gte" && (n[I] >= d ? (A = I, u = I - 1) : j = I + 1);
201
+ l === "gte" && (n[I] >= d ? (A = I, j = I - 1) : u = I + 1);
182
202
  }
183
203
  return l === "strict" ? -1 : A;
184
- }, Ie = (n, d) => ({
204
+ }, Ye = (n, d) => ({
185
205
  data: [...n.data, ...d.data.slice(1)],
186
- mainIndicator: n.mainIndicator.map((l, j) => ({
206
+ mainIndicator: n.mainIndicator.map((l, u) => ({
187
207
  ...l,
188
- data: [...l.data, ...d.mainIndicator[j].data.slice(1)]
208
+ data: [...l.data, ...d.mainIndicator[u].data.slice(1)]
189
209
  })),
190
- subIndicator: n.subIndicator.map((l, j) => ({
210
+ subIndicator: n.subIndicator.map((l, u) => ({
191
211
  ...l,
192
- data: [...l.data, ...d.subIndicator[j].data.slice(1)]
212
+ data: [...l.data, ...d.subIndicator[u].data.slice(1)]
193
213
  })),
194
214
  time: [...n.time, ...d.time.slice(1)]
195
- }), Ye = (n, d, l) => {
215
+ }), Le = (n, d, l) => {
196
216
  switch (l) {
197
217
  case "5": {
198
218
  let g = [
199
219
  ...new Set(
200
- n.slice(-20).map((z) => {
201
- const t = new Date(z), N = String(t.getHours()).padStart(2, "0"), Y = String(t.getMinutes()).padStart(2, "0"), f = String(t.getSeconds()).padStart(2, "0");
202
- return `${N}:${Y}:${f}`;
220
+ n.slice(-20).map((y) => {
221
+ const a = new Date(y), s = String(a.getHours()).padStart(2, "0"), Y = String(a.getMinutes()).padStart(2, "0"), b = String(a.getSeconds()).padStart(2, "0");
222
+ return `${s}:${Y}:${b}`;
203
223
  })
204
224
  )
205
225
  ];
206
- g.includes("00:00:00") && (g.splice(g.indexOf("00:00:00"), 1), g.push("24:00:00")), g = g.sort((z, t) => (/* @__PURE__ */ new Date(`2000-01-30 ${z}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${t}`)).getTime());
207
- const y = new Date(d), o = y.getFullYear(), s = String(y.getMonth() + 1).padStart(2, "0"), M = String(y.getDate()).padStart(2, "0"), L = String(y.getHours()).padStart(2, "0"), c = String(y.getMinutes()).padStart(2, "0"), i = String(y.getSeconds()).padStart(2, "0");
226
+ g.includes("00:00:00") && (g.splice(g.indexOf("00:00:00"), 1), g.push("24:00:00")), g = g.sort((y, a) => (/* @__PURE__ */ new Date(`2000-01-30 ${y}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${a}`)).getTime());
227
+ const T = new Date(d), N = T.getFullYear(), r = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), L = String(T.getHours()).padStart(2, "0"), c = String(T.getMinutes()).padStart(2, "0"), i = String(T.getSeconds()).padStart(2, "0");
208
228
  if (`${L}:${c}:${i}` == "00:00:00")
209
- return `${o}-${s}-${M} 01:00:00`;
229
+ return `${N}-${r}-${M} 01:00:00`;
210
230
  {
211
- let z = null;
212
- for (let t = 0; t < g.length; t++) {
213
- const N = g[t].split(":");
214
- if (+`${N[0]}${N[1]}${N[2]}` >= +`${L}${c}${i}`) {
215
- z = g[t];
231
+ let y = null;
232
+ for (let a = 0; a < g.length; a++) {
233
+ const s = g[a].split(":");
234
+ if (+`${s[0]}${s[1]}${s[2]}` >= +`${L}${c}${i}`) {
235
+ y = g[a];
216
236
  break;
217
237
  }
218
238
  }
219
- if (z === "24:00:00") {
220
- const t = new Date(d);
221
- t.setDate(t.getDate() + 1);
222
- const N = t.getFullYear(), Y = String(t.getMonth() + 1).padStart(2, "0"), f = String(t.getDate()).padStart(2, "0");
223
- return `${N}-${Y}-${f} 00:00:00`;
239
+ if (y === "24:00:00") {
240
+ const a = new Date(d);
241
+ a.setDate(a.getDate() + 1);
242
+ const s = a.getFullYear(), Y = String(a.getMonth() + 1).padStart(2, "0"), b = String(a.getDate()).padStart(2, "0");
243
+ return `${s}-${Y}-${b} 00:00:00`;
224
244
  }
225
- return `${o}-${s}-${M} ${z}`;
245
+ return `${N}-${r}-${M} ${y}`;
226
246
  }
227
247
  }
228
248
  case "6": {
229
- const g = new Date(d), y = g.getHours();
230
- if (y >= 4 && y < 21) {
231
- const o = g.getFullYear(), s = String(g.getMonth() + 1).padStart(2, "0"), M = String(g.getDate()).padStart(2, "0");
232
- return `${o}-${s}-${M} 09:00:00`;
249
+ const g = new Date(d), T = g.getHours();
250
+ if (T >= 4 && T < 21) {
251
+ const N = g.getFullYear(), r = String(g.getMonth() + 1).padStart(2, "0"), M = String(g.getDate()).padStart(2, "0");
252
+ return `${N}-${r}-${M} 09:00:00`;
233
253
  } else {
234
- const o = new Date(d);
235
- o.getHours() >= 21 && o.setDate(o.getDate() + 1);
236
- const s = o.getFullYear(), M = String(o.getMonth() + 1).padStart(2, "0"), L = String(o.getDate()).padStart(2, "0"), c = `${s}-${M}-${L} 09:00:00`, i = je(n, c, "gte");
254
+ const N = new Date(d);
255
+ N.getHours() >= 21 && N.setDate(N.getDate() + 1);
256
+ const r = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), L = String(N.getDate()).padStart(2, "0"), c = `${r}-${M}-${L} 09:00:00`, i = ue(n, c, "gte");
237
257
  return i === -1 ? c : n[i];
238
258
  }
239
259
  }
240
260
  case "7": {
241
- const g = new Date(d), y = new Date(g);
242
- y.setDate(g.getDate() - g.getDay()), y.setHours(0, 0, 0, 0);
243
- const o = new Date(y);
244
- o.setDate(y.getDate() + 5), o.setHours(23, 59, 59, 0);
245
- const s = new Date(y);
246
- s.setDate(y.getDate() + 12), s.setHours(9, 0, 0, 0);
247
- const M = g <= o ? o : s, L = M.getFullYear(), c = String(M.getMonth() + 1).padStart(2, "0"), i = String(M.getDate()).padStart(2, "0");
261
+ const g = new Date(d), T = new Date(g);
262
+ T.setDate(g.getDate() - g.getDay()), T.setHours(0, 0, 0, 0);
263
+ const N = new Date(T);
264
+ N.setDate(T.getDate() + 5), N.setHours(23, 59, 59, 0);
265
+ const r = new Date(T);
266
+ r.setDate(T.getDate() + 12), r.setHours(9, 0, 0, 0);
267
+ const M = g <= N ? N : r, L = M.getFullYear(), c = String(M.getMonth() + 1).padStart(2, "0"), i = String(M.getDate()).padStart(2, "0");
248
268
  return `${L}-${c}-${i} 09:00:00`;
249
269
  }
250
270
  case "8": {
251
- const g = new Date(d), y = new Date(g.getFullYear(), g.getMonth() + 1, 1), o = new Date(y);
252
- o.setDate(y.getDate() - 1), o.setHours(9, 0, 0, 0);
253
- const s = o.getFullYear(), M = String(o.getMonth() + 1).padStart(2, "0"), L = String(o.getDate()).padStart(2, "0");
254
- return `${s}-${M}-${L} 09:00:00`;
271
+ const g = new Date(d), T = new Date(g.getFullYear(), g.getMonth() + 1, 1), N = new Date(T);
272
+ N.setDate(T.getDate() - 1), N.setHours(9, 0, 0, 0);
273
+ const r = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), L = String(N.getDate()).padStart(2, "0");
274
+ return `${r}-${M}-${L} 09:00:00`;
255
275
  }
256
276
  }
257
- const j = new Date(d), u = j.getFullYear(), A = j.getMonth(), I = j.getDate(), D = j.getHours(), e = j.getMinutes(), E = j.getSeconds(), v = (g) => {
258
- let y = null;
259
- const o = Math.floor(e / g);
260
- e % g === 0 && E === 0 ? y = e : y = (o + 1) * g;
261
- const s = Math.floor(y / 60), M = D + s, L = y % 60, c = new Date(u, A, I, M, L, 0), i = (S) => String(S).padStart(2, "0"), z = c.getFullYear(), t = i(c.getMonth() + 1), N = i(c.getDate()), Y = i(c.getHours()), f = i(c.getMinutes());
262
- return `${z}-${t}-${N} ${Y}:${f}:00`;
277
+ const u = new Date(d), j = u.getFullYear(), A = u.getMonth(), I = u.getDate(), D = u.getHours(), e = u.getMinutes(), E = u.getSeconds(), v = (g) => {
278
+ let T = null;
279
+ const N = Math.floor(e / g);
280
+ e % g === 0 && E === 0 ? T = e : T = (N + 1) * g;
281
+ const r = Math.floor(T / 60), M = D + r, L = T % 60, c = new Date(j, A, I, M, L, 0), i = (S) => String(S).padStart(2, "0"), y = c.getFullYear(), a = i(c.getMonth() + 1), s = i(c.getDate()), Y = i(c.getHours()), b = i(c.getMinutes());
282
+ return `${y}-${a}-${s} ${Y}:${b}:00`;
263
283
  };
264
284
  switch (l) {
265
285
  case "1":
@@ -274,36 +294,36 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
274
294
  throw new Error(`Unsupported cycle: ${d} ${l}`);
275
295
  }
276
296
  }, re = (n, d, l) => {
277
- let j = null, u = null;
297
+ let u = null, j = null;
278
298
  const [A, I] = d;
279
299
  switch (l) {
280
300
  case "6": {
281
- j = n.find((D) => new Date(p(D).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(A).getTime()), u = n.findLast((D) => new Date(p(D).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(I).getTime());
301
+ u = n.find((D) => new Date(m(D).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(A).getTime()), j = n.findLast((D) => new Date(m(D).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(I).getTime());
282
302
  break;
283
303
  }
284
304
  case "7": {
285
- const D = p(I).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
286
- j = n.find((e) => p(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === p(A).endOf("week").add(1, "day").format("YYYY-MM-DD")), u = n.findLast((e) => new Date(e).getTime() <= new Date(D).getTime());
305
+ const D = m(I).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
306
+ u = n.find((e) => m(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === m(A).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = n.findLast((e) => new Date(e).getTime() <= new Date(D).getTime());
287
307
  break;
288
308
  }
289
309
  case "8": {
290
- j = n.find((D) => p(D).format("YYYY-MM") === p(A).format("YYYY-MM")), u = n.findLast((D) => p(D).format("YYYY-MM") === p(I).format("YYYY-MM"));
310
+ u = n.find((D) => m(D).format("YYYY-MM") === m(A).format("YYYY-MM")), j = n.findLast((D) => m(D).format("YYYY-MM") === m(I).format("YYYY-MM"));
291
311
  break;
292
312
  }
293
313
  default:
294
- j = n.find((D) => new Date(D).getTime() >= new Date(A).getTime()), u = n.findLast((D) => new Date(D).getTime() <= new Date(I).getTime());
314
+ u = n.find((D) => new Date(D).getTime() >= new Date(A).getTime()), j = n.findLast((D) => new Date(D).getTime() <= new Date(I).getTime());
295
315
  }
296
- return [j, u];
297
- }, Ge = (n) => {
316
+ return [u, j];
317
+ }, Ze = (n) => {
298
318
  const d = [];
299
- return n.reduce((l, j) => {
300
- const u = `${j.coord[0]}+${j.label.position}`, A = j.label.position === "top" ? -16 : 16, I = l.get(u);
301
- return I ? (l.set(u, I + 1), j.symbolOffset[1] = A * (I + 1)) : (l.set(u, 1), j.symbolOffset[1] = j.label.position === "top" ? -7 : 7), d.push(j), l;
319
+ return n.reduce((l, u) => {
320
+ const j = `${u.coord[0]}+${u.label.position}`, A = u.label.position === "top" ? -16 : 16, I = l.get(j);
321
+ return I ? (l.set(j, I + 1), u.symbolOffset[1] = A * (I + 1)) : (l.set(j, 1), u.symbolOffset[1] = u.label.position === "top" ? -7 : 7), d.push(u), l;
302
322
  }, /* @__PURE__ */ new Map()), d;
303
- }, Ze = (n, d, l, j, u) => {
304
- const A = (y, o) => {
305
- const { direction: s = "", tradeAction: M = "", tradeType: L = "" } = y, c = L ?? s + M;
306
- switch (o) {
323
+ }, Ge = (n, d, l, u, j) => {
324
+ const A = (T, N) => {
325
+ const { direction: r = "", tradeAction: M = "", tradeType: L = "" } = T, c = L ?? r + M;
326
+ switch (N) {
307
327
  case 0:
308
328
  return (/* @__PURE__ */ new Map([
309
329
  ["开多", "买"],
@@ -312,20 +332,20 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
312
332
  ["平空", "买"]
313
333
  ])).get(c);
314
334
  case 1:
315
- return L ?? s + M;
335
+ return L ?? r + M;
316
336
  }
317
- }, I = (y, o, s, M) => y.reduce((L, c) => {
337
+ }, I = (T, N, r, M) => T.reduce((L, c) => {
318
338
  var S;
319
- const i = A(c, 0), z = y.filter((U) => U.klineTime === c.klineTime), t = [...new Set(z.map((U) => A(U, 0)))];
320
- let N = null;
321
- t.length > 1 ? N = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : N = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Pe, "./images/t.svg": Re }))[`./images/${i === "买" ? "buy" : "sell"}.svg`], self.location).href;
322
- const Y = je(s, c.klineTime), f = (S = M[Y]) == null ? void 0 : S[3];
323
- return o.forEach((U) => {
324
- var Z;
339
+ const i = A(c, 0), y = T.filter((U) => U.klineTime === c.klineTime), a = [...new Set(y.map((U) => A(U, 0)))];
340
+ let s = null;
341
+ a.length > 1 ? s = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : s = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Pe, "./images/sell.svg": Re, "./images/t.svg": Fe }))[`./images/${i === "买" ? "buy" : "sell"}.svg`], self.location).href;
342
+ const Y = ue(r, c.klineTime), b = (S = M[Y]) == null ? void 0 : S[3];
343
+ return N.forEach((U) => {
344
+ var H;
325
345
  const K = i === "买" ? 0 : 1;
326
- U.range[K] === c.klineTime && (U.rangeValue[K] = (Z = M[Y]) == null ? void 0 : Z[i === "买" ? 2 : 3]);
346
+ U.range[K] === c.klineTime && (U.rangeValue[K] = (H = M[Y]) == null ? void 0 : H[i === "买" ? 2 : 3]);
327
347
  }), L.push({
328
- symbol: N,
348
+ symbol: s,
329
349
  symbolSize: 25,
330
350
  symbolRotate: 0,
331
351
  symbolOffset: [0, 0],
@@ -333,7 +353,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
333
353
  show: !1,
334
354
  position: "top"
335
355
  },
336
- coord: [c.klineTime, f],
356
+ coord: [c.klineTime, b],
337
357
  silent: !0,
338
358
  animation: !1,
339
359
  customData: {
@@ -350,28 +370,28 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
350
370
  // 收仓价
351
371
  }
352
372
  }), L;
353
- }, []), D = (y, o, s, M) => y.reduce((L, c, i) => {
354
- var f, S;
355
- const z = A(c, 1), t = ["开多", "开空"].includes(z) ? "top" : "bottom", N = je(s, c.klineTime), Y = t === "top" ? (f = M[N]) == null ? void 0 : f[3] : (S = M[N]) == null ? void 0 : S[2];
356
- return o.forEach((U) => {
357
- (t === "top" ? U.range[0] : U.range[1]) === c.klineTime && (U.rangeValue[t === "top" ? 0 : 1] = Y);
373
+ }, []), D = (T, N, r, M) => T.reduce((L, c, i) => {
374
+ var b, S;
375
+ const y = A(c, 1), a = ["开多", "开空"].includes(y) ? "top" : "bottom", s = ue(r, c.klineTime), Y = a === "top" ? (b = M[s]) == null ? void 0 : b[3] : (S = M[s]) == null ? void 0 : S[2];
376
+ return N.forEach((U) => {
377
+ (a === "top" ? U.range[0] : U.range[1]) === c.klineTime && (U.rangeValue[a === "top" ? 0 : 1] = Y);
358
378
  }), L.push({
359
379
  symbol: "triangle",
360
380
  symbolSize: [10, 12],
361
- symbolRotate: t === "top" ? 180 : 0,
381
+ symbolRotate: a === "top" ? 180 : 0,
362
382
  symbolOffset: [0, 0],
363
383
  label: {
364
384
  show: !0,
365
- position: t,
385
+ position: a,
366
386
  color: "#fff",
367
- formatter: `${z} ${t === "top" ? "+" : "-"} ${c.amount}手 ${c.part ? `(${c.part}份)` : ""}`
387
+ formatter: `${y} ${a === "top" ? "+" : "-"} ${c.amount}手 ${c.part ? `(${c.part}份)` : ""}`
368
388
  },
369
- itemStyle: { color: t === "top" ? "#FF0000" : "#389e0d" },
389
+ itemStyle: { color: a === "top" ? "#FF0000" : "#389e0d" },
370
390
  coord: [c.klineTime, Y],
371
391
  silent: !0,
372
392
  animation: !1,
373
393
  customData: {
374
- tradeType: z,
394
+ tradeType: y,
375
395
  amount: c.amount,
376
396
  // 手数
377
397
  part: c.part,
@@ -384,55 +404,55 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
384
404
  // 收仓价
385
405
  }
386
406
  }), L;
387
- }, []), e = (y, o, s) => {
388
- const { basePointData: M, baseLineData: L } = y.reduce(
389
- (t, N) => {
407
+ }, []), e = (T, N, r) => {
408
+ const { basePointData: M, baseLineData: L } = T.reduce(
409
+ (a, s) => {
390
410
  const Y = {
391
- pointTime: N.openTime,
411
+ pointTime: s.openTime,
392
412
  // 交易点位的真实时间
393
- klineTime: Ye(s, N.openTime, o),
413
+ klineTime: Le(r, s.openTime, N),
394
414
  // 交易点位的K线时间
395
415
  tradeAction: "开",
396
416
  // 交易行为
397
- tradeDirection: N.tradeDirection ? "空" : "多",
417
+ tradeDirection: s.tradeDirection ? "空" : "多",
398
418
  // 交易方向 1:空, 0:多
399
- tradeType: `开${N.tradeDirection ? "空" : "多"}`,
419
+ tradeType: `开${s.tradeDirection ? "空" : "多"}`,
400
420
  part: null,
401
421
  // 份数,
402
- amount: N.tradeVolume,
422
+ amount: s.tradeVolume,
403
423
  // 手数
404
- profitAndLoss: N.profitAndLoss,
424
+ profitAndLoss: s.profitAndLoss,
405
425
  // 盈亏
406
- openPriceAll: N.openPrice * N.tradeVolume,
426
+ openPriceAll: s.openPrice * s.tradeVolume,
407
427
  // 开仓价格
408
- closePriceAll: N.closePrice * N.tradeVolume
428
+ closePriceAll: s.closePrice * s.tradeVolume
409
429
  // 平仓价格
410
- }, f = {
411
- pointTime: N.closeTime,
430
+ }, b = {
431
+ pointTime: s.closeTime,
412
432
  // 交易点位的真实时间
413
- klineTime: Ye(s, N.closeTime, o),
433
+ klineTime: Le(r, s.closeTime, N),
414
434
  // 交易点位的K线时间
415
435
  tradeAction: "平",
416
436
  // 交易行为
417
- tradeDirection: N.tradeDirection ? "空" : "多",
437
+ tradeDirection: s.tradeDirection ? "空" : "多",
418
438
  // 交易方向 1:空, 0:多
419
- tradeType: `平${N.tradeDirection ? "空" : "多"}`,
439
+ tradeType: `平${s.tradeDirection ? "空" : "多"}`,
420
440
  part: null,
421
441
  // 份数,
422
- amount: N.tradeVolume,
442
+ amount: s.tradeVolume,
423
443
  // 手数
424
- profitAndLoss: N.profitAndLoss,
444
+ profitAndLoss: s.profitAndLoss,
425
445
  // 盈亏
426
- openPriceAll: N.openPrice * N.tradeVolume,
446
+ openPriceAll: s.openPrice * s.tradeVolume,
427
447
  // 开仓价格
428
- closePriceAll: N.closePrice * N.tradeVolume
448
+ closePriceAll: s.closePrice * s.tradeVolume
429
449
  // 平仓价格
430
450
  };
431
- return t.basePointData.push(Y, f), t.baseLineData.push({
432
- range: [Y.klineTime, f.klineTime],
451
+ return a.basePointData.push(Y, b), a.baseLineData.push({
452
+ range: [Y.klineTime, b.klineTime],
433
453
  rangeValue: [null, null],
434
- color: f.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
435
- }), t;
454
+ color: b.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
455
+ }), a;
436
456
  },
437
457
  {
438
458
  basePointData: [],
@@ -440,49 +460,49 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
440
460
  baseLineData: []
441
461
  // 连线数据
442
462
  }
443
- ), i = [...M.reduce((t, N) => {
444
- const Y = JSON.parse(JSON.stringify(N)), f = Y.klineTime + Y.tradeType;
445
- if (t.has(f)) {
446
- const S = t.get(f);
463
+ ), i = [...M.reduce((a, s) => {
464
+ const Y = JSON.parse(JSON.stringify(s)), b = Y.klineTime + Y.tradeType;
465
+ if (a.has(b)) {
466
+ const S = a.get(b);
447
467
  Y.amount += S.amount, Y.part += S.part, Y.profitAndLoss += S.profitAndLoss, Y.openPriceAll += S.openPriceAll, Y.closePriceAll += S.closePriceAll;
448
468
  }
449
- return t.set(f, Y), t;
450
- }, /* @__PURE__ */ new Map([])).values()].sort((t, N) => new Date(t.klineTime) - new Date(N.klineTime)), z = L.filter(({ range: t }) => t[0] !== t[1]);
451
- return { pointData: i, lineData: z };
452
- }, { pointData: E, lineData: v } = e(n, d, j);
469
+ return a.set(b, Y), a;
470
+ }, /* @__PURE__ */ new Map([])).values()].sort((a, s) => new Date(a.klineTime) - new Date(s.klineTime)), y = L.filter(({ range: a }) => a[0] !== a[1]);
471
+ return { pointData: i, lineData: y };
472
+ }, { pointData: E, lineData: v } = e(n, d, u);
453
473
  return {
454
- tradePointData: (l === 0 ? I : D)(E, v, j, u),
455
- tradeLineData: v.map(({ range: y, rangeValue: o, color: s }) => [
474
+ tradePointData: (l === 0 ? I : D)(E, v, u, j),
475
+ tradeLineData: v.map(({ range: T, rangeValue: N, color: r }) => [
456
476
  {
457
477
  symbol: "none",
458
- coord: [y[0], o[0]],
459
- lineStyle: { color: s, width: 2, type: "solid" },
478
+ coord: [T[0], N[0]],
479
+ lineStyle: { color: r, width: 2, type: "solid" },
460
480
  silent: !0,
461
481
  animation: !1
462
482
  },
463
483
  {
464
484
  symbol: "none",
465
- coord: [y[1], o[1]],
485
+ coord: [T[1], N[1]],
466
486
  silent: !0,
467
487
  animation: !1
468
488
  }
469
489
  ])
470
490
  };
471
- }, Be = (n, d) => {
491
+ }, $e = (n, d) => {
472
492
  let l = [];
473
493
  if (Number(d) <= 5)
474
- l = n.map(({ tradeDate: j, netPositionValue: u }) => [p(j).format("YYYY-MM-DD HH:mm:ss"), u]);
494
+ l = n.map(({ tradeDate: u, netPositionValue: j }) => [m(u).format("YYYY-MM-DD HH:mm:ss"), j]);
475
495
  else if (Number(d) === 6) {
476
- const j = n.reduce((u, A) => {
496
+ const u = n.reduce((j, A) => {
477
497
  const { tradeDate: I, netPositionValue: D } = A;
478
- return u.set(p(I).format("YYYY-MM-DD 09:00:00"), D), u;
498
+ return j.set(m(I).format("YYYY-MM-DD 09:00:00"), D), j;
479
499
  }, /* @__PURE__ */ new Map());
480
- l = Array.from(j, ([u, A]) => [u, A]);
500
+ l = Array.from(u, ([j, A]) => [j, A]);
481
501
  } else
482
502
  l = [];
483
503
  return { netPositionLineData: l };
484
504
  };
485
- const He = { class: "tips" }, $e = {
505
+ const We = { class: "tips" }, Je = {
486
506
  __name: "Tips",
487
507
  props: {
488
508
  data: {
@@ -491,16 +511,16 @@ const He = { class: "tips" }, $e = {
491
511
  }
492
512
  },
493
513
  setup(n) {
494
- return (d, l) => (R(), _("div", He, [
495
- (R(!0), _(Le, null, Ae(n.data, (j, u) => (R(), _("span", {
496
- key: u,
514
+ return (d, l) => (R(), _("div", We, [
515
+ (R(!0), _(me, null, Ae(n.data, (u, j) => (R(), _("span", {
516
+ key: j,
497
517
  class: "item",
498
- style: he({ color: j.color })
499
- }, te(j.label) + " " + te(j.value), 5))), 128))
518
+ style: Ee({ color: u.color })
519
+ }, Me(u.label) + " " + Me(u.value), 5))), 128))
500
520
  ]));
501
521
  }
502
- }, le = /* @__PURE__ */ ze($e, [["__scopeId", "data-v-df1caefe"]]);
503
- const We = {
522
+ }, le = /* @__PURE__ */ je(Je, [["__scopeId", "data-v-df1caefe"]]);
523
+ const Ke = {
504
524
  __name: "SliderChart",
505
525
  props: {
506
526
  // K线当屏时间范围
@@ -516,8 +536,8 @@ const We = {
516
536
  },
517
537
  emits: ["change"],
518
538
  setup(n, { expose: d, emit: l }) {
519
- const { request: j } = me("stConfig");
520
- let u = null;
539
+ const { request: u } = xe("stConfig");
540
+ let j = null;
521
541
  const A = P(null), I = l, D = n, e = P({
522
542
  data: [],
523
543
  // <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
@@ -525,47 +545,47 @@ const We = {
525
545
  subIndicator: [],
526
546
  time: []
527
547
  }), E = async () => {
528
- const o = {
548
+ const N = {
529
549
  varietyCode: D.varietyCode,
530
550
  cycle: "6",
531
551
  startTime: "1999-01-01 00:00:00",
532
- endTime: p().format("YYYY-MM-DD 23:59:59"),
552
+ endTime: m().format("YYYY-MM-DD 23:59:59"),
533
553
  deleteFirstNumber: 1
534
554
  // 后端要求标识
535
555
  };
536
556
  switch (D.varietyStock) {
537
557
  case 0: {
538
- Object.assign(o, {
558
+ Object.assign(N, {
539
559
  contractType: D.klineType
540
560
  });
541
561
  break;
542
562
  }
543
563
  case 1: {
544
- Object.assign(o, {
564
+ Object.assign(N, {
545
565
  right: D.rightType
546
566
  });
547
567
  break;
548
568
  }
549
569
  }
550
- const { body: s } = await j.post("/middleLayer/kline/getKline", o);
551
- s ? e.value = s : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, y("init");
552
- }, v = Me((o) => {
553
- if (!o.dataZoomId)
570
+ const { body: r } = await u.post("/middleLayer/kline/getKline", N);
571
+ r ? e.value = r : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
572
+ }, v = ae((N) => {
573
+ if (!N.dataZoomId)
554
574
  return;
555
- const s = u.getOption();
556
- if (s != null && s.dataZoom[0]) {
557
- const { startValue: M, endValue: L } = u.getOption().dataZoom[0], { time: c } = e.value, i = `${c[M].split(" ")[0]} 00:00:00`, z = `${c[L].split(" ")[0]} 23:59:59`;
558
- console.log(`检测到拖拽轴被拖动, 时间区间: ${i} - ${z}`), I("change", { startTime: i, endTime: z });
575
+ const r = j.getOption();
576
+ if (r != null && r.dataZoom[0]) {
577
+ const { startValue: M, endValue: L } = j.getOption().dataZoom[0], { time: c } = e.value, i = `${c[M].split(" ")[0]} 00:00:00`, y = `${c[L].split(" ")[0]} 23:59:59`;
578
+ console.log(`检测到拖拽轴被拖动, 时间区间: ${i} - ${y}`), I("change", { startTime: i, endTime: y });
559
579
  }
560
- }, 200), g = Me(({ startTime: o, endTime: s }) => {
561
- y("reset", { startTime: o, endTime: s });
562
- }, 100), y = (o, s) => {
563
- switch (o) {
580
+ }, 200), g = ae(({ startTime: N, endTime: r }) => {
581
+ T("reset", { startTime: N, endTime: r });
582
+ }, 100), T = (N, r) => {
583
+ switch (N) {
564
584
  case "init": {
565
585
  const { data: M, time: L } = e.value, { xAxisData: c, lineData: i } = M.reduce(
566
- (t, N, Y) => (t.xAxisData.push(L[Y].split(" ")[0]), t.lineData.push(N[1]), t),
586
+ (a, s, Y) => (a.xAxisData.push(L[Y].split(" ")[0]), a.lineData.push(s[1]), a),
567
587
  { xAxisData: [], lineData: [] }
568
- ), z = {
588
+ ), y = {
569
589
  grid: {
570
590
  height: 0,
571
591
  left: "100px",
@@ -601,62 +621,62 @@ const We = {
601
621
  }
602
622
  ]
603
623
  };
604
- if (u.setOption(z, !0), D.screenTimeRange.length) {
605
- const [t, N] = D.screenTimeRange;
606
- g({ startTime: t, endTime: N });
624
+ if (j.setOption(y, !0), D.screenTimeRange.length) {
625
+ const [a, s] = D.screenTimeRange;
626
+ g({ startTime: a, endTime: s });
607
627
  }
608
628
  break;
609
629
  }
610
630
  case "reset": {
611
- const { time: M } = e.value, L = p(s.startTime).format("YYYY-MM-DD"), c = p(s.endTime).format("YYYY-MM-DD");
612
- let i = -1, z = -1;
613
- for (let t = 0; t < M.length; t++) {
614
- const N = p(M[t]).format("YYYY-MM-DD");
615
- if (i !== -1 && z !== -1)
631
+ const { time: M } = e.value, L = m(r.startTime).format("YYYY-MM-DD"), c = m(r.endTime).format("YYYY-MM-DD");
632
+ let i = -1, y = -1;
633
+ for (let a = 0; a < M.length; a++) {
634
+ const s = m(M[a]).format("YYYY-MM-DD");
635
+ if (i !== -1 && y !== -1)
616
636
  break;
617
- i === -1 && (new Date(N) === new Date(L) ? i = t : new Date(N) > new Date(L) && (i = t - 1)), z === -1 && (new Date(N) === new Date(c) ? z = t : new Date(N) > new Date(c) && (z = t - 1));
637
+ i === -1 && (new Date(s) === new Date(L) ? i = a : new Date(s) > new Date(L) && (i = a - 1)), y === -1 && (new Date(s) === new Date(c) ? y = a : new Date(s) > new Date(c) && (y = a - 1));
618
638
  }
619
- z === -1 && (z = M.length - 1), u.dispatchAction({
639
+ y === -1 && (y = M.length - 1), j.dispatchAction({
620
640
  type: "dataZoom",
621
641
  startValue: i,
622
- endValue: z
642
+ endValue: y
623
643
  });
624
644
  break;
625
645
  }
626
646
  }
627
647
  };
628
- return xe(() => {
629
- Ee(() => {
630
- u = ce.init(A.value), u.on("datazoom", v), E();
648
+ return pe(() => {
649
+ ve(() => {
650
+ j = se.init(A.value), j.on("datazoom", v), E();
631
651
  });
632
- }), Ne(
652
+ }), te(
633
653
  () => D.screenTimeRange,
634
- (o) => {
635
- const [s, M] = o;
636
- g({ startTime: s, endTime: M });
654
+ (N) => {
655
+ const [r, M] = N;
656
+ g({ startTime: r, endTime: M });
637
657
  },
638
658
  { deep: !0 }
639
659
  ), we(() => {
640
- u.off("datazoom"), u.dispose();
660
+ j.off("datazoom"), j.dispose();
641
661
  }), d({
642
- resize: Me(() => u.resize(), 100)
643
- }), (o, s) => (R(), _("div", {
662
+ resize: ae(() => j.resize(), 100)
663
+ }), (N, r) => (R(), _("div", {
644
664
  class: "chart",
645
665
  ref_key: "sliderChartRef",
646
666
  ref: A
647
667
  }, null, 512));
648
668
  }
649
- }, Je = /* @__PURE__ */ ze(We, [["__scopeId", "data-v-503077bd"]]);
650
- const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
669
+ }, qe = /* @__PURE__ */ je(Ke, [["__scopeId", "data-v-503077bd"]]);
670
+ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
651
671
  key: 0,
652
672
  class: "screen-time-range"
653
- }, et = {
673
+ }, Mt = {
654
674
  key: 0,
655
675
  class: "sub-chart"
656
- }, tt = { class: "indicator" }, Mt = { class: "title" }, at = {
676
+ }, at = { class: "indicator" }, it = { class: "title" }, nt = {
657
677
  key: 1,
658
678
  class: "slider-chart"
659
- }, it = {
679
+ }, ot = {
660
680
  __name: "index",
661
681
  props: {
662
682
  varietyCode: { type: String, required: !0 },
@@ -685,16 +705,16 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
685
705
  syncBrushRange: { type: Object, default: () => ({ cycleList: [], startTime: null, endTime: null }) }
686
706
  },
687
707
  setup(n, { expose: d }) {
688
- const { round: l, formatValue: j } = pe, { request: u } = me("stConfig"), A = P(), I = P(!1), D = P(!1), e = n;
689
- let E = !1, v = !1, g = !1, y = !1, o = null, s = null, M = null;
708
+ const { round: l, formatValue: u } = Oe, { request: j } = xe("stConfig"), A = P(), I = P(!1), D = P(!1), e = n;
709
+ let E = !1, v = !1, g = !1, T = !1, N = null, r = null, M = null;
690
710
  const L = P(null), c = P(null), i = P({
691
711
  data: [],
692
712
  mainIndicator: [],
693
713
  subIndicator: [],
694
714
  time: []
695
- }), z = P(0), t = P([]), N = P(null), Y = P("VOL"), f = se(() => {
696
- const a = i.value.data[z.value];
697
- if (!a)
715
+ }), y = P(0), a = P([]), s = P(null), Y = P("VOL"), b = ce(() => {
716
+ const t = i.value.data[y.value];
717
+ if (!t)
698
718
  return [
699
719
  { label: "开", value: "-" },
700
720
  { label: "高", value: "-" },
@@ -703,52 +723,52 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
703
723
  { label: "额", value: "-" },
704
724
  { label: "涨跌", value: "-" }
705
725
  ];
706
- const r = [
707
- { label: "开", value: l(a[0]) },
708
- { label: "高", value: l(a[3]) },
709
- { label: "低", value: l(a[2]) },
710
- { label: "收", value: l(a[1]) }
726
+ const o = [
727
+ { label: "开", value: l(t[0]) },
728
+ { label: "高", value: l(t[3]) },
729
+ { label: "低", value: l(t[2]) },
730
+ { label: "收", value: l(t[1]) }
711
731
  ];
712
- a[4] !== null && r.push({ label: "额", value: j(a[4]) });
713
- let T;
714
- return a[6] > 0 ? T = "red" : a[6] < 0 && (T = "green"), r.push({ label: "涨跌", value: `${l(a[6])}%`, color: T }), r;
715
- }), S = se(() => {
716
- var a, r;
717
- return ((r = (a = i.value) == null ? void 0 : a.mainIndicator) == null ? void 0 : r.map((T) => ({ label: T.key, value: l(T.data[z.value]), color: T.color }))) || [];
718
- }), U = se(() => {
719
- var a, r;
720
- return ((r = (a = i.value) == null ? void 0 : a.subIndicator) == null ? void 0 : r.map((T) => ({ label: T.key, color: T.color, value: T.data[z.value] || "-" }))) || [];
732
+ t[4] !== null && o.push({ label: "额", value: u(t[4]) });
733
+ let z;
734
+ return t[6] > 0 ? z = "red" : t[6] < 0 && (z = "green"), o.push({ label: "涨跌", value: `${l(t[6])}%`, color: z }), o;
735
+ }), S = ce(() => {
736
+ var t, o;
737
+ return ((o = (t = i.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((z) => ({ label: z.key, value: l(z.data[y.value]), color: z.color }))) || [];
738
+ }), U = ce(() => {
739
+ var t, o;
740
+ return ((o = (t = i.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((z) => ({ label: z.key, color: z.color, value: z.data[y.value] || "-" }))) || [];
721
741
  }), K = () => {
722
- M || (M = ce.init(c.value), M.on(
742
+ M || (M = se.init(c.value), M.on(
723
743
  "highlight",
724
- Me((a) => {
725
- var r;
726
- a.dataIndex ? z.value = a.dataIndex : z.value = ((r = a.batch) == null ? void 0 : r[0].dataIndex) ?? -1;
744
+ ae((t) => {
745
+ var o;
746
+ t.dataIndex ? y.value = t.dataIndex : y.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
727
747
  }, 10)
728
748
  ), M.on(
729
749
  "datazoom",
730
- Me(async () => {
731
- var k;
732
- const { loadCheckCount: a } = J, { startValue: r, endValue: T } = ((k = M.getOption()) == null ? void 0 : k.dataZoom[0]) ?? {};
733
- g === !1 && y === !1 && r < a && await ue("history"), E === !1 && v === !1 && T > i.value.time.length - a && await ue("new"), ye();
750
+ ae(async () => {
751
+ var f;
752
+ const { loadCheckCount: t } = W, { startValue: o, endValue: z } = ((f = M.getOption()) == null ? void 0 : f.dataZoom[0]) ?? {};
753
+ g === !1 && T === !1 && o < t && await ze("history"), E === !1 && v === !1 && z > i.value.time.length - t && await ze("new"), ye();
734
754
  })
735
755
  ), M.on("globalout", () => {
736
- const a = M.getOption();
737
- z.value = a.dataZoom[0].endValue;
756
+ const t = M.getOption();
757
+ y.value = t.dataZoom[0].endValue;
738
758
  }), M.getZr().on("contextmenu", () => {
739
- var a;
740
- N.value = (a = i.value) == null ? void 0 : a.time[z.value];
741
- }), window.addEventListener("keydown", Te), e.userKlineConfig.enable_subChart && (s = ce.init(L.value), ce.connect([M, s])), o = Qe(c.value), o.listen(() => {
759
+ var t;
760
+ s.value = (t = i.value) == null ? void 0 : t.time[y.value];
761
+ }), window.addEventListener("keydown", de), e.userKlineConfig.enable_subChart && (r = se.init(L.value), se.connect([M, r])), N = Ue(c.value), N.listen(() => {
742
762
  requestAnimationFrame(() => {
743
- var a;
744
- M.resize(), s == null || s.resize(), (a = A.value) == null || a.resize();
763
+ var t;
764
+ M.resize(), r == null || r.resize(), (t = A.value) == null || t.resize();
745
765
  });
746
766
  }));
747
- }, Z = async ({ startTime: a, endTime: r }) => {
748
- g = !1, y = !1, E = !1, v = !1;
767
+ }, H = async ({ startTime: t, endTime: o }) => {
768
+ g = !1, T = !1, E = !1, v = !1;
749
769
  try {
750
770
  I.value = !0;
751
- const T = {
771
+ const z = {
752
772
  varietyCode: e.varietyCode,
753
773
  cycle: e.cycle,
754
774
  // 周期
@@ -758,26 +778,33 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
758
778
  // 合约类型
759
779
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
760
780
  subIndicator: Y.value,
761
- startTime: p(a).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
762
- // 确保缩放, 多请求部分数据, 也可以兼容undefined的情况
763
- endTime: p(r).add(50, "day").format("YYYY-MM-DD HH:mm:ss"),
764
- // 确保缩放, 多请求部分数据, 也可以兼容undefined的情况
765
781
  deleteFirstNumber: 1
766
782
  // >> 重要: 绩效后端特殊要求传参 <<
767
- }, { body: k } = await u.post("/middleLayer/kline/getKline", T);
768
- i.value = k ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
769
- const C = i.value.time.findIndex((m) => new Date(m) >= new Date(a)), w = i.value.time.findIndex((m) => new Date(m) >= new Date(r));
770
- ae({
771
- startValue: C === -1 ? 0 : C,
783
+ };
784
+ ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(z, {
785
+ startTime: m(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
786
+ endTime: m(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
787
+ }) : ["6", "7"].includes(e.cycle) ? Object.assign(z, {
788
+ startTime: m(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
789
+ endTime: m(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
790
+ }) : Object.assign(z, {
791
+ startTime: m(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
792
+ endTime: m(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
793
+ });
794
+ const { body: f } = await j.post("/middleLayer/kline/getKline", z);
795
+ i.value = f ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
796
+ const O = i.value.time.findIndex((x) => new Date(x) >= new Date(t)), w = i.value.time.findIndex((x) => new Date(x) >= new Date(o));
797
+ ie({
798
+ startValue: O === -1 ? 0 : O,
772
799
  endValue: w === -1 ? i.value.time.length - 1 : w
773
800
  });
774
801
  } finally {
775
802
  I.value = !1;
776
803
  }
777
- }, ue = async (a) => {
778
- var F, ie;
779
- const { loadAddCount: r } = J;
780
- switch (a) {
804
+ }, ze = async (t) => {
805
+ var F, ne;
806
+ const { loadAddCount: o } = W;
807
+ switch (t) {
781
808
  case "history": {
782
809
  g = !0;
783
810
  const Q = {
@@ -786,12 +813,12 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
786
813
  right: e.rightType,
787
814
  contractType: e.varietyStock ? null : e.klineType,
788
815
  endTime: i.value.time[0],
789
- limit: r,
816
+ limit: o,
790
817
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
791
818
  subIndicator: Y.value,
792
819
  deleteFirstNumber: 1
793
- }, { body: B } = await u.post("/middleLayer/kline/getKline", Q);
794
- i.value = Ie(B, i.value), B.data.length < r && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), y = !0), g = !1;
820
+ }, { body: Z } = await j.post("/middleLayer/kline/getKline", Q);
821
+ i.value = Ye(Z, i.value), Z.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), g = !1;
795
822
  break;
796
823
  }
797
824
  case "new": {
@@ -806,43 +833,43 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
806
833
  // 合约类型
807
834
  startTime: i.value.time[i.value.time.length - 1],
808
835
  // 开始时间
809
- limit: r,
836
+ limit: o,
810
837
  // 查询K线数量
811
838
  deleteFirstNumber: 1,
812
839
  // >> 重要: 绩效后端特殊要求传参 <<
813
840
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
814
841
  subIndicator: Y.value
815
- }, { body: B } = await u.post("/middleLayer/kline/getKline", Q);
816
- i.value = Ie(i.value, B), B.data.length < r && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), v = !0), E = !1;
842
+ }, { body: Z } = await j.post("/middleLayer/kline/getKline", Q);
843
+ i.value = Ye(i.value, Z), Z.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), v = !0), E = !1;
817
844
  break;
818
845
  }
819
846
  }
820
- const { startValue: T, endValue: k } = ((F = M.getOption()) == null ? void 0 : F.dataZoom[0]) ?? {}, C = (ie = M.getOption()) == null ? void 0 : ie.xAxis[0].data, w = i.value.time.findIndex((Q) => new Date(Q) >= new Date(C[T])), m = i.value.time.findIndex((Q) => new Date(Q) >= new Date(C[k]));
821
- ae({
847
+ const { startValue: z, endValue: f } = ((F = M.getOption()) == null ? void 0 : F.dataZoom[0]) ?? {}, O = (ne = M.getOption()) == null ? void 0 : ne.xAxis[0].data, w = i.value.time.findIndex((Q) => new Date(Q) >= new Date(O[z])), x = i.value.time.findIndex((Q) => new Date(Q) >= new Date(O[f]));
848
+ ie({
822
849
  startValue: w === -1 ? 0 : w,
823
- endValue: m === -1 ? i.value.time.length - 1 : m
850
+ endValue: x === -1 ? i.value.time.length - 1 : x
824
851
  });
825
852
  }, ye = () => {
826
853
  var w;
827
854
  if (!i.value.time)
828
- return t.value = [];
829
- const { time: a } = i.value, { startValue: r, endValue: T } = ((w = M.getOption()) == null ? void 0 : w.dataZoom[0]) ?? {}, k = a[r], C = a[T];
830
- ["6", "7", "8"].includes(e.cycle) ? t.value = [p(k).format("YYYY-MM-DD"), p(C).format("YYYY-MM-DD")] : t.value = [k, C];
831
- }, ae = (a = { startValue: 0, endValue: 0 }) => {
855
+ return a.value = [];
856
+ const { time: t } = i.value, { startValue: o, endValue: z } = ((w = M.getOption()) == null ? void 0 : w.dataZoom[0]) ?? {}, f = t[o], O = t[z];
857
+ ["6", "7", "8"].includes(e.cycle) ? a.value = [m(f).format("YYYY-MM-DD"), m(O).format("YYYY-MM-DD")] : a.value = [f, O];
858
+ }, ie = (t = { startValue: 0, endValue: 0 }) => {
832
859
  K();
833
- const { maxValueSpan: r } = J, { time: T, data: k, mainIndicator: C } = i.value, w = a.endValue - a.startValue > r ? a.endValue - r : a.startValue, m = a.endValue, F = C.map((x) => ({
834
- name: x.key,
860
+ const { maxValueSpan: o } = W, { time: z, data: f, mainIndicator: O } = i.value, w = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, x = t.endValue, F = O.map((p) => ({
861
+ name: p.key,
835
862
  type: "line",
836
863
  silent: !0,
837
864
  symbol: "none",
838
- data: x.data,
865
+ data: p.data,
839
866
  lineStyle: {
840
- width: x.width || 1
867
+ width: p.width || 1
841
868
  },
842
869
  itemStyle: {
843
- color: x.color
870
+ color: p.color
844
871
  }
845
- })), { netPositionLineData: ie } = Be(e.netPositionData, e.cycle), { tradePointData: Q, tradeLineData: B } = Ze(e.tradeLog, e.cycle, e.sellBuy, T, k);
872
+ })), { netPositionLineData: ne } = $e(e.netPositionData, e.cycle), { tradePointData: Q, tradeLineData: Z } = Ge(e.tradeLog, e.cycle, e.sellBuy, z, f);
846
873
  M.setOption(
847
874
  {
848
875
  animation: !1,
@@ -856,9 +883,9 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
856
883
  {
857
884
  type: "inside",
858
885
  startValue: w,
859
- endValue: m,
860
- minValueSpan: J.minValueSpan,
861
- maxValueSpan: J.maxValueSpan
886
+ endValue: x,
887
+ minValueSpan: W.minValueSpan,
888
+ maxValueSpan: W.maxValueSpan
862
889
  }
863
890
  ],
864
891
  tooltip: {
@@ -869,44 +896,44 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
869
896
  type: "cross",
870
897
  label: {
871
898
  rich: {},
872
- formatter: (x) => {
873
- const { axisDimension: O, value: b } = x;
874
- return O === "x" ? ["6", "7", "8"].includes(e.cycle) ? p(b).format("YYYY-MM-DD") : b : String(l(b));
899
+ formatter: (p) => {
900
+ const { axisDimension: C, value: k } = p;
901
+ return C === "x" ? ["6", "7", "8"].includes(e.cycle) ? m(k).format("YYYY-MM-DD") : k : String(l(k));
875
902
  }
876
903
  }
877
904
  },
878
- formatter: (x) => {
879
- if (!(x != null && x.length))
905
+ formatter: (p) => {
906
+ if (!(p != null && p.length))
880
907
  return null;
881
- let O = "";
882
- if (x.forEach((h) => {
883
- if (h.seriesName === "netPosition" && h.data !== null && (O += `<div>资产持仓净值: ${h.data[1]}</div>`), h.componentSubType === "candlestick")
908
+ let C = "";
909
+ if (p.forEach((h) => {
910
+ if (h.seriesName === "netPosition" && h.data !== null && (C += `<div>资产持仓净值: ${h.data[1]}</div>`), h.componentSubType === "candlestick")
884
911
  if (e.sellBuy === 0) {
885
- const W = Q.filter((V) => (V == null ? void 0 : V.coord[0]) === h.axisValue);
886
- let H = 0, G = 0;
887
- W.forEach((V) => {
888
- const { tradeType: q, amount: ne } = V.customData;
889
- q === "买" && (H += ne), q === "卖" && (G += ne);
890
- }), H && (O += `<div>买: ${H}</div>`), G && (O += `<div>卖: ${G}</div>`);
912
+ const J = Q.filter((V) => (V == null ? void 0 : V.coord[0]) === h.axisValue);
913
+ let G = 0, B = 0;
914
+ J.forEach((V) => {
915
+ const { tradeType: q, amount: oe } = V.customData;
916
+ q === "买" && (G += oe), q === "卖" && (B += oe);
917
+ }), G && (C += `<div>买: ${G}</div>`), B && (C += `<div>卖: ${B}</div>`);
891
918
  } else
892
- Q.forEach((W) => {
893
- if ((W == null ? void 0 : W.coord[0]) === h.axisValue) {
894
- const { tradeType: H, amount: G, profitAndLoss: V, openPriceAll: q, closePriceAll: ne } = W.customData;
895
- let X = `<div>${H}: ${G}手</div>`;
896
- if (H.includes("开") && (X += `<div>开仓价: ${(q / G).toFixed(2)}</div>`), H.includes("平")) {
897
- const de = (q / G).toFixed(2), De = (ne / G).toFixed(2);
898
- X += `<div>平仓价: ${De}</div>`, X += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((De - de) / de * 100).toFixed(2)} %</div>`;
919
+ Q.forEach((J) => {
920
+ if ((J == null ? void 0 : J.coord[0]) === h.axisValue) {
921
+ const { tradeType: G, amount: B, profitAndLoss: V, openPriceAll: q, closePriceAll: oe } = J.customData;
922
+ let X = `<div>${G}: ${B}手</div>`;
923
+ if (G.includes("开") && (X += `<div>开仓价: ${(q / B).toFixed(2)}</div>`), G.includes("平")) {
924
+ const Te = (q / B).toFixed(2), De = (oe / B).toFixed(2);
925
+ X += `<div>平仓价: ${De}</div>`, X += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((De - Te) / Te * 100).toFixed(2)} %</div>`;
899
926
  }
900
- O += X;
927
+ C += X;
901
928
  }
902
929
  });
903
- }), !O)
930
+ }), !C)
904
931
  return null;
905
- let b = x[0].axisValue;
906
- return ["6", "7", "8"].includes(e.cycle) && (b = p(b).format("YYYY-MM-DD")), `
932
+ let k = p[0].axisValue;
933
+ return ["6", "7", "8"].includes(e.cycle) && (k = m(k).format("YYYY-MM-DD")), `
907
934
  <div>
908
- <span style="font-weight: bold;">${b}</span>
909
- ${O}
935
+ <span style="font-weight: bold;">${k}</span>
936
+ ${C}
910
937
  </div>
911
938
  `;
912
939
  }
@@ -914,12 +941,12 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
914
941
  xAxis: {
915
942
  show: !0,
916
943
  type: "category",
917
- data: T,
944
+ data: z,
918
945
  splitLine: {
919
946
  show: !1
920
947
  },
921
948
  axisLabel: {
922
- formatter: (x) => ["6", "7", "8"].includes(e.cycle) ? p(x).format("YYYY-MM-DD") : x
949
+ formatter: (p) => ["6", "7", "8"].includes(e.cycle) ? m(p).format("YYYY-MM-DD") : p
923
950
  }
924
951
  },
925
952
  yAxis: [
@@ -935,30 +962,30 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
935
962
  color: "#333"
936
963
  }
937
964
  },
938
- min: (x) => {
939
- const { min: O, max: b } = x, h = Math.abs((b - O) / 10);
940
- return l(O - h);
965
+ min: (p) => {
966
+ const { min: C, max: k } = p, h = Math.abs((k - C) / 10);
967
+ return l(C - h);
941
968
  },
942
- max: (x) => l(x.max)
969
+ max: (p) => l(p.max)
943
970
  },
944
971
  {
945
972
  show: !1,
946
- min: (x) => {
947
- const { min: O, max: b } = x, h = Math.abs((b - O) / 10);
948
- return O - h;
973
+ min: (p) => {
974
+ const { min: C, max: k } = p, h = Math.abs((k - C) / 10);
975
+ return C - h;
949
976
  },
950
- max: (x) => {
951
- const { min: O, max: b } = x, h = Math.abs((b - O) / 10);
952
- return b + h;
977
+ max: (p) => {
978
+ const { min: C, max: k } = p, h = Math.abs((k - C) / 10);
979
+ return k + h;
953
980
  }
954
981
  }
955
982
  ],
956
983
  series: [
957
984
  {
958
985
  type: "candlestick",
959
- data: k,
960
- markPoint: { data: Ge([...Q]) },
961
- markLine: { data: [...B] },
986
+ data: f,
987
+ markPoint: { data: Ze([...Q]) },
988
+ markLine: { data: [...Z] },
962
989
  itemStyle: {
963
990
  color: "transparent",
964
991
  color0: "#00FFFF",
@@ -973,7 +1000,7 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
973
1000
  {
974
1001
  type: "line",
975
1002
  name: "netPosition",
976
- data: ie,
1003
+ data: ne,
977
1004
  symbol: "none",
978
1005
  yAxisIndex: 1,
979
1006
  connectNulls: !0,
@@ -1002,12 +1029,12 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1002
1029
  }
1003
1030
  },
1004
1031
  !0
1005
- ), e.userKlineConfig.enable_subChart && s.setOption(_e(i.value, w, m), !0), ye(), z.value = m;
1032
+ ), e.userKlineConfig.enable_subChart && r.setOption(Be(i.value, w, x), !0), ye(), y.value = x;
1006
1033
  {
1007
- const x = [];
1034
+ const p = [];
1008
1035
  if (e.userKlineConfig.enable_tradeLogBrush && Q.length) {
1009
- const [O, b] = [Q[0].coord[0], Q.at(-1).coord[0]], h = re(T, [O, b], e.cycle);
1010
- x.push({
1036
+ const [C, k] = [Q[0].coord[0], Q.at(-1).coord[0]], h = re(z, [C, k], e.cycle);
1037
+ p.push({
1011
1038
  brushId: "开平仓范围",
1012
1039
  brushType: "lineX",
1013
1040
  xAxisIndex: 0,
@@ -1015,8 +1042,8 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1015
1042
  });
1016
1043
  }
1017
1044
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1018
- const { startTime: O, endTime: b } = e.syncBrushRange, h = re(T, [O, b], e.cycle);
1019
- x.push({
1045
+ const { startTime: C, endTime: k } = e.syncBrushRange, h = re(z, [C, k], e.cycle);
1046
+ p.push({
1020
1047
  brushId: "同步刷选范围",
1021
1048
  brushType: "lineX",
1022
1049
  xAxisIndex: 0,
@@ -1029,8 +1056,8 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1029
1056
  });
1030
1057
  }
1031
1058
  if (e.positionTime) {
1032
- const [O, b] = [p(e.positionTime).format("YYYY-MM-DD 00:00:00"), p(e.positionTime).format("YYYY-MM-DD 23:59:59")], h = re(T, [O, b], e.cycle);
1033
- x.push({
1059
+ const [C, k] = [m(e.positionTime).format("YYYY-MM-DD 00:00:00"), m(e.positionTime).format("YYYY-MM-DD 23:59:59")], h = re(z, [C, k], e.cycle);
1060
+ p.push({
1034
1061
  brushId: "强制定位高亮",
1035
1062
  brushType: "lineX",
1036
1063
  xAxisIndex: 0,
@@ -1044,129 +1071,145 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1044
1071
  }
1045
1072
  M.dispatchAction({
1046
1073
  type: "brush",
1047
- areas: x
1074
+ areas: p
1048
1075
  });
1049
1076
  }
1050
- }, Oe = (a) => {
1051
- const { startTime: r, endTime: T } = a;
1052
- Z({ startTime: r, endTime: T });
1053
- }, Te = ({ code: a, ctrlKey: r }) => {
1054
- if (!(r || D.value))
1077
+ }, fe = (t) => {
1078
+ const [o, z] = Ie({
1079
+ startTime: t.startTime,
1080
+ endTime: t.endTime,
1081
+ cycle: e.cycle
1082
+ });
1083
+ H({ startTime: o, endTime: z });
1084
+ }, de = ({ code: t, ctrlKey: o }) => {
1085
+ if (!(o || D.value))
1055
1086
  return;
1056
- const { xAxis: T, dataZoom: k } = M.getOption(), { data: C } = (T == null ? void 0 : T[0]) ?? { data: [] };
1057
- let { startValue: w, endValue: m } = (k == null ? void 0 : k[0]) ?? {};
1058
- if (C != null && C.length) {
1059
- switch (a) {
1087
+ const { xAxis: z, dataZoom: f } = M.getOption(), { data: O } = (z == null ? void 0 : z[0]) ?? { data: [] };
1088
+ let { startValue: w, endValue: x } = (f == null ? void 0 : f[0]) ?? {};
1089
+ if (O != null && O.length) {
1090
+ switch (t) {
1060
1091
  case "ArrowUp": {
1061
- if (m - w < 5)
1092
+ if (x - w < 5)
1062
1093
  return;
1063
- const F = Math.floor((m - w) / 2) + 1;
1064
- w = w + F, m - w < 5 && (w = m - 4);
1094
+ const F = Math.floor((x - w) / 2) + 1;
1095
+ w = w + F, x - w < 5 && (w = x - 4);
1065
1096
  break;
1066
1097
  }
1067
1098
  case "ArrowDown": {
1068
- const F = Math.min(500, m - w);
1099
+ const F = Math.min(500, x - w);
1069
1100
  w = w - F - 1;
1070
1101
  break;
1071
1102
  }
1072
1103
  case "ArrowLeft": {
1073
- w > 0 && (w -= 1, m -= 1), z.value > 0 && (z.value -= 1);
1104
+ w > 0 && (w -= 1, x -= 1), y.value > 0 && (y.value -= 1);
1074
1105
  break;
1075
1106
  }
1076
1107
  case "ArrowRight": {
1077
- m < C.length - 1 && (w += 1, m += 1), D.value && z.value < C.length - 1 && (z.value += 1);
1108
+ x < O.length - 1 && (w += 1, x += 1), D.value && y.value < O.length - 1 && (y.value += 1);
1078
1109
  break;
1079
1110
  }
1080
1111
  }
1081
1112
  M.dispatchAction({
1082
1113
  type: "dataZoom",
1083
1114
  startValue: w,
1084
- endValue: m
1115
+ endValue: x
1085
1116
  }), M.dispatchAction({
1086
1117
  type: "updateAxisPointer",
1087
1118
  seriesIndex: 0,
1088
- dataIndex: D.value ? z.value : null
1119
+ dataIndex: D.value ? y.value : null
1089
1120
  }), M.dispatchAction({
1090
1121
  type: "highlight",
1091
- dataIndex: D.value ? z.value : m
1122
+ dataIndex: D.value ? y.value : x
1092
1123
  });
1093
1124
  }
1094
1125
  };
1095
- return xe(() => {
1096
- const [a, r] = e.initTimeRange;
1097
- Z({ startTime: a, endTime: r });
1098
- }), Ne(
1126
+ return pe(() => {
1127
+ const [t, o] = e.initTimeRange;
1128
+ H({ startTime: t, endTime: o });
1129
+ }), te(
1099
1130
  () => [e.varietyCode, e.initTimeRange],
1100
1131
  () => {
1101
- const [a, r] = e.initTimeRange;
1102
- Z({ startTime: a, endTime: r });
1132
+ const [t, o] = e.initTimeRange;
1133
+ H({ startTime: t, endTime: o });
1134
+ },
1135
+ { deep: !0 }
1136
+ ), te(
1137
+ () => [e.cycle],
1138
+ () => {
1139
+ var O;
1140
+ const { startValue: t, endValue: o } = ((O = M.getOption()) == null ? void 0 : O.dataZoom[0]) ?? {}, [z, f] = Ie({
1141
+ startTime: i.value.time[t],
1142
+ endTime: i.value.time[o],
1143
+ cycle: e.cycle
1144
+ });
1145
+ H({ startTime: z, endTime: f });
1103
1146
  },
1104
1147
  { deep: !0 }
1105
- ), Ne(
1148
+ ), te(
1106
1149
  () => {
1107
- var a, r;
1108
- return [e.mainIndicator, Y.value, (a = e.indicatorStore) == null ? void 0 : a.filterIndicator, (r = e.indicatorStore) == null ? void 0 : r.customIndicator, e.cycle, e.rightType, e.klineType];
1150
+ var t, o;
1151
+ return [e.mainIndicator, Y.value, (t = e.indicatorStore) == null ? void 0 : t.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
1109
1152
  },
1110
1153
  () => {
1111
- var C;
1112
- const { startValue: a, endValue: r } = ((C = M.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {}, [T, k] = [i.value.time[a], i.value.time[r]];
1113
- Z({ startTime: T, endTime: k });
1154
+ var O;
1155
+ const { startValue: t, endValue: o } = ((O = M.getOption()) == null ? void 0 : O.dataZoom[0]) ?? {}, [z, f] = [i.value.time[t], i.value.time[o]];
1156
+ H({ startTime: z, endTime: f });
1114
1157
  },
1115
1158
  { deep: !0 }
1116
- ), Ne(
1159
+ ), te(
1117
1160
  () => [e.sellBuy, e.tradeLog, e.netPositionData],
1118
1161
  () => {
1119
- var T;
1120
- const { startValue: a, endValue: r } = ((T = M.getOption()) == null ? void 0 : T.dataZoom[0]) ?? {};
1121
- ae({ startValue: a, endValue: r });
1162
+ var z;
1163
+ const { startValue: t, endValue: o } = ((z = M.getOption()) == null ? void 0 : z.dataZoom[0]) ?? {};
1164
+ ie({ startValue: t, endValue: o });
1122
1165
  },
1123
1166
  { deep: !0 }
1124
1167
  ), we(() => {
1125
- M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", Te), M.dispose(), s == null || s.dispose(), o.dispose(), o = null;
1168
+ M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", de), M.dispose(), r == null || r.dispose(), N.dispose(), N = null;
1126
1169
  }), d({
1127
- screenTimeRange: t,
1128
- contextmenuKlineTime: N,
1170
+ screenTimeRange: a,
1171
+ contextmenuKlineTime: s,
1129
1172
  reDraw: () => {
1130
- var T;
1131
- const { startValue: a, endValue: r } = ((T = M.getOption()) == null ? void 0 : T.dataZoom[0]) ?? {};
1132
- ae({ startValue: a, endValue: r });
1173
+ var z;
1174
+ const { startValue: t, endValue: o } = ((z = M.getOption()) == null ? void 0 : z.dataZoom[0]) ?? {};
1175
+ ie({ startValue: t, endValue: o });
1133
1176
  }
1134
- }), (a, r) => {
1135
- const T = ke, k = be, C = fe, w = Ce;
1136
- return ve((R(), _("div", {
1177
+ }), (t, o) => {
1178
+ const z = ke, f = he, O = be, w = Ce;
1179
+ return Se((R(), _("div", {
1137
1180
  class: "kline-plus",
1138
- onMousemove: r[1] || (r[1] = (m) => D.value = !0),
1139
- onMouseout: r[2] || (r[2] = (m) => D.value = !1)
1181
+ onMousemove: o[1] || (o[1] = (x) => D.value = !0),
1182
+ onMouseout: o[2] || (o[2] = (x) => D.value = !1)
1140
1183
  }, [
1141
- $("div", Ke, [
1142
- $("div", qe, [
1143
- ee(le, { data: f.value }, null, 8, ["data"]),
1184
+ $("div", Xe, [
1185
+ $("div", et, [
1186
+ ee(le, { data: b.value }, null, 8, ["data"]),
1144
1187
  ee(le, { data: S.value }, null, 8, ["data"])
1145
1188
  ]),
1146
- n.userKlineConfig.enable_showScreenTimeRange ? (R(), _("span", Xe, te(t.value[0]) + " - " + te(t.value[1]), 1)) : oe("", !0),
1189
+ n.userKlineConfig.enable_showScreenTimeRange ? (R(), _("span", tt, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : Ne("", !0),
1147
1190
  $("div", {
1148
1191
  ref_key: "mainChartRef",
1149
1192
  ref: c,
1150
1193
  class: "chart"
1151
1194
  }, null, 512)
1152
1195
  ]),
1153
- n.userKlineConfig.enable_subChart ? (R(), _("div", et, [
1154
- $("div", tt, [
1155
- $("div", Mt, [
1156
- $("span", null, te(Y.value), 1),
1157
- ee(k, {
1196
+ n.userKlineConfig.enable_subChart ? (R(), _("div", Mt, [
1197
+ $("div", at, [
1198
+ $("div", it, [
1199
+ $("span", null, Me(Y.value), 1),
1200
+ ee(f, {
1158
1201
  modelValue: Y.value,
1159
- "onUpdate:modelValue": r[0] || (r[0] = (m) => Y.value = m),
1202
+ "onUpdate:modelValue": o[0] || (o[0] = (x) => Y.value = x),
1160
1203
  style: { width: "100px", "margin-right": "4px", height: "25px" },
1161
1204
  size: "small",
1162
1205
  class: "element-dark",
1163
1206
  "popper-class": "element-dark"
1164
1207
  }, {
1165
- default: Se(() => [
1166
- (R(!0), _(Le, null, Ae(n.indicatorStore.subIndicatorList, (m, F) => (R(), ge(T, {
1208
+ default: Qe(() => [
1209
+ (R(!0), _(me, null, Ae(n.indicatorStore.subIndicatorList, (x, F) => (R(), ge(z, {
1167
1210
  key: F,
1168
- label: m.label,
1169
- value: m.value
1211
+ label: x.label,
1212
+ value: x.value
1170
1213
  }, null, 8, ["label", "value"]))), 128))
1171
1214
  ]),
1172
1215
  _: 1
@@ -1179,20 +1222,20 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1179
1222
  ref: L,
1180
1223
  class: "chart"
1181
1224
  }, null, 512)
1182
- ])) : oe("", !0),
1183
- n.userKlineConfig.enable_sliderChart ? (R(), _("div", at, [
1184
- ee(Je, {
1225
+ ])) : Ne("", !0),
1226
+ n.userKlineConfig.enable_sliderChart ? (R(), _("div", nt, [
1227
+ ee(qe, {
1185
1228
  ref_key: "sliderChartRef",
1186
1229
  ref: A,
1187
- screenTimeRange: t.value,
1230
+ screenTimeRange: a.value,
1188
1231
  varietyCode: n.varietyCode,
1189
1232
  varietyStock: n.varietyStock,
1190
1233
  rightType: n.rightType,
1191
1234
  klineType: n.klineType,
1192
- onChange: Oe
1235
+ onChange: fe
1193
1236
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType"])
1194
- ])) : oe("", !0),
1195
- i.value.time.length ? oe("", !0) : (R(), ge(C, {
1237
+ ])) : Ne("", !0),
1238
+ i.value.time.length ? Ne("", !0) : (R(), ge(O, {
1196
1239
  key: 2,
1197
1240
  class: "empty",
1198
1241
  description: "暂无数据"
@@ -1202,11 +1245,11 @@ const Ke = { class: "main-chart" }, qe = { class: "indicator" }, Xe = {
1202
1245
  ]);
1203
1246
  };
1204
1247
  }
1205
- }, nt = /* @__PURE__ */ ze(it, [["__scopeId", "data-v-9917caf7"]]), Ot = {
1248
+ }, Nt = /* @__PURE__ */ je(ot, [["__scopeId", "data-v-3c0da0a4"]]), Ct = {
1206
1249
  install(n) {
1207
- n.component("st-klinePlus", nt);
1250
+ n.component("st-klinePlus", Nt);
1208
1251
  }
1209
1252
  };
1210
1253
  export {
1211
- Ot as default
1254
+ Ct as default
1212
1255
  };