@yuneta/gobj-js 7.26.14 → 7.26.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -663,7 +663,7 @@ function Ne(e, t) {
663
663
  t.parent && mn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
664
664
  }
665
665
  function $e(e, t) {
666
- let n = to(e.dl_children, t);
666
+ let n = eo(e.dl_children, t);
667
667
  n >= 0 && (qn(e.dl_children, n), t.parent = null);
668
668
  }
669
669
  function Re(e, t) {
@@ -1095,7 +1095,7 @@ function Ut(e, n, r, o) {
1095
1095
  if (1 === A) I(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", Ze(e), s.state_name, o && !o.running ? "!!" : "", Ze(o)));
1096
1096
  else {
1097
1097
  let r = "";
1098
- i.action && (r = ro(i.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Xe(o), Qe(o)));
1098
+ i.action && (r = no(i.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Xe(o), Qe(o)));
1099
1099
  }
1100
1100
  r && J(e) && Hn(r) && Ln(r);
1101
1101
  }
@@ -1374,7 +1374,11 @@ function dn(e) {
1374
1374
  try {
1375
1375
  return JSON.stringify(e);
1376
1376
  } catch (t) {
1377
- return String(e);
1377
+ try {
1378
+ return String(e);
1379
+ } catch (t) {
1380
+ return `<${typeof e}: not printable>`;
1381
+ }
1378
1382
  }
1379
1383
  }
1380
1384
  function bn(e) {
@@ -1401,23 +1405,23 @@ function bn(e) {
1401
1405
  return n;
1402
1406
  }
1403
1407
  function mn(e, ...t) {
1404
- let n = bn(e, ...t), r = eo();
1408
+ let n = bn(e, ...t), r = Zr();
1405
1409
  en && (en === Zt.error ? un("error", n) && en("%c" + r + " ERROR: " + String(n), "color:red") : (un("error", n) && Zt.error("%c" + r + " ERROR: " + String(n), "color:red"), en(`${r} ERROR: ${String(n)}`))), fn("error", n, r);
1406
1410
  }
1407
1411
  function hn(e, ...t) {
1408
- let n = bn(e, ...t), r = eo();
1412
+ let n = bn(e, ...t), r = Zr();
1409
1413
  tn && (tn === Zt.warn ? un("warning", n) && tn("%c" + r + " WARNING: " + String(n), "color:yellow") : (un("warning", n) && Zt.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), tn(`${r} WARNING: ${String(n)}`))), fn("warning", n, r);
1410
1414
  }
1411
1415
  function yn(e, ...t) {
1412
- let n = bn(e, ...t), r = eo();
1416
+ let n = bn(e, ...t), r = Zr();
1413
1417
  rn && un("debug", n) && rn("%c" + r + " DEBUG: " + String(n), "color:silver"), fn("debug", n, r);
1414
1418
  }
1415
1419
  function En(e, ...t) {
1416
- let n = bn(e, ...t), r = eo();
1420
+ let n = bn(e, ...t), r = Zr();
1417
1421
  rn && un("msg", n) && rn("%c" + r + " MSG: " + String(n), "color:cyan"), fn("msg", n, r);
1418
1422
  }
1419
1423
  function Tn(e, t) {
1420
- un("json", t) && (t && Zt.warn("=====> " + t), Zt.dir(e)), fn("json", e, eo());
1424
+ un("json", t) && (t && Zt.warn("=====> " + t), Zt.dir(e)), fn("json", e, Zr());
1421
1425
  }
1422
1426
  var vn = [
1423
1427
  "passw",
@@ -2090,14 +2094,7 @@ function Wr(e, t, n) {
2090
2094
  ]), Xn(e[r]) && Wr(e[r], t, n), n = n.slice(0, -o.length);
2091
2095
  }
2092
2096
  }
