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