@yuneta/gobj-js 7.26.8 → 7.26.10

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 y = Object.freeze({
143
+ var E = Object.freeze({
144
144
  SDF_NOTACCESS: 1,
145
145
  SDF_RD: 2,
146
146
  SDF_WR: 4,
@@ -163,12 +163,12 @@ var y = Object.freeze({
163
163
  SDF_AUTHZ_S: 524288,
164
164
  SDF_AUTHZ_RS: 1048576
165
165
  });
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 {
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 {
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 E(0, null), v = (e, t, n, r, o) => new E(e, t, n, r, o), j = class {
171
+ }, T = () => new y(0, null), v = (e, t, n, r, o) => new y(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
  }
@@ -194,12 +194,12 @@ var E = class {
194
194
  obflag_destroying: 1,
195
195
  obflag_destroyed: 2,
196
196
  obflag_created: 4
197
- }), x = Object.freeze({
197
+ }), R = Object.freeze({
198
198
  EVF_NO_WARN_SUBS: 1,
199
199
  EVF_OUTPUT_EVENT: 2,
200
200
  EVF_SYSTEM_EVENT: 4,
201
201
  EVF_PUBLIC_EVENT: 8
202
- }), R = Object.freeze({
202
+ }), x = Object.freeze({
203
203
  WALK_TOP2BOTTOM: 1,
204
204
  WALK_BOTTOM2TOP: 2,
205
205
  WALK_BYLEVEL: 4,
@@ -220,7 +220,7 @@ var E = class {
220
220
  };
221
221
  var A = 1;
222
222
  function I(e) {
223
- Xn(e) && (e = JSON.stringify(e)), yn(" ".repeat(Math.max(1, 2 * m)) + String(e));
223
+ Xn(e) && (e = JSON.stringify(e)), En(" ".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
- Ee(c, n, r);
560
+ ye(c, n, r);
561
561
  }
562
562
  }
563
563
  if (!c.fsm_checked) {
@@ -601,11 +601,11 @@ function he(e, t, n, r, o) {
601
601
  let s = de(e, t);
602
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);
603
603
  }
604
- function ye(e, t, n) {
604
+ function Ee(e, t, n) {
605
605
  lr(t) || e.push(new k(t, n));
606
606
  }
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);
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);
609
609
  }
610
610
  function Te(e, t) {
611
611
  if (!(e instanceof j)) return mn("Cannot add state, typeof not GClass"), 0;
@@ -629,7 +629,7 @@ function ve(e) {
629
629
  }
630
630
  for (let n = 0; n < e.dl_events.length; n++) {
631
631
  let r = e.dl_events[n];
632
- if (!lr(r.event_name) && (tr(r.event_flag) || (mn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & x.EVF_OUTPUT_EVENT))) {
632
+ if (!lr(r.event_name) && (tr(r.event_flag) || (mn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
633
633
  let n = !1;
634
634
  for (let t = 0; t < e.dl_states.length; t++) {
635
635
  let o = e.dl_states[t];
@@ -662,11 +662,11 @@ function we(e) {
662
662
  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
- function xe(e, t) {
665
+ 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 Re(e, t) {
669
+ function xe(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
672
  function $e(e, t) {
@@ -679,7 +679,7 @@ 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 & y.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 & E.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
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));
@@ -731,7 +731,7 @@ function Ie(e) {
731
731
  r && r.gclass.gmt.mt_child_removed && (n && I(t("👦👦🔴 child_removed(%s): %s", et(r), Ze(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
732
732
  let t = Qe(e);
733
733
  t = t.toLowerCase(), p[t] ? delete p[t] : mn(`"service NOT found in register": ${t}`);
734
- }(e), e === b && (b = null), qt(e, e.dl_subscriptions, !0), qt(e, e.dl_subscribings, !0), r && (xe(r, e), nt(e) && (st(r) !== e || ot(r) || lt(r, null))), function(e) {
734
+ }(e), e === b && (b = null), qt(e, e.dl_subscriptions, !0), qt(e, e.dl_subscribings, !0), r && (Re(r, e), nt(e) && (st(r) !== e || ot(r) || lt(r, null))), function(e) {
735
735
  let t = e.dl_children.slice();
736
736
  for (let e = 0; e < t.length; e++) {
737
737
  let n = t[e];
@@ -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, R.WALK_FIRST2LAST, Fe, 0, 0);
767
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, x.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 & R.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
859
+ if (t & x.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 & R.WALK_LAST2FIRST) {
874
+ if (t & x.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 & R.WALK_BYLEVEL) return ft(e, t, n, r, o);
880
+ if (t & x.WALK_BYLEVEL) return ft(e, t, n, r, o);
881
881
  let s, l;
882
- if (t & R.WALK_BOTTOM2TOP) for (let i = e.length; i > 0; i--) {
882
+ if (t & x.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
  }
@@ -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 yt(e, t, n) {
947
+ function Et(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 yt(e, t, n) {
955
955
  }
956
956
  return r;
957
957
  }
958
- function Et(e, t) {
958
+ function yt(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);
@@ -1016,11 +1016,11 @@ function Nt(e, t, n) {
1016
1016
  let r = ce(e, t, !1);
1017
1017
  return r ? (r[t] = parseInt(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);
1018
1018
  }
1019
- function xt(e, t, n) {
1019
+ 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 Rt(e, n) {
1023
+ function xt(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);
@@ -1053,7 +1053,7 @@ function kt(e, t, n) {
1053
1053
  }
1054
1054
  function At(e, t, n) {
1055
1055
  let r = Dt(e, t, !1);
1056
- return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & x.EVF_OUTPUT_EVENT);
1056
+ return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & R.EVF_OUTPUT_EVENT);
1057
1057
  }
1058
1058
  var It = [], Ct = !1;
1059
1059
  function Lt(e, n, r, o) {
@@ -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 && Rt(e, i.next_state);
1102
+ i.next_state && xt(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 !== Er(null, e, "event", "") && (u = !1), r && r !== Er(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 !== yr(null, e, "event", "") && (u = !1), r && r !== yr(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 = Er(e, n, "event", "", Xt.KW_REQUIRED);
1193
- if (!!(yr(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 = yr(e, n, "event", "", Xt.KW_REQUIRED);
1193
+ if (!!(Er(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);
@@ -1210,9 +1210,9 @@ function Jt(e, n, r, o) {
1210
1210
  if (Object.keys(r).forEach((t) => {
1211
1211
  s.has(t) || mn(`${Ze(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
1212
1212
  }), lr(n)) n = "";
1213
- else if (!(At(e, n, x.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;
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 (yr(e, i[t], "subs_flag", 0, Xt.KW_REQUIRED) & Ft.__hard_subscription__) {
1215
+ for (let t = 0; t < i.length; t++) if (Er(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 = Er(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 = yr(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 = Er(e, n, "__rename_event_name__", "");
1230
+ let l = yr(e, n, "__rename_event_name__", "");
1231
1231
  if (!lr(l)) {
1232
1232
  let r = Vt(l);
1233
1233
  if (r) {
@@ -1271,7 +1271,7 @@ function Qt(e, n, r) {
1271
1271
  if (Xn(r) || (r = {}), !e || e.obflag & (N.obflag_destroyed | N.obflag_destroying)) return mn("gobj NULL or DESTROYED"), -1;
1272
1272
  if (lr(n)) return mn(`${Ze(e)}: event EMPTY`), -1;
1273
1273
  let o = Dt(e, n, !0);
1274
- if (!(o && o.event_flag & (x.EVF_SYSTEM_EVENT | x.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${Ze(e)}, ev ${n}`), -1;
1274
+ if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${Ze(e)}, ev ${n}`), -1;
1275
1275
  let s = (Y(e) || q(e, n)) && !H(e, n);
1276
1276
  if (s && (I(1 === A ? t("🔝🔝 %s %s%s %s", n || "", e.running ? "" : "!!", Ze(e), e.current_state.state_name) : t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Xe(e), Qe(e), e.current_state.state_name, "", n || "", "")), J(e) && Hn(r) && Ln(r)), e.gclass.gmt.mt_publish_event) {
1277
1277
  let t = e.gclass.gmt.mt_publish_event(e, n, 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 = yr(e, a, "subs_flag", 0, Xt.KW_REQUIRED), f = Er(e, a, "event", "", Xt.KW_REQUIRED);
1290
+ let c = Er(e, a, "subs_flag", 0, Xt.KW_REQUIRED), f = yr(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;
@@ -1296,7 +1296,7 @@ function Qt(e, n, r) {
1296
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
- if (d && d.event_flag & x.EVF_SYSTEM_EVENT && !kt(u, d.event_name, 0)) continue;
1299
+ if (d && d.event_flag & R.EVF_SYSTEM_EVENT && !kt(u, d.event_name, 0)) continue;
1300
1300
  let b = r;
1301
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));
1302
1302
  let m = Ut(u, g, b, e);
@@ -1307,7 +1307,7 @@ function Qt(e, n, r) {
1307
1307
  if (_ += m, i++, ot(e)) break;
1308
1308
  }
1309
1309
  }
1310
- return i || o && o.event_flag & x.EVF_NO_WARN_SUBS || hn(`${Ze(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
1310
+ return i || o && o.event_flag & R.EVF_NO_WARN_SUBS || hn(`${Ze(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
1311
1311
  }
1312
1312
  var Xt = Object.freeze({
1313
1313
  KW_REQUIRED: 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 yn(e, ...t) {
1411
+ function En(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 En(e, ...t) {
1415
+ function yn(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, xn = 4194304, Rn = "<not shown: too large to mask>";
1497
+ var Nn = 128, Rn = 4194304, xn = "<not shown: too large to mask>";
1498
1498
  function $n(e) {
1499
1499
  if ("string" != typeof e || e.indexOf("=") < 0) return null;
1500
- if (e.length > xn) return Rn;
1500
+ if (e.length > Rn) return xn;
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,7 +1531,7 @@ 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, Rn;
1534
+ if (e.length > r.left) return r.left = 0, xn;
1535
1535
  r.left -= e.length;
1536
1536
  let t = $n(e);
1537
1537
  return null !== t ? t : 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 Rn;
1545
+ if (r.left <= 0) return xn;
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(Rn);
1564
+ i && s.push(xn);
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,13 +1575,13 @@ 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>"] = Rn);
1578
+ i && (s["<more>"] = xn);
1579
1579
  }
1580
1580
  return l || i || (s = e), t.set(e, s), s;
1581
1581
  }
1582
1582
  function Cn(e) {
1583
1583
  try {
1584
- return In(e, /* @__PURE__ */ new WeakMap(), 0, { left: xn });
1584
+ return In(e, /* @__PURE__ */ new WeakMap(), 0, { left: Rn });
1585
1585
  } catch (e) {
1586
1586
  return kn;
1587
1587
  }
@@ -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 yr(e, t, n, r, o) {
1787
+ function Er(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 yr(e, t, n, r, o) {
1813
1813
  }
1814
1814
  return _ && mr(e, t, n), u;
1815
1815
  }
1816
- function Er(e, t, n, r, o) {
1816
+ function yr(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];
@@ -1883,7 +1884,19 @@ function Sr(e, t, n, r, o) {
1883
1884
  if (e && !sr(e) && mn("GObj bad instanceof"), !Xn(t)) return mn("kw is not an object"), -1;
1884
1885
  let s = br(e, t, n, !1);
1885
1886
  if (void 0 === s) {
1886
- if (!er(n)) return -1;
1887
+ if (!er(n) || function(e, t) {
1888
+ let n = t.split("`"), r = e;
1889
+ for (let e = 0; e < n.length - 1; e++) {
1890
+ if (Zn(r)) {
1891
+ const t = dr(r, n[e]);
1892
+ if (t < 0) return !1;
1893
+ r = r[t];
1894
+ } else r = Object.prototype.hasOwnProperty.call(r, n[e]) ? r[n[e]] : void 0;
1895
+ if (null == r) return !1;
1896
+ if (!Xn(r) && !Zn(r)) return !0;
1897
+ }
1898
+ return !1;
1899
+ }(t, n)) return -1;
1887
1900
  if (s = {}, Or(e, t, n, s) < 0) return -1;
1888
1901
  }
1889
1902
  return Xn(s) ? (pr(s, r, o), 0) : (mn(`subdict is not an object: '${n}'`), -1);
@@ -1921,7 +1934,7 @@ function wr(e, n, r) {
1921
1934
  function Nr(e, t) {
1922
1935
  return 0 === Qn(t) || wr(e, t, "");
1923
1936
  }
1924
- function xr(e, t, n, r) {
1937
+ function Rr(e, t, n, r) {
1925
1938
  e && !sr(e) && mn("GObj bad instanceof");
1926
1939
  let o = {};
1927
1940
  if (er(n) && !lr(n)) {
@@ -1937,7 +1950,7 @@ function xr(e, t, n, r) {
1937
1950
  }
1938
1951
  return o;
1939
1952
  }
1940
- function Rr(e, t, n, r) {
1953
+ function xr(e, t, n, r) {
1941
1954
  let o = {};
1942
1955
  if (!Xn(t)) return o;
1943
1956
  if (Fn(o, t), er(n) && !lr(n)) {
@@ -1995,7 +2008,7 @@ function Ir(e, t, n, r, o) {
1995
2008
  let s = [];
1996
2009
  if (Zn(t)) for (let l = 0; l < t.length; l++) {
1997
2010
  let i, _ = t[l];
1998
- if (Xn(_)) i = Er(e, _, "id", "", 0);
2011
+ if (Xn(_)) i = yr(e, _, "id", "", 0);
1999
2012
  else {
2000
2013
  if (!er(_)) continue;
2001
2014
  i = _;
@@ -2061,7 +2074,7 @@ function Gr(e, t, n) {
2061
2074
  return lr(n) ? mr(e, t, "__md_iev__`__msg_type__") : Sr(e, t, "__md_iev__", "__msg_type__", n), 0;
2062
2075
  }
2063
2076
  function Mr(e, t) {
2064
- return Er(e, t, "__md_iev__`__msg_type__", "", 0);
2077
+ return yr(e, t, "__md_iev__`__msg_type__", "", 0);
2065
2078
  }
2066
2079
  function Wr(e, t, n) {
2067
2080
  void 0 !== n && er(n) || (n = "");
@@ -2338,17 +2351,17 @@ function ho(e, t, n, r) {
2338
2351
  Ut(e, "EV_TIMEOUT", {}, e);
2339
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;
2340
2353
  }
2341
- var yo = {
2354
+ var Eo = {
2342
2355
  mt_create: function(e) {
2343
2356
  let t = e.priv;
2344
2357
  const n = jt(e, "subscriber");
2345
- n && Jt(e, null, {}, n), t.periodic = Et(e, "periodic"), t.msec = Tt(e, "msec");
2358
+ n && Jt(e, null, {}, n), t.periodic = yt(e, "periodic"), t.msec = Tt(e, "msec");
2346
2359
  },
2347
2360
  mt_writing: function(e, t) {
2348
2361
  let n = e.priv;
2349
2362
  switch (t) {
2350
2363
  case "periodic":
2351
- n.periodic = Et(e, "periodic");
2364
+ n.periodic = yt(e, "periodic");
2352
2365
  break;
2353
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() {
2354
2367
  Ut(e, "EV_TIMEOUT", {}, e);
@@ -2363,7 +2376,7 @@ var yo = {
2363
2376
  },
2364
2377
  mt_destroy: function(e) {}
2365
2378
  };
2366
- function Eo(e, t) {
2379
+ function yo(e, t) {
2367
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);
2368
2381
  }
2369
2382
  function To(e, t) {
@@ -2386,8 +2399,8 @@ var jo = [
2386
2399
  v(h.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
2387
2400
  v(h.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
2388
2401
  v(h.DTP_LIST, "required_services", 0, "[]", "Required services"),
2389
- v(h.DTP_DICT, "trace_levels", y.SDF_PERSIST, "{}", "Trace levels"),
2390
- v(h.DTP_DICT, "no_trace_levels", y.SDF_PERSIST, "{}", "No trace levels"),
2402
+ v(h.DTP_DICT, "trace_levels", E.SDF_PERSIST, "{}", "Trace levels"),
2403
+ v(h.DTP_DICT, "no_trace_levels", E.SDF_PERSIST, "{}", "No trace levels"),
2391
2404
  v(h.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
2392
2405
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2393
2406
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
@@ -2395,23 +2408,23 @@ var jo = [
2395
2408
  ], Oo = { gobj_timer: null }, So = null;
2396
2409
  function wo(e, t, n, r) {
2397
2410
  let o = ht(e, t);
2398
- return Xn(o) || (o = {}), o[n] = r, Ot(e, t, o), Re(e, t);
2411
+ return Xn(o) || (o = {}), o[n] = r, Ot(e, t, o), xe(e, t);
2399
2412
  }
2400
2413
  function No(e) {
2401
2414
  if (!0 === e || !1 === e) return e;
2402
2415
  let t = String(null == e ? "" : e).toLowerCase();
2403
2416
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2404
2417
  }
2405
- function xo() {
2418
+ function Ro() {
2406
2419
  return `${He()}^${qe()}`;
2407
2420
  }
2408
- function Ro(e, t, n, r) {
2421
+ function xo(e, t, n, r) {
2409
2422
  return Qt(e, t, n), 0;
2410
2423
  }
2411
2424
  var $o = {
2412
2425
  mt_create: function(e) {
2413
2426
  let t = e.priv;
2414
- xt(e, "start_date", Zr()), xt(e, "node_uuid", to()), e.priv.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.periodic_timeout = ht(e, "periodic_timeout"), function(e) {
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) {
2415
2428
  let t = ht(e, "trace_levels");
2416
2429
  if (!Xn(t)) return 0;
2417
2430
  let n = t.__global_trace__;
@@ -2466,37 +2479,37 @@ var $o = {
2466
2479
  case "set-global-trace":
2467
2480
  case "set-global-no-trace": {
2468
2481
  let o = "set-global-no-trace" === t, s = n.level, l = No(n.set);
2469
- return s ? null === l ? r(0, -1, `${xo()}: bitmask set or re-set?`, null, null) : (o ? Q(s, l) : z(s, l)) < 0 ? r(0, -1, `${xo()}: 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, `${xo()}: what level?`, null, null);
2482
+ 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);
2470
2483
  }
2471
2484
  case "get-gclass-trace":
2472
2485
  case "get-gclass-no-trace":
2473
2486
  case "set-gclass-trace":
2474
2487
  case "set-gclass-no-trace": {
2475
2488
  let o = t.indexOf("no-trace") >= 0, s = n.gclass_name || n.gclass || "", l = je(s);
2476
- if (!l) return r(0, -1, `${xo()}: what gclass is '${s}'?`, null, null);
2489
+ if (!l) return r(0, -1, `${Ro()}: what gclass is '${s}'?`, null, null);
2477
2490
  if (0 === t.indexOf("get-")) return r(0, 0, null, null, o ? oe(l) : ne(l));
2478
2491
  let i = n.level, _ = No(n.set);
2479
- return i ? null === _ ? r(0, -1, `${xo()}: bitmask set or re-set?`, null, null) : (o ? le(l, i, _) : se(l, i, _)) < 0 ? r(0, -1, `${xo()}: 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, `${xo()}: what level?`, null, null);
2492
+ 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);
2480
2493
  }
2481
- default: return r(0, -1, `${xo()}: command not available: ${t}`, null, null);
2494
+ default: return r(0, -1, `${Ro()}: command not available: ${t}`, null, null);
2482
2495
  }
2483
2496
  }
2484
2497
  };
2485
2498
  var Do = "ievent_gate_stack", ko = [
2486
- v(h.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
2487
- v(h.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
2488
- v(h.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
2489
- v(h.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
2490
- v(h.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
2491
- v(h.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
2492
- v(h.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
2493
- v(h.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
2494
- v(h.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2495
- v(h.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2496
- 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."),
2497
- 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"),
2498
- 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"),
2499
- v(h.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
2499
+ v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2500
+ v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2501
+ v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
2502
+ v(h.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
2503
+ v(h.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
2504
+ v(h.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
2505
+ v(h.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
2506
+ v(h.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
2507
+ v(h.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2508
+ v(h.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2509
+ 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."),
2510
+ 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"),
2511
+ 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"),
2512
+ v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2500
2513
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2501
2514
  T()
2502
2515
  ], Ao = [
@@ -2521,7 +2534,7 @@ var Co = {
2521
2534
  function Po(e) {
2522
2535
  e.priv.websocket && mn("Websocket ALREADY setup");
2523
2536
  const t = vt(e, "url");
2524
- yn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2537
+ En(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2525
2538
  const n = ++e.priv.ws_seq;
2526
2539
  let r;
2527
2540
  try {
@@ -2533,7 +2546,7 @@ function Po(e) {
2533
2546
  code: 1006,
2534
2547
  reason: r.message,
2535
2548
  was_clean: !1
2536
- }, e) < 0 && Eo(e.priv.gobj_timer, qo(e)), null;
2549
+ }, e) < 0 && yo(e.priv.gobj_timer, qo(e)), null;
2537
2550
  }
2538
2551
  return r ? (r.onopen = () => {
2539
2552
  n !== e.priv.ws_seq || ot(e) || Ut(e, "EV_ON_OPEN", {
@@ -2546,7 +2559,7 @@ function Po(e) {
2546
2559
  data: r.data
2547
2560
  }, e);
2548
2561
  }, r.onclose = (r) => {
2549
- ot(e) || n === e.priv.ws_seq && (Et(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2562
+ ot(e) || n === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2550
2563
  url: t,
2551
2564
  ws_seq: n,
2552
2565
  code: r.code,
@@ -2558,7 +2571,7 @@ function Po(e) {
2558
2571
  function Uo(e, t = 1e3, n = "") {
2559
2572
  let r = e.priv, o = r.websocket;
2560
2573
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2561
- yn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2574
+ En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2562
2575
  try {
2563
2576
  o.close(t, n);
2564
2577
  } catch (t) {
@@ -2569,9 +2582,9 @@ function Uo(e, t = 1e3, n = "") {
2569
2582
  function Fo(e, t, n) {
2570
2583
  let r = Zr();
2571
2584
  try {
2572
- yn("\n" + r + " " + t + "\n"), Ln(n);
2585
+ En("\n" + r + " " + t + "\n"), Ln(n);
2573
2586
  } catch (e) {
2574
- yn("ERROR in trace_inter_event: " + e);
2587
+ En("ERROR in trace_inter_event: " + e);
2575
2588
  }
2576
2589
  }
2577
2590
  var Vo = class {
@@ -2631,7 +2644,7 @@ function Wo(e) {
2631
2644
  language: "undefined" != typeof window ? window.navigator.language : "",
2632
2645
  required_services: i
2633
2646
  };
2634
- 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
+ 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", _);
2635
2648
  }
2636
2649
  function Ko(e, t) {
2637
2650
  if (lr(t.event)) return -1;
@@ -2644,7 +2657,7 @@ function Yo(e, t, n, r) {
2644
2657
  return We(e) && (o.websocket = Po(e)), 0;
2645
2658
  }
2646
2659
  function Bo(e, t, n, r) {
2647
- return yn("Websocket opened: " + e.priv.url), Wo(e), 0;
2660
+ return En("Websocket opened: " + e.priv.url), Wo(e), 0;
2648
2661
  }
2649
2662
  function Jo(e, t, n, r) {
2650
2663
  let o = e.priv, s = n.url;
@@ -2661,7 +2674,7 @@ function Jo(e, t, n, r) {
2661
2674
  code: n.code,
2662
2675
  reason: n.reason,
2663
2676
  was_clean: n.was_clean
2664
- })), We(e) && Eo(o.gobj_timer, qo(e))), 0;
2677
+ })), We(e) && yo(o.gobj_timer, qo(e))), 0;
2665
2678
  }
2666
2679
  function qo(e) {
2667
2680
  let t = e.priv, n = Tt(e, "timeout_retry"), r = Tt(e, "timeout_retry_max");
@@ -2675,9 +2688,9 @@ function Ho(e, t, n, r) {
2675
2688
  function zo(e, t, n, r) {
2676
2689
  let o = e.priv;
2677
2690
  vo(o.gobj_timer);
2678
- let s = Vr(e, n, Do, !0), l = Er(e, s, "src_yuno", ""), i = Er(e, s, "src_role", ""), _ = Er(e, s, "src_service", "");
2679
- xt(e, "remote_yuno_name", l), xt(e, "remote_yuno_role", i), xt(e, "remote_yuno_service", _);
2680
- 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", {});
2691
+ let s = Vr(e, n, Do, !0), l = yr(e, s, "src_yuno", ""), i = yr(e, s, "src_role", ""), _ = yr(e, s, "src_service", "");
2692
+ Rt(e, "remote_yuno_name", l), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2693
+ 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", {});
2681
2694
  if (a < 0) {
2682
2695
  Uo(e);
2683
2696
  let t = {
@@ -2691,7 +2704,7 @@ function zo(e, t, n, r) {
2691
2704
  };
2692
2705
  rt(e) ? Ut(tt(e), "EV_ON_ID_NAK", t, e) : Qt(e, "EV_ON_ID_NAK", t);
2693
2706
  } else {
2694
- if (Rt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2707
+ if (xt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2695
2708
  o.inform_on_close = !0;
2696
2709
  let t = {
2697
2710
  username: c,
@@ -2734,21 +2747,21 @@ function Qo(e, t, n, r) {
2734
2747
  }
2735
2748
  let l = s.event, i = s.kw;
2736
2749
  if ("ST_SESSION" !== $t(e)) {
2737
- if (kt(e, l, x.EVF_PUBLIC_EVENT)) {
2750
+ if (kt(e, l, R.EVF_PUBLIC_EVENT)) {
2738
2751
  if (!(Ut(e, l, i, e) < 0)) return 0;
2739
2752
  } else mn(`${Ze(e)}: event UNKNOWN in not-session state ${l}`);
2740
2753
  return Uo(e), -1;
2741
2754
  }
2742
2755
  s = null;
2743
- let _ = Mr(e, i), a = Vr(e, i, Do), u = Er(e, a, "dst_role", "");
2756
+ let _ = Mr(e, i), a = Vr(e, i, Do), u = yr(e, a, "dst_role", "");
2744
2757
  if (u.toLowerCase() !== He().toLowerCase()) return mn(`"It's not my role, dst_role: ${u}, my_role: ${He()}`), 0;
2745
- let c = Er(e, a, "dst_service", "");
2758
+ let c = yr(e, a, "dst_service", "");
2746
2759
  if ("__subscribing__" === _) return hn(`${Ze(e)}: subscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2747
2760
  if ("__unsubscribing__" === _) return hn(`${Ze(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2748
- if (kt(e, l, x.EVF_PUBLIC_EVENT)) return Ut(e, l, i, e), 0;
2761
+ if (kt(e, l, R.EVF_PUBLIC_EVENT)) return Ut(e, l, i, e), 0;
2749
2762
  if (!lr(c)) {
2750
2763
  let t = Se(c, !1);
2751
- return t ? kt(t, l, x.EVF_PUBLIC_EVENT) ? (Ut(t, l, i, e), 0) : (mn(`${Ze(e)}: Service found but no event or not public, service '${Ze(t)}', ev '${l}'`), -1) : (hn(`${Ze(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${l}'`), 0);
2764
+ return t ? kt(t, l, R.EVF_PUBLIC_EVENT) ? (Ut(t, l, i, e), 0) : (mn(`${Ze(e)}: Service found but no event or not public, service '${Ze(t)}', ev '${l}'`), -1) : (hn(`${Ze(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${l}'`), 0);
2752
2765
  }
2753
2766
  return rt(e) ? Ut(tt(e), l, i, e) : Qt(e, l, i), 0;
2754
2767
  }
@@ -2761,7 +2774,7 @@ function Zo(e, t, n, r) {
2761
2774
  var es = {
2762
2775
  mt_create: function(e) {
2763
2776
  let t = e.priv;
2764
- 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"), xt(e, "wanted_yuno_name", t.remote_yuno_name), xt(e, "wanted_yuno_role", t.remote_yuno_role), xt(e, "wanted_yuno_service", t.remote_yuno_service);
2777
+ 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);
2765
2778
  const n = jt(e, "subscriber");
2766
2779
  n && Jt(e, null, {}, n);
2767
2780
  },
@@ -2798,7 +2811,7 @@ var es = {
2798
2811
  mt_stats: function(e, t, n, r) {
2799
2812
  if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2800
2813
  n || (n = {});
2801
- let o = Mo(e, Qe(r), Er(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2814
+ let o = Mo(e, Qe(r), yr(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2802
2815
  return s || (s = {}), Fr(e, n, "stats_stack", {
2803
2816
  stats: t,
2804
2817
  kw: s
@@ -2807,7 +2820,7 @@ var es = {
2807
2820
  mt_command_parser: function(e, t, n, r) {
2808
2821
  if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2809
2822
  n || (n = {});
2810
- let o = Mo(e, Qe(r), Er(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2823
+ let o = Mo(e, Qe(r), yr(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2811
2824
  return s || (s = {}), Fr(e, n, "command_stack", {
2812
2825
  command: t,
2813
2826
  kw: s
@@ -2817,7 +2830,7 @@ var es = {
2817
2830
  if ("ST_SESSION" !== $t(e)) return window.console.error("Not in session"), -1;
2818
2831
  if (n = Fn({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Pn(n.__md_iev__)), Vr(e, n, Do));
2819
2832
  else {
2820
- let o = Mo(e, Qe(r), Er(e, n, "__service__", 0, 0));
2833
+ let o = Mo(e, Qe(r), yr(e, n, "__service__", 0, 0));
2821
2834
  Wn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, Do, o);
2822
2835
  }
2823
2836
  return Gr(e, n, "__message__"), Go(e, t, n, r);
@@ -2836,7 +2849,7 @@ var es = {
2836
2849
  return Fr(e, r, Do, Mo(e, Qe(_), i)), Gr(e, r, "__unsubscribing__"), Go(e, t.event, r, e);
2837
2850
  }
2838
2851
  };
2839
- 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
+ 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__", {
2840
2853
  enumerable: !0,
2841
2854
  get: function() {
2842
2855
  return d;
@@ -2883,18 +2896,18 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2883
2896
  }), n;
2884
2897
  }, exports.current_timestamp = Zr, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2885
2898
  let n = $r(_o(e), null, !1), r = {};
2886
- return n && Xn(n) && (r = xr(e, n, t, !1)), r;
2899
+ return n && Xn(n) && (r = Rr(e, n, t, !1)), r;
2887
2900
  }, exports.db_load_persistent_attrs = function(e, t) {
2888
- let n = yt(e, y.SDF_PERSIST), r = $r(_o(e), null, !1);
2901
+ let n = Et(e, E.SDF_PERSIST), r = $r(_o(e), null, !1);
2889
2902
  if (r && Xn(r)) {
2890
- let o = xr(e, r, t, !1);
2891
- o = xr(e, o, n, !1), St(e, o, y.SDF_PERSIST);
2903
+ let o = Rr(e, r, t, !1);
2904
+ o = Rr(e, o, n, !1), St(e, o, E.SDF_PERSIST);
2892
2905
  }
2893
2906
  }, exports.db_remove_persistent_attrs = function(e, t) {
2894
- let n = Rr(e, $r(_o(e), null, !1), t, !1);
2907
+ let n = xr(e, $r(_o(e), null, !1), t, !1);
2895
2908
  0 === Hn(n) ? kr(_o(e)) : Dr(_o(e), n);
2896
2909
  }, exports.db_save_persistent_attrs = function(e, t) {
2897
- let n = xr(e, yt(e, y.SDF_PERSIST), t, !1), r = $r(_o(e), null, !1);
2910
+ let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = $r(_o(e), null, !1);
2898
2911
  return r && Xn(r) && Gn(n, r), Dr(_o(e), n);
2899
2912
  }, exports.debounce = function(e, t = 0, n = !1) {
2900
2913
  let r = null, o = null, s = null;
@@ -2919,7 +2932,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2919
2932
  return t;
2920
2933
  }, exports.empty_json = function(e) {
2921
2934
  return 0 === Qn(e);
2922
- }, exports.empty_string = lr, exports.escapeHtml = Br, exports.event_flag_t = x, exports.flat2json = function(e) {
2935
+ }, exports.empty_string = lr, exports.escapeHtml = Br, exports.event_flag_t = R, exports.flat2json = function(e) {
2923
2936
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2924
2937
  let t = null;
2925
2938
  for (const n of Object.keys(e)) {
@@ -2980,7 +2993,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2980
2993
  return o;
2981
2994
  }, exports.flat_key_join = function(e) {
2982
2995
  return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : so(e)).join("`") : "";
2983
- }, 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
+ }, 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) {
2984
2997
  if (!e) return {
2985
2998
  top: 0,
2986
2999
  left: 0,
@@ -3002,8 +3015,8 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3002
3015
  }, exports.get_function_name = no, exports.get_now = function() {
3003
3016
  return Math.floor(Date.now() / 1e3);
3004
3017
  }, exports.gobj_bottom_gobj = st, exports.gobj_change_parent = function(e, n) {
3005
- 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 && (xe(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);
3006
- }, exports.gobj_change_state = Rt, 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) && 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);
3019
+ }, exports.gobj_change_state = xt, exports.gobj_command = function(e, n, o, s) {
3007
3020
  if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
3008
3021
  if (function(e) {
3009
3022
  return F > 1 || !!e && !!(M(e) & C.TRACE_COMMANDS);
@@ -3036,12 +3049,12 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3036
3049
  let t = Ht(e, null, null, null);
3037
3050
  for (let n = 0; n < t.length; n++) {
3038
3051
  let r = t[n], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3039
- Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3052
+ Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3040
3053
  }
3041
3054
  let n = zt(e, 0, null, 0);
3042
3055
  for (let t = 0; t < n.length; t++) {
3043
3056
  let r = n[t], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3044
- Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3057
+ Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3045
3058
  }
3046
3059
  return {
3047
3060
  subscriptions: t,
@@ -3073,7 +3086,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3073
3086
  }(n, e), n;
3074
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() {
3075
3088
  return It.length;
3076
- }, 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
+ }, 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) {
3077
3090
  return Ye(e) ? _ ? _(e, t) : -1 : (mn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
3078
3091
  }, exports.gobj_repr_global_trace_levels = function() {
3079
3092
  return L.map(([e, t, n]) => ({
@@ -3091,8 +3104,8 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3091
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)));
3092
3105
  }
3093
3106
  return 0;
3094
- }(e, y.SDF_VOLATIL, 0);
3095
- }, exports.gobj_save_persistent_attrs = Re, exports.gobj_search_path = bt, exports.gobj_send_event = Ut, exports.gobj_services = function() {
3107
+ }(e, E.SDF_VOLATIL, 0);
3108
+ }, exports.gobj_save_persistent_attrs = xe, exports.gobj_search_path = bt, exports.gobj_send_event = Ut, exports.gobj_services = function() {
3096
3109
  let e = [];
3097
3110
  for (const t of Object.keys(p)) Jn(e, t);
3098
3111
  return e;
@@ -3109,21 +3122,21 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3109
3122
  }, exports.gobj_set_trace_machine_format = function(e) {
3110
3123
  A = 1 === Number(e) ? 1 : 0;
3111
3124
  }, exports.gobj_short_name = Ze, exports.gobj_start = Ce, exports.gobj_start_children = function(e) {
3112
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, R.WALK_FIRST2LAST, Le, 0, 0);
3125
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Le, 0, 0);
3113
3126
  }, exports.gobj_start_tree = function(e) {
3114
- 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, R.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, x.WALK_TOP2BOTTOM, Pe, 0, 0)));
3115
3128
  }, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
3116
3129
  l = t, i = n, _ = r, a = o, u = s, c = g;
3117
- const p = [["EV_STATE_CHANGED", x.EVF_SYSTEM_EVENT | x.EVF_OUTPUT_EVENT | x.EVF_NO_WARN_SUBS], [0, 0]];
3130
+ const p = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
3118
3131
  for (let e = 0; e < p.length; e++) {
3119
3132
  let t = p[e][0], n = p[e][1];
3120
- ye(f, t, n);
3133
+ Ee(f, t, n);
3121
3134
  }
3122
3135
  return 0;
3123
3136
  }, exports.gobj_stats = function(e, n, r, s) {
3124
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);
3125
3138
  }, exports.gobj_stop = Ue, exports.gobj_stop_children = Ve, exports.gobj_stop_tree = function(e) {
3126
- return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", et(e))), We(e) && Ue(e), at(e, R.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, x.WALK_TOP2BOTTOM, Fe, 0, 0));
3127
3140
  }, exports.gobj_subscribe_event = Jt, exports.gobj_trace_level = M, exports.gobj_trace_machine_format = function() {
3128
3141
  return A;
3129
3142
  }, exports.gobj_trace_no_level = W, exports.gobj_unsubscribe_event = function(e, t, n, r) {
@@ -3139,14 +3152,14 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3139
3152
  if (Object.keys(n).forEach((n) => {
3140
3153
  o.has(n) || mn(`${Ze(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
3141
3154
  }), lr(t)) t = "";
3142
- else if (!(At(e, t, x.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${Ze(e)}, ev ${t}`), 0;
3155
+ else if (!(At(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${Ze(e)}, ev ${t}`), 0;
3143
3156
  let s = Mt(n, t), l = Kt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, r), i = 0, _ = 0, a = 0;
3144
3157
  for (let t = 0; t < l.length; t++) {
3145
3158
  let n = l[t], r = Bt(e, n, !1, !1);
3146
3159
  0 === r ? i++ : r < 0 ? _++ : a++;
3147
3160
  }
3148
3161
  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;
3149
- }, 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 = xt, exports.gobj_yuno = Je, exports.gobj_yuno_id = ze, exports.gobj_yuno_name = qe, exports.gobj_yuno_role = He, exports.html_markup = function(e) {
3162
+ }, 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) {
3150
3163
  return "string" != typeof e ? (mn("html_markup: not a string, type " + typeof e), new Jr("")) : new Jr(e);
3151
3164
  }, 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) {
3152
3165
  return e instanceof Date && !isNaN(e);
@@ -3168,18 +3181,13 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3168
3181
  }, exports.is_secret_name = Sn, exports.is_string = er, exports.jdb_delete = function(e, t, n, r) {
3169
3182
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3170
3183
  if (!o) return mn("jdb_delete: topic not found: " + t), null;
3171
- if (lr(r.id)) return mn("jdb_delete: record without id: " + r), En(r), null;
3184
+ if (lr(r.id)) return mn("jdb_delete: record without id: " + r), yn(r), null;
3172
3185
  if (!er(n)) return mn(`jdb_delete: path must be a string: ${String(n)}`), null;
3173
3186
  let s, l = n.split("`"), i = o;
3174
3187
  for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, s, !1);
3175
- if (0 === l.length && i) if (Zn(i)) {
3176
- let e = Cr(i, r.id);
3177
- e >= 0 && i.splice(e, 1);
3178
- } else {
3179
- let t = jr(null, i, e.hook, null, 0), n = Cr(t, r.id);
3180
- n >= 0 && t.splice(n, 1);
3181
- }
3182
- 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);
3183
3191
  }, exports.jdb_get = function(e, t, n, r) {
3184
3192
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3185
3193
  return o ? (void 0 === r && (r = !0), Kr(o, e.hook, n, r)) : (mn("jdb_get: topic not found: " + t), null);
@@ -3188,27 +3196,28 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3188
3196
  return r ? n < r.length ? r[n] : {} : (mn("jdb_get_by_idx: topic not found: " + t), null);
3189
3197
  }, exports.jdb_get_topic = function(e, t) {
3190
3198
  let n = jr(null, e, "topics", null, 0);
3191
- if (!n) return mn("jdb topics section not found"), En(e), null;
3192
- return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), En(n), null);
3199
+ if (!n) return mn("jdb topics section not found"), yn(e), null;
3200
+ return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), yn(n), null);
3193
3201
  }, exports.jdb_init = function(e, t, n) {
3194
3202
  n && (e = Pn(e));
3195
- let r = jr(null, e, "type", [], 1);
3196
- Er(null, e, "hook", "data", 1);
3197
- let o = jr(null, e, "schema", {}, 1), s = jr(null, e, "topics", {}, 1);
3203
+ let r = jr(null, e, "type", [], Xt.KW_CREATE);
3204
+ yr(null, e, "hook", "data", Xt.KW_CREATE);
3205
+ let o = jr(null, e, "schema", {}, Xt.KW_CREATE), s = jr(null, e, "topics", {}, Xt.KW_CREATE);
3198
3206
  return Wr(o, function(e, t, n, o) {
3199
- "__" !== t.substring(0, 2) && jr(null, s, o, Pn(r), 1);
3207
+ "__" === t.substring(0, 2) || Xn(n) || jr(null, s, o, Pn(r), Xt.KW_CREATE);
3200
3208
  }, t), e;
3201
3209
  }, exports.jdb_update = function(e, t, n, r) {
3202
3210
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3203
3211
  if (!o) return mn("jdb_update: topic not found: " + t), null;
3204
- if (lr(r.id)) return mn("jdb_update: record without id: " + r), En(r), null;
3212
+ if (lr(r.id)) return mn("jdb_update: record without id: " + r), yn(r), null;
3205
3213
  if (!er(n)) return mn(`jdb_update: path must be a string: ${String(n)}`), null;
3206
3214
  let s, l = n.split("`"), i = o;
3207
- for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, [], 1)), i = Kr(i, null, s, !1);
3215
+ for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, [], Xt.KW_CREATE)), i = Kr(i, null, s, !1);
3216
+ if (!i || 0 !== l.length) return mn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
3208
3217
  if (0 === l.length && i) if (Zn(i)) i.push(r);
3209
3218
  else if (i.id === r.id) Fn(i, r);
3210
3219
  else {
3211
- let t = jr(null, i, e.hook, [], 1), n = Kr(t, e.hook, r.id, !1);
3220
+ let t = jr(null, i, e.hook, [], Xt.KW_CREATE), n = Kr(t, e.hook, r.id, !1);
3212
3221
  n ? Fn(n, r) : t.push(r);
3213
3222
  }
3214
3223
  return o;
@@ -3246,7 +3255,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3246
3255
  } catch (e) {
3247
3256
  return null;
3248
3257
  }
3249
- }, exports.jwtDecode = Yr, exports.kw_clone_by_keys = xr, exports.kw_clone_by_not_keys = Rr, exports.kw_collect = function(e, t, n, r) {
3258
+ }, exports.jwtDecode = Yr, exports.kw_clone_by_keys = Rr, exports.kw_clone_by_not_keys = xr, exports.kw_collect = function(e, t, n, r) {
3250
3259
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3251
3260
  r || (r = Nr);
3252
3261
  let o = [];
@@ -3263,7 +3272,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3263
3272
  if (!n || !Zn(t)) return r && mn("item NULL or kw_list is not a list"), -1;
3264
3273
  for (let e = 0; e < t.length; e++) if (Un(n, t[e])) return e;
3265
3274
  return r && mn("item not found in this list"), -1;
3266
- }, 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) {
3275
+ }, 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) {
3267
3276
  e && !sr(e) && mn("GObj bad instanceof");
3268
3277
  let s = br(e, t, n, !1);
3269
3278
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT;
@@ -3291,7 +3300,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3291
3300
  }
3292
3301
  }
3293
3302
  return _ && mr(e, t, n), u;
3294
- }, 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) {
3303
+ }, 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) {
3295
3304
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3296
3305
  r || (r = Nr);
3297
3306
  let o = [];
@@ -3316,7 +3325,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3316
3325
  else Zn(t) && t.forEach(function(t) {
3317
3326
  if (er(t)) lr(t) || n.push(t);
3318
3327
  else if (Xn(t)) {
3319
- let r = Er(e, t, "id", 0, 0);
3328
+ let r = yr(e, t, "id", 0, 0);
3320
3329
  r && n.push(r);
3321
3330
  }
3322
3331
  });
@@ -3326,7 +3335,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3326
3335
  let r = {};
3327
3336
  if (lr(n) || (t = br(e, t, n)), Xn(t)) r = t;
3328
3337
  else if (Zn(t)) for (let n = 0; n < t.length; n++) {
3329
- let o = t[n], s = Er(e, o, "id", "", Xt.KW_REQUIRED);
3338
+ let o = t[n], s = yr(e, o, "id", "", Xt.KW_REQUIRED);
3330
3339
  lr(s) || pr(r, s, o);
3331
3340
  }
3332
3341
  else mn(`${Ze(e)} kwid_new_dict: data type unknown`);
@@ -3389,7 +3398,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3389
3398
  else n && n(r.status);
3390
3399
  var e;
3391
3400
  }, r.send();
3392
- }, exports.log_debug = yn, exports.log_error = mn, exports.log_info = function(e, ...t) {
3401
+ }, exports.log_debug = En, exports.log_error = mn, exports.log_info = function(e, ...t) {
3393
3402
  let n = bn(e, ...t), r = Zr();
3394
3403
  nn && un("info", n) && nn("%c" + r + " INFO: " + String(n), "color:cyan"), fn("info", n, r);
3395
3404
  }, 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) {
@@ -3500,14 +3509,14 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3500
3509
  [null, null]
3501
3510
  ];
3502
3511
  return (Lo = ge(e, [
3503
- ["EV_ON_MESSAGE", x.EVF_OUTPUT_EVENT],
3504
- ["EV_IDENTITY_CARD_ACK", x.EVF_PUBLIC_EVENT],
3505
- ["EV_ON_ID_NAK", x.EVF_PUBLIC_EVENT | x.EVF_OUTPUT_EVENT],
3506
- ["EV_MT_STATS", x.EVF_PUBLIC_EVENT],
3507
- ["EV_MT_COMMAND", x.EVF_PUBLIC_EVENT],
3508
- ["EV_ON_OPEN", x.EVF_OUTPUT_EVENT | x.EVF_NO_WARN_SUBS],
3509
- ["EV_ON_CLOSE", x.EVF_OUTPUT_EVENT | x.EVF_NO_WARN_SUBS],
3510
- ["EV_ON_OPEN_ERROR", x.EVF_OUTPUT_EVENT | x.EVF_NO_WARN_SUBS],
3512
+ ["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
3513
+ ["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
3514
+ ["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
3515
+ ["EV_MT_STATS", R.EVF_PUBLIC_EVENT],
3516
+ ["EV_MT_COMMAND", R.EVF_PUBLIC_EVENT],
3517
+ ["EV_ON_OPEN", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3518
+ ["EV_ON_CLOSE", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3519
+ ["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3511
3520
  ["EV_TIMEOUT", 0],
3512
3521
  [null, 0]
3513
3522
  ], t, es, 0, ko, Co, 0, 0, Ao, S.gcflag_no_check_output_events)) ? 0 : -1;
@@ -3521,26 +3530,26 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3521
3530
  null
3522
3531
  ]]]];
3523
3532
  return (mo = ge(e, [
3524
- ["EV_TIMEOUT", x.EVF_OUTPUT_EVENT],
3525
- ["EV_TIMEOUT_PERIODIC", x.EVF_OUTPUT_EVENT],
3533
+ ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3534
+ ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3526
3535
  [0, 0]
3527
- ], t, yo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3536
+ ], t, Eo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3528
3537
  }("C_TIMER");
3529
3538
  }, exports.register_c_yuno = function() {
3530
3539
  return function(e) {
3531
3540
  if (So) return mn(`GClass ALREADY created: ${e}`), -1;
3532
3541
  const t = [["ST_IDLE", [[
3533
3542
  "EV_TIMEOUT_PERIODIC",
3534
- Ro,
3543
+ xo,
3535
3544
  null
3536
3545
  ]]]];
3537
- return (So = ge(e, [["EV_TIMEOUT_PERIODIC", x.EVF_OUTPUT_EVENT | x.EVF_NO_WARN_SUBS], [0, 0]], t, $o, 0, jo, Oo, 0, 0, 0, 0)) ? 0 : -1;
3546
+ 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;
3538
3547
  }("C_YUNO");
3539
3548
  }, exports.safeSrc = function(e) {
3540
3549
  if (!e) return "";
3541
3550
  const t = String(e).trim();
3542
3551
  return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3543
- }, exports.sdata_flag_t = y, exports.send_http_json_post = function(e, t, n) {
3552
+ }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
3544
3553
  let r = new XMLHttpRequest();
3545
3554
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
3546
3555
  4 === r.readyState && n(r.status, r.responseText);
@@ -3564,7 +3573,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3564
3573
  } else on = e;
3565
3574
  }, exports.set_remote_log_functions = pn, exports.set_strings_are_text = function(e) {
3566
3575
  zr = !!e;
3567
- }, 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() {
3576
+ }, 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() {
3568
3577
  return zr;
3569
3578
  }, exports.strncmp = function(e, t, n) {
3570
3579
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
@@ -3621,7 +3630,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3621
3630
  total: _
3622
3631
  };
3623
3632
  } };
3624
- }, 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) {
3633
+ }, 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) {
3625
3634
  if (er(t)) {
3626
3635
  if (-1 === t.indexOf("^")) {
3627
3636
  let n, r = e.hook;
@@ -3658,6 +3667,6 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3658
3667
  return Qn(e);
3659
3668
  }, exports.vsprintf = function(e, n) {
3660
3669
  return t.apply(null, [e].concat(n || []));
3661
- }, exports.walk_type_t = R;
3670
+ }, exports.walk_type_t = x;
3662
3671
 
3663
3672
  //# sourceMappingURL=gobj-js.cjs.min.js.map