2093
- function Kr(e) {
2094
- try {
2095
- return JSON.stringify(e);
2096
- } catch (t) {
2097
- return `<${typeof e}: not json (${t.message})>`;
2098
- }
2099
- }
2100
- function Yr(e, t, n, r) {
2097
+ function Kr(e, t, n, r) {
2101
2098
  if (!e) return null;
2102
2099
  let o, s = e.length;
2103
2100
  for (o = 0; o < s; o++) {
@@ -2106,14 +2103,14 @@ function Yr(e, t, n, r) {
2106
2103
  let e = s.id;
2107
2104
  if (e && e === n) return s;
2108
2105
  if (r && fr(s, t)) {
2109
- let e = Yr(s[t], t, n, r);
2106
+ let e = Kr(s[t], t, n, r);
2110
2107
  if (e) return e;
2111
2108
  }
2112
2109
  }
2113
2110
  }
2114
2111
  return null;
2115
2112
  }
2116
- function Br(e) {
2113
+ function Yr(e) {
2117
2114
  function t(e) {
2118
2115
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2119
2116
  switch (t.length % 4) {
@@ -2144,10 +2141,10 @@ function Br(e) {
2144
2141
  signature: t(n[2])
2145
2142
  };
2146
2143
  }
2147
- function Jr(e) {
2144
+ function Br(e) {
2148
2145
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2149
2146
  }
2150
- var qr = class {
2147
+ var Jr = class {
2151
2148
  constructor(e) {
2152
2149
  this.html = e, Object.freeze(this);
2153
2150
  }
@@ -2155,41 +2152,41 @@ var qr = class {
2155
2152
  return this.html;
2156
2153
  }
2157
2154
  };
2158
- function Hr(e) {
2159
- return e instanceof qr;
2155
+ function qr(e) {
2156
+ return e instanceof Jr;
2160
2157
  }
2161
- function zr(e) {
2158
+ function Hr(e) {
2162
2159
  const t = document.createElement("template");
2163
2160
  return t.innerHTML = e.html.trim(), t.content;
2164
2161
  }
2165
- var Qr = !1, Xr = /* @__PURE__ */ new Set();
2166
- function Zr(e) {
2162
+ var zr = !1, Qr = /* @__PURE__ */ new Set();
2163
+ function Xr(e) {
2167
2164
  const t = document.createElement("template");
2168
2165
  return t.innerHTML = e.trim(), t.content.firstChild;
2169
2166
  }
2170
- function eo(e) {
2167
+ function Zr(e) {
2171
2168
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), o = e.getTimezoneOffset();
2172
2169
  return `${n}.${r}${o > 0 ? "-" : "+"}${t(Math.floor(Math.abs(o) / 60), 2)}${t(Math.abs(o) % 60, 2)}`;
2173
2170
  }
2174
- function to(e, t) {
2171
+ function eo(e, t) {
2175
2172
  if (!e) throw "ERROR: index_in_list() list empty";
2176
2173
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2177
2174
  return -1;
2178
2175
  }
2179
- function no() {
2176
+ function to() {
2180
2177
  let e = "";
2181
2178
  return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
2182
2179
  }
2183
- function ro(e) {
2180
+ function no(e) {
2184
2181
  let t = null;
2185
2182
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2186
2183
  }
2187
- var oo = 256, so = 1e5;
2188
- function lo(e) {
2184
+ var ro = 256, oo = 1e5;
2185
+ function so(e) {
2189
2186
  const t = String(e).replace(/`/g, "``");
2190
2187
  return "[" === t[0] ? "[" + t : t;
2191
2188
  }
2192
- function io(e) {
2189
+ function lo(e) {
2193
2190
  if ("string" != typeof e) return null;
2194
2191
  let t = [], n = "";
2195
2192
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2210,13 +2207,13 @@ function io(e) {
2210
2207
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2211
2208
  });
2212
2209
  }
2213
- function _o(e, t) {
2210
+ function io(e, t) {
2214
2211
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2215
2212
  }
2216
- function ao(e) {
2213
+ function _o(e) {
2217
2214
  return "persistent-attrs-" + Ze(e);
2218
2215
  }
2219
- function uo(e, t) {
2216
+ function ao(e, t) {
2220
2217
  if (er(t)) {
2221
2218
  if (-1 === t.indexOf("^")) {
2222
2219
  let n, r, o = e.fkey;
@@ -2246,7 +2243,7 @@ function uo(e, t) {
2246
2243
  hook_name: t.hook_name
2247
2244
  } : (mn("bad fkey 3"), mn(e), mn(t), null);
2248
2245
  }
2249
- var co = [
2246
+ var uo = [
2250
2247
  "string",
2251
2248
  "integer",
2252
2249
  "object",
@@ -2256,7 +2253,7 @@ var co = [
2256
2253
  "real",
2257
2254
  "boolean",
2258
2255
  "blob"
2259
- ], fo = [
2256
+ ], co = [
2260
2257
  "persistent",
2261
2258
  "required",
2262
2259
  "notnull",
@@ -2268,7 +2265,7 @@ var co = [
2268
2265
  "stats",
2269
2266
  "rstats",
2270
2267
  "pstats"
2271
- ], go = [
2268
+ ], fo = [
2272
2269
  "hook",
2273
2270
  "fkey",
2274
2271
  "enum",
@@ -2297,7 +2294,7 @@ var co = [
2297
2294
  "coordinates",
2298
2295
  "gbuffer"
2299
2296
  ];
2300
- function po(e) {
2297
+ function go(e) {
2301
2298
  let t = {
2302
2299
  name: e.id,
2303
2300
  header: e.header,
@@ -2316,7 +2313,7 @@ function po(e) {
2316
2313
  if (!e.flag) return t;
2317
2314
  for (let n = 0; n < e.flag.length; n++) {
2318
2315
  let r = e.flag[n];
2319
- if (Lr(go, r)) {
2316
+ if (Lr(fo, r)) {
2320
2317
  switch (r) {
2321
2318
  case "enum":
2322
2319
  t.enum_list = e.enum;
@@ -2330,7 +2327,7 @@ function po(e) {
2330
2327
  case "file": t.is_file = !0;
2331
2328
  }
2332
2329
  t.type = r;
2333
- } else if (Lr(fo, r)) switch (r) {
2330
+ } else if (Lr(co, r)) switch (r) {
2334
2331
  case "writable":
2335
2332
  t.is_writable = !0;
2336
2333
  break;
@@ -2343,23 +2340,23 @@ function po(e) {
2343
2340
  }
2344
2341
  return t.is_file && (t.type = "file"), t;
2345
2342
  }
2346
- var bo = [
2343
+ var po = [
2347
2344
  v(h.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2348
2345
  v(h.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2349
2346
  v(h.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2350
2347
  T()
2351
- ], mo = {
2348
+ ], bo = {
2352
2349
  periodic: !1,
2353
2350
  msec: 0,
2354
2351
  timer_id: -1
2355
- }, ho = null;
2356
- function yo(e, t, n, r) {
2352
+ }, mo = null;
2353
+ function ho(e, t, n, r) {
2357
2354
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2358
2355
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
2359
2356
  Ut(e, "EV_TIMEOUT", {}, e);
2360
2357
  }, o.msec) : o.timer_id = -1, rt(e) ? Ut(tt(e), s, {}, e) : Qt(e, s, {}), o.periodic || -1 !== o.timer_id || We(e) && Ue(e), 0;
2361
2358
  }
2362
- var Eo = {
2359
+ var yo = {
2363
2360
  mt_create: function(e) {
2364
2361
  let t = e.priv;
2365
2362
  const n = jt(e, "subscriber");
@@ -2384,16 +2381,16 @@ var Eo = {
2384
2381
  },
2385
2382
  mt_destroy: function(e) {}
2386
2383
  };
2387
- function To(e, t) {
2384
+ function Eo(e, t) {
2388
2385
  return e instanceof O ? "C_TIMER" !== Xe(e) ? (mn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !1), void Nt(e, "msec", t)) : (mn("not GObj TYPE"), -1);
2389
2386
  }
2390
- function vo(e, t) {
2387
+ function To(e, t) {
2391
2388
  return e instanceof O ? "C_TIMER" !== Xe(e) ? (mn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !0), void Nt(e, "msec", t)) : (mn("not GObj TYPE"), -1);
2392
2389
  }
2393
- function jo(e) {
2390
+ function vo(e) {
2394
2391
  return e instanceof O ? "C_TIMER" !== Xe(e) ? (mn("not C_TIMER GObj"), -1) : void Nt(e, "msec", -1) : (mn("not GObj TYPE"), -1);
2395
2392
  }
2396
- var Oo = [
2393
+ var jo = [
2397
2394
  v(h.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2398
2395
  v(h.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2399
2396
  v(h.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2413,26 +2410,26 @@ var Oo = [
2413
2410
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2414
2411
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2415
2412
  T()
2416
- ], So = { gobj_timer: null }, wo = null;
2417
- function No(e, t, n, r) {
2413
+ ], Oo = { gobj_timer: null }, So = null;
2414
+ function wo(e, t, n, r) {
2418
2415
  let o = ht(e, t);
2419
2416
  return Xn(o) || (o = {}), o[n] = r, Ot(e, t, o), Re(e, t);
2420
2417
  }
2421
- function $o(e) {
2418
+ function No(e) {
2422
2419
  if (!0 === e || !1 === e) return e;
2423
2420
  let t = String(null == e ? "" : e).toLowerCase();
2424
2421
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2425
2422
  }
2426
- function Ro() {
2423
+ function $o() {
2427
2424
  return `${He()}^${qe()}`;
2428
2425
  }
2429
- function xo(e, t, n, r) {
2426
+ function Ro(e, t, n, r) {
2430
2427
  return Qt(e, t, n), 0;
2431
2428
  }
2432
- var Do = {
2429
+ var xo = {
2433
2430
  mt_create: function(e) {
2434
2431
  let t = e.priv;
2435
- $t(e, "start_date", eo()), $t(e, "node_uuid", no()), e.priv.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.periodic_timeout = ht(e, "periodic_timeout"), function(e) {
2432
+ $t(e, "start_date", Zr()), $t(e, "node_uuid", to()), e.priv.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.periodic_timeout = ht(e, "periodic_timeout"), function(e) {
2436
2433
  let t = ht(e, "trace_levels");
2437
2434
  if (!Xn(t)) return 0;
2438
2435
  let n = t.__global_trace__;
@@ -2466,10 +2463,10 @@ var Do = {
2466
2463
  },
2467
2464
  mt_writing: function(e, t) {},
2468
2465
  mt_start: function(e) {
2469
- return vo(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2466
+ return To(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2470
2467
  },
2471
2468
  mt_stop: function(e) {
2472
- return jo(e.priv.gobj_timer), Ve(e), 0;
2469
+ return vo(e.priv.gobj_timer), Ve(e), 0;
2473
2470
  },
2474
2471
  mt_destroy: function(e) {},
2475
2472
  mt_play: function(e) {
@@ -2486,24 +2483,24 @@ var Do = {
2486
2483
  case "get-global-no-trace": return r(0, 0, null, null, te());
2487
2484
  case "set-global-trace":
2488
2485
  case "set-global-no-trace": {
2489
- let o = "set-global-no-trace" === t, s = n.level, l = $o(n.set);
2490
- return s ? null === l ? r(0, -1, `${Ro()}: bitmask set or re-set?`, null, null) : (o ? Q(s, l) : z(s, l)) < 0 ? r(0, -1, `${Ro()}: global trace level not found: ${s}`, null, null) : o ? (No(e, "no_trace_levels", "__global_no_trace__", te()), r(0, 0, null, null, te())) : (No(e, "trace_levels", "__global_trace__", ee()), r(0, 0, null, null, ee())) : r(0, -1, `${Ro()}: what level?`, null, null);
2486
+ let o = "set-global-no-trace" === t, s = n.level, l = No(n.set);
2487
+ return s ? null === l ? r(0, -1, `${$o()}: bitmask set or re-set?`, null, null) : (o ? Q(s, l) : z(s, l)) < 0 ? r(0, -1, `${$o()}: global trace level not found: ${s}`, null, null) : o ? (wo(e, "no_trace_levels", "__global_no_trace__", te()), r(0, 0, null, null, te())) : (wo(e, "trace_levels", "__global_trace__", ee()), r(0, 0, null, null, ee())) : r(0, -1, `${$o()}: what level?`, null, null);
2491
2488
  }
2492
2489
  case "get-gclass-trace":
2493
2490
  case "get-gclass-no-trace":
2494
2491
  case "set-gclass-trace":
2495
2492
  case "set-gclass-no-trace": {
2496
2493
  let o = t.indexOf("no-trace") >= 0, s = n.gclass_name || n.gclass || "", l = je(s);
2497
- if (!l) return r(0, -1, `${Ro()}: what gclass is '${s}'?`, null, null);
2494
+ if (!l) return r(0, -1, `${$o()}: what gclass is '${s}'?`, null, null);
2498
2495
  if (0 === t.indexOf("get-")) return r(0, 0, null, null, o ? oe(l) : ne(l));
2499
- let i = n.level, _ = $o(n.set);
2500
- return i ? null === _ ? r(0, -1, `${Ro()}: bitmask set or re-set?`, null, null) : (o ? le(l, i, _) : se(l, i, _)) < 0 ? r(0, -1, `${Ro()}: trace level of ${s} not found: ${i}`, null, null) : o ? (No(e, "no_trace_levels", s, oe(l)), r(0, 0, null, null, oe(l))) : (No(e, "trace_levels", s, re(l)), r(0, 0, null, null, ne(l))) : r(0, -1, `${Ro()}: what level?`, null, null);
2496
+ let i = n.level, _ = No(n.set);
2497
+ return i ? null === _ ? r(0, -1, `${$o()}: bitmask set or re-set?`, null, null) : (o ? le(l, i, _) : se(l, i, _)) < 0 ? r(0, -1, `${$o()}: trace level of ${s} not found: ${i}`, null, null) : o ? (wo(e, "no_trace_levels", s, oe(l)), r(0, 0, null, null, oe(l))) : (wo(e, "trace_levels", s, re(l)), r(0, 0, null, null, ne(l))) : r(0, -1, `${$o()}: what level?`, null, null);
2501
2498
  }
2502
- default: return r(0, -1, `${Ro()}: command not available: ${t}`, null, null);
2499
+ default: return r(0, -1, `${$o()}: command not available: ${t}`, null, null);
2503
2500
  }
2504
2501
  }
2505
2502
  };
2506
- var ko = "ievent_gate_stack", Ao = [
2503
+ var Do = "ievent_gate_stack", ko = [
2507
2504
  v(h.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
2508
2505
  v(h.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
2509
2506
  v(h.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
@@ -2520,15 +2517,15 @@ var ko = "ievent_gate_stack", Ao = [
2520
2517
  v(h.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
2521
2518
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2522
2519
  T()
2523
- ], Io = [
2520
+ ], Ao = [
2524
2521
  ["ievents", "Trace inter-events with metadata of kw"],
2525
2522
  ["ievents2", "Trace inter-events with full kw"],
2526
2523
  ["identity-card", "Trace identity_card messages"]
2527
2524
  ];
2528
- function Co(e) {
2525
+ function Io(e) {
2529
2526
  return !!(3 & M(e));
2530
2527
  }
2531
- var Lo = {
2528
+ var Co = {
2532
2529
  url: null,
2533
2530
  remote_yuno_name: null,
2534
2531
  remote_yuno_role: null,
@@ -2538,8 +2535,8 @@ var Lo = {
2538
2535
  websocket: null,
2539
2536
  inside_on_open: !1,
2540
2537
  retry_ms: 0
2541
- }, Po = null;
2542
- function Uo(e) {
2538
+ }, Lo = null;
2539
+ function Po(e) {
2543
2540
  e.priv.websocket && mn("Websocket ALREADY setup");
2544
2541
  const t = vt(e, "url");
2545
2542
  yn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
@@ -2554,7 +2551,7 @@ function Uo(e) {
2554
2551
  code: 1006,
2555
2552
  reason: r.message,
2556
2553
  was_clean: !1
2557
- }, e) < 0 && To(e.priv.gobj_timer, Ho(e)), null;
2554
+ }, e) < 0 && Eo(e.priv.gobj_timer, qo(e)), null;
2558
2555
  }
2559
2556
  return r ? (r.onopen = () => {
2560
2557
  n !== e.priv.ws_seq || ot(e) || Ut(e, "EV_ON_OPEN", {
@@ -2576,7 +2573,7 @@ function Uo(e) {
2576
2573
  }, e));
2577
2574
  }, r) : (mn(`${Ze(e)}: Failed to initialize WebSocket.`), null);
2578
2575
  }
2579
- function Fo(e, t = 1e3, n = "") {
2576
+ function Uo(e, t = 1e3, n = "") {
2580
2577
  let r = e.priv, o = r.websocket;
2581
2578
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2582
2579
  yn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2587,25 +2584,25 @@ function Fo(e, t = 1e3, n = "") {
2587
2584
  }
2588
2585
  } else hn("WebSocket is already closed or in the process of closing.");
2589
2586
  }
2590
- function Vo(e, t, n) {
2591
- let r = eo();
2587
+ function Fo(e, t, n) {
2588
+ let r = Zr();
2592
2589
  try {
2593
2590
  yn("\n" + r + " " + t + "\n"), Ln(n);
2594
2591
  } catch (e) {
2595
2592
  yn("ERROR in trace_inter_event: " + e);
2596
2593
  }
2597
2594
  }
2598
- var Go = class {
2595
+ var Vo = class {
2599
2596
  constructor(e, t) {
2600
2597
  this.event = e, this.kw = t || {};
2601
2598
  }
2602
2599
  };
2603
- function Mo(e, t, n, r) {
2600
+ function Go(e, t, n, r) {
2604
2601
  return function(e, t) {
2605
2602
  let n = e.priv, r = JSON.stringify(t);
2606
- if (Co(e)) {
2603
+ if (Io(e)) {
2607
2604
  let n = vt(e, "url"), o = Qe(Je()) + " ==> " + n, s = ht(Je(), "trace_ievent_callback");
2608
- s ? s(o, t, 1, r.length) : Vo(0, o, t);
2605
+ s ? s(o, t, 1, r.length) : Fo(0, o, t);
2609
2606
  }
2610
2607
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return hn(`${Ze(e)}: send_iev(): websocket not open, message lost`), -1;
2611
2608
  try {
@@ -2615,10 +2612,10 @@ function Mo(e, t, n, r) {
2615
2612
  }
2616
2613
  return 0;
2617
2614
  }(e, function(e, t) {
2618
- return lr(e) ? (mn("iev_create() event NULL"), null) : new Go(e, t);
2615
+ return lr(e) ? (mn("iev_create() event NULL"), null) : new Vo(e, t);
2619
2616
  }(t, n));
2620
2617
  }
2621
- function Wo(e, t, n) {
2618
+ function Mo(e, t, n) {
2622
2619
  return lr(n) && (n = vt(e, "wanted_yuno_service")), {
2623
2620
  dst_yuno: vt(e, "wanted_yuno_name"),
2624
2621
  dst_role: vt(e, "wanted_yuno_role"),
@@ -2626,10 +2623,10 @@ function Wo(e, t, n) {
2626
2623
  src_yuno: qe(),
2627
2624
  src_role: He(),
2628
2625
  src_service: t,
2629
- host: no()
2626
+ host: to()
2630
2627
  };
2631
2628
  }
2632
- function Ko(e) {
2629
+ function Wo(e) {
2633
2630
  let t = e.priv, n = Be(Je()), r = vt(Je(), "yuno_version"), o = vt(Je(), "yuno_release"), l = vt(Je(), "yuno_tag"), i = ht(e, "required_services");
2634
2631
  i && i.length || (i = ht(Je(), "required_services"));
2635
2632
  let _ = {
@@ -2647,27 +2644,27 @@ function Ko(e) {
2647
2644
  username: vt(Je(), "__username__"),
2648
2645
  launch_id: 0,
2649
2646
  yuno_startdate: vt(Je(), "start_date"),
2650
- id: no(),
2647
+ id: to(),
2651
2648
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2652
2649
  language: "undefined" != typeof window ? window.navigator.language : "",
2653
2650
  required_services: i
2654
2651
  };
2655
- return Fr(e, _, ko, Wo(e, Qe(tt(e)), null)), Gr(e, _, "__identity__"), To(t.gobj_timer, Tt(e, "timeout_idack")), Mo(e, "EV_IDENTITY_CARD", _);
2652
+ return Fr(e, _, Do, Mo(e, Qe(tt(e)), null)), Gr(e, _, "__identity__"), Eo(t.gobj_timer, Tt(e, "timeout_idack")), Go(e, "EV_IDENTITY_CARD", _);
2656
2653
  }
2657
- function Yo(e, t) {
2654
+ function Ko(e, t) {
2658
2655
  if (lr(t.event)) return -1;
2659
2656
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, l = t.__service__, i = t.subscriber;
2660
2657
  o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s);
2661
- return Fr(e, n, ko, Wo(e, Qe(i), l)), Gr(e, n, "__subscribing__"), Mo(e, t.event, n);
2658
+ return Fr(e, n, Do, Mo(e, Qe(i), l)), Gr(e, n, "__subscribing__"), Go(e, t.event, n);
2662
2659
  }
2663
- function Bo(e, t, n, r) {
2660
+ function Yo(e, t, n, r) {
2664
2661
  let o = e.priv;
2665
- return We(e) && (o.websocket = Uo(e)), 0;
2662
+ return We(e) && (o.websocket = Po(e)), 0;
2666
2663
  }
2667
- function Jo(e, t, n, r) {
2668
- return yn("Websocket opened: " + e.priv.url), Ko(e), 0;
2664
+ function Bo(e, t, n, r) {
2665
+ return yn("Websocket opened: " + e.priv.url), Wo(e), 0;
2669
2666
  }
2670
- function qo(e, t, n, r) {
2667
+ function Jo(e, t, n, r) {
2671
2668
  let o = e.priv, s = n.url;
2672
2669
  return void 0 !== n.ws_seq && n.ws_seq !== o.ws_seq || (pn(), hn(`${Ze(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, Qt(e, "EV_ON_CLOSE", {
2673
2670
  url: s,
@@ -2682,25 +2679,25 @@ function qo(e, t, n, r) {
2682
2679
  code: n.code,
2683
2680
  reason: n.reason,
2684
2681
  was_clean: n.was_clean
2685
- })), We(e) && To(o.gobj_timer, Ho(e))), 0;
2682
+ })), We(e) && Eo(o.gobj_timer, qo(e))), 0;
2686
2683
  }
2687
- function Ho(e) {
2684
+ function qo(e) {
2688
2685
  let t = e.priv, n = Tt(e, "timeout_retry"), r = Tt(e, "timeout_retry_max");
2689
2686
  r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2690
2687
  let o = .2 * t.retry_ms, s = t.retry_ms - o + 2 * Math.random() * o;
2691
2688
  return Math.max(1, Math.round(s));
2692
2689
  }
2693
- function zo(e, t, n, r) {
2694
- return Ko(e), 0;
2690
+ function Ho(e, t, n, r) {
2691
+ return Wo(e), 0;
2695
2692
  }
2696
- function Qo(e, t, n, r) {
2693
+ function zo(e, t, n, r) {
2697
2694
  let o = e.priv;
2698
- jo(o.gobj_timer);
2699
- let s = Vr(e, n, ko, !0), l = Er(e, s, "src_yuno", ""), i = Er(e, s, "src_role", ""), _ = Er(e, s, "src_service", "");
2695
+ vo(o.gobj_timer);
2696
+ let s = Vr(e, n, Do, !0), l = Er(e, s, "src_yuno", ""), i = Er(e, s, "src_role", ""), _ = Er(e, s, "src_service", "");
2700
2697
  $t(e, "remote_yuno_name", l), $t(e, "remote_yuno_role", i), $t(e, "remote_yuno_service", _);
2701
2698
  let a = yr(e, n, "result", -1, 0), u = Er(e, n, "comment", "", 0), c = Er(e, n, "username", "", 0), f = jr(e, n, "services_roles", {});
2702
2699
  if (a < 0) {
2703
- Fo(e);
2700
+ Uo(e);
2704
2701
  let t = {
2705
2702
  url: vt(e, "url"),
2706
2703
  result: a,
@@ -2725,12 +2722,12 @@ function Qo(e, t, n, r) {
2725
2722
  }
2726
2723
  o.inside_on_open = !1, function(e) {
2727
2724
  let t = Ht(e, null, null, null);
2728
- for (let n = 0; n < t.length; n++) Yo(e, t[n]);
2725
+ for (let n = 0; n < t.length; n++) Ko(e, t[n]);
2729
2726
  }(e);
2730
2727
  }
2731
2728
  return 0;
2732
2729
  }
2733
- function Xo(e, t, n, r) {
2730
+ function Qo(e, t, n, r) {
2734
2731
  let o = e.priv.url, s = function(e, t) {
2735
2732
  let n;
2736
2733
  try {
@@ -2749,19 +2746,19 @@ function Xo(e, t, n, r) {
2749
2746
  } : (hn(`${Ze(e)}: parsing inter_event: kw not a json object`), null) : (hn(`${Ze(e)}: parsing inter_kw: no kw`), null);
2750
2747
  }(e, n.data);
2751
2748
  if (!s) return hn(`${Ze(e)}: frame dropped from ${o}: ${String(n.data).substring(0, 256)}`), -1;
2752
- if (Co(e)) {
2749
+ if (Io(e)) {
2753
2750
  let e = Qe(Je()) + " <== " + o, t = n.data.length, r = ht(Je(), "trace_ievent_callback");
2754
- r ? r(e, s, 2, t) : Vo(0, e, s);
2751
+ r ? r(e, s, 2, t) : Fo(0, e, s);
2755
2752
  }
2756
2753
  let l = s.event, i = s.kw;
2757
2754
  if ("ST_SESSION" !== xt(e)) {
2758
2755
  if (kt(e, l, $.EVF_PUBLIC_EVENT)) {
2759
2756
  if (!(Ut(e, l, i, e) < 0)) return 0;
2760
2757
  } else mn(`${Ze(e)}: event UNKNOWN in not-session state ${l}`);
2761
- return Fo(e), -1;
2758
+ return Uo(e), -1;
2762
2759
  }
2763
2760
  s = null;
2764
- let _ = Mr(e, i), a = Vr(e, i, ko), u = Er(e, a, "dst_role", "");
2761
+ let _ = Mr(e, i), a = Vr(e, i, Do), u = Er(e, a, "dst_role", "");
2765
2762
  if (u.toLowerCase() !== He().toLowerCase()) return mn(`"It's not my role, dst_role: ${u}, my_role: ${He()}`), 0;
2766
2763
  let c = Er(e, a, "dst_service", "");
2767
2764
  if ("__subscribing__" === _) return hn(`${Ze(e)}: subscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
@@ -2773,13 +2770,13 @@ function Xo(e, t, n, r) {
2773
2770
  }
2774
2771
  return rt(e) ? Ut(tt(e), l, i, e) : Qt(e, l, i), 0;
2775
2772
  }
2776
- function Zo(e, t, n, r) {
2773
+ function Xo(e, t, n, r) {
2777
2774
  return 0;
2778
2775
  }
2779
- function es(e, t, n, r) {
2776
+ function Zo(e, t, n, r) {
2780
2777
  return 0;
2781
2778
  }
2782
- var ts = {
2779
+ var es = {
2783
2780
  mt_create: function(e) {
2784
2781
  let t = e.priv;
2785
2782
  t.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = vt(e, "url"), t.remote_yuno_name = vt(e, "remote_yuno_name"), t.remote_yuno_role = vt(e, "remote_yuno_role"), t.remote_yuno_service = vt(e, "remote_yuno_service"), $t(e, "wanted_yuno_name", t.remote_yuno_name), $t(e, "wanted_yuno_role", t.remote_yuno_role), $t(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2809,43 +2806,43 @@ var ts = {
2809
2806
  code: 1e3,
2810
2807
  reason: "restarted",
2811
2808
  was_clean: !0
2812
- }, e), jo(t.gobj_timer)), t.websocket = Uo(e), 0;
2809
+ }, e), vo(t.gobj_timer)), t.websocket = Po(e), 0;
2813
2810
  },
2814
2811
  mt_stop: function(e) {
2815
2812
  let t = e.priv;
2816
- return jo(t.gobj_timer), t.websocket && Fo(e), 0;
2813
+ return vo(t.gobj_timer), t.websocket && Uo(e), 0;
2817
2814
  },
2818
2815
  mt_destroy: function(e) {},
2819
2816
  mt_stats: function(e, t, n, r) {
2820
2817
  if ("ST_SESSION" !== xt(e)) return mn("Not in session"), null;
2821
2818
  n || (n = {});
2822
- let o = Wo(e, Qe(r), Er(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2819
+ let o = Mo(e, Qe(r), Er(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2823
2820
  return s || (s = {}), Fr(e, n, "stats_stack", {
2824
2821
  stats: t,
2825
2822
  kw: s
2826
- }), Fr(e, n, ko, o), n.__stats__ = t, Gr(e, n, "__stats__"), Mo(e, "EV_MT_STATS", n, r), null;
2823
+ }), Fr(e, n, Do, o), n.__stats__ = t, Gr(e, n, "__stats__"), Go(e, "EV_MT_STATS", n, r), null;
2827
2824
  },
2828
2825
  mt_command_parser: function(e, t, n, r) {
2829
2826
  if ("ST_SESSION" !== xt(e)) return mn("Not in session"), null;
2830
2827
  n || (n = {});
2831
- let o = Wo(e, Qe(r), Er(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2828
+ let o = Mo(e, Qe(r), Er(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2832
2829
  return s || (s = {}), Fr(e, n, "command_stack", {
2833
2830
  command: t,
2834
2831
  kw: s
2835
- }), Fr(e, n, ko, o), n.__command__ = t, Gr(e, n, "__command__"), Mo(e, "EV_MT_COMMAND", n, r), null;
2832
+ }), Fr(e, n, Do, o), n.__command__ = t, Gr(e, n, "__command__"), Go(e, "EV_MT_COMMAND", n, r), null;
2836
2833
  },
2837
2834
  mt_inject_event: function(e, t, n, r) {
2838
2835
  if ("ST_SESSION" !== xt(e)) return window.console.error("Not in session"), -1;
2839
- if (n = Fn({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Pn(n.__md_iev__)), Vr(e, n, ko));
2836
+ if (n = Fn({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Pn(n.__md_iev__)), Vr(e, n, Do));
2840
2837
  else {
2841
- let o = Wo(e, Qe(r), Er(e, n, "__service__", 0, 0));
2842
- Wn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, ko, o);
2838
+ let o = Mo(e, Qe(r), Er(e, n, "__service__", 0, 0));
2839
+ Wn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, Do, o);
2843
2840
  }
2844
- return Gr(e, n, "__message__"), Mo(e, t, n, r);
2841
+ return Gr(e, n, "__message__"), Go(e, t, n, r);
2845
2842
  },
2846
2843
  mt_subscription_added: function(e, t) {
2847
2844
  let n = e.priv;
2848
- return "ST_SESSION" === xt(e) && n.websocket ? n.inside_on_open ? 0 : Yo(e, t) : 0;
2845
+ return "ST_SESSION" === xt(e) && n.websocket ? n.inside_on_open ? 0 : Ko(e, t) : 0;
2849
2846
  },
2850
2847
  mt_subscription_deleted: function(e, t) {
2851
2848
  let n = e.priv;
@@ -2854,7 +2851,7 @@ var ts = {
2854
2851
  if (lr(t.event)) return 0;
2855
2852
  let r = {}, o = t.__global__, s = t.__config__, l = t.__filter__, i = t.__service__, _ = t.subscriber;
2856
2853
  s && (r.__config__ = s), o && (r.__global__ = o), l && (r.__filter__ = l);
2857
- return Fr(e, r, ko, Wo(e, Qe(_), i)), Gr(e, r, "__unsubscribing__"), Mo(e, t.event, r, e);
2854
+ return Fr(e, r, Do, Mo(e, Qe(_), i)), Gr(e, r, "__unsubscribing__"), Go(e, t.event, r, e);
2858
2855
  }
2859
2856
  };
2860
2857
  exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new E(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new E(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new E(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new E(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new E(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new E(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = E, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
@@ -2868,7 +2865,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2868
2865
  return t;
2869
2866
  }, exports.build_stats_response = o, exports.clean_name = function(e) {
2870
2867
  return e.replace(/[?# ^:]/g, "_");
2871
- }, exports.clear_timeout = jo, exports.cmp_two_simple_json = ur, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2868
+ }, exports.clear_timeout = vo, exports.cmp_two_simple_json = ur, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2872
2869
  let [r, o, s, l] = t;
2873
2870
  if (!r) return void mn("Tag must be a valid HTML element.");
2874
2871
  let i = document.createElement(r), _ = "";
@@ -2877,21 +2874,21 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2877
2874
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2878
2875
  i.style.cssText = t;
2879
2876
  } else "style" === e ? i.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, o[e]);
2880
- if (Hr(s)) i.appendChild(zr(s));
2881
- else if (er(s)) if (s = s.trim(), s.length > 0 && "<" === s[0] && !Qr) i.appendChild(Zr(s));
2877
+ if (qr(s)) i.appendChild(Hr(s));
2878
+ else if (er(s)) if (s = s.trim(), s.length > 0 && "<" === s[0] && !zr) i.appendChild(Xr(s));
2882
2879
  else if (s.length > 0 && "<" === s[0] && function(e) {
2883
- if (Xr.size >= 100) return;
2880
+ if (Qr.size >= 100) return;
2884
2881
  const t = e.slice(0, 80);
2885
- Xr.has(t) || (Xr.add(t), hn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2882
+ Qr.has(t) || (Qr.add(t), hn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2886
2883
  }(s), n && _) i.textContent = n(_) || s;
2887
2884
  else i.textContent = s;
2888
2885
  else if (Zn(s)) {
2889
2886
  if (s.length > 0) if (er(s[0])) i.appendChild(e(s, n));
2890
- else for (let t of s) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Hr(t) ? i.appendChild(zr(t)) : er(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && mn("createElement2: child ignored, type " + typeof t);
2887
+ else for (let t of s) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : qr(t) ? i.appendChild(Hr(t)) : er(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && mn("createElement2: child ignored, type " + typeof t);
2891
2888
  } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? i.appendChild(s) : null != s && (mn("content ignored"), Tn(s));
2892
2889
  if (l && "object" == typeof l) for (const e of Object.keys(l)) i.addEventListener(e, l[e]);
2893
2890
  return i;
2894
- }, exports.createOneHtml = Zr, exports.create_json_record = function(e, t) {
2891
+ }, exports.createOneHtml = Xr, exports.create_json_record = function(e, t) {
2895
2892
  let n = Pn(e);
2896
2893
  return Vn(n, t), n;
2897
2894
  }, exports.create_template_record = function(e, t) {
@@ -2902,21 +2899,21 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2902
2899
  let s = jr(null, t, e, o);
2903
2900
  Kn(n, e, s);
2904
2901
  }), n;
2905
- }, exports.current_timestamp = eo, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2906
- let n = xr(ao(e), null, !1), r = {};
2902
+ }, exports.current_timestamp = Zr, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2903
+ let n = xr(_o(e), null, !1), r = {};
2907
2904
  return n && Xn(n) && (r = $r(e, n, t, !1)), r;
2908
2905
  }, exports.db_load_persistent_attrs = function(e, t) {
2909
- let n = yt(e, y.SDF_PERSIST), r = xr(ao(e), null, !1);
2906
+ let n = yt(e, y.SDF_PERSIST), r = xr(_o(e), null, !1);
2910
2907
  if (r && Xn(r)) {
2911
2908
  let o = $r(e, r, t, !1);
2912
2909
  o = $r(e, o, n, !1), St(e, o, y.SDF_PERSIST);
2913
2910
  }
2914
2911
  }, exports.db_remove_persistent_attrs = function(e, t) {
2915
- let n = Rr(e, xr(ao(e), null, !1), t, !1);
2916
- 0 === Hn(n) ? kr(ao(e)) : Dr(ao(e), n);
2912
+ let n = Rr(e, xr(_o(e), null, !1), t, !1);
2913
+ 0 === Hn(n) ? kr(_o(e)) : Dr(_o(e), n);
2917
2914
  }, exports.db_save_persistent_attrs = function(e, t) {
2918
- let n = $r(e, yt(e, y.SDF_PERSIST), t, !1), r = xr(ao(e), null, !1);
2919
- return r && Xn(r) && Gn(n, r), Dr(ao(e), n);
2915
+ let n = $r(e, yt(e, y.SDF_PERSIST), t, !1), r = xr(_o(e), null, !1);
2916
+ return r && Xn(r) && Gn(n, r), Dr(_o(e), n);
2920
2917
  }, exports.debounce = function(e, t = 0, n = !1) {
2921
2918
  let r = null, o = null, s = null;
2922
2919
  const l = (...l) => {
@@ -2940,20 +2937,20 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2940
2937
  return t;
2941
2938
  }, exports.empty_json = function(e) {
2942
2939
  return 0 === Qn(e);
2943
- }, exports.empty_string = lr, exports.escapeHtml = Jr, exports.event_flag_t = $, exports.flat2json = function(e) {
2940
+ }, exports.empty_string = lr, exports.escapeHtml = Br, exports.event_flag_t = $, exports.flat2json = function(e) {
2944
2941
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2945
2942
  let t = null;
2946
2943
  for (const n of Object.keys(e)) {
2947
- const r = io(n);
2944
+ const r = lo(n);
2948
2945
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2949
- if (r.length > oo) throw new Error(`flat2json: '${n}' deeper than 256`);
2946
+ if (r.length > ro) throw new Error(`flat2json: '${n}' deeper than 256`);
2950
2947
  const o = "number" == typeof r[0];
2951
2948
  if (null === t) t = o ? [] : {};
2952
2949
  else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2953
2950
  let s = t;
2954
2951
  for (let t = 0; t < r.length; t++) {
2955
2952
  const o = r[t], l = "number" == typeof o, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2956
- if (l && o > so) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2953
+ if (l && o > oo) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2957
2954
  if (l !== Array.isArray(s)) throw new Error(`flat2json: '${n}' uses a ${l ? "array index" : "key"} where the tree already has a ${Array.isArray(s) ? "array" : "object"}`);
2958
2955
  if (i) {
2959
2956
  if (Array.isArray(s)) {
@@ -2993,15 +2990,15 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2993
2990
  removed: {},
2994
2991
  changed: {}
2995
2992
  };
2996
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? _o(n[e], r[e]) || pr(o.changed, e, {
2993
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? io(n[e], r[e]) || pr(o.changed, e, {
2997
2994
  from: n[e],
2998
2995
  to: r[e]
2999
2996
  }) : pr(o.removed, e, n[e]);
3000
2997
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || pr(o.added, e, r[e]);
3001
2998
  return o;
3002
2999
  }, exports.flat_key_join = function(e) {
3003
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : lo(e)).join("`") : "";
3004
- }, exports.flat_key_split = io, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = Ee, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
3000
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : so(e)).join("`") : "";
3001
+ }, exports.flat_key_split = lo, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = Ee, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
3005
3002
  if (!e) return {
3006
3003
  top: 0,
3007
3004
  left: 0,
@@ -3020,7 +3017,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3020
3017
  right: n + i + r,
3021
3018
  bottom: t + l + o
3022
3019
  };
3023
- }, exports.get_function_name = ro, exports.get_now = function() {
3020
+ }, exports.get_function_name = no, exports.get_now = function() {
3024
3021
  return Math.floor(Date.now() / 1e3);
3025
3022
  }, exports.gobj_bottom_gobj = st, exports.gobj_change_parent = function(e, n) {
3026
3023
  return ot(e) ? (mn("gobj NULL or DESTROYED"), null) : n instanceof O ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && ($e(e.parent, e), e.parent = null), Ne(n, e), n.gclass.gmt.mt_child_added && (K(e) && yn(t("👦👦🔵 child_added(%s): %s", et(n), Ze(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (mn(`${Ze(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
@@ -3168,10 +3165,10 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3168
3165
  }
3169
3166
  return _ ? hn(`${Ze(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (hn(`${Ze(e)}: No subscription found`), Ln(n, "No subscription found")), 0;
3170
3167
  }, exports.gobj_unsubscribe_list = qt, exports.gobj_walk_gobj_children = _t, exports.gobj_walk_gobj_children_tree = at, exports.gobj_write_attr = Ot, exports.gobj_write_attrs = St, exports.gobj_write_bool_attr = wt, exports.gobj_write_integer_attr = Nt, exports.gobj_write_str_attr = $t, exports.gobj_yuno = Je, exports.gobj_yuno_id = ze, exports.gobj_yuno_name = qe, exports.gobj_yuno_role = He, exports.html_markup = function(e) {
3171
- return "string" != typeof e ? (mn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
3172
- }, exports.id_index_in_obj_list = Cr, exports.index_in_list = to, exports.is_array = Zn, exports.is_boolean = nr, exports.is_date = function(e) {
3168
+ return "string" != typeof e ? (mn("html_markup: not a string, type " + typeof e), new Jr("")) : new Jr(e);
3169
+ }, exports.id_index_in_obj_list = Cr, exports.index_in_list = eo, exports.is_array = Zn, exports.is_boolean = nr, exports.is_date = function(e) {
3173
3170
  return e instanceof Date && !isNaN(e);
3174
- }, exports.is_function = or, exports.is_gobj = sr, exports.is_html_markup = Hr, exports.is_metadata_key = function(e) {
3171
+ }, exports.is_function = or, exports.is_gobj = sr, exports.is_html_markup = qr, exports.is_metadata_key = function(e) {
3175
3172
  if (!er(e)) return !1;
3176
3173
  let t = 0;
3177
3174
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -3189,17 +3186,17 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3189
3186
  }, exports.is_secret_name = Sn, exports.is_string = er, exports.jdb_delete = function(e, t, n, r) {
3190
3187
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3191
3188
  if (!o) return mn("jdb_delete: topic not found: " + t), null;
3192
- if (!Xn(r) || lr(r.id)) return mn(`jdb_delete: record without id: ${Kr(r)}`), null;
3189
+ if (!Xn(r) || lr(r.id)) return mn(`jdb_delete: record without id: ${dn(r)}`), null;
3193
3190
  if (!er(n)) return mn(`jdb_delete: path must be a string: ${String(n)}`), null;
3194
3191
  if ("" !== n && n.split("`").includes("")) return mn(`jdb_delete: empty segment in path: '${n}'`), null;
3195
3192
  let s, l = n.split("`"), i = o;
3196
- for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, null, 0)), i = Yr(i, null, s, !1);
3193
+ for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, s, !1);
3197
3194
  if (!i || 0 !== l.length) return mn(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
3198
3195
  let _ = Zn(i) ? i : jr(null, i, e.hook, null, 0), a = Cr(_, r.id);
3199
3196
  return a < 0 ? (mn(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (_.splice(a, 1), o);
3200
3197
  }, exports.jdb_get = function(e, t, n, r) {
3201
3198
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3202
- return o ? (void 0 === r && (r = !0), Yr(o, e.hook, n, r)) : (mn("jdb_get: topic not found: " + t), null);
3199
+ return o ? (void 0 === r && (r = !0), Kr(o, e.hook, n, r)) : (mn("jdb_get: topic not found: " + t), null);
3203
3200
  }, exports.jdb_get_by_idx = function(e, t, n) {
3204
3201
  let r = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3205
3202
  return r ? n < r.length ? r[n] : {} : (mn("jdb_get_by_idx: topic not found: " + t), null);
@@ -3218,11 +3215,11 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3218
3215
  }, exports.jdb_update = function(e, t, n, r) {
3219
3216
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3220
3217
  if (!o) return mn("jdb_update: topic not found: " + t), null;
3221
- if (!Xn(r) || lr(r.id)) return mn(`jdb_update: record without id: ${Kr(r)}`), null;
3218
+ if (!Xn(r) || lr(r.id)) return mn(`jdb_update: record without id: ${dn(r)}`), null;
3222
3219
  if (!er(n)) return mn(`jdb_update: path must be a string: ${String(n)}`), null;
3223
3220
  if ("" !== n && n.split("`").includes("")) return mn(`jdb_update: empty segment in path: '${n}'`), null;
3224
3221
  let s, l, i = n.split("`"), _ = o;
3225
- for (; (s = i.shift()) && !lr(s) && _;) Xn(_) && (_ = jr(null, _, e.hook, null, 0)), _ = Yr(_, null, s, !1);
3222
+ for (; (s = i.shift()) && !lr(s) && _;) Xn(_) && (_ = jr(null, _, e.hook, null, 0)), _ = Kr(_, null, s, !1);
3226
3223
  if (!_ || 0 !== i.length) return mn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
3227
3224
  if (Zn(_)) l = _;
3228
3225
  else {
@@ -3230,11 +3227,11 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3230
3227
  if (l = jr(null, _, e.hook, null, 0), null == l) l = [], Kn(_, e.hook, l);
3231
3228
  else if (!Zn(l)) return mn(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
3232
3229
  }
3233
- let a = Yr(l, e.hook, r.id, !1);
3230
+ let a = Kr(l, e.hook, r.id, !1);
3234
3231
  return a ? Fn(a, r) : l.push(r), o;
3235
3232
  }, exports.json2flat = function(e) {
3236
3233
  const t = {}, n = (e, r, o) => {
3237
- if (o > oo) throw new Error("json2flat: deeper than 256");
3234
+ if (o > ro) throw new Error("json2flat: deeper than 256");
3238
3235
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3239
3236
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3240
3237
  const s = `[${t}]`;
@@ -3244,7 +3241,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3244
3241
  const t = Object.keys(e);
3245
3242
  if (t.length > 0) {
3246
3243
  for (const s of t) {
3247
- const t = lo(s);
3244
+ const t = so(s);
3248
3245
  n(e[s], 0 === o ? t : r + "`" + t, o + 1);
3249
3246
  }
3250
3247
  return;
@@ -3257,7 +3254,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3257
3254
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3258
3255
  }, exports.json_array_remove = qn, exports.json_array_size = zn, exports.json_deep_copy = Pn, exports.json_is_identical = Un, exports.json_mask_secrets = Cn, exports.json_object_del = Wn, exports.json_object_get = Mn, exports.json_object_set = Kn, exports.json_object_set_new = Yn, exports.json_object_size = Hn, exports.json_object_update = Fn, exports.json_object_update_existing = Vn, exports.json_object_update_missing = Gn, exports.json_size = Qn, exports.jwt2json = function(e, t) {
3259
3256
  try {
3260
- let n = Br(e);
3257
+ let n = Yr(e);
3261
3258
  switch (t) {
3262
3259
  case "header": return JSON.parse(n.header);
3263
3260
  case "signature": return JSON.parse(n.signature);
@@ -3266,7 +3263,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3266
3263
  } catch (e) {
3267
3264
  return null;
3268
3265
  }
3269
- }, exports.jwtDecode = Br, exports.kw_clone_by_keys = $r, exports.kw_clone_by_not_keys = Rr, exports.kw_collect = function(e, t, n, r) {
3266
+ }, exports.jwtDecode = Yr, exports.kw_clone_by_keys = $r, exports.kw_clone_by_not_keys = Rr, exports.kw_collect = function(e, t, n, r) {
3270
3267
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3271
3268
  r || (r = Nr);
3272
3269
  let o = [];
@@ -3410,9 +3407,9 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3410
3407
  var e;
3411
3408
  }, r.send();
3412
3409
  }, exports.log_debug = yn, exports.log_error = mn, exports.log_info = function(e, ...t) {
3413
- let n = bn(e, ...t), r = eo();
3410
+ let n = bn(e, ...t), r = Zr();
3414
3411
  nn && un("info", n) && nn("%c" + r + " INFO: " + String(n), "color:cyan"), fn("info", n, r);
3415
- }, exports.log_warning = hn, exports.mask_secrets_inline = xn, exports.msg_iev_get_msg_type = Mr, exports.msg_iev_get_stack = Vr, exports.msg_iev_push_stack = Fr, exports.msg_iev_read_key = Pr, exports.msg_iev_set_msg_type = Gr, exports.msg_iev_write_key = Ur, exports.node_uuid = no, exports.parseBoolean = ir, exports.parseSVG = function(e) {
3412
+ }, exports.log_warning = hn, exports.mask_secrets_inline = xn, exports.msg_iev_get_msg_type = Mr, exports.msg_iev_get_stack = Vr, exports.msg_iev_push_stack = Fr, exports.msg_iev_read_key = Pr, exports.msg_iev_set_msg_type = Gr, exports.msg_iev_write_key = Ur, exports.node_uuid = to, exports.parseBoolean = ir, exports.parseSVG = function(e) {
3416
3413
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3417
3414
  }, exports.refresh_language = function(e, t) {
3418
3415
  if (!or(t)) return void mn("You must supply a translation function");
@@ -3439,22 +3436,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3439
3436
  });
3440
3437
  }, exports.register_c_ievent_cli = function() {
3441
3438
  return function(e) {
3442
- if (Po) return mn(`GClass ALREADY created: ${e}`), -1;
3439
+ if (Lo) return mn(`GClass ALREADY created: ${e}`), -1;
3443
3440
  const t = [
3444
3441
  ["ST_DISCONNECTED", [
3445
3442
  [
3446
3443
  "EV_ON_OPEN",
3447
- Jo,
3444
+ Bo,
3448
3445
  "ST_WAIT_IDENTITY_CARD_ACK"
3449
3446
  ],
3450
3447
  [
3451
3448
  "EV_ON_CLOSE",
3452
- qo,
3449
+ Jo,
3453
3450
  null
3454
3451
  ],
3455
3452
  [
3456
3453
  "EV_TIMEOUT",
3457
- Bo,
3454
+ Yo,
3458
3455
  null
3459
3456
  ],
3460
3457
  [
@@ -3466,22 +3463,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3466
3463
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3467
3464
  [
3468
3465
  "EV_ON_MESSAGE",
3469
- Xo,
3466
+ Qo,
3470
3467
  null
3471
3468
  ],
3472
3469
  [
3473
3470
  "EV_IDENTITY_CARD_ACK",
3474
- Qo,
3471
+ zo,
3475
3472
  null
3476
3473
  ],
3477
3474
  [
3478
3475
  "EV_ON_CLOSE",
3479
- qo,
3476
+ Jo,
3480
3477
  "ST_DISCONNECTED"
3481
3478
  ],
3482
3479
  [
3483
3480
  "EV_TIMEOUT",
3484
- zo,
3481
+ Ho,
3485
3482
  null
3486
3483
  ],
3487
3484
  [
@@ -3493,22 +3490,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3493
3490
  ["ST_SESSION", [
3494
3491
  [
3495
3492
  "EV_ON_MESSAGE",
3496
- Xo,
3493
+ Qo,
3497
3494
  null
3498
3495
  ],
3499
3496
  [
3500
3497
  "EV_MT_STATS",
3501
- Zo,
3498
+ Xo,
3502
3499
  null
3503
3500
  ],
3504
3501
  [
3505
3502
  "EV_MT_COMMAND",
3506
- es,
3503
+ Zo,
3507
3504
  null
3508
3505
  ],
3509
3506
  [
3510
3507
  "EV_ON_CLOSE",
3511
- qo,
3508
+ Jo,
3512
3509
  "ST_DISCONNECTED"
3513
3510
  ],
3514
3511
  [
@@ -3519,7 +3516,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3519
3516
  ]],
3520
3517
  [null, null]
3521
3518
  ];
3522
- return (Po = ge(e, [
3519
+ return (Lo = ge(e, [
3523
3520
  ["EV_ON_MESSAGE", $.EVF_OUTPUT_EVENT],
3524
3521
  ["EV_IDENTITY_CARD_ACK", $.EVF_PUBLIC_EVENT],
3525
3522
  ["EV_ON_ID_NAK", $.EVF_PUBLIC_EVENT | $.EVF_OUTPUT_EVENT],
@@ -3530,36 +3527,36 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3530
3527
  ["EV_ON_OPEN_ERROR", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS],
3531
3528
  ["EV_TIMEOUT", 0],
3532
3529
  [null, 0]
3533
- ], t, ts, 0, Ao, Lo, 0, 0, Io, S.gcflag_no_check_output_events)) ? 0 : -1;
3530
+ ], t, es, 0, ko, Co, 0, 0, Ao, S.gcflag_no_check_output_events)) ? 0 : -1;
3534
3531
  }("C_IEVENT_CLI");
3535
3532
  }, exports.register_c_timer = function() {
3536
3533
  return function(e) {
3537
- if (ho) return mn(`GClass ALREADY created: ${e}`), -1;
3534
+ if (mo) return mn(`GClass ALREADY created: ${e}`), -1;
3538
3535
  const t = [["ST_IDLE", [[
3539
3536
  "EV_TIMEOUT",
3540
- yo,
3537
+ ho,
3541
3538
  null
3542
3539
  ]]]];
3543
- return (ho = ge(e, [
3540
+ return (mo = ge(e, [
3544
3541
  ["EV_TIMEOUT", $.EVF_OUTPUT_EVENT],
3545
3542
  ["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT],
3546
3543
  [0, 0]
3547
- ], t, Eo, 0, bo, mo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3544
+ ], t, yo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3548
3545
  }("C_TIMER");
3549
3546
  }, exports.register_c_yuno = function() {
3550
3547
  return function(e) {
3551
- if (wo) return mn(`GClass ALREADY created: ${e}`), -1;
3548
+ if (So) return mn(`GClass ALREADY created: ${e}`), -1;
3552
3549
  const t = [["ST_IDLE", [[
3553
3550
  "EV_TIMEOUT_PERIODIC",
3554
- xo,
3551
+ Ro,
3555
3552
  null
3556
3553
  ]]]];
3557
- return (wo = ge(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, Do, 0, Oo, So, 0, 0, 0, 0)) ? 0 : -1;
3554
+ return (So = ge(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, xo, 0, jo, Oo, 0, 0, 0, 0)) ? 0 : -1;
3558
3555
  }("C_YUNO");
3559
3556
  }, exports.safeSrc = function(e) {
3560
3557
  if (!e) return "";
3561
3558
  const t = String(e).trim();
3562
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
3559
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3563
3560
  }, exports.sdata_flag_t = y, exports.send_http_json_post = function(e, t, n) {
3564
3561
  let r = new XMLHttpRequest();
3565
3562
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3583,9 +3580,9 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3583
3580
  }
3584
3581
  } else on = e;
3585
3582
  }, exports.set_remote_log_functions = pn, exports.set_strings_are_text = function(e) {
3586
- Qr = !!e;
3587
- }, exports.set_timeout = To, exports.set_timeout_periodic = vo, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Lr, exports.strcasecmp = ar, exports.strcmp = _r, exports.strings_are_text = function() {
3588
- return Qr;
3583
+ zr = !!e;
3584
+ }, exports.set_timeout = Eo, exports.set_timeout_periodic = To, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Lr, exports.strcasecmp = ar, exports.strcmp = _r, exports.strings_are_text = function() {
3585
+ return zr;
3589
3586
  }, exports.strncmp = function(e, t, n) {
3590
3587
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
3591
3588
  return r === o ? 0 : r > o ? 1 : -1;
@@ -3615,9 +3612,9 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3615
3612
  let e = t.split(".");
3616
3613
  for (let t = 0; t < e.length; t++) {
3617
3614
  let r = e[t];
3618
- if (Lr(co, r)) n.real_type || (n.real_type = r);
3619
- else if (Lr(go, r)) n.type || (n.type = r);
3620
- else if (Lr(fo, r)) switch (r) {
3615
+ if (Lr(uo, r)) n.real_type || (n.real_type = r);
3616
+ else if (Lr(fo, r)) n.type || (n.type = r);
3617
+ else if (Lr(co, r)) switch (r) {
3621
3618
  case "writable":
3622
3619
  n.is_writable = !0;
3623
3620
  break;
@@ -3629,7 +3626,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3629
3626
  }
3630
3627
  }
3631
3628
  n.real_type || (n.real_type = "string");
3632
- } else Xn(t) ? (n = po(t), n.name || (n.name = e), n.header || (n.header = e)) : Zn(t) && (n.real_type = "array", n.enum_list = t);
3629
+ } else Xn(t) ? (n = go(t), n.name || (n.name = e), n.header || (n.header = e)) : Zn(t) && (n.real_type = "array", n.enum_list = t);
3633
3630
  return n.type || (n.type = n.real_type), n;
3634
3631
  }, exports.timeTracker = function(e = "Time Tracker", t = !1) {
3635
3632
  const n = e, r = performance.now();
@@ -3641,7 +3638,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3641
3638
  total: _
3642
3639
  };
3643
3640
  } };
3644
- }, exports.trace_json = Tn, exports.trace_json_masked = Ln, exports.trace_level_t = C, exports.trace_msg = En, exports.treedb_decoder_fkey = uo, exports.treedb_decoder_hook = function(e, t) {
3641
+ }, exports.trace_json = Tn, exports.trace_json_masked = Ln, exports.trace_level_t = C, exports.trace_msg = En, exports.treedb_decoder_fkey = ao, exports.treedb_decoder_hook = function(e, t) {
3645
3642
  if (er(t)) {
3646
3643
  if (-1 === t.indexOf("^")) {
3647
3644
  let n, r = e.hook;
@@ -3668,9 +3665,9 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3668
3665
  id: t.id
3669
3666
  } : (mn("bad hook 3"), mn(e), mn(t), null);
3670
3667
  }, exports.treedb_encoder_fkey = function(e, t) {
3671
- let n = uo(e, t);
3668
+ let n = ao(e, t);
3672
3669
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3673
- }, exports.treedb_get_field_desc = po, exports.treedb_hook_data_size = function(e) {
3670
+ }, exports.treedb_get_field_desc = go, exports.treedb_hook_data_size = function(e) {
3674
3671
  if (Zn(e) && 1 === Qn(e)) {
3675
3672
  let t = e[0];
3676
3673
  return fr(t, "size") ? t.size : 1;