@yuneta/gobj-js 7.7.3 → 7.8.0

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.
@@ -141,7 +141,7 @@ var s = "7.0.0a", i = null, l = null, _ = null, a = null, u = null, c = null, f
141
141
  DTP_POINTER: 8
142
142
  });
143
143
  h.DTP_POINTER;
144
- var E = Object.freeze({
144
+ var y = Object.freeze({
145
145
  SDF_NOTACCESS: 1,
146
146
  SDF_RD: 2,
147
147
  SDF_WR: 4,
@@ -164,18 +164,18 @@ var E = Object.freeze({
164
164
  SDF_AUTHZ_S: 524288,
165
165
  SDF_AUTHZ_RS: 1048576
166
166
  });
167
- E.SDF_RD, E.SDF_WR, E.SDF_STATS, E.SDF_PERSIST, E.SDF_VOLATIL, E.SDF_RSTATS, E.SDF_PSTATS, E.SDF_WR, E.SDF_PERSIST;
168
- var y = class {
167
+ y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
168
+ var E = class {
169
169
  constructor(e, t, n = 0, r = null, o = "", s = null, i = null, l = 0, _ = null, a = null, u = null) {
170
170
  this.type = e, this.name = t, this.alias = s, this.flag = n, this.default_value = r, this.header = i, this.fillspace = l, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
171
171
  }
172
- }, T = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), j = class {
172
+ }, T = () => new E(0, null), v = (e, t, n, r, o) => new E(e, t, n, r, o), S = class {
173
173
  constructor(e, t, n, r, o, s, i, l, _) {
174
174
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = s, this.command_table = i, 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
175
  }
176
- }, S = class {
176
+ }, j = class {
177
177
  constructor(e, t, n, r, o) {
178
- this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(o) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = At(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
178
+ this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(o) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = It(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
179
179
  }
180
180
  }, O = Object.freeze({
181
181
  gcflag_manual_start: 1,
@@ -221,11 +221,11 @@ var y = class {
221
221
  };
222
222
  var A = 0;
223
223
  function I(e) {
224
- zt(e) && (e = JSON.stringify(e)), Rt(" ".repeat(Math.max(0, 2 * m - 1)) + String(e));
224
+ zt(e) && (e = JSON.stringify(e)), kt(" ".repeat(Math.max(0, 2 * m - 1)) + String(e));
225
225
  }
226
226
  function L(e, t) {
227
227
  let n = {};
228
- if (!Qt(t)) return Dt("sdata_desc MUST be an array"), $t(t), n;
228
+ if (!Qt(t)) return xt("sdata_desc MUST be an array"), At(t), n;
229
229
  for (let r = 0; r < t.length; r++) {
230
230
  const o = t[r];
231
231
  o.name && P(e, n, o);
@@ -239,151 +239,151 @@ function P(e, t, n) {
239
239
  r = String(o);
240
240
  break;
241
241
  case h.DTP_BOOLEAN:
242
- r = rn(o);
242
+ r = on(o);
243
243
  break;
244
244
  case h.DTP_INTEGER:
245
- r = parseInt(o), isNaN(r) && Dt(`${Ne(e)}: attr NaN: ${n.name}`);
245
+ r = parseInt(o), isNaN(r) && xt(`${Ne(e)}: attr NaN: ${n.name}`);
246
246
  break;
247
247
  case h.DTP_REAL:
248
- r = Number(o), isNaN(r) && Dt(`${Ne(e)}: attr NaN: ${n.name}`);
248
+ r = Number(o), isNaN(r) && xt(`${Ne(e)}: attr NaN: ${n.name}`);
249
249
  break;
250
250
  case h.DTP_LIST:
251
- if (qt(o)) try {
251
+ if (Ht(o)) try {
252
252
  r = JSON.parse(o);
253
253
  } catch (e) {
254
- Dt(`JSON parse error: ${e.message}`);
254
+ xt(`JSON parse error: ${e.message}`);
255
255
  }
256
256
  else r = o;
257
257
  Qt(r) || (r = []);
258
258
  break;
259
259
  case h.DTP_DICT:
260
- if (qt(o)) try {
260
+ if (Ht(o)) try {
261
261
  r = JSON.parse(o);
262
262
  } catch (e) {
263
- Dt(`JSON parse error: ${e.message}`);
263
+ xt(`JSON parse error: ${e.message}`);
264
264
  }
265
265
  else r = o;
266
266
  zt(r) || (r = {});
267
267
  break;
268
268
  case h.DTP_JSON:
269
- if (qt(o)) try {
269
+ if (Ht(o)) try {
270
270
  r = JSON.parse(o);
271
271
  } catch (e) {
272
- Dt(`JSON parse error: ${e.message}`);
272
+ xt(`JSON parse error: ${e.message}`);
273
273
  }
274
274
  else r = o;
275
275
  break;
276
276
  case h.DTP_POINTER: r = o;
277
277
  }
278
- return void 0 === r && (Dt(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
278
+ return void 0 === r && (xt(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
279
279
  }
280
280
  function U(e, t, n, r) {
281
281
  let o;
282
282
  switch (n.type) {
283
283
  case h.DTP_STRING:
284
284
  if (null == r) o = "";
285
- else if (qt(r)) o = String(r);
285
+ else if (Ht(r)) o = String(r);
286
286
  else {
287
287
  let e = JSON.stringify(r);
288
288
  e && (o = String(e));
289
289
  }
290
290
  break;
291
291
  case h.DTP_BOOLEAN:
292
- o = rn(r);
292
+ o = on(r);
293
293
  break;
294
294
  case h.DTP_INTEGER:
295
- o = parseInt(r), isNaN(o) && Dt(`${Ne(e)}: attr NaN: ${n.name}`);
295
+ o = parseInt(r), isNaN(o) && xt(`${Ne(e)}: attr NaN: ${n.name}`);
296
296
  break;
297
297
  case h.DTP_REAL:
298
- o = Number(r), isNaN(o) && Dt(`${Ne(e)}: attr NaN: ${n.name}`);
298
+ o = Number(r), isNaN(o) && xt(`${Ne(e)}: attr NaN: ${n.name}`);
299
299
  break;
300
300
  case h.DTP_LIST:
301
- if (qt(r)) try {
301
+ if (Ht(r)) try {
302
302
  o = JSON.parse(r);
303
303
  } catch (e) {
304
- Dt(`JSON parse error: ${e.message}`);
304
+ xt(`JSON parse error: ${e.message}`);
305
305
  }
306
306
  else o = r;
307
- if (!Qt(o)) return Dt(`attr must be an array: ${n.name}`), -1;
307
+ if (!Qt(o)) return xt(`attr must be an array: ${n.name}`), -1;
308
308
  break;
309
309
  case h.DTP_DICT:
310
- if (qt(r)) try {
310
+ if (Ht(r)) try {
311
311
  o = JSON.parse(r);
312
312
  } catch (e) {
313
- Dt(`JSON parse error: ${e.message}`);
313
+ xt(`JSON parse error: ${e.message}`);
314
314
  }
315
315
  else o = r;
316
- if (!zt(o)) return Dt(`attr must be an object: ${n.name}`), -1;
316
+ if (!zt(o)) return xt(`attr must be an object: ${n.name}`), -1;
317
317
  break;
318
318
  case h.DTP_JSON:
319
- if (qt(r)) try {
319
+ if (Ht(r)) try {
320
320
  o = JSON.parse(r);
321
321
  } catch (e) {
322
- Dt(`JSON parse error: ${e.message}`);
322
+ xt(`JSON parse error: ${e.message}`);
323
323
  }
324
324
  else o = r;
325
- if (!Qt(o) && !zt(o)) return Dt(`attr must be a json dict/list: ${n.name}`), -1;
325
+ if (!Qt(o) && !zt(o)) return xt(`attr must be a json dict/list: ${n.name}`), -1;
326
326
  break;
327
327
  case h.DTP_POINTER: o = r;
328
328
  }
329
- return void 0 === o && Dt(`${Ne(e)}: attr undefined: ${n.name}`), t[n.name] = o, zt(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;
329
+ return void 0 === o && xt(`${Ne(e)}: attr undefined: ${n.name}`), t[n.name] = o, zt(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;
330
330
  }
331
331
  function C(e) {
332
332
  return e.jn_attrs;
333
333
  }
334
334
  function F(e, t, n) {
335
- return Me(e, t) ? C(e) : e && e.bottom_gobj ? F(e.bottom_gobj, t, n) : (n && Dt(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`), null);
335
+ return Me(e, t) ? C(e) : e && e.bottom_gobj ? F(e.bottom_gobj, t, n) : (n && xt(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`), null);
336
336
  }
337
337
  function G(e, t, n) {
338
- if (!(e && e instanceof j)) return n && Dt("gclass NULL"), null;
338
+ if (!(e && e instanceof S)) return n && xt("gclass NULL"), null;
339
339
  if (!t) return e.attrs_table;
340
340
  for (let n = 0; n < e.attrs_table.length; n++) {
341
341
  const r = e.attrs_table[n];
342
342
  if (r.name && r.name === t) return r;
343
343
  }
344
- return n && Dt(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
344
+ return n && xt(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
345
345
  }
346
346
  function V(e, t, n, r, o, s, i, l, _, a, u) {
347
- if (nn(e)) return Dt("gclass_name EMPTY"), null;
348
- if (e.includes("`") || e.includes("^") || e.includes(".")) return Dt(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
349
- if (H(e)) return Dt(`GClass ALREADY exists: ${e}`), null;
350
- let c = new j(e, r, o, s, i, l, _, a, u);
347
+ if (rn(e)) return xt("gclass_name EMPTY"), null;
348
+ if (e.includes("`") || e.includes("^") || e.includes(".")) return xt(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
349
+ if (H(e)) return xt(`GClass ALREADY exists: ${e}`), null;
350
+ let c = new S(e, r, o, s, i, l, _, a, u);
351
351
  (function(e, t) {
352
- e && e instanceof j ? t ? g[t] ? Dt(`gclass ALREADY REGISTERED: ${t}`) : g[t] = e : Dt("gclass_name undefined") : Dt("gclass undefined");
352
+ e && e instanceof S ? t ? g[t] ? xt(`gclass ALREADY REGISTERED: ${t}`) : g[t] = e : xt("gclass_name undefined") : xt("gclass undefined");
353
353
  })(c, e);
354
354
  const f = n.length;
355
355
  for (let e = 0; e < f; e++) {
356
356
  let t = n[e][0], r = n[e][1];
357
- if (nn(t)) continue;
357
+ if (rn(t)) continue;
358
358
  if (Y(c, t) < 0) return W(c), null;
359
359
  const o = r.length;
360
360
  for (let e = 0; e < o; e++) {
361
361
  let n = r[e][0], o = r[e][1], s = r[e][2];
362
- nn(n) || B(c, t, n, o, s);
362
+ rn(n) || B(c, t, n, o, s);
363
363
  }
364
364
  }
365
365
  for (let e = 0; e < t.length; e++) {
366
366
  let n = t[e][0], r = t[e][1];
367
- if (!nn(n)) {
368
- if (Q(c, n)) return Dt(`SMachine: event repeated in input_events: ${n}`), W(c), null;
369
- z(c, n, r);
367
+ if (!rn(n)) {
368
+ if (z(c, n)) return xt(`SMachine: event repeated in input_events: ${n}`), W(c), null;
369
+ q(c, n, r);
370
370
  }
371
371
  }
372
372
  if (!c.fsm_checked) {
373
- if (q(c) < 0) return W(c), null;
373
+ if (Q(c) < 0) return W(c), null;
374
374
  c.fsm_checked = !0;
375
375
  }
376
376
  return c;
377
377
  }
378
378
  function W(e) {
379
379
  let t;
380
- if (qt(e)) t = e;
380
+ if (Ht(e)) t = e;
381
381
  else {
382
- if (!(e instanceof j)) return Dt("Cannot unregister gclass, type unknown"), -1;
382
+ if (!(e instanceof S)) return xt("Cannot unregister gclass, type unknown"), -1;
383
383
  t = e.gclass_name;
384
384
  }
385
385
  let n = g[t];
386
- return n ? n.instances > 0 ? (Dt(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete g[t], 0) : (Dt(`Cannot unregister gclass, not found: ${t}`), -1);
386
+ return n ? n.instances > 0 ? (xt(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete g[t], 0) : (xt(`Cannot unregister gclass, not found: ${t}`), -1);
387
387
  }
388
388
  function M(e, t) {
389
389
  const n = e.dl_states.length, r = e.dl_states;
@@ -402,22 +402,22 @@ function K(e, t) {
402
402
  return null;
403
403
  }
404
404
  function Y(e, t) {
405
- return e instanceof j ? M(e, t) ? (Dt(`state already exists: ${t}`), -1) : (e.dl_states.push(new k(t)), 0) : (Dt("Cannot add state, typeof not GClass"), -1);
405
+ return e instanceof S ? M(e, t) ? (xt(`state already exists: ${t}`), -1) : (e.dl_states.push(new k(t)), 0) : (xt("Cannot add state, typeof not GClass"), -1);
406
406
  }
407
407
  function B(e, t, n, r, o) {
408
- if (!(e instanceof j)) return Dt("Cannot add state, typeof not GClass"), -1;
409
- if (nn(t)) return Dt("state_name EMPTY"), -1;
408
+ if (!(e instanceof S)) return xt("Cannot add state, typeof not GClass"), -1;
409
+ if (rn(t)) return xt("state_name EMPTY"), -1;
410
410
  let s = M(e, t);
411
- return s ? K(s, n) ? (Dt(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new R(n, r, o)), 0) : (Dt(`state not found: ${t}`), -1);
411
+ return s ? K(s, n) ? (xt(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new R(n, r, o)), 0) : (xt(`state not found: ${t}`), -1);
412
412
  }
413
413
  function J(e, t, n) {
414
- nn(t) || e.push(new $(t, n));
414
+ rn(t) || e.push(new $(t, n));
415
415
  }
416
- function z(e, t, n) {
417
- return e instanceof j ? J(e.dl_events, t, n) : (Dt("Cannot add state, typeof not GClass"), -1);
416
+ function q(e, t, n) {
417
+ return e instanceof S ? J(e.dl_events, t, n) : (xt("Cannot add state, typeof not GClass"), -1);
418
418
  }
419
- function Q(e, t) {
420
- if (!(e instanceof j)) return Dt("Cannot add state, typeof not GClass"), 0;
419
+ function z(e, t) {
420
+ if (!(e instanceof S)) return xt("Cannot add state, typeof not GClass"), 0;
421
421
  const n = e.dl_events.length, r = e.dl_events;
422
422
  for (let e = 0; e < n; e++) {
423
423
  let n = r[e];
@@ -425,26 +425,26 @@ function Q(e, t) {
425
425
  }
426
426
  return null;
427
427
  }
428
- function q(e) {
429
- if (!(e instanceof j)) return Dt("Cannot add state, typeof not GClass"), -1;
428
+ function Q(e) {
429
+ if (!(e instanceof S)) return xt("Cannot add state, typeof not GClass"), -1;
430
430
  let t = 0;
431
- Bt(e.dl_states) || (Dt(`GClass without states: ${e.gclass_name}`), t += -1);
431
+ Jt(e.dl_states) || (xt(`GClass without states: ${e.gclass_name}`), t += -1);
432
432
  for (let n = 0; n < e.dl_states.length; n++) {
433
433
  let r = e.dl_states[n];
434
- if (!nn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
434
+ if (!rn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
435
435
  let o = r.dl_actions[n];
436
- nn(o.event_name) || (Q(e, o.event_name) || (Dt(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (M(e, o.next_state) || (Dt(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
436
+ rn(o.event_name) || (z(e, o.event_name) || (xt(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (M(e, o.next_state) || (xt(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
437
437
  }
438
438
  }
439
439
  for (let n = 0; n < e.dl_events.length; n++) {
440
440
  let r = e.dl_events[n];
441
- if (!nn(r.event_name) && (Ht(r.event_flag) || (Dt(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
441
+ if (!rn(r.event_name) && (Xt(r.event_flag) || (xt(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
442
442
  let n = !1;
443
443
  for (let t = 0; t < e.dl_states.length; t++) {
444
444
  let o = e.dl_states[t];
445
- nn(o.state_name) || K(o, r.event_name) && (n = !0);
445
+ rn(o.state_name) || K(o, r.event_name) && (n = !0);
446
446
  }
447
- n || (Dt(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
447
+ n || (xt(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
448
448
  }
449
449
  }
450
450
  return t;
@@ -454,7 +454,7 @@ function H(e, t) {
454
454
  try {
455
455
  n = g[e];
456
456
  } catch (e) {}
457
- return n || t && Dt(`gclass not found: ${e}`), n;
457
+ return n || t && xt(`gclass not found: ${e}`), n;
458
458
  }
459
459
  function X() {
460
460
  return !b || b.obflag & w.obflag_destroyed ? null : b;
@@ -462,57 +462,57 @@ function X() {
462
462
  function Z(e, t) {
463
463
  e = e.toLowerCase();
464
464
  let n = p[e];
465
- return !n && t ? (Dt(`gobj service not found: ${e}`), null) : n;
465
+ return !n && t ? (xt(`gobj service not found: ${e}`), null) : n;
466
466
  }
467
467
  function ee(e) {
468
- let t = Se(e);
469
- return t = t.toLowerCase(), p[t] && Dt(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), p[t] = e, 0;
468
+ let t = je(e);
469
+ return t = t.toLowerCase(), p[t] && xt(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), p[t] = e, 0;
470
470
  }
471
471
  function te(e, t) {
472
- t.parent && Dt(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
472
+ t.parent && xt(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
473
473
  }
474
474
  function ne(e, t) {
475
- let n = Mn(e.dl_children, t);
476
- n >= 0 && (Kt(e.dl_children, n), t.parent = null);
475
+ let n = Kn(e.dl_children, t);
476
+ n >= 0 && (Yt(e.dl_children, n), t.parent = null);
477
477
  }
478
478
  function re(e, t) {
479
- "__json_config_variables__" !== t && Dt(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`);
479
+ "__json_config_variables__" !== t && xt(`GClass Attribute NOT FOUND: ${Ne(e)}, attr ${t}`);
480
480
  }
481
481
  function oe(e, t, n) {
482
482
  let r = t;
483
483
  (function(e, t, n, r, o) {
484
- if (!e || !t) return Dt("hsdata or kw NULL"), -1;
484
+ if (!e || !t) return xt("hsdata or kw NULL"), -1;
485
485
  let s = 0;
486
486
  for (const [i, l] of Object.entries(t)) {
487
487
  const t = G(o.gclass, i, !1);
488
- t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && xt(`${Ne(o)}: Deprecated attribute used in gobj creation: ${i}`), s += U(o, e, t, l)) : r && (r(o, i), s--);
488
+ t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && Rt(`${Ne(o)}: Deprecated attribute used in gobj creation: ${i}`), s += U(o, e, t, l)) : r && (r(o, i), s--);
489
489
  }
490
490
  return s;
491
- })(C(e), r, -1, e.gclass.gclass_flag & O.gcflag_ignore_unknown_attrs ? 0 : re, e) < 0 && (Dt(`${Ne(e)} json2data() FAILED`), $t(r));
491
+ })(C(e), r, -1, e.gclass.gclass_flag & O.gcflag_ignore_unknown_attrs ? 0 : re, e) < 0 && (xt(`${Ne(e)} json2data() FAILED`), At(r));
492
492
  }
493
493
  function se(e, n, r, o, s) {
494
494
  if (s & N.gobj_flag_yuno) {
495
- if (d) return Dt("__yuno__ already created"), null;
495
+ if (d) return xt("__yuno__ already created"), null;
496
496
  s |= N.gobj_flag_service;
497
497
  } else {
498
- if (!o) return Dt("gobj NEEDS a parent!"), null;
499
- if (!("string" == typeof o || o instanceof S)) return Dt(`BAD TYPE of parent: ${o}`), null;
500
- if (qt(o) && !(o = Z(o))) return xt(`parent service not found: ${o}`), null;
498
+ if (!o) return xt("gobj NEEDS a parent!"), null;
499
+ if (!("string" == typeof o || o instanceof j)) return xt(`BAD TYPE of parent: ${o}`), null;
500
+ if (Ht(o) && !(o = Z(o))) return Rt(`parent service not found: ${o}`), null;
501
501
  }
502
- if (s & N.gobj_flag_service && Z(e, !1)) return Dt(`service ALREADY registered: ${n}^${e}`), null;
502
+ if (s & N.gobj_flag_service && Z(e, !1)) return xt(`service ALREADY registered: ${n}^${e}`), null;
503
503
  if (s & N.gobj_flag_default_service) {
504
- if (b) return Dt(`default service ALREADY registered: ${n}^${e}`), null;
504
+ if (b) return xt(`default service ALREADY registered: ${n}^${e}`), null;
505
505
  s |= N.gobj_flag_service;
506
506
  }
507
- if (nn(n)) return Dt("gclass_name must be a string"), null;
507
+ if (rn(n)) return xt("gclass_name must be a string"), null;
508
508
  let l = H(n, !1);
509
- if (!l) return Dt(`GClass not registered: ${n}^${e}`), null;
510
- if (!qt(e)) return Dt(`gobj_name must be a string: ${n}`), null;
511
- if (!nn(e)) {
512
- if (e.includes("`")) return Dt(`gobj_name cannot contain char ': ${n}^${e}`), null;
513
- if (e.includes("^")) return Dt(`gobj_name cannot contain char ^: ${n}^${e}`), null;
509
+ if (!l) return xt(`GClass not registered: ${n}^${e}`), null;
510
+ if (!Ht(e)) return xt(`gobj_name must be a string: ${n}`), null;
511
+ if (!rn(e)) {
512
+ if (e.includes("`")) return xt(`gobj_name cannot contain char ': ${n}^${e}`), null;
513
+ if (e.includes("^")) return xt(`gobj_name cannot contain char ^: ${n}^${e}`), null;
514
514
  }
515
- let _ = new S(e, l, r, o, s);
515
+ let _ = new j(e, l, r, o, s);
516
516
  _.jn_attrs = L(_, l.attrs_table);
517
517
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
518
518
  let a = d && Be(d, "trace_creation");
@@ -522,15 +522,15 @@ function ie(e, t, n, r) {
522
522
  return se(e, t, n, r, N.gobj_flag_pure_child);
523
523
  }
524
524
  function le(e) {
525
- if (ke(e)) return void Dt("gobj NULL or DESTROYED");
526
- e.__refs__ > 0 && Dt(`${Ne(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= w.obflag_destroying;
525
+ if (ke(e)) return void xt("gobj NULL or DESTROYED");
526
+ e.__refs__ > 0 && xt(`${Ne(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.obflag |= w.obflag_destroying;
527
527
  let n = d && Be(d, "trace_creation");
528
528
  n && I(t("💔💔⏩ destroying: %s", we(e)));
529
529
  let r = De(e);
530
530
  r && r.gclass.gmt.mt_child_removed && (n && I(t("👦👦🔴 child_removed(%s): %s", we(r), Ne(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & N.gobj_flag_service && function(e) {
531
- let t = Se(e);
532
- t = t.toLowerCase(), p[t] ? delete p[t] : Dt(`"service NOT found in register": ${t}`);
533
- }(e), e.playing && (Dt(`Destroying a PLAYING gobj: ${we(e)}`), de(e)), e.running && (Dt(`Destroying a RUNNING gobj: ${we(e)}`), ce(e)), gt(e, e.dl_subscriptions, !0), gt(e, e.dl_subscribings, !0), r && (ne(r, e), xe(e) && ($e(r) !== e || ke(r) || Ae(r, null))), function(e) {
531
+ let t = je(e);
532
+ t = t.toLowerCase(), p[t] ? delete p[t] : xt(`"service NOT found in register": ${t}`);
533
+ }(e), e.playing && (xt(`Destroying a PLAYING gobj: ${we(e)}`), de(e)), e.running && (xt(`Destroying a RUNNING gobj: ${we(e)}`), ce(e)), gt(e, e.dl_subscriptions, !0), gt(e, e.dl_subscribings, !0), r && (ne(r, e), xe(e) && ($e(r) !== e || ke(r) || Ae(r, null))), function(e) {
534
534
  let t = e.dl_children.slice();
535
535
  for (let e = 0; e < t.length; e++) {
536
536
  let n = t[e];
@@ -539,9 +539,9 @@ function le(e) {
539
539
  }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), n && I(t("💔💔⏪ destroyed: %s", we(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
540
540
  }
541
541
  function _e(e) {
542
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), -1;
543
- if (e.running) return Dt(`${Ne(e)}: GObj ALREADY RUNNING`), -1;
544
- if (e.disabled) return Dt(`${Ne(e)}: GObj DISABLED`), -1;
542
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
543
+ if (e.running) return xt(`${Ne(e)}: GObj ALREADY RUNNING`), -1;
544
+ if (e.disabled) return xt(`${Ne(e)}: GObj DISABLED`), -1;
545
545
  d && Be(d, "trace_start_stop") && I(t("⏺ ⏺ start: %s", we(e))), e.running = !0;
546
546
  let n = 0;
547
547
  return e.gclass.gmt.mt_start && (n = e.gclass.gmt.mt_start(e)), n;
@@ -553,9 +553,9 @@ function ue(e, t, n) {
553
553
  return e.gclass.gclass_flag & O.gcflag_manual_start || me(e) ? 1 : (be(e) || _e(e), 0);
554
554
  }
555
555
  function ce(e) {
556
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), -1;
557
- if (!e.running) return Dt(`${Ne(e)}: GObj NOT RUNNING`), -1;
558
- e.playing && (xt(`${Ne(e)}: GObj stopping without previous pause`), de(e)), d && Be(d, "trace_start_stop") && I(t("⏹ ⏹ stop: %s", we(e))), e.running = !1;
556
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
557
+ if (!e.running) return xt(`${Ne(e)}: GObj NOT RUNNING`), -1;
558
+ e.playing && (Rt(`${Ne(e)}: GObj stopping without previous pause`), de(e)), d && Be(d, "trace_start_stop") && I(t("⏹ ⏹ stop: %s", we(e))), e.running = !1;
559
559
  let n = 0;
560
560
  return e.gclass.gmt.mt_stop && (n = e.gclass.gmt.mt_stop(e)), n;
561
561
  }
@@ -563,22 +563,22 @@ function fe(e, t, n) {
563
563
  return be(e) && ce(e), 0;
564
564
  }
565
565
  function ge(e) {
566
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : Le(e, x.WALK_FIRST2LAST, fe, 0, 0);
566
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : Le(e, x.WALK_FIRST2LAST, fe, 0, 0);
567
567
  }
568
568
  function pe(e) {
569
- if (ke(e)) return Dt(`gobj NULL or DESTROYED: ${Ne(e)}`), -1;
570
- if (e.playing) return Dt(`${Ne(e)}: GObj ALREADY PLAYING`), -1;
571
- if (e.disabled) return Dt(`${Ne(e)}: GObj DISABLED`), -1;
569
+ if (ke(e)) return xt(`gobj NULL or DESTROYED: ${Ne(e)}`), -1;
570
+ if (e.playing) return xt(`${Ne(e)}: GObj ALREADY PLAYING`), -1;
571
+ if (e.disabled) return xt(`${Ne(e)}: GObj DISABLED`), -1;
572
572
  if (!be(e)) {
573
- if (e.gclass.gclass_flag & O.gcflag_required_start_to_play) return Dt(`${Ne(e)}: Cannot play, start not done`), -1;
574
- xt(`${Ne(e)}: GObj playing without previous start`), _e(e);
573
+ if (e.gclass.gclass_flag & O.gcflag_required_start_to_play) return xt(`${Ne(e)}: Cannot play, start not done`), -1;
574
+ Rt(`${Ne(e)}: GObj playing without previous start`), _e(e);
575
575
  }
576
576
  d && Be(d, "trace_start_stop") && I(t("⏯ ⏯ play: %s", we(e))), e.playing = !0;
577
577
  let n = 0;
578
578
  return e.gclass.gmt.mt_play && (n = e.gclass.gmt.mt_play(e), n < 0 && (e.playing = !1)), n;
579
579
  }
580
580
  function de(e) {
581
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : e.playing ? (d && Be(d, "trace_start_stop") && I(t("⏸ ⏸ pause: %s", we(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (Dt(`${Ne(e)}: GObj NOT PLAYING`), -1);
581
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : e.playing ? (d && Be(d, "trace_start_stop") && I(t("⏸ ⏸ pause: %s", we(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (xt(`${Ne(e)}: GObj NOT PLAYING`), -1);
582
582
  }
583
583
  function be(e) {
584
584
  return !ke(e) && e.running;
@@ -589,66 +589,66 @@ function me(e) {
589
589
  function he(e) {
590
590
  return !!(e && e.gobj_flag & N.gobj_flag_service);
591
591
  }
592
- function Ee(e) {
592
+ function ye(e) {
593
593
  return !ke(e) && e.playing;
594
594
  }
595
- function ye() {
595
+ function Ee() {
596
596
  return !d || d.obflag & w.obflag_destroyed ? null : d;
597
597
  }
598
598
  function Te() {
599
- let e = ye();
600
- return e ? Se(e) : "";
599
+ let e = Ee();
600
+ return e ? je(e) : "";
601
601
  }
602
602
  function ve() {
603
- let e = ye();
604
- return e ? ze(e, "yuno_role") : "";
603
+ let e = Ee();
604
+ return e ? qe(e, "yuno_role") : "";
605
605
  }
606
- function je() {
607
- let e = ye();
608
- return e ? ze(e, "yuno_id") : "";
606
+ function Se() {
607
+ let e = Ee();
608
+ return e ? qe(e, "yuno_id") : "";
609
609
  }
610
- function Se(e) {
611
- return tn(e) ? e.gobj_name : (Dt("gobj bad type"), null);
610
+ function je(e) {
611
+ return nn(e) ? e.gobj_name : (xt("gobj bad type"), null);
612
612
  }
613
613
  function Oe(e) {
614
- return tn(e) ? e.gclass.gclass_name : (Dt("gobj NULL of bad type"), null);
614
+ return nn(e) ? e.gclass.gclass_name : (xt("gobj NULL of bad type"), null);
615
615
  }
616
616
  function Ne(e) {
617
- return tn(e) ? e.gclass.gclass_name + "^" + Se(e) : (Dt("gobj bad type"), null);
617
+ return nn(e) ? e.gclass.gclass_name + "^" + je(e) : (xt("gobj bad type"), null);
618
618
  }
619
619
  function we(e) {
620
- if (!tn(e)) return Dt("gobj NULL of bad type"), null;
620
+ if (!nn(e)) return xt("gobj NULL of bad type"), null;
621
621
  let t = Ne(e), n = De(e);
622
622
  for (; n;) t = Ne(n) + "`" + t, n = De(n);
623
623
  return t;
624
624
  }
625
625
  function De(e) {
626
- return tn(e) ? e.parent : (Dt("gobj NULL of bad type"), null);
626
+ return nn(e) ? e.parent : (xt("gobj NULL of bad type"), null);
627
627
  }
628
628
  function xe(e) {
629
- return tn(e) ? !!(e.gobj_flag & N.gobj_flag_volatil) : (Dt("gobj NULL of bad type"), null);
629
+ return nn(e) ? !!(e.gobj_flag & N.gobj_flag_volatil) : (xt("gobj NULL of bad type"), null);
630
630
  }
631
631
  function Re(e) {
632
- return tn(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (Dt("gobj NULL of bad type"), null);
632
+ return nn(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (xt("gobj NULL of bad type"), null);
633
633
  }
634
634
  function ke(e) {
635
- return !tn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
635
+ return !nn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
636
636
  }
637
637
  function $e(e) {
638
- return tn(e) ? e.bottom_gobj : (Dt("gobj NULL of bad type"), null);
638
+ return nn(e) ? e.bottom_gobj : (xt("gobj NULL of bad type"), null);
639
639
  }
640
640
  function Ae(e, t) {
641
- if (!tn(e)) return Dt("gobj NULL of bad type"), null;
642
- e.bottom_gobj && xt(`${Ne(e)}: bottom_gobj already set`), e.bottom_gobj = t;
641
+ if (!nn(e)) return xt("gobj NULL of bad type"), null;
642
+ e.bottom_gobj && Rt(`${Ne(e)}: bottom_gobj already set`), e.bottom_gobj = t;
643
643
  }
644
644
  function Ie(e, t, n) {
645
- return tn(e) ? t ? G(e.gclass, t, n) : e.gclass.attrs_table : (Dt("gobj NULL of bad type"), null);
645
+ return nn(e) ? t ? G(e.gclass, t, n) : e.gclass.attrs_table : (xt("gobj NULL of bad type"), null);
646
646
  }
647
647
  function Le(e, t, n, r, o) {
648
- return ke(e) ? (Dt("gobj NULL, destroying, or bad type"), 0) : Ue(e.dl_children, t, n, r, o);
648
+ return ke(e) ? (xt("gobj NULL, destroying, or bad type"), 0) : Ue(e.dl_children, t, n, r, o);
649
649
  }
650
650
  function Pe(e, t, n, r, o) {
651
- return ke(e) ? (Dt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, o);
651
+ return ke(e) ? (xt("gobj NULL, destroying, or bad type"), 0) : Fe(e.dl_children, t, n, r, o);
652
652
  }
653
653
  function Ue(e, t, n, r, o) {
654
654
  let s, i = [...e];
@@ -686,15 +686,15 @@ function Fe(e, t, n, r, o) {
686
686
  return 0;
687
687
  }
688
688
  function Ge(e, t) {
689
- if (!tn(e)) return Dt("gobj NULL of bad type"), !1;
689
+ if (!nn(e)) return xt("gobj NULL of bad type"), !1;
690
690
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
691
691
  t.__disabled__;
692
692
  let s = t.__state__;
693
693
  if (n && n !== Oe(e)) return !1;
694
- if (r && r !== Se(e)) return !1;
694
+ if (r && r !== je(e)) return !1;
695
695
  if (o) {
696
696
  let t = o.length;
697
- if (o !== Se(e).substring(0, t)) return !1;
697
+ if (o !== je(e).substring(0, t)) return !1;
698
698
  }
699
699
  if (s && s !== tt(e)) return !1;
700
700
  let i = e.jn_attrs;
@@ -702,7 +702,7 @@ function Ge(e, t) {
702
702
  return !0;
703
703
  }
704
704
  function Ve(e, t) {
705
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), null;
705
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), null;
706
706
  const n = e.dl_children;
707
707
  for (let e = 0; e < n.length; e++) {
708
708
  const r = n[e];
@@ -721,7 +721,7 @@ function We(e, t) {
721
721
  if (1 !== n.length) return !1;
722
722
  r = n[0];
723
723
  }
724
- return r === Se(e);
724
+ return r === je(e);
725
725
  }(e, n[0])) return null;
726
726
  if (1 === n.length) return e;
727
727
  let r = n[1].split("^"), o = {};
@@ -730,7 +730,7 @@ function We(e, t) {
730
730
  return s ? (n.splice(0, 1), n = n.join("`"), We(s, n)) : null;
731
731
  }
732
732
  function Me(e, t) {
733
- return !nn(t) && !!G(e.gclass, t, !1);
733
+ return !rn(t) && !!G(e.gclass, t, !1);
734
734
  }
735
735
  function Ke(e, t, n) {
736
736
  let r = e.jn_attrs;
@@ -738,7 +738,7 @@ function Ke(e, t, n) {
738
738
  let n = r[t];
739
739
  return e.gclass.gmt.mt_reading ? e.gclass.gmt.mt_reading(e, t, n) : n;
740
740
  }
741
- return Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
741
+ return xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
742
742
  }
743
743
  function Ye(e, t, n) {
744
744
  let r = {}, o = e.gclass.attrs_table;
@@ -746,36 +746,36 @@ function Ye(e, t, n) {
746
746
  const s = o[n];
747
747
  if (s.name && (-1 === t || s.flag & t)) {
748
748
  let t;
749
- !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = Ct(e.jn_attrs, s.name) : (t = e.gclass.gmt.mt_reading(e, s.name), void 0 === t && (t = Ct(e.jn_attrs, s.name))), Gt(r, s.name, t);
749
+ !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = Ft(e.jn_attrs, s.name) : (t = e.gclass.gmt.mt_reading(e, s.name), void 0 === t && (t = Ft(e.jn_attrs, s.name))), Vt(r, s.name, t);
750
750
  }
751
751
  }
752
752
  return r;
753
753
  }
754
754
  function Be(e, t) {
755
755
  if (t) {
756
- if (0 === sn(t, "__disabled__")) return me(e);
757
- if (0 === sn(t, "__running__")) return be(e);
758
- if (0 === sn(t, "__playing__")) return Ee(e);
759
- if (0 === sn(t, "__service__")) return he(e);
756
+ if (0 === ln(t, "__disabled__")) return me(e);
757
+ if (0 === ln(t, "__running__")) return be(e);
758
+ if (0 === ln(t, "__playing__")) return ye(e);
759
+ if (0 === ln(t, "__service__")) return he(e);
760
760
  }
761
761
  let n = F(e, t, !1);
762
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ct(n, t) : e.gclass.gmt.mt_reading(e, t) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
762
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ft(n, t) : e.gclass.gmt.mt_reading(e, t) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
763
763
  }
764
764
  function Je(e, t) {
765
- t && sn(t, "__trace_level__");
765
+ t && ln(t, "__trace_level__");
766
766
  let n = F(e, t, !1);
767
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ct(n, t) : e.gclass.gmt.mt_reading(e, t) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
767
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ft(n, t) : e.gclass.gmt.mt_reading(e, t) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
768
768
  }
769
- function ze(e, t) {
770
- if (t && 0 === sn(t, "__state__")) return tt(e);
769
+ function qe(e, t) {
770
+ if (t && 0 === ln(t, "__state__")) return tt(e);
771
771
  let n = F(e, t, !1);
772
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ct(n, t) : e.gclass.gmt.mt_reading(e, t) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
772
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ft(n, t) : e.gclass.gmt.mt_reading(e, t) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
773
773
  }
774
- function Qe(e, t) {
774
+ function ze(e, t) {
775
775
  let n = F(e, t, !1);
776
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ct(n, t) : e.gclass.gmt.mt_reading(e, t) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
776
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? Ft(n, t) : e.gclass.gmt.mt_reading(e, t) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
777
777
  }
778
- function qe(e, t, n, r) {
778
+ function Qe(e, t, n, r) {
779
779
  let o = C(e), s = 0;
780
780
  for (const [r, i] of Object.entries(t)) {
781
781
  let t = Ie(e, r, !0);
@@ -785,28 +785,28 @@ function qe(e, t, n, r) {
785
785
  }
786
786
  function He(e, t, n) {
787
787
  let r = F(e, t, !1);
788
- return r ? (r[t] = rn(n), zt(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) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
788
+ return r ? (r[t] = on(n), zt(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) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
789
789
  }
790
790
  function Xe(e, t, n) {
791
791
  let r = F(e, t, !1);
792
- return r ? (r[t] = parseInt(n), zt(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) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
792
+ return r ? (r[t] = parseInt(n), zt(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) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
793
793
  }
794
794
  function Ze(e, t, n) {
795
795
  let r = F(e, t, !1);
796
- return r ? (r[t] = String(n), zt(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) : (Dt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
796
+ return r ? (r[t] = String(n), zt(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) : (xt(`${Ne(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
797
797
  }
798
798
  function et(e, t) {
799
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), null;
799
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), null;
800
800
  if (e.current_state.state_name === t) return !1;
801
801
  let n = M(e.gclass, t);
802
- return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (Dt(`${Ne(e)}: state unknown, state ${t}`), !1);
802
+ return n ? (e.last_state = e.current_state, e.current_state = n, !0) : (xt(`${Ne(e)}: state unknown, state ${t}`), !1);
803
803
  }
804
804
  function tt(e) {
805
- return tn(e) ? e.current_state.state_name : (Dt("hgobj NULL"), "");
805
+ return nn(e) ? e.current_state.state_name : (xt("hgobj NULL"), "");
806
806
  }
807
807
  function nt(e, t, n) {
808
- if (!tn(e)) return Dt("gobj NULL of bad type"), null;
809
- let r = Q(e.gclass, t);
808
+ if (!nn(e)) return xt("gobj NULL of bad type"), null;
809
+ let r = z(e.gclass, t);
810
810
  if (r) return r;
811
811
  if (n) {
812
812
  const e = f.length, n = f;
@@ -826,28 +826,28 @@ function ot(e, t, n) {
826
826
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
827
827
  }
828
828
  function st(e, n, r, o) {
829
- if (!(e && e instanceof S)) return Dt("gobj dst NULL"), -1;
830
- if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Dt("gobj dst DESTROYED"), -1;
829
+ if (!(e && e instanceof j)) return xt("gobj dst NULL"), -1;
830
+ if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return xt("gobj dst DESTROYED"), -1;
831
831
  let s = e.current_state;
832
- if (!s) return Dt(`${Ne(e)}: current_state NULL`), -1;
832
+ if (!s) return xt(`${Ne(e)}: current_state NULL`), -1;
833
833
  let i = 0;
834
834
  i = d && Je(d, "tracing"), "C_TIMER" === Oe(o) && (i = d && Je(d, "trace_timer")), m++;
835
835
  let l = K(s, n);
836
- if (!l) return e.gclass.gmt.mt_inject_event ? (m--, i && (I(t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ne(e), s.state_name, n || "", o && !o.running ? "!!" : "", Ne(o))), r && i > 1 && Yt(r) && $t(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (i && I(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), Se(e), s.state_name, n || "", o && !o.running ? "!!" : "", Oe(o), Se(o))), Dt(`📛📛 Event NOT DEFINED in state 📛📛: ${Ne(e)}, ${s.state_name}, ${n}`), m--, -1);
836
+ if (!l) return e.gclass.gmt.mt_inject_event ? (m--, i && (I(t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ne(e), s.state_name, n || "", o && !o.running ? "!!" : "", Ne(o))), r && i > 1 && Bt(r) && At(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (i && I(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), je(e), s.state_name, n || "", o && !o.running ? "!!" : "", Oe(o), je(o))), xt(`📛📛 Event NOT DEFINED in state 📛📛: ${Ne(e)}, ${s.state_name}, ${n}`), m--, -1);
837
837
  if (i) {
838
838
  if (1 === A) I(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", Ne(e), s.state_name, o && !o.running ? "!!" : "", Ne(o)));
839
839
  else {
840
840
  let r = "";
841
- l.action && (r = Yn(l.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), Se(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Oe(o), Se(o)));
841
+ l.action && (r = Bn(l.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Oe(e), je(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Oe(o), je(o)));
842
842
  }
843
- r && i > 1 && Yt(r) && $t(r);
843
+ r && i > 1 && Bt(r) && At(r);
844
844
  }
845
845
  l.next_state && et(e, l.next_state);
846
846
  let _ = -1;
847
847
  try {
848
848
  l.action && (_ = l.action(e, n, r, o));
849
849
  } finally {}
850
- return !i || 1 === A || e.obflag & w.obflag_destroyed || I(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Oe(e), Se(e), e.current_state.state_name, n || "", Ht(_) ? _ : 0)), m--, _;
850
+ return !i || 1 === A || e.obflag & w.obflag_destroyed || I(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Oe(e), je(e), e.current_state.state_name, n || "", Xt(_) ? _ : 0)), m--, _;
851
851
  }
852
852
  var it = Object.freeze({
853
853
  __hard_subscription__: 1,
@@ -866,22 +866,22 @@ var it = Object.freeze({
866
866
  T()
867
867
  ];
868
868
  function _t(e, t, n, r, o) {
869
- let s = bn(t, r, "__config__", null), i = bn(t, r, "__global__", null), l = bn(t, r, "__local__", null), _ = mn(t, r, "__filter__", null), a = !0;
870
- if (t && t !== dn(null, e, "publisher", null) && (a = !1), o && o !== dn(null, e, "subscriber", null) && (a = !1), n && n !== pn(null, e, "event", "") && (a = !1), Jt(s) > 0) {
871
- let t = bn(null, e, "__config__", null);
872
- Jt(t) > 0 && It(t, s) || (a = !1);
869
+ let s = mn(t, r, "__config__", null), i = mn(t, r, "__global__", null), l = mn(t, r, "__local__", null), _ = hn(t, r, "__filter__", null), a = !0;
870
+ if (t && t !== bn(null, e, "publisher", null) && (a = !1), o && o !== bn(null, e, "subscriber", null) && (a = !1), n && n !== dn(null, e, "event", "") && (a = !1), qt(s) > 0) {
871
+ let t = mn(null, e, "__config__", null);
872
+ qt(t) > 0 && Lt(t, s) || (a = !1);
873
873
  }
874
- if (Jt(i) > 0) {
875
- let t = bn(null, e, "__global__", null);
876
- Jt(t) > 0 && It(t, i) || (a = !1);
874
+ if (qt(i) > 0) {
875
+ let t = mn(null, e, "__global__", null);
876
+ qt(t) > 0 && Lt(t, i) || (a = !1);
877
877
  }
878
- if (Jt(l) > 0) {
879
- let t = bn(null, e, "__local__", null);
880
- Jt(t) > 0 && It(t, l) || (a = !1);
878
+ if (qt(l) > 0) {
879
+ let t = mn(null, e, "__local__", null);
880
+ qt(t) > 0 && Lt(t, l) || (a = !1);
881
881
  }
882
- if (Jt(_) > 0) {
883
- let t = mn(null, e, "__filter__", null);
884
- Jt(t) > 0 && It(t, _) || (a = !1);
882
+ if (qt(_) > 0) {
883
+ let t = hn(null, e, "__filter__", null);
884
+ qt(t) > 0 && Lt(t, _) || (a = !1);
885
885
  }
886
886
  return a;
887
887
  }
@@ -889,7 +889,7 @@ function at(e, t, n, r, o) {
889
889
  let s = [];
890
890
  for (let i = 0; i < e.length; i++) {
891
891
  let l = e[i];
892
- _t(l, t, n, r, o) && Wt(s, l);
892
+ _t(l, t, n, r, o) && Mt(s, l);
893
893
  }
894
894
  return s;
895
895
  }
@@ -898,15 +898,15 @@ function ut(e, t, n, r, o) {
898
898
  return -1;
899
899
  }
900
900
  function ct(e, n, r, o) {
901
- let s = dn(e, n, "publisher", null, mt.KW_REQUIRED), i = dn(e, n, "subscriber", null, mt.KW_REQUIRED), l = pn(e, n, "event", "", mt.KW_REQUIRED);
902
- if (!!(gn(e, n, "subs_flag", null, mt.KW_REQUIRED) & it.__hard_subscription__) && !r) return -1;
903
- d && Be(d, "trace_subscriptions") && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Ne(s), Ne(i))), $t(n)), s.obflag & w.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
901
+ let s = bn(e, n, "publisher", null, mt.KW_REQUIRED), i = bn(e, n, "subscriber", null, mt.KW_REQUIRED), l = dn(e, n, "event", "", mt.KW_REQUIRED);
902
+ if (!!(pn(e, n, "subs_flag", null, mt.KW_REQUIRED) & it.__hard_subscription__) && !r) return -1;
903
+ d && Be(d, "trace_subscriptions") && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Ne(s), Ne(i))), At(n)), s.obflag & w.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
904
904
  let _ = ut(s.dl_subscriptions, s, l, n, i);
905
- return _ >= 0 ? Kt(s.dl_subscriptions, _) : (Dt(`${Ne(e)}: subscription in publisher not found`), $t(n)), _ = ut(i.dl_subscribings, s, l, n, i), _ >= 0 ? Kt(i.dl_subscribings, _) : (Dt(`${Ne(e)}: subscription in subscriber not found`), $t(n)), 0;
905
+ return _ >= 0 ? Yt(s.dl_subscriptions, _) : (xt(`${Ne(e)}: subscription in publisher not found`), At(n)), _ = ut(i.dl_subscribings, s, l, n, i), _ >= 0 ? Yt(i.dl_subscribings, _) : (xt(`${Ne(e)}: subscription in subscriber not found`), At(n)), 0;
906
906
  }
907
907
  function ft(e, n, r, o) {
908
- if (null == r && (r = {}), !e) return Dt(`publisher NULL: ev ${n}`), 0;
909
- if (!o) return Dt(`subscriber NULL: ev ${n}`), 0;
908
+ if (null == r && (r = {}), !e) return xt(`publisher NULL: ev ${n}`), 0;
909
+ if (!o) return xt(`subscriber NULL: ev ${n}`), 0;
910
910
  const s = new Set([
911
911
  "__config__",
912
912
  "__global__",
@@ -915,33 +915,33 @@ function ft(e, n, r, o) {
915
915
  "__service__"
916
916
  ]);
917
917
  if (Object.keys(r).forEach((t) => {
918
- s.has(t) || Dt(`${Ne(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
919
- }), nn(n)) n = "";
920
- else if (!(ot(e, n, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return Dt(`event NOT in output event list: ${Ne(e)}, ${n}`), 0;
918
+ s.has(t) || xt(`${Ne(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
919
+ }), rn(n)) n = "";
920
+ else if (!(ot(e, n, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return xt(`event NOT in output event list: ${Ne(e)}, ${n}`), 0;
921
921
  let i = at(e.dl_subscriptions, e, n, r, o);
922
- Bt(i) > 0 && (Dt(`${Ne(e)}: ${Bt(i)} subscription(s) REPEATED, will be deleted and override`), $t(i, "subscription REPEATED"), gt(e, i, !1));
922
+ Jt(i) > 0 && (xt(`${Ne(e)}: ${Jt(i)} subscription(s) REPEATED, will be deleted and override`), At(i, "subscription REPEATED"), gt(e, i, !1));
923
923
  let l = function(e, t, n, r) {
924
924
  let o = L(e, lt);
925
- Vt(o, "event", t), Vt(o, "subscriber", r), Vt(o, "publisher", e);
925
+ Wt(o, "event", t), Wt(o, "subscriber", r), Wt(o, "publisher", e);
926
926
  let s = 0;
927
927
  if (n) {
928
- let t = bn(e, n, "__config__", null), r = bn(e, n, "__global__", null), i = bn(e, n, "__local__", null), l = mn(e, n, "__filter__", null), _ = pn(e, n, "__service__", "");
929
- if (Jt(r) > 0 && Vt(o, "__global__", At(r)), Jt(t) > 0) {
930
- let n = At(t);
931
- if (Vt(o, "__config__", n), an(n, "__hard_subscription__")) {
932
- let t = fn(e, n, "__hard_subscription__", !1);
933
- Ft(n, "__hard_subscription__"), t && (s |= it.__hard_subscription__);
928
+ let t = mn(e, n, "__config__", null), r = mn(e, n, "__global__", null), i = mn(e, n, "__local__", null), l = hn(e, n, "__filter__", null), _ = dn(e, n, "__service__", "");
929
+ if (qt(r) > 0 && Wt(o, "__global__", It(r)), qt(t) > 0) {
930
+ let n = It(t);
931
+ if (Wt(o, "__config__", n), un(n, "__hard_subscription__")) {
932
+ let t = gn(e, n, "__hard_subscription__", !1);
933
+ Gt(n, "__hard_subscription__"), t && (s |= it.__hard_subscription__);
934
934
  }
935
- if (an(n, "__own_event__")) {
936
- let t = fn(e, n, "__own_event__", !1);
937
- Ft(n, "__own_event__"), t && (s |= it.__own_event__);
935
+ if (un(n, "__own_event__")) {
936
+ let t = gn(e, n, "__own_event__", !1);
937
+ Gt(n, "__own_event__"), t && (s |= it.__own_event__);
938
938
  }
939
939
  }
940
- Jt(i) > 0 && Vt(o, "__local__", At(i)), Jt(l) > 0 && Vt(o, "__filter__", At(l)), nn(_) || Vt(o, "__service__", _);
940
+ qt(i) > 0 && Wt(o, "__local__", It(i)), qt(l) > 0 && Wt(o, "__filter__", It(l)), rn(_) || Wt(o, "__service__", _);
941
941
  }
942
- return Vt(o, "subs_flag", s), o;
942
+ return Wt(o, "subs_flag", s), o;
943
943
  }(e, n, r, o);
944
- return l ? (Wt(e.dl_subscriptions, l), Wt(o.dl_subscribings, l), d && Be(d, "trace_subscriptions") && (I(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Ne(e), Ne(o))), r && $t(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, l) < 0 && (ct(e, l, !0, !0), l = 0), l) : (Dt(`${Ne(e)}: _create_subscription() FAILED`), 0);
944
+ return l ? (Mt(e.dl_subscriptions, l), Mt(o.dl_subscribings, l), d && Be(d, "trace_subscriptions") && (I(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Ne(e), Ne(o))), r && At(r)), e.gclass.gmt.mt_subscription_added && e.gclass.gmt.mt_subscription_added(e, l) < 0 && (ct(e, l, !0, !0), l = 0), l) : (xt(`${Ne(e)}: _create_subscription() FAILED`), 0);
945
945
  }
946
946
  function gt(e, t, n) {
947
947
  let r = [...t];
@@ -955,12 +955,12 @@ function dt(e, t, n, r) {
955
955
  return at(e.dl_subscribings, r, t, n, e);
956
956
  }
957
957
  function bt(e, n, r) {
958
- if (zt(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Dt("gobj NULL or DESTROYED"), -1;
959
- if (nn(n)) return Dt(`${Ne(e)}: event EMPTY`), -1;
958
+ if (zt(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return xt("gobj NULL or DESTROYED"), -1;
959
+ if (rn(n)) return xt(`${Ne(e)}: event EMPTY`), -1;
960
960
  let o = nt(e, n, !0);
961
- if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return Dt(`event NOT in output event list: ${Ne(e)}, ev ${n}`), -1;
961
+ if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return xt(`event NOT in output event list: ${Ne(e)}, ev ${n}`), -1;
962
962
  let s = d && Be(d, "trace_subscriptions");
963
- if (s && (I(t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Oe(e), Se(e), e.current_state.state_name, "", n || "", "")), $t(r)), e.gclass.gmt.mt_publish_event) {
963
+ if (s && (I(t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Oe(e), je(e), e.current_state.state_name, "", n || "", "")), At(r)), e.gclass.gmt.mt_publish_event) {
964
964
  let t = e.gclass.gmt.mt_publish_event(e, n, r);
965
965
  if (t <= 0) return t;
966
966
  }
@@ -972,17 +972,17 @@ function bt(e, n, r) {
972
972
  if (t < 0) break;
973
973
  if (0 === t) continue;
974
974
  }
975
- let u = dn(e, a, "subscriber", null, mt.KW_REQUIRED);
975
+ let u = bn(e, a, "subscriber", null, mt.KW_REQUIRED);
976
976
  if (!u || ke(u)) continue;
977
- let c = gn(e, a, "subs_flag", 0, mt.KW_REQUIRED), f = pn(e, a, "event", "", mt.KW_REQUIRED);
978
- if (nn(f) || 0 === sn(f, n)) {
979
- bn(e, a, "__config__", null, 0);
980
- let o = bn(e, a, "__global__", null, 0), i = bn(e, a, "__local__", null, 0), f = mn(e, a, "__filter__", null, 0), g = r, p = 1;
981
- if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, g, u) : Jt(f) > 0 && (p = Tn(g, f), s && (I(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Ne(u), Ne(e))), $t(f))), p < 0) break;
977
+ let c = pn(e, a, "subs_flag", 0, mt.KW_REQUIRED), f = dn(e, a, "event", "", mt.KW_REQUIRED);
978
+ if (rn(f) || 0 === ln(f, n)) {
979
+ mn(e, a, "__config__", null, 0);
980
+ let o = mn(e, a, "__global__", null, 0), i = mn(e, a, "__local__", null, 0), f = hn(e, a, "__filter__", null, 0), g = r, p = 1;
981
+ if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, g, u) : qt(f) > 0 && (p = vn(g, f), s && (I(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Ne(u), Ne(e))), At(f))), p < 0) break;
982
982
  if (0 === p) continue;
983
983
  let d = nt(u, n, !0);
984
984
  if (d && d.event_flag & D.EVF_SYSTEM_EVENT && !rt(u, d.event_name, 0)) continue;
985
- i && _n(g, i), o && Lt(g, o), s && (I(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ne(u), tt(u), n || "", e && !e.running ? "!!" : "", Ne(e))), $t(g));
985
+ i && an(g, i), o && Pt(g, o), s && (I(t("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ne(u), tt(u), n || "", e && !e.running ? "!!" : "", Ne(e))), At(g));
986
986
  let b = st(u, n, g, e);
987
987
  if (b < 0 && c & it.__own_event__) {
988
988
  l = -1;
@@ -991,7 +991,7 @@ function bt(e, n, r) {
991
991
  if (_ += b, l++, ke(e)) break;
992
992
  }
993
993
  }
994
- return l || o && o.event_flag & D.EVF_NO_WARN_SUBS || xt(`${Ne(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
994
+ return l || o && o.event_flag & D.EVF_NO_WARN_SUBS || Rt(`${Ne(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
995
995
  }
996
996
  var mt = Object.freeze({
997
997
  KW_REQUIRED: 1,
@@ -1011,22 +1011,23 @@ var mt = Object.freeze({
1011
1011
  JSON_TRUE: 6,
1012
1012
  JSON_FALSE: 7,
1013
1013
  JSON_NULL: 8
1014
- }), "undefined" != typeof window ? window.console : console), Et = ht.error, yt = ht.warn, Tt = ht.info, vt = ht.debug, jt = null;
1015
- var St = !1;
1016
- function Ot(e, t, n) {
1017
- if (jt && !St) {
1018
- St = !0;
1014
+ }), "undefined" != typeof window ? window.console : console), yt = ht.error, Et = ht.warn, Tt = ht.info, vt = ht.debug, St = null;
1015
+ var jt = !0;
1016
+ var Ot = !1;
1017
+ function Nt(e, t, n) {
1018
+ if (St && !Ot) {
1019
+ Ot = !0;
1019
1020
  try {
1020
- jt(e, t, n);
1021
+ St(e, t, n);
1021
1022
  } catch (e) {} finally {
1022
- St = !1;
1023
+ Ot = !1;
1023
1024
  }
1024
1025
  }
1025
1026
  }
1026
- function Nt(e) {
1027
- e ? (Et = e, yt = e) : (Et = ht.error, yt = ht.warn);
1028
- }
1029
1027
  function wt(e) {
1028
+ e ? (yt = e, Et = e) : (yt = ht.error, Et = ht.warn);
1029
+ }
1030
+ function Dt(e) {
1030
1031
  const t = Array.prototype.slice.call(arguments);
1031
1032
  let n = "";
1032
1033
  if ("string" == typeof e) {
@@ -1048,36 +1049,36 @@ function wt(e) {
1048
1049
  } else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
1049
1050
  return n;
1050
1051
  }
1051
- function Dt(e) {
1052
- let t = wt(e), n = Wn();
1053
- Et && (Et === window.console.error ? Et("%c" + n + " ERROR: " + String(t), "color:red") : (window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), Et(`${n} ERROR: ${String(t)}`))), Ot("error", t, n);
1054
- }
1055
1052
  function xt(e) {
1056
- let t = wt(e), n = Wn();
1057
- yt && (yt === window.console.warn ? yt("%c" + n + " WARNING: " + String(t), "color:yellow") : (window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), yt(`${n} WARNING: ${String(t)}`))), Ot("warning", t, n);
1053
+ let t = Dt(e), n = Mn();
1054
+ yt && (yt === window.console.error ? jt && yt("%c" + n + " ERROR: " + String(t), "color:red") : (jt && window.console.error("%c" + n + " ERROR: " + String(t), "color:red"), yt(`${n} ERROR: ${String(t)}`))), Nt("error", t, n);
1058
1055
  }
1059
1056
  function Rt(e) {
1060
- let t = wt(e), n = Wn();
1061
- vt && vt("%c" + n + " DEBUG: " + String(t), "color:silver"), Ot("debug", t, n);
1057
+ let t = Dt(e), n = Mn();
1058
+ Et && (Et === window.console.warn ? jt && Et("%c" + n + " WARNING: " + String(t), "color:yellow") : (jt && window.console.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Et(`${n} WARNING: ${String(t)}`))), Nt("warning", t, n);
1062
1059
  }
1063
1060
  function kt(e) {
1064
- let t = wt(e), n = Wn();
1065
- vt && vt("%c" + n + " MSG: " + String(t), "color:cyan"), Ot("msg", t, n);
1061
+ let t = Dt(e), n = Mn();
1062
+ vt && jt && vt("%c" + n + " DEBUG: " + String(t), "color:silver"), Nt("debug", t, n);
1066
1063
  }
1067
- function $t(e, t) {
1068
- t && window.console.warn("=====> " + t), window.console.dir(e), Ot("json", e, Wn());
1064
+ function $t(e) {
1065
+ let t = Dt(e), n = Mn();
1066
+ vt && jt && vt("%c" + n + " MSG: " + String(t), "color:cyan"), Nt("msg", t, n);
1069
1067
  }
1070
- function At(e) {
1068
+ function At(e, t) {
1069
+ jt && (t && window.console.warn("=====> " + t), window.console.dir(e)), Nt("json", e, Mn());
1070
+ }
1071
+ function It(e) {
1071
1072
  return structuredClone(e);
1072
1073
  }
1073
- function It(e, t) {
1074
+ function Lt(e, t) {
1074
1075
  if (e === t) return !0;
1075
1076
  if (null === e || null === t) return e === t;
1076
1077
  if (typeof e != typeof t) return !1;
1077
1078
  if (Array.isArray(e) !== Array.isArray(t)) return !1;
1078
1079
  if (Array.isArray(e)) {
1079
1080
  if (e.length !== t.length) return !1;
1080
- for (let n = 0; n < e.length; n++) if (!It(e[n], t[n])) return !1;
1081
+ for (let n = 0; n < e.length; n++) if (!Lt(e[n], t[n])) return !1;
1081
1082
  return !0;
1082
1083
  }
1083
1084
  if ("object" == typeof e) {
@@ -1085,56 +1086,56 @@ function It(e, t) {
1085
1086
  if (n.length !== r.length) return !1;
1086
1087
  for (let o = 0; o < n.length; o++) {
1087
1088
  if (n[o] !== r[o]) return !1;
1088
- if (!It(e[n[o]], t[r[o]])) return !1;
1089
+ if (!Lt(e[n[o]], t[r[o]])) return !1;
1089
1090
  }
1090
1091
  return !0;
1091
1092
  }
1092
1093
  return e === t;
1093
1094
  }
1094
- function Lt(e, t) {
1095
+ function Pt(e, t) {
1095
1096
  if (!t) return e;
1096
1097
  for (let n of Object.keys(t)) e[n] = t[n];
1097
1098
  return e;
1098
1099
  }
1099
- function Pt(e, t) {
1100
+ function Ut(e, t) {
1100
1101
  if (!t) return e;
1101
1102
  for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1102
1103
  return e;
1103
1104
  }
1104
- function Ut(e, t) {
1105
+ function Ct(e, t) {
1105
1106
  if (!t) return e;
1106
1107
  for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1107
1108
  return e;
1108
1109
  }
1109
- function Ct(e, t) {
1110
+ function Ft(e, t) {
1110
1111
  if (e && e.hasOwnProperty(t)) return e[t];
1111
1112
  }
1112
- function Ft(e, t) {
1113
+ function Gt(e, t) {
1113
1114
  e && e.hasOwnProperty(t) && delete e[t];
1114
1115
  }
1115
- function Gt(e, t, n) {
1116
- e[t] = n;
1117
- }
1118
1116
  function Vt(e, t, n) {
1119
1117
  e[t] = n;
1120
1118
  }
1121
- function Wt(e, t) {
1122
- e.push(t);
1119
+ function Wt(e, t, n) {
1120
+ e[t] = n;
1123
1121
  }
1124
1122
  function Mt(e, t) {
1125
1123
  e.push(t);
1126
1124
  }
1127
1125
  function Kt(e, t) {
1126
+ e.push(t);
1127
+ }
1128
+ function Yt(e, t) {
1128
1129
  e.splice(t, 1);
1129
1130
  }
1130
- function Yt(e) {
1131
+ function Bt(e) {
1131
1132
  return zt(e) ? Object.keys(e).length : 0;
1132
1133
  }
1133
- function Bt(e) {
1134
+ function Jt(e) {
1134
1135
  return Qt(e) ? e.length : 0;
1135
1136
  }
1136
- function Jt(e) {
1137
- return zt(e) ? Object.keys(e).length : Qt(e) ? e.length : qt(e) && e.length > 0 ? 1 : 0;
1137
+ function qt(e) {
1138
+ return zt(e) ? Object.keys(e).length : Qt(e) ? e.length : Ht(e) && e.length > 0 ? 1 : 0;
1138
1139
  }
1139
1140
  function zt(e) {
1140
1141
  return null !== e && "object" == typeof e && !Array.isArray(e);
@@ -1142,154 +1143,154 @@ function zt(e) {
1142
1143
  function Qt(e) {
1143
1144
  return Array.isArray(e);
1144
1145
  }
1145
- function qt(e) {
1146
- return "string" == typeof e;
1147
- }
1148
1146
  function Ht(e) {
1149
- return "number" == typeof e && Number.isFinite(e);
1147
+ return "string" == typeof e;
1150
1148
  }
1151
1149
  function Xt(e) {
1152
- return "boolean" == typeof e;
1150
+ return "number" == typeof e && Number.isFinite(e);
1153
1151
  }
1154
1152
  function Zt(e) {
1155
- return null == e;
1153
+ return "boolean" == typeof e;
1156
1154
  }
1157
1155
  function en(e) {
1158
- return "function" == typeof e;
1156
+ return null == e;
1159
1157
  }
1160
1158
  function tn(e) {
1161
- return e instanceof S;
1159
+ return "function" == typeof e;
1162
1160
  }
1163
1161
  function nn(e) {
1164
- return !qt(e) || 0 === e.length;
1162
+ return e instanceof j;
1165
1163
  }
1166
1164
  function rn(e) {
1167
- return Ht(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1165
+ return !Ht(e) || 0 === e.length;
1168
1166
  }
1169
- function on(e, t) {
1170
- return e === t ? 0 : e > t ? 1 : -1;
1167
+ function on(e) {
1168
+ return Xt(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1171
1169
  }
1172
1170
  function sn(e, t) {
1171
+ return e === t ? 0 : e > t ? 1 : -1;
1172
+ }
1173
+ function ln(e, t) {
1173
1174
  let n = e.toLowerCase(), r = t.toLowerCase();
1174
1175
  return n === r ? 0 : n > r ? 1 : -1;
1175
1176
  }
1176
- function ln(e, t) {
1177
+ function _n(e, t) {
1177
1178
  if (zt(e) || zt(t) || Qt(e) || Qt(t)) return 0;
1178
- if (Ht(e) || Ht(t)) {
1179
+ if (Xt(e) || Xt(t)) {
1179
1180
  let n = Number(e), r = Number(t);
1180
1181
  return n > r ? 1 : n < r ? -1 : 0;
1181
1182
  }
1182
- if (Xt(e) || Xt(t)) {
1183
+ if (Zt(e) || Zt(t)) {
1183
1184
  let n = Number(e), r = Number(t);
1184
1185
  return n > r ? 1 : n < r ? -1 : 0;
1185
1186
  }
1186
- return on(String(e), String(t));
1187
+ return sn(String(e), String(t));
1187
1188
  }
1188
- function _n(e, t) {
1189
- if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) _n(e, n);
1189
+ function an(e, t) {
1190
+ if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) an(e, n);
1190
1191
  else "string" == typeof t && delete e[t];
1191
1192
  else for (const n of Object.keys(t)) delete e[n];
1192
1193
  }
1193
- function an(e, t) {
1194
+ function un(e, t) {
1194
1195
  return !(!(t in e) || !e.hasOwnProperty(t));
1195
1196
  }
1196
- function un(e, t, n, r) {
1197
- if (e && !tn(e) && Dt("GObj bad instanceof"), !zt(t) && !Qt(t)) return Dt(`${Ne(e)}: kw must be list or dict`), 0;
1198
- if (!qt(n)) return Dt(`${Ne(e)}: path must be a string: ${String(n)}`), 0;
1197
+ function cn(e, t, n, r) {
1198
+ if (e && !nn(e) && xt("GObj bad instanceof"), !zt(t) && !Qt(t)) return xt(`${Ne(e)}: kw must be list or dict`), 0;
1199
+ if (!Ht(n)) return xt(`${Ne(e)}: path must be a string: ${String(n)}`), 0;
1199
1200
  let o = n.split("`");
1200
1201
  if (o.length <= 1) return t[n];
1201
1202
  let s = o.length;
1202
- for (let i = 0; i < s; i++) if (void 0 === (t = t[o[i]])) return void (r && Dt(`${Ne(e)}: path not found: ${String(n)}`));
1203
+ for (let i = 0; i < s; i++) if (void 0 === (t = t[o[i]])) return void (r && xt(`${Ne(e)}: path not found: ${String(n)}`));
1203
1204
  return t;
1204
1205
  }
1205
- function cn(e, t, n) {
1206
- e && !tn(e) && Dt("GObj bad instanceof");
1206
+ function fn(e, t, n) {
1207
+ e && !nn(e) && xt("GObj bad instanceof");
1207
1208
  let [r, o] = function(e, t) {
1208
1209
  let n = e.lastIndexOf(t);
1209
1210
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1210
1211
  }(n, "`");
1211
- return nn(o) ? Ft(t, n) : Ft(un(e, t, r, !0), o), 0;
1212
+ return rn(o) ? Gt(t, n) : Gt(cn(e, t, r, !0), o), 0;
1212
1213
  }
1213
- function fn(e, t, n, r, o) {
1214
- e && !tn(e) && Dt("GObj bad instanceof");
1215
- let s = un(e, t, n, !1);
1214
+ function gn(e, t, n, r, o) {
1215
+ e && !nn(e) && xt("GObj bad instanceof");
1216
+ let s = cn(e, t, n, !1);
1216
1217
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1217
1218
  if (void 0 === s) {
1218
1219
  if (l) {
1219
1220
  let o = Boolean(r);
1220
- return hn(e, t, n, o), o;
1221
+ return yn(e, t, n, o), o;
1221
1222
  }
1222
- return i && (Dt(`path not found: '${n}'`), $t(t)), Boolean(r);
1223
+ return i && (xt(`path not found: '${n}'`), At(t)), Boolean(r);
1223
1224
  }
1224
- return _ && cn(e, t, n), Boolean(s);
1225
+ return _ && fn(e, t, n), Boolean(s);
1225
1226
  }
1226
- function gn(e, t, n, r, o) {
1227
- e && !tn(e) && Dt("GObj bad instanceof");
1228
- let s = un(e, t, n, !1);
1227
+ function pn(e, t, n, r, o) {
1228
+ e && !nn(e) && xt("GObj bad instanceof");
1229
+ let s = cn(e, t, n, !1);
1229
1230
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1230
1231
  if (void 0 === s) {
1231
1232
  if (l) {
1232
1233
  let o = parseInt(r);
1233
- return hn(e, t, n, o), o;
1234
+ return yn(e, t, n, o), o;
1234
1235
  }
1235
- return i && (Dt(`path not found: '${n}'`), $t(t)), parseInt(r);
1236
+ return i && (xt(`path not found: '${n}'`), At(t)), parseInt(r);
1236
1237
  }
1237
- return _ && cn(e, t, n), Ht(s) ? parseInt(s) : (i && (Dt(`path value MUST BE a number: ${n}`), kt(t)), parseInt(r));
1238
+ return _ && fn(e, t, n), Xt(s) ? parseInt(s) : (i && (xt(`path value MUST BE a number: ${n}`), $t(t)), parseInt(r));
1238
1239
  }
1239
- function pn(e, t, n, r, o) {
1240
- e && !tn(e) && Dt("GObj bad instanceof");
1241
- let s = un(e, t, n, !1);
1240
+ function dn(e, t, n, r, o) {
1241
+ e && !nn(e) && xt("GObj bad instanceof");
1242
+ let s = cn(e, t, n, !1);
1242
1243
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1243
1244
  if (void 0 === s) {
1244
1245
  if (l) {
1245
1246
  let o = String(r);
1246
- return hn(e, t, n, o), o;
1247
+ return yn(e, t, n, o), o;
1247
1248
  }
1248
- return i && (Dt(`path not found: '${n}'`), $t(t)), String(r);
1249
+ return i && (xt(`path not found: '${n}'`), At(t)), String(r);
1249
1250
  }
1250
- return _ && cn(e, t, n), qt(s) ? String(s) : (i && (Dt(`${Ne(e)}: path value MUST BE a string: ${n}`), kt(t)), String(r));
1251
+ return _ && fn(e, t, n), Ht(s) ? String(s) : (i && (xt(`${Ne(e)}: path value MUST BE a string: ${n}`), $t(t)), String(r));
1251
1252
  }
1252
- function dn(e, t, n, r, o) {
1253
- e && !tn(e) && Dt("GObj bad instanceof");
1254
- let s = un(e, t, n, !1);
1253
+ function bn(e, t, n, r, o) {
1254
+ e && !nn(e) && xt("GObj bad instanceof");
1255
+ let s = cn(e, t, n, !1);
1255
1256
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1256
1257
  if (void 0 === s) {
1257
1258
  if (l) {
1258
1259
  let o = r;
1259
- return hn(e, t, n, o), o;
1260
+ return yn(e, t, n, o), o;
1260
1261
  }
1261
- return i && (Dt(`path not found: '${n}'`), $t(t)), r;
1262
+ return i && (xt(`path not found: '${n}'`), At(t)), r;
1262
1263
  }
1263
- return _ && cn(e, t, n), s;
1264
+ return _ && fn(e, t, n), s;
1264
1265
  }
1265
- function bn(e, t, n, r, o) {
1266
- e && !tn(e) && Dt("GObj bad instanceof");
1267
- let s = un(e, t, n, !1);
1266
+ function mn(e, t, n, r, o) {
1267
+ e && !nn(e) && xt("GObj bad instanceof");
1268
+ let s = cn(e, t, n, !1);
1268
1269
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1269
1270
  if (void 0 === s) {
1270
1271
  if (l) {
1271
1272
  let o = Object(r);
1272
- return hn(e, t, n, o), o;
1273
+ return yn(e, t, n, o), o;
1273
1274
  }
1274
- return i && (Dt(`path not found: '${n}'`), $t(t)), Object(r);
1275
+ return i && (xt(`path not found: '${n}'`), At(t)), Object(r);
1275
1276
  }
1276
- return _ && cn(e, t, n), zt(s) ? Object(s) : (i && (Dt(`path value MUST BE a dict: ${n}`), kt(t)), Object(r));
1277
+ return _ && fn(e, t, n), zt(s) ? Object(s) : (i && (xt(`path value MUST BE a dict: ${n}`), $t(t)), Object(r));
1277
1278
  }
1278
- function mn(e, t, n, r, o) {
1279
- e && !tn(e) && Dt("GObj bad instanceof");
1280
- let s = un(e, t, n, !1);
1279
+ function hn(e, t, n, r, o) {
1280
+ e && !nn(e) && xt("GObj bad instanceof");
1281
+ let s = cn(e, t, n, !1);
1281
1282
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
1282
1283
  if (void 0 === s) {
1283
1284
  if (l) {
1284
1285
  let o = r;
1285
- return hn(e, t, n, o), o;
1286
+ return yn(e, t, n, o), o;
1286
1287
  }
1287
- return i && (Dt(`path not found: '${n}'`), $t(t)), r;
1288
+ return i && (xt(`path not found: '${n}'`), At(t)), r;
1288
1289
  }
1289
- return _ && cn(e, t, n), s;
1290
+ return _ && fn(e, t, n), s;
1290
1291
  }
1291
- function hn(e, t, n, r) {
1292
- if (e && !tn(e) && Dt("GObj bad instanceof"), !zt(t)) return Dt("kw is not an object"), -1;
1292
+ function yn(e, t, n, r) {
1293
+ if (e && !nn(e) && xt("GObj bad instanceof"), !zt(t)) return xt("kw is not an object"), -1;
1293
1294
  let o = n.split("`");
1294
1295
  if (o.length <= 1) return t[n] = r, 0;
1295
1296
  let s = o.length;
@@ -1300,33 +1301,33 @@ function hn(e, t, n, r) {
1300
1301
  return 0;
1301
1302
  }
1302
1303
  function En(e, t, n, r, o) {
1303
- if (e && !tn(e) && Dt("GObj bad instanceof"), !zt(t)) return Dt("kw is not an object"), -1;
1304
- let s = bn(e, t, n, {}, !0);
1305
- return zt(s) ? (s[r] = o, 0) : (Dt("subdict is not an object"), -1);
1304
+ if (e && !nn(e) && xt("GObj bad instanceof"), !zt(t)) return xt("kw is not an object"), -1;
1305
+ let s = mn(e, t, n, {}, !0);
1306
+ return zt(s) ? (s[r] = o, 0) : (xt("subdict is not an object"), -1);
1306
1307
  }
1307
- function yn(e, n, r) {
1308
+ function Tn(e, n, r) {
1308
1309
  let o = "", s = !1;
1309
1310
  if (Qt(n)) {
1310
1311
  s = !1;
1311
1312
  for (let i = 0; i < n.length; i++) {
1312
1313
  let l = n[i];
1313
- if (o = nn(r) ? t("%s", r) : t("%s`%d", r, i), s = yn(e, l, o), s) break;
1314
+ if (o = rn(r) ? t("%s", r) : t("%s`%d", r, i), s = Tn(e, l, o), s) break;
1314
1315
  }
1315
1316
  } else if (zt(n)) {
1316
1317
  s = !0;
1317
1318
  let i = Object.keys(n);
1318
1319
  for (let l = 0; l < i.length; l++) {
1319
1320
  let _ = i[l], a = n[_];
1320
- if (o = nn(r) ? t("%s", _) : t("%s`%s", r, _), Qt(a) || zt(a)) {
1321
- if (s = yn(e, a, o), !s) break;
1321
+ if (o = rn(r) ? t("%s", _) : t("%s`%s", r, _), Qt(a) || zt(a)) {
1322
+ if (s = Tn(e, a, o), !s) break;
1322
1323
  continue;
1323
1324
  }
1324
- let u = mn(0, e, o, 0, 0);
1325
- if (u || (u = Ct(e, o)), !u) {
1325
+ let u = hn(0, e, o, 0, 0);
1326
+ if (u || (u = Ft(e, o)), !u) {
1326
1327
  s = !1;
1327
1328
  break;
1328
1329
  }
1329
- if (0 !== ln(u, a)) {
1330
+ if (0 !== _n(u, a)) {
1330
1331
  s = !1;
1331
1332
  break;
1332
1333
  }
@@ -1334,57 +1335,58 @@ function yn(e, n, r) {
1334
1335
  }
1335
1336
  return s;
1336
1337
  }
1337
- function Tn(e, t) {
1338
- return 0 === Jt(t) || yn(e, t, "");
1338
+ function vn(e, t) {
1339
+ return 0 === qt(t) || Tn(e, t, "");
1339
1340
  }
1340
- function vn(e, t, n, r) {
1341
- e && !tn(e) && Dt("GObj bad instanceof");
1341
+ function Sn(e, t, n, r) {
1342
+ e && !nn(e) && xt("GObj bad instanceof");
1342
1343
  let o = {};
1343
- if (qt(n) && !nn(n)) {
1344
+ if (Ht(n) && !rn(n)) {
1344
1345
  let s = n;
1345
- t.hasOwnProperty(s) ? o[s] = t[s] : r && Dt(`${Ne(e)}: key not found: ${s}`);
1346
- } else if (zt(n) && Yt(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? o[s] = t[s] : r && Dt(`${Ne(e)}: key not found: ${s}`);
1346
+ t.hasOwnProperty(s) ? o[s] = t[s] : r && xt(`${Ne(e)}: key not found: ${s}`);
1347
+ } else if (zt(n) && Bt(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? o[s] = t[s] : r && xt(`${Ne(e)}: key not found: ${s}`);
1347
1348
  else {
1348
- if (!(Qt(n) && Bt(n) > 0)) return t;
1349
+ if (!(Qt(n) && Jt(n) > 0)) return t;
1349
1350
  for (let s = 0; s < n.length; s++) {
1350
1351
  let i = n[s];
1351
- t.hasOwnProperty(i) ? o[i] = t[i] : r && Dt(`${Ne(e)}: key not found: ${i}`);
1352
+ t.hasOwnProperty(i) ? o[i] = t[i] : r && xt(`${Ne(e)}: key not found: ${i}`);
1352
1353
  }
1353
1354
  }
1354
1355
  return o;
1355
1356
  }
1356
1357
  function jn(e, t, n, r) {
1357
1358
  let o = {};
1358
- if (Lt(o, t), qt(n) && !nn(n)) {
1359
+ if (Pt(o, t), Ht(n) && !rn(n)) {
1359
1360
  let s = n;
1360
- mn(e, t, s, 0, 0) ? Ft(o, s) : r && Dt(`${Ne(e)}: key not found: ${s}`);
1361
- } else if (zt(n) && Yt(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? Ft(o, s) : r && Dt(`${Ne(e)}: key not found: ${s}`);
1361
+ hn(e, t, s, 0, 0) ? Gt(o, s) : r && xt(`${Ne(e)}: key not found: ${s}`);
1362
+ } else if (zt(n) && Bt(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? Gt(o, s) : r && xt(`${Ne(e)}: key not found: ${s}`);
1362
1363
  else {
1363
- if (!(Qt(n) && Bt(n) > 0)) return {};
1364
+ if (!(Qt(n) && Jt(n) > 0)) return {};
1364
1365
  for (let s = 0; s < n.length; s++) {
1365
1366
  let i = n[s];
1366
- t.hasOwnProperty(i) ? Ft(o, i) : r && Dt(`${Ne(e)}: key not found: ${i}`);
1367
+ t.hasOwnProperty(i) ? Gt(o, i) : r && xt(`${Ne(e)}: key not found: ${i}`);
1367
1368
  }
1368
1369
  }
1369
1370
  return o;
1370
1371
  }
1371
- function Sn(e, t, n = !1) {
1372
+ function On(e, t, n = !1) {
1372
1373
  if ("undefined" != typeof window && window.localStorage) try {
1373
1374
  let r = window.localStorage.getItem(e);
1374
- return null === r ? (n && On(e, t), t) : JSON.parse(r);
1375
+ return null === r ? (n && Nn(e, t), t) : JSON.parse(r);
1375
1376
  } catch (n) {
1376
1377
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
1377
1378
  }
1378
1379
  }
1379
- function On(e, t) {
1380
- if ("undefined" != typeof window && window.localStorage) if (e && void 0 !== t) try {
1381
- window.localStorage.setItem(e, JSON.stringify(t));
1380
+ function Nn(e, t) {
1381
+ if ("undefined" == typeof window || !window.localStorage) return 0;
1382
+ if (!e || void 0 === t) return xt(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1383
+ try {
1384
+ return window.localStorage.setItem(e, JSON.stringify(t)), 0;
1382
1385
  } catch (t) {
1383
- window.console.warn(`Error saving localStorage key "${e}":`, t);
1386
+ return xt(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1384
1387
  }
1385
- else window.console.warn(`Invalid key or value for localStorage: key=${e}, value=${t}`);
1386
1388
  }
1387
- function Nn(e) {
1389
+ function wn(e) {
1388
1390
  if ("undefined" != typeof window && window.localStorage) if (e) try {
1389
1391
  window.localStorage.removeItem(e);
1390
1392
  } catch (t) {
@@ -1392,46 +1394,46 @@ function Nn(e) {
1392
1394
  }
1393
1395
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1394
1396
  }
1395
- function wn(e, t) {
1396
- if (Zt(e) || Zt(t)) return !0;
1397
+ function Dn(e, t) {
1398
+ if (en(e) || en(t)) return !0;
1397
1399
  if (Qt(e)) {
1398
1400
  if (0 === e.length) return !0;
1399
1401
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
1400
1402
  } else if (zt(e)) {
1401
1403
  if (0 === Object.keys(e).length) return !0;
1402
1404
  for (let n in e) if (n === t) return !0;
1403
- } else if (qt(e) && e === t) return !0;
1405
+ } else if (Ht(e) && e === t) return !0;
1404
1406
  return !1;
1405
1407
  }
1406
- function Dn(e, t, n, r, o) {
1407
- if (e && !tn(e) && Dt("GObj bad instanceof"), !t) return null;
1408
- o || (o = Tn);
1408
+ function xn(e, t, n, r, o) {
1409
+ if (e && !nn(e) && xt("GObj bad instanceof"), !t) return null;
1410
+ o || (o = vn);
1409
1411
  let s = [];
1410
1412
  if (Qt(t)) for (let i = 0; i < t.length; i++) {
1411
1413
  let l, _ = t[i];
1412
- if (zt(_)) l = pn(e, _, "id", "", 0);
1414
+ if (zt(_)) l = dn(e, _, "id", "", 0);
1413
1415
  else {
1414
- if (!qt(_)) continue;
1416
+ if (!Ht(_)) continue;
1415
1417
  l = _;
1416
1418
  }
1417
- wn(n, l) && o(_, r) && s.push(_);
1419
+ Dn(n, l) && o(_, r) && s.push(_);
1418
1420
  }
1419
1421
  else {
1420
- if (!zt(t)) return Dt("kw_collect() BAD kw parameter"), null;
1422
+ if (!zt(t)) return xt("kw_collect() BAD kw parameter"), null;
1421
1423
  for (let e of Object.keys(t)) {
1422
1424
  let i = t[e];
1423
- wn(n, e) && o(i, r) && s.push(i);
1425
+ Dn(n, e) && o(i, r) && s.push(i);
1424
1426
  }
1425
1427
  }
1426
1428
  return s;
1427
1429
  }
1428
- function xn(e, t) {
1430
+ function Rn(e, t) {
1429
1431
  if (!e) return -1;
1430
1432
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
1431
1433
  return -1;
1432
1434
  }
1433
- function Rn(e, t, n) {
1434
- if (!e || !t) return Dt("ERROR: str_in_list() list or str empty"), !1;
1435
+ function kn(e, t, n) {
1436
+ if (!e || !t) return xt("ERROR: str_in_list() list or str empty"), !1;
1435
1437
  let r = e.length;
1436
1438
  if (n) {
1437
1439
  t = t.toLowerCase();
@@ -1442,7 +1444,7 @@ function Rn(e, t, n) {
1442
1444
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
1443
1445
  return !1;
1444
1446
  }
1445
- function kn(e, t) {
1447
+ function $n(e, t) {
1446
1448
  try {
1447
1449
  let n = e.__md_iev__;
1448
1450
  if (n) return n[t];
@@ -1450,35 +1452,35 @@ function kn(e, t) {
1450
1452
  return;
1451
1453
  }
1452
1454
  }
1453
- function $n(e, t, n) {
1455
+ function An(e, t, n) {
1454
1456
  let r = e.__md_iev__;
1455
1457
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1456
1458
  }
1457
- function An(e, t, n, r) {
1458
- if (!tn(e)) return Dt("gobj is not a GObj"), null;
1459
+ function In(e, t, n, r) {
1460
+ if (!nn(e)) return xt("gobj is not a GObj"), null;
1459
1461
  if (!t) return;
1460
- let o = kn(t, n);
1461
- o || (o = [], $n(t, n, o));
1462
+ let o = $n(t, n);
1463
+ o || (o = [], An(t, n, o));
1462
1464
  try {
1463
1465
  Qt(o) && o.unshift(r);
1464
1466
  } catch (e) {
1465
- Dt(e);
1467
+ xt(e);
1466
1468
  }
1467
1469
  }
1468
- function In(e, t, n, r) {
1469
- if (!tn(e)) return Dt("gobj is not a GObj"), null;
1470
- if (!zt(t)) return Dt("kw is not a dict"), null;
1471
- let o = kn(t, n);
1472
- return o ? 0 === o.length ? (r && Dt(`stack empty: ${n}`), null) : o[0] : (r && Dt(`stack NOT FOUND: ${n}`), null);
1470
+ function Ln(e, t, n, r) {
1471
+ if (!nn(e)) return xt("gobj is not a GObj"), null;
1472
+ if (!zt(t)) return xt("kw is not a dict"), null;
1473
+ let o = $n(t, n);
1474
+ return o ? 0 === o.length ? (r && xt(`stack empty: ${n}`), null) : o[0] : (r && xt(`stack NOT FOUND: ${n}`), null);
1473
1475
  }
1474
- function Ln(e, t, n) {
1475
- return nn(n) ? cn(e, t, "__md_iev__`__msg_type__") : En(e, t, "__md_iev__", "__msg_type__", n), 0;
1476
+ function Pn(e, t, n) {
1477
+ return rn(n) ? fn(e, t, "__md_iev__`__msg_type__") : En(e, t, "__md_iev__", "__msg_type__", n), 0;
1476
1478
  }
1477
- function Pn(e, t) {
1478
- return pn(e, t, "__md_iev__`__msg_type__", "", 0);
1479
+ function Un(e, t) {
1480
+ return dn(e, t, "__md_iev__`__msg_type__", "", 0);
1479
1481
  }
1480
- function Un(e, t, n) {
1481
- void 0 !== n && qt(n) || (n = "");
1482
+ function Cn(e, t, n) {
1483
+ void 0 !== n && Ht(n) || (n = "");
1482
1484
  for (let r of Object.keys(e)) {
1483
1485
  if (!e.hasOwnProperty(r)) continue;
1484
1486
  let o = (n.length ? "`" : "") + r;
@@ -1487,10 +1489,10 @@ function Un(e, t, n) {
1487
1489
  r,
1488
1490
  e[r],
1489
1491
  n
1490
- ]), zt(e[r]) && Un(e[r], t, n), n = n.slice(0, -o.length);
1492
+ ]), zt(e[r]) && Cn(e[r], t, n), n = n.slice(0, -o.length);
1491
1493
  }
1492
1494
  }
1493
- function Cn(e, t, n, r) {
1495
+ function Fn(e, t, n, r) {
1494
1496
  if (!e) return null;
1495
1497
  let o, s = e.length;
1496
1498
  for (o = 0; o < s; o++) {
@@ -1498,15 +1500,15 @@ function Cn(e, t, n, r) {
1498
1500
  if (s) {
1499
1501
  let e = s.id;
1500
1502
  if (e && e === n) return s;
1501
- if (r && an(s, t)) {
1502
- let e = Cn(s[t], t, n, r);
1503
+ if (r && un(s, t)) {
1504
+ let e = Fn(s[t], t, n, r);
1503
1505
  if (e) return e;
1504
1506
  }
1505
1507
  }
1506
1508
  }
1507
1509
  return null;
1508
1510
  }
1509
- function Fn(e) {
1511
+ function Gn(e) {
1510
1512
  function t(e) {
1511
1513
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
1512
1514
  switch (t.length % 4) {
@@ -1537,38 +1539,38 @@ function Fn(e) {
1537
1539
  signature: t(n[2])
1538
1540
  };
1539
1541
  }
1540
- function Gn(e) {
1542
+ function Vn(e) {
1541
1543
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1542
1544
  }
1543
- function Vn(e) {
1545
+ function Wn(e) {
1544
1546
  const t = document.createElement("template");
1545
1547
  return t.innerHTML = e.trim(), t.content.firstChild;
1546
1548
  }
1547
- function Wn() {
1549
+ function Mn() {
1548
1550
  const e = /* @__PURE__ */ new Date(), t = e.toISOString().slice(0, 19), n = String(e.getMilliseconds()).padStart(3, "0"), r = e.getTimezoneOffset();
1549
1551
  return `${t}.${n}${r > 0 ? "-" : "+"}${String(Math.abs(r) / 60).padStart(2, "0")}${String(Math.abs(r) % 60).padStart(2, "0")}`;
1550
1552
  }
1551
- function Mn(e, t) {
1553
+ function Kn(e, t) {
1552
1554
  if (!e) throw "ERROR: index_in_list() list empty";
1553
1555
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
1554
1556
  return -1;
1555
1557
  }
1556
- function Kn() {
1558
+ function Yn() {
1557
1559
  let e = "";
1558
1560
  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;
1559
1561
  }
1560
- function Yn(e) {
1562
+ function Bn(e) {
1561
1563
  let t = null;
1562
1564
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1563
1565
  }
1564
- function Bn(e) {
1566
+ function Jn(e) {
1565
1567
  return "persistent-attrs-" + Ne(e);
1566
1568
  }
1567
- function Jn(e, t) {
1568
- if (qt(t)) {
1569
+ function qn(e, t) {
1570
+ if (Ht(t)) {
1569
1571
  if (-1 === t.indexOf("^")) {
1570
1572
  let n, r, o = e.fkey;
1571
- if (1 !== Yt(o)) return Dt("bad fkey 1"), Dt(e), Dt(t), null;
1573
+ if (1 !== Bt(o)) return xt("bad fkey 1"), xt(e), xt(t), null;
1572
1574
  for (const e of Object.keys(o)) {
1573
1575
  n = e, r = o[e];
1574
1576
  break;
@@ -1581,7 +1583,7 @@ function Jn(e, t) {
1581
1583
  }
1582
1584
  {
1583
1585
  let n = t.split("^");
1584
- return 3 !== n.length ? (Dt("bad fkey 2"), Dt(e), Dt(t), null) : {
1586
+ return 3 !== n.length ? (xt("bad fkey 2"), xt(e), xt(t), null) : {
1585
1587
  topic_name: n[0],
1586
1588
  id: n[1],
1587
1589
  hook_name: n[2]
@@ -1592,7 +1594,7 @@ function Jn(e, t) {
1592
1594
  topic_name: t.topic_name,
1593
1595
  id: t.id,
1594
1596
  hook_name: t.hook_name
1595
- } : (Dt("bad fkey 3"), Dt(e), Dt(t), null);
1597
+ } : (xt("bad fkey 3"), xt(e), xt(t), null);
1596
1598
  }
1597
1599
  var zn = [
1598
1600
  "string",
@@ -1616,7 +1618,7 @@ var zn = [
1616
1618
  "stats",
1617
1619
  "rstats",
1618
1620
  "pstats"
1619
- ], qn = [
1621
+ ], Hn = [
1620
1622
  "hook",
1621
1623
  "fkey",
1622
1624
  "enum",
@@ -1642,7 +1644,7 @@ var zn = [
1642
1644
  "coordinates",
1643
1645
  "gbuffer"
1644
1646
  ];
1645
- function Hn(e) {
1647
+ function Xn(e) {
1646
1648
  let t = {
1647
1649
  name: e.id,
1648
1650
  header: e.header,
@@ -1660,7 +1662,7 @@ function Hn(e) {
1660
1662
  if (!e.flag) return t;
1661
1663
  for (let n = 0; n < e.flag.length; n++) {
1662
1664
  let r = e.flag[n];
1663
- if (Rn(qn, r)) {
1665
+ if (kn(Hn, r)) {
1664
1666
  switch (r) {
1665
1667
  case "enum":
1666
1668
  t.enum_list = e.enum;
@@ -1671,7 +1673,7 @@ function Hn(e) {
1671
1673
  case "table": t.enum_list = e.table;
1672
1674
  }
1673
1675
  t.type = r;
1674
- } else if (Rn(Qn, r)) switch (r) {
1676
+ } else if (kn(Qn, r)) switch (r) {
1675
1677
  case "writable":
1676
1678
  t.is_writable = !0;
1677
1679
  break;
@@ -1684,26 +1686,26 @@ function Hn(e) {
1684
1686
  }
1685
1687
  return t;
1686
1688
  }
1687
- var Xn = [
1689
+ var Zn = [
1688
1690
  v(h.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1689
1691
  v(h.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1690
1692
  v(h.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1691
1693
  T()
1692
- ], Zn = {
1694
+ ], er = {
1693
1695
  periodic: !1,
1694
1696
  msec: 0,
1695
1697
  timer_id: -1
1696
- }, er = null;
1697
- function tr(e, t, n, r) {
1698
+ }, tr = null;
1699
+ function nr(e, t, n, r) {
1698
1700
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1699
1701
  return Re(e) ? st(De(e), s, {}, e) : bt(e, s, {}), o.periodic && (o.timer_id = setTimeout(function() {
1700
1702
  st(e, "EV_TIMEOUT", {}, e);
1701
1703
  }, o.msec)), 0;
1702
1704
  }
1703
- var nr = {
1705
+ var rr = {
1704
1706
  mt_create: function(e) {
1705
1707
  let t = e.priv;
1706
- const n = Qe(e, "subscriber");
1708
+ const n = ze(e, "subscriber");
1707
1709
  n && ft(e, null, {}, n), t.periodic = Be(e, "periodic"), t.msec = Je(e, "msec");
1708
1710
  },
1709
1711
  mt_writing: function(e, t) {
@@ -1725,16 +1727,16 @@ var nr = {
1725
1727
  },
1726
1728
  mt_destroy: function(e) {}
1727
1729
  };
1728
- function rr(e, t) {
1729
- return e instanceof S ? "C_TIMER" !== Oe(e) ? (Dt("not C_TIMER GObj"), -1) : (He(e, "periodic", !1), void Xe(e, "msec", t)) : (Dt("not GObj TYPE"), -1);
1730
- }
1731
1730
  function or(e, t) {
1732
- return e instanceof S ? "C_TIMER" !== Oe(e) ? (Dt("not C_TIMER GObj"), -1) : (He(e, "periodic", !0), void Xe(e, "msec", t)) : (Dt("not GObj TYPE"), -1);
1731
+ return e instanceof j ? "C_TIMER" !== Oe(e) ? (xt("not C_TIMER GObj"), -1) : (He(e, "periodic", !1), void Xe(e, "msec", t)) : (xt("not GObj TYPE"), -1);
1733
1732
  }
1734
- function sr(e) {
1735
- return e instanceof S ? "C_TIMER" !== Oe(e) ? (Dt("not C_TIMER GObj"), -1) : void Xe(e, "msec", -1) : (Dt("not GObj TYPE"), -1);
1733
+ function sr(e, t) {
1734
+ return e instanceof j ? "C_TIMER" !== Oe(e) ? (xt("not C_TIMER GObj"), -1) : (He(e, "periodic", !0), void Xe(e, "msec", t)) : (xt("not GObj TYPE"), -1);
1736
1735
  }
1737
- var ir = [
1736
+ function ir(e) {
1737
+ return e instanceof j ? "C_TIMER" !== Oe(e) ? (xt("not C_TIMER GObj"), -1) : void Xe(e, "msec", -1) : (xt("not GObj TYPE"), -1);
1738
+ }
1739
+ var lr = [
1738
1740
  v(h.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1739
1741
  v(h.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1740
1742
  v(h.DTP_STRING, "__username__", 0, "", "Username"),
@@ -1760,18 +1762,18 @@ var ir = [
1760
1762
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1761
1763
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1762
1764
  T()
1763
- ], lr = { gobj_timer: null }, _r = null;
1764
- function ar(e, t, n, r) {
1765
+ ], _r = { gobj_timer: null }, ar = null;
1766
+ function ur(e, t, n, r) {
1765
1767
  return bt(e, t, n), 0;
1766
1768
  }
1767
- var ur = {
1769
+ var cr = {
1768
1770
  mt_create: function(e) {
1769
1771
  let t = e.priv;
1770
- Ze(e, "start_date", Wn()), Ze(e, "node_uuid", Kn()), e.priv.gobj_timer = ie(Se(e), "C_TIMER", {}, e), t.periodic_timeout = Ke(e, "periodic_timeout");
1772
+ Ze(e, "start_date", Mn()), Ze(e, "node_uuid", Yn()), e.priv.gobj_timer = ie(je(e), "C_TIMER", {}, e), t.periodic_timeout = Ke(e, "periodic_timeout");
1771
1773
  },
1772
1774
  mt_writing: function(e, t) {},
1773
1775
  mt_start: function(e) {
1774
- return _e(e.priv.gobj_timer), or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1776
+ return _e(e.priv.gobj_timer), sr(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1775
1777
  },
1776
1778
  mt_stop: function(e) {
1777
1779
  return ce(e.priv.gobj_timer), ge(e), 0;
@@ -1779,28 +1781,30 @@ var ur = {
1779
1781
  mt_destroy: function(e) {},
1780
1782
  mt_play: function(e) {
1781
1783
  let t = X();
1782
- return be(t) || _e(t), Ee(t) || pe(t), 0;
1784
+ return be(t) || _e(t), ye(t) || pe(t), 0;
1783
1785
  },
1784
1786
  mt_pause: function(e) {
1785
1787
  return de(X()), 0;
1786
1788
  }
1787
1789
  };
1788
- var cr = "ievent_gate_stack", fr = [
1789
- v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
1790
- v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
1791
- v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
1792
- v(h.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
1793
- v(h.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
1794
- v(h.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
1795
- v(h.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
1796
- v(h.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
1797
- v(h.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1798
- v(h.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1799
- v(h.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "timeout waiting idAck"),
1800
- v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
1790
+ var fr = "ievent_gate_stack", gr = [
1791
+ v(h.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
1792
+ v(h.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
1793
+ v(h.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
1794
+ v(h.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
1795
+ v(h.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
1796
+ v(h.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
1797
+ v(h.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
1798
+ v(h.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
1799
+ v(h.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1800
+ v(h.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1801
+ v(h.DTP_LIST, "required_services", y.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
1802
+ v(h.DTP_INTEGER, "timeout_retry", y.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
1803
+ v(h.DTP_INTEGER, "timeout_retry_max", y.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
1804
+ v(h.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
1801
1805
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1802
1806
  T()
1803
- ], gr = {
1807
+ ], pr = {
1804
1808
  url: null,
1805
1809
  remote_yuno_name: null,
1806
1810
  remote_yuno_role: null,
@@ -1808,17 +1812,18 @@ var cr = "ievent_gate_stack", fr = [
1808
1812
  gobj_timer: null,
1809
1813
  inform_on_close: !1,
1810
1814
  websocket: null,
1811
- inside_on_open: !1
1812
- }, pr = null;
1813
- function dr(e) {
1814
- e.priv.websocket && Dt("Websocket ALREADY setup");
1815
- const t = ze(e, "url");
1815
+ inside_on_open: !1,
1816
+ retry_ms: 0
1817
+ }, dr = null;
1818
+ function br(e) {
1819
+ e.priv.websocket && xt("Websocket ALREADY setup");
1820
+ const t = qe(e, "url");
1816
1821
  let n;
1817
- Rt(`====> Starting WebSocket to '${t}' (${Ne(e)})`);
1822
+ kt(`====> Starting WebSocket to '${t}' (${Ne(e)})`);
1818
1823
  try {
1819
1824
  n = new WebSocket(t);
1820
1825
  } catch (n) {
1821
- return Dt(`${Ne(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
1826
+ return xt(`${Ne(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
1822
1827
  }
1823
1828
  return n ? (n.onopen = () => {
1824
1829
  st(e, "EV_ON_OPEN", { url: t }, e);
@@ -1828,32 +1833,32 @@ function dr(e) {
1828
1833
  data: n.data
1829
1834
  }, e);
1830
1835
  }, n.onclose = (n) => {
1831
- ke(e) || (Be(ye(), "browser_beforeunload") ? xt("Close websocket by unload page") : st(e, "EV_ON_CLOSE", {
1836
+ ke(e) || (Be(Ee(), "browser_beforeunload") ? Rt("Close websocket by unload page") : st(e, "EV_ON_CLOSE", {
1832
1837
  url: t,
1833
1838
  e: n
1834
1839
  }, e));
1835
- }, n) : (Dt(`${Ne(e)}: Failed to initialize WebSocket.`), null);
1840
+ }, n) : (xt(`${Ne(e)}: Failed to initialize WebSocket.`), null);
1836
1841
  }
1837
- function br(e, t = 1e3, n = "") {
1842
+ function mr(e, t = 1e3, n = "") {
1838
1843
  let r = e.priv, o = r.websocket;
1839
1844
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
1840
- Rt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
1845
+ kt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
1841
1846
  try {
1842
1847
  o.close(t, n);
1843
1848
  } catch (e) {
1844
- Dt("Error closing WebSocket:", e.message);
1849
+ xt("Error closing WebSocket:", e.message);
1845
1850
  }
1846
- } else xt("WebSocket is already closed or in the process of closing.");
1851
+ } else Rt("WebSocket is already closed or in the process of closing.");
1847
1852
  }
1848
- function mr(e, t, n) {
1849
- let r = Wn();
1853
+ function hr(e, t, n) {
1854
+ let r = Mn();
1850
1855
  try {
1851
- Rt("\n" + r + " " + t + "\n"), $t(n);
1856
+ kt("\n" + r + " " + t + "\n"), At(n);
1852
1857
  } catch (e) {
1853
- Rt("ERROR in trace_inter_event: " + e);
1858
+ kt("ERROR in trace_inter_event: " + e);
1854
1859
  }
1855
1860
  }
1856
- var hr = class {
1861
+ var yr = class {
1857
1862
  constructor(e, t) {
1858
1863
  this.event = e, this.kw = t || {};
1859
1864
  }
@@ -1861,36 +1866,38 @@ var hr = class {
1861
1866
  function Er(e, t, n, r) {
1862
1867
  return function(e, t) {
1863
1868
  let n = e.priv, r = JSON.stringify(t);
1864
- if (Be(ye(), "trace_inter_event")) {
1865
- let n = ze(e, "url"), o = Se(ye()) + " ==> " + n, s = Ke(ye(), "trace_ievent_callback");
1866
- s ? s(o, t, 1, r.length) : mr(0, o, t);
1869
+ if (Be(Ee(), "trace_inter_event")) {
1870
+ let n = qe(e, "url"), o = je(Ee()) + " ==> " + n, s = Ke(Ee(), "trace_ievent_callback");
1871
+ s ? s(o, t, 1, r.length) : hr(0, o, t);
1867
1872
  }
1868
- if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return xt(`${Ne(e)}: send_iev(): websocket not open, message lost`), -1;
1873
+ if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return Rt(`${Ne(e)}: send_iev(): websocket not open, message lost`), -1;
1869
1874
  try {
1870
1875
  n.websocket.send(r);
1871
1876
  } catch (t) {
1872
- Dt(`${Ne(e)}: send_iev(): ${t}`);
1877
+ xt(`${Ne(e)}: send_iev(): ${t}`);
1873
1878
  }
1874
1879
  return 0;
1875
1880
  }(e, function(e, t) {
1876
- return nn(e) ? (Dt("iev_create() event NULL"), null) : new hr(e, t);
1881
+ return rn(e) ? (xt("iev_create() event NULL"), null) : new yr(e, t);
1877
1882
  }(t, n));
1878
1883
  }
1879
- function yr(e, t, n) {
1880
- return nn(n) && (n = ze(e, "wanted_yuno_service")), {
1881
- dst_yuno: ze(e, "wanted_yuno_name"),
1882
- dst_role: ze(e, "wanted_yuno_role"),
1884
+ function Tr(e, t, n) {
1885
+ return rn(n) && (n = qe(e, "wanted_yuno_service")), {
1886
+ dst_yuno: qe(e, "wanted_yuno_name"),
1887
+ dst_role: qe(e, "wanted_yuno_role"),
1883
1888
  dst_service: n,
1884
1889
  src_yuno: Te(),
1885
1890
  src_role: ve(),
1886
1891
  src_service: t,
1887
- host: Kn()
1892
+ host: Yn()
1888
1893
  };
1889
1894
  }
1890
- function Tr(e) {
1891
- let t = e.priv, n = Ee(ye()), r = ze(ye(), "yuno_version"), o = ze(ye(), "yuno_release"), i = ze(ye(), "yuno_tag"), l = {
1895
+ function vr(e) {
1896
+ let t = e.priv, n = ye(Ee()), r = qe(Ee(), "yuno_version"), o = qe(Ee(), "yuno_release"), i = qe(Ee(), "yuno_tag"), l = Ke(e, "required_services");
1897
+ l && l.length || (l = Ke(Ee(), "required_services"));
1898
+ let _ = {
1892
1899
  yuno_role: ve(),
1893
- yuno_id: je(),
1900
+ yuno_id: Se(),
1894
1901
  yuno_name: Te(),
1895
1902
  yuno_tag: i,
1896
1903
  yuno_version: r,
@@ -1899,37 +1906,37 @@ function Tr(e) {
1899
1906
  playing: n,
1900
1907
  pid: 0,
1901
1908
  watcher_pid: 0,
1902
- jwt: ze(e, "jwt"),
1903
- username: ze(ye(), "__username__"),
1909
+ jwt: qe(e, "jwt"),
1910
+ username: qe(Ee(), "__username__"),
1904
1911
  launch_id: 0,
1905
- yuno_startdate: ze(ye(), "start_date"),
1906
- id: Kn(),
1912
+ yuno_startdate: qe(Ee(), "start_date"),
1913
+ id: Yn(),
1907
1914
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
1908
1915
  language: "undefined" != typeof window ? window.navigator.language : "",
1909
- required_services: Ke(ye(), "required_services")
1916
+ required_services: l
1910
1917
  };
1911
- return An(e, l, cr, yr(e, Se(De(e)), null)), Ln(e, l, "__identity__"), rr(t.gobj_timer, Je(e, "timeout_idack")), Er(e, "EV_IDENTITY_CARD", l);
1918
+ return In(e, _, fr, Tr(e, je(De(e)), null)), Pn(e, _, "__identity__"), or(t.gobj_timer, Je(e, "timeout_idack")), Er(e, "EV_IDENTITY_CARD", _);
1912
1919
  }
1913
- function vr(e, t) {
1914
- if (nn(t.event)) return -1;
1920
+ function Sr(e, t) {
1921
+ if (rn(t.event)) return -1;
1915
1922
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, l = t.subscriber;
1916
- return o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s), An(e, n, cr, yr(e, Se(l), i)), Ln(e, n, "__subscribing__"), Er(e, t.event, n);
1923
+ return o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s), In(e, n, fr, Tr(e, je(l), i)), Pn(e, n, "__subscribing__"), Er(e, t.event, n);
1917
1924
  }
1918
1925
  function jr(e, t, n, r) {
1919
1926
  let o = e.priv;
1920
- return be(e) && (o.websocket = dr(e)), 0;
1921
- }
1922
- function Sr(e, t, n, r) {
1923
- return Rt("Websocket opened: " + e.priv.url), Tr(e), 0;
1927
+ return be(e) && (o.websocket = br(e)), 0;
1924
1928
  }
1925
1929
  function Or(e, t, n, r) {
1930
+ return kt("Websocket opened: " + e.priv.url), vr(e), 0;
1931
+ }
1932
+ function Nr(e, t, n, r) {
1926
1933
  let o = e.priv, s = n.e, i = n.url;
1927
- return Nt(), xt(`${Ne(e)}: WebSocket closed ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.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, bt(e, "EV_ON_CLOSE", {
1934
+ return wt(), Rt(`${Ne(e)}: WebSocket closed ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.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, bt(e, "EV_ON_CLOSE", {
1928
1935
  url: i,
1929
1936
  remote_yuno_name: o.remote_yuno_name,
1930
1937
  remote_yuno_role: o.remote_yuno_role,
1931
1938
  remote_yuno_service: o.remote_yuno_service
1932
- })) : (xt(`${Ne(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), bt(e, "EV_ON_OPEN_ERROR", {
1939
+ })) : (Rt(`${Ne(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), bt(e, "EV_ON_OPEN_ERROR", {
1933
1940
  url: i,
1934
1941
  remote_yuno_name: o.remote_yuno_name,
1935
1942
  remote_yuno_role: o.remote_yuno_role,
@@ -1937,21 +1944,27 @@ function Or(e, t, n, r) {
1937
1944
  code: s.code,
1938
1945
  reason: s.reason,
1939
1946
  was_clean: s.wasClean
1940
- })), be(e) && rr(o.gobj_timer, Je(e, "timeout_retry")), 0;
1941
- }
1942
- function Nr(e, t, n, r) {
1943
- return Tr(e), 0;
1947
+ })), be(e) && or(o.gobj_timer, function(e) {
1948
+ let t = e.priv, n = Je(e, "timeout_retry"), r = Je(e, "timeout_retry_max");
1949
+ r < n && (r = n);
1950
+ t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
1951
+ let o = .2 * t.retry_ms, s = t.retry_ms - o + 2 * Math.random() * o;
1952
+ return Math.max(1, Math.round(s));
1953
+ }(e)), 0;
1944
1954
  }
1945
1955
  function wr(e, t, n, r) {
1956
+ return vr(e), 0;
1957
+ }
1958
+ function Dr(e, t, n, r) {
1946
1959
  let o = e.priv;
1947
- sr(o.gobj_timer);
1948
- let s = In(e, n, cr, !0), i = pn(e, s, "src_yuno", ""), l = pn(e, s, "src_role", ""), _ = pn(e, s, "src_service", "");
1960
+ ir(o.gobj_timer);
1961
+ let s = Ln(e, n, fr, !0), i = dn(e, s, "src_yuno", ""), l = dn(e, s, "src_role", ""), _ = dn(e, s, "src_service", "");
1949
1962
  Ze(e, "remote_yuno_name", i), Ze(e, "remote_yuno_role", l), Ze(e, "remote_yuno_service", _);
1950
- let a = gn(e, n, "result", -1, 0), u = pn(e, n, "comment", "", 0), c = pn(e, n, "username", "", 0), f = mn(e, n, "services_roles", {});
1963
+ let a = pn(e, n, "result", -1, 0), u = dn(e, n, "comment", "", 0), c = dn(e, n, "username", "", 0), f = hn(e, n, "services_roles", {});
1951
1964
  if (a < 0) {
1952
- br(e);
1965
+ mr(e);
1953
1966
  let t = {
1954
- url: ze(e, "url"),
1967
+ url: qe(e, "url"),
1955
1968
  result: a,
1956
1969
  comment: u,
1957
1970
  username: c,
@@ -1961,7 +1974,7 @@ function wr(e, t, n, r) {
1961
1974
  };
1962
1975
  Re(e) ? st(De(e), "EV_ON_ID_NAK", t, e) : bt(e, "EV_ON_ID_NAK", t);
1963
1976
  } else {
1964
- if (et(e, "ST_SESSION"), o.inside_on_open = !0, !o.inform_on_close) {
1977
+ if (et(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
1965
1978
  o.inform_on_close = !0;
1966
1979
  let t = {
1967
1980
  username: c,
@@ -1974,132 +1987,132 @@ function wr(e, t, n, r) {
1974
1987
  }
1975
1988
  o.inside_on_open = !1, function(e) {
1976
1989
  let t = pt(e, null, null, null);
1977
- for (let n = 0; n < t.length; n++) vr(e, t[n]);
1990
+ for (let n = 0; n < t.length; n++) Sr(e, t[n]);
1978
1991
  }(e);
1979
1992
  }
1980
1993
  return 0;
1981
1994
  }
1982
- function Dr(e, t, n, r) {
1995
+ function xr(e, t, n, r) {
1983
1996
  let o = e.priv.url, s = function(e, t) {
1984
1997
  let n;
1985
1998
  try {
1986
1999
  n = JSON.parse(t);
1987
2000
  } catch (e) {
1988
- return Dt("parsing inter_event json: " + e), null;
2001
+ return xt("parsing inter_event json: " + e), null;
1989
2002
  }
1990
- if (!(n instanceof Object)) return Dt("parsing inter_event: websocket data not a json object"), null;
2003
+ if (!(n instanceof Object)) return xt("parsing inter_event: websocket data not a json object"), null;
1991
2004
  let r = n.event;
1992
- if (!r) return Dt("parsing inter_event: no event"), null;
1993
- if ("string" != typeof r) return Dt("parsing inter_event: event not a string"), null;
2005
+ if (!r) return xt("parsing inter_event: no event"), null;
2006
+ if ("string" != typeof r) return xt("parsing inter_event: event not a string"), null;
1994
2007
  let o = n.kw;
1995
2008
  return o ? o instanceof Object ? {
1996
2009
  event: r,
1997
2010
  kw: o || {}
1998
- } : (Dt("parsing inter_event: kw not a json object"), null) : (Dt("parsing inter_kw: no kw"), null);
2011
+ } : (xt("parsing inter_event: kw not a json object"), null) : (xt("parsing inter_kw: no kw"), null);
1999
2012
  }(0, n.data);
2000
- if (Be(ye(), "trace_inter_event")) {
2001
- let e = Se(ye()) + " <== " + o, t = n.data.length, r = Ke(ye(), "trace_ievent_callback");
2002
- r ? r(e, s, 2, t) : mr(0, e, s);
2013
+ if (Be(Ee(), "trace_inter_event")) {
2014
+ let e = je(Ee()) + " <== " + o, t = n.data.length, r = Ke(Ee(), "trace_ievent_callback");
2015
+ r ? r(e, s, 2, t) : hr(0, e, s);
2003
2016
  }
2004
2017
  let i = s.event, l = s.kw;
2005
2018
  if ("ST_SESSION" !== tt(e)) {
2006
2019
  if (rt(e, i, D.EVF_PUBLIC_EVENT)) {
2007
2020
  if (0 === st(e, i, l, e)) return 0;
2008
- } else Dt(`${Ne(e)}: event UNKNOWN in not-session state ${i}`);
2009
- return br(e), -1;
2021
+ } else xt(`${Ne(e)}: event UNKNOWN in not-session state ${i}`);
2022
+ return mr(e), -1;
2010
2023
  }
2011
2024
  s = null;
2012
- let _ = Pn(e, l), a = In(e, l, cr), u = pn(e, a, "dst_role", "");
2013
- if (u !== ve()) return Dt(`"It's not my role, dst_role: ${u}, my_role: ${ve()}`), 0;
2014
- let c = pn(e, a, "dst_service", "");
2025
+ let _ = Un(e, l), a = Ln(e, l, fr), u = dn(e, a, "dst_role", "");
2026
+ if (u !== ve()) return xt(`"It's not my role, dst_role: ${u}, my_role: ${ve()}`), 0;
2027
+ let c = dn(e, a, "dst_service", "");
2015
2028
  if ("__subscribing__" === _) return -1;
2016
2029
  if ("__unsubscribing__" === _) return -1;
2017
2030
  if (rt(e, i, D.EVF_PUBLIC_EVENT)) return st(e, i, l, e), 0;
2018
2031
  let f = Z(c, !0);
2019
2032
  if (f) {
2020
- if (!rt(f, i, D.EVF_PUBLIC_EVENT)) return Dt(`${Ne(e)}: Service found but no event or not public, service '${Ne(f)}', ev '${i}'`), -1;
2033
+ if (!rt(f, i, D.EVF_PUBLIC_EVENT)) return xt(`${Ne(e)}: Service found but no event or not public, service '${Ne(f)}', ev '${i}'`), -1;
2021
2034
  st(f, i, l, e);
2022
2035
  } else Re(e) ? st(De(e), i, l, e) : bt(e, i, l);
2023
2036
  return 0;
2024
2037
  }
2025
- function xr(e, t, n, r) {
2038
+ function Rr(e, t, n, r) {
2026
2039
  return 0;
2027
2040
  }
2028
- function Rr(e, t, n, r) {
2041
+ function kr(e, t, n, r) {
2029
2042
  return 0;
2030
2043
  }
2031
- var kr = {
2044
+ var $r = {
2032
2045
  mt_create: function(e) {
2033
2046
  let t = e.priv;
2034
- t.gobj_timer = ie(Se(e), "C_TIMER", {}, e), t.url = ze(e, "url"), t.remote_yuno_name = ze(e, "remote_yuno_name"), t.remote_yuno_role = ze(e, "remote_yuno_role"), t.remote_yuno_service = ze(e, "remote_yuno_service"), Ze(e, "wanted_yuno_name", t.remote_yuno_name), Ze(e, "wanted_yuno_role", t.remote_yuno_role), Ze(e, "wanted_yuno_service", t.remote_yuno_service);
2035
- const n = Qe(e, "subscriber");
2047
+ t.gobj_timer = ie(je(e), "C_TIMER", {}, e), t.url = qe(e, "url"), t.remote_yuno_name = qe(e, "remote_yuno_name"), t.remote_yuno_role = qe(e, "remote_yuno_role"), t.remote_yuno_service = qe(e, "remote_yuno_service"), Ze(e, "wanted_yuno_name", t.remote_yuno_name), Ze(e, "wanted_yuno_role", t.remote_yuno_role), Ze(e, "wanted_yuno_service", t.remote_yuno_service);
2048
+ const n = ze(e, "subscriber");
2036
2049
  n && ft(e, null, {}, n);
2037
2050
  },
2038
2051
  mt_writing: function(e, t) {
2039
2052
  let n = e.priv;
2040
2053
  switch (t) {
2041
2054
  case "url":
2042
- n.url = ze(e, "url");
2055
+ n.url = qe(e, "url");
2043
2056
  break;
2044
2057
  case "remote_yuno_name":
2045
- n.remote_yuno_name = ze(e, "remote_yuno_name");
2058
+ n.remote_yuno_name = qe(e, "remote_yuno_name");
2046
2059
  break;
2047
2060
  case "remote_yuno_role":
2048
- n.remote_yuno_role = ze(e, "remote_yuno_role");
2061
+ n.remote_yuno_role = qe(e, "remote_yuno_role");
2049
2062
  break;
2050
- case "remote_yuno_service": n.remote_yuno_service = ze(e, "remote_yuno_service");
2063
+ case "remote_yuno_service": n.remote_yuno_service = qe(e, "remote_yuno_service");
2051
2064
  }
2052
2065
  },
2053
2066
  mt_start: function(e) {
2054
2067
  let t = e.priv;
2055
- return _e(t.gobj_timer), t.websocket = dr(e), 0;
2068
+ return _e(t.gobj_timer), t.retry_ms = 0, t.websocket = br(e), 0;
2056
2069
  },
2057
2070
  mt_stop: function(e) {
2058
2071
  let t = e.priv;
2059
- return sr(t.gobj_timer), ce(t.gobj_timer), t.websocket && br(e), 0;
2072
+ return ir(t.gobj_timer), ce(t.gobj_timer), t.websocket && mr(e), 0;
2060
2073
  },
2061
2074
  mt_destroy: function(e) {},
2062
2075
  mt_stats: function(e, t, n, r) {
2063
- if ("ST_SESSION" !== tt(e)) return Dt("Not in session"), null;
2076
+ if ("ST_SESSION" !== tt(e)) return xt("Not in session"), null;
2064
2077
  n || (n = {});
2065
- let o = yr(e, Se(r), pn(e, n, "service", null, 0)), s = mn(e, n, "__md_stats__", null, mt.KW_EXTRACT);
2066
- return s || (s = {}), An(e, n, "stats_stack", {
2078
+ let o = Tr(e, je(r), dn(e, n, "service", null, 0)), s = hn(e, n, "__md_stats__", null, mt.KW_EXTRACT);
2079
+ return s || (s = {}), In(e, n, "stats_stack", {
2067
2080
  stats: t,
2068
2081
  kw: s
2069
- }), An(e, n, cr, o), n.__stats__ = t, Ln(e, n, "__stats__"), Er(e, "EV_MT_STATS", n, r), null;
2082
+ }), In(e, n, fr, o), n.__stats__ = t, Pn(e, n, "__stats__"), Er(e, "EV_MT_STATS", n, r), null;
2070
2083
  },
2071
2084
  mt_command_parser: function(e, t, n, r) {
2072
- if ("ST_SESSION" !== tt(e)) return Dt("Not in session"), null;
2085
+ if ("ST_SESSION" !== tt(e)) return xt("Not in session"), null;
2073
2086
  n || (n = {});
2074
- let o = yr(e, Se(r), pn(e, n, "service", "", 0)), s = mn(e, n, "__md_command__", null, mt.KW_EXTRACT);
2075
- return s || (s = {}), An(e, n, "command_stack", {
2087
+ let o = Tr(e, je(r), dn(e, n, "service", "", 0)), s = hn(e, n, "__md_command__", null, mt.KW_EXTRACT);
2088
+ return s || (s = {}), In(e, n, "command_stack", {
2076
2089
  command: t,
2077
2090
  kw: s
2078
- }), An(e, n, cr, o), n.__command__ = t, Ln(e, n, "__command__"), Er(e, "EV_MT_COMMAND", n, r), null;
2091
+ }), In(e, n, fr, o), n.__command__ = t, Pn(e, n, "__command__"), Er(e, "EV_MT_COMMAND", n, r), null;
2079
2092
  },
2080
2093
  mt_inject_event: function(e, t, n, r) {
2081
2094
  if ("ST_SESSION" !== tt(e)) return window.console.error("Not in session"), -1;
2082
- if (n || (n = {}), In(e, n, cr));
2095
+ if (n || (n = {}), Ln(e, n, fr));
2083
2096
  else {
2084
- let o = yr(e, Se(r), pn(e, n, "__service__", 0, 0));
2085
- Ft(n, "__service__"), An(e, n, "__message__", t), An(e, n, cr, o);
2097
+ let o = Tr(e, je(r), dn(e, n, "__service__", 0, 0));
2098
+ Gt(n, "__service__"), In(e, n, "__message__", t), In(e, n, fr, o);
2086
2099
  }
2087
- return Ln(e, n, "__message__"), Er(e, t, n, r);
2100
+ return Pn(e, n, "__message__"), Er(e, t, n, r);
2088
2101
  },
2089
2102
  mt_subscription_added: function(e, t) {
2090
2103
  let n = e.priv;
2091
- return "ST_SESSION" === tt(e) && n.websocket ? n.inside_on_open ? 0 : vr(e, t) : 0;
2104
+ return "ST_SESSION" === tt(e) && n.websocket ? n.inside_on_open ? 0 : Sr(e, t) : 0;
2092
2105
  },
2093
2106
  mt_subscription_deleted: function(e, t) {
2094
2107
  let n = e.priv;
2095
2108
  if ("ST_SESSION" !== tt(e) || !n.websocket) return 0;
2096
2109
  if (n.inside_on_open) return 0;
2097
- if (nn(t.event)) return 0;
2110
+ if (rn(t.event)) return 0;
2098
2111
  let r = {}, o = t.__global__, s = t.__config__, i = t.__filter__, l = t.__service__, _ = t.subscriber;
2099
- return s && (r.__config__ = s), o && (r.__global__ = o), i && (r.__filter__ = i), An(e, r, cr, yr(e, Se(_), l)), Ln(e, r, "__unsubscribing__"), Er(e, t.event, r, e);
2112
+ return s && (r.__config__ = s), o && (r.__global__ = o), i && (r.__filter__ = i), In(e, r, fr, Tr(e, je(_), l)), Pn(e, r, "__unsubscribing__"), Er(e, t.event, r, e);
2100
2113
  }
2101
2114
  };
2102
- exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new y(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new y(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, i) => new y(e, t, n, null, i, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new y(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = y, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2115
+ exports.GObj = j, 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, i) => new E(e, t, n, null, i, 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__", {
2103
2116
  enumerable: !0,
2104
2117
  get: function() {
2105
2118
  return d;
@@ -2110,48 +2123,48 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2110
2123
  return t;
2111
2124
  }, exports.build_stats_response = o, exports.clean_name = function(e) {
2112
2125
  return e.replace(/[?# ^:]/g, "_");
2113
- }, exports.clear_timeout = sr, exports.cmp_two_simple_json = ln, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2126
+ }, exports.clear_timeout = ir, exports.cmp_two_simple_json = _n, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2114
2127
  let [r, o, s, i] = t;
2115
- if (!r) return void Dt("Tag must be a valid HTML element.");
2128
+ if (!r) return void xt("Tag must be a valid HTML element.");
2116
2129
  let l = document.createElement(r), _ = "";
2117
2130
  if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
2118
2131
  let t = "";
2119
2132
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2120
2133
  l.style.cssText = t;
2121
2134
  } 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]);
2122
- if (qt(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) l.appendChild(Vn(s));
2135
+ if (Ht(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) l.appendChild(Wn(s));
2123
2136
  else if (n && _) l.textContent = n(_) || s;
2124
2137
  else l.textContent = s;
2125
2138
  else if (Qt(s)) {
2126
- if (s.length > 0) if (qt(s[0])) l.appendChild(e(s, n));
2139
+ if (s.length > 0) if (Ht(s[0])) l.appendChild(e(s, n));
2127
2140
  else for (let t of s) Array.isArray(t) && t.length > 0 ? l.appendChild(e(t, n)) : t instanceof HTMLElement && l.appendChild(t);
2128
- } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? l.appendChild(s) : null != s && (Dt("content ignored"), $t(s));
2141
+ } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? l.appendChild(s) : null != s && (xt("content ignored"), At(s));
2129
2142
  if (i && "object" == typeof i) for (const e of Object.keys(i)) l.addEventListener(e, i[e]);
2130
2143
  return l;
2131
- }, exports.createOneHtml = Vn, exports.create_json_record = function(e, t) {
2132
- let n = At(e);
2133
- return Pt(n, t), n;
2144
+ }, exports.createOneHtml = Wn, exports.create_json_record = function(e, t) {
2145
+ let n = It(e);
2146
+ return Ut(n, t), n;
2134
2147
  }, exports.create_template_record = function(e, t) {
2135
2148
  let n = {};
2136
2149
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2137
2150
  let o;
2138
- zt(r) && (o = r.default), n[e] = mn(null, t, e, o);
2151
+ zt(r) && (o = r.default), n[e] = hn(null, t, e, o);
2139
2152
  }), n;
2140
- }, exports.current_timestamp = Wn, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2141
- let n = Sn(Bn(e), null, !1), r = {};
2142
- return n && zt(n) && (r = vn(e, n, t, !1)), r;
2153
+ }, exports.current_timestamp = Mn, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2154
+ let n = On(Jn(e), null, !1), r = {};
2155
+ return n && zt(n) && (r = Sn(e, n, t, !1)), r;
2143
2156
  }, exports.db_load_persistent_attrs = function(e, t) {
2144
- let n = Ye(e, E.SDF_PERSIST), r = Sn(Bn(e), null, !1);
2157
+ let n = Ye(e, y.SDF_PERSIST), r = On(Jn(e), null, !1);
2145
2158
  if (r && zt(r)) {
2146
- let o = vn(e, r, t, !1);
2147
- o = vn(e, o, n, !1), qe(e, o, E.SDF_PERSIST);
2159
+ let o = Sn(e, r, t, !1);
2160
+ o = Sn(e, o, n, !1), Qe(e, o, y.SDF_PERSIST);
2148
2161
  }
2149
2162
  }, exports.db_remove_persistent_attrs = function(e, t) {
2150
- let n = jn(e, Sn(Bn(e), null, !1), t, !1);
2151
- 0 === Yt(n) ? Nn(Bn(e)) : On(Bn(e), n);
2163
+ let n = jn(e, On(Jn(e), null, !1), t, !1);
2164
+ 0 === Bt(n) ? wn(Jn(e)) : Nn(Jn(e), n);
2152
2165
  }, exports.db_save_persistent_attrs = function(e, t) {
2153
- let n = vn(e, Ye(e, E.SDF_PERSIST), t, !1), r = Sn(Bn(e), null, !1);
2154
- r && zt(r) && Ut(n, r), On(Bn(e), n);
2166
+ let n = Sn(e, Ye(e, y.SDF_PERSIST), t, !1), r = On(Jn(e), null, !1);
2167
+ return r && zt(r) && Ct(n, r), Nn(Jn(e), n);
2155
2168
  }, exports.debounce = function(e, t = 0, n = !1) {
2156
2169
  let r = null, o = null, s = null;
2157
2170
  const i = (...i) => {
@@ -2176,7 +2189,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2176
2189
  Object.assign(t, e);
2177
2190
  }
2178
2191
  return t;
2179
- }, exports.empty_string = nn, exports.escapeHtml = Gn, exports.event_flag_t = D, exports.gclass_add_ev_action = B, exports.gclass_add_event_type = z, exports.gclass_add_state = Y, exports.gclass_check_fsm = q, exports.gclass_create = V, exports.gclass_event_type = Q, exports.gclass_find_by_name = H, exports.gclass_flag_t = O, exports.gclass_unregister = W, exports.getPositionRelativeToBody = function(e) {
2192
+ }, exports.empty_string = rn, exports.escapeHtml = Vn, exports.event_flag_t = D, exports.gclass_add_ev_action = B, exports.gclass_add_event_type = q, exports.gclass_add_state = Y, exports.gclass_check_fsm = Q, exports.gclass_create = V, exports.gclass_event_type = z, exports.gclass_find_by_name = H, exports.gclass_flag_t = O, exports.gclass_unregister = W, exports.getPositionRelativeToBody = function(e) {
2180
2193
  if (!e) return {
2181
2194
  top: 0,
2182
2195
  left: 0,
@@ -2195,14 +2208,14 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2195
2208
  right: n + l + r,
2196
2209
  bottom: t + i + o
2197
2210
  };
2198
- }, exports.get_function_name = Yn, exports.get_now = function() {
2211
+ }, exports.get_function_name = Bn, exports.get_now = function() {
2199
2212
  return Math.floor(Date.now() / 1e3);
2200
2213
  }, exports.gobj_bottom_gobj = $e, exports.gobj_change_parent = function(e, n) {
2201
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), null) : n instanceof S ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (ne(e.parent, e), e.parent = null), te(n, e), n.mt_child_added && (d && Be(d, "trace_creation") && Rt(t("👦👦🔵 child_added(%s): %s", we(n), Ne(e))), n.mt_child_added(n, e)), 0) : (Dt(`${Ne(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2214
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), null) : n instanceof j ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (ne(e.parent, e), e.parent = null), te(n, e), n.mt_child_added && (d && Be(d, "trace_creation") && kt(t("👦👦🔵 child_added(%s): %s", we(n), Ne(e))), n.mt_child_added(n, e)), 0) : (xt(`${Ne(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2202
2215
  }, exports.gobj_change_state = et, exports.gobj_command = function(e, n, o, s) {
2203
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), -1;
2216
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
2204
2217
  let i = d && Je(d, "tracing");
2205
- return i && (I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", be(e) ? "" : "!!", Ne(e), n, Ne(s))), i > 1 && $t(o)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Ne(e)), 0, 0) : r(0, -1, t("%s: command table not available", Ne(e)), 0, 0);
2218
+ return i && (I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", be(e) ? "" : "!!", Ne(e), n, Ne(s))), i > 1 && At(o)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Ne(e)), 0, 0) : r(0, -1, t("%s: command table not available", Ne(e)), 0, 0);
2206
2219
  }, exports.gobj_create = function(e, t, n, r) {
2207
2220
  return se(e, t, n, r, 0);
2208
2221
  }, exports.gobj_create2 = se, exports.gobj_create_default_service = function(e, t, n, r) {
@@ -2214,32 +2227,32 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2214
2227
  }, exports.gobj_create_yuno = function(e, t, n) {
2215
2228
  return se(e, t, n, null, N.gobj_flag_yuno);
2216
2229
  }, exports.gobj_current_state = tt, exports.gobj_default_service = X, exports.gobj_destroy = le, exports.gobj_find_child = Ve, exports.gobj_find_gobj = function(e, t) {
2217
- if (nn(t)) return null;
2230
+ if (rn(t)) return null;
2218
2231
  const n = t.toLowerCase();
2219
2232
  return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? d : We(d, t);
2220
- }, exports.gobj_find_service = Z, exports.gobj_find_subscribings = dt, exports.gobj_find_subscriptions = pt, exports.gobj_flag_t = N, exports.gobj_full_name = we, exports.gobj_gclass_name = Oe, exports.gobj_has_attr = Me, exports.gobj_has_event = rt, exports.gobj_has_output_event = ot, exports.gobj_hsdata = C, exports.gobj_is_destroying = ke, exports.gobj_is_playing = Ee, exports.gobj_is_pure_child = Re, exports.gobj_is_running = be, exports.gobj_is_service = he, exports.gobj_is_volatil = xe, exports.gobj_list_persistent_attrs = function(e, t) {
2233
+ }, exports.gobj_find_service = Z, exports.gobj_find_subscribings = dt, exports.gobj_find_subscriptions = pt, exports.gobj_flag_t = N, exports.gobj_full_name = we, exports.gobj_gclass_name = Oe, exports.gobj_has_attr = Me, exports.gobj_has_event = rt, exports.gobj_has_output_event = ot, exports.gobj_hsdata = C, exports.gobj_is_destroying = ke, exports.gobj_is_playing = ye, exports.gobj_is_pure_child = Re, exports.gobj_is_running = be, exports.gobj_is_service = he, exports.gobj_is_volatil = xe, exports.gobj_list_persistent_attrs = function(e, t) {
2221
2234
  return a ? a(e, t) : null;
2222
2235
  }, exports.gobj_list_subscriptions = function(e) {
2223
2236
  let t = pt(e, null, null, null);
2224
2237
  for (let n = 0; n < t.length; n++) {
2225
- let r = t[n], o = dn(e, r, "publisher", null, mt.KW_REQUIRED), s = dn(e, r, "subscriber", null, mt.KW_REQUIRED);
2226
- Vt(r, "s_event", pn(e, r, "event", "", mt.KW_REQUIRED)), Vt(r, "s_publisher", Ne(o)), Vt(r, "s_subscriber", Ne(s));
2238
+ let r = t[n], o = bn(e, r, "publisher", null, mt.KW_REQUIRED), s = bn(e, r, "subscriber", null, mt.KW_REQUIRED);
2239
+ Wt(r, "s_event", dn(e, r, "event", "", mt.KW_REQUIRED)), Wt(r, "s_publisher", Ne(o)), Wt(r, "s_subscriber", Ne(s));
2227
2240
  }
2228
2241
  let n = dt(e, 0, null, 0);
2229
2242
  for (let t = 0; t < n.length; t++) {
2230
- let r = n[t], o = dn(e, r, "publisher", null, mt.KW_REQUIRED), s = dn(e, r, "subscriber", null, mt.KW_REQUIRED);
2231
- Vt(r, "s_event", pn(e, r, "event", "", mt.KW_REQUIRED)), Vt(r, "s_publisher", Ne(o)), Vt(r, "s_subscriber", Ne(s));
2243
+ let r = n[t], o = bn(e, r, "publisher", null, mt.KW_REQUIRED), s = bn(e, r, "subscriber", null, mt.KW_REQUIRED);
2244
+ Wt(r, "s_event", dn(e, r, "event", "", mt.KW_REQUIRED)), Wt(r, "s_publisher", Ne(o)), Wt(r, "s_subscriber", Ne(s));
2232
2245
  }
2233
2246
  return {
2234
2247
  subscriptions: t,
2235
2248
  subscribings: n,
2236
- "total subscriptions": Bt(t),
2237
- total_subscribings: Bt(n)
2249
+ "total subscriptions": Jt(t),
2250
+ total_subscribings: Jt(n)
2238
2251
  };
2239
2252
  }, exports.gobj_load_persistent_attrs = function(e, t) {
2240
- return he(e) ? i ? i(e, t) : -1 : (Dt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2253
+ return he(e) ? i ? i(e, t) : -1 : (xt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2241
2254
  }, exports.gobj_match_children = function(e, t) {
2242
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), null;
2255
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), null;
2243
2256
  t = t || {};
2244
2257
  let n = [];
2245
2258
  const r = e.dl_children;
@@ -2258,15 +2271,15 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2258
2271
  Ge(s, t) && n.push(s), e(n, s);
2259
2272
  }
2260
2273
  }(n, e), n;
2261
- }, exports.gobj_match_gobj = Ge, exports.gobj_name = Se, exports.gobj_parent = De, exports.gobj_pause = de, exports.gobj_play = pe, exports.gobj_post_event = function(e, t, n, r) {
2274
+ }, exports.gobj_match_gobj = Ge, exports.gobj_name = je, exports.gobj_parent = De, exports.gobj_pause = de, exports.gobj_play = pe, exports.gobj_post_event = function(e, t, n, r) {
2262
2275
  setTimeout(() => {
2263
2276
  ke(e) || st(e, t, n, r);
2264
2277
  }, 10);
2265
- }, exports.gobj_publish_event = bt, exports.gobj_read_attr = Ke, exports.gobj_read_attrs = Ye, exports.gobj_read_bool_attr = Be, exports.gobj_read_integer_attr = Je, exports.gobj_read_pointer_attr = Qe, exports.gobj_read_str_attr = ze, exports.gobj_remove_persistent_attrs = function(e, t) {
2266
- return he(e) ? _ ? _(e, t) : -1 : (Dt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2278
+ }, exports.gobj_publish_event = bt, exports.gobj_read_attr = Ke, exports.gobj_read_attrs = Ye, exports.gobj_read_bool_attr = Be, exports.gobj_read_integer_attr = Je, exports.gobj_read_pointer_attr = ze, exports.gobj_read_str_attr = qe, exports.gobj_remove_persistent_attrs = function(e, t) {
2279
+ return he(e) ? _ ? _(e, t) : -1 : (xt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2267
2280
  }, exports.gobj_reset_volatil_attrs = function(e) {
2268
2281
  return function(e, t, n) {
2269
- if (ke(e)) return Dt("gobj NULL or DESTROYED"), -1;
2282
+ if (ke(e)) return xt("gobj NULL or DESTROYED"), -1;
2270
2283
  let r = e.gclass.attrs_table;
2271
2284
  for (let o = 0; o < r.length; o++) {
2272
2285
  const s = r[o];
@@ -2276,19 +2289,19 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2276
2289
  }
2277
2290
  }
2278
2291
  return 0;
2279
- }(e, E.SDF_VOLATIL, 0);
2292
+ }(e, y.SDF_VOLATIL, 0);
2280
2293
  }, exports.gobj_save_persistent_attrs = function(e, t) {
2281
- return he(e) ? l ? l(e, t) : -1 : (Dt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2294
+ return he(e) ? l ? l(e, t) : -1 : (xt(`${Ne(e)}: Only gobj services can load/save writable-persistent`), -1);
2282
2295
  }, exports.gobj_search_path = We, exports.gobj_send_event = st, exports.gobj_services = function() {
2283
2296
  let e = [];
2284
- for (const t of Object.keys(p)) Mt(e, t);
2297
+ for (const t of Object.keys(p)) Kt(e, t);
2285
2298
  return e;
2286
2299
  }, exports.gobj_set_bottom_gobj = Ae, exports.gobj_set_trace_machine_format = function(e) {
2287
2300
  A = 1 === Number(e) ? 1 : 0;
2288
2301
  }, exports.gobj_short_name = Ne, exports.gobj_start = _e, exports.gobj_start_children = function(e) {
2289
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : Le(e, x.WALK_FIRST2LAST, ae, 0, 0);
2302
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : Le(e, x.WALK_FIRST2LAST, ae, 0, 0);
2290
2303
  }, exports.gobj_start_tree = function(e) {
2291
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : (d && Be(d, "trace_start_stop") && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", we(e))), e.gclass.gclass_flag & O.gcflag_manual_start || e.disabled ? 0 : (e.running || _e(e), Pe(e, x.WALK_TOP2BOTTOM, ue, 0, 0)));
2304
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : (d && Be(d, "trace_start_stop") && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", we(e))), e.gclass.gclass_flag & O.gcflag_manual_start || e.disabled ? 0 : (e.running || _e(e), Pe(e, x.WALK_TOP2BOTTOM, ue, 0, 0)));
2292
2305
  }, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
2293
2306
  i = t, l = n, _ = r, a = o, u = s, c = g;
2294
2307
  const p = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
@@ -2298,14 +2311,14 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2298
2311
  }
2299
2312
  return 0;
2300
2313
  }, exports.gobj_stats = function(e, n, r, s) {
2301
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Ne(e)), 0, 0);
2314
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Ne(e)), 0, 0);
2302
2315
  }, exports.gobj_stop = ce, exports.gobj_stop_children = ge, exports.gobj_stop_tree = function(e) {
2303
- return ke(e) ? (Dt("gobj NULL or DESTROYED"), -1) : (d && Be(d, "trace_start_stop") && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", we(e))), be(e) && ce(e), Pe(e, x.WALK_TOP2BOTTOM, fe, 0, 0));
2316
+ return ke(e) ? (xt("gobj NULL or DESTROYED"), -1) : (d && Be(d, "trace_start_stop") && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", we(e))), be(e) && ce(e), Pe(e, x.WALK_TOP2BOTTOM, fe, 0, 0));
2304
2317
  }, exports.gobj_subscribe_event = ft, exports.gobj_trace_machine_format = function() {
2305
2318
  return A;
2306
2319
  }, exports.gobj_unsubscribe_event = function(e, t, n, r) {
2307
- if (null == n && (n = {}), !e) return Dt(`publisher NULL: ev ${t}`), 0;
2308
- if (!r) return Dt(`subscriber NULL: ev ${t}`), 0;
2320
+ if (null == n && (n = {}), !e) return xt(`publisher NULL: ev ${t}`), 0;
2321
+ if (!r) return xt(`subscriber NULL: ev ${t}`), 0;
2309
2322
  const o = new Set([
2310
2323
  "__config__",
2311
2324
  "__global__",
@@ -2314,21 +2327,21 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2314
2327
  "__service__"
2315
2328
  ]);
2316
2329
  if (Object.keys(n).forEach((n) => {
2317
- o.has(n) || Dt(`${Ne(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2318
- }), nn(t)) t = "";
2319
- else if (!(ot(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return Dt(`event NOT in output event list: ${Ne(e)}, ev ${t}`), 0;
2330
+ o.has(n) || xt(`${Ne(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2331
+ }), rn(t)) t = "";
2332
+ else if (!(ot(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & O.gcflag_no_check_output_events)) return xt(`event NOT in output event list: ${Ne(e)}, ev ${t}`), 0;
2320
2333
  let s = at(e.dl_subscriptions, e, t, n, r), i = 0;
2321
2334
  for (let t = 0; t < s.length; t++) {
2322
2335
  let n = s[t];
2323
2336
  ct(e, n, !1, !1), i++;
2324
2337
  }
2325
- return i || (xt(`${Ne(e)}: No subscription found`), $t(n, "No subscription found")), 0;
2338
+ return i || (Rt(`${Ne(e)}: No subscription found`), At(n, "No subscription found")), 0;
2326
2339
  }, exports.gobj_unsubscribe_list = gt, exports.gobj_walk_gobj_children = Le, exports.gobj_walk_gobj_children_tree = Pe, exports.gobj_write_attr = function(e, n, r, o) {
2327
- if (!qt(n)) return Dt(t("gobj_write_attr(%s): path must be a string", Ne(e))), -1;
2340
+ if (!Ht(n)) return xt(t("gobj_write_attr(%s): path must be a string", Ne(e))), -1;
2328
2341
  let s, i = e.jn_attrs, l = n.split("`");
2329
2342
  if (l.length <= 1) {
2330
2343
  let o = n;
2331
- return o in i && i.hasOwnProperty(o) ? (i[o] = r, zt(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) : (Dt(t("gobj_write_attr(%s): attr not found '%s'", Ne(e), o)), -1);
2344
+ return o in i && i.hasOwnProperty(o) ? (i[o] = r, zt(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) : (xt(t("gobj_write_attr(%s): attr not found '%s'", Ne(e), o)), -1);
2332
2345
  }
2333
2346
  let _ = l.length;
2334
2347
  for (let t = 0; t < _; t++) {
@@ -2342,74 +2355,74 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2342
2355
  if (s in o && o.hasOwnProperty(s)) return o[s] = r, zt(e.priv) && e.priv.hasOwnProperty(s) && (e.priv[s] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.mt_writing && e.mt_writing(e, s), 0;
2343
2356
  break;
2344
2357
  }
2345
- return Dt(t("gobj_write_attr(%s): attr not found '%s'", Ne(e), s)), -1;
2346
- }, exports.gobj_write_attrs = qe, exports.gobj_write_bool_attr = He, exports.gobj_write_integer_attr = Xe, exports.gobj_write_str_attr = Ze, exports.gobj_yuno = ye, exports.gobj_yuno_id = je, exports.gobj_yuno_name = Te, exports.gobj_yuno_role = ve, exports.id_index_in_obj_list = xn, exports.index_in_list = Mn, exports.is_array = Qt, exports.is_boolean = Xt, exports.is_date = function(e) {
2358
+ return xt(t("gobj_write_attr(%s): attr not found '%s'", Ne(e), s)), -1;
2359
+ }, exports.gobj_write_attrs = Qe, exports.gobj_write_bool_attr = He, exports.gobj_write_integer_attr = Xe, exports.gobj_write_str_attr = Ze, exports.gobj_yuno = Ee, exports.gobj_yuno_id = Se, exports.gobj_yuno_name = Te, exports.gobj_yuno_role = ve, exports.id_index_in_obj_list = Rn, exports.index_in_list = Kn, exports.is_array = Qt, exports.is_boolean = Zt, exports.is_date = function(e) {
2347
2360
  return e instanceof Date && !isNaN(e);
2348
- }, exports.is_function = en, exports.is_gobj = tn, exports.is_metadata_key = function(e) {
2349
- if (!qt(e)) return !1;
2361
+ }, exports.is_function = tn, exports.is_gobj = nn, exports.is_metadata_key = function(e) {
2362
+ if (!Ht(e)) return !1;
2350
2363
  let t;
2351
2364
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2352
2365
  return 2 === t;
2353
- }, exports.is_null = Zt, exports.is_number = Ht, exports.is_object = zt, exports.is_private_key = function(e) {
2354
- if (!qt(e)) return !1;
2366
+ }, exports.is_null = en, exports.is_number = Xt, exports.is_object = zt, exports.is_private_key = function(e) {
2367
+ if (!Ht(e)) return !1;
2355
2368
  let t;
2356
2369
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2357
2370
  return 1 === t;
2358
2371
  }, exports.is_pure_number = function(e) {
2359
- if (Ht(e)) return !0;
2360
- if (!qt(e)) return !1;
2372
+ if (Xt(e)) return !0;
2373
+ if (!Ht(e)) return !1;
2361
2374
  const t = Number(e);
2362
2375
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
2363
- }, exports.is_string = qt, exports.jdb_delete = function(e, t, n, r) {
2364
- let o = mn(null, mn(null, e, "topics", null, 0), t, null, 0);
2365
- if (!o) return Dt("jdb_delete: topic not found: " + t), null;
2366
- if (nn(r.id)) return Dt("jdb_delete: record without id: " + r), kt(r), null;
2376
+ }, exports.is_string = Ht, exports.jdb_delete = function(e, t, n, r) {
2377
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2378
+ if (!o) return xt("jdb_delete: topic not found: " + t), null;
2379
+ if (rn(r.id)) return xt("jdb_delete: record without id: " + r), $t(r), null;
2367
2380
  let s, i = n.split("`"), l = o;
2368
- for (; (s = i.shift()) && !nn(s) && l;) zt(l) && (l = mn(null, l, e.hook, null, 0)), l = Cn(l, null, s, !1);
2381
+ for (; (s = i.shift()) && !rn(s) && l;) zt(l) && (l = hn(null, l, e.hook, null, 0)), l = Fn(l, null, s, !1);
2369
2382
  if (0 === i.length && l) if (Qt(l)) {
2370
- let e = xn(l, r.id);
2383
+ let e = Rn(l, r.id);
2371
2384
  e >= 0 && l.splice(e, 1);
2372
2385
  } else {
2373
- let t = mn(null, l, e.hook, null, 0), n = xn(t, r.id);
2386
+ let t = hn(null, l, e.hook, null, 0), n = Rn(t, r.id);
2374
2387
  n >= 0 && t.splice(n, 1);
2375
2388
  }
2376
2389
  return o;
2377
2390
  }, exports.jdb_get = function(e, t, n, r) {
2378
- let o = mn(null, mn(null, e, "topics", null, 0), t, null, 0);
2379
- return o ? (void 0 === r && (r = !0), Cn(o, e.hook, n, r)) : (Dt("jdb_get: topic not found: " + t), null);
2391
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2392
+ return o ? (void 0 === r && (r = !0), Fn(o, e.hook, n, r)) : (xt("jdb_get: topic not found: " + t), null);
2380
2393
  }, exports.jdb_get_by_idx = function(e, t, n) {
2381
- let r = mn(null, mn(null, e, "topics", null, 0), t, null, 0);
2382
- return r ? n < r.length ? r[n] : {} : (Dt("jdb_get_by_idx: topic not found: " + t), null);
2394
+ let r = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2395
+ return r ? n < r.length ? r[n] : {} : (xt("jdb_get_by_idx: topic not found: " + t), null);
2383
2396
  }, exports.jdb_get_topic = function(e, t) {
2384
- let n = mn(null, e, "topics", null, 0);
2385
- if (!n) return Dt("jdb topics section not found"), kt(e), null;
2386
- return mn(null, n, t, null, 0) || (Dt("jdb topic not found: " + t), kt(n), null);
2397
+ let n = hn(null, e, "topics", null, 0);
2398
+ if (!n) return xt("jdb topics section not found"), $t(e), null;
2399
+ return hn(null, n, t, null, 0) || (xt("jdb topic not found: " + t), $t(n), null);
2387
2400
  }, exports.jdb_init = function(e, t, n) {
2388
- n && (e = At(e));
2389
- let r = mn(null, e, "type", [], 1);
2390
- pn(null, e, "hook", "data", 1);
2391
- let o = mn(null, e, "schema", {}, 1), s = mn(null, e, "topics", {}, 1);
2392
- return Un(o, function(e, t, n, o) {
2393
- "__" !== t.substring(0, 2) && mn(null, s, o, At(r), 1);
2401
+ n && (e = It(e));
2402
+ let r = hn(null, e, "type", [], 1);
2403
+ dn(null, e, "hook", "data", 1);
2404
+ let o = hn(null, e, "schema", {}, 1), s = hn(null, e, "topics", {}, 1);
2405
+ return Cn(o, function(e, t, n, o) {
2406
+ "__" !== t.substring(0, 2) && hn(null, s, o, It(r), 1);
2394
2407
  }, t), e;
2395
2408
  }, exports.jdb_update = function(e, t, n, r) {
2396
- let o = mn(null, mn(null, e, "topics", null, 0), t, null, 0);
2397
- if (!o) return Dt("jdb_update: topic not found: " + t), null;
2398
- if (nn(r.id)) return Dt("jdb_update: record without id: " + r), kt(r), null;
2409
+ let o = hn(null, hn(null, e, "topics", null, 0), t, null, 0);
2410
+ if (!o) return xt("jdb_update: topic not found: " + t), null;
2411
+ if (rn(r.id)) return xt("jdb_update: record without id: " + r), $t(r), null;
2399
2412
  let s, i = n.split("`"), l = o;
2400
- for (; (s = i.shift()) && !nn(s) && l;) zt(l) && (l = mn(null, l, e.hook, [], 1)), l = Cn(l, null, s, !1);
2413
+ for (; (s = i.shift()) && !rn(s) && l;) zt(l) && (l = hn(null, l, e.hook, [], 1)), l = Fn(l, null, s, !1);
2401
2414
  if (0 === i.length && l) if (Qt(l)) l.push(r);
2402
2415
  else if (l.id === r.id) Object.assign(l, r);
2403
2416
  else {
2404
- let t = mn(null, l, e.hook, [], 1), n = Cn(t, e.hook, r.id, !1);
2417
+ let t = hn(null, l, e.hook, [], 1), n = Fn(t, e.hook, r.id, !1);
2405
2418
  n ? Object.assign(n, r) : t.push(r);
2406
2419
  }
2407
2420
  return o;
2408
- }, exports.json_array_append = Wt, exports.json_array_append_new = Mt, exports.json_array_extend = function(e, t) {
2421
+ }, exports.json_array_append = Mt, exports.json_array_append_new = Kt, exports.json_array_extend = function(e, t) {
2409
2422
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2410
- }, exports.json_array_remove = Kt, exports.json_array_size = Bt, exports.json_deep_copy = At, exports.json_is_identical = It, exports.json_object_del = Ft, exports.json_object_get = Ct, exports.json_object_set = Gt, exports.json_object_set_new = Vt, exports.json_object_size = Yt, exports.json_object_update = Lt, exports.json_object_update_existing = Pt, exports.json_object_update_missing = Ut, exports.json_size = Jt, exports.jwt2json = function(e, t) {
2423
+ }, exports.json_array_remove = Yt, exports.json_array_size = Jt, exports.json_deep_copy = It, exports.json_is_identical = Lt, exports.json_object_del = Gt, exports.json_object_get = Ft, exports.json_object_set = Vt, exports.json_object_set_new = Wt, exports.json_object_size = Bt, exports.json_object_update = Pt, exports.json_object_update_existing = Ut, exports.json_object_update_missing = Ct, exports.json_size = qt, exports.jwt2json = function(e, t) {
2411
2424
  try {
2412
- let n = Fn(e);
2425
+ let n = Gn(e);
2413
2426
  switch (t) {
2414
2427
  case "header": return JSON.parse(n.header);
2415
2428
  case "signature": return JSON.parse(n.signature);
@@ -2418,122 +2431,122 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2418
2431
  } catch (e) {
2419
2432
  return null;
2420
2433
  }
2421
- }, exports.jwtDecode = Fn, exports.kw_clone_by_keys = vn, exports.kw_clone_by_not_keys = jn, exports.kw_collect = function(e, t, n, r) {
2422
- if (e && !tn(e) && Dt("GObj bad instanceof"), !t) return null;
2423
- r || (r = Tn);
2434
+ }, exports.jwtDecode = Gn, exports.kw_clone_by_keys = Sn, exports.kw_clone_by_not_keys = jn, exports.kw_collect = function(e, t, n, r) {
2435
+ if (e && !nn(e) && xt("GObj bad instanceof"), !t) return null;
2436
+ r || (r = vn);
2424
2437
  let o = [];
2425
2438
  if (Qt(t)) for (let e = 0; e < t.length; e++) {
2426
2439
  let s = t[e];
2427
2440
  r(s, n) && o.push(s);
2428
2441
  }
2429
2442
  else {
2430
- if (!zt(t)) return Dt("kw_select() BAD kw parameter"), null;
2443
+ if (!zt(t)) return xt("kw_select() BAD kw parameter"), null;
2431
2444
  r(t, n) && o.push(t);
2432
2445
  }
2433
2446
  return o;
2434
- }, exports.kw_delete = cn, exports.kw_find_json_in_list = function(e, t, n, r) {
2435
- if (!n || !Qt(t)) return r && Dt("item NULL or kw_list is not a list"), -1;
2436
- for (let e = 0; e < t.length; e++) if (It(n, t[e])) return e;
2437
- return r && Dt("item not found in this list"), -1;
2438
- }, exports.kw_find_path = un, exports.kw_flag_t = mt, exports.kw_get_bool = fn, exports.kw_get_dict = bn, exports.kw_get_dict_value = mn, exports.kw_get_int = gn, exports.kw_get_list = function(e, t, n, r, o) {
2439
- e && !tn(e) && Dt("GObj bad instanceof");
2440
- let s = un(e, t, n, !1);
2447
+ }, exports.kw_delete = fn, exports.kw_find_json_in_list = function(e, t, n, r) {
2448
+ if (!n || !Qt(t)) return r && xt("item NULL or kw_list is not a list"), -1;
2449
+ for (let e = 0; e < t.length; e++) if (Lt(n, t[e])) return e;
2450
+ return r && xt("item not found in this list"), -1;
2451
+ }, exports.kw_find_path = cn, exports.kw_flag_t = mt, exports.kw_get_bool = gn, exports.kw_get_dict = mn, exports.kw_get_dict_value = hn, exports.kw_get_int = pn, exports.kw_get_list = function(e, t, n, r, o) {
2452
+ e && !nn(e) && xt("GObj bad instanceof");
2453
+ let s = cn(e, t, n, !1);
2441
2454
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
2442
2455
  if (void 0 === s) {
2443
2456
  if (l) {
2444
2457
  let o = Array(r);
2445
- return hn(e, t, n, o), o;
2458
+ return yn(e, t, n, o), o;
2446
2459
  }
2447
- return i && (Dt(`path not found: '${n}'`), $t(t)), Array(r);
2460
+ return i && (xt(`path not found: '${n}'`), At(t)), Array(r);
2448
2461
  }
2449
- return _ && cn(e, t, n), Qt(s) ? Array(s) : (i && (Dt(`path value MUST BE an array: ${n}`), kt(t)), Array(r));
2450
- }, exports.kw_get_local_storage_value = Sn, exports.kw_get_pointer = dn, exports.kw_get_real = function(e, t, n, r, o) {
2451
- e && !tn(e) && Dt("GObj bad instanceof");
2452
- let s = un(e, t, n, !1);
2462
+ return _ && fn(e, t, n), Qt(s) ? Array(s) : (i && (xt(`path value MUST BE an array: ${n}`), $t(t)), Array(r));
2463
+ }, exports.kw_get_local_storage_value = On, exports.kw_get_pointer = bn, exports.kw_get_real = function(e, t, n, r, o) {
2464
+ e && !nn(e) && xt("GObj bad instanceof");
2465
+ let s = cn(e, t, n, !1);
2453
2466
  const i = o && o & mt.KW_REQUIRED, l = o && o & mt.KW_CREATE, _ = o && o & mt.KW_EXTRACT;
2454
2467
  if (void 0 === s) {
2455
2468
  if (l) {
2456
2469
  let o = Number(r);
2457
- return hn(e, t, n, o), o;
2470
+ return yn(e, t, n, o), o;
2458
2471
  }
2459
- return i && (Dt(`path not found: '${n}'`), $t(t)), Number(r);
2472
+ return i && (xt(`path not found: '${n}'`), At(t)), Number(r);
2460
2473
  }
2461
- return _ && cn(e, t, n), Ht(s) ? Number(s) : (i && (Dt(`path value MUST BE a number: ${n}`), kt(t)), Number(r));
2462
- }, exports.kw_get_str = pn, exports.kw_has_key = an, exports.kw_match_simple = Tn, exports.kw_pop = _n, exports.kw_remove_local_storage_value = Nn, exports.kw_select = function(e, t, n, r) {
2463
- if (e && !tn(e) && Dt("GObj bad instanceof"), !t) return null;
2464
- r || (r = Tn);
2474
+ return _ && fn(e, t, n), Xt(s) ? Number(s) : (i && (xt(`path value MUST BE a number: ${n}`), $t(t)), Number(r));
2475
+ }, exports.kw_get_str = dn, exports.kw_has_key = un, exports.kw_match_simple = vn, exports.kw_pop = an, exports.kw_remove_local_storage_value = wn, exports.kw_select = function(e, t, n, r) {
2476
+ if (e && !nn(e) && xt("GObj bad instanceof"), !t) return null;
2477
+ r || (r = vn);
2465
2478
  let o = [];
2466
2479
  if (Qt(t)) for (let e = 0; e < t.length; e++) {
2467
2480
  let s = t[e];
2468
- r(s, n) && o.push(At(s));
2481
+ r(s, n) && o.push(It(s));
2469
2482
  }
2470
2483
  else {
2471
- if (!zt(t)) return Dt("kw_select() BAD kw parameter"), null;
2472
- r(t, n) && o.push(At(t));
2484
+ if (!zt(t)) return xt("kw_select() BAD kw parameter"), null;
2485
+ r(t, n) && o.push(It(t));
2473
2486
  }
2474
2487
  return o;
2475
- }, exports.kw_set_dict_value = hn, exports.kw_set_local_storage_value = On, exports.kw_set_subdict_value = En, exports.kwid_collect = Dn, exports.kwid_find_one_record = function(e, t, n, r, o) {
2476
- e && !tn(e) && Dt("GObj bad instanceof");
2477
- let s = Dn(e, t, n, r, o);
2488
+ }, exports.kw_set_dict_value = yn, exports.kw_set_local_storage_value = Nn, exports.kw_set_subdict_value = En, exports.kwid_collect = xn, exports.kwid_find_one_record = function(e, t, n, r, o) {
2489
+ e && !nn(e) && xt("GObj bad instanceof");
2490
+ let s = xn(e, t, n, r, o);
2478
2491
  return s.length > 0 ? s[0] : null;
2479
2492
  }, exports.kwid_get_ids = function(e, t) {
2480
- if (e && !tn(e) && Dt("GObj bad instanceof"), !t) return [];
2493
+ if (e && !nn(e) && xt("GObj bad instanceof"), !t) return [];
2481
2494
  let n = [];
2482
- if (qt(t)) n.push(t);
2495
+ if (Ht(t)) n.push(t);
2483
2496
  else if (zt(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
2484
2497
  else Qt(t) && t.forEach(function(t) {
2485
- if (qt(t)) nn(t) || n.push(t);
2498
+ if (Ht(t)) rn(t) || n.push(t);
2486
2499
  else if (zt(t)) {
2487
- let r = pn(e, t, "id", 0, 0);
2500
+ let r = dn(e, t, "id", 0, 0);
2488
2501
  r && n.push(r);
2489
2502
  }
2490
2503
  });
2491
2504
  return n;
2492
- }, exports.kwid_match_id = wn, exports.kwid_new_dict = function(e, t, n) {
2493
- e && !tn(e) && Dt("GObj bad instanceof");
2505
+ }, exports.kwid_match_id = Dn, exports.kwid_new_dict = function(e, t, n) {
2506
+ e && !nn(e) && xt("GObj bad instanceof");
2494
2507
  let r = {};
2495
- if (nn(n) || (t = un(e, t, n)), zt(t)) r = t;
2508
+ if (rn(n) || (t = cn(e, t, n)), zt(t)) r = t;
2496
2509
  else if (Qt(t)) for (let n = 0; n < t.length; n++) {
2497
- let o = t[n], s = pn(e, o, "id", "", 0);
2498
- nn(s) || (r[s] = o);
2510
+ let o = t[n], s = dn(e, o, "id", "", 0);
2511
+ rn(s) || (r[s] = o);
2499
2512
  }
2500
- else Dt(`${Ne(e)} kwid_new_dict: data type unknown`);
2513
+ else xt(`${Ne(e)} kwid_new_dict: data type unknown`);
2501
2514
  return r;
2502
2515
  }, exports.list2options = function(e, t, n) {
2503
2516
  t = t || "id", n = n || "value";
2504
2517
  let r = [];
2505
2518
  if (Qt(e)) for (let o = 0; o < e.length; o++) {
2506
2519
  let s = e[o];
2507
- if (qt(s)) r.push({
2520
+ if (Ht(s)) r.push({
2508
2521
  id: e[o],
2509
2522
  value: e[o]
2510
2523
  });
2511
2524
  else if (zt(s)) {
2512
2525
  let e = {};
2513
- if (an(s, t)) {
2514
- if (!an(s, n)) {
2515
- if (!(Jt(s) > 0)) {
2516
- Dt("list2options(): object without field value: " + n);
2526
+ if (un(s, t)) {
2527
+ if (!un(s, n)) {
2528
+ if (!(qt(s) > 0)) {
2529
+ xt("list2options(): object without field value: " + n);
2517
2530
  continue;
2518
2531
  }
2519
2532
  n = Object.keys(s)[0];
2520
2533
  }
2521
2534
  e.id = s[t], e.value = s[n];
2522
2535
  } else {
2523
- if (!(Jt(s) > 0)) {
2524
- Dt("list2options(): object without field id: " + t);
2536
+ if (!(qt(s) > 0)) {
2537
+ xt("list2options(): object without field id: " + t);
2525
2538
  continue;
2526
2539
  }
2527
2540
  t = Object.keys(s)[0], e.id = t, e.value = s[t];
2528
2541
  }
2529
2542
  r.push(e);
2530
- } else Dt("list2options(): case1 not implemented");
2543
+ } else xt("list2options(): case1 not implemented");
2531
2544
  }
2532
2545
  else if (zt(e)) for (let t of Object.keys(e)) r.push({
2533
2546
  id: t,
2534
2547
  value: t
2535
2548
  });
2536
- else Dt("list2options(): case2 not implemented");
2549
+ else xt("list2options(): case2 not implemented");
2537
2550
  return r;
2538
2551
  }, exports.load_json_file = function(e, t, n) {
2539
2552
  let r = new XMLHttpRequest();
@@ -2541,18 +2554,18 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2541
2554
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
2542
2555
  t(JSON.parse(r.responseText));
2543
2556
  } catch (e) {
2544
- n && (Dt(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
2557
+ n && (xt(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
2545
2558
  }
2546
2559
  else n && n(r.status);
2547
2560
  var e;
2548
2561
  }, r.send();
2549
- }, exports.log_debug = Rt, exports.log_error = Dt, exports.log_info = function(e) {
2550
- let t = wt(e), n = Wn();
2551
- Tt && Tt("%c" + n + " INFO: " + String(t), "color:cyan"), Ot("info", t, n);
2552
- }, exports.log_warning = xt, exports.msg_iev_get_msg_type = Pn, exports.msg_iev_get_stack = In, exports.msg_iev_push_stack = An, exports.msg_iev_read_key = kn, exports.msg_iev_set_msg_type = Ln, exports.msg_iev_write_key = $n, exports.node_uuid = Kn, exports.parseBoolean = rn, exports.parseSVG = function(e) {
2562
+ }, exports.log_debug = kt, exports.log_error = xt, exports.log_info = function(e) {
2563
+ let t = Dt(e), n = Mn();
2564
+ Tt && jt && Tt("%c" + n + " INFO: " + String(t), "color:cyan"), Nt("info", t, n);
2565
+ }, exports.log_warning = Rt, exports.msg_iev_get_msg_type = Un, exports.msg_iev_get_stack = Ln, exports.msg_iev_push_stack = In, exports.msg_iev_read_key = $n, exports.msg_iev_set_msg_type = Pn, exports.msg_iev_write_key = An, exports.node_uuid = Yn, exports.parseBoolean = on, exports.parseSVG = function(e) {
2553
2566
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2554
2567
  }, exports.refresh_language = function(e, t) {
2555
- en(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2568
+ tn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2556
2569
  let n = e.getAttribute("data-i18n");
2557
2570
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2558
2571
  n || (n = r.nodeValue), r.nodeValue = t(n);
@@ -2564,20 +2577,23 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2564
2577
  }), e.querySelectorAll("[data-i18n-aria-label]").forEach(function(e) {
2565
2578
  let n = e.getAttribute("data-i18n-aria-label");
2566
2579
  n && e.setAttribute("aria-label", t(n));
2567
- })) : Dt("You must supply a translation function");
2580
+ }), e.querySelectorAll("[data-i18n-placeholder]").forEach(function(e) {
2581
+ let n = e.getAttribute("data-i18n-placeholder");
2582
+ n && e.setAttribute("placeholder", t(n));
2583
+ })) : xt("You must supply a translation function");
2568
2584
  }, exports.register_c_ievent_cli = function() {
2569
2585
  return function(e) {
2570
- if (pr) return Dt(`GClass ALREADY created: ${e}`), -1;
2586
+ if (dr) return xt(`GClass ALREADY created: ${e}`), -1;
2571
2587
  const t = [
2572
2588
  ["ST_DISCONNECTED", [
2573
2589
  [
2574
2590
  "EV_ON_OPEN",
2575
- Sr,
2591
+ Or,
2576
2592
  "ST_WAIT_IDENTITY_CARD_ACK"
2577
2593
  ],
2578
2594
  [
2579
2595
  "EV_ON_CLOSE",
2580
- Or,
2596
+ Nr,
2581
2597
  null
2582
2598
  ],
2583
2599
  [
@@ -2594,22 +2610,22 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2594
2610
  ["ST_WAIT_IDENTITY_CARD_ACK", [
2595
2611
  [
2596
2612
  "EV_ON_MESSAGE",
2597
- Dr,
2613
+ xr,
2598
2614
  null
2599
2615
  ],
2600
2616
  [
2601
2617
  "EV_IDENTITY_CARD_ACK",
2602
- wr,
2618
+ Dr,
2603
2619
  null
2604
2620
  ],
2605
2621
  [
2606
2622
  "EV_ON_CLOSE",
2607
- Or,
2623
+ Nr,
2608
2624
  "ST_DISCONNECTED"
2609
2625
  ],
2610
2626
  [
2611
2627
  "EV_TIMEOUT",
2612
- Nr,
2628
+ wr,
2613
2629
  null
2614
2630
  ],
2615
2631
  [
@@ -2621,22 +2637,22 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2621
2637
  ["ST_SESSION", [
2622
2638
  [
2623
2639
  "EV_ON_MESSAGE",
2624
- Dr,
2640
+ xr,
2625
2641
  null
2626
2642
  ],
2627
2643
  [
2628
2644
  "EV_MT_STATS",
2629
- xr,
2645
+ Rr,
2630
2646
  null
2631
2647
  ],
2632
2648
  [
2633
2649
  "EV_MT_COMMAND",
2634
- Rr,
2650
+ kr,
2635
2651
  null
2636
2652
  ],
2637
2653
  [
2638
2654
  "EV_ON_CLOSE",
2639
- Or,
2655
+ Nr,
2640
2656
  "ST_DISCONNECTED"
2641
2657
  ],
2642
2658
  [
@@ -2647,7 +2663,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2647
2663
  ]],
2648
2664
  [null, null]
2649
2665
  ];
2650
- return (pr = V(e, [
2666
+ return (dr = V(e, [
2651
2667
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
2652
2668
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
2653
2669
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -2658,50 +2674,52 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2658
2674
  ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2659
2675
  ["EV_TIMEOUT", 0],
2660
2676
  [null, 0]
2661
- ], t, kr, 0, fr, gr, 0, 0, 0, O.gcflag_no_check_output_events)) ? 0 : -1;
2677
+ ], t, $r, 0, gr, pr, 0, 0, 0, O.gcflag_no_check_output_events)) ? 0 : -1;
2662
2678
  }("C_IEVENT_CLI");
2663
2679
  }, exports.register_c_timer = function() {
2664
2680
  return function(e) {
2665
- if (er) return Dt(`GClass ALREADY created: ${e}`), -1;
2681
+ if (tr) return xt(`GClass ALREADY created: ${e}`), -1;
2666
2682
  const t = [["ST_IDLE", [[
2667
2683
  "EV_TIMEOUT",
2668
- tr,
2684
+ nr,
2669
2685
  null
2670
2686
  ]]]];
2671
- return (er = V(e, [
2687
+ return (tr = V(e, [
2672
2688
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
2673
2689
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
2674
2690
  [0, 0]
2675
- ], t, nr, 0, Xn, Zn, 0, 0, 0, O.gcflag_manual_start)) ? 0 : -1;
2691
+ ], t, rr, 0, Zn, er, 0, 0, 0, O.gcflag_manual_start)) ? 0 : -1;
2676
2692
  }("C_TIMER");
2677
2693
  }, exports.register_c_yuno = function() {
2678
2694
  return function(e) {
2679
- if (_r) return Dt(`GClass ALREADY created: ${e}`), -1;
2695
+ if (ar) return xt(`GClass ALREADY created: ${e}`), -1;
2680
2696
  const t = [["ST_IDLE", [[
2681
2697
  "EV_TIMEOUT_PERIODIC",
2682
- ar,
2698
+ ur,
2683
2699
  null
2684
2700
  ]]]];
2685
- return (_r = V(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, ur, 0, ir, lr, 0, 0, 0, 0)) ? 0 : -1;
2701
+ return (ar = V(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, cr, 0, lr, _r, 0, 0, 0, 0)) ? 0 : -1;
2686
2702
  }("C_YUNO");
2687
2703
  }, exports.safeSrc = function(e) {
2688
2704
  if (!e) return "";
2689
2705
  const t = String(e).trim();
2690
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Gn(t);
2691
- }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
2706
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Vn(t);
2707
+ }, exports.sdata_flag_t = y, exports.send_http_json_post = function(e, t, n) {
2692
2708
  let r = new XMLHttpRequest();
2693
2709
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
2694
2710
  4 === r.readyState && n(r.status, r.responseText);
2695
2711
  }, r.send(t);
2712
+ }, exports.set_console_log_enabled = function(e) {
2713
+ jt = !!e;
2696
2714
  }, exports.set_log_callback = function(e) {
2697
- jt = "function" == typeof e ? e : null;
2698
- }, exports.set_remote_log_functions = Nt, exports.set_timeout = rr, exports.set_timeout_periodic = or, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Rn, exports.strcasecmp = sn, exports.strcmp = on, exports.strncmp = function(e, t, n) {
2715
+ St = "function" == typeof e ? e : null;
2716
+ }, exports.set_remote_log_functions = wt, exports.set_timeout = or, exports.set_timeout_periodic = sr, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = kn, exports.strcasecmp = ln, exports.strcmp = sn, exports.strncmp = function(e, t, n) {
2699
2717
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
2700
2718
  return r === o ? 0 : r > o ? 1 : -1;
2701
2719
  }, exports.strs_in_list = function(e, t, n) {
2702
- if (!e) return Dt("ERROR: strs_in_list() list empty"), !1;
2703
- if (!t) return Dt("ERROR: strs_in_list() str empty"), !1;
2704
- for (let r = 0; r < t.length; r++) if (Rn(e, t[r], n)) return !0;
2720
+ if (!e) return xt("ERROR: strs_in_list() list empty"), !1;
2721
+ if (!t) return xt("ERROR: strs_in_list() str empty"), !1;
2722
+ for (let r = 0; r < t.length; r++) if (kn(e, t[r], n)) return !0;
2705
2723
  return !1;
2706
2724
  }, exports.strstr = function(e, t, n) {
2707
2725
  var r;
@@ -2720,13 +2738,13 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2720
2738
  placeholder: void 0,
2721
2739
  fkey: null
2722
2740
  };
2723
- if (qt(t)) {
2741
+ if (Ht(t)) {
2724
2742
  let e = t.split(".");
2725
2743
  for (let t = 0; t < e.length; t++) {
2726
2744
  let r = e[t];
2727
- if (Rn(zn, r)) n.real_type || (n.real_type = r);
2728
- else if (Rn(qn, r)) n.type || (n.type = r);
2729
- else if (Rn(Qn, r)) switch (r) {
2745
+ if (kn(zn, r)) n.real_type || (n.real_type = r);
2746
+ else if (kn(Hn, r)) n.type || (n.type = r);
2747
+ else if (kn(Qn, r)) switch (r) {
2730
2748
  case "writable":
2731
2749
  n.is_writable = !0;
2732
2750
  break;
@@ -2738,23 +2756,23 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2738
2756
  }
2739
2757
  }
2740
2758
  n.real_type || (n.real_type = "string");
2741
- } else zt(t) ? (n = Hn(t), n.name || (n.name = e), n.header || (n.header = e)) : Qt(t) && (n.real_type = "array", n.enum_list = t);
2759
+ } else zt(t) ? (n = Xn(t), n.name || (n.name = e), n.header || (n.header = e)) : Qt(t) && (n.real_type = "array", n.enum_list = t);
2742
2760
  return n.type || (n.type = n.real_type), n;
2743
2761
  }, exports.timeTracker = function(e = "Time Tracker", t = !1) {
2744
2762
  const n = e, r = performance.now();
2745
2763
  let o = r;
2746
- return t && xt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", s = "") => {
2764
+ return t && Rt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", s = "") => {
2747
2765
  const i = performance.now(), l = (i - o) / 1e3, _ = (i - r) / 1e3;
2748
- return t && xt(`--\x3e ${n} ${e} - partial: ${l} sec, total: ${_} sec, ${s}`), o = i, {
2766
+ return t && Rt(`--\x3e ${n} ${e} - partial: ${l} sec, total: ${_} sec, ${s}`), o = i, {
2749
2767
  partial: l,
2750
2768
  total: _
2751
2769
  };
2752
2770
  } };
2753
- }, exports.trace_json = $t, exports.trace_msg = kt, exports.treedb_decoder_fkey = Jn, exports.treedb_decoder_hook = function(e, t) {
2754
- if (qt(t)) {
2771
+ }, exports.trace_json = At, exports.trace_msg = $t, exports.treedb_decoder_fkey = qn, exports.treedb_decoder_hook = function(e, t) {
2772
+ if (Ht(t)) {
2755
2773
  if (-1 === t.indexOf("^")) {
2756
2774
  let n, r = e.hook;
2757
- if (1 !== Yt(r)) return Dt("bad hook 1"), Dt(e), Dt(t), null;
2775
+ if (1 !== Bt(r)) return xt("bad hook 1"), xt(e), xt(t), null;
2758
2776
  for (let e of Object.keys(r)) {
2759
2777
  n = e, r[e];
2760
2778
  break;
@@ -2766,7 +2784,7 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2766
2784
  }
2767
2785
  {
2768
2786
  let n = t.split("^");
2769
- return 2 !== n.length ? (Dt("bad hook 2"), Dt(e), Dt(t), null) : {
2787
+ return 2 !== n.length ? (xt("bad hook 2"), xt(e), xt(t), null) : {
2770
2788
  topic_name: n[0],
2771
2789
  id: n[1]
2772
2790
  };
@@ -2775,16 +2793,16 @@ exports.GObj = S, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2775
2793
  return zt(t) ? {
2776
2794
  topic_name: t.topic_name,
2777
2795
  id: t.id
2778
- } : (Dt("bad hook 3"), Dt(e), Dt(t), null);
2796
+ } : (xt("bad hook 3"), xt(e), xt(t), null);
2779
2797
  }, exports.treedb_encoder_fkey = function(e, t) {
2780
- let n = Jn(e, t);
2798
+ let n = qn(e, t);
2781
2799
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
2782
- }, exports.treedb_get_field_desc = Hn, exports.treedb_hook_data_size = function(e) {
2783
- if (Qt(e) && 1 === Jt(e)) {
2800
+ }, exports.treedb_get_field_desc = Xn, exports.treedb_hook_data_size = function(e) {
2801
+ if (Qt(e) && 1 === qt(e)) {
2784
2802
  let t = e[0];
2785
- return an(t, "size") ? t.size : 1;
2803
+ return un(t, "size") ? t.size : 1;
2786
2804
  }
2787
- return Jt(e);
2805
+ return qt(e);
2788
2806
  }, exports.vsprintf = function(e, n) {
2789
2807
  return t.apply(null, [e].concat(n || []));
2790
2808
  };