@yuneta/gobj-js 7.26.3 → 7.26.5

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.
@@ -666,7 +666,7 @@
666
666
  t.parent && hn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
667
667
  }
668
668
  function $e(e, t) {
669
- let n = el(e.dl_children, t);
669
+ let n = tl(e.dl_children, t);
670
670
  n >= 0 && (Hn(e.dl_children, n), t.parent = null);
671
671
  }
672
672
  function De(e, t) {
@@ -1098,7 +1098,7 @@
1098
1098
  if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", et(e), o.state_name, l && !l.running ? "!!" : "", et(l)));
1099
1099
  else {
1100
1100
  let r = "";
1101
- i.action && (r = nl(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1101
+ i.action && (r = rl(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1102
1102
  }
1103
1103
  r && q(e) && zn(r) && Un(r);
1104
1104
  }
@@ -1161,21 +1161,21 @@
1161
1161
  };
1162
1162
  }
1163
1163
  function Kt(e, t, n, r, l, o) {
1164
- let s = vr(t, l, "__config__", null), i = vr(t, l, "__global__", null), _ = vr(t, l, "__local__", null), a = jr(t, l, "__filter__", null), u = !0;
1165
- if (t && t !== Tr(null, e, "publisher", null) && (u = !1), o && o !== Tr(null, e, "subscriber", null) && (u = !1), n && n !== Er(null, e, "event", "") && (u = !1), r && r !== Er(null, e, "renamed_event", "") && (u = !1), Xn(s) > 0) {
1166
- let t = vr(null, e, "__config__", null);
1164
+ let s = jr(t, l, "__config__", null), i = jr(t, l, "__global__", null), _ = jr(t, l, "__local__", null), a = Or(t, l, "__filter__", null), u = !0;
1165
+ if (t && t !== vr(null, e, "publisher", null) && (u = !1), o && o !== vr(null, e, "subscriber", null) && (u = !1), n && n !== Tr(null, e, "event", "") && (u = !1), r && r !== Tr(null, e, "renamed_event", "") && (u = !1), Xn(s) > 0) {
1166
+ let t = jr(null, e, "__config__", null);
1167
1167
  Xn(t) > 0 && Vn(t, s) || (u = !1);
1168
1168
  }
1169
1169
  if (Xn(i) > 0) {
1170
- let t = vr(null, e, "__global__", null);
1170
+ let t = jr(null, e, "__global__", null);
1171
1171
  Xn(t) > 0 && Vn(t, i) || (u = !1);
1172
1172
  }
1173
1173
  if (Xn(_) > 0) {
1174
- let t = vr(null, e, "__local__", null);
1174
+ let t = jr(null, e, "__local__", null);
1175
1175
  Xn(t) > 0 && Vn(t, _) || (u = !1);
1176
1176
  }
1177
1177
  if (Xn(a) > 0) {
1178
- let t = jr(null, e, "__filter__", null);
1178
+ let t = Or(null, e, "__filter__", null);
1179
1179
  Xn(t) > 0 && Vn(t, a) || (u = !1);
1180
1180
  }
1181
1181
  return u;
@@ -1192,8 +1192,8 @@
1192
1192
  return e.indexOf(t);
1193
1193
  }
1194
1194
  function Jt(e, t, r, l) {
1195
- let o = Tr(e, t, "publisher", null, Zt.KW_REQUIRED), s = Tr(e, t, "subscriber", null, Zt.KW_REQUIRED), i = Er(e, t, "event", "", Zt.KW_REQUIRED);
1196
- if (!!(yr(e, t, "subs_flag", null, Zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1195
+ let o = vr(e, t, "publisher", null, Zt.KW_REQUIRED), s = vr(e, t, "subscriber", null, Zt.KW_REQUIRED), i = Tr(e, t, "event", "", Zt.KW_REQUIRED);
1196
+ if (!!(Er(e, t, "subs_flag", null, Zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1197
1197
  let _ = B(s) || B(o);
1198
1198
  if (Bt(o.dl_subscriptions, t) < 0) return _ && L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", et(o), et(s))), 1;
1199
1199
  _ && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), vn(t)), o.obflag & R.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
@@ -1215,7 +1215,7 @@
1215
1215
  }), ir(t)) t = "";
1216
1216
  else if (!(Ct(e, t, $.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return hn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
1217
1217
  let s = xt(r, t), i = Yt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, l), _ = null;
1218
- for (let t = 0; t < i.length; t++) if (yr(e, i[t], "subs_flag", 0, Zt.KW_REQUIRED) & Gt.__hard_subscription__) {
1218
+ for (let t = 0; t < i.length; t++) if (Er(e, i[t], "subs_flag", 0, Zt.KW_REQUIRED) & Gt.__hard_subscription__) {
1219
1219
  _ = i[t];
1220
1220
  break;
1221
1221
  }
@@ -1226,25 +1226,25 @@
1226
1226
  Bn(l, "event", t), Bn(l, "subscriber", r), Bn(l, "publisher", e);
1227
1227
  let o = 0;
1228
1228
  if (n) {
1229
- let r = vr(e, n, "__config__", null), s = vr(e, n, "__global__", null), i = vr(e, n, "__local__", null), _ = jr(e, n, "__filter__", null), a = Er(e, n, "__service__", "");
1229
+ let r = jr(e, n, "__config__", null), s = jr(e, n, "__global__", null), i = jr(e, n, "__local__", null), _ = Or(e, n, "__filter__", null), a = Tr(e, n, "__service__", "");
1230
1230
  if (Xn(s) > 0 && Bn(l, "__global__", Fn(s)), Xn(r) > 0) {
1231
1231
  let n = Fn(r);
1232
1232
  Bn(l, "__config__", n);
1233
- let s = Er(e, n, "__rename_event_name__", "");
1233
+ let s = Tr(e, n, "__rename_event_name__", "");
1234
1234
  if (!ir(s)) {
1235
1235
  let r = Mt(s);
1236
1236
  if (r) {
1237
1237
  Bn(l, "renamed_event", r.event_name), delete n.__rename_event_name__, o |= Gt.__rename_event_name__;
1238
- let s = vr(e, l, "__global__", null);
1238
+ let s = jr(e, l, "__global__", null);
1239
1239
  Zn(s) || (s = {}, Bn(l, "__global__", s)), s.__original_event_name__ = t;
1240
1240
  } else hn(`${et(e)}: EVENT NOT FOUND (__rename_event_name__: ${s})`);
1241
1241
  }
1242
1242
  if (gr(n, "__hard_subscription__")) {
1243
- let t = hr(e, n, "__hard_subscription__", !1);
1243
+ let t = yr(e, n, "__hard_subscription__", !1);
1244
1244
  Kn(n, "__hard_subscription__"), t && (o |= Gt.__hard_subscription__);
1245
1245
  }
1246
1246
  if (gr(n, "__own_event__")) {
1247
- let t = hr(e, n, "__own_event__", !1);
1247
+ let t = yr(e, n, "__own_event__", !1);
1248
1248
  Kn(n, "__own_event__"), t && (o |= Gt.__own_event__);
1249
1249
  }
1250
1250
  }
@@ -1288,15 +1288,15 @@
1288
1288
  if (n < 0) break;
1289
1289
  if (!n) continue;
1290
1290
  }
1291
- let u = Tr(e, a, "subscriber", null, Zt.KW_REQUIRED);
1291
+ let u = vr(e, a, "subscriber", null, Zt.KW_REQUIRED);
1292
1292
  if (!u || ot(u)) continue;
1293
- let c = yr(e, a, "subs_flag", 0, Zt.KW_REQUIRED), f = Er(e, a, "event", "", Zt.KW_REQUIRED);
1293
+ let c = Er(e, a, "subs_flag", 0, Zt.KW_REQUIRED), f = Tr(e, a, "event", "", Zt.KW_REQUIRED);
1294
1294
  if (ir(f) || 0 === ur(f, t)) {
1295
- vr(e, a, "__config__", null, 0);
1296
- let l = vr(e, a, "__global__", null, 0), s = vr(e, a, "__local__", null, 0), f = jr(e, a, "__filter__", null, 0), g = a.renamed_event;
1295
+ jr(e, a, "__config__", null, 0);
1296
+ let l = jr(e, a, "__global__", null, 0), s = jr(e, a, "__local__", null, 0), f = Or(e, a, "__filter__", null, 0), g = a.renamed_event;
1297
1297
  ir(g) && (g = t);
1298
1298
  let d = 1;
1299
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d = Nr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), vn(f))), d < 0) break;
1299
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d = Rr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), vn(f))), d < 0) break;
1300
1300
  if (!d) continue;
1301
1301
  let b = At(u, t, !0);
1302
1302
  if (b && b.event_flag & $.EVF_SYSTEM_EVENT && !It(u, b.event_name, 0)) continue;
@@ -1404,23 +1404,23 @@
1404
1404
  return n;
1405
1405
  }
1406
1406
  function hn(e, ...t) {
1407
- let n = mn(e, ...t), r = Zr();
1407
+ let n = mn(e, ...t), r = el();
1408
1408
  tn && (tn === en.error ? cn("error", n) && tn("%c" + r + " ERROR: " + String(n), "color:red") : (cn("error", n) && en.error("%c" + r + " ERROR: " + String(n), "color:red"), tn(`${r} ERROR: ${String(n)}`))), gn("error", n, r);
1409
1409
  }
1410
1410
  function yn(e, ...t) {
1411
- let n = mn(e, ...t), r = Zr();
1411
+ let n = mn(e, ...t), r = el();
1412
1412
  nn && (nn === en.warn ? cn("warning", n) && nn("%c" + r + " WARNING: " + String(n), "color:yellow") : (cn("warning", n) && en.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), nn(`${r} WARNING: ${String(n)}`))), gn("warning", n, r);
1413
1413
  }
1414
1414
  function En(e, ...t) {
1415
- let n = mn(e, ...t), r = Zr();
1415
+ let n = mn(e, ...t), r = el();
1416
1416
  ln && cn("debug", n) && ln("%c" + r + " DEBUG: " + String(n), "color:silver"), gn("debug", n, r);
1417
1417
  }
1418
1418
  function Tn(e, ...t) {
1419
- let n = mn(e, ...t), r = Zr();
1419
+ let n = mn(e, ...t), r = el();
1420
1420
  ln && cn("msg", n) && ln("%c" + r + " MSG: " + String(n), "color:cyan"), gn("msg", n, r);
1421
1421
  }
1422
1422
  function vn(e, t) {
1423
- cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, Zr());
1423
+ cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, el());
1424
1424
  }
1425
1425
  var jn = [
1426
1426
  "passw",
@@ -1729,7 +1729,12 @@
1729
1729
  configurable: !0
1730
1730
  }) : e[t] = n;
1731
1731
  }
