@vunk/plus 1.7.3 → 1.7.4

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.
Files changed (42) hide show
  1. package/components/broadcasting-markdown/index.mjs +101 -238
  2. package/components/broadcasting-markdown/src/ctx.d.ts +1 -4
  3. package/components/broadcasting-markdown/src/howler-speech.vue.d.ts +49 -88
  4. package/components/broadcasting-markdown/src/index.vue.d.ts +44 -103
  5. package/components/broadcasting-markdown/src/types.d.ts +1 -1
  6. package/components/broadcasting-markdown/src/use.d.ts +6 -8
  7. package/components/bubble-templates/index.css +4 -0
  8. package/components/bubble-templates/index.mjs +1 -1
  9. package/components/metahuman-broadcasting/index.mjs +8 -5
  10. package/components/metahuman-broadcasting/src/index.vue.d.ts +62 -114
  11. package/components/pixi-frame/src/apng.vue.d.ts +3 -3
  12. package/components/pixi-frame/src/bitmap.vue.d.ts +5 -5
  13. package/components/pixi-frame/src/core.vue.d.ts +5 -5
  14. package/components/pixi-frame/src/index.vue.d.ts +12 -12
  15. package/components/pixi-frame/src/video.vue.d.ts +3 -3
  16. package/components/typing-markdown/index.mjs +4 -7
  17. package/components/vditor/src/ctx.d.ts +1 -1
  18. package/components/vditor/src/index.vue.d.ts +1 -1
  19. package/index.css +5 -0
  20. package/package.json +4 -1
  21. package/shared/StreamingInferenceService.mjs +4 -1
  22. package/shared/audioToFrames/index.mjs +2 -5
  23. package/shared/audioToFrames/src/audio/StreamingFeatureExtractorService.d.ts +20 -4
  24. package/shared/audioToFrames/src/audio/index.d.ts +0 -2
  25. package/shared/audioToFrames/src/audio/index.mjs +84 -157
  26. package/shared/audioToFrames/src/core/constants.d.ts +0 -22
  27. package/shared/audioToFrames/src/core/index.mjs +16 -2643
  28. package/shared/audioToFrames/src/core/utils.d.ts +1 -68
  29. package/shared/audioToFrames/src/inference/StreamingInferenceService.d.ts +43 -0
  30. package/shared/audioToFrames/src/media/index.d.ts +0 -5
  31. package/shared/audioToFrames/src/media/index.mjs +180 -610
  32. package/shared/constants.mjs +1 -12
  33. package/shared/PredictiveFrameLoader.mjs +0 -367
  34. package/shared/audioToFrames/src/audio/AudioProcessor.d.ts +0 -25
  35. package/shared/audioToFrames/src/audio/FeatureExtractorService.d.ts +0 -31
  36. package/shared/audioToFrames/src/inference/types.d.ts +0 -102
  37. package/shared/audioToFrames/src/media/ImageBitmapPool.d.ts +0 -63
  38. package/shared/audioToFrames/src/media/ImageProcessor.d.ts +0 -47
  39. package/shared/audioToFrames/src/media/PlaybackService.d.ts +0 -56
  40. package/shared/audioToFrames/src/media/WebGLPlaybackService.d.ts +0 -74
  41. package/shared/audioToFrames/src/media/WebGLRenderer.d.ts +0 -66
  42. package/shared/utils.mjs +0 -123
@@ -84,14 +84,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
84
84
  default: boolean;
85
85
  };
86
86
  }>> & Readonly<{
87
- onSetData?: ((...args: any[]) => any) | undefined;
88
- onLoad?: ((e: LoadEvent) => any) | undefined;
89
87
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
88
+ onLoad?: ((e: LoadEvent) => any) | undefined;
89
+ onSetData?: ((...args: any[]) => any) | undefined;
90
90
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
91
91
  "onUpdate:frameIndex"?: ((...args: any[]) => any) | undefined;
92
92
  onNotFound?: ((_index: number) => any) | undefined;
93
93
  }> & {}>;
94
- emit: ((event: "setData", ...args: any[]) => void) & ((event: "load", e: LoadEvent) => void) & ((event: "update:status", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void) & ((event: "update:frameIndex", ...args: any[]) => void) & ((event: "notFound", _index: number) => void);
94
+ emit: ((event: "update:status", ...args: any[]) => void) & ((event: "load", e: LoadEvent) => void) & ((event: "setData", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void) & ((event: "update:frameIndex", ...args: any[]) => void) & ((event: "notFound", _index: number) => void);
95
95
  compId: string;
96
96
  getAlias: (key: string | number) => string;
97
97
  sprite: import("pixi.js").Sprite;
@@ -155,9 +155,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
155
155
  default: boolean;
156
156
  };
157
157
  }>> & Readonly<{
158
- onSetData?: ((...args: any[]) => any) | undefined;
159
- onLoad?: ((e: LoadEvent) => any) | undefined;
160
158
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
159
+ onLoad?: ((e: LoadEvent) => any) | undefined;
160
+ onSetData?: ((...args: any[]) => any) | undefined;
161
161
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
162
162
  "onUpdate:frameIndex"?: ((...args: any[]) => any) | undefined;
163
163
  onNotFound?: ((_index: number) => any) | undefined;
@@ -80,8 +80,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
80
80
  default: boolean;
81
81
  };
