@yuneta/gobj-js 7.26.2 → 7.26.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.
@@ -324,8 +324,8 @@ var B = Object.freeze({
324
324
  B.TRACE_COMMANDS,
325
325
  "Trace commands"
326
326
  ]
327
- ], q = 0, H = 0, Q = 0;
328
- function z(e, t) {
327
+ ], q = 0, H = 0, z = 0;
328
+ function Q(e, t) {
329
329
  let n = [];
330
330
  for (const [t, r] of J) e & r && n.push(t);
331
331
  if (Array.isArray(t)) for (let r = 0; r < t.length && r < 16; r++) t[r] && e & 1 << r && n.push(t[r][0]);
@@ -346,7 +346,7 @@ function X(e, t, n) {
346
346
  }(String(e), n) || (ir(`${t}: trace level NOT FOUND: ${e}`), 0);
347
347
  }
348
348
  function Z(e) {
349
- if (Q) return 4294967295;
349
+ if (z) return 4294967295;
350
350
  let t = q;
351
351
  return e && (t |= e.trace_level || 0, e.gclass && (t |= e.gclass.trace_level || 0)), t;
352
352
  }
@@ -367,13 +367,13 @@ function le(e) {
367
367
  return Z(e) & B.TRACE_EV_KW;
368
368
  }
369
369
  function oe(e, t) {
370
- if (Q > 1) return !0;
370
+ if (z > 1) return !0;
371
371
  if (!e) return !1;
372
372
  const n = Z(e);
373
373
  return !!(n & B.TRACE_MACHINE || n & B.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & B.TRACE_TIMER && "EV_TIMEOUT" === t);
374
374
  }