1732
- function pr(e, t, n, r) {
1732
+ function pr(e, t) {
1733
+ if (!/^[0-9]+$/.test(t)) return -1;
1734
+ const n = Number(t);
1735
+ return n >= e.length ? -1 : n;
1736
+ }
1737
+ function mr(e, t, n, r) {
1733
1738
  e && !sr(e) && hn("GObj bad instanceof");
1734
1739
  const l = e ? `${et(e)}: ` : "";
1735
1740
  if (!Zn(t) && !er(t)) return void hn(`${l}kw must be list or dict: '${String(n)}'`);
@@ -1737,8 +1742,9 @@
1737
1742
  let o = n.split("`"), s = o.length;
1738
1743
  for (let e = 0; e < s; e++) {
1739
1744
  if (er(t)) {
1740
- if (!/^[0-9]+$/.test(o[e])) return void (r && hn(`${l}path not found: '${n}'`));
1741
- o[e] = String(Number(o[e]));
1745
+ const s = pr(t, o[e]);
1746
+ if (s < 0) return void (r && hn(`${l}path not found: '${n}'`));
1747
+ o[e] = String(s);
1742
1748
  }
1743
1749
  if (dr(t, o[e])) return void (r && hn(`${l}path not found: '${n}'`));
1744
1750
  if (e === s - 1) break;
@@ -1748,22 +1754,28 @@
1748
1754
  let i = t[o[s - 1]];
1749
1755
  return void 0 === i && r && hn(`${l}path not found: '${n}'`), i;
1750
1756
  }
1751
- function mr(e, t, n) {
1757
+ function hr(e, t, n) {
1752
1758
  e && !sr(e) && hn("GObj bad instanceof");
1753
1759
  let [r, l] = function(e, t) {
1754
1760
  let n = e.lastIndexOf(t);
1755
1761
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1756
1762
  }(n, "`");
1757
- return ir(l) ? Kn(t, n) : Kn(pr(e, t, r, !0), l), 0;
1763
+ if (ir(l)) Kn(t, n);
1764
+ else {
1765
+ let o = mr(e, t, r, !0);
1766
+ if (er(o)) return hn(`${e ? et(e) + ": " : ""}kw_delete(): cannot delete an item of a list: '${n}'`), -1;
1767
+ Kn(o, l);
1768
+ }
1769
+ return 0;
1758
1770
  }
1759
- function hr(e, t, n, r, l) {
1771
+ function yr(e, t, n, r, l) {
1760
1772
  e && !sr(e) && hn("GObj bad instanceof");
1761
- let o = pr(e, t, n, !1);
1773
+ let o = mr(e, t, n, !1);
1762
1774
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
1763
1775
  if (void 0 === o) {
1764
1776
  if (i && t) {
1765
1777
  let l = Boolean(r);
1766
- return Or(e, t, n, l), l;
1778
+ return Sr(e, t, n, l), l;
1767
1779
  }
1768
1780
  return s && (hn(`path not found: '${n}'`), Un(t)), Boolean(r);
1769
1781
  }
@@ -1775,16 +1787,16 @@
1775
1787
  if (!a || null !== o) return a ? (hn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Un(t), !1) : (hn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), Un(t), Boolean(r));
1776
1788
  u = !1;
1777
1789
  }
1778
- return _ && mr(e, t, n), u;
1790
+ return _ && hr(e, t, n), u;
1779
1791
  }
1780
- function yr(e, t, n, r, l) {
1792
+ function Er(e, t, n, r, l) {
1781
1793
  e && !sr(e) && hn("GObj bad instanceof");
1782
- let o = pr(e, t, n, !1);
1794
+ let o = mr(e, t, n, !1);
1783
1795
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
1784
1796
  if (void 0 === o) {
1785
1797
  if (i && t) {
1786
1798
  let l = parseInt(r);
1787
- return Or(e, t, n, l), l;
1799
+ return Sr(e, t, n, l), l;
1788
1800
  }
1789
1801
  return s && (hn(`path not found: '${n}'`), Un(t)), parseInt(r);
1790
1802
  }
@@ -1804,58 +1816,63 @@
1804
1816
  u = 0;
1805
1817
  }
1806
1818
  }
1807
- return _ && mr(e, t, n), u;
1819
+ return _ && hr(e, t, n), u;
1808
1820
  }
1809
- function Er(e, t, n, r, l) {
1821
+ function Tr(e, t, n, r, l) {
1810
1822
  e && !sr(e) && hn("GObj bad instanceof");
1811
- let o = pr(e, t, n, !1);
1823
+ let o = mr(e, t, n, !1);
1812
1824
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1813
- return void 0 === o ? i && t ? (Or(e, t, n, tr(r) ? r : null), r) : (s && !function(e, t) {
1825
+ return void 0 === o ? i && t ? (Sr(e, t, n, tr(r) ? r : null), r) : (s && !function(e, t) {
1814
1826
  let n = tr(t) ? t.split("`") : [], r = e;
1815
1827
  for (let e = 0; e < n.length - 1; e++) {
1816
1828
  if (!Zn(r) && !er(r)) return !1;
1817
1829
  r = r[n[e]];
1818
1830
  }
1819
1831
  return !(!Zn(r) && !er(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1820
- }(t, n) && (hn(`path not found: '${n}'`), Un(t)), r) : tr(o) ? (_ && mr(e, t, n), o) : (null !== o && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), Un(t)), r);
1832
+ }(t, n) && (hn(`path not found: '${n}'`), Un(t)), r) : tr(o) ? (_ && hr(e, t, n), o) : (null !== o && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), Un(t)), r);
1821
1833
  }