82
82
  }>> & Readonly<{
83
- onSetData?: ((...args: any[]) => any) | undefined;
84
83
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
84
+ onSetData?: ((...args: any[]) => any) | undefined;
85
85
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
86
86
  }>, {
87
87
  data: any[];
@@ -169,11 +169,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
169
169
  default: boolean;
170
170
  };
171
171
  }>> & Readonly<{
172
- onSetData?: ((...args: any[]) => any) | undefined;
173
172
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
173
+ onSetData?: ((...args: any[]) => any) | undefined;
174
174
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
175
175
  }> & {}>;
176
- emit: ((event: "setData", ...args: any[]) => void) & ((event: "update:status", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
176
+ emit: ((event: "update:status", ...args: any[]) => void) & ((event: "setData", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
177
177
  compId: string;
178
178
  getAlias: (frameIndex: number) => string;
179
179
  sprite: import("pixi.js").Sprite;
@@ -238,8 +238,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
238
238
  default: boolean;
239
239
  };
240
240
  }>> & Readonly<{
241
- onSetData?: ((...args: any[]) => any) | undefined;
242
241
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
242
+ onSetData?: ((...args: any[]) => any) | undefined;
243
243
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
244
244
  }>, {
245
245
  data: any[];
@@ -354,11 +354,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
354
354
  default: boolean;
355
355
  };
356
356
  }>> & Readonly<{
357
- onSetData?: ((...args: any[]) => any) | undefined;
358
357
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
358
+ onSetData?: ((...args: any[]) => any) | undefined;
359
359
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
360
360
  }> & {}>;
361
- emit: ((event: "setData", ...args: any[]) => void) & ((event: "update:status", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
361
+ emit: ((event: "update:status", ...args: any[]) => void) & ((event: "setData", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
362
362
  compId: string;
363
363
  getAlias: () => string;
364
364
  sprite: import("pixi.js").Sprite;
@@ -421,8 +421,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
421
421
  default: boolean;
422
422
  };
423
423
  }>> & Readonly<{
424
- onSetData?: ((...args: any[]) => any) | undefined;
425
424
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
425
+ onSetData?: ((...args: any[]) => any) | undefined;
426
426
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
427
427
  }>, {
428
428
  data: any[];
@@ -508,14 +508,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
508
508
  default: number;
509
509
  };
510
510
  }>> & Readonly<{
511
- onSetData?: ((...args: any[]) => any) | undefined;
512
- onLoad?: ((e: import("./types").LoadEvent) => any) | undefined;
513
511
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
512
+ onLoad?: ((e: import("./types").LoadEvent) => any) | undefined;
513
+ onSetData?: ((...args: any[]) => any) | undefined;
514
514
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
515
515
  "onUpdate:frameIndex"?: ((...args: any[]) => any) | undefined;
516
516
  onNotFound?: ((_index: number) => any) | undefined;
517
517
  }> & {}>;
518
- emit: ((event: "setData", ...args: any[]) => void) & ((event: "load", e: import("./types").LoadEvent) => void) & ((event: "update:status", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void) & ((event: "update:frameIndex", ...args: any[]) => void) & ((event: "notFound", _index: number) => void);
518
+ emit: ((event: "update:status", ...args: any[]) => void) & ((event: "load", e: import("./types").LoadEvent) => void) & ((event: "setData", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void) & ((event: "update:frameIndex", ...args: any[]) => void) & ((event: "notFound", _index: number) => void);
519
519
  compId: string;
520
520
  getAlias: (key: string | number) => string;
521
521
  sprite: import("pixi.js").Sprite;
@@ -573,9 +573,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
573
573
  default: number;
574
574
  };
575
575
  }>> & Readonly<{
576
- onSetData?: ((...args: any[]) => any) | undefined;
577
- onLoad?: ((e: import("./types").LoadEvent) => any) | undefined;
578
576
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
577
+ onLoad?: ((e: import("./types").LoadEvent) => any) | undefined;
578
+ onSetData?: ((...args: any[]) => any) | undefined;
579
579
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
580
580
  "onUpdate:frameIndex"?: ((...args: any[]) => any) | undefined;
581
581
  onNotFound?: ((_index: number) => any) | undefined;
@@ -76,11 +76,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
76
76
  default: boolean;
77
77
  };
78
78
  }>> & Readonly<{
79
- onSetData?: ((...args: any[]) => any) | undefined;
80
79
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
80
+ onSetData?: ((...args: any[]) => any) | undefined;
81
81
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
82
82
  }> & {}>;
83
- emit: ((event: "setData", ...args: any[]) => void) & ((event: "update:status", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
83
+ emit: ((event: "update:status", ...args: any[]) => void) & ((event: "setData", ...args: any[]) => void) & ((event: "update:data", ...args: any[]) => void);
84
84
  compId: string;
85
85
  getAlias: () => string;
86
86
  sprite: import("pixi.js").Sprite;
@@ -143,8 +143,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
143
143
  default: boolean;
144
144
  };
145
145
  }>> & Readonly<{
146
- onSetData?: ((...args: any[]) => any) | undefined;
147
146
  "onUpdate:status"?: ((...args: any[]) => any) | undefined;
147
+ onSetData?: ((...args: any[]) => any) | undefined;
148
148
  "onUpdate:data"?: ((...args: any[]) => any) | undefined;
149
149
  }>, {
150
150
  data: any[];
@@ -219,13 +219,10 @@ var _sfc_main = defineComponent({
219
219
  flush: "post",
220
220
  immediate: true
221
221
  });
222
- watch(
223
- () => isFinished.value && currentIndex.value < props2.source.length,
224
- () => {
225
- isFinished.value = false;
226
- typeWriter();
227
- }
228
- );
222
+ watch(() => currentIndex.value < props2.source.length, () => {
223
+ isFinished.value = false;
224
+ typeWriter();
225
+ });
229
226
  return {
230
227
  htmlText,
231
228
  isDebouncedTyping
@@ -23,7 +23,7 @@ export declare const props: {
23
23
  default: boolean;
24
24
  };
25
25
  };
26
- export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"fullscreen", keyof T2>)[]>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"modelValue", keyof T2>, KE> | Exclude<Extract<"placeholder", keyof T2>, KE> | Exclude<Extract<"toolbar", keyof T2>, KE> | Exclude<Extract<"defaultOptions", keyof T2>, KE> | Exclude<Extract<"fullscreen", keyof T2>, KE> : Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"fullscreen", keyof T2>]: { [k in Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"fullscreen", keyof T2>]: T2[k]; }[P]; }>;
26
+ export declare const createBindProps: <T2 extends import("@vunk/core").NormalObject, EX extends (Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"fullscreen", keyof T2>)[]>(propsArg: T2, excludes?: EX | undefined) => import("vue").ComputedRef<{ [P in EX extends (infer KE)[] ? Exclude<Extract<"modelValue", keyof T2>, KE> | Exclude<Extract<"placeholder", keyof T2>, KE> | Exclude<Extract<"defaultOptions", keyof T2>, KE> | Exclude<Extract<"toolbar", keyof T2>, KE> | Exclude<Extract<"fullscreen", keyof T2>, KE> : Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"fullscreen", keyof T2>]: { [k in Extract<"modelValue", keyof T2> | Extract<"placeholder", keyof T2> | Extract<"defaultOptions", keyof T2> | Extract<"toolbar", keyof T2> | Extract<"fullscreen", keyof T2>]: T2[k]; }[P]; }>;
27
27
  export declare const emits: {
28
28
  load: (e: Vditor) => Vditor;
29
29
  'update:modelValue': (e: string) => string;
@@ -59,8 +59,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
59
59
  }>, {
60
60
  modelValue: string;
61
61
  placeholder: string;
62
- toolbar: string[];
63
62
  defaultOptions: IOptions;
63
+ toolbar: string[];
64
64
  fullscreen: boolean;
65
65
  }, {}, {
66
66
  HandleValue: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
package/index.css CHANGED
@@ -21,6 +21,11 @@
21
21
  .el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{flex:auto;text-align:left}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-thought-chain-item-dot[data-v-5de7a0b5] .el-button{cursor:default!important}.el-thought-chain-item-dot[data-v-5de7a0b5] .el-button:active,.el-thought-chain-item-dot[data-v-5de7a0b5] .el-button:hover{background-color:var(--custom-background-color)!important;border-color:var(--custom-border-color)!important}.el-thought-chain-item-dot[data-v-5de7a0b5] .el-button .el-icon svg path{fill:#fff}.el-thought-chain[data-v-5de7a0b5] .el-collapse{border:none}.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__header{height:20px;font-weight:400}.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__arrow{margin:0 0 0 8px}.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__header{margin-bottom:5px}.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__header,.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__wrap{border:none}.el-thought-chain[data-v-5de7a0b5] .el-collapse .el-collapse-item__content{color:var(--el-text-color-secondary);padding:0}.el-thought-chain[data-v-5de7a0b5] .el-timeline{padding:10px 0 0 5px}.el-thought-chain[data-v-5de7a0b5] .el-timeline-item__timestamp{color:var(--el-text-color-primary)}.el-thought-chain[data-v-5de7a0b5] .el-timeline-item__content{color:var(--el-text-color-secondary)}.thought-chain-move[data-v-5de7a0b5],.thought-chain-enter-active[data-v-5de7a0b5],.thought-chain-leave-active[data-v-5de7a0b5]{transition:all .5s ease}.thought-chain-enter-from[data-v-5de7a0b5],.thought-chain-leave-to[data-v-5de7a0b5]{opacity:0;transform:translateY(10px) scaleY(.9)}.thought-chain-leave-active[data-v-5de7a0b5]{position:absolute}.thought-chain-loading[data-v-5de7a0b5]{animation:rotating-5de7a0b5 1.5s linear infinite;transform-origin:center center;will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased}@keyframes rotating-5de7a0b5{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}to{transform:rotate(360deg)}}.el-thought-chain-item-dot[data-v-5de7a0b5]{margin:var(--03c46b3e)}
22
22
  @charset "UTF-8";.elx-highlight-code-wrapper{display:flex;background:transparent;overflow:hidden}.elx-highlight-code-wrapper .line-numbers{-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:flex-end;margin-right:1rem}.elx-highlight-code-wrapper .line-numbers .line-number{display:inline-block;text-align:right;padding:0 0 0 .3em;-webkit-user-select:none;user-select:none;flex-shrink:0;color:var(--el-text-color-secondary)}.elx-highlight-code-wrapper .elx-highlight-code-scrollbar .code-lines{white-space:pre}.elx-highlight-code-wrapper .elx-highlight-code-scrollbar .code-lines>span{width:max-content;display:block}.elx-highlight-code-wrapper .elx-highlight-code-scrollbar .code-lines>span .line{width:max-content;display:inline-block;white-space:pre}.elx-highlight-code-wrapper .elx-highlight-code-scrollbar .code-lines>span .line span{display:inline-block}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:var(--el-text-color-primary);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.dot-spinner[data-v-623b4e7e]{--uib-size: 2.8rem;--uib-speed: .9s;--uib-color: var(--el-color-primary);position:relative;display:flex;align-items:center;justify-content:flex-start;height:var(--uib-size);width:var(--uib-size)}.dot-spinner__dot[data-v-623b4e7e]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.dot-spinner__dot[data-v-623b4e7e]:before{content:"";height:20%;width:20%;border-radius:50%;background-color:var(--uib-color);transform:scale(0);opacity:.5;animation:pulse0112-623b4e7e calc(var(--uib-speed) * 1.311) ease-in-out infinite;box-shadow:0 0 20px #121f354d}.dot-spinner__dot[data-v-623b4e7e]:nth-child(2){transform:rotate(45deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(2):before{animation-delay:calc(var(--uib-speed) * -.875)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(3){transform:rotate(90deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(3):before{animation-delay:calc(var(--uib-speed) * -.75)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(4){transform:rotate(135deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(4):before{animation-delay:calc(var(--uib-speed) * -.625)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(5){transform:rotate(180deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(5):before{animation-delay:calc(var(--uib-speed) * -.5)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(6){transform:rotate(225deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(6):before{animation-delay:calc(var(--uib-speed) * -.375)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(7){transform:rotate(270deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(7):before{animation-delay:calc(var(--uib-speed) * -.25)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(8){transform:rotate(315deg)}.dot-spinner__dot[data-v-623b4e7e]:nth-child(8):before{animation-delay:calc(var(--uib-speed) * -.125)}@keyframes pulse0112-623b4e7e{0%,to{transform:scale(0);opacity:.5}50%{transform:scale(1);opacity:1}}.custom-style .el-segmented{--el-segmented-item-selected-color: white;--el-border-radius-base: var(--shiki-custom-brr)}body.dark .custom-style .el-segmented{--el-segmented-item-selected-bg-color: #409eff;--el-segmented-item-selected-color: white;--el-segmented-item-hover-bg-color: #4e4e4e;--el-segmented-item-active-bg-color: #4e4e4e;--el-fill-color-light: #39393a}body.dark .custom-style .el-segmented .el-segmented__item-label{color:#fff}body.dark .elx-run-code-content-scrollbar{background-color:var(--shiki-dark-bg)!important}.elx-run-code-content-scrollbar{background-color:var(--shiki-bg)!important}.elx-run-code-content{width:100%;height:80vh!important;padding:0!important}.elx-run-code-content .elx-run-code-content-code{overflow:visible!important;padding:10px 0}.elx-run-code-content pre{white-space:nowrap!important;margin:0!important}.elx-run-code-content pre div.pre-md{width:100%;height:100%!important;border:none!important}.elx-run-code-content .code-line{display:flex;align-items:flex-start;white-space:pre}.elx-run-code-content .line-content{flex:1}.iframe-loading-mask{display:flex;justify-content:center;align-items:center;width:100%;height:79.8vh}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);align-items:stretch;background:var(--el-segmented-bg-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-segmented-color);display:inline-flex;font-size:14px;min-height:32px;padding:var(--el-segmented-padding)}.el-segmented__group{align-items:stretch;display:flex;position:relative;width:100%}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:all .3s;width:10px}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{border-radius:inherit;bottom:0;content:"";left:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;right:0;top:0}.el-segmented__item{align-items:center;border-radius:calc(var(--el-border-radius-base) - 2px);cursor:pointer;display:flex;flex:1;padding:0 11px}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{background:var(--el-segmented-item-hover-bg-color);color:var(--el-segmented-item-hover-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{color:var(--el-segmented-item-disabled-color);cursor:not-allowed}.el-segmented__item-input{height:0;margin:0;opacity:0;pointer-events:none;position:absolute;width:0}.el-segmented__item-label{flex:1;line-height:normal;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s;white-space:nowrap;z-index:1}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);font-size:16px;min-height:40px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:14px;min-height:24px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 3px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 3px);padding:0 7px}.elx-run-code-dialog,.elx-run-code-drawer{width:75%!important;background-color:var(--shiki-code-header-bg)!important}.elx-run-code-dialog .el-dialog__body,.elx-run-code-drawer .el-dialog__body,.elx-run-code-dialog .el-drawer__body,.elx-run-code-drawer .el-drawer__body{overflow:auto;border-radius:var(--shiki-custom-brr)}.elx-run-code-dialog .el-drawer__header,.elx-run-code-drawer .el-drawer__header{position:relative;margin-bottom:0!important}.elx-run-code-dialog .el-dialog__headerbtn,.elx-run-code-dialog .el-drawer__close-btn,.elx-run-code-drawer .el-dialog__headerbtn,.elx-run-code-drawer .el-drawer__close-btn{color:var(--shiki-code-header-span-color);width:32px;height:32px;padding:5px;box-sizing:border-box;right:10px;top:15px;font-size:20px;border-radius:var(--shiki-custom-brr)}.elx-run-code-dialog .el-dialog__headerbtn:hover,.elx-run-code-dialog .el-drawer__close-btn:hover,.elx-run-code-drawer .el-dialog__headerbtn:hover,.elx-run-code-drawer .el-drawer__close-btn:hover{background-color:var(--shiki-code-header-btn-bg)}.elx-run-code-dialog .view-code-close-btn,.elx-run-code-drawer .view-code-close-btn{background-color:transparent;border:none;position:absolute;width:32px;height:32px;padding:5px;box-sizing:border-box;right:10px;top:15px;font-size:20px;border-radius:var(--shiki-custom-brr)}.elx-run-code-dialog .view-code-close-btn span,.elx-run-code-drawer .view-code-close-btn span{color:var(--shiki-code-header-span-color);width:32px;height:32px}.elx-run-code-dialog .view-code-close-btn span:hover,.elx-run-code-drawer .view-code-close-btn span:hover{color:var(--el-color-primary)}.elx-run-code-dialog .view-code-close-btn:hover,.elx-run-code-drawer .view-code-close-btn:hover{background-color:var(--shiki-code-header-btn-bg)}.elx-run-code-dialog .customCloseBtn:hover,.elx-run-code-drawer .customCloseBtn:hover{background-color:transparent!important}@media (max-width: 768px){.elx-run-code-dialog,.elx-run-code-drawer{width:100%!important}}.elx-run-code-content-view-iframe{height:713px;overflow:hidden}.elx-run-code-dialog-view .el-dialog__body,.elx-run-code-dialog-view .el-drawer__body{border:1px solid transparent!important}body{--shiki-custom-brr-mini: 3px;--shiki-custom-brr: 5px;--shiki-custom-blur: 10px;--shiki-code-header-bg: #fafafa;--shiki-code-header-span-color: #575757;--shiki-code-header-btn-bg: #ebedf0}body.dark{--shiki-custom-brr-mini: 3px;--shiki-custom-brr: 5px;--shiki-custom-blur: 10px;--shiki-code-header-bg: #272727;--shiki-code-header-span-color: #fafafa;--shiki-code-header-btn-bg: #3b3b3b}body.dark .shiki,body.dark .shiki span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.shiki{position:relative}.elx-xmarkdown-container{color:#000;padding:5px 10px;border-radius:var(--shiki-custom-brr)}.elx-xmarkdown-container table{border-collapse:collapse;width:100%;border:1px solid #ddd}.elx-xmarkdown-container th{background-color:#fff;border:1px solid #ddd;padding:8px;text-align:left}.elx-xmarkdown-container td{border:1px solid #ddd;padding:8px}.elx-xmarkdown-container tbody tr:nth-child(2n){background-color:#fff}.elx-xmarkdown-container tbody tr:nth-child(odd){background-color:var(--el-fill-color-lighter)}.elx-xmarkdown-container pre code{text-shadow:none!important}.elx-xmarkdown-container pre code span{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1rem;line-height:1.5rem;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.elx-xmarkdown-container pre div.pre-md{position:relative;border-radius:var(--shiki-custom-brr-mini);border:1px solid var(--el-border-color);min-width:180px!important}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div{box-sizing:content-box!important;position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:5px 5px 5px 8px;border-radius:var(--shiki-custom-brr-mini);-webkit-backdrop-filter:blur(var(--shiki-custom-blur));backdrop-filter:blur(var(--shiki-custom-blur));margin:0;background-color:var(--shiki-code-header-bg);z-index:1}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div span{box-shadow:none!important;background-color:transparent!important}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-span{font-size:14px;font-family:sans-serif;color:var(--shiki-code-header-span-color)!important;font-weight:700!important;background-color:transparent!important;-webkit-user-select:none;user-select:none}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-span:hover{cursor:pointer!important}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-space-start,.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-space{display:flex;justify-content:flex-end;align-items:center}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-space-start{justify-content:flex-start}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button{border:1px solid transparent;border-radius:var(--shiki-custom-brr);background-color:transparent;width:fit-content!important;padding:0 3px;height:24px;opacity:1;transition:color .3s ease-in-out;cursor:pointer}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button .el-icon{font-size:15px!important}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button svg{width:15px;height:15px}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button .el-icon,.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button span{background-color:transparent!important;color:var(--shiki-code-header-span-color)!important}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button:hover{background-color:var(--shiki-code-header-btn-bg)}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button span{width:16px;height:16px}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .shiki-header-button-expand span{width:12px;height:12px}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .markdown-elxLanguage-header-toggle-expand{margin:2px 0 0;transition:transform .3s ease-in-out;transform:rotate(-90deg)}.elx-xmarkdown-container pre div.pre-md .markdown-elxLanguage-header-div .copied{color:var(--el-color-success)}.elx-xmarkdown-container pre div.pre-md code{flex:1;box-sizing:border-box;width:100%;height:0}.elx-xmarkdown-container pre div.is-expanded{height:auto!important}.elx-xmarkdown-container pre div.is-expanded code{padding:8px!important;height:auto!important}.elx-xmarkdown-container pre div.is-expanded .markdown-elxLanguage-header-toggle-expand{transform:rotate(0)!important}.inline-code-tag[data-v-7ca0e1bd]{display:inline;background:#d7e2f8;color:#376fde;padding:0 4px;margin:0 4px;border-radius:4px;font-weight:500;border:1px solid #d7e2f8;word-wrap:break-word;word-break:break-all;line-height:2}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);box-sizing:border-box;height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);margin-top:-1px;transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translate(100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translate(-100%);transform-origin:0 0}to{opacity:1;transform:translate(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translate(0);transform-origin:0 0}to{opacity:0;transform:translate(-100%);transform-origin:0 0}}.mermaid-toolbar[data-v-c91486b5]{display:flex;align-items:center;height:42px;background:#ebecef;border-radius:3px 3px 0 0;padding:0 12px;pointer-events:auto;position:relative;z-index:10}.mermaid-toolbar .toolbar-left[data-v-c91486b5]{flex:1}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__header{margin:0;border-bottom:none}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__nav{background:#dddee1;padding:2px;border-radius:10px}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__nav-wrap:after{display:none}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__item{height:32px;line-height:32px;padding:0 12px;font-size:12px;border:none;color:var(--tab-text-color, var(--el-text-color-regular));width:60px;text-align:center;box-sizing:border-box;font-weight:700}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__item.is-active{color:var(--tab-text-color, var(--el-text-color-primary));background:var(--tab-active-bg, rgba(255, 255, 255, .8));border-radius:10px}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__item:hover:not(.is-active){color:var(--tab-text-color, var(--el-text-color-primary));background:#d1d2d5;border-radius:10px}.mermaid-toolbar .toolbar-left .toolbar-tabs[data-v-c91486b5] .el-tabs__active-bar{display:none}.mermaid-toolbar .toolbar-right[data-v-c91486b5]{display:flex;align-items:center;gap:0}.mermaid-toolbar .toolbar-right .toolbar-action-btn[data-v-c91486b5]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;transition:all .2s ease;color:var(--el-text-color-regular);border-radius:4px;position:relative}.mermaid-toolbar .toolbar-right .toolbar-action-btn[data-v-c91486b5]:hover:not(.disabled){color:var(--custom-icon-color, var(--el-text-color-primary))}.mermaid-toolbar .toolbar-right .toolbar-action-btn[data-v-c91486b5]:hover:not(.disabled):before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;background:#dddee1;border-radius:4px;z-index:-1}.mermaid-toolbar .toolbar-right .toolbar-action-btn[data-v-c91486b5]:active:not(.disabled){transform:scale(.95)}.mermaid-toolbar .toolbar-right .toolbar-action-btn.disabled[data-v-c91486b5]{opacity:.4;cursor:not-allowed;transform:none!important;background:none!important}.mermaid-toolbar .toolbar-right .toolbar-action-btn.toolbar-action-btn-last[data-v-c91486b5]{margin-right:0}.mermaid-toolbar .toolbar-right .toolbar-action-btn.copy-success[data-v-c91486b5]{cursor:default;transform:none!important}.mermaid-toolbar .toolbar-right .toolbar-divider[data-v-c91486b5]{width:1px;height:16px;background:var(--el-border-color);margin:0 8px}.markdown-mermaid:hover .mermaid-toolbar{opacity:1;visibility:visible}.markdown-mermaid:fullscreen .mermaid-toolbar{background:#000c;border-bottom-color:#ffffff1a}.markdown-mermaid:fullscreen .mermaid-toolbar{color:#fff;background:#ffffff1a}.markdown-mermaid:fullscreen .mermaid-toolbar{color:#ffffffe6}.markdown-mermaid:fullscreen .mermaid-toolbar{color:#ffffffb3}.markdown-mermaid:fullscreen .mermaid-toolbar{background:#ffffff1a;color:#fff}.markdown-mermaid:fullscreen .mermaid-toolbar{background:#fff3}.markdown-mermaid{position:relative;width:100%;height:100%;min-width:100px;min-height:100px;background-color:#f5f5f5;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.markdown-mermaid .toolbar-container{position:relative;z-index:10;flex-shrink:0;background:#fff}.markdown-mermaid .toolbar-container .custom-mermaid-header{position:relative;z-index:11}.markdown-mermaid .toolbar-container .mermaid-language-tag{display:inline-block;padding:8px 12px;background:#f0f9ff;border:1px solid #e0f2fe;border-radius:4px;font-size:12px;color:#0891b2;margin-right:8px}.markdown-mermaid .toolbar-container .mermaid-default-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff}.markdown-mermaid .toolbar-container .mermaid-default-toolbar .toolbar-buttons{display:flex;gap:4px}.markdown-mermaid .toolbar-container .mermaid-default-toolbar .toolbar-buttons button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:12px;cursor:pointer;transition:all .2s ease}.markdown-mermaid .toolbar-container .mermaid-default-toolbar .toolbar-buttons button:hover{background:#f3f4f6;border-color:#9ca3af}.markdown-mermaid .toolbar-container .mermaid-default-toolbar .toolbar-buttons button:active{background:#e5e7eb}.markdown-mermaid .mermaid-content{position:relative;z-index:1;flex:1;min-height:200px;cursor:grab;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}.markdown-mermaid .mermaid-content:active{cursor:grabbing}.markdown-mermaid .mermaid-content svg{transform-origin:center center;position:relative;max-width:100%;max-height:100%}.markdown-mermaid .mermaid-content.rendering svg{opacity:.8;pointer-events:none}.markdown-mermaid:fullscreen .mermaid-content{max-height:100vh;justify-content:center}.markdown-mermaid.dragging .mermaid-content{cursor:grabbing}.markdown-mermaid.zoom-limit .mermaid-content{transform-origin:center center}.markdown-mermaid .mermaid-source-code{position:relative;z-index:1;flex:1;width:100%;margin:0;padding:16px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;color:#333;overflow:auto;white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box}.content-enter-active{transition:opacity .2s ease-out}.content-leave-active{transition:opacity .15s ease-in}.content-enter-from,.content-leave-to{opacity:0}.toolbar-enter-active,.toolbar-leave-active{transition:all .3s ease}.toolbar-enter-from,.toolbar-leave-to{opacity:0;transform:translateY(-10px)}.katex-error{color:var(--el-text-color-secondary)!important}.katex-html{overflow:auto hidden;padding:3px}
23
23
 
24
+ .vk-echart-x {
25
+ height: 500px;
26
+ width: 100%;
27
+ }
28
+
24
29
  .vk-chat-independent-main__bubbles {
25
30
  padding: 8px 8px 0 12px;
26
31
  height: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vunk/plus",
3
- "version": "1.7.3",
3
+ "version": "1.7.4",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -191,6 +191,9 @@
191
191
  "./components/chat-independent/index.css": {
192
192
  "import": "./components/chat-independent/index.css"
193
193
  },
194
+ "./components/bubble-templates/index.css": {
195
+ "import": "./components/bubble-templates/index.css"
196
+ },
194
197
  "./components/bubble-list/index.css": {
195
198
  "import": "./components/bubble-list/index.css"
196
199
  }
@@ -107,7 +107,10 @@ class StreamingInferenceService {
107
107
  blendingMaskBitmap: sharedData.blendingMaskBitmap,
108
108
  startImageIndex
109
109
  };
110
- this.worker.postMessage(message, [sharedData.blendingMaskBitmap, zipBuffer]);
110
+ this.worker.postMessage(message, [
111
+ sharedData.blendingMaskBitmap,
112
+ zipBuffer
113
+ ]);
111
114
  }
112
115
  /**
113
116
  * 添加一个chunk进行推理。
@@ -1,12 +1,9 @@
1
1
  import { createAudioContext, StreamingFeatureExtractorService } from './src/audio/index.mjs';
2
2
  export { w as workerConfig } from '../config.mjs';
3
3
  export { S as StreamingInferenceService } from '../StreamingInferenceService.mjs';
4
- import { l as loadImageData } from '../PredictiveFrameLoader.mjs';
5
- export { P as PredictiveFrameLoader } from '../PredictiveFrameLoader.mjs';
6
- import 'onnxruntime-web';
7
- import 'vue';
4
+ import { loadImageData } from './src/media/index.mjs';
5
+ export { PredictiveFrameLoader } from './src/media/index.mjs';
8
6
  import '../constants.mjs';
9
- import '../utils.mjs';
10
7
  import '@vunk/shared/promise';
11
8
 
12
9
  var maskUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAAAAADH8yjkAAADsElEQVRoBbXBsaoYBAwF0KTP0vBQgppBNGNn6VTu5Cj55ODoFDoV545RHKIuUlLqq/5EPIfp2cPzh2f0f/j09PHpEz97ePEonzHd+/efff/hiZ+/sG/t8YHuPb2f3+YDP37+8vuXXz2nex//fPfLu7/5iy9f/fDqmxd078Pvb39++xfr169/fP2d0L399c1Pb/5gNQRc6N52ZQ2rIeBC97Yra1gNARe6t11Zw2oIuNC97coaVkPAhe5tV9awGgIudG+7sobVEHChe9uVNayGgAvd266sYTUEXOjedmUNqyHgQve2K2tYDQEXurddWcNqCLjQve3KGlZDwIXubVfWsBoCLnRvu7KG1RBwoXvblTWshoAL3duurGE1BFzo3nZlDash4EL3titrWA0BF7q3XVnDagi40L3tyhpWQ8CF7m1X1rAaAi50b7uyhtUQcKF725U1rIaAC93brqxhNQRc6N52ZQ2rIeBC97Yra1gNARe6t11Zw2oIuNC97coaVkPAhe5tV9awGgIudG+7sobVEHChe9uVNayGgAvd266sYTUEXOjedmUNqyHgQve2K2tYDQEXurddWcNqCLjQve3KGlZDwIXubVfWsBoCLnRvu7KG1RBwoXvblTWshoAL3duurGE1BFzo3nZlDash4EL3titrWA0BF7q3XVnDagi40L3tyhpWQ8CF7m1X1rAaAi50b7uyhtUQcKF725U1rIaAC93brqxhNQRc6N52ZQ2rIeBC97Yra1gNARe6t11Zw2oIuNC97coaVkPAhe5tV9awGgIudG+7sobVEHChe9uVNayGgAvd266sYTUEXOjedmUNqyHgQve2K2tYDQEXurddWcNqCLjQve3KGlZDwIXubVfWsBoCLnRvu7KG1RBwoXvblTWshoAL3duurGE1BFzo3nZlDash4EL3titrWA0BF7q3XVnDagi40L3tyhpWQ8CF7m1X1rAaAi50b7uyhtUQcKF725U1rIaAC93brqxhNQRc6N52ZQ2rIeBC97Yra1gNARe6t11Zw2oIuNC97coaVkPAhe5tV9awGgIudG+7sobVEHChe9uVNayGgAvd266sYTUEXOjedmUNqyHgQve2K2tYDQEXurddWcNqCLjQve3KGtavX//4+juhe/vrm5/e/MFffPnqh1ffvKB7H35/+/Pbv/jx85ffv/zqOd37+Oe7X979zc9f2Lf2+ED3nt7Pb/OBnz28eJTPmO79+8++//DE9Ozh+cMz+j98evr49Ok/l/tDxY3JIlEAAAAASUVORK5CYII=";
@@ -8,6 +8,18 @@
8
8
  *
9
9
  * @author Zhonghan Li
10
10
  */
11
+ /**
12
+ * 创建AudioContext的兼容函数,处理Safari的限制。
13
+ * 在Safari中,AudioContext需要在用户交互后才能创建。
14
+ */
15
+ export declare function createAudioContext(): Promise<AudioContext>;
16
+ /**
17
+ * 特征提取结果接口
18
+ */
19
+ export interface FeatureExtractionResult {
20
+ features: Float32Array;
21
+ dimensions: number[];
22
+ }
11
23
  /**
12
24
  * 单个chunk的特征提取结果结构体。
13
25
  */
@@ -57,8 +69,6 @@ export declare class StreamingFeatureExtractorService {
57
69
  private queue;
58
70
  /** 回调函数集合 */
59
71
  private callbacks;
60
- /** 性能计时器 */
61
- private timer;
62
72
  /** 存储每个chunk的处理结果,用于最终合并 */
63
73
  private chunkResults;
64
74
  /** 音频总chunk数 */
@@ -73,8 +83,8 @@ export declare class StreamingFeatureExtractorService {
73
83
  private audioBuffer;
74
84
  /** 音频上下文实例,用于创建AudioBuffer */
75
85
  private audioContext;
76
- /** 复用的特征提取器实例,以提高性能 */
77
- private featureExtractor;
86
+ /** 复用的Worker实例,以提高性能 */
87
+ private worker;
78
88
  /**
79
89
  * 创建AudioBuffer的兼容方法,处理Safari的限制。
80
90
  * @param numberOfChannels 声道数
@@ -83,6 +93,12 @@ export declare class StreamingFeatureExtractorService {
83
93
  * @returns AudioBuffer实例
84
94
  */
85
95
  private createAudioBuffer;
96
+ /**
97
+ * 使用Worker处理AudioBuffer,提取特征
98
+ * @param audioBuffer 输入的AudioBuffer
99
+ * @returns Promise<FeatureExtractionResult>
100
+ */
101
+ private processWithWorker;
86
102
  /**
87
103
  * 启动流式音频特征提取。
88
104
  * @param audioBuffer 输入的音频缓冲区。
@@ -2,6 +2,4 @@
2
2
  * @file 音频处理服务模块导出
3
3
  * @author Zhonghan Li
4
4
  */
5
- export * from './AudioProcessor';
6
- export * from './FeatureExtractorService';
7
5
  export * from './StreamingFeatureExtractorService';