@yimou6/common-ui 1.12.2 → 1.12.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 (67) hide show
  1. package/cdn/index.cdn.js +15 -15
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +15 -15
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/image-verification/index.mjs.map +1 -1
  7. package/es/components/index.d.ts +22 -21
  8. package/es/components/index.mjs +1 -0
  9. package/es/components/index.mjs.map +1 -1
  10. package/es/components/monitor-playback/index.d.ts +573 -0
  11. package/es/components/monitor-playback/index.mjs +8 -0
  12. package/es/components/monitor-playback/index.mjs.map +1 -0
  13. package/es/components/monitor-playback/src/monitor-playback.d.ts +30 -0
  14. package/es/components/monitor-playback/src/monitor-playback.mjs +44 -0
  15. package/es/components/monitor-playback/src/monitor-playback.mjs.map +1 -0
  16. package/es/components/monitor-playback/src/monitor-playback.vue.d.ts +573 -0
  17. package/es/components/monitor-playback/src/monitor-playback.vue.mjs +6 -0
  18. package/es/components/monitor-playback/src/monitor-playback.vue.mjs.map +1 -0
  19. package/es/components/monitor-playback/src/monitor-playback.vue2.mjs +202 -0
  20. package/es/components/monitor-playback/src/monitor-playback.vue2.mjs.map +1 -0
  21. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.d.ts +25 -0
  22. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.mjs +26 -0
  23. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.mjs.map +1 -0
  24. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.d.ts +104 -0
  25. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.mjs +6 -0
  26. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.mjs.map +1 -0
  27. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue2.mjs +507 -0
  28. package/es/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue2.mjs.map +1 -0
  29. package/es/components/page-header/src/page-header.d.ts +2 -2
  30. package/es/components/page-header/src/page-header.mjs.map +1 -1
  31. package/es/index.mjs +1 -0
  32. package/es/index.mjs.map +1 -1
  33. package/es/installer.mjs +2 -0
  34. package/es/installer.mjs.map +1 -1
  35. package/global.d.ts +2 -0
  36. package/lib/components/image-verification/index.js.map +1 -1
  37. package/lib/components/index.d.ts +22 -21
  38. package/lib/components/index.js +23 -21
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/monitor-playback/index.d.ts +573 -0
  41. package/lib/components/monitor-playback/index.js +13 -0
  42. package/lib/components/monitor-playback/index.js.map +1 -0
  43. package/lib/components/monitor-playback/src/monitor-playback.d.ts +30 -0
  44. package/lib/components/monitor-playback/src/monitor-playback.js +46 -0
  45. package/lib/components/monitor-playback/src/monitor-playback.js.map +1 -0
  46. package/lib/components/monitor-playback/src/monitor-playback.vue.d.ts +573 -0
  47. package/lib/components/monitor-playback/src/monitor-playback.vue.js +10 -0
  48. package/lib/components/monitor-playback/src/monitor-playback.vue.js.map +1 -0
  49. package/lib/components/monitor-playback/src/monitor-playback.vue2.js +206 -0
  50. package/lib/components/monitor-playback/src/monitor-playback.vue2.js.map +1 -0
  51. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.d.ts +25 -0
  52. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.js +28 -0
  53. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.js.map +1 -0
  54. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.d.ts +104 -0
  55. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.js +10 -0
  56. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue.js.map +1 -0
  57. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue2.js +511 -0
  58. package/lib/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue2.js.map +1 -0
  59. package/lib/components/page-header/src/page-header.d.ts +2 -2
  60. package/lib/components/page-header/src/page-header.js.map +1 -1
  61. package/lib/index.js +27 -25
  62. package/lib/index.js.map +1 -1
  63. package/lib/installer.js +6 -4
  64. package/lib/installer.js.map +1 -1
  65. package/package.json +1 -1
  66. package/theme-default/i-monitor-playback.css +1 -0
  67. package/theme-default/index.css +1 -1
