@yuneta/gobj-js 7.26.9 → 7.26.11

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.
@@ -140,7 +140,7 @@ var s = "7.0.0a", l = null, i = null, _ = null, a = null, u = null, c = null, f
140
140
  DTP_POINTER: 8
141
141
  });
142
142
  h.DTP_POINTER;
143
- var E = Object.freeze({
143
+ var y = Object.freeze({
144
144
  SDF_NOTACCESS: 1,
145
145
  SDF_RD: 2,
146
146
  SDF_WR: 4,
@@ -163,12 +163,12 @@ var E = Object.freeze({
163
163
  SDF_AUTHZ_S: 524288,
164
164
  SDF_AUTHZ_RS: 1048576
165
165
  });
166
- E.SDF_RD, E.SDF_WR, E.SDF_STATS, E.SDF_PERSIST, E.SDF_VOLATIL, E.SDF_RSTATS, E.SDF_PSTATS, E.SDF_WR, E.SDF_PERSIST;
167
- var y = class {
166
+ y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
167
+ var E = class {
168
168
  constructor(e, t, n = 0, r = null, o = "", s = null, l = null, i = 0, _ = null, a = null, u = null) {
169
169
  this.type = e, this.name = t, this.alias = s, this.flag = n, this.default_value = r, this.header = l, this.fillspace = i, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
170
170
  }
171
- }, T = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), j = class {
171
+ }, T = () => new E(0, null), v = (e, t, n, r, o) => new E(e, t, n, r, o), j = class {
172
172
  constructor(e, t, n, r, o, s, l, i, _) {
173
173
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = s, this.command_table = l, this.s_user_trace_level = i, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
174
174
  }
@@ -199,13 +199,13 @@ var y = class {
199
199
  EVF_OUTPUT_EVENT: 2,
200
200
  EVF_SYSTEM_EVENT: 4,
201
201
  EVF_PUBLIC_EVENT: 8
202
- }), x = Object.freeze({
202
+ }), $ = Object.freeze({
203
203
  WALK_TOP2BOTTOM: 1,
204
204
  WALK_BOTTOM2TOP: 2,
205
205
  WALK_BYLEVEL: 4,
206
206
  WALK_FIRST2LAST: 16,
207
207
  WALK_LAST2FIRST: 32
208
- }), $ = class {
208
+ }), x = class {
209
209
  constructor(e, t, n) {
210
210
  this.event_name = e, this.action = t, this.next_state = n;
211
211
  }
@@ -220,7 +220,7 @@ var y = class {
220
220
  };
221
221
  var A = 1;
222
222
  function I(e) {
223
- Xn(e) && (e = JSON.stringify(e)), En(" ".repeat(Math.max(1, 2 * m)) + String(e));
223
+ Xn(e) && (e = JSON.stringify(e)), yn(" ".repeat(Math.max(1, 2 * m)) + String(e));
224
224
  }
225
225
  var C = Object.freeze({
226
226
  TRACE_MACHINE: 65536,
@@ -557,7 +557,7 @@ function ge(e, t, n, r, o, s, l, i, _, a, u) {
557
557
  let n = t[e][0], r = t[e][1];
558
558
  if (!lr(n)) {
559
559
  if (Te(c, n)) return mn(`SMachine: event repeated in input_events: ${n}`), pe(c), null;
560
- ye(c, n, r);
560
+ Ee(c, n, r);
561
561
  }
562
562
  }
563
563
  if (!c.fsm_checked) {
@@ -599,13 +599,13 @@ function he(e, t, n, r, o) {
599
599
  if (!(e instanceof j)) return mn("Cannot add state, typeof not GClass"), -1;
600
600
  if (lr(t)) return mn("state_name EMPTY"), -1;
601
601
  let s = de(e, t);
602
- return s ? be(s, n) ? (mn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new $(n, r, o)), 0) : (mn(`state not found: ${t}`), -1);
602
+ return s ? be(s, n) ? (mn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new x(n, r, o)), 0) : (mn(`state not found: ${t}`), -1);
603
603
  }
604
- function Ee(e, t, n) {
604
+ function ye(e, t, n) {
605
605
  lr(t) || e.push(new k(t, n));
606
606
  }
607
- function ye(e, t, n) {
608
- return e instanceof j ? Ee(e.dl_events, t, n) : (mn("Cannot add state, typeof not GClass"), -1);
607
+ function Ee(e, t, n) {
608
+ return e instanceof j ? ye(e.dl_events, t, n) : (mn("Cannot add state, typeof not GClass"), -1);
609
609
  }
610
610
  function Te(e, t) {
611
611
  if (!(e instanceof j)) return mn("Cannot add state, typeof not GClass"), 0;
@@ -666,10 +666,10 @@ function Re(e, t) {
666
666
  let n = eo(e.dl_children, t);
667
667
  n >= 0 && (qn(e.dl_children, n), t.parent = null);
668
668
  }
669
- function xe(e, t) {
669
+ function $e(e, t) {
670
670
  return Ye(e) ? i ? i(e, t) : -1 : (mn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
671
671
  }
672
- function $e(e, t) {
672
+ function xe(e, t) {
673
673
  "__json_config_variables__" !== t && mn(`GClass Attribute NOT FOUND: ${Ze(e)}, attr ${t}`);
674
674
  }
675
675
  function De(e, t, n) {
@@ -679,10 +679,10 @@ function De(e, t, n) {
679
679
  let s = 0;
680
680
  for (const [l, i] of Object.entries(t)) {
681
681
  const t = fe(o.gclass, l, !1);
682
- t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && hn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
682
+ t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && hn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
683
683
  }
684
684
  return s;
685
- })(ue(e), r, -1, e.gclass.gclass_flag & S.gcflag_ignore_unknown_attrs ? 0 : $e, e) < 0 && (mn(`${Ze(e)} json2data() FAILED`), Ln(r));
685
+ })(ue(e), r, -1, e.gclass.gclass_flag & S.gcflag_ignore_unknown_attrs ? 0 : xe, e) < 0 && (mn(`${Ze(e)} json2data() FAILED`), Ln(r));
686
686
  }
687
687
  function ke(e, n, r, o, s) {
688
688
  if (s & w.gobj_flag_yuno) {
@@ -764,7 +764,7 @@ function Fe(e, t, n) {
764
764
  return We(e) && Ue(e), 0;
765
765
  }
766
766
  function Ve(e) {
767
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Fe, 0, 0);
767
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, $.WALK_FIRST2LAST, Fe, 0, 0);
768
768
  }
769
769
  function Ge(e) {
770
770
  if (ot(e)) return mn(`gobj NULL or DESTROYED: ${Ze(e)}`), -1;
@@ -856,7 +856,7 @@ function ut(e) {
856
856
  }
857
857
  function ct(e, t, n, r, o) {
858
858
  let s, l = [...e];
859
- if (t & x.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
859
+ if (t & $.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
860
860
  s = l[e - 1];
861
861
  let t = ut(n(s, r, o));
862
862
  if (t < 0) return t;
@@ -871,15 +871,15 @@ function ct(e, t, n, r, o) {
871
871
  function ft(e, t, n, r, o) {
872
872
  let s, l = ct(e, t, n, r, o);
873
873
  if (l < 0) return l;
874
- if (t & x.WALK_LAST2FIRST) {
874
+ if (t & $.WALK_LAST2FIRST) {
875
875
  for (let i = e.length; i > 0; i--) if (s = e[i - 1], l = ft([...s.dl_children], t, n, r, o), l < 0) return l;
876
876
  } else for (let i = 0; i < e.length; i++) if (s = e[i], l = ft([...s.dl_children], t, n, r, o), l < 0) return l;
877
877
  return l;
878
878
  }
879
879
  function gt(e, t, n, r, o) {
880
- if (t & x.WALK_BYLEVEL) return ft(e, t, n, r, o);
880
+ if (t & $.WALK_BYLEVEL) return ft(e, t, n, r, o);
881
881
  let s, l;
882
- if (t & x.WALK_BOTTOM2TOP) for (let i = e.length; i > 0; i--) {
882
+ if (t & $.WALK_BOTTOM2TOP) for (let i = e.length; i > 0; i--) {
883
883
  if (l = e[i - 1], s = gt([...l.dl_children], t, n, r, o), s < 0) return s;
884
884
  if (s = ut(n(l, r, o)), s < 0) return s;
885
885
  }
@@ -900,7 +900,7 @@ function pt(e, t) {
900
900
  let t = o.length;
901
901
  if (o !== Qe(e).substring(0, t)) return !1;
902
902
  }
903
- if (s && s !== $t(e)) return !1;
903
+ if (s && s !== xt(e)) return !1;
904
904
  let l = e.jn_attrs;
905
905
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && mt(e, n) && l[n] !== t[n]) return !1;
906
906
  return !0;
@@ -944,7 +944,7 @@ function ht(e, t, n) {
944
944
  }
945
945
  return mn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
946
946
  }
947
- function Et(e, t, n) {
947
+ function yt(e, t, n) {
948
948
  let r = {}, o = e.gclass.attrs_table;
949
949
  for (let n = 0; n < o.length; n++) {
950
950
  const s = o[n];
@@ -955,7 +955,7 @@ function Et(e, t, n) {
955
955
  }
956
956
  return r;
957
957
  }
958
- function yt(e, t) {
958
+ function Et(e, t) {
959
959
  if (t) {
960
960
  if (0 === ar(t, "__disabled__")) return Ke(e);
961
961
  if (0 === ar(t, "__running__")) return We(e);
@@ -971,7 +971,7 @@ function Tt(e, t) {
971
971
  return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Mn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
972
972
  }
973
973
  function vt(e, t) {
974
- if (t && 0 === ar(t, "__state__")) return $t(e);
974
+ if (t && 0 === ar(t, "__state__")) return xt(e);
975
975
  let n = ce(e, t, !1);
976
976
  return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Mn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
977
977
  }
@@ -1020,7 +1020,7 @@ function Rt(e, t, n) {
1020
1020
  let r = ce(e, t, !1);
1021
1021
  return r ? (r[t] = String(n), Xn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (mn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1022
1022
  }
1023
- function xt(e, n) {
1023
+ function $t(e, n) {
1024
1024
  if (ot(e)) return mn("gobj NULL or DESTROYED"), null;
1025
1025
  if (e.current_state.state_name === n) return !1;
1026
1026
  let r = de(e.gclass, n);
@@ -1029,9 +1029,9 @@ function xt(e, n) {
1029
1029
  let o = q(e, "EV_STATE_CHANGED"), s = !!function(e) {
1030
1030
  return M(e) & C.TRACE_STATES;
1031
1031
  }(e);
1032
- return (o || s) && (1 === A || I(t("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Xe(e), Qe(e), $t(e), e.last_state.state_name))), !0;
1032
+ return (o || s) && (1 === A || I(t("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Xe(e), Qe(e), xt(e), e.last_state.state_name))), !0;
1033
1033
  }
1034
- function $t(e) {
1034
+ function xt(e) {
1035
1035
  return sr(e) ? e.current_state.state_name : (mn("hgobj NULL"), "");
1036
1036
  }
1037
1037
  function Dt(e, t, n) {
@@ -1099,7 +1099,7 @@ function Ut(e, n, r, o) {
1099
1099
  }
1100
1100
  r && J(e) && Hn(r) && Ln(r);
1101
1101
  }
1102
- i.next_state && xt(e, i.next_state);
1102
+ i.next_state && $t(e, i.next_state);
1103
1103
  let _ = -1;
1104
1104
  try {
1105
1105
  i.action && (_ = i.action(e, n, r, o));
@@ -1159,7 +1159,7 @@ function Mt(e, t) {
1159
1159
  }
1160
1160
  function Wt(e, t, n, r, o, s) {
1161
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 !== yr(null, e, "event", "") && (u = !1), r && r !== yr(null, e, "renamed_event", "") && (u = !1), Qn(l) > 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
1163
  let t = vr(null, e, "__config__", null);
1164
1164
  Qn(t) > 0 && Un(t, l) || (u = !1);
1165
1165
  }
@@ -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 = Tr(e, n, "publisher", null, Xt.KW_REQUIRED), l = Tr(e, n, "subscriber", null, Xt.KW_REQUIRED), i = yr(e, n, "event", "", Xt.KW_REQUIRED);
1193
- if (!!(Er(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 (Er(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,11 +1223,11 @@ 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 = vr(e, n, "__config__", null), l = vr(e, n, "__global__", null), i = vr(e, n, "__local__", null), _ = jr(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) {
@@ -1287,7 +1287,7 @@ function Qt(e, n, r) {
1287
1287
  }
1288
1288
  let u = Tr(e, a, "subscriber", null, Xt.KW_REQUIRED);
1289
1289
  if (!u || ot(u)) continue;
1290
- let c = Er(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
1292
  vr(e, a, "__config__", null, 0);
1293
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;
@@ -1298,7 +1298,7 @@ function Qt(e, n, r) {
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;
1300
1300
  let b = r;
1301
- (Qn(l) > 0 || Qn(o) > 0) && (b = Fn({}, r)), Qn(l) > 0 && cr(b, l), Qn(o) > 0 && Fn(b, Pn(o)), s && (I(1 === A ? t("🔝🔄 %s (%s) %s%s", n || "", g || "", u.running ? "" : "!!", Ze(u)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", Ze(u), $t(u), n || "", g || "", e && !e.running ? "!!" : "", Ze(e))), J(e) && Hn(b) && Ln(b));
1301
+ (Qn(l) > 0 || Qn(o) > 0) && (b = Fn({}, r)), Qn(l) > 0 && cr(b, l), Qn(o) > 0 && Fn(b, Pn(o)), s && (I(1 === A ? t("🔝🔄 %s (%s) %s%s", n || "", g || "", u.running ? "" : "!!", Ze(u)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", Ze(u), xt(u), n || "", g || "", e && !e.running ? "!!" : "", Ze(e))), J(e) && Hn(b) && Ln(b));
1302
1302
  let m = Ut(u, g, b, e);
1303
1303
  if (m < 0 && c & Ft.__own_event__) {
1304
1304
  i = -1;
@@ -1408,11 +1408,11 @@ function hn(e, ...t) {
1408
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
- function En(e, ...t) {
1411
+ function yn(e, ...t) {
1412
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
- function yn(e, ...t) {
1415
+ function En(e, ...t) {
1416
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
  }
@@ -1494,10 +1494,10 @@ function wn(e, t, n) {
1494
1494
  s = t;
1495
1495
  }
1496
1496
  }
1497
- var Nn = 128, Rn = 4194304, xn = "<not shown: too large to mask>";
1498
- function $n(e) {
1497
+ var Nn = 128, Rn = 4194304, $n = "<not shown: too large to mask>";
1498
+ function xn(e) {
1499
1499
  if ("string" != typeof e || e.indexOf("=") < 0) return null;
1500
- if (e.length > Rn) return xn;
1500
+ if (e.length > Rn) return $n;
1501
1501
  let t, n = !1, r = /(^|[ \t])attribute=["']?([^ \t"']*)/g;
1502
1502
  for (; null !== (t = r.exec(e));) Sn(t[2].slice(-128)) && (n = !0);
1503
1503
  let o = [], s = 0, l = !1, i = "", _ = 0, a = 0;
@@ -1531,9 +1531,9 @@ var Dn = 64, kn = "<not shown: the masking failed>";
1531
1531
  var An = Symbol("mask-in-progress");
1532
1532
  function In(e, t, n, r) {
1533
1533
  if ("string" == typeof e) {
1534
- if (e.length > r.left) return r.left = 0, xn;
1534
+ if (e.length > r.left) return r.left = 0, $n;
1535
1535
  r.left -= e.length;
1536
- let t = $n(e);
1536
+ let t = xn(e);
1537
1537
  return null !== t ? t : e;
1538
1538
  }
1539
1539
  let o = Array.isArray(e);
@@ -1542,7 +1542,7 @@ function In(e, t, n, r) {
1542
1542
  let t = Object.getPrototypeOf(e);
1543
1543
  return t === Object.prototype || null === t;
1544
1544
  }(e)) return e;
1545
- if (r.left <= 0) return xn;
1545
+ if (r.left <= 0) return $n;
1546
1546
  if (t.has(e)) {
1547
1547
  let n = t.get(e);
1548
1548
  return n === An ? "<cycle>" : n;
@@ -1561,7 +1561,7 @@ function In(e, t, n, r) {
1561
1561
  let _ = In(e[o], t, n + 1, r);
1562
1562
  _ !== e[o] && (l = !0), s.push(_);
1563
1563
  }
1564
- i && s.push(xn);
1564
+ i && s.push($n);
1565
1565
  } else {
1566
1566
  s = Object.create(Object.getPrototypeOf(e));
1567
1567
  let o = "string" == typeof e.attribute && Sn(e.attribute.slice(-128));
@@ -1575,7 +1575,7 @@ function In(e, t, n, r) {
1575
1575
  let a, u = e[_];
1576
1576
  a = (Sn(_.slice(-128)) || o && "value" === _) && null != u && "" !== u ? "********" : In(u, t, n + 1, r), a !== u && (l = !0), pr(s, _, a);
1577
1577
  }
1578
- i && (s["<more>"] = xn);
1578
+ i && (s["<more>"] = $n);
1579
1579
  }
1580
1580
  return l || i || (s = e), t.set(e, s), s;
1581
1581
  }
@@ -1784,7 +1784,7 @@ function hr(e, t, n, r, o) {
1784
1784
  }
1785
1785
  return _ && mr(e, t, n), u;
1786
1786
  }
1787
- function Er(e, t, n, r, o) {
1787
+ function yr(e, t, n, r, o) {
1788
1788
  e && !sr(e) && mn("GObj bad instanceof");
1789
1789
  let s = br(e, t, n, !1);
1790
1790
  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;
@@ -1813,7 +1813,7 @@ function Er(e, t, n, r, o) {
1813
1813
  }
1814
1814
  return _ && mr(e, t, n), u;
1815
1815
  }
1816
- function yr(e, t, n, r, o) {
1816
+ function Er(e, t, n, r, o) {
1817
1817
  e && !sr(e) && mn("GObj bad instanceof");
1818
1818
  let s = br(e, t, n, !1);
1819
1819
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT;
@@ -1861,6 +1861,7 @@ function jr(e, t, n, r, o) {
1861
1861
  function Or(e, t, n, r) {
1862
1862
  if (e && !sr(e) && mn("GObj bad instanceof"), !Xn(t)) return mn("kw is not an object"), -1;
1863
1863
  if (!er(n)) return mn(`${e ? Ze(e) + ": " : ""}kw_set_dict_value(): path must be a string: ${String(n)}`), -1;
1864
+ if ("" === n) return mn((e ? Ze(e) + ": " : "") + "kw_set_dict_value(): path empty"), -1;
1864
1865
  let o = n.split("`"), s = o.length;
1865
1866
  for (let l = 0; l < s; l++) {
1866
1867
  let i = o[l];
@@ -1949,7 +1950,7 @@ function Rr(e, t, n, r) {
1949
1950
  }
1950
1951
  return o;
1951
1952
  }
1952
- function xr(e, t, n, r) {
1953
+ function $r(e, t, n, r) {
1953
1954
  let o = {};
1954
1955
  if (!Xn(t)) return o;
1955
1956
  if (Fn(o, t), er(n) && !lr(n)) {
@@ -1965,7 +1966,7 @@ function xr(e, t, n, r) {
1965
1966
  }
1966
1967
  return o;
1967
1968
  }
1968
- function $r(e, t, n = !1) {
1969
+ function xr(e, t, n = !1) {
1969
1970
  if ("undefined" != typeof window && window.localStorage) try {
1970
1971
  let r = window.localStorage.getItem(e);
1971
1972
  return null === r ? (n && Dr(e, t), t) : JSON.parse(r);
@@ -2007,7 +2008,7 @@ function Ir(e, t, n, r, o) {
2007
2008
  let s = [];
2008
2009
  if (Zn(t)) for (let l = 0; l < t.length; l++) {
2009
2010
  let i, _ = t[l];
2010
- if (Xn(_)) i = yr(e, _, "id", "", 0);
2011
+ if (Xn(_)) i = Er(e, _, "id", "", 0);
2011
2012
  else {
2012
2013
  if (!er(_)) continue;
2013
2014
  i = _;
@@ -2073,7 +2074,7 @@ function Gr(e, t, n) {
2073
2074
  return lr(n) ? mr(e, t, "__md_iev__`__msg_type__") : Sr(e, t, "__md_iev__", "__msg_type__", n), 0;
2074
2075
  }
2075
2076
  function Mr(e, t) {
2076
- return yr(e, t, "__md_iev__`__msg_type__", "", 0);
2077
+ return Er(e, t, "__md_iev__`__msg_type__", "", 0);
2077
2078
  }
2078
2079
  function Wr(e, t, n) {
2079
2080
  void 0 !== n && er(n) || (n = "");
@@ -2350,17 +2351,17 @@ function ho(e, t, n, r) {
2350
2351
  Ut(e, "EV_TIMEOUT", {}, e);
2351
2352
  }, 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;
2352
2353
  }
2353
- var Eo = {
2354
+ var yo = {
2354
2355
  mt_create: function(e) {
2355
2356
  let t = e.priv;
2356
2357
  const n = jt(e, "subscriber");
2357
- n && Jt(e, null, {}, n), t.periodic = yt(e, "periodic"), t.msec = Tt(e, "msec");
2358
+ n && Jt(e, null, {}, n), t.periodic = Et(e, "periodic"), t.msec = Tt(e, "msec");
2358
2359
  },
2359
2360
  mt_writing: function(e, t) {
2360
2361
  let n = e.priv;
2361
2362
  switch (t) {
2362
2363
  case "periodic":
2363
- n.periodic = yt(e, "periodic");
2364
+ n.periodic = Et(e, "periodic");
2364
2365
  break;
2365
2366
  case "msec": n.msec = Tt(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
2366
2367
  Ut(e, "EV_TIMEOUT", {}, e);
@@ -2375,7 +2376,7 @@ var Eo = {
2375
2376
  },
2376
2377
  mt_destroy: function(e) {}
2377
2378
  };
2378
- function yo(e, t) {
2379
+ function Eo(e, t) {
2379
2380
  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);
2380
2381
  }
2381
2382
  function To(e, t) {
@@ -2398,8 +2399,8 @@ var jo = [
2398
2399
  v(h.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
2399
2400
  v(h.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
2400
2401
  v(h.DTP_LIST, "required_services", 0, "[]", "Required services"),
2401
- v(h.DTP_DICT, "trace_levels", E.SDF_PERSIST, "{}", "Trace levels"),
2402
- v(h.DTP_DICT, "no_trace_levels", E.SDF_PERSIST, "{}", "No trace levels"),
2402
+ v(h.DTP_DICT, "trace_levels", y.SDF_PERSIST, "{}", "Trace levels"),
2403
+ v(h.DTP_DICT, "no_trace_levels", y.SDF_PERSIST, "{}", "No trace levels"),
2403
2404
  v(h.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
2404
2405
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2405
2406
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
@@ -2407,7 +2408,7 @@ var jo = [
2407
2408
  ], Oo = { gobj_timer: null }, So = null;
2408
2409
  function wo(e, t, n, r) {
2409
2410
  let o = ht(e, t);
2410
- return Xn(o) || (o = {}), o[n] = r, Ot(e, t, o), xe(e, t);
2411
+ return Xn(o) || (o = {}), o[n] = r, Ot(e, t, o), $e(e, t);
2411
2412
  }
2412
2413
  function No(e) {
2413
2414
  if (!0 === e || !1 === e) return e;
@@ -2417,10 +2418,10 @@ function No(e) {
2417
2418
  function Ro() {
2418
2419
  return `${He()}^${qe()}`;
2419
2420
  }
2420
- function xo(e, t, n, r) {
2421
+ function $o(e, t, n, r) {
2421
2422
  return Qt(e, t, n), 0;
2422
2423
  }
2423
- var $o = {
2424
+ var xo = {
2424
2425
  mt_create: function(e) {
2425
2426
  let t = e.priv;
2426
2427
  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) {
@@ -2495,20 +2496,20 @@ var $o = {
2495
2496
  }
2496
2497
  };
2497
2498
  var Do = "ievent_gate_stack", ko = [
2498
- v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2499
- v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2500
- v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
2501
- v(h.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
2502
- v(h.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
2503
- v(h.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
2504
- v(h.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
2505
- v(h.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
2506
- v(h.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2507
- v(h.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2508
- v(h.DTP_LIST, "required_services", E.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2509
- v(h.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2510
- v(h.DTP_INTEGER, "timeout_retry_max", E.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2511
- v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2499
+ v(h.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
2500
+ v(h.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
2501
+ v(h.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
2502
+ v(h.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
2503
+ v(h.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
2504
+ v(h.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
2505
+ v(h.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
2506
+ v(h.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
2507
+ v(h.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2508
+ v(h.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2509
+ v(h.DTP_LIST, "required_services", y.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2510
+ v(h.DTP_INTEGER, "timeout_retry", y.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2511
+ v(h.DTP_INTEGER, "timeout_retry_max", y.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2512
+ v(h.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
2512
2513
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2513
2514
  T()
2514
2515
  ], Ao = [
@@ -2533,7 +2534,7 @@ var Co = {
2533
2534
  function Po(e) {
2534
2535
  e.priv.websocket && mn("Websocket ALREADY setup");
2535
2536
  const t = vt(e, "url");
2536
- En(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2537
+ yn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2537
2538
  const n = ++e.priv.ws_seq;
2538
2539
  let r;
2539
2540
  try {
@@ -2545,7 +2546,7 @@ function Po(e) {
2545
2546
  code: 1006,
2546
2547
  reason: r.message,
2547
2548
  was_clean: !1
2548
- }, e) < 0 && yo(e.priv.gobj_timer, qo(e)), null;
2549
+ }, e) < 0 && Eo(e.priv.gobj_timer, qo(e)), null;
2549
2550
  }
2550
2551
  return r ? (r.onopen = () => {
2551
2552
  n !== e.priv.ws_seq || ot(e) || Ut(e, "EV_ON_OPEN", {
@@ -2558,7 +2559,7 @@ function Po(e) {
2558
2559
  data: r.data
2559
2560
  }, e);
2560
2561
  }, r.onclose = (r) => {
2561
- ot(e) || n === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2562
+ ot(e) || n === e.priv.ws_seq && (Et(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2562
2563
  url: t,
2563
2564
  ws_seq: n,
2564
2565
  code: r.code,
@@ -2570,7 +2571,7 @@ function Po(e) {
2570
2571
  function Uo(e, t = 1e3, n = "") {
2571
2572
  let r = e.priv, o = r.websocket;
2572
2573
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2573
- En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2574
+ yn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2574
2575
  try {
2575
2576
  o.close(t, n);
2576
2577
  } catch (t) {
@@ -2581,9 +2582,9 @@ function Uo(e, t = 1e3, n = "") {
2581
2582
  function Fo(e, t, n) {
2582
2583
  let r = Zr();
2583
2584
  try {
2584
- En("\n" + r + " " + t + "\n"), Ln(n);
2585
+ yn("\n" + r + " " + t + "\n"), Ln(n);
2585
2586
  } catch (e) {
2586
- En("ERROR in trace_inter_event: " + e);
2587
+ yn("ERROR in trace_inter_event: " + e);
2587
2588
  }
2588
2589
  }
2589
2590
  var Vo = class {
@@ -2643,7 +2644,7 @@ function Wo(e) {
2643
2644
  language: "undefined" != typeof window ? window.navigator.language : "",
2644
2645
  required_services: i
2645
2646
  };
2646
- return Fr(e, _, Do, Mo(e, Qe(tt(e)), null)), Gr(e, _, "__identity__"), yo(t.gobj_timer, Tt(e, "timeout_idack")), Go(e, "EV_IDENTITY_CARD", _);
2647
+ 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", _);
2647
2648
  }
2648
2649
  function Ko(e, t) {
2649
2650
  if (lr(t.event)) return -1;
@@ -2656,7 +2657,7 @@ function Yo(e, t, n, r) {
2656
2657
  return We(e) && (o.websocket = Po(e)), 0;
2657
2658
  }
2658
2659
  function Bo(e, t, n, r) {
2659
- return En("Websocket opened: " + e.priv.url), Wo(e), 0;
2660
+ return yn("Websocket opened: " + e.priv.url), Wo(e), 0;
2660
2661
  }
2661
2662
  function Jo(e, t, n, r) {
2662
2663
  let o = e.priv, s = n.url;
@@ -2673,7 +2674,7 @@ function Jo(e, t, n, r) {
2673
2674
  code: n.code,
2674
2675
  reason: n.reason,
2675
2676
  was_clean: n.was_clean
2676
- })), We(e) && yo(o.gobj_timer, qo(e))), 0;
2677
+ })), We(e) && Eo(o.gobj_timer, qo(e))), 0;
2677
2678
  }
2678
2679
  function qo(e) {
2679
2680
  let t = e.priv, n = Tt(e, "timeout_retry"), r = Tt(e, "timeout_retry_max");
@@ -2687,9 +2688,9 @@ function Ho(e, t, n, r) {
2687
2688
  function zo(e, t, n, r) {
2688
2689
  let o = e.priv;
2689
2690
  vo(o.gobj_timer);
2690
- let s = Vr(e, n, Do, !0), l = yr(e, s, "src_yuno", ""), i = yr(e, s, "src_role", ""), _ = yr(e, s, "src_service", "");
2691
+ let s = Vr(e, n, Do, !0), l = Er(e, s, "src_yuno", ""), i = Er(e, s, "src_role", ""), _ = Er(e, s, "src_service", "");
2691
2692
  Rt(e, "remote_yuno_name", l), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2692
- let a = Er(e, n, "result", -1, 0), u = yr(e, n, "comment", "", 0), c = yr(e, n, "username", "", 0), f = jr(e, n, "services_roles", {});
2693
+ 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", {});
2693
2694
  if (a < 0) {
2694
2695
  Uo(e);
2695
2696
  let t = {
@@ -2703,7 +2704,7 @@ function zo(e, t, n, r) {
2703
2704
  };
2704
2705
  rt(e) ? Ut(tt(e), "EV_ON_ID_NAK", t, e) : Qt(e, "EV_ON_ID_NAK", t);
2705
2706
  } else {
2706
- if (xt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2707
+ if ($t(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2707
2708
  o.inform_on_close = !0;
2708
2709
  let t = {
2709
2710
  username: c,
@@ -2745,16 +2746,16 @@ function Qo(e, t, n, r) {
2745
2746
  r ? r(e, s, 2, t) : Fo(0, e, s);
2746
2747
  }
2747
2748
  let l = s.event, i = s.kw;
2748
- if ("ST_SESSION" !== $t(e)) {
2749
+ if ("ST_SESSION" !== xt(e)) {
2749
2750
  if (kt(e, l, R.EVF_PUBLIC_EVENT)) {
2750
2751
  if (!(Ut(e, l, i, e) < 0)) return 0;
2751
2752
  } else mn(`${Ze(e)}: event UNKNOWN in not-session state ${l}`);
2752
2753
  return Uo(e), -1;
2753
2754
  }
2754
2755
  s = null;
2755
- let _ = Mr(e, i), a = Vr(e, i, Do), u = yr(e, a, "dst_role", "");
2756
+ let _ = Mr(e, i), a = Vr(e, i, Do), u = Er(e, a, "dst_role", "");
2756
2757
  if (u.toLowerCase() !== He().toLowerCase()) return mn(`"It's not my role, dst_role: ${u}, my_role: ${He()}`), 0;
2757
- let c = yr(e, a, "dst_service", "");
2758
+ let c = Er(e, a, "dst_service", "");
2758
2759
  if ("__subscribing__" === _) return hn(`${Ze(e)}: subscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2759
2760
  if ("__unsubscribing__" === _) return hn(`${Ze(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2760
2761
  if (kt(e, l, R.EVF_PUBLIC_EVENT)) return Ut(e, l, i, e), 0;
@@ -2794,7 +2795,7 @@ var es = {
2794
2795
  },
2795
2796
  mt_start: function(e) {
2796
2797
  let t = e.priv;
2797
- return t.retry_ms = 0, "ST_DISCONNECTED" !== $t(e) && (Ut(e, "EV_ON_CLOSE", {
2798
+ return t.retry_ms = 0, "ST_DISCONNECTED" !== xt(e) && (Ut(e, "EV_ON_CLOSE", {
2798
2799
  url: t.url,
2799
2800
  ws_seq: t.ws_seq,
2800
2801
  code: 1e3,
@@ -2808,39 +2809,39 @@ var es = {
2808
2809
  },
2809
2810
  mt_destroy: function(e) {},
2810
2811
  mt_stats: function(e, t, n, r) {
2811
- if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2812
+ if ("ST_SESSION" !== xt(e)) return mn("Not in session"), null;
2812
2813
  n || (n = {});
2813
- let o = Mo(e, Qe(r), yr(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2814
+ let o = Mo(e, Qe(r), Er(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2814
2815
  return s || (s = {}), Fr(e, n, "stats_stack", {
2815
2816
  stats: t,
2816
2817
  kw: s
2817
2818
  }), Fr(e, n, Do, o), n.__stats__ = t, Gr(e, n, "__stats__"), Go(e, "EV_MT_STATS", n, r), null;
2818
2819
  },
2819
2820
  mt_command_parser: function(e, t, n, r) {
2820
- if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2821
+ if ("ST_SESSION" !== xt(e)) return mn("Not in session"), null;
2821
2822
  n || (n = {});
2822
- let o = Mo(e, Qe(r), yr(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2823
+ let o = Mo(e, Qe(r), Er(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2823
2824
  return s || (s = {}), Fr(e, n, "command_stack", {
2824
2825
  command: t,
2825
2826
  kw: s
2826
2827
  }), Fr(e, n, Do, o), n.__command__ = t, Gr(e, n, "__command__"), Go(e, "EV_MT_COMMAND", n, r), null;
2827
2828
  },
2828
2829
  mt_inject_event: function(e, t, n, r) {
2829
- if ("ST_SESSION" !== $t(e)) return window.console.error("Not in session"), -1;
2830
+ if ("ST_SESSION" !== xt(e)) return window.console.error("Not in session"), -1;
2830
2831
  if (n = Fn({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Pn(n.__md_iev__)), Vr(e, n, Do));
2831
2832
  else {
2832
- let o = Mo(e, Qe(r), yr(e, n, "__service__", 0, 0));
2833
+ let o = Mo(e, Qe(r), Er(e, n, "__service__", 0, 0));
2833
2834
  Wn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, Do, o);
2834
2835
  }
2835
2836
  return Gr(e, n, "__message__"), Go(e, t, n, r);
2836
2837
  },
2837
2838
  mt_subscription_added: function(e, t) {
2838
2839
  let n = e.priv;
2839
- return "ST_SESSION" === $t(e) && n.websocket ? n.inside_on_open ? 0 : Ko(e, t) : 0;
2840
+ return "ST_SESSION" === xt(e) && n.websocket ? n.inside_on_open ? 0 : Ko(e, t) : 0;
2840
2841
  },
2841
2842
  mt_subscription_deleted: function(e, t) {
2842
2843
  let n = e.priv;
2843
- if ("ST_SESSION" !== $t(e) || !n.websocket) return 0;
2844
+ if ("ST_SESSION" !== xt(e) || !n.websocket) return 0;
2844
2845
  if (n.inside_on_open) return 0;
2845
2846
  if (lr(t.event)) return 0;
2846
2847
  let r = {}, o = t.__global__, s = t.__config__, l = t.__filter__, i = t.__service__, _ = t.subscriber;
@@ -2848,7 +2849,7 @@ var es = {
2848
2849
  return Fr(e, r, Do, Mo(e, Qe(_), i)), Gr(e, r, "__unsubscribing__"), Go(e, t.event, r, e);
2849
2850
  }
2850
2851
  };
2851
- exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new y(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new y(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new y(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new y(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = y, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2852
+ 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__", {
2852
2853
  enumerable: !0,
2853
2854
  get: function() {
2854
2855
  return d;
@@ -2894,19 +2895,19 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2894
2895
  Kn(n, e, s);
2895
2896
  }), n;
2896
2897
  }, exports.current_timestamp = Zr, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2897
- let n = $r(_o(e), null, !1), r = {};
2898
+ let n = xr(_o(e), null, !1), r = {};
2898
2899
  return n && Xn(n) && (r = Rr(e, n, t, !1)), r;
2899
2900
  }, exports.db_load_persistent_attrs = function(e, t) {
2900
- let n = Et(e, E.SDF_PERSIST), r = $r(_o(e), null, !1);
2901
+ let n = yt(e, y.SDF_PERSIST), r = xr(_o(e), null, !1);
2901
2902
  if (r && Xn(r)) {
2902
2903
  let o = Rr(e, r, t, !1);
2903
- o = Rr(e, o, n, !1), St(e, o, E.SDF_PERSIST);
2904
+ o = Rr(e, o, n, !1), St(e, o, y.SDF_PERSIST);
2904
2905
  }
2905
2906
  }, exports.db_remove_persistent_attrs = function(e, t) {
2906
- let n = xr(e, $r(_o(e), null, !1), t, !1);
2907
+ let n = $r(e, xr(_o(e), null, !1), t, !1);
2907
2908
  0 === Hn(n) ? kr(_o(e)) : Dr(_o(e), n);
2908
2909
  }, exports.db_save_persistent_attrs = function(e, t) {
2909
- let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = $r(_o(e), null, !1);
2910
+ let n = Rr(e, yt(e, y.SDF_PERSIST), t, !1), r = xr(_o(e), null, !1);
2910
2911
  return r && Xn(r) && Gn(n, r), Dr(_o(e), n);
2911
2912
  }, exports.debounce = function(e, t = 0, n = !1) {
2912
2913
  let r = null, o = null, s = null;
@@ -2992,7 +2993,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2992
2993
  return o;
2993
2994
  }, exports.flat_key_join = function(e) {
2994
2995
  return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : so(e)).join("`") : "";
2995
- }, exports.flat_key_split = lo, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = ye, 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) {
2996
+ }, 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) {
2996
2997
  if (!e) return {
2997
2998
  top: 0,
2998
2999
  left: 0,
@@ -3014,13 +3015,13 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3014
3015
  }, exports.get_function_name = no, exports.get_now = function() {
3015
3016
  return Math.floor(Date.now() / 1e3);
3016
3017
  }, exports.gobj_bottom_gobj = st, exports.gobj_change_parent = function(e, n) {
3017
- 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) && En(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);
3018
- }, exports.gobj_change_state = xt, exports.gobj_command = function(e, n, o, s) {
3018
+ 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);
3019
+ }, exports.gobj_change_state = $t, exports.gobj_command = function(e, n, o, s) {
3019
3020
  if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
3020
3021
  if (function(e) {
3021
3022
  return F > 1 || !!e && !!(M(e) & C.TRACE_COMMANDS);
3022
3023
  }(e) || q(e, null) && !H(s, null)) {
3023
- let r = $n(n);
3024
+ let r = xn(n);
3024
3025
  I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", We(e) ? "" : "!!", Ze(e), null !== r ? r : n, Ze(s))), J(e) && Ln(o);
3025
3026
  }
3026
3027
  return e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Ze(e)), 0, 0) : r(0, -1, t("%s: command table not available", Ze(e)), 0, 0);
@@ -3034,7 +3035,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3034
3035
  return ke(e, t, n, r, w.gobj_flag_volatil);
3035
3036
  }, exports.gobj_create_yuno = function(e, t, n) {
3036
3037
  return ke(e, t, n, null, w.gobj_flag_yuno);
3037
- }, exports.gobj_current_state = $t, exports.gobj_default_service = Oe, exports.gobj_deliver_posted_events = Pt, exports.gobj_destroy = Ie, exports.gobj_find_child = dt, exports.gobj_find_gobj = function(e, t) {
3038
+ }, exports.gobj_current_state = xt, exports.gobj_default_service = Oe, exports.gobj_deliver_posted_events = Pt, exports.gobj_destroy = Ie, exports.gobj_find_child = dt, exports.gobj_find_gobj = function(e, t) {
3038
3039
  if (lr(t)) return null;
3039
3040
  const n = t.toLowerCase();
3040
3041
  return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? d : bt(d, t);
@@ -3048,12 +3049,12 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3048
3049
  let t = Ht(e, null, null, null);
3049
3050
  for (let n = 0; n < t.length; n++) {
3050
3051
  let r = t[n], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3051
- Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3052
+ Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3052
3053
  }
3053
3054
  let n = zt(e, 0, null, 0);
3054
3055
  for (let t = 0; t < n.length; t++) {
3055
3056
  let r = n[t], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3056
- Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3057
+ Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3057
3058
  }
3058
3059
  return {
3059
3060
  subscriptions: t,
@@ -3085,7 +3086,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3085
3086
  }(n, e), n;
3086
3087
  }, exports.gobj_match_gobj = pt, exports.gobj_name = Qe, exports.gobj_parent = tt, exports.gobj_pause = Me, exports.gobj_play = Ge, exports.gobj_post_event = Lt, exports.gobj_posted_events_size = function() {
3087
3088
  return It.length;
3088
- }, exports.gobj_publish_event = Qt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = Et, exports.gobj_read_bool_attr = yt, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
3089
+ }, exports.gobj_publish_event = Qt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = yt, exports.gobj_read_bool_attr = Et, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
3089
3090
  return Ye(e) ? _ ? _(e, t) : -1 : (mn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
3090
3091
  }, exports.gobj_repr_global_trace_levels = function() {
3091
3092
  return L.map(([e, t, n]) => ({
@@ -3103,8 +3104,8 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3103
3104
  s.name && (n && s.flag & n || (-1 === t || s.flag & t) && (_e(e, e.jn_attrs, s), Xn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, s.name) && (e.priv[s.name] = e.jn_attrs[s.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, s.name)));
3104
3105
  }
3105
3106
  return 0;
3106
- }(e, E.SDF_VOLATIL, 0);
3107
- }, exports.gobj_save_persistent_attrs = xe, exports.gobj_search_path = bt, exports.gobj_send_event = Ut, exports.gobj_services = function() {
3107
+ }(e, y.SDF_VOLATIL, 0);
3108
+ }, exports.gobj_save_persistent_attrs = $e, exports.gobj_search_path = bt, exports.gobj_send_event = Ut, exports.gobj_services = function() {
3108
3109
  let e = [];
3109
3110
  for (const t of Object.keys(p)) Jn(e, t);
3110
3111
  return e;
@@ -3121,21 +3122,21 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3121
3122
  }, exports.gobj_set_trace_machine_format = function(e) {
3122
3123
  A = 1 === Number(e) ? 1 : 0;
3123
3124
  }, exports.gobj_short_name = Ze, exports.gobj_start = Ce, exports.gobj_start_children = function(e) {
3124
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Le, 0, 0);
3125
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, $.WALK_FIRST2LAST, Le, 0, 0);
3125
3126
  }, exports.gobj_start_tree = function(e) {
3126
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", et(e))), e.gclass.gclass_flag & S.gcflag_manual_start || e.disabled ? 0 : (e.running || Ce(e), at(e, x.WALK_TOP2BOTTOM, Pe, 0, 0)));
3127
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", et(e))), e.gclass.gclass_flag & S.gcflag_manual_start || e.disabled ? 0 : (e.running || Ce(e), at(e, $.WALK_TOP2BOTTOM, Pe, 0, 0)));
3127
3128
  }, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
3128
3129
  l = t, i = n, _ = r, a = o, u = s, c = g;
3129
3130
  const p = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
3130
3131
  for (let e = 0; e < p.length; e++) {
3131
3132
  let t = p[e][0], n = p[e][1];
3132
- Ee(f, t, n);
3133
+ ye(f, t, n);
3133
3134
  }
3134
3135
  return 0;
3135
3136
  }, exports.gobj_stats = function(e, n, r, s) {
3136
3137
  return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Ze(e)), 0, 0);
3137
3138
  }, exports.gobj_stop = Ue, exports.gobj_stop_children = Ve, exports.gobj_stop_tree = function(e) {
3138
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", et(e))), We(e) && Ue(e), at(e, x.WALK_TOP2BOTTOM, Fe, 0, 0));
3139
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", et(e))), We(e) && Ue(e), at(e, $.WALK_TOP2BOTTOM, Fe, 0, 0));
3139
3140
  }, exports.gobj_subscribe_event = Jt, exports.gobj_trace_level = M, exports.gobj_trace_machine_format = function() {
3140
3141
  return A;
3141
3142
  }, exports.gobj_trace_no_level = W, exports.gobj_unsubscribe_event = function(e, t, n, r) {
@@ -3180,18 +3181,13 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3180
3181
  }, exports.is_secret_name = Sn, exports.is_string = er, exports.jdb_delete = function(e, t, n, r) {
3181
3182
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3182
3183
  if (!o) return mn("jdb_delete: topic not found: " + t), null;
3183
- if (lr(r.id)) return mn("jdb_delete: record without id: " + r), yn(r), null;
3184
+ if (lr(r.id)) return mn("jdb_delete: record without id: " + r), En(r), null;
3184
3185
  if (!er(n)) return mn(`jdb_delete: path must be a string: ${String(n)}`), null;
3185
3186
  let s, l = n.split("`"), i = o;
3186
3187
  for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, s, !1);
3187
- if (0 === l.length && i) if (Zn(i)) {
3188
- let e = Cr(i, r.id);
3189
- e >= 0 && i.splice(e, 1);
3190
- } else {
3191
- let t = jr(null, i, e.hook, null, 0), n = Cr(t, r.id);
3192
- n >= 0 && t.splice(n, 1);
3193
- }
3194
- return o;
3188
+ if (!i || 0 !== l.length) return mn(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
3189
+ let _ = Zn(i) ? i : jr(null, i, e.hook, null, 0), a = Cr(_, r.id);
3190
+ return a < 0 ? (mn(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (_.splice(a, 1), o);
3195
3191
  }, exports.jdb_get = function(e, t, n, r) {
3196
3192
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3197
3193
  return o ? (void 0 === r && (r = !0), Kr(o, e.hook, n, r)) : (mn("jdb_get: topic not found: " + t), null);
@@ -3200,30 +3196,32 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3200
3196
  return r ? n < r.length ? r[n] : {} : (mn("jdb_get_by_idx: topic not found: " + t), null);
3201
3197
  }, exports.jdb_get_topic = function(e, t) {
3202
3198
  let n = jr(null, e, "topics", null, 0);
3203
- if (!n) return mn("jdb topics section not found"), yn(e), null;
3204
- return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), yn(n), null);
3199
+ if (!n) return mn("jdb topics section not found"), En(e), null;
3200
+ return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), En(n), null);
3205
3201
  }, exports.jdb_init = function(e, t, n) {
3206
3202
  n && (e = Pn(e));
3207
3203
  let r = jr(null, e, "type", [], Xt.KW_CREATE);
3208
- yr(null, e, "hook", "data", Xt.KW_CREATE);
3204
+ Er(null, e, "hook", "data", Xt.KW_CREATE);
3209
3205
  let o = jr(null, e, "schema", {}, Xt.KW_CREATE), s = jr(null, e, "topics", {}, Xt.KW_CREATE);
3210
3206
  return Wr(o, function(e, t, n, o) {
3211
- "__" !== t.substring(0, 2) && jr(null, s, o, Pn(r), Xt.KW_CREATE);
3207
+ "__" === t.substring(0, 2) || Xn(n) || jr(null, s, o, Pn(r), Xt.KW_CREATE);
3212
3208
  }, t), e;
3213
3209
  }, exports.jdb_update = function(e, t, n, r) {
3214
3210
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3215
3211
  if (!o) return mn("jdb_update: topic not found: " + t), null;
3216
- if (lr(r.id)) return mn("jdb_update: record without id: " + r), yn(r), null;
3212
+ if (lr(r.id)) return mn("jdb_update: record without id: " + r), En(r), null;
3217
3213
  if (!er(n)) return mn(`jdb_update: path must be a string: ${String(n)}`), null;
3218
- let s, l = n.split("`"), i = o;
3219
- for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, [], Xt.KW_CREATE)), i = Kr(i, null, s, !1);
3220
- if (0 === l.length && i) if (Zn(i)) i.push(r);
3221
- else if (i.id === r.id) Fn(i, r);
3214
+ let s, l, i = n.split("`"), _ = o;
3215
+ for (; (s = i.shift()) && !lr(s) && _;) Xn(_) && (_ = jr(null, _, e.hook, null, 0)), _ = Kr(_, null, s, !1);
3216
+ if (!_ || 0 !== i.length) return mn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
3217
+ if (Zn(_)) l = _;
3222
3218
  else {
3223
- let t = jr(null, i, e.hook, [], Xt.KW_CREATE), n = Kr(t, e.hook, r.id, !1);
3224
- n ? Fn(n, r) : t.push(r);
3219
+ if (_.id === r.id) return Fn(_, r), o;
3220
+ if (l = jr(null, _, e.hook, null, 0), null == l) l = [], Kn(_, e.hook, l);
3221
+ else if (!Zn(l)) return mn(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
3225
3222
  }
3226
- return o;
3223
+ let a = Kr(l, e.hook, r.id, !1);
3224
+ return a ? Fn(a, r) : l.push(r), o;
3227
3225
  }, exports.json2flat = function(e) {
3228
3226
  const t = {}, n = (e, r, o) => {
3229
3227
  if (o > ro) throw new Error("json2flat: deeper than 256");
@@ -3258,7 +3256,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3258
3256
  } catch (e) {
3259
3257
  return null;
3260
3258
  }
3261
- }, exports.jwtDecode = Yr, exports.kw_clone_by_keys = Rr, exports.kw_clone_by_not_keys = xr, exports.kw_collect = function(e, t, n, r) {
3259
+ }, exports.jwtDecode = Yr, exports.kw_clone_by_keys = Rr, exports.kw_clone_by_not_keys = $r, exports.kw_collect = function(e, t, n, r) {
3262
3260
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3263
3261
  r || (r = Nr);
3264
3262
  let o = [];
@@ -3275,12 +3273,12 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3275
3273
  if (!n || !Zn(t)) return r && mn("item NULL or kw_list is not a list"), -1;
3276
3274
  for (let e = 0; e < t.length; e++) if (Un(n, t[e])) return e;
3277
3275
  return r && mn("item not found in this list"), -1;
3278
- }, 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 = Er, exports.kw_get_list = function(e, t, n, r, o) {
3276
+ }, 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) {
3279
3277
  e && !sr(e) && mn("GObj bad instanceof");
3280
3278
  let s = br(e, t, n, !1);
3281
3279
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT;
3282
3280
  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);
3283
- }, exports.kw_get_local_storage_value = $r, exports.kw_get_pointer = Tr, exports.kw_get_real = function(e, t, n, r, o) {
3281
+ }, exports.kw_get_local_storage_value = xr, exports.kw_get_pointer = Tr, exports.kw_get_real = function(e, t, n, r, o) {
3284
3282
  e && !sr(e) && mn("GObj bad instanceof");
3285
3283
  let s = br(e, t, n, !1);
3286
3284
  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;
@@ -3303,7 +3301,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3303
3301
  }
3304
3302
  }
3305
3303
  return _ && mr(e, t, n), u;
3306
- }, exports.kw_get_str = yr, 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) {
3304
+ }, 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) {
3307
3305
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3308
3306
  r || (r = Nr);
3309
3307
  let o = [];
@@ -3328,7 +3326,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3328
3326
  else Zn(t) && t.forEach(function(t) {
3329
3327
  if (er(t)) lr(t) || n.push(t);
3330
3328
  else if (Xn(t)) {
3331
- let r = yr(e, t, "id", 0, 0);
3329
+ let r = Er(e, t, "id", 0, 0);
3332
3330
  r && n.push(r);
3333
3331
  }
3334
3332
  });
@@ -3338,7 +3336,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3338
3336
  let r = {};
3339
3337
  if (lr(n) || (t = br(e, t, n)), Xn(t)) r = t;
3340
3338
  else if (Zn(t)) for (let n = 0; n < t.length; n++) {
3341
- let o = t[n], s = yr(e, o, "id", "", Xt.KW_REQUIRED);
3339
+ let o = t[n], s = Er(e, o, "id", "", Xt.KW_REQUIRED);
3342
3340
  lr(s) || pr(r, s, o);
3343
3341
  }
3344
3342
  else mn(`${Ze(e)} kwid_new_dict: data type unknown`);
@@ -3401,10 +3399,10 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3401
3399
  else n && n(r.status);
3402
3400
  var e;
3403
3401
  }, r.send();
3404
- }, exports.log_debug = En, exports.log_error = mn, exports.log_info = function(e, ...t) {
3402
+ }, exports.log_debug = yn, exports.log_error = mn, exports.log_info = function(e, ...t) {
3405
3403
  let n = bn(e, ...t), r = Zr();
3406
3404
  nn && un("info", n) && nn("%c" + r + " INFO: " + String(n), "color:cyan"), fn("info", n, r);
3407
- }, 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) {
3405
+ }, exports.log_warning = hn, exports.mask_secrets_inline = xn, 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) {
3408
3406
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3409
3407
  }, exports.refresh_language = function(e, t) {
3410
3408
  if (!or(t)) return void mn("You must supply a translation function");
@@ -3536,23 +3534,23 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3536
3534
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3537
3535
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3538
3536
  [0, 0]
3539
- ], t, Eo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3537
+ ], t, yo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3540
3538
  }("C_TIMER");
3541
3539
  }, exports.register_c_yuno = function() {
3542
3540
  return function(e) {
3543
3541
  if (So) return mn(`GClass ALREADY created: ${e}`), -1;
3544
3542
  const t = [["ST_IDLE", [[
3545
3543
  "EV_TIMEOUT_PERIODIC",
3546
- xo,
3544
+ $o,
3547
3545
  null
3548
3546
  ]]]];
3549
- 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;
3547
+ return (So = ge(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, xo, 0, jo, Oo, 0, 0, 0, 0)) ? 0 : -1;
3550
3548
  }("C_YUNO");
3551
3549
  }, exports.safeSrc = function(e) {
3552
3550
  if (!e) return "";
3553
3551
  const t = String(e).trim();
3554
3552
  return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3555
- }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
3553
+ }, exports.sdata_flag_t = y, exports.send_http_json_post = function(e, t, n) {
3556
3554
  let r = new XMLHttpRequest();
3557
3555
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
3558
3556
  4 === r.readyState && n(r.status, r.responseText);
@@ -3576,7 +3574,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3576
3574
  } else on = e;
3577
3575
  }, exports.set_remote_log_functions = pn, exports.set_strings_are_text = function(e) {
3578
3576
  zr = !!e;
3579
- }, exports.set_timeout = yo, 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() {
3577
+ }, 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() {
3580
3578
  return zr;
3581
3579
  }, exports.strncmp = function(e, t, n) {
3582
3580
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
@@ -3633,7 +3631,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3633
3631
  total: _
3634
3632
  };
3635
3633
  } };
3636
- }, exports.trace_json = Tn, exports.trace_json_masked = Ln, exports.trace_level_t = C, exports.trace_msg = yn, exports.treedb_decoder_fkey = ao, exports.treedb_decoder_hook = function(e, t) {
3634
+ }, 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) {
3637
3635
  if (er(t)) {
3638
3636
  if (-1 === t.indexOf("^")) {
3639
3637
  let n, r = e.hook;
@@ -3670,6 +3668,6 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3670
3668
  return Qn(e);
3671
3669
  }, exports.vsprintf = function(e, n) {
3672
3670
  return t.apply(null, [e].concat(n || []));
3673
- }, exports.walk_type_t = x;
3671
+ }, exports.walk_type_t = $;
3674
3672
 
3675
3673
  //# sourceMappingURL=gobj-js.cjs.min.js.map