1822
- function Tr(e, t, n, r, l) {
1834
+ function vr(e, t, n, r, l) {
1823
1835
  e && !sr(e) && hn("GObj bad instanceof");
1824
- let o = pr(e, t, n, !1);
1836
+ let o = mr(e, t, n, !1);
1825
1837
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1826
1838
  if (void 0 === o) {
1827
1839
  if (i) {
1828
1840
  let l = r;
1829
- return Or(e, t, n, l), l;
1841
+ return Sr(e, t, n, l), l;
1830
1842
  }
1831
1843
  return s && (hn(`path not found: '${n}'`), Un(t)), r;
1832
1844
  }
1833
- return _ && mr(e, t, n), o;
1845
+ return _ && hr(e, t, n), o;
1834
1846
  }
1835
- function vr(e, t, n, r, l) {
1847
+ function jr(e, t, n, r, l) {
1836
1848
  e && !sr(e) && hn("GObj bad instanceof");
1837
- let o = pr(e, t, n, !1);
1849
+ let o = mr(e, t, n, !1);
1838
1850
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1839
- return void 0 === o ? i && Zn(r) && t ? (Or(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && mr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Un(t)), r);
1851
+ return void 0 === o ? i && Zn(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Un(t)), r);
1840
1852
  }
1841
- function jr(e, t, n, r, l) {
1853
+ function Or(e, t, n, r, l) {
1842
1854
  e && !sr(e) && hn("GObj bad instanceof");
1843
- let o = pr(e, t, n, !1);
1855
+ let o = mr(e, t, n, !1);
1844
1856
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1845
1857
  if (void 0 === o) {
1846
1858
  if (i) {
1847
1859
  let l = r;
1848
- return Or(e, t, n, l), l;
1860
+ return Sr(e, t, n, l), l;
1849
1861
  }
1850
1862
  return s && (hn(`path not found: '${n}'`), Un(t)), r;
1851
1863
  }
1852
- return _ && mr(e, t, n), o;
1864
+ return _ && hr(e, t, n), o;
1853
1865
  }
1854
- function Or(e, t, n, r) {
1866
+ function Sr(e, t, n, r) {
1855
1867
  if (e && !sr(e) && hn("GObj bad instanceof"), !Zn(t)) return hn("kw is not an object"), -1;
1856
1868
  let l = n.split("`"), o = l.length;
1857
1869
  for (let s = 0; s < o; s++) {
1858
1870
  let i = l[s];
1871
+ if (er(t)) {
1872
+ const r = pr(t, i);
1873
+ if (r < 0) return hn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not an index of its list: '${n}'`), -1;
1874
+ i = String(r);
1875
+ }
1859
1876
  if (s === o - 1) br(t, i, r);
1860
1877
  else {
1861
1878
  let r = dr(t, i) ? void 0 : t[i];
@@ -1866,18 +1883,18 @@
1866
1883
  }
1867
1884
  return 0;
1868
1885
  }
1869
- function Sr(e, t, n, r, l) {
1886
+ function wr(e, t, n, r, l) {
1870
1887
  if (e && !sr(e) && hn("GObj bad instanceof"), !Zn(t)) return hn("kw is not an object"), -1;
1871
- let o = vr(e, t, n, {}, Zt.KW_CREATE);
1888
+ let o = jr(e, t, n, {}, Zt.KW_CREATE);
1872
1889
  return Zn(o) ? (br(o, r, l), 0) : (hn("subdict is not an object"), -1);
1873
1890
  }
1874
- function wr(e, t, r) {
1891
+ function Nr(e, t, r) {
1875
1892
  let l = "", o = !1;
1876
1893
  if (er(t)) {
1877
1894
  o = !1;
1878
1895
  for (let s = 0; s < t.length; s++) {
1879
1896
  let i = t[s];
1880
- if (l = ir(r) ? n("%s", r) : n("%s`%d", r, s), o = wr(e, i, l), o) break;
1897
+ if (l = ir(r) ? n("%s", r) : n("%s`%d", r, s), o = Nr(e, i, l), o) break;
1881
1898
  }
1882
1899
  } else if (Zn(t)) {
1883
1900
  o = !0;
@@ -1885,10 +1902,10 @@
1885
1902
  for (let i = 0; i < s.length; i++) {
1886
1903
  let _ = s[i], a = t[_];
1887
1904
  if (l = ir(r) ? n("%s", _) : n("%s`%s", r, _), er(a) || Zn(a)) {
1888
- if (o = wr(e, a, l), !o) break;
1905
+ if (o = Nr(e, a, l), !o) break;
1889
1906
  continue;
1890
1907
  }
1891
- let u = jr(0, e, l, void 0, 0);
1908
+ let u = Or(0, e, l, void 0, 0);
1892
1909
  if (void 0 === u && (u = xn(e, l)), void 0 === u) {
1893
1910
  o = !1;
1894
1911
  break;
@@ -1901,10 +1918,10 @@
1901
1918
  }
1902
1919
  return o;
1903
1920
  }
1904
- function Nr(e, t) {
1905
- return 0 === Xn(t) || wr(e, t, "");
1921
+ function Rr(e, t) {
1922
+ return 0 === Xn(t) || Nr(e, t, "");
1906
1923
  }
1907
- function Rr(e, t, n, r) {
1924
+ function $r(e, t, n, r) {
1908
1925
  e && !sr(e) && hn("GObj bad instanceof");
1909
1926
  let l = {};
1910
1927
  if (tr(n) && !ir(n)) {
@@ -1920,7 +1937,7 @@
1920
1937
  }
1921
1938
  return l;
1922
1939
  }
1923
- function $r(e, t, n, r) {
1940
+ function Dr(e, t, n, r) {
1924
1941
  let l = {};
1925
1942
  if (!Zn(t)) return l;
1926
1943
  if (Gn(l, t), tr(n) && !ir(n)) {
@@ -1936,15 +1953,15 @@
1936
1953
  }
1937
1954
  return l;
1938
1955
  }
1939
- function Dr(e, t, n = !1) {
1956
+ function kr(e, t, n = !1) {
1940
1957
  if ("undefined" != typeof window && window.localStorage) try {
1941
1958
  let r = window.localStorage.getItem(e);
1942
- return null === r ? (n && kr(e, t), t) : JSON.parse(r);
1959
+ return null === r ? (n && Ar(e, t), t) : JSON.parse(r);
1943
1960
  } catch (n) {
1944
1961
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
1945
1962
  }
1946
1963
  }
1947
- function kr(e, t) {
1964
+ function Ar(e, t) {
1948
1965
  if ("undefined" == typeof window || !window.localStorage) return 0;
1949
1966
  if (!e || void 0 === t) return hn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1950
1967
  try {
@@ -1953,7 +1970,7 @@
1953
1970
  return hn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1954
1971
  }
1955
1972
  }
1956
- function Ar(e) {
1973
+ function Ir(e) {
1957
1974
  if ("undefined" != typeof window && window.localStorage) if (e) try {
1958
1975
  window.localStorage.removeItem(e);
1959
1976
  } catch (t) {
@@ -1961,7 +1978,7 @@
1961
1978
  }
1962
1979
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1963
1980
  }
1964
- function Ir(e, t) {
1981
+ function Cr(e, t) {
1965
1982
  if (lr(e) || lr(t)) return !0;
1966
1983
  if (er(e)) {
1967
1984
  if (0 === e.length) return !0;
@@ -1972,34 +1989,34 @@
1972
1989
  } else if (tr(e) && e === t) return !0;
1973
1990
  return !1;
1974
1991
  }
1975
- function Cr(e, t, n, r, l) {
1992
+ function Lr(e, t, n, r, l) {
1976
1993
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
1977
- l || (l = Nr);
1994
+ l || (l = Rr);
1978
1995
  let o = [];
1979
1996
  if (er(t)) for (let s = 0; s < t.length; s++) {
1980
1997
  let i, _ = t[s];
1981
- if (Zn(_)) i = Er(e, _, "id", "", 0);
1998
+ if (Zn(_)) i = Tr(e, _, "id", "", 0);
1982
1999
  else {
1983
2000
  if (!tr(_)) continue;
1984
2001
  i = _;
1985
2002
  }
1986
- Ir(n, i) && l(_, r) && o.push(_);
2003
+ Cr(n, i) && l(_, r) && o.push(_);
1987
2004
  }
1988
2005
  else {
1989
2006
  if (!Zn(t)) return hn("kw_collect() BAD kw parameter"), null;
1990
2007
  for (let e of Object.keys(t)) {
1991
2008
  let s = t[e];
1992
- Ir(n, e) && l(s, r) && o.push(s);
2009
+ Cr(n, e) && l(s, r) && o.push(s);
1993
2010
  }
1994
2011
  }
1995
2012
  return o;
1996
2013
  }
1997
- function Lr(e, t) {
2014
+ function Pr(e, t) {
1998
2015
  if (!e) return -1;
1999
2016
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
2000
2017
  return -1;
2001
2018
  }
2002
- function Pr(e, t, n) {
2019
+ function Ur(e, t, n) {
2003
2020
  if (!e || !t) return hn("ERROR: str_in_list() list or str empty"), !1;
2004
2021
  let r = e.length;
2005
2022
  if (n) {
@@ -2011,7 +2028,7 @@
2011
2028
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
2012
2029
  return !1;
2013
2030
  }
2014
- function Ur(e, t) {
2031
+ function Fr(e, t) {
2015
2032
  try {
2016
2033
  let n = e.__md_iev__;
2017
2034
  if (n) return n[t];
@@ -2019,34 +2036,34 @@
2019
2036
  return;
2020
2037
  }
2021
2038
  }
2022
- function Fr(e, t, n) {
2039
+ function Vr(e, t, n) {
2023
2040
  let r = e.__md_iev__;
2024
2041
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
2025
2042
  }
2026
- function Vr(e, t, n, r) {
2043
+ function Gr(e, t, n, r) {
2027
2044
  if (!sr(e)) return hn("gobj is not a GObj"), null;
2028
2045
  if (!t) return;
2029
- let l = Ur(t, n);
2030
- l || (l = [], Fr(t, n, l));
2046
+ let l = Fr(t, n);
2047
+ l || (l = [], Vr(t, n, l));
2031
2048
  try {
2032
2049
  er(l) && l.unshift(r);
2033
2050
  } catch (e) {
2034
2051
  hn(e);
2035
2052
  }
2036
2053
  }
2037
- function Gr(e, t, n, r) {
2054
+ function Mr(e, t, n, r) {
2038
2055
  if (!sr(e)) return hn("gobj is not a GObj"), null;
2039
2056
  if (!Zn(t)) return hn("kw is not a dict"), null;
2040
- let l = Ur(t, n);
2057
+ let l = Fr(t, n);
2041
2058
  return l ? 0 === l.length ? (r && hn(`stack empty: ${n}`), null) : l[0] : (r && hn(`stack NOT FOUND: ${n}`), null);
2042
2059
  }
2043
- function Mr(e, t, n) {
2044
- return ir(n) ? mr(e, t, "__md_iev__`__msg_type__") : Sr(e, t, "__md_iev__", "__msg_type__", n), 0;
2060
+ function Wr(e, t, n) {
2061
+ return ir(n) ? hr(e, t, "__md_iev__`__msg_type__") : wr(e, t, "__md_iev__", "__msg_type__", n), 0;
2045
2062
  }
2046
- function Wr(e, t) {
2047
- return Er(e, t, "__md_iev__`__msg_type__", "", 0);
2063
+ function xr(e, t) {
2064
+ return Tr(e, t, "__md_iev__`__msg_type__", "", 0);
2048
2065
  }
2049
- function xr(e, t, n) {
2066
+ function Kr(e, t, n) {
2050
2067
  void 0 !== n && tr(n) || (n = "");
2051
2068
  for (let r of Object.keys(e)) {
2052
2069
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
@@ -2056,10 +2073,10 @@
2056
2073
  r,
2057
2074
  e[r],
2058
2075
  n
2059
- ]), Zn(e[r]) && xr(e[r], t, n), n = n.slice(0, -l.length);
2076
+ ]), Zn(e[r]) && Kr(e[r], t, n), n = n.slice(0, -l.length);
2060
2077
  }
2061
2078
  }
2062
- function Kr(e, t, n, r) {
2079
+ function Yr(e, t, n, r) {
2063
2080
  if (!e) return null;
2064
2081
  let l, o = e.length;
2065
2082
  for (l = 0; l < o; l++) {
@@ -2068,14 +2085,14 @@
2068
2085
  let e = o.id;
2069
2086
  if (e && e === n) return o;
2070
2087
  if (r && gr(o, t)) {
2071
- let e = Kr(o[t], t, n, r);
2088
+ let e = Yr(o[t], t, n, r);
2072
2089
  if (e) return e;
2073
2090
  }
2074
2091
  }
2075
2092
  }
2076
2093
  return null;
2077
2094
  }
2078
- function Yr(e) {
2095
+ function Br(e) {
2079
2096
  function t(e) {
2080
2097
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2081
2098
  switch (t.length % 4) {
@@ -2106,10 +2123,10 @@
2106
2123
  signature: t(n[2])
2107
2124
  };
2108
2125
  }
2109
- function Br(e) {
2126
+ function Jr(e) {
2110
2127
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2111
2128
  }
2112
- var Jr = class {
2129
+ var qr = class {
2113
2130
  constructor(e) {
2114
2131
  this.html = e, Object.freeze(this);
2115
2132
  }
@@ -2117,41 +2134,41 @@
2117
2134
  return this.html;
2118
2135
  }
2119
2136
  };
2120
- function qr(e) {
2121
- return e instanceof Jr;
2122
- }
2123
2137
  function Hr(e) {
2138
+ return e instanceof qr;
2139
+ }
2140
+ function zr(e) {
2124
2141
  const t = document.createElement("template");
2125
2142
  return t.innerHTML = e.html.trim(), t.content;
2126
2143
  }
2127
- var zr = !1, Qr = /* @__PURE__ */ new Set();
2128
- function Xr(e) {
2144
+ var Qr = !1, Xr = /* @__PURE__ */ new Set();
2145
+ function Zr(e) {
2129
2146
  const t = document.createElement("template");
2130
2147
  return t.innerHTML = e.trim(), t.content.firstChild;
2131
2148
  }
2132
- function Zr(e) {
2149
+ function el(e) {
2133
2150
  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();
2134
2151
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2135
2152
  }
2136
- function el(e, t) {
2153
+ function tl(e, t) {
2137
2154
  if (!e) throw "ERROR: index_in_list() list empty";
2138
2155
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2139
2156
  return -1;
2140
2157
  }
2141
- function tl() {
2158
+ function nl() {
2142
2159
  let e = "";
2143
2160
  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;
2144
2161
  }
2145
- function nl(e) {
2162
+ function rl(e) {
2146
2163
  let t = null;
2147
2164
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2148
2165
  }
2149
- var rl = 256, ll = 1e5;
2150
- function ol(e) {
2166
+ var ll = 256, ol = 1e5;
2167
+ function sl(e) {
2151
2168
  const t = String(e).replace(/`/g, "``");
2152
2169
  return "[" === t[0] ? "[" + t : t;
2153
2170
  }
2154
- function sl(e) {
2171
+ function il(e) {
2155
2172
  if ("string" != typeof e) return null;
2156
2173
  let t = [], n = "";
2157
2174
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2172,13 +2189,13 @@
2172
2189
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2173
2190
  });
2174
2191
  }
2175
- function il(e, t) {
2192
+ function _l(e, t) {
2176
2193
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2177
2194
  }
2178
- function _l(e) {
2195
+ function al(e) {
2179
2196
  return "persistent-attrs-" + et(e);
2180
2197
  }
2181
- function al(e, t) {
2198
+ function ul(e, t) {
2182
2199
  if (tr(t)) {
2183
2200
  if (-1 === t.indexOf("^")) {
2184
2201
  let n, r, l = e.fkey;
@@ -2208,7 +2225,7 @@
2208
2225
  hook_name: t.hook_name
2209
2226
  } : (hn("bad fkey 3"), hn(e), hn(t), null);
2210
2227
  }
2211
- var ul = [
2228
+ var cl = [
2212
2229
  "string",
2213
2230
  "integer",
2214
2231
  "object",
@@ -2218,7 +2235,7 @@
2218
2235
  "real",
2219
2236
  "boolean",
2220
2237
  "blob"
2221
- ], cl = [
2238
+ ], fl = [
2222
2239
  "persistent",
2223
2240
  "required",
2224
2241
  "notnull",
@@ -2230,7 +2247,7 @@
2230
2247
  "stats",
2231
2248
  "rstats",
2232
2249
  "pstats"
2233
- ], fl = [
2250
+ ], gl = [
2234
2251
  "hook",
2235
2252
  "fkey",
2236
2253
  "enum",
@@ -2259,7 +2276,7 @@
2259
2276
  "coordinates",
2260
2277
  "gbuffer"
2261
2278
  ];
2262
- function gl(e) {
2279
+ function dl(e) {
2263
2280
  let t = {
2264
2281
  name: e.id,
2265
2282
  header: e.header,
@@ -2278,7 +2295,7 @@
2278
2295
  if (!e.flag) return t;
2279
2296
  for (let n = 0; n < e.flag.length; n++) {
2280
2297
  let r = e.flag[n];
2281
- if (Pr(fl, r)) {
2298
+ if (Ur(gl, r)) {
2282
2299
  switch (r) {
2283
2300
  case "enum":
2284
2301
  t.enum_list = e.enum;
@@ -2292,7 +2309,7 @@
2292
2309
  case "file": t.is_file = !0;
2293
2310
  }
2294
2311
  t.type = r;
2295
- } else if (Pr(cl, r)) switch (r) {
2312
+ } else if (Ur(fl, r)) switch (r) {
2296
2313
  case "writable":
2297
2314
  t.is_writable = !0;
2298
2315
  break;
@@ -2305,23 +2322,23 @@
2305
2322
  }
2306
2323
  return t.is_file && (t.type = "file"), t;
2307
2324
  }
2308
- var dl = [
2325
+ var bl = [
2309
2326
  j(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2310
2327
  j(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2311
2328
  j(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2312
2329
  v()
2313
- ], bl = {
2330
+ ], pl = {
2314
2331
  periodic: !1,
2315
2332
  msec: 0,
2316
2333
  timer_id: -1
2317
- }, pl = null;
2318
- function ml(e, t, n, r) {
2334
+ }, ml = null;
2335
+ function hl(e, t, n, r) {
2319
2336
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2320
2337
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2321
2338
  Vt(e, "EV_TIMEOUT", {}, e);
2322
2339
  }, l.msec) : l.timer_id = -1, lt(e) ? Vt(nt(e), o, {}, e) : Xt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ve(e), 0;
2323
2340
  }
2324
- var hl = {
2341
+ var yl = {
2325
2342
  mt_create: function(e) {
2326
2343
  let t = e.priv;
2327
2344
  const n = Ot(e, "subscriber");
@@ -2346,16 +2363,16 @@
2346
2363
  },
2347
2364
  mt_destroy: function(e) {}
2348
2365
  };
2349
- function yl(e, t) {
2366
+ function El(e, t) {
2350
2367
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void Rt(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2351
2368
  }
2352
- function El(e, t) {
2369
+ function Tl(e, t) {
2353
2370
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void Rt(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2354
2371
  }
2355
- function Tl(e) {
2372
+ function vl(e) {
2356
2373
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void Rt(e, "msec", -1) : (hn("not GObj TYPE"), -1);
2357
2374
  }
2358
- var vl = [
2375
+ var jl = [
2359
2376
  j(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2360
2377
  j(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2361
2378
  j(y.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2375,26 +2392,26 @@
2375
2392
  j(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2376
2393
  j(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2377
2394
  v()
2378
- ], jl = { gobj_timer: null }, Ol = null;
2379
- function Sl(e, t, n, r) {
2395
+ ], Ol = { gobj_timer: null }, Sl = null;
2396
+ function wl(e, t, n, r) {
2380
2397
  let l = yt(e, t);
2381
2398
  return Zn(l) || (l = {}), l[n] = r, St(e, t, l), De(e, t);
2382
2399
  }
2383
- function wl(e) {
2400
+ function Nl(e) {
2384
2401
  if (!0 === e || !1 === e) return e;
2385
2402
  let t = String(null == e ? "" : e).toLowerCase();
2386
2403
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2387
2404
  }
2388
- function Nl() {
2405
+ function Rl() {
2389
2406
  return `${ze()}^${He()}`;
2390
2407
  }
2391
- function Rl(e, t, n, r) {
2408
+ function $l(e, t, n, r) {
2392
2409
  return Xt(e, t, n), 0;
2393
2410
  }
2394
- var $l = {
2411
+ var Dl = {
2395
2412
  mt_create: function(e) {
2396
2413
  let t = e.priv;
2397
- $t(e, "start_date", Zr()), $t(e, "node_uuid", tl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2414
+ $t(e, "start_date", el()), $t(e, "node_uuid", nl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2398
2415
  let t = yt(e, "trace_levels");
2399
2416
  if (!Zn(t)) return 0;
2400
2417
  let n = t.__global_trace__;
@@ -2428,10 +2445,10 @@
2428
2445
  },
2429
2446
  mt_writing: function(e, t) {},
2430
2447
  mt_start: function(e) {
2431
- return El(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2448
+ return Tl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2432
2449
  },
2433
2450
  mt_stop: function(e) {
2434
- return Tl(e.priv.gobj_timer), Me(e), 0;
2451
+ return vl(e.priv.gobj_timer), Me(e), 0;
2435
2452
  },
2436
2453
  mt_destroy: function(e) {},
2437
2454
  mt_play: function(e) {
@@ -2448,24 +2465,24 @@
2448
2465
  case "get-global-no-trace": return l(0, 0, null, null, ne());
2449
2466
  case "set-global-trace":
2450
2467
  case "set-global-no-trace": {
2451
- let r = "set-global-no-trace" === t, o = n.level, s = wl(n.set);
2452
- return o ? null === s ? l(0, -1, `${Nl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${Nl()}: global trace level not found: ${o}`, null, null) : r ? (Sl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (Sl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Nl()}: what level?`, null, null);
2468
+ let r = "set-global-no-trace" === t, o = n.level, s = Nl(n.set);
2469
+ return o ? null === s ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${Rl()}: global trace level not found: ${o}`, null, null) : r ? (wl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (wl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Rl()}: what level?`, null, null);
2453
2470
  }
2454
2471
  case "get-gclass-trace":
2455
2472
  case "get-gclass-no-trace":
2456
2473
  case "set-gclass-trace":
2457
2474
  case "set-gclass-no-trace": {
2458
2475
  let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
2459
- if (!s) return l(0, -1, `${Nl()}: what gclass is '${o}'?`, null, null);
2476
+ if (!s) return l(0, -1, `${Rl()}: what gclass is '${o}'?`, null, null);
2460
2477
  if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
2461
- let i = n.level, _ = wl(n.set);
2462
- return i ? null === _ ? l(0, -1, `${Nl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${Nl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (Sl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (Sl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Nl()}: what level?`, null, null);
2478
+ let i = n.level, _ = Nl(n.set);
2479
+ return i ? null === _ ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${Rl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (wl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (wl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Rl()}: what level?`, null, null);
2463
2480
  }
2464
- default: return l(0, -1, `${Nl()}: command not available: ${t}`, null, null);
2481
+ default: return l(0, -1, `${Rl()}: command not available: ${t}`, null, null);
2465
2482
  }
2466
2483
  }
2467
2484
  };
2468
- var Dl = "ievent_gate_stack", kl = [
2485
+ var kl = "ievent_gate_stack", Al = [
2469
2486
  j(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2470
2487
  j(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2471
2488
  j(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
@@ -2482,15 +2499,15 @@
2482
2499
  j(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2483
2500
  j(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2484
2501
  v()
2485
- ], Al = [
2502
+ ], Il = [
2486
2503
  ["ievents", "Trace inter-events with metadata of kw"],
2487
2504
  ["ievents2", "Trace inter-events with full kw"],
2488
2505
  ["identity-card", "Trace identity_card messages"]
2489
2506
  ];
2490
- function Il(e) {
2507
+ function Cl(e) {
2491
2508
  return !!(3 & x(e));
2492
2509
  }
2493
- var Cl = {
2510
+ var Ll = {
2494
2511
  url: null,
2495
2512
  remote_yuno_name: null,
2496
2513
  remote_yuno_role: null,
@@ -2500,8 +2517,8 @@
2500
2517
  websocket: null,
2501
2518
  inside_on_open: !1,
2502
2519
  retry_ms: 0
2503
- }, Ll = null;
2504
- function Pl(e) {
2520
+ }, Pl = null;
2521
+ function Ul(e) {
2505
2522
  e.priv.websocket && hn("Websocket ALREADY setup");
2506
2523
  const t = jt(e, "url");
2507
2524
  En(`====> Starting WebSocket to '${t}' (${et(e)})`);
@@ -2516,7 +2533,7 @@
2516
2533
  code: 1006,
2517
2534
  reason: r.message,
2518
2535
  was_clean: !1
2519
- }, e), null;
2536
+ }, e) < 0 && El(e.priv.gobj_timer, ql(e)), null;
2520
2537
  }
2521
2538
  return r ? (r.onopen = () => {
2522
2539
  n !== e.priv.ws_seq || ot(e) || Vt(e, "EV_ON_OPEN", {
@@ -2538,7 +2555,7 @@
2538
2555
  }, e));
2539
2556
  }, r) : (hn(`${et(e)}: Failed to initialize WebSocket.`), null);
2540
2557
  }
2541
- function Ul(e, t = 1e3, n = "") {
2558
+ function Fl(e, t = 1e3, n = "") {
2542
2559
  let r = e.priv, l = r.websocket;
2543
2560
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
2544
2561
  En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2549,25 +2566,25 @@
2549
2566
  }
2550
2567
  } else yn("WebSocket is already closed or in the process of closing.");
2551
2568
  }
2552
- function Fl(e, t, n) {
2553
- let r = Zr();
2569
+ function Vl(e, t, n) {
2570
+ let r = el();
2554
2571
  try {
2555
2572
  En("\n" + r + " " + t + "\n"), Un(n);
2556
2573
  } catch (e) {
2557
2574
  En("ERROR in trace_inter_event: " + e);
2558
2575
  }
2559
2576
  }
2560
- var Vl = class {
2577
+ var Gl = class {
2561
2578
  constructor(e, t) {
2562
2579
  this.event = e, this.kw = t || {};
2563
2580
  }
2564
2581
  };
2565
- function Gl(e, t, n, r) {
2582
+ function Ml(e, t, n, r) {
2566
2583
  return function(e, t) {
2567
2584
  let n = e.priv, r = JSON.stringify(t);
2568
- if (Il(e)) {
2585
+ if (Cl(e)) {
2569
2586
  let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = yt(qe(), "trace_ievent_callback");
2570
- o ? o(l, t, 1, r.length) : Fl(0, l, t);
2587
+ o ? o(l, t, 1, r.length) : Vl(0, l, t);
2571
2588
  }
2572
2589
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return yn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2573
2590
  try {
@@ -2577,10 +2594,10 @@
2577
2594
  }
2578
2595
  return 0;
2579
2596
  }(e, function(e, t) {
2580
- return ir(e) ? (hn("iev_create() event NULL"), null) : new Vl(e, t);
2597
+ return ir(e) ? (hn("iev_create() event NULL"), null) : new Gl(e, t);
2581
2598
  }(t, n));
2582
2599
  }
2583
- function Ml(e, t, n) {
2600
+ function Wl(e, t, n) {
2584
2601
  return ir(n) && (n = jt(e, "wanted_yuno_service")), {
2585
2602
  dst_yuno: jt(e, "wanted_yuno_name"),
2586
2603
  dst_role: jt(e, "wanted_yuno_role"),
@@ -2588,10 +2605,10 @@
2588
2605
  src_yuno: He(),
2589
2606
  src_role: ze(),
2590
2607
  src_service: t,
2591
- host: tl()
2608
+ host: nl()
2592
2609
  };
2593
2610
  }
2594
- function Wl(e) {
2611
+ function xl(e) {
2595
2612
  let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i = yt(e, "required_services");
2596
2613
  i && i.length || (i = yt(qe(), "required_services"));
2597
2614
  let _ = {
@@ -2609,27 +2626,27 @@
2609
2626
  username: jt(qe(), "__username__"),
2610
2627
  launch_id: 0,
2611
2628
  yuno_startdate: jt(qe(), "start_date"),
2612
- id: tl(),
2629
+ id: nl(),
2613
2630
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2614
2631
  language: "undefined" != typeof window ? window.navigator.language : "",
2615
2632
  required_services: i
2616
2633
  };
2617
- return Vr(e, _, Dl, Ml(e, Xe(nt(e)), null)), Mr(e, _, "__identity__"), yl(t.gobj_timer, vt(e, "timeout_idack")), Gl(e, "EV_IDENTITY_CARD", _);
2634
+ return Gr(e, _, kl, Wl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), El(t.gobj_timer, vt(e, "timeout_idack")), Ml(e, "EV_IDENTITY_CARD", _);
2618
2635
  }
2619
- function xl(e, t) {
2636
+ function Kl(e, t) {
2620
2637
  if (ir(t.event)) return -1;
2621
2638
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, i = t.subscriber;
2622
2639
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
2623
- return Vr(e, n, Dl, Ml(e, Xe(i), s)), Mr(e, n, "__subscribing__"), Gl(e, t.event, n);
2624
- }
2625
- function Kl(e, t, n, r) {
2626
- let l = e.priv;
2627
- return Ke(e) && (l.websocket = Pl(e)), 0;
2640
+ return Gr(e, n, kl, Wl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Ml(e, t.event, n);
2628
2641
  }
2629
2642
  function Yl(e, t, n, r) {
2630
- return En("Websocket opened: " + e.priv.url), Wl(e), 0;
2643
+ let l = e.priv;
2644
+ return Ke(e) && (l.websocket = Ul(e)), 0;
2631
2645
  }
2632
2646
  function Bl(e, t, n, r) {
2647
+ return En("Websocket opened: " + e.priv.url), xl(e), 0;
2648
+ }
2649
+ function Jl(e, t, n, r) {
2633
2650
  let l = e.priv, o = n.url;
2634
2651
  return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (bn(), yn(`${et(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, Xt(e, "EV_ON_CLOSE", {
2635
2652
  url: o,
@@ -2644,25 +2661,25 @@
2644
2661
  code: n.code,
2645
2662
  reason: n.reason,
2646
2663
  was_clean: n.was_clean
2647
- })), Ke(e) && yl(l.gobj_timer, function(e) {
2648
- let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2649
- r < n && (r = n);
2650
- t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2651
- let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2652
- return Math.max(1, Math.round(o));
2653
- }(e))), 0;
2664
+ })), Ke(e) && El(l.gobj_timer, ql(e))), 0;
2654
2665
  }
2655
- function Jl(e, t, n, r) {
2656
- return Wl(e), 0;
2666
+ function ql(e) {
2667
+ let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2668
+ r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2669
+ let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2670
+ return Math.max(1, Math.round(o));
2671
+ }
2672
+ function Hl(e, t, n, r) {
2673
+ return xl(e), 0;
2657
2674
  }
2658
- function ql(e, t, n, r) {
2675
+ function zl(e, t, n, r) {
2659
2676
  let l = e.priv;
2660
- Tl(l.gobj_timer);
2661
- let o = Gr(e, n, Dl, !0), s = Er(e, o, "src_yuno", ""), i = Er(e, o, "src_role", ""), _ = Er(e, o, "src_service", "");
2677
+ vl(l.gobj_timer);
2678
+ let o = Mr(e, n, kl, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2662
2679
  $t(e, "remote_yuno_name", s), $t(e, "remote_yuno_role", i), $t(e, "remote_yuno_service", _);
2663
- let a = yr(e, n, "result", -1, 0), u = Er(e, n, "comment", "", 0), c = Er(e, n, "username", "", 0), f = jr(e, n, "services_roles", {});
2680
+ let a = Er(e, n, "result", -1, 0), u = Tr(e, n, "comment", "", 0), c = Tr(e, n, "username", "", 0), f = Or(e, n, "services_roles", {});
2664
2681
  if (a < 0) {
2665
- Ul(e);
2682
+ Fl(e);
2666
2683
  let t = {
2667
2684
  url: jt(e, "url"),
2668
2685
  result: a,
@@ -2687,12 +2704,12 @@
2687
2704
  }
2688
2705
  l.inside_on_open = !1, function(e) {
2689
2706
  let t = zt(e, null, null, null);
2690
- for (let n = 0; n < t.length; n++) xl(e, t[n]);
2707
+ for (let n = 0; n < t.length; n++) Kl(e, t[n]);
2691
2708
  }(e);
2692
2709
  }
2693
2710
  return 0;
2694
2711
  }
2695
- function Hl(e, t, n, r) {
2712
+ function Ql(e, t, n, r) {
2696
2713
  let l = e.priv.url, o = function(e, t) {
2697
2714
  let n;
2698
2715
  try {
@@ -2711,21 +2728,21 @@
2711
2728
  } : (yn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (yn(`${et(e)}: parsing inter_kw: no kw`), null);
2712
2729
  }(e, n.data);
2713
2730
  if (!o) return yn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
2714
- if (Il(e)) {
2731
+ if (Cl(e)) {
2715
2732
  let e = Xe(qe()) + " <== " + l, t = n.data.length, r = yt(qe(), "trace_ievent_callback");
2716
- r ? r(e, o, 2, t) : Fl(0, e, o);
2733
+ r ? r(e, o, 2, t) : Vl(0, e, o);
2717
2734
  }
2718
2735
  let s = o.event, i = o.kw;
2719
2736
  if ("ST_SESSION" !== kt(e)) {
2720
2737
  if (It(e, s, $.EVF_PUBLIC_EVENT)) {
2721
2738
  if (!(Vt(e, s, i, e) < 0)) return 0;
2722
2739
  } else hn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2723
- return Ul(e), -1;
2740
+ return Fl(e), -1;
2724
2741
  }
2725
2742
  o = null;
2726
- let _ = Wr(e, i), a = Gr(e, i, Dl), u = Er(e, a, "dst_role", "");
2743
+ let _ = xr(e, i), a = Mr(e, i, kl), u = Tr(e, a, "dst_role", "");
2727
2744
  if (u.toLowerCase() !== ze().toLowerCase()) return hn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2728
- let c = Er(e, a, "dst_service", "");
2745
+ let c = Tr(e, a, "dst_service", "");
2729
2746
  if ("__subscribing__" === _) return yn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2730
2747
  if ("__unsubscribing__" === _) return yn(`${et(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2731
2748
  if (It(e, s, $.EVF_PUBLIC_EVENT)) return Vt(e, s, i, e), 0;
@@ -2735,13 +2752,13 @@
2735
2752
  }
2736
2753
  return lt(e) ? Vt(nt(e), s, i, e) : Xt(e, s, i), 0;
2737
2754
  }
2738
- function zl(e, t, n, r) {
2755
+ function Xl(e, t, n, r) {
2739
2756
  return 0;
2740
2757
  }
2741
- function Ql(e, t, n, r) {
2758
+ function Zl(e, t, n, r) {
2742
2759
  return 0;
2743
2760
  }
2744
- var Xl = {
2761
+ var eo = {
2745
2762
  mt_create: function(e) {
2746
2763
  let t = e.priv;
2747
2764
  t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), $t(e, "wanted_yuno_name", t.remote_yuno_name), $t(e, "wanted_yuno_role", t.remote_yuno_role), $t(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2771,43 +2788,43 @@
2771
2788
  code: 1e3,
2772
2789
  reason: "restarted",
2773
2790
  was_clean: !0
2774
- }, e), Tl(t.gobj_timer)), t.websocket = Pl(e), 0;
2791
+ }, e), vl(t.gobj_timer)), t.websocket = Ul(e), 0;
2775
2792
  },
2776
2793
  mt_stop: function(e) {
2777
2794
  let t = e.priv;
2778
- return Tl(t.gobj_timer), t.websocket && Ul(e), 0;
2795
+ return vl(t.gobj_timer), t.websocket && Fl(e), 0;
2779
2796
  },
2780
2797
  mt_destroy: function(e) {},
2781
2798
  mt_stats: function(e, t, n, r) {
2782
2799
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2783
2800
  n || (n = {});
2784
- let l = Ml(e, Xe(r), Er(e, n, "service", null, 0)), o = jr(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2785
- return o || (o = {}), Vr(e, n, "stats_stack", {
2801
+ let l = Wl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2802
+ return o || (o = {}), Gr(e, n, "stats_stack", {
2786
2803
  stats: t,
2787
2804
  kw: o
2788
- }), Vr(e, n, Dl, l), n.__stats__ = t, Mr(e, n, "__stats__"), Gl(e, "EV_MT_STATS", n, r), null;
2805
+ }), Gr(e, n, kl, l), n.__stats__ = t, Wr(e, n, "__stats__"), Ml(e, "EV_MT_STATS", n, r), null;
2789
2806
  },
2790
2807
  mt_command_parser: function(e, t, n, r) {
2791
2808
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2792
2809
  n || (n = {});
2793
- let l = Ml(e, Xe(r), Er(e, n, "service", "", 0)), o = jr(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2794
- return o || (o = {}), Vr(e, n, "command_stack", {
2810
+ let l = Wl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2811
+ return o || (o = {}), Gr(e, n, "command_stack", {
2795
2812
  command: t,
2796
2813
  kw: o
2797
- }), Vr(e, n, Dl, l), n.__command__ = t, Mr(e, n, "__command__"), Gl(e, "EV_MT_COMMAND", n, r), null;
2814
+ }), Gr(e, n, kl, l), n.__command__ = t, Wr(e, n, "__command__"), Ml(e, "EV_MT_COMMAND", n, r), null;
2798
2815
  },
2799
2816
  mt_inject_event: function(e, t, n, r) {
2800
2817
  if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2801
- if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Gr(e, n, Dl));
2818
+ if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, kl));
2802
2819
  else {
2803
- let l = Ml(e, Xe(r), Er(e, n, "__service__", 0, 0));
2804
- Kn(n, "__service__"), Vr(e, n, "__message__", t), Vr(e, n, Dl, l);
2820
+ let l = Wl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2821
+ Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, kl, l);
2805
2822
  }
2806
- return Mr(e, n, "__message__"), Gl(e, t, n, r);
2823
+ return Wr(e, n, "__message__"), Ml(e, t, n, r);
2807
2824
  },
2808
2825
  mt_subscription_added: function(e, t) {
2809
2826
  let n = e.priv;
2810
- return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : xl(e, t) : 0;
2827
+ return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Kl(e, t) : 0;
2811
2828
  },
2812
2829
  mt_subscription_deleted: function(e, t) {
2813
2830
  let n = e.priv;
@@ -2816,7 +2833,7 @@
2816
2833
  if (ir(t.event)) return 0;
2817
2834
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
2818
2835
  o && (r.__config__ = o), l && (r.__global__ = l), s && (r.__filter__ = s);
2819
- return Vr(e, r, Dl, Ml(e, Xe(_), i)), Mr(e, r, "__unsubscribing__"), Gl(e, t.event, r, e);
2836
+ return Gr(e, r, kl, Wl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Ml(e, t.event, r, e);
2820
2837
  }
2821
2838
  };
2822
2839
  e.GObj = S, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, l, o) => new T(e, t, n, null, o, r, null, 0, null, l, null), e.SDATACM = (e, t, n, r, l, o) => new T(e, t, 0, null, o, n, null, 0, l, r, null), e.SDATACM2 = (e, t, n, r, l, o, s) => new T(e, t, n, null, s, r, null, 0, o, l, null), e.SDATADF = (e, t, n, r, l, o) => new T(e, t, n, null, o, null, r, l), e.SDATAPM = (e, t, n, r, l) => new T(e, t, n, r, l), e.SDATAPM0 = (e, t, n, r, l) => new T(e, t, n, null, l, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
@@ -2830,7 +2847,7 @@
2830
2847
  return t;
2831
2848
  }, e.build_stats_response = o, e.clean_name = function(e) {
2832
2849
  return e.replace(/[?# ^:]/g, "_");
2833
- }, e.clear_timeout = Tl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2850
+ }, e.clear_timeout = vl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2834
2851
  let [r, l, o, s] = t;
2835
2852
  if (!r) return void hn("Tag must be a valid HTML element.");
2836
2853
  let i = document.createElement(r), _ = "";
@@ -2839,21 +2856,21 @@
2839
2856
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2840
2857
  i.style.cssText = t;
2841
2858
  } else "style" === e ? i.style.cssText = l[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== l[e] && void 0 !== l[e] && (_ = l[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, l[e]);
2842
- if (qr(o)) i.appendChild(Hr(o));
2843
- else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !zr) i.appendChild(Xr(o));
2859
+ if (Hr(o)) i.appendChild(zr(o));
2860
+ else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Qr) i.appendChild(Zr(o));
2844
2861
  else if (o.length > 0 && "<" === o[0] && function(e) {
2845
- if (Qr.size >= 100) return;
2862
+ if (Xr.size >= 100) return;
2846
2863
  const t = e.slice(0, 80);
2847
- Qr.has(t) || (Qr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2864
+ Xr.has(t) || (Xr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2848
2865
  }(o), n && _) i.textContent = n(_) || o;
2849
2866
  else i.textContent = o;
2850
2867
  else if (er(o)) {
2851
2868
  if (o.length > 0) if (tr(o[0])) i.appendChild(e(o, n));
2852
- else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : qr(t) ? i.appendChild(Hr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2869
+ else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Hr(t) ? i.appendChild(zr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2853
2870
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (hn("content ignored"), vn(o));
2854
2871
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
2855
2872
  return i;
2856
- }, e.createOneHtml = Xr, e.create_json_record = function(e, t) {
2873
+ }, e.createOneHtml = Zr, e.create_json_record = function(e, t) {
2857
2874
  let n = Fn(e);
2858
2875
  return Mn(n, t), n;
2859
2876
  }, e.create_template_record = function(e, t) {
@@ -2861,24 +2878,24 @@
2861
2878
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2862
2879
  let l;
2863
2880
  Zn(r) && (l = r.default);
2864
- let o = jr(null, t, e, l);
2865
- n[e] = o;
2881
+ let o = Or(null, t, e, l);
2882
+ Yn(n, e, o);
2866
2883
  }), n;
2867
- }, e.current_timestamp = Zr, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2868
- let n = Dr(_l(e), null, !1), r = {};
2869
- return n && Zn(n) && (r = Rr(e, n, t, !1)), r;
2884
+ }, e.current_timestamp = el, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2885
+ let n = kr(al(e), null, !1), r = {};
2886
+ return n && Zn(n) && (r = $r(e, n, t, !1)), r;
2870
2887
  }, e.db_load_persistent_attrs = function(e, t) {
2871
- let n = Et(e, E.SDF_PERSIST), r = Dr(_l(e), null, !1);
2888
+ let n = Et(e, E.SDF_PERSIST), r = kr(al(e), null, !1);
2872
2889
  if (r && Zn(r)) {
2873
- let l = Rr(e, r, t, !1);
2874
- l = Rr(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2890
+ let l = $r(e, r, t, !1);
2891
+ l = $r(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2875
2892
  }
2876
2893
  }, e.db_remove_persistent_attrs = function(e, t) {
2877
- let n = $r(e, Dr(_l(e), null, !1), t, !1);
2878
- 0 === zn(n) ? Ar(_l(e)) : kr(_l(e), n);
2894
+ let n = Dr(e, kr(al(e), null, !1), t, !1);
2895
+ 0 === zn(n) ? Ir(al(e)) : Ar(al(e), n);
2879
2896
  }, e.db_save_persistent_attrs = function(e, t) {
2880
- let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = Dr(_l(e), null, !1);
2881
- return r && Zn(r) && Wn(n, r), kr(_l(e), n);
2897
+ let n = $r(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(al(e), null, !1);
2898
+ return r && Zn(r) && Wn(n, r), Ar(al(e), n);
2882
2899
  }, e.debounce = function(e, t = 0, n = !1) {
2883
2900
  let r = null, l = null, o = null;
2884
2901
  const s = (...s) => {
@@ -2902,20 +2919,20 @@
2902
2919
  return t;
2903
2920
  }, e.empty_json = function(e) {
2904
2921
  return 0 === Xn(e);
2905
- }, e.empty_string = ir, e.escapeHtml = Br, e.event_flag_t = $, e.flat2json = function(e) {
2922
+ }, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t = $, e.flat2json = function(e) {
2906
2923
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2907
2924
  let t = null;
2908
2925
  for (const n of Object.keys(e)) {
2909
- const r = sl(n);
2926
+ const r = il(n);
2910
2927
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2911
- if (r.length > rl) throw new Error(`flat2json: '${n}' deeper than 256`);
2928
+ if (r.length > ll) throw new Error(`flat2json: '${n}' deeper than 256`);
2912
2929
  const l = "number" == typeof r[0];
2913
2930
  if (null === t) t = l ? [] : {};
2914
2931
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2915
2932
  let o = t;
2916
2933
  for (let t = 0; t < r.length; t++) {
2917
2934
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2918
- if (s && l > ll) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2935
+ if (s && l > ol) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2919
2936
  if (s !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${s ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2920
2937
  if (i) {
2921
2938
  if (Array.isArray(o)) {
@@ -2955,15 +2972,15 @@
2955
2972
  removed: {},
2956
2973
  changed: {}
2957
2974
  };
2958
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? il(n[e], r[e]) || br(l.changed, e, {
2975
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? _l(n[e], r[e]) || br(l.changed, e, {
2959
2976
  from: n[e],
2960
2977
  to: r[e]
2961
2978
  }) : br(l.removed, e, n[e]);
2962
2979
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || br(l.added, e, r[e]);
2963
2980
  return l;
2964
2981
  }, e.flat_key_join = function(e) {
2965
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : ol(e)).join("`") : "";
2966
- }, e.flat_key_split = sl, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2982
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : sl(e)).join("`") : "";
2983
+ }, e.flat_key_split = il, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2967
2984
  if (!e) return {
2968
2985
  top: 0,
2969
2986
  left: 0,
@@ -2982,7 +2999,7 @@
2982
2999
  right: n + i + r,
2983
3000
  bottom: t + s + l
2984
3001
  };
2985
- }, e.get_function_name = nl, e.get_now = function() {
3002
+ }, e.get_function_name = rl, e.get_now = function() {
2986
3003
  return Math.floor(Date.now() / 1e3);
2987
3004
  }, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
2988
3005
  return ot(e) ? (hn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && ($e(e.parent, e), e.parent = null), Re(t, e), t.gclass.gmt.mt_child_added && (Y(e) && En(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (hn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
@@ -3018,13 +3035,13 @@
3018
3035
  }, e.gobj_list_subscriptions = function(e) {
3019
3036
  let t = zt(e, null, null, null);
3020
3037
  for (let n = 0; n < t.length; n++) {
3021
- let r = t[n], l = Tr(e, r, "publisher", null, Zt.KW_REQUIRED), o = Tr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3022
- Bn(r, "s_event", Er(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3038
+ let r = t[n], l = vr(e, r, "publisher", null, Zt.KW_REQUIRED), o = vr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3039
+ Bn(r, "s_event", Tr(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3023
3040
  }
3024
3041
  let n = Qt(e, 0, null, 0);
3025
3042
  for (let t = 0; t < n.length; t++) {
3026
- let r = n[t], l = Tr(e, r, "publisher", null, Zt.KW_REQUIRED), o = Tr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3027
- Bn(r, "s_event", Er(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3043
+ let r = n[t], l = vr(e, r, "publisher", null, Zt.KW_REQUIRED), o = vr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3044
+ Bn(r, "s_event", Tr(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3028
3045
  }
3029
3046
  return {
3030
3047
  subscriptions: t,
@@ -3130,10 +3147,10 @@
3130
3147
  }
3131
3148
  return _ ? yn(`${et(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (yn(`${et(e)}: No subscription found`), Un(n, "No subscription found")), 0;
3132
3149
  }, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = $t, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.html_markup = function(e) {
3133
- return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new Jr("")) : new Jr(e);
3134
- }, e.id_index_in_obj_list = Lr, e.index_in_list = el, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3150
+ return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
3151
+ }, e.id_index_in_obj_list = Pr, e.index_in_list = tl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3135
3152
  return e instanceof Date && !isNaN(e);
3136
- }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = qr, e.is_metadata_key = function(e) {
3153
+ }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = Hr, e.is_metadata_key = function(e) {
3137
3154
  if (!tr(e)) return !1;
3138
3155
  let t = 0;
3139
3156
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -3149,53 +3166,53 @@
3149
3166
  const t = Number(e);
3150
3167
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
3151
3168
  }, e.is_secret_name = wn, e.is_string = tr, e.jdb_delete = function(e, t, n, r) {
3152
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3169
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3153
3170
  if (!l) return hn("jdb_delete: topic not found: " + t), null;
3154
3171
  if (ir(r.id)) return hn("jdb_delete: record without id: " + r), Tn(r), null;
3155
3172
  let o, s = n.split("`"), i = l;
3156
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, o, !1);
3173
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Yr(i, null, o, !1);
3157
3174
  if (0 === s.length && i) if (er(i)) {
3158
- let e = Lr(i, r.id);
3175
+ let e = Pr(i, r.id);
3159
3176
  e >= 0 && i.splice(e, 1);
3160
3177
  } else {
3161
- let t = jr(null, i, e.hook, null, 0), n = Lr(t, r.id);
3178
+ let t = Or(null, i, e.hook, null, 0), n = Pr(t, r.id);
3162
3179
  n >= 0 && t.splice(n, 1);
3163
3180
  }
3164
3181
  return l;
3165
3182
  }, e.jdb_get = function(e, t, n, r) {
3166
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3167
- return l ? (void 0 === r && (r = !0), Kr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3183
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3184
+ return l ? (void 0 === r && (r = !0), Yr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3168
3185
  }, e.jdb_get_by_idx = function(e, t, n) {
3169
- let r = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3186
+ let r = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3170
3187
  return r ? n < r.length ? r[n] : {} : (hn("jdb_get_by_idx: topic not found: " + t), null);
3171
3188
  }, e.jdb_get_topic = function(e, t) {
3172
- let n = jr(null, e, "topics", null, 0);
3189
+ let n = Or(null, e, "topics", null, 0);
3173
3190
  if (!n) return hn("jdb topics section not found"), Tn(e), null;
3174
- return jr(null, n, t, null, 0) || (hn("jdb topic not found: " + t), Tn(n), null);
3191
+ return Or(null, n, t, null, 0) || (hn("jdb topic not found: " + t), Tn(n), null);
3175
3192
  }, e.jdb_init = function(e, t, n) {
3176
3193
  n && (e = Fn(e));
3177
- let r = jr(null, e, "type", [], 1);
3178
- Er(null, e, "hook", "data", 1);
3179
- let l = jr(null, e, "schema", {}, 1), o = jr(null, e, "topics", {}, 1);
3180
- return xr(l, function(e, t, n, l) {
3181
- "__" !== t.substring(0, 2) && jr(null, o, l, Fn(r), 1);
3194
+ let r = Or(null, e, "type", [], 1);
3195
+ Tr(null, e, "hook", "data", 1);
3196
+ let l = Or(null, e, "schema", {}, 1), o = Or(null, e, "topics", {}, 1);
3197
+ return Kr(l, function(e, t, n, l) {
3198
+ "__" !== t.substring(0, 2) && Or(null, o, l, Fn(r), 1);
3182
3199
  }, t), e;
3183
3200
  }, e.jdb_update = function(e, t, n, r) {
3184
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3201
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3185
3202
  if (!l) return hn("jdb_update: topic not found: " + t), null;
3186
3203
  if (ir(r.id)) return hn("jdb_update: record without id: " + r), Tn(r), null;
3187
3204
  let o, s = n.split("`"), i = l;
3188
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = jr(null, i, e.hook, [], 1)), i = Kr(i, null, o, !1);
3205
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, [], 1)), i = Yr(i, null, o, !1);
3189
3206
  if (0 === s.length && i) if (er(i)) i.push(r);
3190
3207
  else if (i.id === r.id) Gn(i, r);
3191
3208
  else {
3192
- let t = jr(null, i, e.hook, [], 1), n = Kr(t, e.hook, r.id, !1);
3209
+ let t = Or(null, i, e.hook, [], 1), n = Yr(t, e.hook, r.id, !1);
3193
3210
  n ? Gn(n, r) : t.push(r);
3194
3211
  }
3195
3212
  return l;
3196
3213
  }, e.json2flat = function(e) {
3197
3214
  const t = {}, n = (e, r, l) => {
3198
- if (l > rl) throw new Error("json2flat: deeper than 256");
3215
+ if (l > ll) throw new Error("json2flat: deeper than 256");
3199
3216
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3200
3217
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3201
3218
  const o = `[${t}]`;
@@ -3205,7 +3222,7 @@
3205
3222
  const t = Object.keys(e);
3206
3223
  if (t.length > 0) {
3207
3224
  for (const o of t) {
3208
- const t = ol(o);
3225
+ const t = sl(o);
3209
3226
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
3210
3227
  }
3211
3228
  return;
@@ -3218,7 +3235,7 @@
3218
3235
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3219
3236
  }, e.json_array_remove = Hn, e.json_array_size = Qn, e.json_deep_copy = Fn, e.json_is_identical = Vn, e.json_mask_secrets = Pn, e.json_object_del = Kn, e.json_object_get = xn, e.json_object_set = Yn, e.json_object_set_new = Bn, e.json_object_size = zn, e.json_object_update = Gn, e.json_object_update_existing = Mn, e.json_object_update_missing = Wn, e.json_size = Xn, e.jwt2json = function(e, t) {
3220
3237
  try {
3221
- let n = Yr(e);
3238
+ let n = Br(e);
3222
3239
  switch (t) {
3223
3240
  case "header": return JSON.parse(n.header);
3224
3241
  case "signature": return JSON.parse(n.signature);
@@ -3227,9 +3244,9 @@
3227
3244
  } catch (e) {
3228
3245
  return null;
3229
3246
  }
3230
- }, e.jwtDecode = Yr, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = $r, e.kw_collect = function(e, t, n, r) {
3247
+ }, e.jwtDecode = Br, e.kw_clone_by_keys = $r, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3231
3248
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3232
- r || (r = Nr);
3249
+ r || (r = Rr);
3233
3250
  let l = [];
3234
3251
  if (er(t)) for (let e = 0; e < t.length; e++) {
3235
3252
  let o = t[e];
@@ -3240,23 +3257,23 @@
3240
3257
  r(t, n) && l.push(t);
3241
3258
  }
3242
3259
  return l;
3243
- }, e.kw_delete = mr, e.kw_find_json_in_list = function(e, t, n, r) {
3260
+ }, e.kw_delete = hr, e.kw_find_json_in_list = function(e, t, n, r) {
3244
3261
  if (!n || !er(t)) return r && hn("item NULL or kw_list is not a list"), -1;
3245
3262
  for (let e = 0; e < t.length; e++) if (Vn(n, t[e])) return e;
3246
3263
  return r && hn("item not found in this list"), -1;
3247
- }, e.kw_find_path = pr, e.kw_flag_t = Zt, e.kw_get_bool = hr, e.kw_get_dict = vr, e.kw_get_dict_value = jr, e.kw_get_int = yr, e.kw_get_list = function(e, t, n, r, l) {
3264
+ }, e.kw_find_path = mr, e.kw_flag_t = Zt, e.kw_get_bool = yr, e.kw_get_dict = jr, e.kw_get_dict_value = Or, e.kw_get_int = Er, e.kw_get_list = function(e, t, n, r, l) {
3248
3265
  e && !sr(e) && hn("GObj bad instanceof");
3249
- let o = pr(e, t, n, !1);
3266
+ let o = mr(e, t, n, !1);
3250
3267
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
3251
- return void 0 === o ? i && er(r) && t ? (Or(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && mr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Un(t)), r);
3252
- }, e.kw_get_local_storage_value = Dr, e.kw_get_pointer = Tr, e.kw_get_real = function(e, t, n, r, l) {
3268
+ return void 0 === o ? i && er(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Un(t)), r);
3269
+ }, e.kw_get_local_storage_value = kr, e.kw_get_pointer = vr, e.kw_get_real = function(e, t, n, r, l) {
3253
3270
  e && !sr(e) && hn("GObj bad instanceof");
3254
- let o = pr(e, t, n, !1);
3271
+ let o = mr(e, t, n, !1);
3255
3272
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
3256
3273
  if (void 0 === o) {
3257
3274
  if (i && t) {
3258
3275
  let l = Number(r);
3259
- return Or(e, t, n, l), l;
3276
+ return Sr(e, t, n, l), l;
3260
3277
  }
3261
3278
  return s && (hn(`path not found: '${n}'`), Un(t)), Number(r);
3262
3279
  }
@@ -3271,10 +3288,10 @@
3271
3288
  u = 0;
3272
3289
  }
3273
3290
  }
3274
- return _ && mr(e, t, n), u;
3275
- }, e.kw_get_str = Er, e.kw_has_key = gr, e.kw_match_simple = Nr, e.kw_pop = fr, e.kw_remove_local_storage_value = Ar, e.kw_select = function(e, t, n, r) {
3291
+ return _ && hr(e, t, n), u;
3292
+ }, e.kw_get_str = Tr, e.kw_has_key = gr, e.kw_match_simple = Rr, e.kw_pop = fr, e.kw_remove_local_storage_value = Ir, e.kw_select = function(e, t, n, r) {
3276
3293
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3277
- r || (r = Nr);
3294
+ r || (r = Rr);
3278
3295
  let l = [];
3279
3296
  if (er(t)) for (let e = 0; e < t.length; e++) {
3280
3297
  let o = t[e];
@@ -3285,9 +3302,9 @@
3285
3302
  r(t, n) && l.push(Fn(t));
3286
3303
  }
3287
3304
  return l;
3288
- }, e.kw_set_dict_value = Or, e.kw_set_local_storage_value = kr, e.kw_set_subdict_value = Sr, e.kwid_collect = Cr, e.kwid_find_one_record = function(e, t, n, r, l) {
3305
+ }, e.kw_set_dict_value = Sr, e.kw_set_local_storage_value = Ar, e.kw_set_subdict_value = wr, e.kwid_collect = Lr, e.kwid_find_one_record = function(e, t, n, r, l) {
3289
3306
  e && !sr(e) && hn("GObj bad instanceof");
3290
- let o = Cr(e, t, n, r, l);
3307
+ let o = Lr(e, t, n, r, l);
3291
3308
  return o && 0 !== o.length ? o[0] : null;
3292
3309
  }, e.kwid_get_ids = function(e, t) {
3293
3310
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return [];
@@ -3297,23 +3314,23 @@
3297
3314
  else er(t) && t.forEach(function(t) {
3298
3315
  if (tr(t)) ir(t) || n.push(t);
3299
3316
  else if (Zn(t)) {
3300
- let r = Er(e, t, "id", 0, 0);
3317
+ let r = Tr(e, t, "id", 0, 0);
3301
3318
  r && n.push(r);
3302
3319
  }
3303
3320
  });
3304
3321
  return n;
3305
- }, e.kwid_match_id = Ir, e.kwid_new_dict = function(e, t, n) {
3322
+ }, e.kwid_match_id = Cr, e.kwid_new_dict = function(e, t, n) {
3306
3323
  e && !sr(e) && hn("GObj bad instanceof");
3307
3324
  let r = {};
3308
- if (ir(n) || (t = pr(e, t, n)), Zn(t)) r = t;
3325
+ if (ir(n) || (t = mr(e, t, n)), Zn(t)) r = t;
3309
3326
  else if (er(t)) for (let n = 0; n < t.length; n++) {
3310
- let l = t[n], o = Er(e, l, "id", "", Zt.KW_REQUIRED);
3327
+ let l = t[n], o = Tr(e, l, "id", "", Zt.KW_REQUIRED);
3311
3328
  ir(o) || br(r, o, l);
3312
3329
  }
3313
3330
  else hn(`${et(e)} kwid_new_dict: data type unknown`);
3314
3331
  return r;
3315
3332
  }, e.kwid_new_list = function(e, t, n) {
3316
- if (e && !sr(e) && hn("GObj bad instanceof"), ir(n) || (t = pr(e, t, n)), er(t)) return t;
3333
+ if (e && !sr(e) && hn("GObj bad instanceof"), ir(n) || (t = mr(e, t, n)), er(t)) return t;
3317
3334
  if (Zn(t)) {
3318
3335
  let n = [];
3319
3336
  for (let r of Object.keys(t)) {
@@ -3371,9 +3388,9 @@
3371
3388
  var e;
3372
3389
  }, r.send();
3373
3390
  }, e.log_debug = En, e.log_error = hn, e.log_info = function(e, ...t) {
3374
- let n = mn(e, ...t), r = Zr();
3391
+ let n = mn(e, ...t), r = el();
3375
3392
  rn && cn("info", n) && rn("%c" + r + " INFO: " + String(n), "color:cyan"), gn("info", n, r);
3376
- }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = Wr, e.msg_iev_get_stack = Gr, e.msg_iev_push_stack = Vr, e.msg_iev_read_key = Ur, e.msg_iev_set_msg_type = Mr, e.msg_iev_write_key = Fr, e.node_uuid = tl, e.parseBoolean = _r, e.parseSVG = function(e) {
3393
+ }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = xr, e.msg_iev_get_stack = Mr, e.msg_iev_push_stack = Gr, e.msg_iev_read_key = Fr, e.msg_iev_set_msg_type = Wr, e.msg_iev_write_key = Vr, e.node_uuid = nl, e.parseBoolean = _r, e.parseSVG = function(e) {
3377
3394
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3378
3395
  }, e.refresh_language = function(e, t) {
3379
3396
  if (!or(t)) return void hn("You must supply a translation function");
@@ -3400,22 +3417,22 @@
3400
3417
  });
3401
3418
  }, e.register_c_ievent_cli = function() {
3402
3419
  return function(e) {
3403
- if (Ll) return hn(`GClass ALREADY created: ${e}`), -1;
3420
+ if (Pl) return hn(`GClass ALREADY created: ${e}`), -1;
3404
3421
  const t = [
3405
3422
  ["ST_DISCONNECTED", [
3406
3423
  [
3407
3424
  "EV_ON_OPEN",
3408
- Yl,
3425
+ Bl,
3409
3426
  "ST_WAIT_IDENTITY_CARD_ACK"
3410
3427
  ],
3411
3428
  [
3412
3429
  "EV_ON_CLOSE",
3413
- Bl,
3430
+ Jl,
3414
3431
  null
3415
3432
  ],
3416
3433
  [
3417
3434
  "EV_TIMEOUT",
3418
- Kl,
3435
+ Yl,
3419
3436
  null
3420
3437
  ],
3421
3438
  [
@@ -3427,22 +3444,22 @@
3427
3444
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3428
3445
  [
3429
3446
  "EV_ON_MESSAGE",
3430
- Hl,
3447
+ Ql,
3431
3448
  null
3432
3449
  ],
3433
3450
  [
3434
3451
  "EV_IDENTITY_CARD_ACK",
3435
- ql,
3452
+ zl,
3436
3453
  null
3437
3454
  ],
3438
3455
  [
3439
3456
  "EV_ON_CLOSE",
3440
- Bl,
3457
+ Jl,
3441
3458
  "ST_DISCONNECTED"
3442
3459
  ],
3443
3460
  [
3444
3461
  "EV_TIMEOUT",
3445
- Jl,
3462
+ Hl,
3446
3463
  null
3447
3464
  ],
3448
3465
  [
@@ -3454,22 +3471,22 @@
3454
3471
  ["ST_SESSION", [
3455
3472
  [
3456
3473
  "EV_ON_MESSAGE",
3457
- Hl,
3474
+ Ql,
3458
3475
  null
3459
3476
  ],
3460
3477
  [
3461
3478
  "EV_MT_STATS",
3462
- zl,
3479
+ Xl,
3463
3480
  null
3464
3481
  ],
3465
3482
  [
3466
3483
  "EV_MT_COMMAND",
3467
- Ql,
3484
+ Zl,
3468
3485
  null
3469
3486
  ],
3470
3487
  [
3471
3488
  "EV_ON_CLOSE",
3472
- Bl,
3489
+ Jl,
3473
3490
  "ST_DISCONNECTED"
3474
3491
  ],
3475
3492
  [
@@ -3480,7 +3497,7 @@
3480
3497
  ]],
3481
3498
  [null, null]
3482
3499
  ];
3483
- return (Ll = de(e, [
3500
+ return (Pl = de(e, [
3484
3501
  ["EV_ON_MESSAGE", $.EVF_OUTPUT_EVENT],
3485
3502
  ["EV_IDENTITY_CARD_ACK", $.EVF_PUBLIC_EVENT],
3486
3503
  ["EV_ON_ID_NAK", $.EVF_PUBLIC_EVENT | $.EVF_OUTPUT_EVENT],
@@ -3491,36 +3508,36 @@
3491
3508
  ["EV_ON_OPEN_ERROR", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS],
3492
3509
  ["EV_TIMEOUT", 0],
3493
3510
  [null, 0]
3494
- ], t, Xl, 0, kl, Cl, 0, 0, Al, w.gcflag_no_check_output_events)) ? 0 : -1;
3511
+ ], t, eo, 0, Al, Ll, 0, 0, Il, w.gcflag_no_check_output_events)) ? 0 : -1;
3495
3512
  }("C_IEVENT_CLI");
3496
3513
  }, e.register_c_timer = function() {
3497
3514
  return function(e) {
3498
- if (pl) return hn(`GClass ALREADY created: ${e}`), -1;
3515
+ if (ml) return hn(`GClass ALREADY created: ${e}`), -1;
3499
3516
  const t = [["ST_IDLE", [[
3500
3517
  "EV_TIMEOUT",
3501
- ml,
3518
+ hl,
3502
3519
  null
3503
3520
  ]]]];
3504
- return (pl = de(e, [
3521
+ return (ml = de(e, [
3505
3522
  ["EV_TIMEOUT", $.EVF_OUTPUT_EVENT],
3506
3523
  ["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT],
3507
3524
  [0, 0]
3508
- ], t, hl, 0, dl, bl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3525
+ ], t, yl, 0, bl, pl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3509
3526
  }("C_TIMER");
3510
3527
  }, e.register_c_yuno = function() {
3511
3528
  return function(e) {
3512
- if (Ol) return hn(`GClass ALREADY created: ${e}`), -1;
3529
+ if (Sl) return hn(`GClass ALREADY created: ${e}`), -1;
3513
3530
  const t = [["ST_IDLE", [[
3514
3531
  "EV_TIMEOUT_PERIODIC",
3515
- Rl,
3532
+ $l,
3516
3533
  null
3517
3534
  ]]]];
3518
- return (Ol = de(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, $l, 0, vl, jl, 0, 0, 0, 0)) ? 0 : -1;
3535
+ return (Sl = de(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, Dl, 0, jl, Ol, 0, 0, 0, 0)) ? 0 : -1;
3519
3536
  }("C_YUNO");
3520
3537
  }, e.safeSrc = function(e) {
3521
3538
  if (!e) return "";
3522
3539
  const t = String(e).trim();
3523
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3540
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
3524
3541
  }, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
3525
3542
  let r = new XMLHttpRequest();
3526
3543
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3544,16 +3561,16 @@
3544
3561
  }
3545
3562
  } else on = e;
3546
3563
  }, e.set_remote_log_functions = bn, e.set_strings_are_text = function(e) {
3547
- zr = !!e;
3548
- }, e.set_timeout = yl, e.set_timeout_periodic = El, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Pr, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
3549
- return zr;
3564
+ Qr = !!e;
3565
+ }, e.set_timeout = El, e.set_timeout_periodic = Tl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Ur, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
3566
+ return Qr;
3550
3567
  }, e.strncmp = function(e, t, n) {
3551
3568
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3552
3569
  return r === l ? 0 : r > l ? 1 : -1;
3553
3570
  }, e.strs_in_list = function(e, t, n) {
3554
3571
  if (!e) return hn("ERROR: strs_in_list() list empty"), !1;
3555
3572
  if (!t) return hn("ERROR: strs_in_list() str empty"), !1;
3556
- for (let r = 0; r < t.length; r++) if (Pr(e, t[r], n)) return !0;
3573
+ for (let r = 0; r < t.length; r++) if (Ur(e, t[r], n)) return !0;
3557
3574
  return !1;
3558
3575
  }, e.strstr = function(e, t, n) {
3559
3576
  var r;
@@ -3576,9 +3593,9 @@
3576
3593
  let e = t.split(".");
3577
3594
  for (let t = 0; t < e.length; t++) {
3578
3595
  let r = e[t];
3579
- if (Pr(ul, r)) n.real_type || (n.real_type = r);
3580
- else if (Pr(fl, r)) n.type || (n.type = r);
3581
- else if (Pr(cl, r)) switch (r) {
3596
+ if (Ur(cl, r)) n.real_type || (n.real_type = r);
3597
+ else if (Ur(gl, r)) n.type || (n.type = r);
3598
+ else if (Ur(fl, r)) switch (r) {
3582
3599
  case "writable":
3583
3600
  n.is_writable = !0;
3584
3601
  break;
@@ -3590,7 +3607,7 @@
3590
3607
  }
3591
3608
  }
3592
3609
  n.real_type || (n.real_type = "string");
3593
- } else Zn(t) ? (n = gl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3610
+ } else Zn(t) ? (n = dl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3594
3611
  return n.type || (n.type = n.real_type), n;
3595
3612
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
3596
3613
  const n = e, r = performance.now();
@@ -3602,7 +3619,7 @@
3602
3619
  total: _
3603
3620
  };
3604
3621
  } };
3605
- }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = al, e.treedb_decoder_hook = function(e, t) {
3622
+ }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = ul, e.treedb_decoder_hook = function(e, t) {
3606
3623
  if (tr(t)) {
3607
3624
  if (-1 === t.indexOf("^")) {
3608
3625
  let n, r = e.hook;
@@ -3629,9 +3646,9 @@
3629
3646
  id: t.id
3630
3647
  } : (hn("bad hook 3"), hn(e), hn(t), null);
3631
3648
  }, e.treedb_encoder_fkey = function(e, t) {
3632
- let n = al(e, t);
3649
+ let n = ul(e, t);
3633
3650
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3634
- }, e.treedb_get_field_desc = gl, e.treedb_hook_data_size = function(e) {
3651
+ }, e.treedb_get_field_desc = dl, e.treedb_hook_data_size = function(e) {
3635
3652
  if (er(e) && 1 === Xn(e)) {
3636
3653
  let t = e[0];
3637
3654
  return gr(t, "size") ? t.size : 1;