@yuneta/gobj-js 7.13.8 → 7.16.1

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.
@@ -21,16 +21,16 @@
21
21
  };
22
22
  function n(e) {
23
23
  return function(e, r) {
24
- var o, i, s, l, _, a, u, c, f, g = 1, d = e.length, b = "";
25
- for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
26
- else if ("object" == typeof e[i]) {
27
- if ((l = e[i]).keys) for (o = r[g], s = 0; s < l.keys.length; s++) {
28
- if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", l.keys[s], l.keys[s - 1]));
29
- o = o[l.keys[s]];
24
+ var o, l, i, s, _, a, u, c, f, g = 1, d = e.length, b = "";
25
+ for (l = 0; l < d; l++) if ("string" == typeof e[l]) b += e[l];
26
+ else if ("object" == typeof e[l]) {
27
+ if ((s = e[l]).keys) for (o = r[g], i = 0; i < s.keys.length; i++) {
28
+ if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[i], s.keys[i - 1]));
29
+ o = o[s.keys[i]];
30
30
  }
31
- else o = l.param_no ? r[l.param_no] : r[g++];
32
- if (t.not_type.test(l.type) && t.not_primitive.test(l.type) && o instanceof Function && (o = o()), t.numeric_arg.test(l.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
33
- switch (t.number.test(l.type) && (c = o >= 0), l.type) {
31
+ else o = s.param_no ? r[s.param_no] : r[g++];
32
+ if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && o instanceof Function && (o = o()), t.numeric_arg.test(s.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
33
+ switch (t.number.test(s.type) && (c = o >= 0), s.type) {
34
34
  case "b":
35
35
  o = parseInt(o, 10).toString(2);
36
36
  break;
@@ -42,64 +42,64 @@
42
42
  o = parseInt(o, 10);
43
43
  break;
44
44
  case "j":
45
- o = JSON.stringify(o, null, l.width ? parseInt(l.width) : 0);
45
+ o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
46
46
  break;
47
47
  case "e":
48
- o = l.precision ? parseFloat(o).toExponential(l.precision) : parseFloat(o).toExponential();
48
+ o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
49
49
  break;
50
50
  case "f":
51
- o = l.precision ? parseFloat(o).toFixed(l.precision) : parseFloat(o);
51
+ o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
52
52
  break;
53
53
  case "g":
54
- o = l.precision ? String(Number(o.toPrecision(l.precision))) : parseFloat(o);
54
+ o = s.precision ? String(Number(o.toPrecision(s.precision))) : parseFloat(o);
55
55
  break;
56
56
  case "o":
57
57
  o = (parseInt(o, 10) >>> 0).toString(8);
58
58
  break;
59
59
  case "s":
60
- o = String(o), o = l.precision ? o.substring(0, l.precision) : o;
60
+ o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
61
61
  break;
62
62
  case "t":
63
- o = String(!!o), o = l.precision ? o.substring(0, l.precision) : o;
63
+ o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
64
64
  break;
65
65
  case "T":
66
- o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = l.precision ? o.substring(0, l.precision) : o;
66
+ o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = s.precision ? o.substring(0, s.precision) : o;
67
67
  break;
68
68
  case "u":
69
69
  o = parseInt(o, 10) >>> 0;
70
70
  break;
71
71
  case "v":
72
- o = o.valueOf(), o = l.precision ? o.substring(0, l.precision) : o;
72
+ o = o.valueOf(), o = s.precision ? o.substring(0, s.precision) : o;
73
73
  break;
74
74
  case "x":
75
75
  o = (parseInt(o, 10) >>> 0).toString(16);
76
76
  break;
77
77
  case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
78
78
  }
79
- t.json.test(l.type) ? b += o : (!t.number.test(l.type) || c && !l.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = l.pad_char ? "0" === l.pad_char ? "0" : l.pad_char.charAt(1) : " ", u = l.width - (f + o).length, _ = l.width && u > 0 ? a.repeat(u) : "", b += l.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
79
+ t.json.test(s.type) ? b += o : (!t.number.test(s.type) || c && !s.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", u = s.width - (f + o).length, _ = s.width && u > 0 ? a.repeat(u) : "", b += s.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
80
80
  }
81
81
  return b;
82
82
  }(function(e) {
83
83
  if (r[e]) return r[e];
84
- let n, o = e, i = [], s = 0;
84
+ let n, o = e, l = [], i = 0;
85
85
  for (; o;) {
86
- if (null !== (n = t.text.exec(o))) i.push(n[0]);
87
- else if (null !== (n = t.modulo.exec(o))) i.push("%");
86
+ if (null !== (n = t.text.exec(o))) l.push(n[0]);
87
+ else if (null !== (n = t.modulo.exec(o))) l.push("%");
88
88
  else {
89
89
  if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
90
90
  if (n[2]) {
91
- s |= 1;
92
- var l = [], _ = n[2], a = [];
91
+ i |= 1;
92
+ var s = [], _ = n[2], a = [];
93
93
  if (null === (a = t.key.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
94
- for (l.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) l.push(a[1]);
94
+ for (s.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) s.push(a[1]);
95
95
  else {
96
96
  if (null === (a = t.index_access.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
97
- l.push(a[1]);
97
+ s.push(a[1]);
98
98
  }
99
- n[2] = l;
100
- } else s |= 2;
101
- if (3 === s) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
102
- i.push({
99
+ n[2] = s;
100
+ } else i |= 2;
101
+ if (3 === i) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
102
+ l.push({
103
103
  placeholder: n[0],
104
104
  param_no: n[1],
105
105
  keys: n[2],
@@ -113,7 +113,7 @@
113
113
  }
114
114
  o = o.substring(n[0].length);
115
115
  }
116
- return r[e] = i;
116
+ return r[e] = l;
117
117
  }(e), arguments);
118
118
  }
119
119
  var r = Object.create(null);
@@ -125,7 +125,7 @@
125
125
  data: o || []
126
126
  };
127
127
  }
128
- function i(e, t, n, r, o) {
128
+ function l(e, t, n, r, o) {
129
129
  return {
130
130
  result: t,
131
131
  comment: n || {},
@@ -133,7 +133,7 @@
133
133
  data: o || []
134
134
  };
135
135
  }
136
- var s = "7.0.0a", l = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
136
+ var i = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
137
137
  DTP_STRING: 1,
138
138
  DTP_BOOLEAN: 2,
139
139
  DTP_INTEGER: 3,
@@ -169,12 +169,12 @@
169
169
  });
170
170
  h.SDF_RD, h.SDF_WR, h.SDF_STATS, h.SDF_PERSIST, h.SDF_VOLATIL, h.SDF_RSTATS, h.SDF_PSTATS, h.SDF_WR, h.SDF_PERSIST;
171
171
  var y = class {
172
- constructor(e, t, n = 0, r = null, o = "", i = null, s = null, l = 0, _ = null, a = null, u = null) {
173
- this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = s, this.fillspace = l, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
172
+ constructor(e, t, n = 0, r = null, o = "", l = null, i = null, s = 0, _ = null, a = null, u = null) {
173
+ this.type = e, this.name = t, this.alias = l, this.flag = n, this.default_value = r, this.header = i, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
174
174
  }
175
- }, v = () => new y(0, null), j = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
176
- constructor(e, t, n, r, o, i, s, l, _) {
177
- 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 = i, this.command_table = s, this.s_user_trace_level = l, 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;
175
+ }, j = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
176
+ constructor(e, t, n, r, o, l, i, s, _) {
177
+ 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 = l, this.command_table = i, this.s_user_trace_level = s, 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;
178
178
  }
179
179
  }, O = class {
180
180
  constructor(e, t, n, r, o) {
@@ -186,7 +186,7 @@
186
186
  gcflag_ignore_unknown_attrs: 4,
187
187
  gcflag_required_start_to_play: 8,
188
188
  gcflag_singleton: 16
189
- }), R = Object.freeze({
189
+ }), w = Object.freeze({
190
190
  gobj_flag_yuno: 1,
191
191
  gobj_flag_default_service: 2,
192
192
  gobj_flag_service: 4,
@@ -194,7 +194,7 @@
194
194
  gobj_flag_pure_child: 16,
195
195
  gobj_flag_autostart: 32,
196
196
  gobj_flag_autoplay: 64
197
- }), w = Object.freeze({
197
+ }), R = Object.freeze({
198
198
  obflag_destroying: 1,
199
199
  obflag_destroyed: 2,
200
200
  obflag_created: 4
@@ -343,10 +343,10 @@
343
343
  if (!p || !p.jn_attrs) return 0;
344
344
  let e = 0;
345
345
  if (ot(p, "tracing")) {
346
- const t = Number(it(p, "tracing")) || 0;
346
+ const t = Number(lt(p, "tracing")) || 0;
347
347
  t >= 1 && (e |= P.TRACE_MACHINE), t >= 2 && (e |= P.TRACE_EV_KW);
348
348
  }
349
- return ot(p, "trace_timer") && it(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && it(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && it(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
349
+ return ot(p, "trace_timer") && lt(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && lt(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && lt(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
350
350
  }
351
351
  function Y(e) {
352
352
  return (W(e) | x()) & P.TRACE_CREATE_DELETE;
@@ -469,7 +469,7 @@
469
469
  break;
470
470
  case T.DTP_POINTER: o = r;
471
471
  }
472
- return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
472
+ return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
473
473
  }
474
474
  function X(e) {
475
475
  return e.jn_attrs;
@@ -486,11 +486,11 @@
486
486
  }
487
487
  return n && Ht(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
488
488
  }
489
- function te(e, t, n, r, o, i, s, l, _, a, u) {
489
+ function te(e, t, n, r, o, l, i, s, _, a, u) {
490
490
  if (Sn(e)) return Ht("gclass_name EMPTY"), null;
491
491
  if (e.includes("`") || e.includes("^") || e.includes(".")) return Ht(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
492
492
  if (ce(e)) return Ht(`GClass ALREADY exists: ${e}`), null;
493
- let c = new S(e, r, o, i, s, l, _, a, u);
493
+ let c = new S(e, r, o, l, i, s, _, a, u);
494
494
  (function(e, t) {
495
495
  e && e instanceof S ? t ? d[t] ? Ht(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ht("gclass_name undefined") : Ht("gclass undefined");
496
496
  })(c, e);
@@ -498,11 +498,11 @@
498
498
  for (let e = 0; e < f; e++) {
499
499
  let t = n[e][0], r = n[e][1];
500
500
  if (Sn(t)) continue;
501
- if (ie(c, t) < 0) return ne(c), null;
501
+ if (le(c, t) < 0) return ne(c), null;
502
502
  const o = r.length;
503
503
  for (let e = 0; e < o; e++) {
504
- let n = r[e][0], o = r[e][1], i = r[e][2];
505
- Sn(n) || se(c, t, n, o, i);
504
+ let n = r[e][0], o = r[e][1], l = r[e][2];
505
+ Sn(n) || ie(c, t, n, o, l);
506
506
  }
507
507
  }
508
508
  for (let e = 0; e < t.length; e++) {
@@ -544,20 +544,20 @@
544
544
  }
545
545
  return null;
546
546
  }
547
- function ie(e, t) {
547
+ function le(e, t) {
548
548
  return e instanceof S ? re(e, t) ? (Ht(`state already exists: ${t}`), -1) : (e.dl_states.push(new I(t)), 0) : (Ht("Cannot add state, typeof not GClass"), -1);
549
549
  }
550
- function se(e, t, n, r, o) {
550
+ function ie(e, t, n, r, o) {
551
551
  if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
552
552
  if (Sn(t)) return Ht("state_name EMPTY"), -1;
553
- let i = re(e, t);
554
- return i ? oe(i, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
553
+ let l = re(e, t);
554
+ return l ? oe(l, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
555
555
  }
556
- function le(e, t, n) {
556
+ function se(e, t, n) {
557
557
  Sn(t) || e.push(new $(t, n));
558
558
  }
559
559
  function _e(e, t, n) {
560
- return e instanceof S ? le(e.dl_events, t, n) : (Ht("Cannot add state, typeof not GClass"), -1);
560
+ return e instanceof S ? se(e.dl_events, t, n) : (Ht("Cannot add state, typeof not GClass"), -1);
561
561
  }
562
562
  function ae(e, t) {
563
563
  if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), 0;
@@ -600,7 +600,7 @@
600
600
  return n || (t && Ht(`gclass not found: ${e}`), null);
601
601
  }
602
602
  function fe() {
603
- return !m || m.obflag & w.obflag_destroyed ? null : m;
603
+ return !m || m.obflag & R.obflag_destroyed ? null : m;
604
604
  }
605
605
  function ge(e, t) {
606
606
  e = e.toLowerCase();
@@ -624,48 +624,48 @@
624
624
  let r = t;
625
625
  (function(e, t, n, r, o) {
626
626
  if (!e || !t) return Ht("hsdata or kw NULL"), -1;
627
- let i = 0;
628
- for (const [s, l] of Object.entries(t)) {
629
- const t = ee(o.gclass, s, !1);
630
- t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${s}`), i += Q(o, e, t, l)) : r && (r(o, s), i--);
627
+ let l = 0;
628
+ for (const [i, s] of Object.entries(t)) {
629
+ const t = ee(o.gclass, i, !1);
630
+ t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${i}`), l += Q(o, e, t, s)) : r && (r(o, i), l--);
631
631
  }
632
- return i;
632
+ return l;
633
633
  })(X(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : me, e) < 0 && (Ht(`${Ve(e)} json2data() FAILED`), Zt(r));
634
634
  }
635
- function Te(e, t, r, o, i) {
636
- if (i & R.gobj_flag_yuno) {
635
+ function Te(e, t, r, o, l) {
636
+ if (l & w.gobj_flag_yuno) {
637
637
  if (p) return Ht("__yuno__ already created"), null;
638
- i |= R.gobj_flag_service;
638
+ l |= w.gobj_flag_service;
639
639
  } else {
640
640
  if (!o) return Ht("gobj NEEDS a parent!"), null;
641
641
  if (!("string" == typeof o || o instanceof O)) return Ht(`BAD TYPE of parent: ${o}`), null;
642
642
  if (En(o) && !(o = ge(o))) return zt(`parent service not found: ${o}`), null;
643
643
  }
644
- if (i & R.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
645
- if (i & R.gobj_flag_default_service) {
644
+ if (l & w.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
645
+ if (l & w.gobj_flag_default_service) {
646
646
  if (m) return Ht(`default service ALREADY registered: ${t}^${e}`), null;
647
- i |= R.gobj_flag_service;
647
+ l |= w.gobj_flag_service;
648
648
  }
649
649
  if (Sn(t)) return Ht("gclass_name must be a string"), null;
650
- let s = ce(t, !1);
651
- if (!s) return Ht(`GClass not registered: ${t}^${e}`), null;
650
+ let i = ce(t, !1);
651
+ if (!i) return Ht(`GClass not registered: ${t}^${e}`), null;
652
652
  if (!En(e)) return Ht(`gobj_name must be a string: ${t}`), null;
653
653
  if (!Sn(e)) {
654
654
  if (e.includes("`")) return Ht(`gobj_name cannot contain char ': ${t}^${e}`), null;
655
655
  if (e.includes("^")) return Ht(`gobj_name cannot contain char ^: ${t}^${e}`), null;
656
656
  }
657
- let _ = new O(e, s, r, o, i);
658
- _.jn_attrs = H(_, s.attrs_table);
657
+ let _ = new O(e, i, r, o, l);
658
+ _.jn_attrs = H(_, i.attrs_table);
659
659
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
660
660
  let a = Y(_);
661
- return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & R.gobj_flag_service && de(_), _.gobj_flag & R.gobj_flag_yuno && (p = _), _.gobj_flag & R.gobj_flag_default_service && (m = _), _.gobj_flag & R.gobj_flag_yuno || be(o, _), _.obflag |= w.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & R.gobj_flag_service && l && l(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
661
+ return a && L(n("💙💙⏩ creating: %s^%s", i.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && de(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || be(o, _), _.obflag |= R.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
662
662
  }
663
663
  function he(e, t, n, r) {
664
- return Te(e, t, n, r, R.gobj_flag_pure_child);
664
+ return Te(e, t, n, r, w.gobj_flag_pure_child);
665
665
  }
666
666
  function ye(e) {
667
667
  if (Ye(e)) return void Ht("gobj NULL or DESTROYED");
668
- e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= w.obflag_destroying, function(e) {
668
+ e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= R.obflag_destroying, function(e) {
669
669
  if (0 === ht.length) return;
670
670
  for (let t of ht) t.src === e && (t.src = null);
671
671
  ht = ht.filter((t) => t.dst !== e);
@@ -673,7 +673,7 @@
673
673
  let t = Y(e);
674
674
  t && L(n("💔💔⏩ destroying: %s", Me(e)));
675
675
  let r = We(e);
676
- r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & R.gobj_flag_service && function(e) {
676
+ r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
677
677
  let t = Fe(e);
678
678
  t = t.toLowerCase(), b[t] ? delete b[t] : Ht(`"service NOT found in register": ${t}`);
679
679
  }(e), kt(e, e.dl_subscriptions, !0), kt(e, e.dl_subscribings, !0), r && (pe(r, e), Ke(e) && (Be(r) !== e || Ye(r) || Je(r, null))), function(e) {
@@ -682,9 +682,9 @@
682
682
  let n = t[e];
683
683
  Ye(n) || ye(n);
684
684
  }
685
- }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
685
+ }(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
686
686
  }
687
- function ve(e) {
687
+ function je(e) {
688
688
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
689
689
  if (e.running) return Ht(`${Ve(e)}: GObj ALREADY RUNNING`), -1;
690
690
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
@@ -692,11 +692,11 @@
692
692
  let t = 0;
693
693
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
694
694
  }
695
- function je(e, t, n) {
696
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || ve(e), 0;
695
+ function ve(e, t, n) {
696
+ return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || je(e), 0;
697
697
  }
698
698
  function Se(e, t, n) {
699
- return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || ve(e), 0);
699
+ return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || je(e), 0);
700
700
  }
701
701
  function Oe(e) {
702
702
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
@@ -708,16 +708,16 @@
708
708
  function Ne(e, t, n) {
709
709
  return Ae(e) && Oe(e), 0;
710
710
  }
711
- function Re(e) {
711
+ function we(e) {
712
712
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, Ne, 0, 0);
713
713
  }
714
- function we(e) {
714
+ function Re(e) {
715
715
  if (Ye(e)) return Ht(`gobj NULL or DESTROYED: ${Ve(e)}`), -1;
716
716
  if (e.playing) return Ht(`${Ve(e)}: GObj ALREADY PLAYING`), -1;
717
717
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
718
718
  if (!Ae(e)) {
719
719
  if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return Ht(`${Ve(e)}: Cannot play, start not done`), -1;
720
- zt(`${Ve(e)}: GObj playing without previous start`), ve(e);
720
+ zt(`${Ve(e)}: GObj playing without previous start`), je(e);
721
721
  }
722
722
  B(e) && L(n("⏯ ⏯ play: %s", Me(e))), e.playing = !0;
723
723
  let t = 0;
@@ -733,13 +733,13 @@
733
733
  return !!Ye(e) || e.disabled;
734
734
  }
735
735
  function Ie(e) {
736
- return !!(e && e.gobj_flag & R.gobj_flag_service);
736
+ return !!(e && e.gobj_flag & w.gobj_flag_service);
737
737
  }
738
738
  function $e(e) {
739
739
  return !Ye(e) && e.playing;
740
740
  }
741
741
  function Ce() {
742
- return !p || p.obflag & w.obflag_destroyed ? null : p;
742
+ return !p || p.obflag & R.obflag_destroyed ? null : p;
743
743
  }
744
744
  function Le() {
745
745
  let e = Ce();
@@ -754,41 +754,41 @@
754
754
  return e ? at(e, "yuno_id") : "";
755
755
  }
756
756
  function Fe(e) {
757
- return jn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
757
+ return vn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
758
758
  }
759
759
  function Ge(e) {
760
- return jn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
760
+ return vn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
761
761
  }
762
762
  function Ve(e) {
763
- return jn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
763
+ return vn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
764
764
  }
765
765
  function Me(e) {
766
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
766
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
767
767
  let t = Ve(e), n = We(e);
768
768
  for (; n;) t = Ve(n) + "`" + t, n = We(n);
769
769
  return t;
770
770
  }
771
771
  function We(e) {
772
- return jn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
772
+ return vn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
773
773
  }
774
774
  function Ke(e) {
775
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
775
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
776
776
  }
777
777
  function xe(e) {
778
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
778
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
779
779
  }
780
780
  function Ye(e) {
781
- return !jn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
781
+ return !vn(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
782
782
  }
783
783
  function Be(e) {
784
- return jn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
784
+ return vn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
785
785
  }
786
786
  function Je(e, t) {
787
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
787
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
788
788
  e.bottom_gobj && zt(`${Ve(e)}: bottom_gobj already set`), e.bottom_gobj = t;
789
789
  }
790
790
  function qe(e, t, n) {
791
- return jn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
791
+ return vn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
792
792
  }
793
793
  function He(e, t, n, r, o) {
794
794
  return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : Xe(e.dl_children, t, n, r, o);
@@ -800,54 +800,54 @@
800
800
  return "number" == typeof e && isFinite(e) ? e : (null == e || Ht(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
801
801
  }
802
802
  function Xe(e, t, n, r, o) {
803
- let i, s = [...e];
804
- if (t & A.WALK_LAST2FIRST) for (let e = s.length; e > 0; e--) {
805
- i = s[e - 1];
806
- let t = Qe(n(i, r, o));
803
+ let l, i = [...e];
804
+ if (t & A.WALK_LAST2FIRST) for (let e = i.length; e > 0; e--) {
805
+ l = i[e - 1];
806
+ let t = Qe(n(l, r, o));
807
807
  if (t < 0) return t;
808
808
  }
809
- else for (let e = 0; e < s.length; e++) {
810
- i = s[e];
811
- let t = Qe(n(i, r, o));
809
+ else for (let e = 0; e < i.length; e++) {
810
+ l = i[e];
811
+ let t = Qe(n(l, r, o));
812
812
  if (t < 0) return t;
813
813
  }
814
814
  return 0;
815
815
  }
816
816
  function Ze(e, t, n, r, o) {
817
- let i, s = Xe(e, t, n, r, o);
818
- if (s < 0) return s;
817
+ let l, i = Xe(e, t, n, r, o);
818
+ if (i < 0) return i;
819
819
  if (t & A.WALK_LAST2FIRST) {
820
- for (let l = e.length; l > 0; l--) if (i = e[l - 1], s = Ze([...i.dl_children], t, n, r, o), s < 0) return s;
821
- } else for (let l = 0; l < e.length; l++) if (i = e[l], s = Ze([...i.dl_children], t, n, r, o), s < 0) return s;
822
- return s;
820
+ for (let s = e.length; s > 0; s--) if (l = e[s - 1], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
821
+ } else for (let s = 0; s < e.length; s++) if (l = e[s], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
822
+ return i;
823
823
  }
824
824
  function et(e, t, n, r, o) {
825
825
  if (t & A.WALK_BYLEVEL) return Ze(e, t, n, r, o);
826
- let i, s;
827
- if (t & A.WALK_BOTTOM2TOP) for (let l = e.length; l > 0; l--) {
828
- if (s = e[l - 1], i = et([...s.dl_children], t, n, r, o), i < 0) return i;
829
- if (i = Qe(n(s, r, o)), i < 0) return i;
826
+ let l, i;
827
+ if (t & A.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
828
+ if (i = e[s - 1], l = et([...i.dl_children], t, n, r, o), l < 0) return l;
829
+ if (l = Qe(n(i, r, o)), l < 0) return l;
830
830
  }
831
- else for (let l = 0; l < e.length; l++) {
832
- if (s = e[l], i = Qe(n(s, r, o)), i < 0) return i;
833
- if (0 === i && (i = et([...s.dl_children], t, n, r, o), i < 0)) return i;
831
+ else for (let s = 0; s < e.length; s++) {
832
+ if (i = e[s], l = Qe(n(i, r, o)), l < 0) return l;
833
+ if (0 === l && (l = et([...i.dl_children], t, n, r, o), l < 0)) return l;
834
834
  }
835
835
  return 0;
836
836
  }
837
837
  function tt(e, t) {
838
- if (!jn(e)) return Ht("gobj NULL of bad type"), !1;
838
+ if (!vn(e)) return Ht("gobj NULL of bad type"), !1;
839
839
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
840
840
  t.__disabled__;
841
- let i = t.__state__;
841
+ let l = t.__state__;
842
842
  if (n && n !== Ge(e)) return !1;
843
843
  if (r && r !== Fe(e)) return !1;
844
844
  if (o) {
845
845
  let t = o.length;
846
846
  if (o !== Fe(e).substring(0, t)) return !1;
847
847
  }
848
- if (i && i !== pt(e)) return !1;
849
- let s = e.jn_attrs;
850
- for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && s[n] !== t[n]) return !1;
848
+ if (l && l !== pt(e)) return !1;
849
+ let i = e.jn_attrs;
850
+ for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && i[n] !== t[n]) return !1;
851
851
  return !0;
852
852
  }
853
853
  function nt(e, t) {
@@ -875,13 +875,13 @@
875
875
  if (1 === n.length) return e;
876
876
  let r = n[1].split("^"), o = {};
877
877
  1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
878
- let i = nt(e, o);
879
- return i ? (n.splice(0, 1), n = n.join("`"), rt(i, n)) : null;
878
+ let l = nt(e, o);
879
+ return l ? (n.splice(0, 1), n = n.join("`"), rt(l, n)) : null;
880
880
  }
881
881
  function ot(e, t) {
882
882
  return !Sn(t) && !!ee(e.gclass, t, !1);
883
883
  }
884
- function it(e, t, n) {
884
+ function lt(e, t, n) {
885
885
  let r = e.jn_attrs;
886
886
  if (t in r && r.hasOwnProperty(t)) {
887
887
  let n = r[t];
@@ -889,60 +889,60 @@
889
889
  }
890
890
  return Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
891
891
  }
892
- function st(e, t, n) {
892
+ function it(e, t, n) {
893
893
  let r = {}, o = e.gclass.attrs_table;
894
894
  for (let n = 0; n < o.length; n++) {
895
- const i = o[n];
896
- if (i.name && (-1 === t || i.flag & t)) {
895
+ const l = o[n];
896
+ if (l.name && (-1 === t || l.flag & t)) {
897
897
  let t;
898
- !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = sn(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = sn(e.jn_attrs, i.name))), _n(r, i.name, t);
898
+ !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = ln(e.jn_attrs, l.name) : (t = e.gclass.gmt.mt_reading(e, l.name), void 0 === t && (t = ln(e.jn_attrs, l.name))), _n(r, l.name, t);
899
899
  }
900
900
  }
901
901
  return r;
902
902
  }
903
- function lt(e, t) {
903
+ function st(e, t) {
904
904
  if (t) {
905
- if (0 === Rn(t, "__disabled__")) return ke(e);
906
- if (0 === Rn(t, "__running__")) return Ae(e);
907
- if (0 === Rn(t, "__playing__")) return $e(e);
908
- if (0 === Rn(t, "__service__")) return Ie(e);
905
+ if (0 === wn(t, "__disabled__")) return ke(e);
906
+ if (0 === wn(t, "__running__")) return Ae(e);
907
+ if (0 === wn(t, "__playing__")) return $e(e);
908
+ if (0 === wn(t, "__service__")) return Ie(e);
909
909
  }
910
910
  let n = Z(e, t, !1);
911
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
911
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
912
912
  }
913
913
  function _t(e, t) {
914
- t && Rn(t, "__trace_level__");
914
+ t && wn(t, "__trace_level__");
915
915
  let n = Z(e, t, !1);
916
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
916
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
917
917
  }
918
918
  function at(e, t) {
919
- if (t && 0 === Rn(t, "__state__")) return pt(e);
919
+ if (t && 0 === wn(t, "__state__")) return pt(e);
920
920
  let n = Z(e, t, !1);
921
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
921
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
922
922
  }
923
923
  function ut(e, t) {
924
924
  let n = Z(e, t, !1);
925
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
925
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
926
926
  }
927
927
  function ct(e, t, n, r) {
928
- let o = X(e), i = 0;
929
- for (const [r, s] of Object.entries(t)) {
928
+ let o = X(e), l = 0;
929
+ for (const [r, i] of Object.entries(t)) {
930
930
  let t = qe(e, r, !0);
931
- t && (-1 === n || t.flag & n) && (i += Q(e, o, t, s));
931
+ t && (-1 === n || t.flag & n) && (l += Q(e, o, t, i));
932
932
  }
933
- return i;
933
+ return l;
934
934
  }
935
935
  function ft(e, t, n) {
936
936
  let r = Z(e, t, !1);
937
- return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
937
+ return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
938
938
  }
939
939
  function gt(e, t, n) {
940
940
  let r = Z(e, t, !1);
941
- return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
941
+ return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
942
942
  }
943
943
  function dt(e, t, n) {
944
944
  let r = Z(e, t, !1);
945
- return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
945
+ return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
946
946
  }
947
947
  function bt(e, t) {
948
948
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
@@ -950,16 +950,16 @@
950
950
  let r = re(e.gclass, t);
951
951
  if (!r) return Ht(`${Ve(e)}: state unknown, state ${t}`), !1;
952
952
  e.last_state = e.current_state, e.current_state = r;
953
- let o = J(e, "EV_STATE_CHANGED"), i = !!function(e) {
953
+ let o = J(e, "EV_STATE_CHANGED"), l = !!function(e) {
954
954
  return W(e) & P.TRACE_STATES;
955
955
  }(e);
956
- return (o || i) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name))), !0;
956
+ return (o || l) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name))), !0;
957
957
  }
958
958
  function pt(e) {
959
- return jn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
959
+ return vn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
960
960
  }
961
961
  function mt(e, t, n) {
962
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
962
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
963
963
  let r = ae(e.gclass, t);
964
964
  if (r) return r;
965
965
  if (n) {
@@ -980,67 +980,67 @@
980
980
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
981
981
  }
982
982
  var ht = [], yt = !1;
983
- function vt() {
983
+ function jt() {
984
984
  yt = !1;
985
985
  let e = ht;
986
986
  ht = [];
987
987
  let t = 0;
988
- for (let n of e) n.dst.obflag & (w.obflag_destroyed | w.obflag_destroying) || (jt(n.dst, n.event, n.kw, n.src), t++);
989
- return ht.length > 0 && !yt && (yt = !0, setTimeout(vt, 0)), t;
988
+ for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (vt(n.dst, n.event, n.kw, n.src), t++);
989
+ return ht.length > 0 && !yt && (yt = !0, setTimeout(jt, 0)), t;
990
990
  }
991
- function jt(e, t, r, o) {
991
+ function vt(e, t, r, o) {
992
992
  if (!(e && e instanceof O)) return Ht("gobj dst NULL"), -1;
993
- if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
994
- let i = e.current_state;
995
- if (!i) return Ht(`${Ve(e)}: current_state NULL`), -1;
996
- let s = J(e, t) && !q(o, t);
993
+ if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
994
+ let l = e.current_state;
995
+ if (!l) return Ht(`${Ve(e)}: current_state NULL`), -1;
996
+ let i = J(e, t) && !q(o, t);
997
997
  E++;
998
- let l = oe(i, t);
999
- if (!l) return e.gclass.gmt.mt_inject_event ? (E--, s && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), i.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && s > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (s && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${i.state_name}, ${t}`), E--, -1);
1000
- if (s) {
1001
- if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), i.state_name, o && !o.running ? "!!" : "", Ve(o)));
998
+ let s = oe(l, t);
999
+ if (!s) return e.gclass.gmt.mt_inject_event ? (E--, i && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), l.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && i > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (i && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${l.state_name}, ${t}`), E--, -1);
1000
+ if (i) {
1001
+ if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), l.state_name, o && !o.running ? "!!" : "", Ve(o)));
1002
1002
  else {
1003
1003
  let r = "";
1004
- l.action && (r = fr(l.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1004
+ s.action && (r = fr(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1005
1005
  }
1006
1006
  r && (W(e) | x()) & P.TRACE_EV_KW && gn(r) && Zt(r);
1007
1007
  }
1008
- l.next_state && bt(e, l.next_state);
1008
+ s.next_state && bt(e, s.next_state);
1009
1009
  let _ = -1;
1010
1010
  try {
1011
- l.action && (_ = l.action(e, t, r, o));
1011
+ s.action && (_ = s.action(e, t, r, o));
1012
1012
  } finally {}
1013
- return !s || 1 === C || e.obflag & w.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1013
+ return !i || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1014
1014
  }
1015
1015
  var St = Object.freeze({
1016
1016
  __hard_subscription__: 1,
1017
1017
  __own_event__: 2
1018
1018
  }), Ot = [
1019
- j(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1020
- j(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1021
- j(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1022
- j(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1023
- j(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1024
- j(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1025
- j(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1026
- j(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1027
- j(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1028
- j(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1029
- v()
1019
+ v(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1020
+ v(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1021
+ v(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1022
+ v(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1023
+ v(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1024
+ v(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1025
+ v(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1026
+ v(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1027
+ v(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1028
+ v(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1029
+ j()
1030
1030
  ];
1031
1031
  function Nt(e, t, n, r, o) {
1032
- let i = Un(t, r, "__config__", null), s = Un(t, r, "__global__", null), l = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1033
- if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(i) > 0) {
1032
+ let l = Un(t, r, "__config__", null), i = Un(t, r, "__global__", null), s = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1033
+ if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(l) > 0) {
1034
1034
  let t = Un(null, e, "__config__", null);
1035
- bn(t) > 0 && tn(t, i) || (a = !1);
1035
+ bn(t) > 0 && tn(t, l) || (a = !1);
1036
1036
  }
1037
- if (bn(s) > 0) {
1037
+ if (bn(i) > 0) {
1038
1038
  let t = Un(null, e, "__global__", null);
1039
- bn(t) > 0 && tn(t, s) || (a = !1);
1039
+ bn(t) > 0 && tn(t, i) || (a = !1);
1040
1040
  }
1041
- if (bn(l) > 0) {
1041
+ if (bn(s) > 0) {
1042
1042
  let t = Un(null, e, "__local__", null);
1043
- bn(t) > 0 && tn(t, l) || (a = !1);
1043
+ bn(t) > 0 && tn(t, s) || (a = !1);
1044
1044
  }
1045
1045
  if (bn(_) > 0) {
1046
1046
  let t = Fn(null, e, "__filter__", null);
@@ -1048,29 +1048,29 @@
1048
1048
  }
1049
1049
  return a;
1050
1050
  }
1051
- function Rt(e, t, n, r, o) {
1052
- let i = [];
1053
- for (let s = 0; s < e.length; s++) {
1054
- let l = e[s];
1055
- Nt(l, t, n, r, o) && un(i, l);
1051
+ function wt(e, t, n, r, o) {
1052
+ let l = [];
1053
+ for (let i = 0; i < e.length; i++) {
1054
+ let s = e[i];
1055
+ Nt(s, t, n, r, o) && un(l, s);
1056
1056
  }
1057
- return i;
1057
+ return l;
1058
1058
  }
1059
- function wt(e, t, n, r, o) {
1060
- for (let i = 0; i < e.length; i++) if (Nt(e[i], t, n, r, o)) return i;
1059
+ function Rt(e, t, n, r, o) {
1060
+ for (let l = 0; l < e.length; l++) if (Nt(e[l], t, n, r, o)) return l;
1061
1061
  return -1;
1062
1062
  }
1063
1063
  function Dt(e, t, r, o) {
1064
- let i = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), s = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), l = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1064
+ let l = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1065
1065
  if (!!(Cn(e, t, "subs_flag", null, Lt.KW_REQUIRED) & St.__hard_subscription__) && !r) return -1;
1066
- p && lt(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Ve(i), Ve(s))), Zt(t)), i.obflag & w.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
1067
- let _ = wt(i.dl_subscriptions, i, l, t, s);
1068
- return _ >= 0 ? fn(i.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = wt(s.dl_subscribings, i, l, t, s), _ >= 0 ? fn(s.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1066
+ p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(l), Ve(i))), Zt(t)), l.obflag & R.obflag_destroyed || o || l.gclass.gmt.mt_subscription_deleted && l.gclass.gmt.mt_subscription_deleted(l, t);
1067
+ let _ = Rt(l.dl_subscriptions, l, s, t, i);
1068
+ return _ >= 0 ? fn(l.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = Rt(i.dl_subscribings, l, s, t, i), _ >= 0 ? fn(i.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1069
1069
  }
1070
1070
  function At(e, t, r, o) {
1071
1071
  if (null == r && (r = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
1072
1072
  if (!o) return Ht(`subscriber NULL: ev ${t}`), 0;
1073
- const i = /* @__PURE__ */ new Set([
1073
+ const l = /* @__PURE__ */ new Set([
1074
1074
  "__config__",
1075
1075
  "__global__",
1076
1076
  "__local__",
@@ -1078,38 +1078,38 @@
1078
1078
  "__service__"
1079
1079
  ]);
1080
1080
  if (Object.keys(r).forEach((n) => {
1081
- i.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1081
+ l.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1082
1082
  }), Sn(t)) t = "";
1083
1083
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ${t}`), 0;
1084
- let s = Rt(e.dl_subscriptions, e, t, r, o);
1085
- dn(s) > 0 && (Ht(`${Ve(e)}: ${dn(s)} subscription(s) REPEATED, will be deleted and override`), Zt(s, "subscription REPEATED"), kt(e, s, !1));
1086
- let l = function(e, t, n, r) {
1084
+ let i = wt(e.dl_subscriptions, e, t, r, o);
1085
+ dn(i) > 0 && (Ht(`${Ve(e)}: ${dn(i)} subscription(s) REPEATED, will be deleted and override`), Zt(i, "subscription REPEATED"), kt(e, i, !1));
1086
+ let s = function(e, t, n, r) {
1087
1087
  let o = H(e, Ot);
1088
1088
  an(o, "event", t), an(o, "subscriber", r), an(o, "publisher", e);
1089
- let i = 0;
1089
+ let l = 0;
1090
1090
  if (n) {
1091
- let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), s = Un(e, n, "__local__", null), l = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1091
+ let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), i = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1092
1092
  if (bn(r) > 0 && an(o, "__global__", en(r)), bn(t) > 0) {
1093
1093
  let n = en(t);
1094
1094
  if (an(o, "__config__", n), An(n, "__hard_subscription__")) {
1095
1095
  let t = $n(e, n, "__hard_subscription__", !1);
1096
- ln(n, "__hard_subscription__"), t && (i |= St.__hard_subscription__);
1096
+ sn(n, "__hard_subscription__"), t && (l |= St.__hard_subscription__);
1097
1097
  }
1098
1098
  if (An(n, "__own_event__")) {
1099
1099
  let t = $n(e, n, "__own_event__", !1);
1100
- ln(n, "__own_event__"), t && (i |= St.__own_event__);
1100
+ sn(n, "__own_event__"), t && (l |= St.__own_event__);
1101
1101
  }
1102
1102
  }
1103
- bn(s) > 0 && an(o, "__local__", en(s)), bn(l) > 0 && an(o, "__filter__", en(l)), Sn(_) || an(o, "__service__", _);
1103
+ bn(i) > 0 && an(o, "__local__", en(i)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
1104
1104
  }
1105
- return an(o, "subs_flag", i), o;
1105
+ return an(o, "subs_flag", l), o;
1106
1106
  }(e, t, r, o);
1107
- if (!l) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
1108
- if (un(e.dl_subscriptions, l), un(o.dl_subscribings, l), p && lt(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
1109
- let t = e.gclass.gmt.mt_subscription_added(e, l);
1110
- (t < 0 || !1 === t) && (Dt(e, l, !0, !0), l = 0);
1107
+ if (!s) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
1108
+ if (un(e.dl_subscriptions, s), un(o.dl_subscribings, s), p && st(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
1109
+ let t = e.gclass.gmt.mt_subscription_added(e, s);
1110
+ (t < 0 || !1 === t) && (Dt(e, s, !0, !0), s = 0);
1111
1111
  }
1112
- return l;
1112
+ return s;
1113
1113
  }
1114
1114
  function kt(e, t, n) {
1115
1115
  let r = [...t];
@@ -1117,24 +1117,24 @@
1117
1117
  return 0;
1118
1118
  }
1119
1119
  function It(e, t, n, r) {
1120
- return null == n && (n = {}), Rt(e.dl_subscriptions, e, t, n, r);
1120
+ return null == n && (n = {}), wt(e.dl_subscriptions, e, t, n, r);
1121
1121
  }
1122
1122
  function $t(e, t, n, r) {
1123
- return Rt(e.dl_subscribings, r, t, n, e);
1123
+ return wt(e.dl_subscribings, r, t, n, e);
1124
1124
  }
1125
1125
  function Ct(e, t, r) {
1126
- if (pn(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1126
+ if (pn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1127
1127
  if (Sn(t)) return Ht(`${Ve(e)}: event EMPTY`), -1;
1128
1128
  let o = mt(e, t, !0);
1129
1129
  if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), -1;
1130
- let i = p && lt(p, "trace_subscriptions");
1131
- if (i && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && Zt(r)), e.gclass.gmt.mt_publish_event) {
1130
+ let l = p && st(p, "trace_subscriptions");
1131
+ if (l && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && Zt(r)), e.gclass.gmt.mt_publish_event) {
1132
1132
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
1133
1133
  if (n <= 0) return n;
1134
1134
  }
1135
- let s = [...e.dl_subscriptions], l = 0, _ = 0;
1136
- for (let o = 0; o < s.length; o++) {
1137
- let a = s[o];
1135
+ let i = [...e.dl_subscriptions], s = 0, _ = 0;
1136
+ for (let o = 0; o < i.length; o++) {
1137
+ let a = i[o];
1138
1138
  if (e.gclass.gmt.mt_publication_pre_filter) {
1139
1139
  let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
1140
1140
  if (n < 0) break;
@@ -1143,23 +1143,23 @@
1143
1143
  let u = Pn(e, a, "subscriber", null, Lt.KW_REQUIRED);
1144
1144
  if (!u || Ye(u)) continue;
1145
1145
  let c = Cn(e, a, "subs_flag", 0, Lt.KW_REQUIRED), f = Ln(e, a, "event", "", Lt.KW_REQUIRED);
1146
- if (Sn(f) || 0 === Rn(f, t)) {
1146
+ if (Sn(f) || 0 === wn(f, t)) {
1147
1147
  Un(e, a, "__config__", null, 0);
1148
- let o = Un(e, a, "__global__", null, 0), s = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1149
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, i && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1148
+ let o = Un(e, a, "__global__", null, 0), i = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1149
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, l && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1150
1150
  if (!d) continue;
1151
1151
  let b = mt(u, t, !0);
1152
1152
  if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !Et(u, b.event_name, 0)) continue;
1153
- s && Dn(g, s), o && nn(g, o), i && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
1154
- let p = jt(u, t, g, e);
1153
+ i && Dn(g, i), o && nn(g, o), l && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
1154
+ let p = vt(u, t, g, e);
1155
1155
  if (p < 0 && c & St.__own_event__) {
1156
- l = -1;
1156
+ s = -1;
1157
1157
  break;
1158
1158
  }
1159
- if (_ += p, l++, Ye(e)) break;
1159
+ if (_ += p, s++, Ye(e)) break;
1160
1160
  }
1161
1161
  }
1162
- return l || o && o.event_flag & D.EVF_NO_WARN_SUBS || zt(`${Ve(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1162
+ return s || o && o.event_flag & D.EVF_NO_WARN_SUBS || zt(`${Ve(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1163
1163
  }
1164
1164
  var Lt = Object.freeze({
1165
1165
  KW_REQUIRED: 1,
@@ -1287,10 +1287,10 @@
1287
1287
  for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1288
1288
  return e;
1289
1289
  }
1290
- function sn(e, t) {
1290
+ function ln(e, t) {
1291
1291
  if (e && e.hasOwnProperty(t)) return e[t];
1292
1292
  }
1293
- function ln(e, t) {
1293
+ function sn(e, t) {
1294
1294
  e && e.hasOwnProperty(t) && delete e[t];
1295
1295
  }
1296
1296
  function _n(e, t, n) {
@@ -1335,10 +1335,10 @@
1335
1335
  function yn(e) {
1336
1336
  return null == e;
1337
1337
  }
1338
- function vn(e) {
1338
+ function jn(e) {
1339
1339
  return "function" == typeof e;
1340
1340
  }
1341
- function jn(e) {
1341
+ function vn(e) {
1342
1342
  return e instanceof O;
1343
1343
  }
1344
1344
  function Sn(e) {
@@ -1350,11 +1350,11 @@
1350
1350
  function Nn(e, t) {
1351
1351
  return e === t ? 0 : e > t ? 1 : -1;
1352
1352
  }
1353
- function Rn(e, t) {
1353
+ function wn(e, t) {
1354
1354
  let n = e.toLowerCase(), r = t.toLowerCase();
1355
1355
  return n === r ? 0 : n > r ? 1 : -1;
1356
1356
  }
1357
- function wn(e, t) {
1357
+ function Rn(e, t) {
1358
1358
  if (pn(e) || pn(t) || mn(e) || mn(t)) return 0;
1359
1359
  if (Tn(e) || Tn(t)) {
1360
1360
  let n = Number(e), r = Number(t);
@@ -1375,161 +1375,161 @@
1375
1375
  return !(!(t in e) || !e.hasOwnProperty(t));
1376
1376
  }
1377
1377
  function kn(e, t, n, r) {
1378
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1378
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1379
1379
  if (!En(n)) return Ht(`${Ve(e)}: path must be a string: ${String(n)}`), 0;
1380
1380
  let o = n.split("`");
1381
1381
  if (o.length <= 1) return t[n];
1382
- let i = o.length;
1383
- for (let s = 0; s < i; s++) if (void 0 === (t = t[o[s]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1382
+ let l = o.length;
1383
+ for (let i = 0; i < l; i++) if (void 0 === (t = t[o[i]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1384
1384
  return t;
1385
1385
  }
1386
1386
  function In(e, t, n) {
1387
- e && !jn(e) && Ht("GObj bad instanceof");
1387
+ e && !vn(e) && Ht("GObj bad instanceof");
1388
1388
  let [r, o] = function(e, t) {
1389
1389
  let n = e.lastIndexOf(t);
1390
1390
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1391
1391
  }(n, "`");
1392
- return Sn(o) ? ln(t, n) : ln(kn(e, t, r, !0), o), 0;
1392
+ return Sn(o) ? sn(t, n) : sn(kn(e, t, r, !0), o), 0;
1393
1393
  }
1394
1394
  function $n(e, t, n, r, o) {
1395
- e && !jn(e) && Ht("GObj bad instanceof");
1396
- let i = kn(e, t, n, !1);
1397
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1398
- if (void 0 === i) {
1399
- if (l) {
1395
+ e && !vn(e) && Ht("GObj bad instanceof");
1396
+ let l = kn(e, t, n, !1);
1397
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1398
+ if (void 0 === l) {
1399
+ if (s) {
1400
1400
  let o = Boolean(r);
1401
1401
  return Gn(e, t, n, o), o;
1402
1402
  }
1403
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1403
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1404
1404
  }
1405
- return _ && In(e, t, n), Boolean(i);
1405
+ return _ && In(e, t, n), Boolean(l);
1406
1406
  }
1407
1407
  function Cn(e, t, n, r, o) {
1408
- e && !jn(e) && Ht("GObj bad instanceof");
1409
- let i = kn(e, t, n, !1);
1410
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1411
- if (void 0 === i) {
1412
- if (l) {
1408
+ e && !vn(e) && Ht("GObj bad instanceof");
1409
+ let l = kn(e, t, n, !1);
1410
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1411
+ if (void 0 === l) {
1412
+ if (s) {
1413
1413
  let o = parseInt(r);
1414
1414
  return Gn(e, t, n, o), o;
1415
1415
  }
1416
- return s && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1416
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1417
1417
  }
1418
- return _ && In(e, t, n), Tn(i) ? parseInt(i) : (s && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1418
+ return _ && In(e, t, n), Tn(l) ? parseInt(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1419
1419
  }
1420
1420
  function Ln(e, t, n, r, o) {
1421
- e && !jn(e) && Ht("GObj bad instanceof");
1422
- let i = kn(e, t, n, !1);
1423
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1424
- if (void 0 === i) {
1425
- if (l) {
1421
+ e && !vn(e) && Ht("GObj bad instanceof");
1422
+ let l = kn(e, t, n, !1);
1423
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1424
+ if (void 0 === l) {
1425
+ if (s) {
1426
1426
  let o = String(r);
1427
1427
  return Gn(e, t, n, o), o;
1428
1428
  }
1429
- return s && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1429
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1430
1430
  }
1431
- return _ && In(e, t, n), En(i) ? String(i) : (s && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1431
+ return _ && In(e, t, n), En(l) ? String(l) : (i && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1432
1432
  }
1433
1433
  function Pn(e, t, n, r, o) {
1434
- e && !jn(e) && Ht("GObj bad instanceof");
1435
- let i = kn(e, t, n, !1);
1436
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1437
- if (void 0 === i) {
1438
- if (l) {
1434
+ e && !vn(e) && Ht("GObj bad instanceof");
1435
+ let l = kn(e, t, n, !1);
1436
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1437
+ if (void 0 === l) {
1438
+ if (s) {
1439
1439
  let o = r;
1440
1440
  return Gn(e, t, n, o), o;
1441
1441
  }
1442
- return s && (Ht(`path not found: '${n}'`), Zt(t)), r;
1442
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1443
1443
  }
1444
- return _ && In(e, t, n), i;
1444
+ return _ && In(e, t, n), l;
1445
1445
  }
1446
1446
  function Un(e, t, n, r, o) {
1447
- e && !jn(e) && Ht("GObj bad instanceof");
1448
- let i = kn(e, t, n, !1);
1449
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1450
- if (void 0 === i) {
1451
- if (l) {
1447
+ e && !vn(e) && Ht("GObj bad instanceof");
1448
+ let l = kn(e, t, n, !1);
1449
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1450
+ if (void 0 === l) {
1451
+ if (s) {
1452
1452
  let o = Object(r);
1453
1453
  return Gn(e, t, n, o), o;
1454
1454
  }
1455
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1455
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1456
1456
  }
1457
- return _ && In(e, t, n), pn(i) ? Object(i) : (s && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1457
+ return _ && In(e, t, n), pn(l) ? Object(l) : (i && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1458
1458
  }
1459
1459
  function Fn(e, t, n, r, o) {
1460
- e && !jn(e) && Ht("GObj bad instanceof");
1461
- let i = kn(e, t, n, !1);
1462
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1463
- if (void 0 === i) {
1464
- if (l) {
1460
+ e && !vn(e) && Ht("GObj bad instanceof");
1461
+ let l = kn(e, t, n, !1);
1462
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1463
+ if (void 0 === l) {
1464
+ if (s) {
1465
1465
  let o = r;
1466
1466
  return Gn(e, t, n, o), o;
1467
1467
  }
1468
- return s && (Ht(`path not found: '${n}'`), Zt(t)), r;
1468
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1469
1469
  }
1470
- return _ && In(e, t, n), i;
1470
+ return _ && In(e, t, n), l;
1471
1471
  }
1472
1472
  function Gn(e, t, n, r) {
1473
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1473
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1474
1474
  let o = n.split("`");
1475
1475
  if (o.length <= 1) return t[n] = r, 0;
1476
- let i = o.length;
1477
- for (let e = 0; e < i; e++) {
1476
+ let l = o.length;
1477
+ for (let e = 0; e < l; e++) {
1478
1478
  let n = o[e];
1479
- e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1479
+ e === l - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1480
1480
  }
1481
1481
  return 0;
1482
1482
  }
1483
1483
  function Vn(e, t, n, r, o) {
1484
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1485
- let i = Un(e, t, n, {}, !0);
1486
- return pn(i) ? (i[r] = o, 0) : (Ht("subdict is not an object"), -1);
1484
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1485
+ let l = Un(e, t, n, {}, !0);
1486
+ return pn(l) ? (l[r] = o, 0) : (Ht("subdict is not an object"), -1);
1487
1487
  }
1488
1488
  function Mn(e, t, r) {
1489
- let o = "", i = !1;
1489
+ let o = "", l = !1;
1490
1490
  if (mn(t)) {
1491
- i = !1;
1492
- for (let s = 0; s < t.length; s++) {
1493
- let l = t[s];
1494
- if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, s), i = Mn(e, l, o), i) break;
1491
+ l = !1;
1492
+ for (let i = 0; i < t.length; i++) {
1493
+ let s = t[i];
1494
+ if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, i), l = Mn(e, s, o), l) break;
1495
1495
  }
1496
1496
  } else if (pn(t)) {
1497
- i = !0;
1498
- let s = Object.keys(t);
1499
- for (let l = 0; l < s.length; l++) {
1500
- let _ = s[l], a = t[_];
1497
+ l = !0;
1498
+ let i = Object.keys(t);
1499
+ for (let s = 0; s < i.length; s++) {
1500
+ let _ = i[s], a = t[_];
1501
1501
  if (o = Sn(r) ? n("%s", _) : n("%s`%s", r, _), mn(a) || pn(a)) {
1502
- if (i = Mn(e, a, o), !i) break;
1502
+ if (l = Mn(e, a, o), !l) break;
1503
1503
  continue;
1504
1504
  }
1505
1505
  let u = Fn(0, e, o, 0, 0);
1506
- if (u || (u = sn(e, o)), !u) {
1507
- i = !1;
1506
+ if (u || (u = ln(e, o)), !u) {
1507
+ l = !1;
1508
1508
  break;
1509
1509
  }
1510
- if (0 !== wn(u, a)) {
1511
- i = !1;
1510
+ if (0 !== Rn(u, a)) {
1511
+ l = !1;
1512
1512
  break;
1513
1513
  }
1514
1514
  }
1515
1515
  }
1516
- return i;
1516
+ return l;
1517
1517
  }
1518
1518
  function Wn(e, t) {
1519
1519
  return 0 === bn(t) || Mn(e, t, "");
1520
1520
  }
1521
1521
  function Kn(e, t, n, r) {
1522
- e && !jn(e) && Ht("GObj bad instanceof");
1522
+ e && !vn(e) && Ht("GObj bad instanceof");
1523
1523
  let o = {};
1524
1524
  if (En(n) && !Sn(n)) {
1525
- let i = n;
1526
- t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1527
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1525
+ let l = n;
1526
+ t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1527
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1528
1528
  else {
1529
1529
  if (!(mn(n) && dn(n) > 0)) return t;
1530
- for (let i = 0; i < n.length; i++) {
1531
- let s = n[i];
1532
- t.hasOwnProperty(s) ? o[s] = t[s] : r && Ht(`${Ve(e)}: key not found: ${s}`);
1530
+ for (let l = 0; l < n.length; l++) {
1531
+ let i = n[l];
1532
+ t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1533
1533
  }
1534
1534
  }
1535
1535
  return o;
@@ -1537,14 +1537,14 @@
1537
1537
  function xn(e, t, n, r) {
1538
1538
  let o = {};
1539
1539
  if (nn(o, t), En(n) && !Sn(n)) {
1540
- let i = n;
1541
- Fn(e, t, i, 0, 0) ? ln(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1542
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? ln(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1540
+ let l = n;
1541
+ Fn(e, t, l, 0, 0) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1542
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1543
1543
  else {
1544
1544
  if (!(mn(n) && dn(n) > 0)) return {};
1545
- for (let i = 0; i < n.length; i++) {
1546
- let s = n[i];
1547
- t.hasOwnProperty(s) ? ln(o, s) : r && Ht(`${Ve(e)}: key not found: ${s}`);
1545
+ for (let l = 0; l < n.length; l++) {
1546
+ let i = n[l];
1547
+ t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1548
1548
  }
1549
1549
  }
1550
1550
  return o;
@@ -1586,26 +1586,26 @@
1586
1586
  return !1;
1587
1587
  }
1588
1588
  function Hn(e, t, n, r, o) {
1589
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
1589
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
1590
1590
  o || (o = Wn);
1591
- let i = [];
1592
- if (mn(t)) for (let s = 0; s < t.length; s++) {
1593
- let l, _ = t[s];
1594
- if (pn(_)) l = Ln(e, _, "id", "", 0);
1591
+ let l = [];
1592
+ if (mn(t)) for (let i = 0; i < t.length; i++) {
1593
+ let s, _ = t[i];
1594
+ if (pn(_)) s = Ln(e, _, "id", "", 0);
1595
1595
  else {
1596
1596
  if (!En(_)) continue;
1597
- l = _;
1597
+ s = _;
1598
1598
  }
1599
- qn(n, l) && o(_, r) && i.push(_);
1599
+ qn(n, s) && o(_, r) && l.push(_);
1600
1600
  }
1601
1601
  else {
1602
1602
  if (!pn(t)) return Ht("kw_collect() BAD kw parameter"), null;
1603
1603
  for (let e of Object.keys(t)) {
1604
- let s = t[e];
1605
- qn(n, e) && o(s, r) && i.push(s);
1604
+ let i = t[e];
1605
+ qn(n, e) && o(i, r) && l.push(i);
1606
1606
  }
1607
1607
  }
1608
- return i;
1608
+ return l;
1609
1609
  }
1610
1610
  function zn(e, t) {
1611
1611
  if (!e) return -1;
@@ -1637,7 +1637,7 @@
1637
1637
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1638
1638
  }
1639
1639
  function er(e, t, n, r) {
1640
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1640
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1641
1641
  if (!t) return;
1642
1642
  let o = Xn(t, n);
1643
1643
  o || (o = [], Zn(t, n, o));
@@ -1648,7 +1648,7 @@
1648
1648
  }
1649
1649
  }
1650
1650
  function tr(e, t, n, r) {
1651
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1651
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1652
1652
  if (!pn(t)) return Ht("kw is not a dict"), null;
1653
1653
  let o = Xn(t, n);
1654
1654
  return o ? 0 === o.length ? (r && Ht(`stack empty: ${n}`), null) : o[0] : (r && Ht(`stack NOT FOUND: ${n}`), null);
@@ -1672,23 +1672,23 @@
1672
1672
  ]), pn(e[r]) && or(e[r], t, n), n = n.slice(0, -o.length);
1673
1673
  }
1674
1674
  }
1675
- function ir(e, t, n, r) {
1675
+ function lr(e, t, n, r) {
1676
1676
  if (!e) return null;
1677
- let o, i = e.length;
1678
- for (o = 0; o < i; o++) {
1679
- let i = e[o];
1680
- if (i) {
1681
- let e = i.id;
1682
- if (e && e === n) return i;
1683
- if (r && An(i, t)) {
1684
- let e = ir(i[t], t, n, r);
1677
+ let o, l = e.length;
1678
+ for (o = 0; o < l; o++) {
1679
+ let l = e[o];
1680
+ if (l) {
1681
+ let e = l.id;
1682
+ if (e && e === n) return l;
1683
+ if (r && An(l, t)) {
1684
+ let e = lr(l[t], t, n, r);
1685
1685
  if (e) return e;
1686
1686
  }
1687
1687
  }
1688
1688
  }
1689
1689
  return null;
1690
1690
  }
1691
- function sr(e) {
1691
+ function ir(e) {
1692
1692
  function t(e) {
1693
1693
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
1694
1694
  switch (t.length % 4) {
@@ -1719,7 +1719,7 @@
1719
1719
  signature: t(n[2])
1720
1720
  };
1721
1721
  }
1722
- function lr(e) {
1722
+ function sr(e) {
1723
1723
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1724
1724
  }
1725
1725
  function _r(e) {
@@ -1743,10 +1743,39 @@
1743
1743
  let t = null;
1744
1744
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1745
1745
  }
1746
- function gr(e) {
1746
+ var gr = 256, dr = 1e5;
1747
+ function br(e) {
1748
+ const t = String(e).replace(/`/g, "``");
1749
+ return "[" === t[0] ? "[" + t : t;
1750
+ }
1751
+ function pr(e) {
1752
+ if ("string" != typeof e) return null;
1753
+ let t = [], n = "";
1754
+ for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
1755
+ else {
1756
+ if ("`" === e[r + 1]) {
1757
+ n += "`", r++;
1758
+ continue;
1759
+ }
1760
+ t.push(n), n = "";
1761
+ }
1762
+ return t.push(n), t.map((e) => {
1763
+ const t = function(e) {
1764
+ if ("string" != typeof e || e.length < 3 || "[" !== e[0]) return null;
1765
+ if ("]" !== e[e.length - 1]) return null;
1766
+ const t = e.slice(1, -1);
1767
+ return /^[0-9]+$/.test(t) ? t.length > 1 && "0" === t[0] ? null : parseInt(t, 10) : null;
1768
+ }(e);
1769
+ return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
1770
+ });
1771
+ }
1772
+ function mr(e, t) {
1773
+ return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1774
+ }
1775
+ function Er(e) {
1747
1776
  return "persistent-attrs-" + Ve(e);
1748
1777
  }
1749
- function dr(e, t) {
1778
+ function Tr(e, t) {
1750
1779
  if (En(t)) {
1751
1780
  if (-1 === t.indexOf("^")) {
1752
1781
  let n, r, o = e.fkey;
@@ -1776,7 +1805,7 @@
1776
1805
  hook_name: t.hook_name
1777
1806
  } : (Ht("bad fkey 3"), Ht(e), Ht(t), null);
1778
1807
  }
1779
- var br = [
1808
+ var hr = [
1780
1809
  "string",
1781
1810
  "integer",
1782
1811
  "object",
@@ -1786,7 +1815,7 @@
1786
1815
  "real",
1787
1816
  "boolean",
1788
1817
  "blob"
1789
- ], pr = [
1818
+ ], yr = [
1790
1819
  "persistent",
1791
1820
  "required",
1792
1821
  "notnull",
@@ -1798,7 +1827,7 @@
1798
1827
  "stats",
1799
1828
  "rstats",
1800
1829
  "pstats"
1801
- ], mr = [
1830
+ ], jr = [
1802
1831
  "hook",
1803
1832
  "fkey",
1804
1833
  "enum",
@@ -1825,7 +1854,7 @@
1825
1854
  "coordinates",
1826
1855
  "gbuffer"
1827
1856
  ];
1828
- function Er(e) {
1857
+ function vr(e) {
1829
1858
  let t = {
1830
1859
  name: e.id,
1831
1860
  header: e.header,
@@ -1843,7 +1872,7 @@
1843
1872
  if (!e.flag) return t;
1844
1873
  for (let n = 0; n < e.flag.length; n++) {
1845
1874
  let r = e.flag[n];
1846
- if (Qn(mr, r)) {
1875
+ if (Qn(jr, r)) {
1847
1876
  switch (r) {
1848
1877
  case "enum":
1849
1878
  t.enum_list = e.enum;
@@ -1854,7 +1883,7 @@
1854
1883
  case "table": t.enum_list = e.table;
1855
1884
  }
1856
1885
  t.type = r;
1857
- } else if (Qn(pr, r)) switch (r) {
1886
+ } else if (Qn(yr, r)) switch (r) {
1858
1887
  case "writable":
1859
1888
  t.is_writable = !0;
1860
1889
  break;
@@ -1867,37 +1896,37 @@
1867
1896
  }
1868
1897
  return t;
1869
1898
  }
1870
- var Tr = [
1871
- j(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1872
- j(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1873
- j(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1874
- v()
1875
- ], hr = {
1899
+ var Sr = [
1900
+ v(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1901
+ v(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1902
+ v(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1903
+ j()
1904
+ ], Or = {
1876
1905
  periodic: !1,
1877
1906
  msec: 0,
1878
1907
  timer_id: -1
1879
- }, yr = null;
1880
- function vr(e, t, n, r) {
1881
- let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1908
+ }, Nr = null;
1909
+ function wr(e, t, n, r) {
1910
+ let o = e.priv, l = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1882
1911
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
1883
- jt(e, "EV_TIMEOUT", {}, e);
1884
- }, o.msec) : o.timer_id = -1, xe(e) ? jt(We(e), i, {}, e) : Ct(e, i, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1912
+ vt(e, "EV_TIMEOUT", {}, e);
1913
+ }, o.msec) : o.timer_id = -1, xe(e) ? vt(We(e), l, {}, e) : Ct(e, l, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1885
1914
  }
1886
- var jr = {
1915
+ var Rr = {
1887
1916
  mt_create: function(e) {
1888
1917
  let t = e.priv;
1889
1918
  const n = ut(e, "subscriber");
1890
- n && At(e, null, {}, n), t.periodic = lt(e, "periodic"), t.msec = _t(e, "msec");
1919
+ n && At(e, null, {}, n), t.periodic = st(e, "periodic"), t.msec = _t(e, "msec");
1891
1920
  },
1892
1921
  mt_writing: function(e, t) {
1893
1922
  let n = e.priv;
1894
1923
  switch (t) {
1895
1924
  case "periodic":
1896
- n.periodic = lt(e, "periodic");
1925
+ n.periodic = st(e, "periodic");
1897
1926
  break;
1898
1927
  case "msec": n.msec = _t(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
1899
- jt(e, "EV_TIMEOUT", {}, e);
1900
- }, n.msec)), n.msec > 0 ? Ae(e) || ve(e) : Ae(e) && Oe(e);
1928
+ vt(e, "EV_TIMEOUT", {}, e);
1929
+ }, n.msec)), n.msec > 0 ? Ae(e) || je(e) : Ae(e) && Oe(e);
1901
1930
  }
1902
1931
  },
1903
1932
  mt_start: function(e) {
@@ -1908,84 +1937,84 @@
1908
1937
  },
1909
1938
  mt_destroy: function(e) {}
1910
1939
  };
1911
- function Sr(e, t) {
1940
+ function Dr(e, t) {
1912
1941
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !1), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1913
1942
  }
1914
- function Or(e, t) {
1943
+ function Ar(e, t) {
1915
1944
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !0), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1916
1945
  }
1917
- function Nr(e) {
1946
+ function kr(e) {
1918
1947
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : void gt(e, "msec", -1) : (Ht("not GObj TYPE"), -1);
1919
1948
  }
1920
- var Rr = [
1921
- j(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1922
- j(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1923
- j(T.DTP_STRING, "__username__", 0, "", "Username"),
1924
- j(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1925
- j(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1926
- j(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1927
- j(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1928
- j(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1929
- j(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1930
- j(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1931
- j(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1932
- j(T.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
1933
- j(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1934
- j(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1935
- j(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1936
- j(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1937
- j(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1938
- j(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1939
- j(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1940
- j(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1941
- j(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1942
- j(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1943
- j(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1944
- j(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1945
- v()
1946
- ], wr = { gobj_timer: null }, Dr = null;
1947
- function Ar(e, t, n, r) {
1949
+ var Ir = [
1950
+ v(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1951
+ v(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1952
+ v(T.DTP_STRING, "__username__", 0, "", "Username"),
1953
+ v(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1954
+ v(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1955
+ v(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1956
+ v(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1957
+ v(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1958
+ v(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1959
+ v(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1960
+ v(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1961
+ v(T.DTP_STRING, "yuneta_version", 0, i, "Yuneta version"),
1962
+ v(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1963
+ v(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1964
+ v(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1965
+ v(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1966
+ v(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1967
+ v(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1968
+ v(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1969
+ v(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1970
+ v(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1971
+ v(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1972
+ v(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1973
+ v(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1974
+ j()
1975
+ ], $r = { gobj_timer: null }, Cr = null;
1976
+ function Lr(e, t, n, r) {
1948
1977
  return Ct(e, t, n), 0;
1949
1978
  }
1950
- var kr = {
1979
+ var Pr = {
1951
1980
  mt_create: function(e) {
1952
1981
  let t = e.priv;
1953
- dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = it(e, "periodic_timeout");
1982
+ dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = lt(e, "periodic_timeout");
1954
1983
  },
1955
1984
  mt_writing: function(e, t) {},
1956
1985
  mt_start: function(e) {
1957
- return Or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1986
+ return Ar(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1958
1987
  },
1959
1988
  mt_stop: function(e) {
1960
- return Nr(e.priv.gobj_timer), Re(e), 0;
1989
+ return kr(e.priv.gobj_timer), we(e), 0;
1961
1990
  },
1962
1991
  mt_destroy: function(e) {},
1963
1992
  mt_play: function(e) {
1964
1993
  let t = fe();
1965
- return Ae(t) || ve(t), $e(t) || we(t), 0;
1994
+ return Ae(t) || je(t), $e(t) || Re(t), 0;
1966
1995
  },
1967
1996
  mt_pause: function(e) {
1968
1997
  return De(fe()), 0;
1969
1998
  }
1970
1999
  };
1971
- var Ir = "ievent_gate_stack", $r = [
1972
- j(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
1973
- j(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
1974
- j(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
1975
- j(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
1976
- j(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
1977
- j(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
1978
- j(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
1979
- j(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
1980
- j(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1981
- j(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1982
- j(T.DTP_LIST, "required_services", h.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."),
1983
- j(T.DTP_INTEGER, "timeout_retry", h.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"),
1984
- j(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
1985
- j(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
1986
- j(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1987
- v()
1988
- ], Cr = {
2000
+ var Ur = "ievent_gate_stack", Fr = [
2001
+ v(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
2002
+ v(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
2003
+ v(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
2004
+ v(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
2005
+ v(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
2006
+ v(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
2007
+ v(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
2008
+ v(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
2009
+ v(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2010
+ v(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2011
+ v(T.DTP_LIST, "required_services", h.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."),
2012
+ v(T.DTP_INTEGER, "timeout_retry", h.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"),
2013
+ v(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2014
+ v(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
2015
+ v(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2016
+ j()
2017
+ ], Gr = {
1989
2018
  url: null,
1990
2019
  remote_yuno_name: null,
1991
2020
  remote_yuno_role: null,
@@ -1995,8 +2024,8 @@
1995
2024
  websocket: null,
1996
2025
  inside_on_open: !1,
1997
2026
  retry_ms: 0
1998
- }, Lr = null;
1999
- function Pr(e) {
2027
+ }, Vr = null;
2028
+ function Mr(e) {
2000
2029
  e.priv.websocket && Ht("Websocket ALREADY setup");
2001
2030
  const t = at(e, "url");
2002
2031
  let n;
@@ -2007,20 +2036,20 @@
2007
2036
  return Ht(`${Ve(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2008
2037
  }
2009
2038
  return n ? (n.onopen = () => {
2010
- jt(e, "EV_ON_OPEN", { url: t }, e);
2039
+ vt(e, "EV_ON_OPEN", { url: t }, e);
2011
2040
  }, n.onmessage = (n) => {
2012
- jt(e, "EV_ON_MESSAGE", {
2041
+ vt(e, "EV_ON_MESSAGE", {
2013
2042
  url: t,
2014
2043
  data: n.data
2015
2044
  }, e);
2016
2045
  }, n.onclose = (n) => {
2017
- Ye(e) || (lt(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : jt(e, "EV_ON_CLOSE", {
2046
+ Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : vt(e, "EV_ON_CLOSE", {
2018
2047
  url: t,
2019
2048
  e: n
2020
2049
  }, e));
2021
2050
  }, n) : (Ht(`${Ve(e)}: Failed to initialize WebSocket.`), null);
2022
2051
  }
2023
- function Ur(e, t = 1e3, n = "") {
2052
+ function Wr(e, t = 1e3, n = "") {
2024
2053
  let r = e.priv, o = r.websocket;
2025
2054
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2026
2055
  Qt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2031,7 +2060,7 @@
2031
2060
  }
2032
2061
  } else zt("WebSocket is already closed or in the process of closing.");
2033
2062
  }
2034
- function Fr(e, t, n) {
2063
+ function Kr(e, t, n) {
2035
2064
  let r = ar();
2036
2065
  try {
2037
2066
  Qt("\n" + r + " " + t + "\n"), Zt(n);
@@ -2039,17 +2068,17 @@
2039
2068
  Qt("ERROR in trace_inter_event: " + e);
2040
2069
  }
2041
2070
  }
2042
- var Gr = class {
2071
+ var xr = class {
2043
2072
  constructor(e, t) {
2044
2073
  this.event = e, this.kw = t || {};
2045
2074
  }
2046
2075
  };
2047
- function Vr(e, t, n, r) {
2076
+ function Yr(e, t, n, r) {
2048
2077
  return function(e, t) {
2049
2078
  let n = e.priv, r = JSON.stringify(t);
2050
- if (lt(Ce(), "trace_inter_event")) {
2051
- let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, i = it(Ce(), "trace_ievent_callback");
2052
- i ? i(o, t, 1, r.length) : Fr(0, o, t);
2079
+ if (st(Ce(), "trace_inter_event")) {
2080
+ let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, l = lt(Ce(), "trace_ievent_callback");
2081
+ l ? l(o, t, 1, r.length) : Kr(0, o, t);
2053
2082
  }
2054
2083
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return zt(`${Ve(e)}: send_iev(): websocket not open, message lost`), -1;
2055
2084
  try {
@@ -2059,10 +2088,10 @@
2059
2088
  }
2060
2089
  return 0;
2061
2090
  }(e, function(e, t) {
2062
- return Sn(e) ? (Ht("iev_create() event NULL"), null) : new Gr(e, t);
2091
+ return Sn(e) ? (Ht("iev_create() event NULL"), null) : new xr(e, t);
2063
2092
  }(t, n));
2064
2093
  }
2065
- function Mr(e, t, n) {
2094
+ function Br(e, t, n) {
2066
2095
  return Sn(n) && (n = at(e, "wanted_yuno_service")), {
2067
2096
  dst_yuno: at(e, "wanted_yuno_name"),
2068
2097
  dst_role: at(e, "wanted_yuno_role"),
@@ -2073,17 +2102,17 @@
2073
2102
  host: cr()
2074
2103
  };
2075
2104
  }
2076
- function Wr(e) {
2077
- let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), i = at(Ce(), "yuno_tag"), l = it(e, "required_services");
2078
- l && l.length || (l = it(Ce(), "required_services"));
2105
+ function Jr(e) {
2106
+ let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), l = at(Ce(), "yuno_tag"), s = lt(e, "required_services");
2107
+ s && s.length || (s = lt(Ce(), "required_services"));
2079
2108
  let _ = {
2080
2109
  yuno_role: Pe(),
2081
2110
  yuno_id: Ue(),
2082
2111
  yuno_name: Le(),
2083
- yuno_tag: i,
2112
+ yuno_tag: l,
2084
2113
  yuno_version: r,
2085
2114
  yuno_release: o,
2086
- yuneta_version: s,
2115
+ yuneta_version: i,
2087
2116
  playing: n,
2088
2117
  pid: 0,
2089
2118
  watcher_pid: 0,
@@ -2094,88 +2123,88 @@
2094
2123
  id: cr(),
2095
2124
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2096
2125
  language: "undefined" != typeof window ? window.navigator.language : "",
2097
- required_services: l
2126
+ required_services: s
2098
2127
  };
2099
- return er(e, _, Ir, Mr(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Sr(t.gobj_timer, _t(e, "timeout_idack")), Vr(e, "EV_IDENTITY_CARD", _);
2128
+ return er(e, _, Ur, Br(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Dr(t.gobj_timer, _t(e, "timeout_idack")), Yr(e, "EV_IDENTITY_CARD", _);
2100
2129
  }
2101
- function Kr(e, t) {
2130
+ function qr(e, t) {
2102
2131
  if (Sn(t.event)) return -1;
2103
- let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, s = t.__service__, l = t.subscriber;
2104
- o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i);
2105
- return er(e, n, Ir, Mr(e, Fe(l), s)), nr(e, n, "__subscribing__"), Vr(e, t.event, n);
2132
+ let n = {}, r = t.__global__, o = t.__config__, l = t.__filter__, i = t.__service__, s = t.subscriber;
2133
+ o && (n.__config__ = o), r && (n.__global__ = r), l && (n.__filter__ = l);
2134
+ return er(e, n, Ur, Br(e, Fe(s), i)), nr(e, n, "__subscribing__"), Yr(e, t.event, n);
2106
2135
  }
2107
- function xr(e, t, n, r) {
2136
+ function Hr(e, t, n, r) {
2108
2137
  let o = e.priv;
2109
- return Ae(e) && (o.websocket = Pr(e)), 0;
2138
+ return Ae(e) && (o.websocket = Mr(e)), 0;
2110
2139
  }
2111
- function Yr(e, t, n, r) {
2112
- return Qt("Websocket opened: " + e.priv.url), Wr(e), 0;
2140
+ function zr(e, t, n, r) {
2141
+ return Qt("Websocket opened: " + e.priv.url), Jr(e), 0;
2113
2142
  }
2114
- function Br(e, t, n, r) {
2115
- let o = e.priv, i = n.e, s = n.url;
2116
- return Jt(), zt(`${Ve(e)}: WebSocket closed ${s} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Ct(e, "EV_ON_CLOSE", {
2117
- url: s,
2143
+ function Qr(e, t, n, r) {
2144
+ let o = e.priv, l = n.e, i = n.url;
2145
+ return Jt(), zt(`${Ve(e)}: WebSocket closed ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Ct(e, "EV_ON_CLOSE", {
2146
+ url: i,
2118
2147
  remote_yuno_name: o.remote_yuno_name,
2119
2148
  remote_yuno_role: o.remote_yuno_role,
2120
2149
  remote_yuno_service: o.remote_yuno_service
2121
- })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${s} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2122
- url: s,
2150
+ })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2151
+ url: i,
2123
2152
  remote_yuno_name: o.remote_yuno_name,
2124
2153
  remote_yuno_role: o.remote_yuno_role,
2125
2154
  remote_yuno_service: o.remote_yuno_service,
2126
- code: i.code,
2127
- reason: i.reason,
2128
- was_clean: i.wasClean
2129
- })), Ae(e) && Sr(o.gobj_timer, function(e) {
2155
+ code: l.code,
2156
+ reason: l.reason,
2157
+ was_clean: l.wasClean
2158
+ })), Ae(e) && Dr(o.gobj_timer, function(e) {
2130
2159
  let t = e.priv, n = _t(e, "timeout_retry"), r = _t(e, "timeout_retry_max");
2131
2160
  r < n && (r = n);
2132
2161
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2133
- let o = .2 * t.retry_ms, i = t.retry_ms - o + 2 * Math.random() * o;
2134
- return Math.max(1, Math.round(i));
2162
+ let o = .2 * t.retry_ms, l = t.retry_ms - o + 2 * Math.random() * o;
2163
+ return Math.max(1, Math.round(l));
2135
2164
  }(e)), 0;
2136
2165
  }
2137
- function Jr(e, t, n, r) {
2138
- return Wr(e), 0;
2166
+ function Xr(e, t, n, r) {
2167
+ return Jr(e), 0;
2139
2168
  }
2140
- function qr(e, t, n, r) {
2169
+ function Zr(e, t, n, r) {
2141
2170
  let o = e.priv;
2142
- Nr(o.gobj_timer);
2143
- let i = tr(e, n, Ir, !0), s = Ln(e, i, "src_yuno", ""), l = Ln(e, i, "src_role", ""), _ = Ln(e, i, "src_service", "");
2144
- dt(e, "remote_yuno_name", s), dt(e, "remote_yuno_role", l), dt(e, "remote_yuno_service", _);
2171
+ kr(o.gobj_timer);
2172
+ let l = tr(e, n, Ur, !0), i = Ln(e, l, "src_yuno", ""), s = Ln(e, l, "src_role", ""), _ = Ln(e, l, "src_service", "");
2173
+ dt(e, "remote_yuno_name", i), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
2145
2174
  let a = Cn(e, n, "result", -1, 0), u = Ln(e, n, "comment", "", 0), c = Ln(e, n, "username", "", 0), f = Fn(e, n, "services_roles", {});
2146
2175
  if (a < 0) {
2147
- Ur(e);
2176
+ Wr(e);
2148
2177
  let t = {
2149
2178
  url: at(e, "url"),
2150
2179
  result: a,
2151
2180
  comment: u,
2152
2181
  username: c,
2153
- remote_yuno_name: s,
2154
- remote_yuno_role: l,
2182
+ remote_yuno_name: i,
2183
+ remote_yuno_role: s,
2155
2184
  remote_yuno_service: _
2156
2185
  };
2157
- xe(e) ? jt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2186
+ xe(e) ? vt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2158
2187
  } else {
2159
2188
  if (bt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2160
2189
  o.inform_on_close = !0;
2161
2190
  let t = {
2162
2191
  username: c,
2163
- remote_yuno_name: s,
2164
- remote_yuno_role: l,
2192
+ remote_yuno_name: i,
2193
+ remote_yuno_role: s,
2165
2194
  remote_yuno_service: _,
2166
2195
  services_roles: f
2167
2196
  };
2168
- xe(e) ? jt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2197
+ xe(e) ? vt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2169
2198
  }
2170
2199
  o.inside_on_open = !1, function(e) {
2171
2200
  let t = It(e, null, null, null);
2172
- for (let n = 0; n < t.length; n++) Kr(e, t[n]);
2201
+ for (let n = 0; n < t.length; n++) qr(e, t[n]);
2173
2202
  }(e);
2174
2203
  }
2175
2204
  return 0;
2176
2205
  }
2177
- function Hr(e, t, n, r) {
2178
- let o = e.priv.url, i = function(e, t) {
2206
+ function eo(e, t, n, r) {
2207
+ let o = e.priv.url, l = function(e, t) {
2179
2208
  let n;
2180
2209
  try {
2181
2210
  n = JSON.parse(t);
@@ -2192,38 +2221,37 @@
2192
2221
  kw: o || {}
2193
2222
  } : (Ht("parsing inter_event: kw not a json object"), null) : (Ht("parsing inter_kw: no kw"), null);
2194
2223
  }(0, n.data);
2195
- if (lt(Ce(), "trace_inter_event")) {
2196
- let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = it(Ce(), "trace_ievent_callback");
2197
- r ? r(e, i, 2, t) : Fr(0, e, i);
2224
+ if (st(Ce(), "trace_inter_event")) {
2225
+ let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = lt(Ce(), "trace_ievent_callback");
2226
+ r ? r(e, l, 2, t) : Kr(0, e, l);
2198
2227
  }
2199
- let s = i.event, l = i.kw;
2228
+ let i = l.event, s = l.kw;
2200
2229
  if ("ST_SESSION" !== pt(e)) {
2201
- if (Et(e, s, D.EVF_PUBLIC_EVENT)) {
2202
- if (!(jt(e, s, l, e) < 0)) return 0;
2203
- } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${s}`);
2204
- return Ur(e), -1;
2230
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) {
2231
+ if (!(vt(e, i, s, e) < 0)) return 0;
2232
+ } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${i}`);
2233
+ return Wr(e), -1;
2205
2234
  }
2206
- i = null;
2207
- let _ = rr(e, l), a = tr(e, l, Ir), u = Ln(e, a, "dst_role", "");
2235
+ l = null;
2236
+ let _ = rr(e, s), a = tr(e, s, Ur), u = Ln(e, a, "dst_role", "");
2208
2237
  if (u.toLowerCase() !== Pe().toLowerCase()) return Ht(`"It's not my role, dst_role: ${u}, my_role: ${Pe()}`), 0;
2209
2238
  let c = Ln(e, a, "dst_service", "");
2210
2239
  if ("__subscribing__" === _) return -1;
2211
2240
  if ("__unsubscribing__" === _) return -1;
2212
- if (Et(e, s, D.EVF_PUBLIC_EVENT)) return jt(e, s, l, e), 0;
2213
- let f = ge(c, !0);
2214
- if (f) {
2215
- if (!Et(f, s, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${s}'`), -1;
2216
- jt(f, s, l, e);
2217
- } else xe(e) ? jt(We(e), s, l, e) : Ct(e, s, l);
2218
- return 0;
2241
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) return vt(e, i, s, e), 0;
2242
+ if (!Sn(c)) {
2243
+ let t = ge(c, !1);
2244
+ return t ? Et(t, i, D.EVF_PUBLIC_EVENT) ? (vt(t, i, s, e), 0) : (Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(t)}', ev '${i}'`), -1) : (zt(`${Ve(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${i}'`), 0);
2245
+ }
2246
+ return xe(e) ? vt(We(e), i, s, e) : Ct(e, i, s), 0;
2219
2247
  }
2220
- function zr(e, t, n, r) {
2248
+ function to(e, t, n, r) {
2221
2249
  return 0;
2222
2250
  }
2223
- function Qr(e, t, n, r) {
2251
+ function no(e, t, n, r) {
2224
2252
  return 0;
2225
2253
  }
2226
- var Xr = {
2254
+ var ro = {
2227
2255
  mt_create: function(e) {
2228
2256
  let t = e.priv;
2229
2257
  t.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.url = at(e, "url"), t.remote_yuno_name = at(e, "remote_yuno_name"), t.remote_yuno_role = at(e, "remote_yuno_role"), t.remote_yuno_service = at(e, "remote_yuno_service"), dt(e, "wanted_yuno_name", t.remote_yuno_name), dt(e, "wanted_yuno_role", t.remote_yuno_role), dt(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2247,55 +2275,55 @@
2247
2275
  },
2248
2276
  mt_start: function(e) {
2249
2277
  let t = e.priv;
2250
- return t.retry_ms = 0, t.websocket = Pr(e), 0;
2278
+ return t.retry_ms = 0, t.websocket = Mr(e), 0;
2251
2279
  },
2252
2280
  mt_stop: function(e) {
2253
2281
  let t = e.priv;
2254
- return Nr(t.gobj_timer), t.websocket && Ur(e), 0;
2282
+ return kr(t.gobj_timer), t.websocket && Wr(e), 0;
2255
2283
  },
2256
2284
  mt_destroy: function(e) {},
2257
2285
  mt_stats: function(e, t, n, r) {
2258
2286
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2259
2287
  n || (n = {});
2260
- let o = Mr(e, Fe(r), Ln(e, n, "service", null, 0)), i = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2261
- return i || (i = {}), er(e, n, "stats_stack", {
2288
+ let o = Br(e, Fe(r), Ln(e, n, "service", null, 0)), l = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2289
+ return l || (l = {}), er(e, n, "stats_stack", {
2262
2290
  stats: t,
2263
- kw: i
2264
- }), er(e, n, Ir, o), n.__stats__ = t, nr(e, n, "__stats__"), Vr(e, "EV_MT_STATS", n, r), null;
2291
+ kw: l
2292
+ }), er(e, n, Ur, o), n.__stats__ = t, nr(e, n, "__stats__"), Yr(e, "EV_MT_STATS", n, r), null;
2265
2293
  },
2266
2294
  mt_command_parser: function(e, t, n, r) {
2267
2295
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2268
2296
  n || (n = {});
2269
- let o = Mr(e, Fe(r), Ln(e, n, "service", "", 0)), i = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2270
- return i || (i = {}), er(e, n, "command_stack", {
2297
+ let o = Br(e, Fe(r), Ln(e, n, "service", "", 0)), l = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2298
+ return l || (l = {}), er(e, n, "command_stack", {
2271
2299
  command: t,
2272
- kw: i
2273
- }), er(e, n, Ir, o), n.__command__ = t, nr(e, n, "__command__"), Vr(e, "EV_MT_COMMAND", n, r), null;
2300
+ kw: l
2301
+ }), er(e, n, Ur, o), n.__command__ = t, nr(e, n, "__command__"), Yr(e, "EV_MT_COMMAND", n, r), null;
2274
2302
  },
2275
2303
  mt_inject_event: function(e, t, n, r) {
2276
2304
  if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
2277
- if (n || (n = {}), tr(e, n, Ir));
2305
+ if (n || (n = {}), tr(e, n, Ur));
2278
2306
  else {
2279
- let o = Mr(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2280
- ln(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ir, o);
2307
+ let o = Br(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2308
+ sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ur, o);
2281
2309
  }
2282
- return nr(e, n, "__message__"), Vr(e, t, n, r);
2310
+ return nr(e, n, "__message__"), Yr(e, t, n, r);
2283
2311
  },
2284
2312
  mt_subscription_added: function(e, t) {
2285
2313
  let n = e.priv;
2286
- return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : Kr(e, t) : 0;
2314
+ return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : qr(e, t) : 0;
2287
2315
  },
2288
2316
  mt_subscription_deleted: function(e, t) {
2289
2317
  let n = e.priv;
2290
2318
  if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
2291
2319
  if (n.inside_on_open) return 0;
2292
2320
  if (Sn(t.event)) return 0;
2293
- let r = {}, o = t.__global__, i = t.__config__, s = t.__filter__, l = t.__service__, _ = t.subscriber;
2294
- i && (r.__config__ = i), o && (r.__global__ = o), s && (r.__filter__ = s);
2295
- return er(e, r, Ir, Mr(e, Fe(_), l)), nr(e, r, "__unsubscribing__"), Vr(e, t.event, r, e);
2321
+ let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, _ = t.subscriber;
2322
+ l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
2323
+ return er(e, r, Ur, Br(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Yr(e, t.event, r, e);
2296
2324
  }
2297
2325
  };
2298
- e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new y(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new y(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, s) => new y(e, t, n, null, s, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new y(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
2326
+ e.GObj = O, e.SDATA = v, e.SDATAAUTHZ = (e, t, n, r, o, l) => new y(e, t, n, null, l, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, l) => new y(e, t, 0, null, l, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, l, i) => new y(e, t, n, null, i, r, null, 0, l, o, null), e.SDATADF = (e, t, n, r, o, l) => new y(e, t, n, null, l, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = j, e.SDataDesc = y, e.YUNETA_VERSION = i, Object.defineProperty(e, "__yuno__", {
2299
2327
  enumerable: !0,
2300
2328
  get: function() {
2301
2329
  return p;
@@ -2304,26 +2332,26 @@
2304
2332
  let t = "", n = 0;
2305
2333
  for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
2306
2334
  return t;
2307
- }, e.build_stats_response = i, e.clean_name = function(e) {
2335
+ }, e.build_stats_response = l, e.clean_name = function(e) {
2308
2336
  return e.replace(/[?# ^:]/g, "_");
2309
- }, e.clear_timeout = Nr, e.cmp_two_simple_json = wn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2310
- let [r, o, i, s] = t;
2337
+ }, e.clear_timeout = kr, e.cmp_two_simple_json = Rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2338
+ let [r, o, l, i] = t;
2311
2339
  if (!r) return void Ht("Tag must be a valid HTML element.");
2312
- let l = document.createElement(r), _ = "";
2340
+ let s = document.createElement(r), _ = "";
2313
2341
  if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
2314
2342
  let t = "";
2315
2343
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2316
- l.style.cssText = t;
2317
- } else "style" === e ? l.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], l.setAttribute("data-i18n", _)) : l.setAttribute(e, o[e]);
2318
- if (En(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) l.appendChild(_r(i));
2319
- else if (n && _) l.textContent = n(_) || i;
2320
- else l.textContent = i;
2321
- else if (mn(i)) {
2322
- if (i.length > 0) if (En(i[0])) l.appendChild(e(i, n));
2323
- else for (let t of i) Array.isArray(t) && t.length > 0 ? l.appendChild(e(t, n)) : t instanceof HTMLElement && l.appendChild(t);
2324
- } else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? l.appendChild(i) : null != i && (Ht("content ignored"), Zt(i));
2325
- if (s && "object" == typeof s) for (const e of Object.keys(s)) l.addEventListener(e, s[e]);
2326
- return l;
2344
+ s.style.cssText = t;
2345
+ } else "style" === e ? s.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, o[e]);
2346
+ if (En(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(_r(l));
2347
+ else if (n && _) s.textContent = n(_) || l;
2348
+ else s.textContent = l;
2349
+ else if (mn(l)) {
2350
+ if (l.length > 0) if (En(l[0])) s.appendChild(e(l, n));
2351
+ else for (let t of l) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2352
+ } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ht("content ignored"), Zt(l));
2353
+ if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
2354
+ return s;
2327
2355
  }, e.createOneHtml = _r, e.create_json_record = function(e, t) {
2328
2356
  let n = en(e);
2329
2357
  return rn(n, t), n;
@@ -2332,38 +2360,38 @@
2332
2360
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2333
2361
  let o;
2334
2362
  pn(r) && (o = r.default);
2335
- let i = Fn(null, t, e, o);
2336
- n[e] = i;
2363
+ let l = Fn(null, t, e, o);
2364
+ n[e] = l;
2337
2365
  }), n;
2338
2366
  }, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
2339
- let n = Yn(gr(e), null, !1), r = {};
2367
+ let n = Yn(Er(e), null, !1), r = {};
2340
2368
  return n && pn(n) && (r = Kn(e, n, t, !1)), r;
2341
2369
  }, e.db_load_persistent_attrs = function(e, t) {
2342
- let n = st(e, h.SDF_PERSIST), r = Yn(gr(e), null, !1);
2370
+ let n = it(e, h.SDF_PERSIST), r = Yn(Er(e), null, !1);
2343
2371
  if (r && pn(r)) {
2344
2372
  let o = Kn(e, r, t, !1);
2345
2373
  o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
2346
2374
  }
2347
2375
  }, e.db_remove_persistent_attrs = function(e, t) {
2348
- let n = xn(e, Yn(gr(e), null, !1), t, !1);
2349
- 0 === gn(n) ? Jn(gr(e)) : Bn(gr(e), n);
2376
+ let n = xn(e, Yn(Er(e), null, !1), t, !1);
2377
+ 0 === gn(n) ? Jn(Er(e)) : Bn(Er(e), n);
2350
2378
  }, e.db_save_persistent_attrs = function(e, t) {
2351
- let n = Kn(e, st(e, h.SDF_PERSIST), t, !1), r = Yn(gr(e), null, !1);
2352
- return r && pn(r) && on(n, r), Bn(gr(e), n);
2379
+ let n = Kn(e, it(e, h.SDF_PERSIST), t, !1), r = Yn(Er(e), null, !1);
2380
+ return r && pn(r) && on(n, r), Bn(Er(e), n);
2353
2381
  }, e.debounce = function(e, t = 0, n = !1) {
2354
- let r = null, o = null, i = null;
2355
- const s = (...s) => {
2356
- i = this, o = s;
2357
- const l = n && !r;
2382
+ let r = null, o = null, l = null;
2383
+ const i = (...i) => {
2384
+ l = this, o = i;
2385
+ const s = n && !r;
2358
2386
  clearTimeout(r), r = setTimeout(() => {
2359
- r = null, n || e.apply(i, o);
2360
- }, t), l && e.apply(i, o);
2387
+ r = null, n || e.apply(l, o);
2388
+ }, t), s && e.apply(l, o);
2361
2389
  };
2362
- return s.flush = () => {
2363
- r && (clearTimeout(r), r = null, e.apply(i, o));
2364
- }, s.cancel = () => {
2365
- clearTimeout(r), r = null, o = null, i = null;
2366
- }, s;
2390
+ return i.flush = () => {
2391
+ r && (clearTimeout(r), r = null, e.apply(l, o));
2392
+ }, i.cancel = () => {
2393
+ clearTimeout(r), r = null, o = null, l = null;
2394
+ }, i;
2367
2395
  }, e.delete_from_list = function(e, t) {
2368
2396
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
2369
2397
  return !1;
@@ -2374,7 +2402,68 @@
2374
2402
  Object.assign(t, e);
2375
2403
  }
2376
2404
  return t;
2377
- }, e.empty_string = Sn, e.escapeHtml = lr, e.event_flag_t = D, e.gclass_add_ev_action = se, e.gclass_add_event_type = _e, e.gclass_add_state = ie, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2405
+ }, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.flat2json = function(e) {
2406
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2407
+ let t = null;
2408
+ for (const n of Object.keys(e)) {
2409
+ const r = pr(n);
2410
+ if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2411
+ if (r.length > gr) throw new Error(`flat2json: '${n}' deeper than 256`);
2412
+ const o = "number" == typeof r[0];
2413
+ if (null === t) t = o ? [] : {};
2414
+ else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2415
+ let l = t;
2416
+ for (let t = 0; t < r.length; t++) {
2417
+ const o = r[t], i = "number" == typeof o, s = t === r.length - 1, _ = !s && "number" == typeof r[t + 1];
2418
+ if (i && o > dr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2419
+ if (i !== Array.isArray(l)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(l) ? "array" : "object"}`);
2420
+ if (s) {
2421
+ if (Array.isArray(l)) {
2422
+ for (; l.length <= o;) l.push(null);
2423
+ l[o] = e[n];
2424
+ } else {
2425
+ if (Object.prototype.hasOwnProperty.call(l, o)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
2426
+ l[o] = e[n];
2427
+ }
2428
+ break;
2429
+ }
2430
+ let a;
2431
+ if (Array.isArray(l)) {
2432
+ for (; l.length <= o;) l.push(null);
2433
+ a = l[o], null == a && (a = _ ? [] : {}, l[o] = a);
2434
+ } else a = l[o], void 0 === a && (a = _ ? [] : {}, l[o] = a);
2435
+ if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
2436
+ if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
2437
+ l = a;
2438
+ }
2439
+ }
2440
+ return null === t ? {} : t;
2441
+ }, e.flat_apply = function(e, t) {
2442
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2443
+ if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2444
+ for (const n of Object.keys(t.removed || {})) delete e[n];
2445
+ for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
2446
+ for (const n of Object.keys(t.changed || {})) {
2447
+ const r = t.changed[n];
2448
+ if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
2449
+ e[n] = r.to;
2450
+ }
2451
+ return e;
2452
+ }, e.flat_diff = function(e, t) {
2453
+ const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, o = {
2454
+ added: {},
2455
+ removed: {},
2456
+ changed: {}
2457
+ };
2458
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? mr(n[e], r[e]) || (o.changed[e] = {
2459
+ from: n[e],
2460
+ to: r[e]
2461
+ }) : o.removed[e] = n[e];
2462
+ for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
2463
+ return o;
2464
+ }, e.flat_key_join = function(e) {
2465
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : br(e)).join("`") : "";
2466
+ }, e.flat_key_split = pr, e.gclass_add_ev_action = ie, e.gclass_add_event_type = _e, e.gclass_add_state = le, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2378
2467
  if (!e) return {
2379
2468
  top: 0,
2380
2469
  left: 0,
@@ -2386,49 +2475,49 @@
2386
2475
  left: 0,
2387
2476
  width: 0,
2388
2477
  height: 0
2389
- }, i = "undefined" != typeof window, s = i && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, l = i && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2478
+ }, l = "undefined" != typeof window, i = l && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = l && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2390
2479
  return {
2391
- top: t + s,
2392
- left: n + l,
2393
- right: n + l + r,
2394
- bottom: t + s + o
2480
+ top: t + i,
2481
+ left: n + s,
2482
+ right: n + s + r,
2483
+ bottom: t + i + o
2395
2484
  };
2396
2485
  }, e.get_function_name = fr, e.get_now = function() {
2397
2486
  return Math.floor(Date.now() / 1e3);
2398
2487
  }, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
2399
2488
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (pe(e.parent, e), e.parent = null), be(t, e), t.mt_child_added && (Y(e) && Qt(n("👦👦🔵 child_added(%s): %s", Me(t), Ve(e))), t.mt_child_added(t, e)), 0) : (Ht(`${Ve(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2400
- }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, i) {
2489
+ }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, l) {
2401
2490
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2402
- let s = p && _t(p, "tracing");
2403
- return s && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(i))), s > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2491
+ let i = p && _t(p, "tracing");
2492
+ return i && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(l))), i > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, l) : e.gclass.command_table ? c ? c(e, t, r, l) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2404
2493
  }, e.gobj_create = function(e, t, n, r) {
2405
2494
  return Te(e, t, n, r, 0);
2406
2495
  }, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
2407
- return Te(e, t, n, r, R.gobj_flag_default_service | R.gobj_flag_autostart);
2496
+ return Te(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
2408
2497
  }, e.gobj_create_pure_child = he, e.gobj_create_service = function(e, t, n, r) {
2409
- return Te(e, t, n, r, R.gobj_flag_service);
2498
+ return Te(e, t, n, r, w.gobj_flag_service);
2410
2499
  }, e.gobj_create_volatil = function(e, t, n, r) {
2411
- return Te(e, t, n, r, R.gobj_flag_volatil);
2500
+ return Te(e, t, n, r, w.gobj_flag_volatil);
2412
2501
  }, e.gobj_create_yuno = function(e, t, n) {
2413
- return Te(e, t, n, null, R.gobj_flag_yuno);
2414
- }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = vt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2502
+ return Te(e, t, n, null, w.gobj_flag_yuno);
2503
+ }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = jt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2415
2504
  if (Sn(t)) return null;
2416
2505
  const n = t.toLowerCase();
2417
2506
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : rt(p, t);
2418
- }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = R, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2507
+ }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = w, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2419
2508
  return F;
2420
2509
  }, e.gobj_has_attr = ot, e.gobj_has_event = Et, e.gobj_has_output_event = Tt, e.gobj_hsdata = X, e.gobj_is_destroying = Ye, e.gobj_is_playing = $e, e.gobj_is_pure_child = xe, e.gobj_is_running = Ae, e.gobj_is_service = Ie, e.gobj_is_volatil = Ke, e.gobj_list_persistent_attrs = function(e, t) {
2421
2510
  return u ? u(e, t) : null;
2422
2511
  }, e.gobj_list_subscriptions = function(e) {
2423
2512
  let t = It(e, null, null, null);
2424
2513
  for (let n = 0; n < t.length; n++) {
2425
- let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2426
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2514
+ let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2515
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2427
2516
  }
2428
2517
  let n = $t(e, 0, null, 0);
2429
2518
  for (let t = 0; t < n.length; t++) {
2430
- let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2431
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2519
+ let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2520
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2432
2521
  }
2433
2522
  return {
2434
2523
  subscriptions: t,
@@ -2437,7 +2526,7 @@
2437
2526
  total_subscribings: dn(n)
2438
2527
  };
2439
2528
  }, e.gobj_load_persistent_attrs = function(e, t) {
2440
- return Ie(e) ? l ? l(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2529
+ return Ie(e) ? s ? s(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2441
2530
  }, e.gobj_match_children = function(e, t) {
2442
2531
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
2443
2532
  t = t || {};
@@ -2454,20 +2543,20 @@
2454
2543
  return function e(n, r) {
2455
2544
  let o = r.dl_children;
2456
2545
  for (let r = 0; r < o.length; r++) {
2457
- let i = o[r];
2458
- tt(i, t) && n.push(i), e(n, i);
2546
+ let l = o[r];
2547
+ tt(l, t) && n.push(l), e(n, l);
2459
2548
  }
2460
2549
  }(n, e), n;
2461
- }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = we, e.gobj_post_event = function(e, t, r, o) {
2462
- return e && e instanceof O ? e.obflag & (w.obflag_destroyed | w.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2550
+ }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = Re, e.gobj_post_event = function(e, t, r, o) {
2551
+ return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2463
2552
  dst: e,
2464
2553
  event: t,
2465
2554
  kw: r,
2466
2555
  src: o
2467
- }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(vt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2556
+ }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(jt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2468
2557
  }, e.gobj_posted_events_size = function() {
2469
2558
  return ht.length;
2470
- }, e.gobj_publish_event = Ct, e.gobj_read_attr = it, e.gobj_read_attrs = st, e.gobj_read_bool_attr = lt, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2559
+ }, e.gobj_publish_event = Ct, e.gobj_read_attr = lt, e.gobj_read_attrs = it, e.gobj_read_bool_attr = st, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2471
2560
  return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2472
2561
  }, e.gobj_repr_global_trace_levels = function() {
2473
2562
  return U.map(([e, t, n]) => ({
@@ -2481,17 +2570,17 @@
2481
2570
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2482
2571
  let r = e.gclass.attrs_table;
2483
2572
  for (let o = 0; o < r.length; o++) {
2484
- const i = r[o];
2485
- if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
2486
- const t = z(e, e.jn_attrs, i);
2487
- pn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
2573
+ const l = r[o];
2574
+ if (l.name && !(n && l.flag & n) && (-1 === t || l.flag & t)) {
2575
+ const t = z(e, e.jn_attrs, l);
2576
+ pn(e.priv) && e.priv.hasOwnProperty(l.name) && (e.priv[l.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name);
2488
2577
  }
2489
2578
  }
2490
2579
  return 0;
2491
2580
  }(e, h.SDF_VOLATIL, 0);
2492
2581
  }, e.gobj_save_persistent_attrs = function(e, t) {
2493
2582
  return Ie(e) ? _ ? _(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2494
- }, e.gobj_search_path = rt, e.gobj_send_event = jt, e.gobj_services = function() {
2583
+ }, e.gobj_search_path = rt, e.gobj_send_event = vt, e.gobj_services = function() {
2495
2584
  let e = [];
2496
2585
  for (const t of Object.keys(b)) cn(e, t);
2497
2586
  return e;
@@ -2523,21 +2612,21 @@
2523
2612
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2524
2613
  }, e.gobj_set_trace_machine_format = function(e) {
2525
2614
  C = 1 === Number(e) ? 1 : 0;
2526
- }, e.gobj_short_name = Ve, e.gobj_start = ve, e.gobj_start_children = function(e) {
2527
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, je, 0, 0);
2615
+ }, e.gobj_short_name = Ve, e.gobj_start = je, e.gobj_start_children = function(e) {
2616
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, ve, 0, 0);
2528
2617
  }, e.gobj_start_tree = function(e) {
2529
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ve(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2530
- }, e.gobj_start_up = function(e, t, n, r, o, i, s) {
2531
- l = t, _ = n, a = r, u = o, c = i, f = s;
2618
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || je(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2619
+ }, e.gobj_start_up = function(e, t, n, r, o, l, i) {
2620
+ s = t, _ = n, a = r, u = o, c = l, f = i;
2532
2621
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
2533
2622
  for (let e = 0; e < d.length; e++) {
2534
2623
  let t = d[e][0], n = d[e][1];
2535
- le(g, t, n);
2624
+ se(g, t, n);
2536
2625
  }
2537
2626
  return 0;
2538
2627
  }, e.gobj_stats = function(e, t, r, o) {
2539
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2540
- }, e.gobj_stop = Oe, e.gobj_stop_children = Re, e.gobj_stop_tree = function(e) {
2628
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : l(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2629
+ }, e.gobj_stop = Oe, e.gobj_stop_children = we, e.gobj_stop_tree = function(e) {
2541
2630
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Me(e))), Ae(e) && Oe(e), ze(e, A.WALK_TOP2BOTTOM, Ne, 0, 0));
2542
2631
  }, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
2543
2632
  return C;
@@ -2555,35 +2644,35 @@
2555
2644
  o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2556
2645
  }), Sn(t)) t = "";
2557
2646
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), 0;
2558
- let i = Rt(e.dl_subscriptions, e, t, n, r), s = 0;
2559
- for (let t = 0; t < i.length; t++) {
2560
- let n = i[t];
2561
- Dt(e, n, !1, !1), s++;
2647
+ let l = wt(e.dl_subscriptions, e, t, n, r), i = 0;
2648
+ for (let t = 0; t < l.length; t++) {
2649
+ let n = l[t];
2650
+ Dt(e, n, !1, !1), i++;
2562
2651
  }
2563
- return s || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2652
+ return i || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2564
2653
  }, e.gobj_unsubscribe_list = kt, e.gobj_walk_gobj_children = He, e.gobj_walk_gobj_children_tree = ze, e.gobj_write_attr = function(e, t, r, o) {
2565
2654
  if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
2566
- let i, s = e.jn_attrs, l = t.split("`");
2567
- if (l.length <= 1) {
2655
+ let l, i = e.jn_attrs, s = t.split("`");
2656
+ if (s.length <= 1) {
2568
2657
  let o = t;
2569
- return o in s && s.hasOwnProperty(o) ? (s[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2658
+ return o in i && i.hasOwnProperty(o) ? (i[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2570
2659
  }
2571
- let _ = l.length;
2660
+ let _ = s.length;
2572
2661
  for (let t = 0; t < _; t++) {
2573
- i = l[t];
2574
- let n = nt(e, { __gobj_name__: i });
2662
+ l = s[t];
2663
+ let n = nt(e, { __gobj_name__: l });
2575
2664
  if (n && t < _ - 1) {
2576
2665
  e = n;
2577
2666
  continue;
2578
2667
  }
2579
2668
  let o = e.jn_attrs;
2580
- if (i in o && o.hasOwnProperty(i)) return o[i] = r, pn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
2669
+ if (l in o && o.hasOwnProperty(l)) return o[l] = r, pn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.mt_writing && e.mt_writing(e, l), 0;
2581
2670
  break;
2582
2671
  }
2583
- return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), i)), -1;
2672
+ return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), l)), -1;
2584
2673
  }, e.gobj_write_attrs = ct, e.gobj_write_bool_attr = ft, e.gobj_write_integer_attr = gt, e.gobj_write_str_attr = dt, e.gobj_yuno = Ce, e.gobj_yuno_id = Ue, e.gobj_yuno_name = Le, e.gobj_yuno_role = Pe, e.id_index_in_obj_list = zn, e.index_in_list = ur, e.is_array = mn, e.is_boolean = hn, e.is_date = function(e) {
2585
2674
  return e instanceof Date && !isNaN(e);
2586
- }, e.is_function = vn, e.is_gobj = jn, e.is_metadata_key = function(e) {
2675
+ }, e.is_function = jn, e.is_gobj = vn, e.is_metadata_key = function(e) {
2587
2676
  if (!En(e)) return !1;
2588
2677
  let t;
2589
2678
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -2602,19 +2691,19 @@
2602
2691
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2603
2692
  if (!o) return Ht("jdb_delete: topic not found: " + t), null;
2604
2693
  if (Sn(r.id)) return Ht("jdb_delete: record without id: " + r), Xt(r), null;
2605
- let i, s = n.split("`"), l = o;
2606
- for (; (i = s.shift()) && !Sn(i) && l;) pn(l) && (l = Fn(null, l, e.hook, null, 0)), l = ir(l, null, i, !1);
2607
- if (0 === s.length && l) if (mn(l)) {
2608
- let e = zn(l, r.id);
2609
- e >= 0 && l.splice(e, 1);
2694
+ let l, i = n.split("`"), s = o;
2695
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = lr(s, null, l, !1);
2696
+ if (0 === i.length && s) if (mn(s)) {
2697
+ let e = zn(s, r.id);
2698
+ e >= 0 && s.splice(e, 1);
2610
2699
  } else {
2611
- let t = Fn(null, l, e.hook, null, 0), n = zn(t, r.id);
2700
+ let t = Fn(null, s, e.hook, null, 0), n = zn(t, r.id);
2612
2701
  n >= 0 && t.splice(n, 1);
2613
2702
  }
2614
2703
  return o;
2615
2704
  }, e.jdb_get = function(e, t, n, r) {
2616
2705
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2617
- return o ? (void 0 === r && (r = !0), ir(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2706
+ return o ? (void 0 === r && (r = !0), lr(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2618
2707
  }, e.jdb_get_by_idx = function(e, t, n) {
2619
2708
  let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2620
2709
  return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
@@ -2626,28 +2715,49 @@
2626
2715
  n && (e = en(e));
2627
2716
  let r = Fn(null, e, "type", [], 1);
2628
2717
  Ln(null, e, "hook", "data", 1);
2629
- let o = Fn(null, e, "schema", {}, 1), i = Fn(null, e, "topics", {}, 1);
2718
+ let o = Fn(null, e, "schema", {}, 1), l = Fn(null, e, "topics", {}, 1);
2630
2719
  return or(o, function(e, t, n, o) {
2631
- "__" !== t.substring(0, 2) && Fn(null, i, o, en(r), 1);
2720
+ "__" !== t.substring(0, 2) && Fn(null, l, o, en(r), 1);
2632
2721
  }, t), e;
2633
2722
  }, e.jdb_update = function(e, t, n, r) {
2634
2723
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2635
2724
  if (!o) return Ht("jdb_update: topic not found: " + t), null;
2636
2725
  if (Sn(r.id)) return Ht("jdb_update: record without id: " + r), Xt(r), null;
2637
- let i, s = n.split("`"), l = o;
2638
- for (; (i = s.shift()) && !Sn(i) && l;) pn(l) && (l = Fn(null, l, e.hook, [], 1)), l = ir(l, null, i, !1);
2639
- if (0 === s.length && l) if (mn(l)) l.push(r);
2640
- else if (l.id === r.id) Object.assign(l, r);
2726
+ let l, i = n.split("`"), s = o;
2727
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = lr(s, null, l, !1);
2728
+ if (0 === i.length && s) if (mn(s)) s.push(r);
2729
+ else if (s.id === r.id) Object.assign(s, r);
2641
2730
  else {
2642
- let t = Fn(null, l, e.hook, [], 1), n = ir(t, e.hook, r.id, !1);
2731
+ let t = Fn(null, s, e.hook, [], 1), n = lr(t, e.hook, r.id, !1);
2643
2732
  n ? Object.assign(n, r) : t.push(r);
2644
2733
  }
2645
2734
  return o;
2735
+ }, e.json2flat = function(e) {
2736
+ const t = {}, n = (e, r, o) => {
2737
+ if (o > gr) throw new Error("json2flat: deeper than 256");
2738
+ if (null === e || "object" != typeof e || Array.isArray(e)) {
2739
+ if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2740
+ const l = `[${t}]`;
2741
+ n(e, 0 === o ? l : r + "`" + l, o + 1);
2742
+ });
2743
+ } else {
2744
+ const t = Object.keys(e);
2745
+ if (t.length > 0) {
2746
+ for (const l of t) {
2747
+ const t = br(l);
2748
+ n(e[l], 0 === o ? t : r + "`" + t, o + 1);
2749
+ }
2750
+ return;
2751
+ }
2752
+ }
2753
+ 0 !== o && (t[r] = e);
2754
+ };
2755
+ return null == e || n(e, "", 0), t;
2646
2756
  }, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
2647
2757
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2648
- }, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = ln, e.json_object_get = sn, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
2758
+ }, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = sn, e.json_object_get = ln, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
2649
2759
  try {
2650
- let n = sr(e);
2760
+ let n = ir(e);
2651
2761
  switch (t) {
2652
2762
  case "header": return JSON.parse(n.header);
2653
2763
  case "signature": return JSON.parse(n.signature);
@@ -2656,13 +2766,13 @@
2656
2766
  } catch (e) {
2657
2767
  return null;
2658
2768
  }
2659
- }, e.jwtDecode = sr, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2660
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2769
+ }, e.jwtDecode = ir, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2770
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2661
2771
  r || (r = Wn);
2662
2772
  let o = [];
2663
2773
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2664
- let i = t[e];
2665
- r(i, n) && o.push(i);
2774
+ let l = t[e];
2775
+ r(l, n) && o.push(l);
2666
2776
  }
2667
2777
  else {
2668
2778
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2674,36 +2784,36 @@
2674
2784
  for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
2675
2785
  return r && Ht("item not found in this list"), -1;
2676
2786
  }, e.kw_find_path = kn, e.kw_flag_t = Lt, e.kw_get_bool = $n, e.kw_get_dict = Un, e.kw_get_dict_value = Fn, e.kw_get_int = Cn, e.kw_get_list = function(e, t, n, r, o) {
2677
- e && !jn(e) && Ht("GObj bad instanceof");
2678
- let i = kn(e, t, n, !1);
2679
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2680
- if (void 0 === i) {
2681
- if (l) {
2787
+ e && !vn(e) && Ht("GObj bad instanceof");
2788
+ let l = kn(e, t, n, !1);
2789
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2790
+ if (void 0 === l) {
2791
+ if (s) {
2682
2792
  let o = Array(r);
2683
2793
  return Gn(e, t, n, o), o;
2684
2794
  }
2685
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2795
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2686
2796
  }
2687
- return _ && In(e, t, n), mn(i) ? Array(i) : (s && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2797
+ return _ && In(e, t, n), mn(l) ? Array(l) : (i && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2688
2798
  }, e.kw_get_local_storage_value = Yn, e.kw_get_pointer = Pn, e.kw_get_real = function(e, t, n, r, o) {
2689
- e && !jn(e) && Ht("GObj bad instanceof");
2690
- let i = kn(e, t, n, !1);
2691
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2692
- if (void 0 === i) {
2693
- if (l) {
2799
+ e && !vn(e) && Ht("GObj bad instanceof");
2800
+ let l = kn(e, t, n, !1);
2801
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2802
+ if (void 0 === l) {
2803
+ if (s) {
2694
2804
  let o = Number(r);
2695
2805
  return Gn(e, t, n, o), o;
2696
2806
  }
2697
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2807
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2698
2808
  }
2699
- return _ && In(e, t, n), Tn(i) ? Number(i) : (s && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2809
+ return _ && In(e, t, n), Tn(l) ? Number(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2700
2810
  }, e.kw_get_str = Ln, e.kw_has_key = An, e.kw_match_simple = Wn, e.kw_pop = Dn, e.kw_remove_local_storage_value = Jn, e.kw_select = function(e, t, n, r) {
2701
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2811
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2702
2812
  r || (r = Wn);
2703
2813
  let o = [];
2704
2814
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2705
- let i = t[e];
2706
- r(i, n) && o.push(en(i));
2815
+ let l = t[e];
2816
+ r(l, n) && o.push(en(l));
2707
2817
  }
2708
2818
  else {
2709
2819
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2711,11 +2821,11 @@
2711
2821
  }
2712
2822
  return o;
2713
2823
  }, e.kw_set_dict_value = Gn, e.kw_set_local_storage_value = Bn, e.kw_set_subdict_value = Vn, e.kwid_collect = Hn, e.kwid_find_one_record = function(e, t, n, r, o) {
2714
- e && !jn(e) && Ht("GObj bad instanceof");
2715
- let i = Hn(e, t, n, r, o);
2716
- return i.length > 0 ? i[0] : null;
2824
+ e && !vn(e) && Ht("GObj bad instanceof");
2825
+ let l = Hn(e, t, n, r, o);
2826
+ return l.length > 0 ? l[0] : null;
2717
2827
  }, e.kwid_get_ids = function(e, t) {
2718
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return [];
2828
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return [];
2719
2829
  let n = [];
2720
2830
  if (En(t)) n.push(t);
2721
2831
  else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
@@ -2728,12 +2838,12 @@
2728
2838
  });
2729
2839
  return n;
2730
2840
  }, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
2731
- e && !jn(e) && Ht("GObj bad instanceof");
2841
+ e && !vn(e) && Ht("GObj bad instanceof");
2732
2842
  let r = {};
2733
2843
  if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
2734
2844
  else if (mn(t)) for (let n = 0; n < t.length; n++) {
2735
- let o = t[n], i = Ln(e, o, "id", "", 0);
2736
- Sn(i) || (r[i] = o);
2845
+ let o = t[n], l = Ln(e, o, "id", "", 0);
2846
+ Sn(l) || (r[l] = o);
2737
2847
  }
2738
2848
  else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
2739
2849
  return r;
@@ -2741,28 +2851,28 @@
2741
2851
  t = t || "id", n = n || "value";
2742
2852
  let r = [];
2743
2853
  if (mn(e)) for (let o = 0; o < e.length; o++) {
2744
- let i = e[o];
2745
- if (En(i)) r.push({
2854
+ let l = e[o];
2855
+ if (En(l)) r.push({
2746
2856
  id: e[o],
2747
2857
  value: e[o]
2748
2858
  });
2749
- else if (pn(i)) {
2859
+ else if (pn(l)) {
2750
2860
  let e = {};
2751
- if (An(i, t)) {
2752
- if (!An(i, n)) {
2753
- if (!(bn(i) > 0)) {
2861
+ if (An(l, t)) {
2862
+ if (!An(l, n)) {
2863
+ if (!(bn(l) > 0)) {
2754
2864
  Ht("list2options(): object without field value: " + n);
2755
2865
  continue;
2756
2866
  }
2757
- n = Object.keys(i)[0];
2867
+ n = Object.keys(l)[0];
2758
2868
  }
2759
- e.id = i[t], e.value = i[n];
2869
+ e.id = l[t], e.value = l[n];
2760
2870
  } else {
2761
- if (!(bn(i) > 0)) {
2871
+ if (!(bn(l) > 0)) {
2762
2872
  Ht("list2options(): object without field id: " + t);
2763
2873
  continue;
2764
2874
  }
2765
- t = Object.keys(i)[0], e.id = t, e.value = i[t];
2875
+ t = Object.keys(l)[0], e.id = t, e.value = l[t];
2766
2876
  }
2767
2877
  r.push(e);
2768
2878
  } else Ht("list2options(): case1 not implemented");
@@ -2790,7 +2900,7 @@
2790
2900
  }, e.log_warning = zt, e.msg_iev_get_msg_type = rr, e.msg_iev_get_stack = tr, e.msg_iev_push_stack = er, e.msg_iev_read_key = Xn, e.msg_iev_set_msg_type = nr, e.msg_iev_write_key = Zn, e.node_uuid = cr, e.parseBoolean = On, e.parseSVG = function(e) {
2791
2901
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2792
2902
  }, e.refresh_language = function(e, t) {
2793
- vn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2903
+ jn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2794
2904
  let n = e.getAttribute("data-i18n");
2795
2905
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2796
2906
  n || (n = r.nodeValue), r.nodeValue = t(n);
@@ -2808,22 +2918,22 @@
2808
2918
  })) : Ht("You must supply a translation function");
2809
2919
  }, e.register_c_ievent_cli = function() {
2810
2920
  return function(e) {
2811
- if (Lr) return Ht(`GClass ALREADY created: ${e}`), -1;
2921
+ if (Vr) return Ht(`GClass ALREADY created: ${e}`), -1;
2812
2922
  const t = [
2813
2923
  ["ST_DISCONNECTED", [
2814
2924
  [
2815
2925
  "EV_ON_OPEN",
2816
- Yr,
2926
+ zr,
2817
2927
  "ST_WAIT_IDENTITY_CARD_ACK"
2818
2928
  ],
2819
2929
  [
2820
2930
  "EV_ON_CLOSE",
2821
- Br,
2931
+ Qr,
2822
2932
  null
2823
2933
  ],
2824
2934
  [
2825
2935
  "EV_TIMEOUT",
2826
- xr,
2936
+ Hr,
2827
2937
  null
2828
2938
  ],
2829
2939
  [
@@ -2835,22 +2945,22 @@
2835
2945
  ["ST_WAIT_IDENTITY_CARD_ACK", [
2836
2946
  [
2837
2947
  "EV_ON_MESSAGE",
2838
- Hr,
2948
+ eo,
2839
2949
  null
2840
2950
  ],
2841
2951
  [
2842
2952
  "EV_IDENTITY_CARD_ACK",
2843
- qr,
2953
+ Zr,
2844
2954
  null
2845
2955
  ],
2846
2956
  [
2847
2957
  "EV_ON_CLOSE",
2848
- Br,
2958
+ Qr,
2849
2959
  "ST_DISCONNECTED"
2850
2960
  ],
2851
2961
  [
2852
2962
  "EV_TIMEOUT",
2853
- Jr,
2963
+ Xr,
2854
2964
  null
2855
2965
  ],
2856
2966
  [
@@ -2862,22 +2972,22 @@
2862
2972
  ["ST_SESSION", [
2863
2973
  [
2864
2974
  "EV_ON_MESSAGE",
2865
- Hr,
2975
+ eo,
2866
2976
  null
2867
2977
  ],
2868
2978
  [
2869
2979
  "EV_MT_STATS",
2870
- zr,
2980
+ to,
2871
2981
  null
2872
2982
  ],
2873
2983
  [
2874
2984
  "EV_MT_COMMAND",
2875
- Qr,
2985
+ no,
2876
2986
  null
2877
2987
  ],
2878
2988
  [
2879
2989
  "EV_ON_CLOSE",
2880
- Br,
2990
+ Qr,
2881
2991
  "ST_DISCONNECTED"
2882
2992
  ],
2883
2993
  [
@@ -2888,7 +2998,7 @@
2888
2998
  ]],
2889
2999
  [null, null]
2890
3000
  ];
2891
- return (Lr = te(e, [
3001
+ return (Vr = te(e, [
2892
3002
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
2893
3003
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
2894
3004
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -2899,36 +3009,36 @@
2899
3009
  ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2900
3010
  ["EV_TIMEOUT", 0],
2901
3011
  [null, 0]
2902
- ], t, Xr, 0, $r, Cr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
3012
+ ], t, ro, 0, Fr, Gr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
2903
3013
  }("C_IEVENT_CLI");
2904
3014
  }, e.register_c_timer = function() {
2905
3015
  return function(e) {
2906
- if (yr) return Ht(`GClass ALREADY created: ${e}`), -1;
3016
+ if (Nr) return Ht(`GClass ALREADY created: ${e}`), -1;
2907
3017
  const t = [["ST_IDLE", [[
2908
3018
  "EV_TIMEOUT",
2909
- vr,
3019
+ wr,
2910
3020
  null
2911
3021
  ]]]];
2912
- return (yr = te(e, [
3022
+ return (Nr = te(e, [
2913
3023
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
2914
3024
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
2915
3025
  [0, 0]
2916
- ], t, jr, 0, Tr, hr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3026
+ ], t, Rr, 0, Sr, Or, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
2917
3027
  }("C_TIMER");
2918
3028
  }, e.register_c_yuno = function() {
2919
3029
  return function(e) {
2920
- if (Dr) return Ht(`GClass ALREADY created: ${e}`), -1;
3030
+ if (Cr) return Ht(`GClass ALREADY created: ${e}`), -1;
2921
3031
  const t = [["ST_IDLE", [[
2922
3032
  "EV_TIMEOUT_PERIODIC",
2923
- Ar,
3033
+ Lr,
2924
3034
  null
2925
3035
  ]]]];
2926
- return (Dr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, kr, 0, Rr, wr, 0, 0, 0, 0)) ? 0 : -1;
3036
+ return (Cr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, Pr, 0, Ir, $r, 0, 0, 0, 0)) ? 0 : -1;
2927
3037
  }("C_YUNO");
2928
3038
  }, e.safeSrc = function(e) {
2929
3039
  if (!e) return "";
2930
3040
  const t = String(e).trim();
2931
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : lr(t);
3041
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : sr(t);
2932
3042
  }, e.sdata_flag_t = h, e.send_http_json_post = function(e, t, n) {
2933
3043
  let r = new XMLHttpRequest();
2934
3044
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -2940,7 +3050,7 @@
2940
3050
  Kt = "function" == typeof e ? e : null;
2941
3051
  }, e.set_log_callback = function(e) {
2942
3052
  Mt = "function" == typeof e ? e : null;
2943
- }, e.set_remote_log_functions = Jt, e.set_timeout = Sr, e.set_timeout_periodic = Or, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = Rn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
3053
+ }, e.set_remote_log_functions = Jt, e.set_timeout = Dr, e.set_timeout_periodic = Ar, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = wn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
2944
3054
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
2945
3055
  return r === o ? 0 : r > o ? 1 : -1;
2946
3056
  }, e.strs_in_list = function(e, t, n) {
@@ -2969,9 +3079,9 @@
2969
3079
  let e = t.split(".");
2970
3080
  for (let t = 0; t < e.length; t++) {
2971
3081
  let r = e[t];
2972
- if (Qn(br, r)) n.real_type || (n.real_type = r);
2973
- else if (Qn(mr, r)) n.type || (n.type = r);
2974
- else if (Qn(pr, r)) switch (r) {
3082
+ if (Qn(hr, r)) n.real_type || (n.real_type = r);
3083
+ else if (Qn(jr, r)) n.type || (n.type = r);
3084
+ else if (Qn(yr, r)) switch (r) {
2975
3085
  case "writable":
2976
3086
  n.is_writable = !0;
2977
3087
  break;
@@ -2983,19 +3093,19 @@
2983
3093
  }
2984
3094
  }
2985
3095
  n.real_type || (n.real_type = "string");
2986
- } else pn(t) ? (n = Er(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
3096
+ } else pn(t) ? (n = vr(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
2987
3097
  return n.type || (n.type = n.real_type), n;
2988
3098
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
2989
3099
  const n = e, r = performance.now();
2990
3100
  let o = r;
2991
- return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
2992
- const s = performance.now(), l = (s - o) / 1e3, _ = (s - r) / 1e3;
2993
- return t && zt(`--\x3e ${n} ${e} - partial: ${l} sec, total: ${_} sec, ${i}`), o = s, {
2994
- partial: l,
3101
+ return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", l = "") => {
3102
+ const i = performance.now(), s = (i - o) / 1e3, _ = (i - r) / 1e3;
3103
+ return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${l}`), o = i, {
3104
+ partial: s,
2995
3105
  total: _
2996
3106
  };
2997
3107
  } };
2998
- }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = dr, e.treedb_decoder_hook = function(e, t) {
3108
+ }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = Tr, e.treedb_decoder_hook = function(e, t) {
2999
3109
  if (En(t)) {
3000
3110
  if (-1 === t.indexOf("^")) {
3001
3111
  let n, r = e.hook;
@@ -3022,9 +3132,9 @@
3022
3132
  id: t.id
3023
3133
  } : (Ht("bad hook 3"), Ht(e), Ht(t), null);
3024
3134
  }, e.treedb_encoder_fkey = function(e, t) {
3025
- let n = dr(e, t);
3135
+ let n = Tr(e, t);
3026
3136
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3027
- }, e.treedb_get_field_desc = Er, e.treedb_hook_data_size = function(e) {
3137
+ }, e.treedb_get_field_desc = vr, e.treedb_hook_data_size = function(e) {
3028
3138
  if (mn(e) && 1 === bn(e)) {
3029
3139
  let t = e[0];
3030
3140
  return An(t, "size") ? t.size : 1;