@@ -0,0 +1,511 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var timelineRuler = require('./timeline-ruler.js');
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
+ const _hoisted_1 = { class: "ruler-panel" };
11
+ const _hoisted_2 = { class: "time-display" };
12
+ const _hoisted_3 = ["innerHTML"];
13
+ const _hoisted_4 = { class: "time-date" };
14
+ const _hoisted_5 = { class: "zoom-tag" };
15
+ const RH = 56;
16
+ const BASE_Y = 44;
17
+ const FRIC = 0.9;
18
+ const tPph = 120;
19
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...{
21
+ name: "ITimelineRuler"
22
+ },
23
+ __name: "timeline-ruler",
24
+ props: timelineRuler.TimelineRulerProps,
25
+ emits: ["seek"],
26
+ setup(__props, { expose: __expose, emit: __emit }) {
27
+ const props = __props;
28
+ const emit = __emit;
29
+ const canvasRef = vue.ref(null);
30
+ const rulerAreaRef = vue.ref(null);
31
+ const recTrackRef = vue.ref(null);
32
+ const timeBigHtml = vue.ref(
33
+ '--<span class="sep">:</span>--<span class="sep">:</span>--'
34
+ );
35
+ const timeDateText = vue.ref("----/--/--");
36
+ const tipShow = vue.ref(false);
37
+ const tipText = vue.ref("");
38
+ let tipElProxy = null;
39
+ const tipStyle = vue.ref({});
40
+ const zoomTagText = vue.ref("");
41
+ let BASE_TIME = null;
42
+ let pph = 120;
43
+ let offX = 0;
44
+ let dragging = false;
45
+ let dragSX = 0;
46
+ let dragSO = 0;
47
+ let vel = 0;
48
+ let lpX = 0;
49
+ let lpT = 0;
50
+ let mX = -1;
51
+ let mIn = false;
52
+ let _startTime = null;
53
+ let _durationSec = 3600;
54
+ let _currentPlayMs = null;
55
+ let cvs = null;
56
+ let cx = null;
57
+ let dpr = 1;
58
+ let rafId = null;
59
+ function pad(n) {
60
+ return String(n).padStart(2, "0");
61
+ }
62
+ __name(pad, "pad");
63
+ function fmtT(s) {
64
+ const d = new Date(s * 1e3);
65
+ return `${pad(d.getHours())}:${pad(d.getMinutes())}`;
66
+ }
67
+ __name(fmtT, "fmtT");
68
+ function fmtTF(s) {
69
+ const d = new Date(s * 1e3);
70
+ return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
71
+ }
72
+ __name(fmtTF, "fmtTF");
73
+ function fmtD(s) {
74
+ const d = new Date(s * 1e3);
75
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;
76
+ }
77
+ __name(fmtD, "fmtD");
78
+ function dateToSec(dt) {
79
+ return dt.getTime() / 1e3;
80
+ }
81
+ __name(dateToSec, "dateToSec");
82
+ function t2x(t) {
83
+ return (t - BASE_TIME) * pph / 3600 + offX;
84
+ }
85
+ __name(t2x, "t2x");
86
+ function x2t(x) {
87
+ return (x - offX) * 3600 / pph + BASE_TIME;
88
+ }
89
+ __name(x2t, "x2t");
90
+ function resize() {
91
+ if (!cvs || !rulerAreaRef.value) return;
92
+ const ow = cvs.width / dpr || 0;
93
+ const r = rulerAreaRef.value.getBoundingClientRect();
94
+ cvs.width = r.width * dpr;
95
+ cvs.height = RH * dpr;
96
+ cvs.style.height = `${RH}px`;
97
+ cx.setTransform(dpr, 0, 0, dpr, 0, 0);
98
+ if (ow > 0) {
99
+ const ct = x2t(ow / 2);
100
+ offX = r.width / 2 - (ct - BASE_TIME) * pph / 3600;
101
+ }
102
+ }
103
+ __name(resize, "resize");
104
+ function tCfg() {
105
+ if (pph >= 300)
106
+ return {
107
+ M: { iv: 3600, h: 32, w: 1.5, c: "#8899b4", lbl: true },
108
+ m: { iv: 1800, h: 22, w: 1, c: "#4a5a74" },
109
+ s: { iv: 600, h: 14, w: 0.7, c: "#33415a" },
110
+ u: { iv: 300, h: 8, w: 0.5, c: "#252f42" },
111
+ x: { iv: 60, h: 4, w: 0.3, c: "#1c2535" }
112
+ };
113
+ if (pph >= 140)
114
+ return {
115
+ M: { iv: 3600, h: 32, w: 1.5, c: "#8899b4", lbl: true },
116
+ m: { iv: 1800, h: 22, w: 1, c: "#4a5a74" },
117
+ s: { iv: 600, h: 14, w: 0.7, c: "#33415a" },
118
+ u: { iv: 300, h: 8, w: 0.5, c: "#252f42" }
119
+ };
120
+ if (pph >= 70)
121
+ return {
122
+ M: { iv: 3600, h: 32, w: 1.5, c: "#8899b4", lbl: true },
123
+ m: { iv: 1800, h: 20, w: 1, c: "#4a5a74" },
124
+ s: { iv: 600, h: 13, w: 0.7, c: "#33415a" }
125
+ };
126
+ if (pph >= 35)
127
+ return {
128
+ M: { iv: 3600, h: 32, w: 1.5, c: "#8899b4", lbl: true },
129
+ m: { iv: 1800, h: 18, w: 0.8, c: "#4a5a74" }
130
+ };
131
+ return {
132
+ M: { iv: 7200, h: 32, w: 1.5, c: "#8899b4", lbl: true },
133
+ m: { iv: 3600, h: 18, w: 0.8, c: "#4a5a74" }
134
+ };
135
+ }
136
+ __name(tCfg, "tCfg");
137
+ function draw() {
138
+ if (!cvs || !cx) return;
139
+ const w = cvs.width / dpr;
140
+ const h = cvs.height / dpr;
141
+ cx.clearRect(0, 0, w, h);
142
+ cx.strokeStyle = "#2a3448";
143
+ cx.lineWidth = 1;
144
+ cx.beginPath();
145
+ cx.moveTo(0, BASE_Y);
146
+ cx.lineTo(w, BASE_Y);
147
+ cx.stroke();
148
+ const cfg = tCfg();
149
+ const lt = x2t(-100);
150
+ const rt = x2t(w + 100);
151
+ const order = ["x", "u", "s", "m", "M"];
152
+ for (let li = 0; li < order.length; li++) {
153
+ const lv = order[li];
154
+ const tk = cfg[lv];
155
+ if (!tk) continue;
156
+ const st = Math.floor(lt / tk.iv) * tk.iv;
157
+ for (let t = st; t <= rt + tk.iv; t += tk.iv) {
158
+ const x = t2x(t);
159
+ if (x < -20 || x > w + 20) continue;
160
+ cx.strokeStyle = tk.c;
161
+ cx.lineWidth = tk.w;
162
+ cx.beginPath();
163
+ cx.moveTo(x, BASE_Y);
164
+ cx.lineTo(x, BASE_Y - tk.h);
165
+ cx.stroke();
166
+ if (tk.lbl) {
167
+ cx.fillStyle = "#7a8da6";
168
+ cx.font = '700 10px "Space Mono",monospace';
169
+ cx.textAlign = "center";
170
+ cx.textBaseline = "top";
171
+ cx.fillText(fmtT(t), x, 4);
172
+ const dd = new Date(t * 1e3);
173
+ if (dd.getHours() === 0 && dd.getMinutes() === 0) {
174
+ cx.fillStyle = "#4a5a74";
175
+ cx.font = '9px "Space Mono",monospace';
176
+ cx.fillText(fmtD(t), x, -1);
177
+ cx.save();
178
+ cx.strokeStyle = "#1e2a3a";
179
+ cx.lineWidth = 1;
180
+ cx.setLineDash([3, 3]);
181
+ cx.beginPath();
182
+ cx.moveTo(x, 14);
183
+ cx.lineTo(x, BASE_Y);
184
+ cx.stroke();
185
+ cx.restore();
186
+ }
187
+ }
188
+ }
189
+ }
190
+ if (_currentPlayMs && _startTime) {
191
+ const playSec = _currentPlayMs / 1e3;
192
+ const nx = t2x(playSec);
193
+ if (nx > -20 && nx < w + 20) {
194
+ cx.strokeStyle = "#3ddc84";
195
+ cx.lineWidth = 1.5;
196
+ cx.beginPath();
197
+ cx.moveTo(nx, BASE_Y - 32);
198
+ cx.lineTo(nx, BASE_Y);
199
+ cx.stroke();
200
+ cx.fillStyle = "#3ddc84";
201
+ cx.beginPath();
202
+ cx.moveTo(nx, BASE_Y + 1);
203
+ cx.lineTo(nx - 3, BASE_Y + 6);
204
+ cx.lineTo(nx + 3, BASE_Y + 6);
205
+ cx.closePath();
206
+ cx.fill();
207
+ }
208
+ }
209
+ const px = w / 2;
210
+ const g = cx.createLinearGradient(px - 20, 0, px + 20, 0);
211
+ g.addColorStop(0, "rgba(255,45,45,0)");
212
+ g.addColorStop(0.5, "rgba(255,45,45,0.06)");
213
+ g.addColorStop(1, "rgba(255,45,45,0)");
214
+ cx.fillStyle = g;
215
+ cx.fillRect(px - 20, 0, 40, BASE_Y);
216
+ cx.strokeStyle = "#ff2d2d";
217
+ cx.lineWidth = 1.5;
218
+ cx.beginPath();
219
+ cx.moveTo(px, 0);
220
+ cx.lineTo(px, BASE_Y);
221
+ cx.stroke();
222
+ cx.fillStyle = "#ff2d2d";
223
+ cx.beginPath();
224
+ cx.moveTo(px, 0);
225
+ cx.lineTo(px - 4, 6);
226
+ cx.lineTo(px + 4, 6);
227
+ cx.closePath();
228
+ cx.fill();
229
+ cx.beginPath();
230
+ cx.moveTo(px, BASE_Y + 1);
231
+ cx.lineTo(px - 3, BASE_Y + 7);
232
+ cx.lineTo(px + 3, BASE_Y + 7);
233
+ cx.closePath();
234
+ cx.fill();
235
+ if (mIn && mX >= 0 && !dragging) {
236
+ cx.save();
237
+ cx.strokeStyle = "rgba(136,153,180,0.4)";
238
+ cx.lineWidth = 1;
239
+ cx.setLineDash([2, 2]);
240
+ cx.beginPath();
241
+ cx.moveTo(mX, 4);
242
+ cx.lineTo(mX, BASE_Y);
243
+ cx.stroke();
244
+ cx.restore();
245
+ cx.fillStyle = "#8899b4";
246
+ cx.beginPath();
247
+ cx.arc(mX, BASE_Y, 2.5, 0, Math.PI * 2);
248
+ cx.fill();
249
+ const ht = x2t(mX);
250
+ tipText.value = `${fmtD(ht)} ${fmtTF(ht)}`;
251
+ tipStyle.value = { left: `${mX + 14}px` };
252
+ tipShow.value = true;
253
+ requestAnimationFrame(() => {
254
+ if (!tipElProxy || !rulerAreaRef.value) return;
255
+ const tr = tipElProxy.getBoundingClientRect();
256
+ const wr = rulerAreaRef.value.getBoundingClientRect();
257
+ if (tr.right > wr.right - 6)
258
+ tipStyle.value = { left: `${mX - tr.width - 14}px` };
259
+ });
260
+ } else {
261
+ tipShow.value = false;
262
+ }
263
+ const fw = 28;
264
+ const lf = cx.createLinearGradient(0, 0, fw, 0);
265
+ lf.addColorStop(0, "#1a2030");
266
+ lf.addColorStop(1, "rgba(26,32,48,0)");
267
+ cx.fillStyle = lf;
268
+ cx.fillRect(0, 0, fw, h);
269
+ const rf = cx.createLinearGradient(w - fw, 0, w, 0);
270
+ rf.addColorStop(0, "rgba(26,32,48,0)");
271
+ rf.addColorStop(1, "#1a2030");
272
+ cx.fillStyle = rf;
273
+ cx.fillRect(w - fw, 0, fw, h);
274
+ const ct = x2t(px);
275
+ const cd = new Date(ct * 1e3);
276
+ timeBigHtml.value = `${pad(cd.getHours())}<span class="sep">:</span>${pad(
277
+ cd.getMinutes()
278
+ )}<span class="sep">:</span>${pad(cd.getSeconds())}`;
279
+ timeDateText.value = fmtD(ct);
280
+ renderRecSegs(w);
281
+ }
282
+ __name(draw, "draw");
283
+ function renderRecSegs(w) {
284
+ if (!w) w = cvs.width / dpr;
285
+ if (!recTrackRef.value) return;
286
+ recTrackRef.value.innerHTML = "";
287
+ if (!_startTime) return;
288
+ const startS = dateToSec(_startTime);
289
+ const endS = startS + _durationSec;
290
+ const lt = x2t(-20);
291
+ const rt = x2t(w + 20);
292
+ if (endS < lt || startS > rt) return;
293
+ const x1 = t2x(Math.max(startS, lt));
294
+ const x2 = t2x(Math.min(endS, rt));
295
+ if (x2 - x1 < 0.5) return;
296
+ const div = document.createElement("div");
297
+ div.className = "rec-seg";
298
+ div.style.left = `${x1}px`;
299
+ div.style.width = `${x2 - x1}px`;
300
+ recTrackRef.value.appendChild(div);
301
+ }
302
+ __name(renderRecSegs, "renderRecSegs");
303
+ function loop() {
304
+ if (!dragging && Math.abs(vel) > 0.05) {
305
+ offX += vel;
306
+ vel *= FRIC;
307
+ } else if (!dragging) vel = 0;
308
+ if (Math.abs(pph - tPph) > 0.2) pph += (tPph - pph) * 0.15;
309
+ else pph = tPph;
310
+ zoomTagText.value = `${Math.round(pph)} px/h`;
311
+ draw();
312
+ rafId = requestAnimationFrame(loop);
313
+ }
314
+ __name(loop, "loop");
315
+ function gx(e) {
316
+ if (!cvs) return 0;
317
+ const r = cvs.getBoundingClientRect();
318
+ const clientX = "touches" in e ? e.touches[0].clientX : e.clientX;
319
+ return clientX - r.left;
320
+ }
321
+ __name(gx, "gx");
322
+ function onDown(e) {
323
+ e.preventDefault();
324
+ dragging = true;
325
+ vel = 0;
326
+ dragSX = gx(e);
327
+ dragSO = offX;
328
+ lpX = dragSX;
329
+ lpT = performance.now();
330
+ cvs.style.cursor = "grabbing";
331
+ }
332
+ __name(onDown, "onDown");
333
+ function onMove(e) {
334
+ if (!dragging) {
335
+ if (e.target === cvs || cvs && cvs.contains(e.target)) {
336
+ if (!cvs) return;
337
+ const r = cvs.getBoundingClientRect();
338
+ mX = ("touches" in e ? e.touches[0].clientX : e.clientX) - r.left;
339
+ mIn = true;
340
+ }
341
+ return;
342
+ }
343
+ e.preventDefault();
344
+ const x = gx(e);
345
+ offX = dragSO + (x - dragSX);
346
+ const now = performance.now();
347
+ const dt = now - lpT;
348
+ if (dt > 0) vel = (x - lpX) / dt * 16;
349
+ lpX = x;
350
+ lpT = now;
351
+ }
352
+ __name(onMove, "onMove");
353
+ function onUp() {
354
+ if (!dragging) return;
355
+ dragging = false;
356
+ cvs.style.cursor = mIn ? "grab" : "default";
357
+ vel = 0;
358
+ if (dragSO !== offX) {
359
+ const lockedSec = x2t(cvs.width / dpr / 2);
360
+ emit("seek", lockedSec);
361
+ }
362
+ }
363
+ __name(onUp, "onUp");
364
+ function initRuler(startTimeDate, durationSeconds) {
365
+ _startTime = startTimeDate;
366
+ _durationSec = durationSeconds || 3600;
367
+ BASE_TIME = dateToSec(startTimeDate);
368
+ resize();
369
+ const w = cvs.width / dpr;
370
+ offX = w / 2 - (BASE_TIME - BASE_TIME) * pph / 3600;
371
+ _currentPlayMs = startTimeDate.getTime();
372
+ }
373
+ __name(initRuler, "initRuler");
374
+ function updateRulerTime(timeMs) {
375
+ _currentPlayMs = timeMs;
376
+ }
377
+ __name(updateRulerTime, "updateRulerTime");
378
+ function autoFollow() {
379
+ if (!_currentPlayMs || dragging || !cvs) return;
380
+ const targetX = t2x(_currentPlayMs / 1e3);
381
+ const w = cvs.width / dpr;
382
+ const halfW = w / 2;
383
+ if (Math.abs(targetX - halfW) > halfW * 0.5) {
384
+ offX += (targetX - halfW) * 0.08;
385
+ }
386
+ }
387
+ __name(autoFollow, "autoFollow");
388
+ __expose({ initRuler, updateRulerTime, autoFollow });
389
+ vue.onMounted(() => {
390
+ cvs = canvasRef.value;
391
+ cx = cvs.getContext("2d");
392
+ dpr = window.devicePixelRatio || 1;
393
+ cvs.addEventListener("mousedown", onDown);
394
+ cvs.addEventListener("touchstart", onDown, { passive: false });
395
+ window.addEventListener("mousemove", onMove);
396
+ window.addEventListener("touchmove", onMove, { passive: false });
397
+ window.addEventListener("mouseup", onUp);
398
+ window.addEventListener("touchend", onUp);
399
+ cvs.addEventListener("mouseenter", () => {
400
+ mIn = true;
401
+ cvs.style.cursor = "grab";
402
+ });
403
+ cvs.addEventListener("mouseleave", () => {
404
+ mIn = false;
405
+ mX = -1;
406
+ if (!dragging) cvs.style.cursor = "default";
407
+ });
408
+ cvs.addEventListener("click", (e) => {
409
+ if (Math.abs(gx(e)) - dragSX > 5) return;
410
+ const clickX = gx(e);
411
+ const lockedSec = x2t(clickX);
412
+ vel = 0;
413
+ offX = clickX - cvs.width / dpr / 2;
414
+ emit("seek", lockedSec);
415
+ });
416
+ window.addEventListener("resize", resize);
417
+ vue.nextTick(() => {
418
+ tipElProxy = document.querySelector(".ruler-area .tip");
419
+ });
420
+ if (props.startTime) {
421
+ initRuler(props.startTime, props.duration);
422
+ } else {
423
+ BASE_TIME = Date.now() / 1e3;
424
+ resize();
425
+ const w = cvs.width / dpr;
426
+ offX = w / 2;
427
+ }
428
+ loop();
429
+ });
430
+ vue.onBeforeUnmount(() => {
431
+ if (rafId) cancelAnimationFrame(rafId);
432
+ window.removeEventListener("resize", resize);
433
+ window.removeEventListener("mousemove", onMove);
434
+ window.removeEventListener("touchmove", onMove);
435
+ window.removeEventListener("mouseup", onUp);
436
+ window.removeEventListener("touchend", onUp);
437
+ });
438
+ return (_ctx, _cache) => {
439
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
440
+ vue.createElementVNode("div", _hoisted_2, [
441
+ vue.createElementVNode("div", {
442
+ class: "time-big",
443
+ innerHTML: timeBigHtml.value
444
+ }, null, 8, _hoisted_3),
445
+ vue.createElementVNode(
446
+ "div",
447
+ _hoisted_4,
448
+ vue.toDisplayString(timeDateText.value),
449
+ 1
450
+ /* TEXT */
451
+ )
452
+ ]),
453
+ vue.createElementVNode(
454
+ "div",
455
+ {
456
+ ref_key: "recTrackRef",
457
+ ref: recTrackRef,
458
+ class: "rec-track"
459
+ },
460
+ null,
461
+ 512
462
+ /* NEED_PATCH */
463
+ ),
464
+ vue.createElementVNode(
465
+ "div",
466
+ {
467
+ ref_key: "rulerAreaRef",
468
+ ref: rulerAreaRef,
469
+ class: "ruler-area"
470
+ },
471
+ [
472
+ vue.createElementVNode(
473
+ "canvas",
474
+ {
475
+ id: "rulerCanvas",
476
+ ref_key: "canvasRef",
477
+ ref: canvasRef,
478
+ class: "ruler-canvas"
479
+ },
480
+ null,
481
+ 512
482
+ /* NEED_PATCH */
483
+ ),
484
+ vue.createElementVNode(
485
+ "div",
486
+ {
487
+ class: vue.normalizeClass(["tip", { show: tipShow.value }]),
488
+ style: vue.normalizeStyle(tipStyle.value)
489
+ },
490
+ vue.toDisplayString(tipText.value),
491
+ 7
492
+ /* TEXT, CLASS, STYLE */
493
+ ),
494
+ vue.createElementVNode(
495
+ "div",
496
+ _hoisted_5,
497
+ vue.toDisplayString(zoomTagText.value),
498
+ 1
499
+ /* TEXT */
500
+ )
501
+ ],
502
+ 512
503
+ /* NEED_PATCH */
504
+ )
505
+ ]);
506
+ };
507
+ }
508
+ });
509
+
510
+ exports.default = _sfc_main;
511
+ //# sourceMappingURL=timeline-ruler.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-ruler.vue2.js","sources":["../../../../../../../../packages/components/monitor-playback/timeline-ruler/src/timeline-ruler.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { nextTick, onBeforeUnmount, onMounted, ref } from \"vue\";\nimport { TimelineRulerProps } from \"./timeline-ruler\";\nimport type { TickCfg } from \"./timeline-ruler\";\n\ndefineOptions({\n name: \"ITimelineRuler\",\n});\n\nconst props = defineProps(TimelineRulerProps);\n\nconst emit = defineEmits([\"seek\"]);\n\n// ==================== DOM Refs ====================\nconst canvasRef = ref<HTMLCanvasElement | null>(null);\nconst rulerAreaRef = ref<HTMLElement | null>(null);\nconst recTrackRef = ref<HTMLElement | null>(null);\n\n// ==================== UI State ====================\nconst timeBigHtml = ref(\n '--<span class=\"sep\">:</span>--<span class=\"sep\">:</span>--',\n);\nconst timeDateText = ref(\"----/--/--\");\nconst tipShow = ref(false);\nconst tipText = ref(\"\");\n/** ruler tooltip DOM 代理引用,延迟到 onMounted 赋值 */\nlet tipElProxy: Element | null = null;\nconst tipStyle = ref<Record<string, string>>({});\nconst zoomTagText = ref(\"\");\n\n// ==================== Ruler Constants ====================\nconst RH = 56;\nconst BASE_Y = 44;\nconst FRIC = 0.9;\n\n// ==================== Ruler State ====================\nlet BASE_TIME: number | null = null;\nlet pph = 120;\nconst tPph = 120;\nlet offX = 0;\nlet dragging = false;\nlet dragSX = 0;\nlet dragSO = 0;\nlet vel = 0;\nlet lpX = 0;\nlet lpT = 0;\nlet mX = -1;\nlet mIn = false;\nlet _startTime: Date | null = null;\nlet _durationSec = 3600;\nlet _currentPlayMs: number | null = null;\n\n// Canvas refs\nlet cvs: HTMLCanvasElement | null = null;\nlet cx: CanvasRenderingContext2D | null = null;\nlet dpr = 1;\nlet rafId: number | null = null;\n\n// ==================== Utils ====================\nfunction pad(n: number) {\n return String(n).padStart(2, \"0\");\n}\n\nfunction fmtT(s: number) {\n const d = new Date(s * 1000);\n return `${pad(d.getHours())}:${pad(d.getMinutes())}`;\n}\nfunction fmtTF(s: number) {\n const d = new Date(s * 1000);\n return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;\n}\nfunction fmtD(s: number) {\n const d = new Date(s * 1000);\n return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\n}\n\nfunction dateToSec(dt: Date): number {\n return dt.getTime() / 1000;\n}\n\n// ==================== Coord Transform ====================\nfunction t2x(t: number): number {\n return ((t - BASE_TIME!) * pph) / 3600 + offX;\n}\nfunction x2t(x: number): number {\n return ((x - offX) * 3600) / pph + BASE_TIME!;\n}\n\n// ==================== Resize ====================\nfunction resize() {\n if (!cvs || !rulerAreaRef.value) return;\n const ow = cvs!.width / dpr || 0;\n const r = rulerAreaRef.value.getBoundingClientRect();\n cvs!.width = r.width * dpr;\n cvs!.height = RH * dpr;\n (cvs as HTMLCanvasElement).style.height = `${RH}px`;\n cx!.setTransform(dpr, 0, 0, dpr, 0, 0);\n if (ow > 0) {\n const ct = x2t(ow / 2);\n offX = r.width / 2 - ((ct - BASE_TIME!) * pph) / 3600;\n }\n}\n\n// ==================== Tick Config ====================\nfunction tCfg(): Record<string, TickCfg> {\n if (pph >= 300)\n return {\n M: { iv: 3600, h: 32, w: 1.5, c: \"#8899b4\", lbl: true },\n m: { iv: 1800, h: 22, w: 1, c: \"#4a5a74\" },\n s: { iv: 600, h: 14, w: 0.7, c: \"#33415a\" },\n u: { iv: 300, h: 8, w: 0.5, c: \"#252f42\" },\n x: { iv: 60, h: 4, w: 0.3, c: \"#1c2535\" },\n };\n if (pph >= 140)\n return {\n M: { iv: 3600, h: 32, w: 1.5, c: \"#8899b4\", lbl: true },\n m: { iv: 1800, h: 22, w: 1, c: \"#4a5a74\" },\n s: { iv: 600, h: 14, w: 0.7, c: \"#33415a\" },\n u: { iv: 300, h: 8, w: 0.5, c: \"#252f42\" },\n };\n if (pph >= 70)\n return {\n M: { iv: 3600, h: 32, w: 1.5, c: \"#8899b4\", lbl: true },\n m: { iv: 1800, h: 20, w: 1, c: \"#4a5a74\" },\n s: { iv: 600, h: 13, w: 0.7, c: \"#33415a\" },\n };\n if (pph >= 35)\n return {\n M: { iv: 3600, h: 32, w: 1.5, c: \"#8899b4\", lbl: true },\n m: { iv: 1800, h: 18, w: 0.8, c: \"#4a5a74\" },\n };\n return {\n M: { iv: 7200, h: 32, w: 1.5, c: \"#8899b4\", lbl: true },\n m: { iv: 3600, h: 18, w: 0.8, c: \"#4a5a74\" },\n };\n}\n\n// ==================== Draw ====================\nfunction draw() {\n if (!cvs || !cx) return;\n const w = cvs.width / dpr;\n const h = cvs.height / dpr;\n cx.clearRect(0, 0, w, h);\n\n // 基线\n cx.strokeStyle = \"#2a3448\";\n cx.lineWidth = 1;\n cx.beginPath();\n cx.moveTo(0, BASE_Y);\n cx.lineTo(w, BASE_Y);\n cx.stroke();\n\n // 多级刻度\n const cfg = tCfg();\n const lt = x2t(-100);\n const rt = x2t(w + 100);\n const order = [\"x\", \"u\", \"s\", \"m\", \"M\"];\n for (let li = 0; li < order.length; li++) {\n const lv = order[li];\n const tk = cfg[lv];\n if (!tk) continue;\n const st = Math.floor(lt / tk.iv) * tk.iv;\n for (let t = st; t <= rt + tk.iv; t += tk.iv) {\n const x = t2x(t);\n if (x < -20 || x > w + 20) continue;\n cx.strokeStyle = tk.c;\n cx.lineWidth = tk.w;\n cx.beginPath();\n cx.moveTo(x, BASE_Y);\n cx.lineTo(x, BASE_Y - tk.h);\n cx.stroke();\n if (tk.lbl) {\n cx.fillStyle = \"#7a8da6\";\n cx.font = '700 10px \"Space Mono\",monospace';\n cx.textAlign = \"center\";\n cx.textBaseline = \"top\";\n cx.fillText(fmtT(t), x, 4);\n const dd = new Date(t * 1000);\n if (dd.getHours() === 0 && dd.getMinutes() === 0) {\n cx.fillStyle = \"#4a5a74\";\n cx.font = '9px \"Space Mono\",monospace';\n cx.fillText(fmtD(t), x, -1);\n cx.save();\n cx.strokeStyle = \"#1e2a3a\";\n cx.lineWidth = 1;\n cx.setLineDash([3, 3]);\n cx.beginPath();\n cx.moveTo(x, 14);\n cx.lineTo(x, BASE_Y);\n cx.stroke();\n cx.restore();\n }\n }\n }\n }\n\n // 当前播放位置线(绿色)\n if (_currentPlayMs && _startTime) {\n const playSec = _currentPlayMs / 1000;\n const nx = t2x(playSec);\n if (nx > -20 && nx < w + 20) {\n cx.strokeStyle = \"#3ddc84\";\n cx.lineWidth = 1.5;\n cx.beginPath();\n cx.moveTo(nx, BASE_Y - 32);\n cx.lineTo(nx, BASE_Y);\n cx.stroke();\n cx.fillStyle = \"#3ddc84\";\n cx.beginPath();\n cx.moveTo(nx, BASE_Y + 1);\n cx.lineTo(nx - 3, BASE_Y + 6);\n cx.lineTo(nx + 3, BASE_Y + 6);\n cx.closePath();\n cx.fill();\n }\n }\n\n // 中心指针(红色)\n const px = w / 2;\n const g = cx.createLinearGradient(px - 20, 0, px + 20, 0);\n g.addColorStop(0, \"rgba(255,45,45,0)\");\n g.addColorStop(0.5, \"rgba(255,45,45,0.06)\");\n g.addColorStop(1, \"rgba(255,45,45,0)\");\n cx.fillStyle = g;\n cx.fillRect(px - 20, 0, 40, BASE_Y);\n\n cx.strokeStyle = \"#ff2d2d\";\n cx.lineWidth = 1.5;\n cx.beginPath();\n cx.moveTo(px, 0);\n cx.lineTo(px, BASE_Y);\n cx.stroke();\n\n cx.fillStyle = \"#ff2d2d\";\n cx.beginPath();\n cx.moveTo(px, 0);\n cx.lineTo(px - 4, 6);\n cx.lineTo(px + 4, 6);\n cx.closePath();\n cx.fill();\n\n cx.beginPath();\n cx.moveTo(px, BASE_Y + 1);\n cx.lineTo(px - 3, BASE_Y + 7);\n cx.lineTo(px + 3, BASE_Y + 7);\n cx.closePath();\n cx.fill();\n\n // 鼠标悬停线\n if (mIn && mX >= 0 && !dragging) {\n cx.save();\n cx.strokeStyle = \"rgba(136,153,180,0.4)\";\n cx.lineWidth = 1;\n cx.setLineDash([2, 2]);\n cx.beginPath();\n cx.moveTo(mX, 4);\n cx.lineTo(mX, BASE_Y);\n cx.stroke();\n cx.restore();\n cx.fillStyle = \"#8899b4\";\n cx.beginPath();\n cx.arc(mX, BASE_Y, 2.5, 0, Math.PI * 2);\n cx.fill();\n\n const ht = x2t(mX);\n tipText.value = `${fmtD(ht)} ${fmtTF(ht)}`;\n tipStyle.value = { left: `${mX + 14}px` };\n tipShow.value = true;\n requestAnimationFrame(() => {\n if (!tipElProxy || !rulerAreaRef.value) return;\n const tr = tipElProxy.getBoundingClientRect();\n const wr = rulerAreaRef.value.getBoundingClientRect();\n if (tr.right > wr.right - 6)\n tipStyle.value = { left: `${mX - tr.width - 14}px` };\n });\n } else {\n tipShow.value = false;\n }\n\n // 边缘渐隐\n const fw = 28;\n const lf = cx.createLinearGradient(0, 0, fw, 0);\n lf.addColorStop(0, \"#1a2030\");\n lf.addColorStop(1, \"rgba(26,32,48,0)\");\n cx.fillStyle = lf;\n cx.fillRect(0, 0, fw, h);\n const rf = cx.createLinearGradient(w - fw, 0, w, 0);\n rf.addColorStop(0, \"rgba(26,32,48,0)\");\n rf.addColorStop(1, \"#1a2030\");\n cx.fillStyle = rf;\n cx.fillRect(w - fw, 0, fw, h);\n\n // 更新中心时间显示\n const ct = x2t(px);\n const cd = new Date(ct * 1000);\n timeBigHtml.value = `${pad(cd.getHours())}<span class=\"sep\">:</span>${pad(\n cd.getMinutes(),\n )}<span class=\"sep\">:</span>${pad(cd.getSeconds())}`;\n timeDateText.value = fmtD(ct);\n\n // 录像段\n renderRecSegs(w);\n}\n\n// 录像段渲染\nfunction renderRecSegs(w?: number) {\n if (!w) w = (cvs as HTMLCanvasElement).width / dpr;\n if (!recTrackRef.value) return;\n recTrackRef.value.innerHTML = \"\";\n if (!_startTime) return;\n\n const startS = dateToSec(_startTime);\n const endS = startS + _durationSec;\n const lt = x2t(-20);\n const rt = x2t(w + 20);\n\n if (endS < lt || startS > rt) return;\n\n const x1 = t2x(Math.max(startS, lt));\n const x2 = t2x(Math.min(endS, rt));\n if (x2 - x1 < 0.5) return;\n\n const div = document.createElement(\"div\");\n div.className = \"rec-seg\";\n div.style.left = `${x1}px`;\n div.style.width = `${x2 - x1}px`;\n recTrackRef.value.appendChild(div);\n}\n\n// ==================== Animation Loop ====================\nfunction loop() {\n // 惯性滑动\n if (!dragging && Math.abs(vel) > 0.05) {\n offX += vel;\n vel *= FRIC;\n } else if (!dragging) vel = 0;\n\n // 平滑缩放\n if (Math.abs(pph - tPph) > 0.2) pph += (tPph - pph) * 0.15;\n else pph = tPph;\n\n zoomTagText.value = `${Math.round(pph)} px/h`;\n\n draw();\n\n rafId = requestAnimationFrame(loop);\n}\n\n// ==================== Events ====================\nfunction gx(e: MouseEvent | TouchEvent): number {\n if (!cvs) return 0;\n const r = cvs!.getBoundingClientRect();\n const clientX = \"touches\" in e ? e.touches[0].clientX : e.clientX;\n return clientX - r.left;\n}\n\nfunction onDown(e: MouseEvent | TouchEvent) {\n e.preventDefault();\n dragging = true;\n vel = 0;\n dragSX = gx(e);\n dragSO = offX;\n lpX = dragSX;\n lpT = performance.now();\n (cvs as HTMLCanvasElement).style.cursor = \"grabbing\";\n}\n\nfunction onMove(e: MouseEvent | TouchEvent) {\n if (!dragging) {\n if (e.target === cvs || (cvs && cvs!.contains(e.target as Node))) {\n if (!cvs) return;\n const r = cvs!.getBoundingClientRect();\n mX = (\"touches\" in e ? e.touches[0].clientX : e.clientX) - r.left;\n mIn = true;\n }\n return;\n }\n e.preventDefault();\n const x = gx(e);\n offX = dragSO + (x - dragSX);\n const now = performance.now();\n const dt = now - lpT;\n if (dt > 0) vel = ((x - lpX) / dt) * 16;\n lpX = x;\n lpT = now;\n}\n\nfunction onUp() {\n if (!dragging) return;\n dragging = false;\n (cvs as HTMLCanvasElement).style.cursor = mIn ? \"grab\" : \"default\";\n vel = 0;\n if (dragSO !== offX) {\n const lockedSec = x2t(cvs!.width / dpr / 2);\n emit(\"seek\", lockedSec);\n }\n}\n\n// ==================== Public API ====================\n/** 初始化/重置时间轴 */\nfunction initRuler(startTimeDate: Date, durationSeconds?: number) {\n _startTime = startTimeDate;\n _durationSec = durationSeconds || 3600;\n BASE_TIME = dateToSec(startTimeDate);\n resize();\n const w = (cvs as HTMLCanvasElement).width / dpr;\n offX = w / 2 - ((BASE_TIME! - BASE_TIME!) * pph) / 3600;\n _currentPlayMs = startTimeDate.getTime();\n}\n\n/** 更新当前播放时间(由父组件定时调用) */\nfunction updateRulerTime(timeMs: number) {\n _currentPlayMs = timeMs;\n}\n\n/** 播放时自动跟随指针到中心 */\nfunction autoFollow() {\n if (!_currentPlayMs || dragging || !cvs) return;\n const targetX = t2x(_currentPlayMs / 1000);\n const w = (cvs as HTMLCanvasElement).width / dpr;\n const halfW = w / 2;\n if (Math.abs(targetX - halfW) > halfW * 0.5) {\n offX += (targetX - halfW) * 0.08;\n }\n}\n\ndefineExpose({ initRuler, updateRulerTime, autoFollow });\n\n// ==================== Lifecycle ====================\nonMounted(() => {\n cvs = canvasRef.value;\n cx = cvs!.getContext(\"2d\");\n dpr = window.devicePixelRatio || 1;\n\n // 绑定事件\n cvs!.addEventListener(\"mousedown\", onDown);\n cvs!.addEventListener(\"touchstart\", onDown, { passive: false });\n window.addEventListener(\"mousemove\", onMove);\n window.addEventListener(\"touchmove\", onMove, { passive: false });\n window.addEventListener(\"mouseup\", onUp);\n window.addEventListener(\"touchend\", onUp);\n cvs!.addEventListener(\"mouseenter\", () => {\n mIn = true;\n (cvs as HTMLCanvasElement).style.cursor = \"grab\";\n });\n cvs!.addEventListener(\"mouseleave\", () => {\n mIn = false;\n mX = -1;\n if (!dragging) (cvs as HTMLCanvasElement).style.cursor = \"default\";\n });\n\n // 点击跳转\n cvs!.addEventListener(\"click\", (e) => {\n if (Math.abs(gx(e as MouseEvent)) - dragSX > 5) return;\n const clickX = gx(e as MouseEvent);\n const lockedSec = x2t(clickX);\n vel = 0;\n offX = clickX - cvs!.width / dpr / 2;\n emit(\"seek\", lockedSec);\n });\n\n // resize\n window.addEventListener(\"resize\", resize);\n\n // 获取 tip 代理元素\n nextTick(() => {\n tipElProxy = document.querySelector(\".ruler-area .tip\");\n });\n\n // 初始化\n if (props.startTime) {\n initRuler(props.startTime, props.duration);\n } else {\n BASE_TIME = Date.now() / 1000;\n resize();\n const w = cvs!.width / dpr;\n offX = w / 2;\n }\n loop();\n});\n\nonBeforeUnmount(() => {\n if (rafId) cancelAnimationFrame(rafId);\n window.removeEventListener(\"resize\", resize);\n window.removeEventListener(\"mousemove\", onMove);\n window.removeEventListener(\"touchmove\", onMove);\n window.removeEventListener(\"mouseup\", onUp);\n window.removeEventListener(\"touchend\", onUp);\n});\n</script>\n\n<template>\n <div class=\"ruler-panel\">\n <div class=\"time-display\">\n <div class=\"time-big\" v-html=\"timeBigHtml\" />\n <div class=\"time-date\">{{ timeDateText }}</div>\n </div>\n\n <div ref=\"recTrackRef\" class=\"rec-track\" />\n\n <div ref=\"rulerAreaRef\" class=\"ruler-area\">\n <canvas id=\"rulerCanvas\" ref=\"canvasRef\" class=\"ruler-canvas\" />\n <div class=\"tip\" :class=\"{ show: tipShow }\" :style=\"tipStyle\">\n {{ tipText }}\n </div>\n <div class=\"zoom-tag\">{{ zoomTagText }}</div>\n </div>\n </div>\n</template>\n"],"names":["ref","onMounted","nextTick","onBeforeUnmount","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { ExtractPropTypes, PropType } from 'vue';
2
- import type PageHeader from './page-header.vue';
1
+ import type { ExtractPropTypes, PropType } from "vue";
2
+ import type PageHeader from "./page-header.vue";
3
3
  export declare const PageHeaderProps: {
4
4
  title: {
5
5
  type: StringConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.js","sources":["../../../../../../../packages/components/page-header/src/page-header.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue';\nimport type PageHeader from './page-header.vue';\n\nexport const PageHeaderProps = {\n title: {\n type: String,\n default: '',\n },\n underline: {\n type: Boolean,\n default: true,\n },\n slotFlex: {\n type: String as PropType<'between' | 'start'>,\n default: 'start',\n },\n /**\n * pinia useSystemMenuStoreHook\n */\n action: Object,\n};\n\nexport type PageHeaderPropsType = ExtractPropTypes<typeof PageHeaderProps>;\nexport type PageHeaderInstance = InstanceType<typeof PageHeader>;\n"],"names":[],"mappings":";;AAGO,MAAM,eAAkB,GAAA;AAAA,EAC7B,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AACV;;;;"}
1
+ {"version":3,"file":"page-header.js","sources":["../../../../../../../packages/components/page-header/src/page-header.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from \"vue\";\nimport type PageHeader from \"./page-header.vue\";\n\nexport const PageHeaderProps = {\n title: {\n type: String,\n default: \"\",\n },\n underline: {\n type: Boolean,\n default: true,\n },\n slotFlex: {\n type: String as PropType<\"between\" | \"start\">,\n default: \"start\",\n },\n /**\n * pinia useSystemMenuStoreHook\n */\n action: Object,\n};\n\nexport type PageHeaderPropsType = ExtractPropTypes<typeof PageHeaderProps>;\nexport type PageHeaderInstance = InstanceType<typeof PageHeader>;\n"],"names":[],"mappings":";;AAGO,MAAM,eAAkB,GAAA;AAAA,EAC7B,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAQ,EAAA;AACV;;;;"}