375
375
  function ie(e, t) {
376
- if (Q > 1) return !1;
376
+ if (z > 1) return !1;
377
377
  if (!e) return !0;
378
378
  const n = ee(e);
379
379
  return !!(n & B.TRACE_MACHINE || n & B.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & B.TRACE_TIMER && "EV_TIMEOUT" === t);
@@ -399,25 +399,25 @@ function fe(e, t) {
399
399
  return H = t ? (H | e) >>> 0 : (H & ~e) >>> 0, 0;
400
400
  }
401
401
  function ge() {
402
- return z(q, null);
402
+ return Q(q, null);
403
403
  }
404
404
  function de() {
405
- return z(H, null);
405
+ return Q(H, null);
406
406
  }
407
407
  function be(e) {
408
408
  const t = Jr(e) ? Me(e) : e;
409
- return t ? z(t.trace_level | q, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
409
+ return t ? Q(t.trace_level | q, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
410
410
  }
411
411
  function pe(e) {
412
412
  const t = Jr(e) ? Me(e) : e;
413
- return t ? z(t.trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
413
+ return t ? Q(t.trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
414
414
  }
415
415
  function me(e) {
416
416
  const t = Jr(e) ? Me(e) : e;
417
- return t ? z(t.no_trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
417
+ return t ? Q(t.no_trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
418
418
  }
419
419
  function he(e) {
420
- return Q = Number(e) || 0, 0;
420
+ return z = Number(e) || 0, 0;
421
421
  }
422
422
  function Ee(e, t, n) {
423
423
  const r = Jr(e) ? Me(e) : e;
@@ -569,7 +569,7 @@ function Re(e) {
569
569
  return e.jn_attrs;
570
570
  }
571
571
  function $e(e, t, n) {
572
- return Qt(e, t) ? Re(e) : e && e.bottom_gobj ? $e(e.bottom_gobj, t, n) : (n && ir(`GClass Attribute NOT FOUND: ${$t(e)}, attr ${t}`), null);
572
+ return zt(e, t) ? Re(e) : e && e.bottom_gobj ? $e(e.bottom_gobj, t, n) : (n && ir(`GClass Attribute NOT FOUND: ${$t(e)}, attr ${t}`), null);
573
573
  }
574
574
  function De(e, t, n) {
575
575
  if (!(e && e instanceof I)) return n && ir("gclass NULL"), null;
@@ -714,7 +714,7 @@ function Be(e, t) {
714
714
  t.parent && ir(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
715
715
  }
716
716
  function Je(e, t) {
717
- let n = Oo(e.dl_children, t);
717
+ let n = Io(e.dl_children, t);
718
718
  n >= 0 && (Vr(e.dl_children, n), t.parent = null);
719
719
  }
720
720
  function qe(e, t) {
@@ -723,10 +723,10 @@ function qe(e, t) {
723
723
  function He(e, t) {
724
724
  return Tt(e) ? _ ? _(e, t) : -1 : (ir(`${$t(e)}: Only gobj services can load/save writable-persistent`), -1);
725
725
  }
726
- function Qe(e, t) {
726
+ function ze(e, t) {
727
727
  return Tt(e) ? c ? c(e, t) : -1 : (ir(`${$t(e)}: Only gobj services can load/save writable-persistent`), -1);
728
728
  }
729
- function ze(e, t) {
729
+ function Qe(e, t) {
730
730
  return f ? f(e, t) : null;
731
731
  }
732
732
  function Xe(e, t) {
@@ -991,7 +991,7 @@ function Yt(e, t) {
991
991
  }
992
992
  if (o && o !== cn(e)) return !1;
993
993
  let i = e.jn_attrs;
994
- for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && Qt(e, n) && i[n] !== t[n]) return !1;
994
+ for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && zt(e, n) && i[n] !== t[n]) return !1;
995
995
  return !0;
996
996
  }
997
997
  function Bt(e, t) {
@@ -1044,10 +1044,10 @@ function Ht(e, t) {
1044
1044
  let o = Bt(e, l);
1045
1045
  return o ? (n.splice(0, 1), n = n.join("`"), Ht(o, n)) : null;
1046
1046
  }
1047
- function Qt(e, t) {
1047
+ function zt(e, t) {
1048
1048
  return !tl(t) && !!De(e.gclass, t, !1);
1049
1049
  }
1050
- function zt(e, t, n) {
1050
+ function Qt(e, t, n) {
1051
1051
  let r = e.jn_attrs;
1052
1052
  if (t in r && Object.prototype.hasOwnProperty.call(r, t)) {
1053
1053
  let n = r[t];
@@ -1223,7 +1223,7 @@ function Tn(e, n, r, l) {
1223
1223
  if (1 === W) Y(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", $t(e), o.state_name, l && !l.running ? "!!" : "", $t(l)));
1224
1224
  else {
1225
1225
  let r = "";
1226
- s.action && (r = wo(s.action)), Y(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), jt(e), o.state_name, "", n || "", "", r, l && !l.running ? "!!" : "", Rt(l), jt(l)));
1226
+ s.action && (r = Lo(s.action)), Y(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), jt(e), o.state_name, "", n || "", "", r, l && !l.running ? "!!" : "", Rt(l), jt(l)));
1227
1227
  }
1228
1228
  r && le(e) && Mr(r) && wr(r);
1229
1229
  }
@@ -1286,21 +1286,21 @@ function Nn(e, t) {
1286
1286
  };
1287
1287
  }
1288
1288
  function wn(e, t, n, r, l, o) {
1289
- let i = Tl(t, l, "__config__", null), s = Tl(t, l, "__global__", null), a = Tl(t, l, "__local__", null), u = vl(t, l, "__filter__", null), _ = !0;
1290
- if (t && t !== yl(null, e, "publisher", null) && (_ = !1), o && o !== yl(null, e, "subscriber", null) && (_ = !1), n && n !== El(null, e, "event", "") && (_ = !1), r && r !== El(null, e, "renamed_event", "") && (_ = !1), xr(i) > 0) {
1291
- let t = Tl(null, e, "__config__", null);
1289
+ let i = vl(t, l, "__config__", null), s = vl(t, l, "__global__", null), a = vl(t, l, "__local__", null), u = Ol(t, l, "__filter__", null), _ = !0;
1290
+ if (t && t !== Tl(null, e, "publisher", null) && (_ = !1), o && o !== Tl(null, e, "subscriber", null) && (_ = !1), n && n !== yl(null, e, "event", "") && (_ = !1), r && r !== yl(null, e, "renamed_event", "") && (_ = !1), xr(i) > 0) {
1291
+ let t = vl(null, e, "__config__", null);
1292
1292
  xr(t) > 0 && $r(t, i) || (_ = !1);
1293
1293
  }
1294
1294
  if (xr(s) > 0) {
1295
- let t = Tl(null, e, "__global__", null);
1295
+ let t = vl(null, e, "__global__", null);
1296
1296
  xr(t) > 0 && $r(t, s) || (_ = !1);
1297
1297
  }
1298
1298
  if (xr(a) > 0) {
1299
- let t = Tl(null, e, "__local__", null);
1299
+ let t = vl(null, e, "__local__", null);
1300
1300
  xr(t) > 0 && $r(t, a) || (_ = !1);
1301
1301
  }
1302
1302
  if (xr(u) > 0) {
1303
- let t = vl(null, e, "__filter__", null);
1303
+ let t = Ol(null, e, "__filter__", null);
1304
1304
  xr(t) > 0 && $r(t, u) || (_ = !1);
1305
1305
  }
1306
1306
  return _;
@@ -1317,8 +1317,8 @@ function Rn(e, t) {
1317
1317
  return e.indexOf(t);
1318
1318
  }
1319
1319
  function $n(e, n, r, l) {
1320
- let o = yl(e, n, "publisher", null, Vn.KW_REQUIRED), i = yl(e, n, "subscriber", null, Vn.KW_REQUIRED), s = El(e, n, "event", "", Vn.KW_REQUIRED);
1321
- if (!!(ml(e, n, "subs_flag", null, Vn.KW_REQUIRED) & vn.__hard_subscription__) && !r) return -1;
1320
+ let o = Tl(e, n, "publisher", null, Vn.KW_REQUIRED), i = Tl(e, n, "subscriber", null, Vn.KW_REQUIRED), s = yl(e, n, "event", "", Vn.KW_REQUIRED);
1321
+ if (!!(hl(e, n, "subs_flag", null, Vn.KW_REQUIRED) & vn.__hard_subscription__) && !r) return -1;
1322
1322
  let a = ne(i) || ne(o);
1323
1323
  if (Rn(o.dl_subscriptions, n) < 0) return a && Y(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", s || "", $t(o), $t(i))), 1;
1324
1324
  a && (Y(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", $t(o), $t(i))), cr(n)), o.obflag & P.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, n);
@@ -1340,7 +1340,7 @@ function Dn(e, n, r, l) {
1340
1340
  }), tl(n)) n = "";
1341
1341
  else if (!(bn(e, n, U.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & C.gcflag_no_check_output_events)) return ir(`event NOT in output event list: ${$t(e)}, ${n}`), 0;
1342
1342
  let i = Nn(r, n), s = jn(e.dl_subscriptions, e, n, i.renamed_event, i.kw, l), a = null;
1343
- for (let t = 0; t < s.length; t++) if (ml(e, s[t], "subs_flag", 0, Vn.KW_REQUIRED) & vn.__hard_subscription__) {
1343
+ for (let t = 0; t < s.length; t++) if (hl(e, s[t], "subs_flag", 0, Vn.KW_REQUIRED) & vn.__hard_subscription__) {
1344
1344
  a = s[t];
1345
1345
  break;
1346
1346
  }
@@ -1351,25 +1351,25 @@ function Dn(e, n, r, l) {
1351
1351
  Pr(l, "event", t), Pr(l, "subscriber", r), Pr(l, "publisher", e);
1352
1352
  let o = 0;
1353
1353
  if (n) {
1354
- let r = Tl(e, n, "__config__", null), i = Tl(e, n, "__global__", null), s = Tl(e, n, "__local__", null), a = vl(e, n, "__filter__", null), u = El(e, n, "__service__", "");
1354
+ let r = vl(e, n, "__config__", null), i = vl(e, n, "__global__", null), s = vl(e, n, "__local__", null), a = Ol(e, n, "__filter__", null), u = yl(e, n, "__service__", "");
1355
1355
  if (xr(i) > 0 && Pr(l, "__global__", jr(i)), xr(r) > 0) {
1356
1356
  let n = jr(r);
1357
1357
  Pr(l, "__config__", n);
1358
- let i = El(e, n, "__rename_event_name__", "");
1358
+ let i = yl(e, n, "__rename_event_name__", "");
1359
1359
  if (!tl(i)) {
1360
1360
  let r = On(i);
1361
1361
  if (r) {
1362
1362
  Pr(l, "renamed_event", r.event_name), delete n.__rename_event_name__, o |= vn.__rename_event_name__;
1363
- let i = Tl(e, l, "__global__", null);
1363
+ let i = vl(e, l, "__global__", null);
1364
1364
  Yr(i) || (i = {}, Pr(l, "__global__", i)), i.__original_event_name__ = t;
1365
1365
  } else ir(`${$t(e)}: EVENT NOT FOUND (__rename_event_name__: ${i})`);
1366
1366
  }
1367
1367
  if (cl(n, "__hard_subscription__")) {
1368
- let t = pl(e, n, "__hard_subscription__", !1);
1368
+ let t = ml(e, n, "__hard_subscription__", !1);
1369
1369
  Cr(n, "__hard_subscription__"), t && (o |= vn.__hard_subscription__);
1370
1370
  }
1371
1371
  if (cl(n, "__own_event__")) {
1372
- let t = pl(e, n, "__own_event__", !1);
1372
+ let t = ml(e, n, "__own_event__", !1);
1373
1373
  Cr(n, "__own_event__"), t && (o |= vn.__own_event__);
1374
1374
  }
1375
1375
  }
@@ -1416,13 +1416,13 @@ function kn(e, t, n, r) {
1416
1416
  function Cn(e) {
1417
1417
  let t = kn(e, null, null, null);
1418
1418
  for (let n = 0; n < t.length; n++) {
1419
- let r = t[n], l = yl(e, r, "publisher", null, Vn.KW_REQUIRED), o = yl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1420
- Pr(r, "s_event", El(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1419
+ let r = t[n], l = Tl(e, r, "publisher", null, Vn.KW_REQUIRED), o = Tl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1420
+ Pr(r, "s_event", yl(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1421
1421
  }
1422
1422
  let n = Ln(e, 0, null, 0);
1423
1423
  for (let t = 0; t < n.length; t++) {
1424
- let r = n[t], l = yl(e, r, "publisher", null, Vn.KW_REQUIRED), o = yl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1425
- Pr(r, "s_event", El(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1424
+ let r = n[t], l = Tl(e, r, "publisher", null, Vn.KW_REQUIRED), o = Tl(e, r, "subscriber", null, Vn.KW_REQUIRED);
1425
+ Pr(r, "s_event", yl(e, r, "event", "", Vn.KW_REQUIRED)), Pr(r, "s_publisher", $t(l)), Pr(r, "s_subscriber", $t(o));
1426
1426
  }
1427
1427
  return {
1428
1428
  subscriptions: t,
@@ -1452,15 +1452,15 @@ function Pn(e, n, r) {
1452
1452
  if (t < 0) break;
1453
1453
  if (!t) continue;
1454
1454
  }
1455
- let _ = yl(e, u, "subscriber", null, Vn.KW_REQUIRED);
1455
+ let _ = Tl(e, u, "subscriber", null, Vn.KW_REQUIRED);
1456
1456
  if (!_ || Ct(_)) continue;
1457
- let c = ml(e, u, "subs_flag", 0, Vn.KW_REQUIRED), f = El(e, u, "event", "", Vn.KW_REQUIRED);
1457
+ let c = hl(e, u, "subs_flag", 0, Vn.KW_REQUIRED), f = yl(e, u, "event", "", Vn.KW_REQUIRED);
1458
1458
  if (tl(f) || 0 === ol(f, n)) {
1459
- Tl(e, u, "__config__", null, 0);
1460
- let l = Tl(e, u, "__global__", null, 0), i = Tl(e, u, "__local__", null, 0), f = vl(e, u, "__filter__", null, 0), g = u.renamed_event;
1459
+ vl(e, u, "__config__", null, 0);
1460
+ let l = vl(e, u, "__global__", null, 0), i = vl(e, u, "__local__", null, 0), f = Ol(e, u, "__filter__", null, 0), g = u.renamed_event;
1461
1461
  tl(g) && (g = n);
1462
1462
  let d = 1;
1463
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, r, _) : xr(f) > 0 && (d = jl(r, f) ? 1 : 0, o && (Y(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", $t(_), $t(e))), cr(f))), d < 0) break;
1463
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, n, r, _) : xr(f) > 0 && (d = Rl(r, f) ? 1 : 0, o && (Y(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", n || "", $t(_), $t(e))), cr(f))), d < 0) break;
1464
1464
  if (!d) continue;
1465
1465
  let b = gn(_, n, !0);
1466
1466
  if (b && b.event_flag & U.EVF_SYSTEM_EVENT && !dn(_, b.event_name, 0)) continue;
@@ -1479,7 +1479,7 @@ function Pn(e, n, r) {
1479
1479
  function Un(e, n, r, l) {
1480
1480
  if (Ct(e)) return ir("gobj NULL or DESTROYED"), -1;
1481
1481
  if (function(e) {
1482
- return Q > 1 || !!e && !!(Z(e) & B.TRACE_COMMANDS);
1482
+ return z > 1 || !!e && !!(Z(e) & B.TRACE_COMMANDS);
1483
1483
  }(e) || oe(e, null) && !ie(l, null)) {
1484
1484
  let o = yr(n);
1485
1485
  Y(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", Et(e) ? "" : "!!", $t(e), null !== o ? o : n, $t(l))), le(e) && wr(r);
@@ -1525,18 +1525,18 @@ function qn(e) {
1525
1525
  } else Yn = e;
1526
1526
  }
1527
1527
  var Hn = !0;
1528
- function Qn(e) {
1528
+ function zn(e) {
1529
1529
  Hn = !!e;
1530
1530
  }
1531
- var zn = null;
1531
+ var Qn = null;
1532
1532
  function Xn(e) {
1533
- zn = "function" == typeof e ? e : null;
1533
+ Qn = "function" == typeof e ? e : null;
1534
1534
  }
1535
1535
  function Zn(e, t) {
1536
1536
  if (!Hn) return !1;
1537
- if (!zn) return !0;
1537
+ if (!Qn) return !0;
1538
1538
  try {
1539
- return !!zn(e, t);
1539
+ return !!Qn(e, t);
1540
1540
  } catch (e) {
1541
1541
  return !0;
1542
1542
  }
@@ -1601,27 +1601,27 @@ function or(e) {
1601
1601
  return n;
1602
1602
  }
1603
1603
  function ir(e, ...t) {
1604
- let n = or(e, ...t), r = To();
1604
+ let n = or(e, ...t), r = Do();
1605
1605
  Mn && (Mn === Gn.error ? Zn("error", n) && Mn("%c" + r + " ERROR: " + String(n), "color:red") : (Zn("error", n) && Gn.error("%c" + r + " ERROR: " + String(n), "color:red"), Mn(`${r} ERROR: ${String(n)}`))), tr("error", n, r);
1606
1606
  }
1607
1607
  function sr(e, ...t) {
1608
- let n = or(e, ...t), r = To();
1608
+ let n = or(e, ...t), r = Do();
1609
1609
  Wn && (Wn === Gn.warn ? Zn("warning", n) && Wn("%c" + r + " WARNING: " + String(n), "color:yellow") : (Zn("warning", n) && Gn.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), Wn(`${r} WARNING: ${String(n)}`))), tr("warning", n, r);
1610
1610
  }
1611
1611
  function ar(e, ...t) {
1612
- let n = or(e, ...t), r = To();
1612
+ let n = or(e, ...t), r = Do();
1613
1613
  xn && Zn("info", n) && xn("%c" + r + " INFO: " + String(n), "color:cyan"), tr("info", n, r);
1614
1614
  }
1615
1615
  function ur(e, ...t) {
1616
- let n = or(e, ...t), r = To();
1616
+ let n = or(e, ...t), r = Do();
1617
1617
  Kn && Zn("debug", n) && Kn("%c" + r + " DEBUG: " + String(n), "color:silver"), tr("debug", n, r);
1618
1618
  }
1619
1619
  function _r(e, ...t) {
1620
- let n = or(e, ...t), r = To();
1620
+ let n = or(e, ...t), r = Do();
1621
1621
  Kn && Zn("msg", n) && Kn("%c" + r + " MSG: " + String(n), "color:cyan"), tr("msg", n, r);
1622
1622
  }
1623
1623
  function cr(e, t) {
1624
- Zn("json", t) && (t && Gn.warn("=====> " + t), Gn.dir(e)), tr("json", e, To());
1624
+ Zn("json", t) && (t && Gn.warn("=====> " + t), Gn.dir(e)), tr("json", e, Do());
1625
1625
  }
1626
1626
  var fr = [
1627
1627
  "passw",
@@ -1888,10 +1888,10 @@ function qr(e) {
1888
1888
  function Hr(e) {
1889
1889
  return "boolean" == typeof e;
1890
1890
  }
1891
- function Qr(e) {
1891
+ function zr(e) {
1892
1892
  return null == e;
1893
1893
  }
1894
- function zr(e) {
1894
+ function Qr(e) {
1895
1895
  if (qr(e)) return !0;
1896
1896
  if (!Jr(e)) return !1;
1897
1897
  const t = Number(e);
@@ -1970,7 +1970,12 @@ function gl(e, t, n) {
1970
1970
  configurable: !0
1971
1971
  }) : e[t] = n;
1972
1972
  }
1973
- function dl(e, t, n, r) {
1973
+ function dl(e, t) {
1974
+ if (!/^[0-9]+$/.test(t)) return -1;
1975
+ const n = Number(t);
1976
+ return n >= e.length ? -1 : n;
1977
+ }
1978
+ function bl(e, t, n, r) {
1974
1979
  e && !el(e) && ir("GObj bad instanceof");
1975
1980
  const l = e ? `${$t(e)}: ` : "";
1976
1981
  if (!Yr(t) && !Br(t)) return void ir(`${l}kw must be list or dict: '${String(n)}'`);
@@ -1978,8 +1983,9 @@ function dl(e, t, n, r) {
1978
1983
  let o = n.split("`"), i = o.length;
1979
1984
  for (let e = 0; e < i; e++) {
1980
1985
  if (Br(t)) {
1981
- if (!/^[0-9]+$/.test(o[e])) return void (r && ir(`${l}path not found: '${n}'`));
1982
- o[e] = String(Number(o[e]));
1986
+ const i = dl(t, o[e]);
1987
+ if (i < 0) return void (r && ir(`${l}path not found: '${n}'`));
1988
+ o[e] = String(i);
1983
1989
  }
1984
1990
  if (fl(t, o[e])) return void (r && ir(`${l}path not found: '${n}'`));
1985
1991
  if (e === i - 1) break;
@@ -1989,22 +1995,28 @@ function dl(e, t, n, r) {
1989
1995
  let s = t[o[i - 1]];
1990
1996
  return void 0 === s && r && ir(`${l}path not found: '${n}'`), s;
1991
1997
  }
1992
- function bl(e, t, n) {
1998
+ function pl(e, t, n) {
1993
1999
  e && !el(e) && ir("GObj bad instanceof");
1994
2000
  let [r, l] = function(e, t) {
1995
2001
  let n = e.lastIndexOf(t);
1996
2002
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1997
2003
  }(n, "`");
1998
- return tl(l) ? Cr(t, n) : Cr(dl(e, t, r, !0), l), 0;
2004
+ if (tl(l)) Cr(t, n);
2005
+ else {
2006
+ let o = bl(e, t, r, !0);
2007
+ if (Br(o)) return ir(`${e ? $t(e) + ": " : ""}kw_delete(): cannot delete an item of a list: '${n}'`), -1;
2008
+ Cr(o, l);
2009
+ }
2010
+ return 0;
1999
2011
  }
2000
- function pl(e, t, n, r, l) {
2012
+ function ml(e, t, n, r, l) {
2001
2013
  e && !el(e) && ir("GObj bad instanceof");
2002
- let o = dl(e, t, n, !1);
2014
+ let o = bl(e, t, n, !1);
2003
2015
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2004
2016
  if (void 0 === o) {
2005
2017
  if (s && t) {
2006
2018
  let l = Boolean(r);
2007
- return Sl(e, t, n, l), l;
2019
+ return Nl(e, t, n, l), l;
2008
2020
  }
2009
2021
  return i && (ir(`path not found: '${n}'`), wr(t)), Boolean(r);
2010
2022
  }
@@ -2016,16 +2028,16 @@ function pl(e, t, n, r, l) {
2016
2028
  if (!u || null !== o) return u ? (ir(`${e ? $t(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), wr(t), !1) : (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), wr(t), Boolean(r));
2017
2029
  _ = !1;
2018
2030
  }
2019
- return a && bl(e, t, n), _;
2031
+ return a && pl(e, t, n), _;
2020
2032
  }
2021
- function ml(e, t, n, r, l) {
2033
+ function hl(e, t, n, r, l) {
2022
2034
  e && !el(e) && ir("GObj bad instanceof");
2023
- let o = dl(e, t, n, !1);
2035
+ let o = bl(e, t, n, !1);
2024
2036
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2025
2037
  if (void 0 === o) {
2026
2038
  if (s && t) {
2027
2039
  let l = parseInt(r);
2028
- return Sl(e, t, n, l), l;
2040
+ return Nl(e, t, n, l), l;
2029
2041
  }
2030
2042
  return i && (ir(`path not found: '${n}'`), wr(t)), parseInt(r);
2031
2043
  }
@@ -2045,16 +2057,16 @@ function ml(e, t, n, r, l) {
2045
2057
  _ = 0;
2046
2058
  }
2047
2059
  }
2048
- return a && bl(e, t, n), _;
2060
+ return a && pl(e, t, n), _;
2049
2061
  }
2050
- function hl(e, t, n, r, l) {
2062
+ function El(e, t, n, r, l) {
2051
2063
  e && !el(e) && ir("GObj bad instanceof");
2052
- let o = dl(e, t, n, !1);
2064
+ let o = bl(e, t, n, !1);
2053
2065
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT, u = l && l & Vn.KW_WILD_NUMBER;
2054
2066
  if (void 0 === o) {
2055
2067
  if (s && t) {
2056
2068
  let l = Number(r);
2057
- return Sl(e, t, n, l), l;
2069
+ return Nl(e, t, n, l), l;
2058
2070
  }
2059
2071
  return i && (ir(`path not found: '${n}'`), wr(t)), Number(r);
2060
2072
  }
@@ -2069,64 +2081,69 @@ function hl(e, t, n, r, l) {
2069
2081
  _ = 0;
2070
2082
  }
2071
2083
  }
2072
- return a && bl(e, t, n), _;
2084
+ return a && pl(e, t, n), _;
2073
2085
  }
2074
- function El(e, t, n, r, l) {
2086
+ function yl(e, t, n, r, l) {
2075
2087
  e && !el(e) && ir("GObj bad instanceof");
2076
- let o = dl(e, t, n, !1);
2088
+ let o = bl(e, t, n, !1);
2077
2089
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2078
- return void 0 === o ? s && t ? (Sl(e, t, n, Jr(r) ? r : null), r) : (i && !function(e, t) {
2090
+ return void 0 === o ? s && t ? (Nl(e, t, n, Jr(r) ? r : null), r) : (i && !function(e, t) {
2079
2091
  let n = Jr(t) ? t.split("`") : [], r = e;
2080
2092
  for (let e = 0; e < n.length - 1; e++) {
2081
2093
  if (!Yr(r) && !Br(r)) return !1;
2082
2094
  r = r[n[e]];
2083
2095
  }
2084
2096
  return !(!Yr(r) && !Br(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
2085
- }(t, n) && (ir(`path not found: '${n}'`), wr(t)), r) : Jr(o) ? (a && bl(e, t, n), o) : (null !== o && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json str: '${n}'`), wr(t)), r);
2097
+ }(t, n) && (ir(`path not found: '${n}'`), wr(t)), r) : Jr(o) ? (a && pl(e, t, n), o) : (null !== o && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json str: '${n}'`), wr(t)), r);
2086
2098
  }
2087
- function yl(e, t, n, r, l) {
2099
+ function Tl(e, t, n, r, l) {
2088
2100
  e && !el(e) && ir("GObj bad instanceof");
2089
- let o = dl(e, t, n, !1);
2101
+ let o = bl(e, t, n, !1);
2090
2102
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2091
2103
  if (void 0 === o) {
2092
2104
  if (s) {
2093
2105
  let l = r;
2094
- return Sl(e, t, n, l), l;
2106
+ return Nl(e, t, n, l), l;
2095
2107
  }
2096
2108
  return i && (ir(`path not found: '${n}'`), wr(t)), r;
2097
2109
  }
2098
- return a && bl(e, t, n), o;
2110
+ return a && pl(e, t, n), o;
2099
2111
  }
2100
- function Tl(e, t, n, r, l) {
2112
+ function vl(e, t, n, r, l) {
2101
2113
  e && !el(e) && ir("GObj bad instanceof");
2102
- let o = dl(e, t, n, !1);
2114
+ let o = bl(e, t, n, !1);
2103
2115
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2104
- return void 0 === o ? s && Yr(r) && t ? (Sl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Yr(o) ? (a && bl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json dict: '${n}'`), wr(t)), r);
2116
+ return void 0 === o ? s && Yr(r) && t ? (Nl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Yr(o) ? (a && pl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json dict: '${n}'`), wr(t)), r);
2105
2117
  }
2106
- function vl(e, t, n, r, l) {
2118
+ function Ol(e, t, n, r, l) {
2107
2119
  e && !el(e) && ir("GObj bad instanceof");
2108
- let o = dl(e, t, n, !1);
2120
+ let o = bl(e, t, n, !1);
2109
2121
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2110
2122
  if (void 0 === o) {
2111
2123
  if (s) {
2112
2124
  let l = r;
2113
- return Sl(e, t, n, l), l;
2125
+ return Nl(e, t, n, l), l;
2114
2126
  }
2115
2127
  return i && (ir(`path not found: '${n}'`), wr(t)), r;
2116
2128
  }
2117
- return a && bl(e, t, n), o;
2129
+ return a && pl(e, t, n), o;
2118
2130
  }
2119
- function Ol(e, t, n, r, l) {
2131
+ function Sl(e, t, n, r, l) {
2120
2132
  e && !el(e) && ir("GObj bad instanceof");
2121
- let o = dl(e, t, n, !1);
2133
+ let o = bl(e, t, n, !1);
2122
2134
  const i = l && l & Vn.KW_REQUIRED, s = l && l & Vn.KW_CREATE, a = l && l & Vn.KW_EXTRACT;
2123
- return void 0 === o ? s && Br(r) && t ? (Sl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Br(o) ? (a && bl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json list: '${n}'`), wr(t)), r);
2135
+ return void 0 === o ? s && Br(r) && t ? (Nl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), wr(t)), r) : Br(o) ? (a && pl(e, t, n), o) : (i && (ir(`${e ? $t(e) + ": " : ""}path MUST BE a json list: '${n}'`), wr(t)), r);
2124
2136
  }
2125
- function Sl(e, t, n, r) {
2137
+ function Nl(e, t, n, r) {
2126
2138
  if (e && !el(e) && ir("GObj bad instanceof"), !Yr(t)) return ir("kw is not an object"), -1;
2127
2139
  let l = n.split("`"), o = l.length;
2128
2140
  for (let i = 0; i < o; i++) {
2129
2141
  let s = l[i];
2142
+ if (Br(t)) {
2143
+ const r = dl(t, s);
2144
+ if (r < 0) return ir(`${e ? $t(e) + ": " : ""}kw_set_dict_value(): segment '${s}' is not an index of its list: '${n}'`), -1;
2145
+ s = String(r);
2146
+ }
2130
2147
  if (i === o - 1) gl(t, s, r);
2131
2148
  else {
2132
2149
  let r = fl(t, s) ? void 0 : t[s];
@@ -2137,18 +2154,18 @@ function Sl(e, t, n, r) {
2137
2154
  }
2138
2155
  return 0;
2139
2156
  }
2140
- function Nl(e, t, n, r, l) {
2157
+ function wl(e, t, n, r, l) {
2141
2158
  if (e && !el(e) && ir("GObj bad instanceof"), !Yr(t)) return ir("kw is not an object"), -1;
2142
- let o = Tl(e, t, n, {}, Vn.KW_CREATE);
2159
+ let o = vl(e, t, n, {}, Vn.KW_CREATE);
2143
2160
  return Yr(o) ? (gl(o, r, l), 0) : (ir("subdict is not an object"), -1);
2144
2161
  }
2145
- function wl(e, n, r) {
2162
+ function jl(e, n, r) {
2146
2163
  let l = "", o = !1;
2147
2164
  if (Br(n)) {
2148
2165
  o = !1;
2149
2166
  for (let i = 0; i < n.length; i++) {
2150
2167
  let s = n[i];
2151
- if (l = tl(r) ? t("%s", r) : t("%s`%d", r, i), o = wl(e, s, l), o) break;
2168
+ if (l = tl(r) ? t("%s", r) : t("%s`%d", r, i), o = jl(e, s, l), o) break;
2152
2169
  }
2153
2170
  } else if (Yr(n)) {
2154
2171
  o = !0;
@@ -2156,10 +2173,10 @@ function wl(e, n, r) {
2156
2173
  for (let s = 0; s < i.length; s++) {
2157
2174
  let a = i[s], u = n[a];
2158
2175
  if (l = tl(r) ? t("%s", a) : t("%s`%s", r, a), Br(u) || Yr(u)) {
2159
- if (o = wl(e, u, l), !o) break;
2176
+ if (o = jl(e, u, l), !o) break;
2160
2177
  continue;
2161
2178
  }
2162
- let _ = vl(0, e, l, void 0, 0);
2179
+ let _ = Ol(0, e, l, void 0, 0);
2163
2180
  if (void 0 === _ && (_ = kr(e, l)), void 0 === _) {
2164
2181
  o = !1;
2165
2182
  break;
@@ -2172,17 +2189,17 @@ function wl(e, n, r) {
2172
2189
  }
2173
2190
  return o;
2174
2191
  }
2175
- function jl(e, t) {
2176
- return 0 === xr(t) || wl(e, t, "");
2192
+ function Rl(e, t) {
2193
+ return 0 === xr(t) || jl(e, t, "");
2177
2194
  }
2178
- function Rl(e, t, n, r) {
2195
+ function $l(e, t, n, r) {
2179
2196
  if (!n || !Br(t)) return r && ir("item NULL or kw_list is not a list"), -1;
2180
2197
  for (let e = 0; e < t.length; e++) if ($r(n, t[e])) return e;
2181
2198
  return r && ir("item not found in this list"), -1;
2182
2199
  }
2183
- function $l(e, t, n, r) {
2200
+ function Dl(e, t, n, r) {
2184
2201
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2185
- r || (r = jl);
2202
+ r || (r = Rl);
2186
2203
  let l = [];
2187
2204
  if (Br(t)) for (let e = 0; e < t.length; e++) {
2188
2205
  let o = t[e];
@@ -2194,9 +2211,9 @@ function $l(e, t, n, r) {
2194
2211
  }
2195
2212
  return l;
2196
2213
  }
2197
- function Dl(e, t, n, r) {
2214
+ function Al(e, t, n, r) {
2198
2215
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2199
- r || (r = jl);
2216
+ r || (r = Rl);
2200
2217
  let l = [];
2201
2218
  if (Br(t)) for (let e = 0; e < t.length; e++) {
2202
2219
  let o = t[e];
@@ -2208,7 +2225,7 @@ function Dl(e, t, n, r) {
2208
2225
  }
2209
2226
  return l;
2210
2227
  }
2211
- function Al(e, t, n, r) {
2228
+ function Il(e, t, n, r) {
2212
2229
  e && !el(e) && ir("GObj bad instanceof");
2213
2230
  let l = {};
2214
2231
  if (Jr(n) && !tl(n)) {
@@ -2224,7 +2241,7 @@ function Al(e, t, n, r) {
2224
2241
  }
2225
2242
  return l;
2226
2243
  }
2227
- function Il(e, t, n, r) {
2244
+ function kl(e, t, n, r) {
2228
2245
  let l = {};
2229
2246
  if (!Yr(t)) return l;
2230
2247
  if (Dr(l, t), Jr(n) && !tl(n)) {
@@ -2240,15 +2257,15 @@ function Il(e, t, n, r) {
2240
2257
  }
2241
2258
  return l;
2242
2259
  }
2243
- function kl(e, t, n = !1) {
2260
+ function Cl(e, t, n = !1) {
2244
2261
  if ("undefined" != typeof window && window.localStorage) try {
2245
2262
  let r = window.localStorage.getItem(e);
2246
- return null === r ? (n && Cl(e, t), t) : JSON.parse(r);
2263
+ return null === r ? (n && Ll(e, t), t) : JSON.parse(r);
2247
2264
  } catch (n) {
2248
2265
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
2249
2266
  }
2250
2267
  }
2251
- function Cl(e, t) {
2268
+ function Ll(e, t) {
2252
2269
  if ("undefined" == typeof window || !window.localStorage) return 0;
2253
2270
  if (!e || void 0 === t) return ir(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
2254
2271
  try {
@@ -2257,7 +2274,7 @@ function Cl(e, t) {
2257
2274
  return ir(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
2258
2275
  }
2259
2276
  }
2260
- function Ll(e) {
2277
+ function Pl(e) {
2261
2278
  if ("undefined" != typeof window && window.localStorage) if (e) try {
2262
2279
  window.localStorage.removeItem(e);
2263
2280
  } catch (t) {
@@ -2265,8 +2282,8 @@ function Ll(e) {
2265
2282
  }
2266
2283
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
2267
2284
  }
2268
- function Pl(e, t) {
2269
- if (Qr(e) || Qr(t)) return !0;
2285
+ function Ul(e, t) {
2286
+ if (zr(e) || zr(t)) return !0;
2270
2287
  if (Br(e)) {
2271
2288
  if (0 === e.length) return !0;
2272
2289
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
@@ -2276,41 +2293,41 @@ function Pl(e, t) {
2276
2293
  } else if (Jr(e) && e === t) return !0;
2277
2294
  return !1;
2278
2295
  }
2279
- function Ul(e, t, n, r, l) {
2296
+ function Fl(e, t, n, r, l) {
2280
2297
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return null;
2281
- l || (l = jl);
2298
+ l || (l = Rl);
2282
2299
  let o = [];
2283
2300
  if (Br(t)) for (let i = 0; i < t.length; i++) {
2284
2301
  let s, a = t[i];
2285
- if (Yr(a)) s = El(e, a, "id", "", 0);
2302
+ if (Yr(a)) s = yl(e, a, "id", "", 0);
2286
2303
  else {
2287
2304
  if (!Jr(a)) continue;
2288
2305
  s = a;
2289
2306
  }
2290
- Pl(n, s) && l(a, r) && o.push(a);
2307
+ Ul(n, s) && l(a, r) && o.push(a);
2291
2308
  }
2292
2309
  else {
2293
2310
  if (!Yr(t)) return ir("kw_collect() BAD kw parameter"), null;
2294
2311
  for (let e of Object.keys(t)) {
2295
2312
  let i = t[e];
2296
- Pl(n, e) && l(i, r) && o.push(i);
2313
+ Ul(n, e) && l(i, r) && o.push(i);
2297
2314
  }
2298
2315
  }
2299
2316
  return o;
2300
2317
  }
2301
- function Fl(e, t, n) {
2318
+ function Vl(e, t, n) {
2302
2319
  e && !el(e) && ir("GObj bad instanceof");
2303
2320
  let r = {};
2304
- if (tl(n) || (t = dl(e, t, n)), Yr(t)) r = t;
2321
+ if (tl(n) || (t = bl(e, t, n)), Yr(t)) r = t;
2305
2322
  else if (Br(t)) for (let n = 0; n < t.length; n++) {
2306
- let l = t[n], o = El(e, l, "id", "", Vn.KW_REQUIRED);
2323
+ let l = t[n], o = yl(e, l, "id", "", Vn.KW_REQUIRED);
2307
2324
  tl(o) || gl(r, o, l);
2308
2325
  }
2309
2326
  else ir(`${$t(e)} kwid_new_dict: data type unknown`);
2310
2327
  return r;
2311
2328
  }
2312
- function Vl(e, t, n) {
2313
- if (e && !el(e) && ir("GObj bad instanceof"), tl(n) || (t = dl(e, t, n)), Br(t)) return t;
2329
+ function Gl(e, t, n) {
2330
+ if (e && !el(e) && ir("GObj bad instanceof"), tl(n) || (t = bl(e, t, n)), Br(t)) return t;
2314
2331
  if (Yr(t)) {
2315
2332
  let n = [];
2316
2333
  for (let r of Object.keys(t)) {
@@ -2321,12 +2338,12 @@ function Vl(e, t, n) {
2321
2338
  }
2322
2339
  return ir(`${$t(e)} kwid_new_list: wrong type for list`), [];
2323
2340
  }
2324
- function Gl(e, t, n, r, l) {
2341
+ function Ml(e, t, n, r, l) {
2325
2342
  e && !el(e) && ir("GObj bad instanceof");
2326
- let o = Ul(e, t, n, r, l);
2343
+ let o = Fl(e, t, n, r, l);
2327
2344
  return o && 0 !== o.length ? o[0] : null;
2328
2345
  }
2329
- function Ml(e, t) {
2346
+ function Wl(e, t) {
2330
2347
  if (e && !el(e) && ir("GObj bad instanceof"), !t) return [];
2331
2348
  let n = [];
2332
2349
  if (Jr(t)) n.push(t);
@@ -2334,13 +2351,13 @@ function Ml(e, t) {
2334
2351
  else Br(t) && t.forEach(function(t) {
2335
2352
  if (Jr(t)) tl(t) || n.push(t);
2336
2353
  else if (Yr(t)) {
2337
- let r = El(e, t, "id", 0, 0);
2354
+ let r = yl(e, t, "id", 0, 0);
2338
2355
  r && n.push(r);
2339
2356
  }
2340
2357
  });
2341
2358
  return n;
2342
2359
  }
2343
- function Wl(e, t, n) {
2360
+ function xl(e, t, n) {
2344
2361
  t = t || "id", n = n || "value";
2345
2362
  let r = [];
2346
2363
  if (Br(e)) for (let l = 0; l < e.length; l++) {
@@ -2377,12 +2394,12 @@ function Wl(e, t, n) {
2377
2394
  else ir("list2options(): case2 not implemented");
2378
2395
  return r;
2379
2396
  }
2380
- function xl(e, t) {
2397
+ function Kl(e, t) {
2381
2398
  if (!e) return -1;
2382
2399
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
2383
2400
  return -1;
2384
2401
  }
2385
- function Kl(e, t, n) {
2402
+ function Yl(e, t, n) {
2386
2403
  if (!e || !t) return ir("ERROR: str_in_list() list or str empty"), !1;
2387
2404
  let r = e.length;
2388
2405
  if (n) {
@@ -2394,17 +2411,17 @@ function Kl(e, t, n) {
2394
2411
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
2395
2412
  return !1;
2396
2413
  }
2397
- function Yl(e, t, n) {
2414
+ function Bl(e, t, n) {
2398
2415
  if (!e) return ir("ERROR: strs_in_list() list empty"), !1;
2399
2416
  if (!t) return ir("ERROR: strs_in_list() str empty"), !1;
2400
- for (let r = 0; r < t.length; r++) if (Kl(e, t[r], n)) return !0;
2417
+ for (let r = 0; r < t.length; r++) if (Yl(e, t[r], n)) return !0;
2401
2418
  return !1;
2402
2419
  }
2403
- function Bl(e, t) {
2420
+ function Jl(e, t) {
2404
2421
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
2405
2422
  return !1;
2406
2423
  }
2407
- function Jl(e, t) {
2424
+ function ql(e, t) {
2408
2425
  try {
2409
2426
  let n = e.__md_iev__;
2410
2427
  if (n) return n[t];
@@ -2412,15 +2429,15 @@ function Jl(e, t) {
2412
2429
  return;
2413
2430
  }
2414
2431
  }
2415
- function ql(e, t, n) {
2432
+ function Hl(e, t, n) {
2416
2433
  let r = e.__md_iev__;
2417
2434
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
2418
2435
  }
2419
- function Hl(e, t, n, r) {
2436
+ function zl(e, t, n, r) {
2420
2437
  if (!el(e)) return ir("gobj is not a GObj"), null;
2421
2438
  if (!t) return;
2422
- let l = Jl(t, n);
2423
- l || (l = [], ql(t, n, l));
2439
+ let l = ql(t, n);
2440
+ l || (l = [], Hl(t, n, l));
2424
2441
  try {
2425
2442
  Br(l) && l.unshift(r);
2426
2443
  } catch (e) {
@@ -2430,16 +2447,16 @@ function Hl(e, t, n, r) {
2430
2447
  function Ql(e, t, n, r) {
2431
2448
  if (!el(e)) return ir("gobj is not a GObj"), null;
2432
2449
  if (!Yr(t)) return ir("kw is not a dict"), null;
2433
- let l = Jl(t, n);
2450
+ let l = ql(t, n);
2434
2451
  return l ? 0 === l.length ? (r && ir(`stack empty: ${n}`), null) : l[0] : (r && ir(`stack NOT FOUND: ${n}`), null);
2435
2452
  }
2436
- function zl(e, t, n) {
2437
- return tl(n) ? bl(e, t, "__md_iev__`__msg_type__") : Nl(e, t, "__md_iev__", "__msg_type__", n), 0;
2453
+ function Xl(e, t, n) {
2454
+ return tl(n) ? pl(e, t, "__md_iev__`__msg_type__") : wl(e, t, "__md_iev__", "__msg_type__", n), 0;
2438
2455
  }
2439
- function Xl(e, t) {
2440
- return El(e, t, "__md_iev__`__msg_type__", "", 0);
2456
+ function Zl(e, t) {
2457
+ return yl(e, t, "__md_iev__`__msg_type__", "", 0);
2441
2458
  }
2442
- function Zl(e, t, n) {
2459
+ function eo(e, t, n) {
2443
2460
  let r = new XMLHttpRequest();
2444
2461
  r.open("GET", e, !0), r.setRequestHeader("Accept", "application/json"), r.onreadystatechange = function() {
2445
2462
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
@@ -2451,13 +2468,13 @@ function Zl(e, t, n) {
2451
2468
  var e;
2452
2469
  }, r.send();
2453
2470
  }
2454
- function eo(e, t, n) {
2471
+ function to(e, t, n) {
2455
2472
  let r = new XMLHttpRequest();
2456
2473
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
2457
2474
  4 === r.readyState && n(r.status, r.responseText);
2458
2475
  }, r.send(t);
2459
2476
  }
2460
- function to(e, t, n) {
2477
+ function no(e, t, n) {
2461
2478
  void 0 !== n && Jr(n) || (n = "");
2462
2479
  for (let r of Object.keys(e)) {
2463
2480
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
@@ -2467,61 +2484,61 @@ function to(e, t, n) {
2467
2484
  r,
2468
2485
  e[r],
2469
2486
  n
2470
- ]), Yr(e[r]) && to(e[r], t, n), n = n.slice(0, -l.length);
2487
+ ]), Yr(e[r]) && no(e[r], t, n), n = n.slice(0, -l.length);
2471
2488
  }
2472
2489
  }
2473
- function no(e, t, n) {
2490
+ function ro(e, t, n) {
2474
2491
  n && (e = jr(e));
2475
- let r = vl(null, e, "type", [], 1);
2476
- El(null, e, "hook", "data", 1);
2477
- let l = vl(null, e, "schema", {}, 1), o = vl(null, e, "topics", {}, 1);
2478
- return to(l, function(e, t, n, l) {
2479
- "__" !== t.substring(0, 2) && vl(null, o, l, jr(r), 1);
2492
+ let r = Ol(null, e, "type", [], 1);
2493
+ yl(null, e, "hook", "data", 1);
2494
+ let l = Ol(null, e, "schema", {}, 1), o = Ol(null, e, "topics", {}, 1);
2495
+ return no(l, function(e, t, n, l) {
2496
+ "__" !== t.substring(0, 2) && Ol(null, o, l, jr(r), 1);
2480
2497
  }, t), e;
2481
2498
  }
2482
- function ro(e, t, n, r) {
2483
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2499
+ function lo(e, t, n, r) {
2500
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2484
2501
  if (!l) return ir("jdb_update: topic not found: " + t), null;
2485
2502
  if (tl(r.id)) return ir("jdb_update: record without id: " + r), _r(r), null;
2486
2503
  let o, i = n.split("`"), s = l;
2487
- for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = vl(null, s, e.hook, [], 1)), s = ao(s, null, o, !1);
2504
+ for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = Ol(null, s, e.hook, [], 1)), s = uo(s, null, o, !1);
2488
2505
  if (0 === i.length && s) if (Br(s)) s.push(r);
2489
2506
  else if (s.id === r.id) Dr(s, r);
2490
2507
  else {
2491
- let t = vl(null, s, e.hook, [], 1), n = ao(t, e.hook, r.id, !1);
2508
+ let t = Ol(null, s, e.hook, [], 1), n = uo(t, e.hook, r.id, !1);
2492
2509
  n ? Dr(n, r) : t.push(r);
2493
2510
  }
2494
2511
  return l;
2495
2512
  }
2496
- function lo(e, t, n, r) {
2497
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2513
+ function oo(e, t, n, r) {
2514
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2498
2515
  if (!l) return ir("jdb_delete: topic not found: " + t), null;
2499
2516
  if (tl(r.id)) return ir("jdb_delete: record without id: " + r), _r(r), null;
2500
2517
  let o, i = n.split("`"), s = l;
2501
- for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = vl(null, s, e.hook, null, 0)), s = ao(s, null, o, !1);
2518
+ for (; (o = i.shift()) && !tl(o) && s;) Yr(s) && (s = Ol(null, s, e.hook, null, 0)), s = uo(s, null, o, !1);
2502
2519
  if (0 === i.length && s) if (Br(s)) {
2503
- let e = xl(s, r.id);
2520
+ let e = Kl(s, r.id);
2504
2521
  e >= 0 && s.splice(e, 1);
2505
2522
  } else {
2506
- let t = vl(null, s, e.hook, null, 0), n = xl(t, r.id);
2523
+ let t = Ol(null, s, e.hook, null, 0), n = Kl(t, r.id);
2507
2524
  n >= 0 && t.splice(n, 1);
2508
2525
  }
2509
2526
  return l;
2510
2527
  }
2511
- function oo(e, t) {
2512
- let n = vl(null, e, "topics", null, 0);
2528
+ function io(e, t) {
2529
+ let n = Ol(null, e, "topics", null, 0);
2513
2530
  if (!n) return ir("jdb topics section not found"), _r(e), null;
2514
- return vl(null, n, t, null, 0) || (ir("jdb topic not found: " + t), _r(n), null);
2531
+ return Ol(null, n, t, null, 0) || (ir("jdb topic not found: " + t), _r(n), null);
2515
2532
  }
2516
- function io(e, t, n, r) {
2517
- let l = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2518
- return l ? (void 0 === r && (r = !0), ao(l, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
2533
+ function so(e, t, n, r) {
2534
+ let l = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2535
+ return l ? (void 0 === r && (r = !0), uo(l, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
2519
2536
  }
2520
- function so(e, t, n) {
2521
- let r = vl(null, vl(null, e, "topics", null, 0), t, null, 0);
2537
+ function ao(e, t, n) {
2538
+ let r = Ol(null, Ol(null, e, "topics", null, 0), t, null, 0);
2522
2539
  return r ? n < r.length ? r[n] : {} : (ir("jdb_get_by_idx: topic not found: " + t), null);
2523
2540
  }
2524
- function ao(e, t, n, r) {
2541
+ function uo(e, t, n, r) {
2525
2542
  if (!e) return null;
2526
2543
  let l, o = e.length;
2527
2544
  for (l = 0; l < o; l++) {
@@ -2530,18 +2547,18 @@ function ao(e, t, n, r) {
2530
2547
  let e = o.id;
2531
2548
  if (e && e === n) return o;
2532
2549
  if (r && cl(o, t)) {
2533
- let e = ao(o[t], t, n, r);
2550
+ let e = uo(o[t], t, n, r);
2534
2551
  if (e) return e;
2535
2552
  }
2536
2553
  }
2537
2554
  }
2538
2555
  return null;
2539
2556
  }
2540
- function uo(e, t) {
2557
+ function _o(e, t) {
2541
2558
  let n = jr(e);
2542
2559
  return Ar(n, t), n;
2543
2560
  }
2544
- function _o(e) {
2561
+ function co(e) {
2545
2562
  function t(e) {
2546
2563
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2547
2564
  switch (t.length % 4) {
@@ -2572,9 +2589,9 @@ function _o(e) {
2572
2589
  signature: t(n[2])
2573
2590
  };
2574
2591
  }
2575
- function co(e, t) {
2592
+ function fo(e, t) {
2576
2593
  try {
2577
- let n = _o(e);
2594
+ let n = co(e);
2578
2595
  switch (t) {
2579
2596
  case "header": return JSON.parse(n.header);
2580
2597
  case "signature": return JSON.parse(n.signature);
@@ -2584,19 +2601,44 @@ function co(e, t) {
2584
2601
  return null;
2585
2602
  }
2586
2603
  }
2587
- function fo(e) {
2604
+ function go(e) {
2588
2605
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2589
2606
  }
2590
- function go(e) {
2607
+ function bo(e) {
2591
2608
  if (!e) return "";
2592
2609
  const t = String(e).trim();
2593
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : fo(t);
2610
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : go(t);
2594
2611
  }
2595
- function bo(e) {
2612
+ var po = class {
2613
+ constructor(e) {
2614
+ this.html = e, Object.freeze(this);
2615
+ }
2616
+ toString() {
2617
+ return this.html;
2618
+ }
2619
+ };
2620
+ function mo(e) {
2621
+ return "string" != typeof e ? (ir("html_markup: not a string, type " + typeof e), new po("")) : new po(e);
2622
+ }
2623
+ function ho(e) {
2624
+ return e instanceof po;
2625
+ }
2626
+ function Eo(e) {
2627
+ const t = document.createElement("template");
2628
+ return t.innerHTML = e.html.trim(), t.content;
2629
+ }
2630
+ var yo = !1, To = /* @__PURE__ */ new Set();
2631
+ function vo(e) {
2632
+ yo = !!e;
2633
+ }
2634
+ function Oo() {
2635
+ return yo;
2636
+ }
2637
+ function So(e) {
2596
2638
  const t = document.createElement("template");
2597
2639
  return t.innerHTML = e.trim(), t.content.firstChild;
2598
2640
  }
2599
- function po(e, t) {
2641
+ function No(e, t) {
2600
2642
  let [n, r, l, o] = e;
2601
2643
  if (!n) return void ir("Tag must be a valid HTML element.");
2602
2644
  let i = document.createElement(n), s = "";
@@ -2605,17 +2647,22 @@ function po(e, t) {
2605
2647
  for (const n of Object.keys(r[e])) t += `${n}: ${r[e][n]};`;
2606
2648
  i.style.cssText = t;
2607
2649
  } else "style" === e ? i.style.cssText = r[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== r[e] && void 0 !== r[e] && (s = r[e], i.setAttribute("data-i18n", s)) : i.setAttribute(e, r[e]);
2608
- if (Jr(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) i.appendChild(bo(l));
2609
- else if (t && s) i.textContent = t(s) || l;
2650
+ if (ho(l)) i.appendChild(Eo(l));
2651
+ else if (Jr(l)) if (l = l.trim(), l.length > 0 && "<" === l[0] && !yo) i.appendChild(So(l));
2652
+ else if (l.length > 0 && "<" === l[0] && function(e) {
2653
+ if (To.size >= 100) return;
2654
+ const t = e.slice(0, 80);
2655
+ To.has(t) || (To.add(t), sr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2656
+ }(l), t && s) i.textContent = t(s) || l;
2610
2657
  else i.textContent = l;
2611
2658
  else if (Br(l)) {
2612
- if (l.length > 0) if (Jr(l[0])) i.appendChild(po(l, t));
2613
- else for (let e of l) Array.isArray(e) ? e.length > 0 && i.appendChild(po(e, t)) : e instanceof Node ? i.appendChild(e) : Jr(e) ? i.appendChild(document.createTextNode(e)) : null != e && !1 !== e && ir("createElement2: child ignored, type " + typeof e);
2659
+ if (l.length > 0) if (Jr(l[0])) i.appendChild(No(l, t));
2660
+ else for (let e of l) Array.isArray(e) ? e.length > 0 && i.appendChild(No(e, t)) : e instanceof Node ? i.appendChild(e) : ho(e) ? i.appendChild(Eo(e)) : Jr(e) ? i.appendChild(document.createTextNode(e)) : null != e && !1 !== e && ir("createElement2: child ignored, type " + typeof e);
2614
2661
  } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? i.appendChild(l) : null != l && (ir("content ignored"), cr(l));
2615
2662
  if (o && "object" == typeof o) for (const e of Object.keys(o)) i.addEventListener(e, o[e]);
2616
2663
  return i;
2617
2664
  }
2618
- function mo(e) {
2665
+ function wo(e) {
2619
2666
  if (!e) return {
2620
2667
  top: 0,
2621
2668
  left: 0,
@@ -2635,10 +2682,10 @@ function mo(e) {
2635
2682
  bottom: t + i + l
2636
2683
  };
2637
2684
  }
2638
- function ho(e) {
2685
+ function jo(e) {
2639
2686
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2640
2687
  }
2641
- function Eo(e, t) {
2688
+ function Ro(e, t) {
2642
2689
  if (!Zr(t)) return void ir("You must supply a translation function");
2643
2690
  e || (e = document);
2644
2691
  const n = (t) => {
@@ -2662,7 +2709,7 @@ function Eo(e, t) {
2662
2709
  n && e.setAttribute("placeholder", t(n));
2663
2710
  });
2664
2711
  }
2665
- function yo(e = "Time Tracker", t = !1) {
2712
+ function $o(e = "Time Tracker", t = !1) {
2666
2713
  const n = e, r = performance.now();
2667
2714
  let l = r;
2668
2715
  return t && sr(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
@@ -2673,30 +2720,30 @@ function yo(e = "Time Tracker", t = !1) {
2673
2720
  };
2674
2721
  } };
2675
2722
  }
2676
- function To(e) {
2723
+ function Do(e) {
2677
2724
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), l = e.getTimezoneOffset();
2678
2725
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2679
2726
  }
2680
- function vo() {
2727
+ function Ao() {
2681
2728
  return Math.floor(Date.now() / 1e3);
2682
2729
  }
2683
- function Oo(e, t) {
2730
+ function Io(e, t) {
2684
2731
  if (!e) throw "ERROR: index_in_list() list empty";
2685
2732
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2686
2733
  return -1;
2687
2734
  }
2688
- function So() {
2735
+ function ko() {
2689
2736
  let e = "";
2690
2737
  return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
2691
2738
  }
2692
- function No(e) {
2739
+ function Co(e) {
2693
2740
  return e.replace(/[?# ^:]/g, "_");
2694
2741
  }
2695
- function wo(e) {
2742
+ function Lo(e) {
2696
2743
  let t = null;
2697
2744
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2698
2745
  }
2699
- function jo(e, t = 0, n = !1) {
2746
+ function Po(e, t = 0, n = !1) {
2700
2747
  let r = null, l = null, o = null;
2701
2748
  const i = (...i) => {
2702
2749
  o = this, l = i;
@@ -2711,20 +2758,20 @@ function jo(e, t = 0, n = !1) {
2711
2758
  clearTimeout(r), r = null, l = null, o = null;
2712
2759
  }, i;
2713
2760
  }
2714
- function Ro(...e) {
2761
+ function Uo(...e) {
2715
2762
  let t = "", n = 0;
2716
2763
  for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
2717
2764
  return t;
2718
2765
  }
2719
- var $o = 256, Do = 1e5;
2720
- function Ao(e) {
2766
+ var Fo = 256, Vo = 1e5;
2767
+ function Go(e) {
2721
2768
  const t = String(e).replace(/`/g, "``");
2722
2769
  return "[" === t[0] ? "[" + t : t;
2723
2770
  }
2724
- function Io(e) {
2725
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Ao(e)).join("`") : "";
2771
+ function Mo(e) {
2772
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Go(e)).join("`") : "";
2726
2773
  }
2727
- function ko(e) {
2774
+ function Wo(e) {
2728
2775
  if ("string" != typeof e) return null;
2729
2776
  let t = [], n = "";
2730
2777
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2745,9 +2792,9 @@ function ko(e) {
2745
2792
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2746
2793
  });
2747
2794
  }
2748
- function Co(e) {
2795
+ function xo(e) {
2749
2796
  const t = {}, n = (e, r, l) => {
2750
- if (l > $o) throw new Error("json2flat: deeper than 256");
2797
+ if (l > Fo) throw new Error("json2flat: deeper than 256");
2751
2798
  if (null === e || "object" != typeof e || Array.isArray(e)) {
2752
2799
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2753
2800
  const o = `[${t}]`;
@@ -2757,7 +2804,7 @@ function Co(e) {
2757
2804
  const t = Object.keys(e);
2758
2805
  if (t.length > 0) {
2759
2806
  for (const o of t) {
2760
- const t = Ao(o);
2807
+ const t = Go(o);
2761
2808
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
2762
2809
  }
2763
2810
  return;
@@ -2767,20 +2814,20 @@ function Co(e) {
2767
2814
  };
2768
2815
  return null == e || n(e, "", 0), t;
2769
2816
  }
2770
- function Lo(e) {
2817
+ function Ko(e) {
2771
2818
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2772
2819
  let t = null;
2773
2820
  for (const n of Object.keys(e)) {
2774
- const r = ko(n);
2821
+ const r = Wo(n);
2775
2822
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2776
- if (r.length > $o) throw new Error(`flat2json: '${n}' deeper than 256`);
2823
+ if (r.length > Fo) throw new Error(`flat2json: '${n}' deeper than 256`);
2777
2824
  const l = "number" == typeof r[0];
2778
2825
  if (null === t) t = l ? [] : {};
2779
2826
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2780
2827
  let o = t;
2781
2828
  for (let t = 0; t < r.length; t++) {
2782
2829
  const l = r[t], i = "number" == typeof l, s = t === r.length - 1, a = !s && "number" == typeof r[t + 1];
2783
- if (i && l > Do) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2830
+ if (i && l > Vo) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2784
2831
  if (i !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2785
2832
  if (s) {
2786
2833
  if (Array.isArray(o)) {
@@ -2804,23 +2851,23 @@ function Lo(e) {
2804
2851
  }
2805
2852
  return null === t ? {} : t;
2806
2853
  }
2807
- function Po(e, t) {
2854
+ function Yo(e, t) {
2808
2855
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2809
2856
  }
2810
- function Uo(e, t) {
2857
+ function Bo(e, t) {
2811
2858
  const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, l = {
2812
2859
  added: {},
2813
2860
  removed: {},
2814
2861
  changed: {}
2815
2862
  };
2816
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Po(n[e], r[e]) || gl(l.changed, e, {
2863
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Yo(n[e], r[e]) || gl(l.changed, e, {
2817
2864
  from: n[e],
2818
2865
  to: r[e]
2819
2866
  }) : gl(l.removed, e, n[e]);
2820
2867
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || gl(l.added, e, r[e]);
2821
2868
  return l;
2822
2869
  }
2823
- function Fo(e, t) {
2870
+ function Jo(e, t) {
2824
2871
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2825
2872
  if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2826
2873
  for (const n of Object.keys(t.removed || {})) delete e[n];
@@ -2832,36 +2879,36 @@ function Fo(e, t) {
2832
2879
  }
2833
2880
  return e;
2834
2881
  }
2835
- function Vo(e) {
2882
+ function qo(e) {
2836
2883
  return "persistent-attrs-" + $t(e);
2837
2884
  }
2838
- function Go(e, t) {
2839
- let n = Xt(e, v.SDF_PERSIST), r = kl(Vo(e), null, !1);
2885
+ function Ho(e, t) {
2886
+ let n = Xt(e, v.SDF_PERSIST), r = Cl(qo(e), null, !1);
2840
2887
  if (r && Yr(r)) {
2841
- let l = Al(e, r, t, !1);
2842
- l = Al(e, l, n, !1), on(e, l, v.SDF_PERSIST);
2888
+ let l = Il(e, r, t, !1);
2889
+ l = Il(e, l, n, !1), on(e, l, v.SDF_PERSIST);
2843
2890
  }
2844
2891
  }
2845
- function Mo(e, t) {
2846
- let n = Al(e, Xt(e, v.SDF_PERSIST), t, !1), r = kl(Vo(e), null, !1);
2847
- return r && Yr(r) && Ir(n, r), Cl(Vo(e), n);
2892
+ function zo(e, t) {
2893
+ let n = Il(e, Xt(e, v.SDF_PERSIST), t, !1), r = Cl(qo(e), null, !1);
2894
+ return r && Yr(r) && Ir(n, r), Ll(qo(e), n);
2848
2895
  }
2849
- function Wo(e, t) {
2850
- let n = Il(e, kl(Vo(e), null, !1), t, !1);
2851
- 0 === Mr(n) ? Ll(Vo(e)) : Cl(Vo(e), n);
2896
+ function Qo(e, t) {
2897
+ let n = kl(e, Cl(qo(e), null, !1), t, !1);
2898
+ 0 === Mr(n) ? Pl(qo(e)) : Ll(qo(e), n);
2852
2899
  }
2853
- function xo(e, t) {
2854
- let n = kl(Vo(e), null, !1), r = {};
2855
- return n && Yr(n) && (r = Al(e, n, t, !1)), r;
2900
+ function Xo(e, t) {
2901
+ let n = Cl(qo(e), null, !1), r = {};
2902
+ return n && Yr(n) && (r = Il(e, n, t, !1)), r;
2856
2903
  }
2857
- function Ko(e) {
2904
+ function Zo(e) {
2858
2905
  if (Br(e) && 1 === xr(e)) {
2859
2906
  let t = e[0];
2860
2907
  return cl(t, "size") ? t.size : 1;
2861
2908
  }
2862
2909
  return xr(e);
2863
2910
  }
2864
- function Yo(e, t) {
2911
+ function ei(e, t) {
2865
2912
  if (Jr(t)) {
2866
2913
  if (-1 === t.indexOf("^")) {
2867
2914
  let n, r, l = e.fkey;
@@ -2891,11 +2938,11 @@ function Yo(e, t) {
2891
2938
  hook_name: t.hook_name
2892
2939
  } : (ir("bad fkey 3"), ir(e), ir(t), null);
2893
2940
  }
2894
- function Bo(e, t) {
2895
- let n = Yo(e, t);
2941
+ function ti(e, t) {
2942
+ let n = ei(e, t);
2896
2943
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
2897
2944
  }
2898
- function Jo(e, t) {
2945
+ function ni(e, t) {
2899
2946
  if (Jr(t)) {
2900
2947
  if (-1 === t.indexOf("^")) {
2901
2948
  let n, r = e.hook;
@@ -2922,7 +2969,7 @@ function Jo(e, t) {
2922
2969
  id: t.id
2923
2970
  } : (ir("bad hook 3"), ir(e), ir(t), null);
2924
2971
  }
2925
- var qo = [
2972
+ var ri = [
2926
2973
  "string",
2927
2974
  "integer",
2928
2975
  "object",
@@ -2932,7 +2979,7 @@ var qo = [
2932
2979
  "real",
2933
2980
  "boolean",
2934
2981
  "blob"
2935
- ], Ho = [
2982
+ ], li = [
2936
2983
  "persistent",
2937
2984
  "required",
2938
2985
  "notnull",
@@ -2944,7 +2991,7 @@ var qo = [
2944
2991
  "stats",
2945
2992
  "rstats",
2946
2993
  "pstats"
2947
- ], Qo = [
2994
+ ], oi = [
2948
2995
  "hook",
2949
2996
  "fkey",
2950
2997
  "enum",
@@ -2973,7 +3020,7 @@ var qo = [
2973
3020
  "coordinates",
2974
3021
  "gbuffer"
2975
3022
  ];
2976
- function zo(e) {
3023
+ function ii(e) {
2977
3024
  let t = {
2978
3025
  name: e.id,
2979
3026
  header: e.header,
@@ -2992,7 +3039,7 @@ function zo(e) {
2992
3039
  if (!e.flag) return t;
2993
3040
  for (let n = 0; n < e.flag.length; n++) {
2994
3041
  let r = e.flag[n];
2995
- if (Kl(Qo, r)) {
3042
+ if (Yl(oi, r)) {
2996
3043
  switch (r) {
2997
3044
  case "enum":
2998
3045
  t.enum_list = e.enum;
@@ -3006,7 +3053,7 @@ function zo(e) {
3006
3053
  case "file": t.is_file = !0;
3007
3054
  }
3008
3055
  t.type = r;
3009
- } else if (Kl(Ho, r)) switch (r) {
3056
+ } else if (Yl(li, r)) switch (r) {
3010
3057
  case "writable":
3011
3058
  t.is_writable = !0;
3012
3059
  break;
@@ -3019,7 +3066,7 @@ function zo(e) {
3019
3066
  }
3020
3067
  return t.is_file && (t.type = "file"), t;
3021
3068
  }
3022
- function Xo(e, t) {
3069
+ function si(e, t) {
3023
3070
  let n = {
3024
3071
  name: e,
3025
3072
  header: e,
@@ -3037,9 +3084,9 @@ function Xo(e, t) {
3037
3084
  let e = t.split(".");
3038
3085
  for (let t = 0; t < e.length; t++) {
3039
3086
  let r = e[t];
3040
- if (Kl(qo, r)) n.real_type || (n.real_type = r);
3041
- else if (Kl(Qo, r)) n.type || (n.type = r);
3042
- else if (Kl(Ho, r)) switch (r) {
3087
+ if (Yl(ri, r)) n.real_type || (n.real_type = r);
3088
+ else if (Yl(oi, r)) n.type || (n.type = r);
3089
+ else if (Yl(li, r)) switch (r) {
3043
3090
  case "writable":
3044
3091
  n.is_writable = !0;
3045
3092
  break;
@@ -3051,35 +3098,35 @@ function Xo(e, t) {
3051
3098
  }
3052
3099
  }
3053
3100
  n.real_type || (n.real_type = "string");
3054
- } else Yr(t) ? (n = zo(t), n.name || (n.name = e), n.header || (n.header = e)) : Br(t) && (n.real_type = "array", n.enum_list = t);
3101
+ } else Yr(t) ? (n = ii(t), n.name || (n.name = e), n.header || (n.header = e)) : Br(t) && (n.real_type = "array", n.enum_list = t);
3055
3102
  return n.type || (n.type = n.real_type), n;
3056
3103
  }
3057
- function Zo(e, t) {
3104
+ function ai(e, t) {
3058
3105
  let n = {};
3059
3106
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
3060
3107
  let l;
3061
3108
  Yr(r) && (l = r.default);
3062
- let o = vl(null, t, e, l);
3109
+ let o = Ol(null, t, e, l);
3063
3110
  n[e] = o;
3064
3111
  }), n;
3065
3112
  }
3066
- var ei = [
3113
+ var ui = [
3067
3114
  N(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
3068
3115
  N(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
3069
3116
  N(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
3070
3117
  S()
3071
- ], ti = {
3118
+ ], _i = {
3072
3119
  periodic: !1,
3073
3120
  msec: 0,
3074
3121
  timer_id: -1
3075
- }, ni = null;
3076
- function ri(e, t, n, r) {
3122
+ }, ci = null;
3123
+ function fi(e, t, n, r) {
3077
3124
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
3078
3125
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
3079
3126
  Tn(e, "EV_TIMEOUT", {}, e);
3080
3127
  }, l.msec) : l.timer_id = -1, kt(e) ? Tn(At(e), o, {}, e) : Pn(e, o, {}), l.periodic || -1 !== l.timer_id || Et(e) && gt(e), 0;
3081
3128
  }
3082
- var li = {
3129
+ var gi = {
3083
3130
  mt_create: function(e) {
3084
3131
  let t = e.priv;
3085
3132
  const n = nn(e, "subscriber");
@@ -3104,31 +3151,31 @@ var li = {
3104
3151
  },
3105
3152
  mt_destroy: function(e) {}
3106
3153
  };
3107
- function oi() {
3154
+ function di() {
3108
3155
  return function(e) {
3109
- if (ni) return ir(`GClass ALREADY created: ${e}`), -1;
3156
+ if (ci) return ir(`GClass ALREADY created: ${e}`), -1;
3110
3157
  const t = [["ST_IDLE", [[
3111
3158
  "EV_TIMEOUT",
3112
- ri,
3159
+ fi,
3113
3160
  null
3114
3161
  ]]]];
3115
- return (ni = Ae(e, [
3162
+ return (ci = Ae(e, [
3116
3163
  ["EV_TIMEOUT", U.EVF_OUTPUT_EVENT],
3117
3164
  ["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT],
3118
3165
  [0, 0]
3119
- ], t, li, 0, ei, ti, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
3166
+ ], t, gi, 0, ui, _i, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
3120
3167
  }("C_TIMER");
3121
3168
  }
3122
- function ii(e, t) {
3169
+ function bi(e, t) {
3123
3170
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : (sn(e, "periodic", !1), void an(e, "msec", t)) : (ir("not GObj TYPE"), -1);
3124
3171
  }
3125
- function si(e, t) {
3172
+ function pi(e, t) {
3126
3173
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : (sn(e, "periodic", !0), void an(e, "msec", t)) : (ir("not GObj TYPE"), -1);
3127
3174
  }
3128
- function ai(e) {
3175
+ function mi(e) {
3129
3176
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (ir("not C_TIMER GObj"), -1) : void an(e, "msec", -1) : (ir("not GObj TYPE"), -1);
3130
3177
  }
3131
- var ui = [
3178
+ var hi = [
3132
3179
  N(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
3133
3180
  N(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
3134
3181
  N(T.DTP_STRING, "__username__", 0, "", "Username"),
@@ -3148,27 +3195,27 @@ var ui = [
3148
3195
  N(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
3149
3196
  N(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
3150
3197
  S()
3151
- ], _i = { gobj_timer: null }, ci = null;
3152
- function fi(e, t, n, r) {
3153
- let l = zt(e, t);
3198
+ ], Ei = { gobj_timer: null }, yi = null;
3199
+ function Ti(e, t, n, r) {
3200
+ let l = Qt(e, t);
3154
3201
  return Yr(l) || (l = {}), l[n] = r, rn(e, t, l), He(e, t);
3155
3202
  }
3156
- function gi(e) {
3203
+ function vi(e) {
3157
3204
  if (!0 === e || !1 === e) return e;
3158
3205
  let t = String(null == e ? "" : e).toLowerCase();
3159
3206
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
3160
3207
  }
3161
- function di() {
3208
+ function Oi() {
3162
3209
  return `${Nt()}^${St()}`;
3163
3210
  }
3164
- function bi(e, t, n, r) {
3211
+ function Si(e, t, n, r) {
3165
3212
  return Pn(e, t, n), 0;
3166
3213
  }
3167
- var pi = {
3214
+ var Ni = {
3168
3215
  mt_create: function(e) {
3169
3216
  let t = e.priv;
3170
- un(e, "start_date", To()), un(e, "node_uuid", So()), e.priv.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.periodic_timeout = zt(e, "periodic_timeout"), function(e) {
3171
- let t = zt(e, "trace_levels");
3217
+ un(e, "start_date", Do()), un(e, "node_uuid", ko()), e.priv.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.periodic_timeout = Qt(e, "periodic_timeout"), function(e) {
3218
+ let t = Qt(e, "trace_levels");
3172
3219
  if (!Yr(t)) return 0;
3173
3220
  let n = t.__global_trace__;
3174
3221
  if (Br(n)) {
@@ -3183,7 +3230,7 @@ var pi = {
3183
3230
  } else ir(`${jt(e)}: trace_levels of ${n} MUST be a list`);
3184
3231
  }
3185
3232
  }(e), function(e) {
3186
- let t = zt(e, "no_trace_levels");
3233
+ let t = Qt(e, "no_trace_levels");
3187
3234
  if (!Yr(t)) return 0;
3188
3235
  let n = t.__global_no_trace__;
3189
3236
  if (Br(n)) {
@@ -3201,10 +3248,10 @@ var pi = {
3201
3248
  },
3202
3249
  mt_writing: function(e, t) {},
3203
3250
  mt_start: function(e) {
3204
- return si(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3251
+ return pi(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3205
3252
  },
3206
3253
  mt_stop: function(e) {
3207
- return ai(e.priv.gobj_timer), bt(e), 0;
3254
+ return mi(e.priv.gobj_timer), bt(e), 0;
3208
3255
  },
3209
3256
  mt_destroy: function(e) {},
3210
3257
  mt_play: function(e) {
@@ -3221,35 +3268,35 @@ var pi = {
3221
3268
  case "get-global-no-trace": return o(0, 0, null, null, de());
3222
3269
  case "set-global-trace":
3223
3270
  case "set-global-no-trace": {
3224
- let r = "set-global-no-trace" === t, l = n.level, i = gi(n.set);
3225
- return l ? null === i ? o(0, -1, `${di()}: bitmask set or re-set?`, null, null) : (r ? ae(l, i) : se(l, i)) < 0 ? o(0, -1, `${di()}: global trace level not found: ${l}`, null, null) : r ? (fi(e, "no_trace_levels", "__global_no_trace__", de()), o(0, 0, null, null, de())) : (fi(e, "trace_levels", "__global_trace__", ge()), o(0, 0, null, null, ge())) : o(0, -1, `${di()}: what level?`, null, null);
3271
+ let r = "set-global-no-trace" === t, l = n.level, i = vi(n.set);
3272
+ return l ? null === i ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? ae(l, i) : se(l, i)) < 0 ? o(0, -1, `${Oi()}: global trace level not found: ${l}`, null, null) : r ? (Ti(e, "no_trace_levels", "__global_no_trace__", de()), o(0, 0, null, null, de())) : (Ti(e, "trace_levels", "__global_trace__", ge()), o(0, 0, null, null, ge())) : o(0, -1, `${Oi()}: what level?`, null, null);
3226
3273
  }
3227
3274
  case "get-gclass-trace":
3228
3275
  case "get-gclass-no-trace":
3229
3276
  case "set-gclass-trace":
3230
3277
  case "set-gclass-no-trace": {
3231
3278
  let r = t.indexOf("no-trace") >= 0, l = n.gclass_name || n.gclass || "", i = Me(l);
3232
- if (!i) return o(0, -1, `${di()}: what gclass is '${l}'?`, null, null);
3279
+ if (!i) return o(0, -1, `${Oi()}: what gclass is '${l}'?`, null, null);
3233
3280
  if (0 === t.indexOf("get-")) return o(0, 0, null, null, r ? me(i) : be(i));
3234
- let s = n.level, a = gi(n.set);
3235
- return s ? null === a ? o(0, -1, `${di()}: bitmask set or re-set?`, null, null) : (r ? Te(i, s, a) : Ee(i, s, a)) < 0 ? o(0, -1, `${di()}: trace level of ${l} not found: ${s}`, null, null) : r ? (fi(e, "no_trace_levels", l, me(i)), o(0, 0, null, null, me(i))) : (fi(e, "trace_levels", l, pe(i)), o(0, 0, null, null, be(i))) : o(0, -1, `${di()}: what level?`, null, null);
3281
+ let s = n.level, a = vi(n.set);
3282
+ return s ? null === a ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? Te(i, s, a) : Ee(i, s, a)) < 0 ? o(0, -1, `${Oi()}: trace level of ${l} not found: ${s}`, null, null) : r ? (Ti(e, "no_trace_levels", l, me(i)), o(0, 0, null, null, me(i))) : (Ti(e, "trace_levels", l, pe(i)), o(0, 0, null, null, be(i))) : o(0, -1, `${Oi()}: what level?`, null, null);
3236
3283
  }
3237
- default: return o(0, -1, `${di()}: command not available: ${t}`, null, null);
3284
+ default: return o(0, -1, `${Oi()}: command not available: ${t}`, null, null);
3238
3285
  }
3239
3286
  }
3240
3287
  };
3241
- function mi() {
3288
+ function wi() {
3242
3289
  return function(e) {
3243
- if (ci) return ir(`GClass ALREADY created: ${e}`), -1;
3290
+ if (yi) return ir(`GClass ALREADY created: ${e}`), -1;
3244
3291
  const t = [["ST_IDLE", [[
3245
3292
  "EV_TIMEOUT_PERIODIC",
3246
- bi,
3293
+ Si,
3247
3294
  null
3248
3295
  ]]]];
3249
- return (ci = Ae(e, [["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS], [0, 0]], t, pi, 0, ui, _i, 0, 0, 0, 0)) ? 0 : -1;
3296
+ return (yi = Ae(e, [["EV_TIMEOUT_PERIODIC", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS], [0, 0]], t, Ni, 0, hi, Ei, 0, 0, 0, 0)) ? 0 : -1;
3250
3297
  }("C_YUNO");
3251
3298
  }
3252
- var hi = "ievent_gate_stack", Ei = [
3299
+ var ji = "ievent_gate_stack", Ri = [
3253
3300
  N(T.DTP_STRING, "wanted_yuno_role", v.SDF_RD, "", "wanted yuno role"),
3254
3301
  N(T.DTP_STRING, "wanted_yuno_name", v.SDF_RD, "", "wanted yuno name"),
3255
3302
  N(T.DTP_STRING, "wanted_yuno_service", v.SDF_RD, "", "wanted yuno service"),
@@ -3266,15 +3313,15 @@ var hi = "ievent_gate_stack", Ei = [
3266
3313
  N(T.DTP_INTEGER, "timeout_idack", v.SDF_RD, "5000", "timeout waiting idAck"),
3267
3314
  N(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
3268
3315
  S()
3269
- ], yi = [
3316
+ ], $i = [
3270
3317
  ["ievents", "Trace inter-events with metadata of kw"],
3271
3318
  ["ievents2", "Trace inter-events with full kw"],
3272
3319
  ["identity-card", "Trace identity_card messages"]
3273
3320
  ];
3274
- function Ti(e) {
3321
+ function Di(e) {
3275
3322
  return !!(3 & Z(e));
3276
3323
  }
3277
- var vi = {
3324
+ var Ai = {
3278
3325
  url: null,
3279
3326
  remote_yuno_name: null,
3280
3327
  remote_yuno_role: null,
@@ -3284,8 +3331,8 @@ var vi = {
3284
3331
  websocket: null,
3285
3332
  inside_on_open: !1,
3286
3333
  retry_ms: 0
3287
- }, Oi = null;
3288
- function Si(e) {
3334
+ }, Ii = null;
3335
+ function ki(e) {
3289
3336
  e.priv.websocket && ir("Websocket ALREADY setup");
3290
3337
  const t = tn(e, "url");
3291
3338
  ur(`====> Starting WebSocket to '${t}' (${$t(e)})`);
@@ -3300,7 +3347,7 @@ function Si(e) {
3300
3347
  code: 1006,
3301
3348
  reason: r.message,
3302
3349
  was_clean: !1
3303
- }, e), null;
3350
+ }, e) < 0 && bi(e.priv.gobj_timer, Ki(e)), null;
3304
3351
  }
3305
3352
  return r ? (r.onopen = () => {
3306
3353
  n !== e.priv.ws_seq || Ct(e) || Tn(e, "EV_ON_OPEN", {
@@ -3322,7 +3369,7 @@ function Si(e) {
3322
3369
  }, e));
3323
3370
  }, r) : (ir(`${$t(e)}: Failed to initialize WebSocket.`), null);
3324
3371
  }
3325
- function Ni(e, t = 1e3, n = "") {
3372
+ function Ci(e, t = 1e3, n = "") {
3326
3373
  let r = e.priv, l = r.websocket;
3327
3374
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
3328
3375
  ur(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -3333,25 +3380,25 @@ function Ni(e, t = 1e3, n = "") {
3333
3380
  }
3334
3381
  } else sr("WebSocket is already closed or in the process of closing.");
3335
3382
  }
3336
- function wi(e, t, n) {
3337
- let r = To();
3383
+ function Li(e, t, n) {
3384
+ let r = Do();
3338
3385
  try {
3339
3386
  ur("\n" + r + " " + t + "\n"), wr(n);
3340
3387
  } catch (e) {
3341
3388
  ur("ERROR in trace_inter_event: " + e);
3342
3389
  }
3343
3390
  }
3344
- var ji = class {
3391
+ var Pi = class {
3345
3392
  constructor(e, t) {
3346
3393
  this.event = e, this.kw = t || {};
3347
3394
  }
3348
3395
  };
3349
- function Ri(e, t, n, r) {
3396
+ function Ui(e, t, n, r) {
3350
3397
  return function(e, t) {
3351
3398
  let n = e.priv, r = JSON.stringify(t);
3352
- if (Ti(e)) {
3353
- let n = tn(e, "url"), l = jt(Ot()) + " ==> " + n, o = zt(Ot(), "trace_ievent_callback");
3354
- o ? o(l, t, 1, r.length) : wi(0, l, t);
3399
+ if (Di(e)) {
3400
+ let n = tn(e, "url"), l = jt(Ot()) + " ==> " + n, o = Qt(Ot(), "trace_ievent_callback");
3401
+ o ? o(l, t, 1, r.length) : Li(0, l, t);
3355
3402
  }
3356
3403
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return sr(`${$t(e)}: send_iev(): websocket not open, message lost`), -1;
3357
3404
  try {
@@ -3361,10 +3408,10 @@ function Ri(e, t, n, r) {
3361
3408
  }
3362
3409
  return 0;
3363
3410
  }(e, function(e, t) {
3364
- return tl(e) ? (ir("iev_create() event NULL"), null) : new ji(e, t);
3411
+ return tl(e) ? (ir("iev_create() event NULL"), null) : new Pi(e, t);
3365
3412
  }(t, n));
3366
3413
  }
3367
- function $i(e, t, n) {
3414
+ function Fi(e, t, n) {
3368
3415
  return tl(n) && (n = tn(e, "wanted_yuno_service")), {
3369
3416
  dst_yuno: tn(e, "wanted_yuno_name"),
3370
3417
  dst_role: tn(e, "wanted_yuno_role"),
@@ -3372,12 +3419,12 @@ function $i(e, t, n) {
3372
3419
  src_yuno: St(),
3373
3420
  src_role: Nt(),
3374
3421
  src_service: t,
3375
- host: So()
3422
+ host: ko()
3376
3423
  };
3377
3424
  }
3378
- function Di(e) {
3379
- let t = e.priv, n = vt(Ot()), r = tn(Ot(), "yuno_version"), l = tn(Ot(), "yuno_release"), o = tn(Ot(), "yuno_tag"), i = zt(e, "required_services");
3380
- i && i.length || (i = zt(Ot(), "required_services"));
3425
+ function Vi(e) {
3426
+ let t = e.priv, n = vt(Ot()), r = tn(Ot(), "yuno_version"), l = tn(Ot(), "yuno_release"), o = tn(Ot(), "yuno_tag"), i = Qt(e, "required_services");
3427
+ i && i.length || (i = Qt(Ot(), "required_services"));
3381
3428
  let s = {
3382
3429
  yuno_role: Nt(),
3383
3430
  yuno_id: wt(),
@@ -3393,27 +3440,27 @@ function Di(e) {
3393
3440
  username: tn(Ot(), "__username__"),
3394
3441
  launch_id: 0,
3395
3442
  yuno_startdate: tn(Ot(), "start_date"),
3396
- id: So(),
3443
+ id: ko(),
3397
3444
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
3398
3445
  language: "undefined" != typeof window ? window.navigator.language : "",
3399
3446
  required_services: i
3400
3447
  };
3401
- return Hl(e, s, hi, $i(e, jt(At(e)), null)), zl(e, s, "__identity__"), ii(t.gobj_timer, en(e, "timeout_idack")), Ri(e, "EV_IDENTITY_CARD", s);
3448
+ return zl(e, s, ji, Fi(e, jt(At(e)), null)), Xl(e, s, "__identity__"), bi(t.gobj_timer, en(e, "timeout_idack")), Ui(e, "EV_IDENTITY_CARD", s);
3402
3449
  }
3403
- function Ai(e, t) {
3450
+ function Gi(e, t) {
3404
3451
  if (tl(t.event)) return -1;
3405
3452
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, i = t.__service__, s = t.subscriber;
3406
3453
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
3407
- return Hl(e, n, hi, $i(e, jt(s), i)), zl(e, n, "__subscribing__"), Ri(e, t.event, n);
3454
+ return zl(e, n, ji, Fi(e, jt(s), i)), Xl(e, n, "__subscribing__"), Ui(e, t.event, n);
3408
3455
  }
3409
- function Ii(e, t, n, r) {
3456
+ function Mi(e, t, n, r) {
3410
3457
  let l = e.priv;
3411
- return Et(e) && (l.websocket = Si(e)), 0;
3458
+ return Et(e) && (l.websocket = ki(e)), 0;
3412
3459
  }
3413
- function ki(e, t, n, r) {
3414
- return ur("Websocket opened: " + e.priv.url), Di(e), 0;
3460
+ function Wi(e, t, n, r) {
3461
+ return ur("Websocket opened: " + e.priv.url), Vi(e), 0;
3415
3462
  }
3416
- function Ci(e, t, n, r) {
3463
+ function xi(e, t, n, r) {
3417
3464
  let l = e.priv, o = n.url;
3418
3465
  return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (rr(), sr(`${$t(e)}: WebSocket closed ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, Pn(e, "EV_ON_CLOSE", {
3419
3466
  url: o,
@@ -3428,25 +3475,25 @@ function Ci(e, t, n, r) {
3428
3475
  code: n.code,
3429
3476
  reason: n.reason,
3430
3477
  was_clean: n.was_clean
3431
- })), Et(e) && ii(l.gobj_timer, function(e) {
3432
- let t = e.priv, n = en(e, "timeout_retry"), r = en(e, "timeout_retry_max");
3433
- r < n && (r = n);
3434
- t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3435
- let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
3436
- return Math.max(1, Math.round(o));
3437
- }(e))), 0;
3438
- }
3439
- function Li(e, t, n, r) {
3440
- return Di(e), 0;
3441
- }
3442
- function Pi(e, t, n, r) {
3478
+ })), Et(e) && bi(l.gobj_timer, Ki(e))), 0;
3479
+ }
3480
+ function Ki(e) {
3481
+ let t = e.priv, n = en(e, "timeout_retry"), r = en(e, "timeout_retry_max");
3482
+ r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3483
+ let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
3484
+ return Math.max(1, Math.round(o));
3485
+ }
3486
+ function Yi(e, t, n, r) {
3487
+ return Vi(e), 0;
3488
+ }
3489
+ function Bi(e, t, n, r) {
3443
3490
  let l = e.priv;
3444
- ai(l.gobj_timer);
3445
- let o = Ql(e, n, hi, !0), i = El(e, o, "src_yuno", ""), s = El(e, o, "src_role", ""), a = El(e, o, "src_service", "");
3491
+ mi(l.gobj_timer);
3492
+ let o = Ql(e, n, ji, !0), i = yl(e, o, "src_yuno", ""), s = yl(e, o, "src_role", ""), a = yl(e, o, "src_service", "");
3446
3493
  un(e, "remote_yuno_name", i), un(e, "remote_yuno_role", s), un(e, "remote_yuno_service", a);
3447
- let u = ml(e, n, "result", -1, 0), _ = El(e, n, "comment", "", 0), c = El(e, n, "username", "", 0), f = vl(e, n, "services_roles", {});
3494
+ let u = hl(e, n, "result", -1, 0), _ = yl(e, n, "comment", "", 0), c = yl(e, n, "username", "", 0), f = Ol(e, n, "services_roles", {});
3448
3495
  if (u < 0) {
3449
- Ni(e);
3496
+ Ci(e);
3450
3497
  let t = {
3451
3498
  url: tn(e, "url"),
3452
3499
  result: u,
@@ -3471,12 +3518,12 @@ function Pi(e, t, n, r) {
3471
3518
  }
3472
3519
  l.inside_on_open = !1, function(e) {
3473
3520
  let t = kn(e, null, null, null);
3474
- for (let n = 0; n < t.length; n++) Ai(e, t[n]);
3521
+ for (let n = 0; n < t.length; n++) Gi(e, t[n]);
3475
3522
  }(e);
3476
3523
  }
3477
3524
  return 0;
3478
3525
  }
3479
- function Ui(e, t, n, r) {
3526
+ function Ji(e, t, n, r) {
3480
3527
  let l = e.priv.url, o = function(e, t) {
3481
3528
  let n;
3482
3529
  try {
@@ -3495,21 +3542,21 @@ function Ui(e, t, n, r) {
3495
3542
  } : (sr(`${$t(e)}: parsing inter_event: kw not a json object`), null) : (sr(`${$t(e)}: parsing inter_kw: no kw`), null);
3496
3543
  }(e, n.data);
3497
3544
  if (!o) return sr(`${$t(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
3498
- if (Ti(e)) {
3499
- let e = jt(Ot()) + " <== " + l, t = n.data.length, r = zt(Ot(), "trace_ievent_callback");
3500
- r ? r(e, o, 2, t) : wi(0, e, o);
3545
+ if (Di(e)) {
3546
+ let e = jt(Ot()) + " <== " + l, t = n.data.length, r = Qt(Ot(), "trace_ievent_callback");
3547
+ r ? r(e, o, 2, t) : Li(0, e, o);
3501
3548
  }
3502
3549
  let i = o.event, s = o.kw;
3503
3550
  if ("ST_SESSION" !== cn(e)) {
3504
3551
  if (dn(e, i, U.EVF_PUBLIC_EVENT)) {
3505
3552
  if (!(Tn(e, i, s, e) < 0)) return 0;
3506
3553
  } else ir(`${$t(e)}: event UNKNOWN in not-session state ${i}`);
3507
- return Ni(e), -1;
3554
+ return Ci(e), -1;
3508
3555
  }
3509
3556
  o = null;
3510
- let a = Xl(e, s), u = Ql(e, s, hi), _ = El(e, u, "dst_role", "");
3557
+ let a = Zl(e, s), u = Ql(e, s, ji), _ = yl(e, u, "dst_role", "");
3511
3558
  if (_.toLowerCase() !== Nt().toLowerCase()) return ir(`"It's not my role, dst_role: ${_}, my_role: ${Nt()}`), 0;
3512
- let c = El(e, u, "dst_service", "");
3559
+ let c = yl(e, u, "dst_service", "");
3513
3560
  if ("__subscribing__" === a) return sr(`${$t(e)}: subscription event ignored, I'm client (service: ${c}, event: ${i})`), -1;
3514
3561
  if ("__unsubscribing__" === a) return sr(`${$t(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${i})`), -1;
3515
3562
  if (dn(e, i, U.EVF_PUBLIC_EVENT)) return Tn(e, i, s, e), 0;
@@ -3519,13 +3566,13 @@ function Ui(e, t, n, r) {
3519
3566
  }
3520
3567
  return kt(e) ? Tn(At(e), i, s, e) : Pn(e, i, s), 0;
3521
3568
  }
3522
- function Fi(e, t, n, r) {
3569
+ function qi(e, t, n, r) {
3523
3570
  return 0;
3524
3571
  }
3525
- function Vi(e, t, n, r) {
3572
+ function Hi(e, t, n, r) {
3526
3573
  return 0;
3527
3574
  }
3528
- var Gi = {
3575
+ var zi = {
3529
3576
  mt_create: function(e) {
3530
3577
  let t = e.priv;
3531
3578
  t.gobj_timer = ot(jt(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = tn(e, "url"), t.remote_yuno_name = tn(e, "remote_yuno_name"), t.remote_yuno_role = tn(e, "remote_yuno_role"), t.remote_yuno_service = tn(e, "remote_yuno_service"), un(e, "wanted_yuno_name", t.remote_yuno_name), un(e, "wanted_yuno_role", t.remote_yuno_role), un(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -3555,43 +3602,43 @@ var Gi = {
3555
3602
  code: 1e3,
3556
3603
  reason: "restarted",
3557
3604
  was_clean: !0
3558
- }, e), ai(t.gobj_timer)), t.websocket = Si(e), 0;
3605
+ }, e), mi(t.gobj_timer)), t.websocket = ki(e), 0;
3559
3606
  },
3560
3607
  mt_stop: function(e) {
3561
3608
  let t = e.priv;
3562
- return ai(t.gobj_timer), t.websocket && Ni(e), 0;
3609
+ return mi(t.gobj_timer), t.websocket && Ci(e), 0;
3563
3610
  },
3564
3611
  mt_destroy: function(e) {},
3565
3612
  mt_stats: function(e, t, n, r) {
3566
3613
  if ("ST_SESSION" !== cn(e)) return ir("Not in session"), null;
3567
3614
  n || (n = {});
3568
- let l = $i(e, jt(r), El(e, n, "service", null, 0)), o = vl(e, n, "__md_stats__", null, Vn.KW_EXTRACT);
3569
- return o || (o = {}), Hl(e, n, "stats_stack", {
3615
+ let l = Fi(e, jt(r), yl(e, n, "service", null, 0)), o = Ol(e, n, "__md_stats__", null, Vn.KW_EXTRACT);
3616
+ return o || (o = {}), zl(e, n, "stats_stack", {
3570
3617
  stats: t,
3571
3618
  kw: o
3572
- }), Hl(e, n, hi, l), n.__stats__ = t, zl(e, n, "__stats__"), Ri(e, "EV_MT_STATS", n, r), null;
3619
+ }), zl(e, n, ji, l), n.__stats__ = t, Xl(e, n, "__stats__"), Ui(e, "EV_MT_STATS", n, r), null;
3573
3620
  },
3574
3621
  mt_command_parser: function(e, t, n, r) {
3575
3622
  if ("ST_SESSION" !== cn(e)) return ir("Not in session"), null;
3576
3623
  n || (n = {});
3577
- let l = $i(e, jt(r), El(e, n, "service", "", 0)), o = vl(e, n, "__md_command__", null, Vn.KW_EXTRACT);
3578
- return o || (o = {}), Hl(e, n, "command_stack", {
3624
+ let l = Fi(e, jt(r), yl(e, n, "service", "", 0)), o = Ol(e, n, "__md_command__", null, Vn.KW_EXTRACT);
3625
+ return o || (o = {}), zl(e, n, "command_stack", {
3579
3626
  command: t,
3580
3627
  kw: o
3581
- }), Hl(e, n, hi, l), n.__command__ = t, zl(e, n, "__command__"), Ri(e, "EV_MT_COMMAND", n, r), null;
3628
+ }), zl(e, n, ji, l), n.__command__ = t, Xl(e, n, "__command__"), Ui(e, "EV_MT_COMMAND", n, r), null;
3582
3629
  },
3583
3630
  mt_inject_event: function(e, t, n, r) {
3584
3631
  if ("ST_SESSION" !== cn(e)) return window.console.error("Not in session"), -1;
3585
- if (n = Dr({}, Yr(n) ? n : {}), Yr(n.__md_iev__) && (n.__md_iev__ = jr(n.__md_iev__)), Ql(e, n, hi));
3632
+ if (n = Dr({}, Yr(n) ? n : {}), Yr(n.__md_iev__) && (n.__md_iev__ = jr(n.__md_iev__)), Ql(e, n, ji));
3586
3633
  else {
3587
- let l = $i(e, jt(r), El(e, n, "__service__", 0, 0));
3588
- Cr(n, "__service__"), Hl(e, n, "__message__", t), Hl(e, n, hi, l);
3634
+ let l = Fi(e, jt(r), yl(e, n, "__service__", 0, 0));
3635
+ Cr(n, "__service__"), zl(e, n, "__message__", t), zl(e, n, ji, l);
3589
3636
  }
3590
- return zl(e, n, "__message__"), Ri(e, t, n, r);
3637
+ return Xl(e, n, "__message__"), Ui(e, t, n, r);
3591
3638
  },
3592
3639
  mt_subscription_added: function(e, t) {
3593
3640
  let n = e.priv;
3594
- return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Ai(e, t) : 0;
3641
+ return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Gi(e, t) : 0;
3595
3642
  },
3596
3643
  mt_subscription_deleted: function(e, t) {
3597
3644
  let n = e.priv;
@@ -3600,27 +3647,27 @@ var Gi = {
3600
3647
  if (tl(t.event)) return 0;
3601
3648
  let r = {}, l = t.__global__, o = t.__config__, i = t.__filter__, s = t.__service__, a = t.subscriber;
3602
3649
  o && (r.__config__ = o), l && (r.__global__ = l), i && (r.__filter__ = i);
3603
- return Hl(e, r, hi, $i(e, jt(a), s)), zl(e, r, "__unsubscribing__"), Ri(e, t.event, r, e);
3650
+ return zl(e, r, ji, Fi(e, jt(a), s)), Xl(e, r, "__unsubscribing__"), Ui(e, t.event, r, e);
3604
3651
  }
3605
3652
  };
3606
- function Mi() {
3653
+ function Qi() {
3607
3654
  return function(e) {
3608
- if (Oi) return ir(`GClass ALREADY created: ${e}`), -1;
3655
+ if (Ii) return ir(`GClass ALREADY created: ${e}`), -1;
3609
3656
  const t = [
3610
3657
  ["ST_DISCONNECTED", [
3611
3658
  [
3612
3659
  "EV_ON_OPEN",
3613
- ki,
3660
+ Wi,
3614
3661
  "ST_WAIT_IDENTITY_CARD_ACK"
3615
3662
  ],
3616
3663
  [
3617
3664
  "EV_ON_CLOSE",
3618
- Ci,
3665
+ xi,
3619
3666
  null
3620
3667
  ],
3621
3668
  [
3622
3669
  "EV_TIMEOUT",
3623
- Ii,
3670
+ Mi,
3624
3671
  null
3625
3672
  ],
3626
3673
  [
@@ -3632,22 +3679,22 @@ function Mi() {
3632
3679
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3633
3680
  [
3634
3681
  "EV_ON_MESSAGE",
3635
- Ui,
3682
+ Ji,
3636
3683
  null
3637
3684
  ],
3638
3685
  [
3639
3686
  "EV_IDENTITY_CARD_ACK",
3640
- Pi,
3687
+ Bi,
3641
3688
  null
3642
3689
  ],
3643
3690
  [
3644
3691
  "EV_ON_CLOSE",
3645
- Ci,
3692
+ xi,
3646
3693
  "ST_DISCONNECTED"
3647
3694
  ],
3648
3695
  [
3649
3696
  "EV_TIMEOUT",
3650
- Li,
3697
+ Yi,
3651
3698
  null
3652
3699
  ],
3653
3700
  [
@@ -3659,22 +3706,22 @@ function Mi() {
3659
3706
  ["ST_SESSION", [
3660
3707
  [
3661
3708
  "EV_ON_MESSAGE",
3662
- Ui,
3709
+ Ji,
3663
3710
  null
3664
3711
  ],
3665
3712
  [
3666
3713
  "EV_MT_STATS",
3667
- Fi,
3714
+ qi,
3668
3715
  null
3669
3716
  ],
3670
3717
  [
3671
3718
  "EV_MT_COMMAND",
3672
- Vi,
3719
+ Hi,
3673
3720
  null
3674
3721
  ],
3675
3722
  [
3676
3723
  "EV_ON_CLOSE",
3677
- Ci,
3724
+ xi,
3678
3725
  "ST_DISCONNECTED"
3679
3726
  ],
3680
3727
  [
@@ -3685,7 +3732,7 @@ function Mi() {
3685
3732
  ]],
3686
3733
  [null, null]
3687
3734
  ];
3688
- return (Oi = Ae(e, [
3735
+ return (Ii = Ae(e, [
3689
3736
  ["EV_ON_MESSAGE", U.EVF_OUTPUT_EVENT],
3690
3737
  ["EV_IDENTITY_CARD_ACK", U.EVF_PUBLIC_EVENT],
3691
3738
  ["EV_ON_ID_NAK", U.EVF_PUBLIC_EVENT | U.EVF_OUTPUT_EVENT],
@@ -3696,9 +3743,9 @@ function Mi() {
3696
3743
  ["EV_ON_OPEN_ERROR", U.EVF_OUTPUT_EVENT | U.EVF_NO_WARN_SUBS],
3697
3744
  ["EV_TIMEOUT", 0],
3698
3745
  [null, 0]
3699
- ], t, Gi, 0, Ei, vi, 0, 0, yi, C.gcflag_no_check_output_events)) ? 0 : -1;
3746
+ ], t, zi, 0, Ri, Ai, 0, 0, $i, C.gcflag_no_check_output_events)) ? 0 : -1;
3700
3747
  }("C_IEVENT_CLI");
3701
3748
  }
3702
- export { k as GObj, N as SDATA, $ as SDATAAUTHZ, w as SDATACM, j as SDATACM2, A as SDATADF, R as SDATAPM, D as SDATAPM0, S as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, h as __yuno__, o as build_command_response, Ro as build_path, s as build_stats_response, No as clean_name, ai as clear_timeout, il as cmp_two_simple_json, l as command_parser, po as createElement2, bo as createOneHtml, uo as create_json_record, Zo as create_template_record, To as current_timestamp, T as data_type_t, xo as db_list_persistent_attrs, Go as db_load_persistent_attrs, Wo as db_remove_persistent_attrs, Mo as db_save_persistent_attrs, jo as debounce, Bl as delete_from_list, Rr as duplicate_objects, Kr as empty_json, tl as empty_string, fo as escapeHtml, U as event_flag_t, Lo as flat2json, Fo as flat_apply, Uo as flat_diff, Io as flat_key_join, ko as flat_key_split, Pe as gclass_add_ev_action, Fe as gclass_add_event_type, Le as gclass_add_state, Ge as gclass_check_fsm, Ae as gclass_create, Ve as gclass_event_type, Me as gclass_find_by_name, C as gclass_flag_t, Ie as gclass_unregister, mo as getPositionRelativeToBody, wo as get_function_name, vo as get_now, Lt as gobj_bottom_gobj, fn as gobj_change_parent, _n as gobj_change_state, Un as gobj_command, it as gobj_create, et as gobj_create2, rt as gobj_create_default_service, ot as gobj_create_pure_child, nt as gobj_create_service, lt as gobj_create_volatil, tt as gobj_create_yuno, cn as gobj_current_state, xe as gobj_default_service, yn as gobj_deliver_posted_events, st as gobj_destroy, Bt as gobj_find_child, Kt as gobj_find_gobj, Ke as gobj_find_service, Ln as gobj_find_subscribings, kn as gobj_find_subscriptions, L as gobj_flag_t, Dt as gobj_full_name, Rt as gobj_gclass_name, be as gobj_get_gclass_trace_level, pe as gobj_get_gclass_trace_level2, me as gobj_get_gclass_trace_no_level, ge as gobj_get_global_trace_level, de as gobj_get_global_trace_no_level, ue as gobj_global_trace_level, _e as gobj_global_trace_no_level, Qt as gobj_has_attr, dn as gobj_has_event, bn as gobj_has_output_event, Re as gobj_hsdata, Ct as gobj_is_destroying, vt as gobj_is_playing, kt as gobj_is_pure_child, Et as gobj_is_running, Tt as gobj_is_service, It as gobj_is_volatil, ze as gobj_list_persistent_attrs, Cn as gobj_list_subscriptions, qe as gobj_load_persistent_attrs, Jt as gobj_match_children, qt as gobj_match_children_tree, Yt as gobj_match_gobj, jt as gobj_name, At as gobj_parent, ht as gobj_pause, mt as gobj_play, hn as gobj_post_event, En as gobj_posted_events_size, Pn as gobj_publish_event, zt as gobj_read_attr, Xt as gobj_read_attrs, Zt as gobj_read_bool_attr, en as gobj_read_integer_attr, nn as gobj_read_pointer_attr, tn as gobj_read_str_attr, Qe as gobj_remove_persistent_attrs, Oe as gobj_repr_global_trace_levels, ln as gobj_reset_volatil_attrs, He as gobj_save_persistent_attrs, Ht as gobj_search_path, Tn as gobj_send_event, We as gobj_services, Pt as gobj_set_bottom_gobj, he as gobj_set_deep_trace, Te as gobj_set_gclass_no_trace, Ee as gobj_set_gclass_trace, ae as gobj_set_global_no_trace, fe as gobj_set_global_no_trace2, se as gobj_set_global_trace, ce as gobj_set_global_trace2, ve as gobj_set_gobj_no_trace, ye as gobj_set_gobj_trace, x as gobj_set_trace_machine_format, $t as gobj_short_name, at as gobj_start, _t as gobj_start_children, ft as gobj_start_tree, Se as gobj_start_up, Fn as gobj_stats, gt as gobj_stop, bt as gobj_stop_children, pt as gobj_stop_tree, Dn as gobj_subscribe_event, Z as gobj_trace_level, K as gobj_trace_machine_format, ee as gobj_trace_no_level, An as gobj_unsubscribe_event, In as gobj_unsubscribe_list, Ft as gobj_walk_gobj_children, Vt as gobj_walk_gobj_children_tree, rn as gobj_write_attr, on as gobj_write_attrs, sn as gobj_write_bool_attr, an as gobj_write_integer_attr, un as gobj_write_str_attr, Ot as gobj_yuno, wt as gobj_yuno_id, St as gobj_yuno_name, Nt as gobj_yuno_role, xl as id_index_in_obj_list, Oo as index_in_list, Br as is_array, Hr as is_boolean, Xr as is_date, Zr as is_function, el as is_gobj, al as is_metadata_key, Qr as is_null, qr as is_number, Yr as is_object, ul as is_private_key, zr as is_pure_number, br as is_secret_name, Jr as is_string, lo as jdb_delete, io as jdb_get, so as jdb_get_by_idx, oo as jdb_get_topic, no as jdb_init, ro as jdb_update, Co as json2flat, Ur as json_array_append, Fr as json_array_append_new, Gr as json_array_extend, Vr as json_array_remove, Wr as json_array_size, jr as json_deep_copy, $r as json_is_identical, Nr as json_mask_secrets, Cr as json_object_del, kr as json_object_get, Lr as json_object_set, Pr as json_object_set_new, Mr as json_object_size, Dr as json_object_update, Ar as json_object_update_existing, Ir as json_object_update_missing, xr as json_size, co as jwt2json, _o as jwtDecode, Al as kw_clone_by_keys, Il as kw_clone_by_not_keys, Dl as kw_collect, bl as kw_delete, Rl as kw_find_json_in_list, dl as kw_find_path, Vn as kw_flag_t, pl as kw_get_bool, Tl as kw_get_dict, vl as kw_get_dict_value, ml as kw_get_int, Ol as kw_get_list, kl as kw_get_local_storage_value, yl as kw_get_pointer, hl as kw_get_real, El as kw_get_str, cl as kw_has_key, jl as kw_match_simple, _l as kw_pop, Ll as kw_remove_local_storage_value, $l as kw_select, Sl as kw_set_dict_value, Cl as kw_set_local_storage_value, Nl as kw_set_subdict_value, Ul as kwid_collect, Gl as kwid_find_one_record, Ml as kwid_get_ids, Pl as kwid_match_id, Fl as kwid_new_dict, Vl as kwid_new_list, Wl as list2options, Zl as load_json_file, ur as log_debug, ir as log_error, ar as log_info, sr as log_warning, yr as mask_secrets_inline, Xl as msg_iev_get_msg_type, Ql as msg_iev_get_stack, Hl as msg_iev_push_stack, Jl as msg_iev_read_key, zl as msg_iev_set_msg_type, ql as msg_iev_write_key, So as node_uuid, nl as parseBoolean, ho as parseSVG, Eo as refresh_language, Mi as register_c_ievent_cli, oi as register_c_timer, mi as register_c_yuno, go as safeSrc, v as sdata_flag_t, eo as send_http_json_post, Qn as set_console_log_enabled, Xn as set_console_log_filter, qn as set_log_callback, rr as set_remote_log_functions, ii as set_timeout, si as set_timeout_periodic, t as sprintf, i as stats_parser, Kl as str_in_list, ol as strcasecmp, ll as strcmp, rl as strncmp, Yl as strs_in_list, sl as strstr, Xo as template_get_field_desc, yo as timeTracker, cr as trace_json, wr as trace_json_masked, B as trace_level_t, _r as trace_msg, Yo as treedb_decoder_fkey, Jo as treedb_decoder_hook, Bo as treedb_encoder_fkey, zo as treedb_get_field_desc, Ko as treedb_hook_data_size, n as vsprintf, F as walk_type_t };
3749
+ export { k as GObj, N as SDATA, $ as SDATAAUTHZ, w as SDATACM, j as SDATACM2, A as SDATADF, R as SDATAPM, D as SDATAPM0, S as SDATA_END, O as SDataDesc, a as YUNETA_VERSION, h as __yuno__, o as build_command_response, Uo as build_path, s as build_stats_response, Co as clean_name, mi as clear_timeout, il as cmp_two_simple_json, l as command_parser, No as createElement2, So as createOneHtml, _o as create_json_record, ai as create_template_record, Do as current_timestamp, T as data_type_t, Xo as db_list_persistent_attrs, Ho as db_load_persistent_attrs, Qo as db_remove_persistent_attrs, zo as db_save_persistent_attrs, Po as debounce, Jl as delete_from_list, Rr as duplicate_objects, Kr as empty_json, tl as empty_string, go as escapeHtml, U as event_flag_t, Ko as flat2json, Jo as flat_apply, Bo as flat_diff, Mo as flat_key_join, Wo as flat_key_split, Pe as gclass_add_ev_action, Fe as gclass_add_event_type, Le as gclass_add_state, Ge as gclass_check_fsm, Ae as gclass_create, Ve as gclass_event_type, Me as gclass_find_by_name, C as gclass_flag_t, Ie as gclass_unregister, wo as getPositionRelativeToBody, Lo as get_function_name, Ao as get_now, Lt as gobj_bottom_gobj, fn as gobj_change_parent, _n as gobj_change_state, Un as gobj_command, it as gobj_create, et as gobj_create2, rt as gobj_create_default_service, ot as gobj_create_pure_child, nt as gobj_create_service, lt as gobj_create_volatil, tt as gobj_create_yuno, cn as gobj_current_state, xe as gobj_default_service, yn as gobj_deliver_posted_events, st as gobj_destroy, Bt as gobj_find_child, Kt as gobj_find_gobj, Ke as gobj_find_service, Ln as gobj_find_subscribings, kn as gobj_find_subscriptions, L as gobj_flag_t, Dt as gobj_full_name, Rt as gobj_gclass_name, be as gobj_get_gclass_trace_level, pe as gobj_get_gclass_trace_level2, me as gobj_get_gclass_trace_no_level, ge as gobj_get_global_trace_level, de as gobj_get_global_trace_no_level, ue as gobj_global_trace_level, _e as gobj_global_trace_no_level, zt as gobj_has_attr, dn as gobj_has_event, bn as gobj_has_output_event, Re as gobj_hsdata, Ct as gobj_is_destroying, vt as gobj_is_playing, kt as gobj_is_pure_child, Et as gobj_is_running, Tt as gobj_is_service, It as gobj_is_volatil, Qe as gobj_list_persistent_attrs, Cn as gobj_list_subscriptions, qe as gobj_load_persistent_attrs, Jt as gobj_match_children, qt as gobj_match_children_tree, Yt as gobj_match_gobj, jt as gobj_name, At as gobj_parent, ht as gobj_pause, mt as gobj_play, hn as gobj_post_event, En as gobj_posted_events_size, Pn as gobj_publish_event, Qt as gobj_read_attr, Xt as gobj_read_attrs, Zt as gobj_read_bool_attr, en as gobj_read_integer_attr, nn as gobj_read_pointer_attr, tn as gobj_read_str_attr, ze as gobj_remove_persistent_attrs, Oe as gobj_repr_global_trace_levels, ln as gobj_reset_volatil_attrs, He as gobj_save_persistent_attrs, Ht as gobj_search_path, Tn as gobj_send_event, We as gobj_services, Pt as gobj_set_bottom_gobj, he as gobj_set_deep_trace, Te as gobj_set_gclass_no_trace, Ee as gobj_set_gclass_trace, ae as gobj_set_global_no_trace, fe as gobj_set_global_no_trace2, se as gobj_set_global_trace, ce as gobj_set_global_trace2, ve as gobj_set_gobj_no_trace, ye as gobj_set_gobj_trace, x as gobj_set_trace_machine_format, $t as gobj_short_name, at as gobj_start, _t as gobj_start_children, ft as gobj_start_tree, Se as gobj_start_up, Fn as gobj_stats, gt as gobj_stop, bt as gobj_stop_children, pt as gobj_stop_tree, Dn as gobj_subscribe_event, Z as gobj_trace_level, K as gobj_trace_machine_format, ee as gobj_trace_no_level, An as gobj_unsubscribe_event, In as gobj_unsubscribe_list, Ft as gobj_walk_gobj_children, Vt as gobj_walk_gobj_children_tree, rn as gobj_write_attr, on as gobj_write_attrs, sn as gobj_write_bool_attr, an as gobj_write_integer_attr, un as gobj_write_str_attr, Ot as gobj_yuno, wt as gobj_yuno_id, St as gobj_yuno_name, Nt as gobj_yuno_role, mo as html_markup, Kl as id_index_in_obj_list, Io as index_in_list, Br as is_array, Hr as is_boolean, Xr as is_date, Zr as is_function, el as is_gobj, ho as is_html_markup, al as is_metadata_key, zr as is_null, qr as is_number, Yr as is_object, ul as is_private_key, Qr as is_pure_number, br as is_secret_name, Jr as is_string, oo as jdb_delete, so as jdb_get, ao as jdb_get_by_idx, io as jdb_get_topic, ro as jdb_init, lo as jdb_update, xo as json2flat, Ur as json_array_append, Fr as json_array_append_new, Gr as json_array_extend, Vr as json_array_remove, Wr as json_array_size, jr as json_deep_copy, $r as json_is_identical, Nr as json_mask_secrets, Cr as json_object_del, kr as json_object_get, Lr as json_object_set, Pr as json_object_set_new, Mr as json_object_size, Dr as json_object_update, Ar as json_object_update_existing, Ir as json_object_update_missing, xr as json_size, fo as jwt2json, co as jwtDecode, Il as kw_clone_by_keys, kl as kw_clone_by_not_keys, Al as kw_collect, pl as kw_delete, $l as kw_find_json_in_list, bl as kw_find_path, Vn as kw_flag_t, ml as kw_get_bool, vl as kw_get_dict, Ol as kw_get_dict_value, hl as kw_get_int, Sl as kw_get_list, Cl as kw_get_local_storage_value, Tl as kw_get_pointer, El as kw_get_real, yl as kw_get_str, cl as kw_has_key, Rl as kw_match_simple, _l as kw_pop, Pl as kw_remove_local_storage_value, Dl as kw_select, Nl as kw_set_dict_value, Ll as kw_set_local_storage_value, wl as kw_set_subdict_value, Fl as kwid_collect, Ml as kwid_find_one_record, Wl as kwid_get_ids, Ul as kwid_match_id, Vl as kwid_new_dict, Gl as kwid_new_list, xl as list2options, eo as load_json_file, ur as log_debug, ir as log_error, ar as log_info, sr as log_warning, yr as mask_secrets_inline, Zl as msg_iev_get_msg_type, Ql as msg_iev_get_stack, zl as msg_iev_push_stack, ql as msg_iev_read_key, Xl as msg_iev_set_msg_type, Hl as msg_iev_write_key, ko as node_uuid, nl as parseBoolean, jo as parseSVG, Ro as refresh_language, Qi as register_c_ievent_cli, di as register_c_timer, wi as register_c_yuno, bo as safeSrc, v as sdata_flag_t, to as send_http_json_post, zn as set_console_log_enabled, Xn as set_console_log_filter, qn as set_log_callback, rr as set_remote_log_functions, vo as set_strings_are_text, bi as set_timeout, pi as set_timeout_periodic, t as sprintf, i as stats_parser, Yl as str_in_list, ol as strcasecmp, ll as strcmp, Oo as strings_are_text, rl as strncmp, Bl as strs_in_list, sl as strstr, si as template_get_field_desc, $o as timeTracker, cr as trace_json, wr as trace_json_masked, B as trace_level_t, _r as trace_msg, ei as treedb_decoder_fkey, ni as treedb_decoder_hook, ti as treedb_encoder_fkey, ii as treedb_get_field_desc, Zo as treedb_hook_data_size, n as vsprintf, F as walk_type_t };
3703
3750
 
3704
3751
  //# sourceMappingURL=gobj-js.es.min.js.map