@yuneta/gobj-js 7.25.9 → 7.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -116,7 +116,7 @@ var n = Object.create(null);
116
116
  function r(e, t, n, r, o) {
117
117
  return {
118
118
  result: t,
119
- comment: n || {},
119
+ comment: n || "",
120
120
  schema: r || {},
121
121
  data: o || []
122
122
  };
@@ -129,7 +129,7 @@ function o(e, t, n, r, o) {
129
129
  data: o || []
130
130
  };
131
131
  }
132
- var s = "7.0.0a", l = null, i = null, _ = null, a = null, u = null, c = null, f = [], g = Object.create(null), p = {}, d = null, b = null, m = 0, h = Object.freeze({
132
+ var s = "7.0.0a", l = null, i = null, _ = null, a = null, u = null, c = null, f = [], g = Object.create(null), p = Object.create(null), d = null, b = null, m = 0, h = Object.freeze({
133
133
  DTP_STRING: 1,
134
134
  DTP_BOOLEAN: 2,
135
135
  DTP_INTEGER: 3,
@@ -174,7 +174,7 @@ var y = class {
174
174
  }
175
175
  }, O = class {
176
176
  constructor(e, t, n, r, o) {
177
- 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 = Cn(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
177
+ 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 = Ln(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
178
  }
179
179
  }, S = Object.freeze({
180
180
  gcflag_manual_start: 1,
@@ -220,7 +220,7 @@ var y = class {
220
220
  };
221
221
  var A = 1;
222
222
  function I(e) {
223
- qn(e) && (e = JSON.stringify(e)), mn(" ".repeat(Math.max(1, 2 * m)) + String(e));
223
+ Qn(e) && (e = JSON.stringify(e)), hn(" ".repeat(Math.max(1, 2 * m)) + String(e));
224
224
  }
225
225
  var C = Object.freeze({
226
226
  TRACE_MACHINE: 65536,
@@ -322,7 +322,7 @@ function V(e, t) {
322
322
  return n;
323
323
  }
324
324
  function G(e, t, n) {
325
- if (or(e)) return void 0 === n ? 268369920 : 65535;
325
+ if (sr(e)) return void 0 === n ? 268369920 : 65535;
326
326
  if (/^[0-9]+$/.test(String(e))) {
327
327
  const t = Number(e);
328
328
  if (t) return t;
@@ -333,7 +333,7 @@ function G(e, t, n) {
333
333
  for (let n = 0; n < t.length && n < 16; n++) if (t[n] && t[n][0] === e) return 1 << n;
334
334
  }
335
335
  return 0;
336
- }(String(e), n) || (dn(`${t}: trace level NOT FOUND: ${e}`), 0);
336
+ }(String(e), n) || (bn(`${t}: trace level NOT FOUND: ${e}`), 0);
337
337
  }
338
338
  function M(e) {
339
339
  if (F) return 4294967295;
@@ -356,19 +356,19 @@ function B(e) {
356
356
  function J(e) {
357
357
  return M(e) & C.TRACE_EV_KW;
358
358
  }
359
- function H(e, t) {
359
+ function q(e, t) {
360
360
  if (F > 1) return !0;
361
361
  if (!e) return !1;
362
362
  const n = M(e);
363
363
  return !!(n & C.TRACE_MACHINE || n & C.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & C.TRACE_TIMER && "EV_TIMEOUT" === t);
364
364
  }
365
- function z(e, t) {
365
+ function H(e, t) {
366
366
  if (F > 1) return !1;
367
367
  if (!e) return !0;
368
368
  const n = W(e);
369
369
  return !!(n & C.TRACE_MACHINE || n & C.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & C.TRACE_TIMER && "EV_TIMEOUT" === t);
370
370
  }
371
- function q(e, t) {
371
+ function z(e, t) {
372
372
  const n = G(e, "gobj_set_global_trace");
373
373
  return n ? (t ? P |= n : P &= ~n, 0) : -1;
374
374
  }
@@ -389,32 +389,32 @@ function te() {
389
389
  return V(U, null);
390
390
  }
391
391
  function ne(e) {
392
- const t = Xn(e) ? je(e) : e;
393
- return t ? V(t.trace_level | P, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
392
+ const t = Zn(e) ? je(e) : e;
393
+ return t ? V(t.trace_level | P, t.s_user_trace_level) : (bn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
394
394
  }
395
395
  function re(e) {
396
- const t = Xn(e) ? je(e) : e;
397
- return t ? V(t.trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
396
+ const t = Zn(e) ? je(e) : e;
397
+ return t ? V(t.trace_level, t.s_user_trace_level) : (bn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
398
398
  }
399
399
  function oe(e) {
400
- const t = Xn(e) ? je(e) : e;
401
- return t ? V(t.no_trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
400
+ const t = Zn(e) ? je(e) : e;
401
+ return t ? V(t.no_trace_level, t.s_user_trace_level) : (bn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
402
402
  }
403
403
  function se(e, t, n) {
404
- const r = Xn(e) ? je(e) : e;
405
- if (!r) return dn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
404
+ const r = Zn(e) ? je(e) : e;
405
+ if (!r) return bn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
406
406
  const o = null === t ? 4294967295 : G(t, "gobj_set_gclass_trace", r.s_user_trace_level || null);
407
407
  return o ? (n ? r.trace_level |= o : r.trace_level &= ~o, 0) : -1;
408
408
  }
409
409
  function le(e, t, n) {
410
- const r = Xn(e) ? je(e) : e;
411
- if (!r) return dn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
410
+ const r = Zn(e) ? je(e) : e;
411
+ if (!r) return bn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
412
412
  const o = null === t ? 4294967295 : G(t, "gobj_set_gclass_no_trace", r.s_user_trace_level || null);
413
413
  return o ? (n ? r.no_trace_level |= o : r.no_trace_level &= ~o, 0) : -1;
414
414
  }
415
415
  function ie(e, t) {
416
416
  let n = {};
417
- if (!Qn(t)) return dn("sdata_desc MUST be an array"), En(t), n;
417
+ if (!Xn(t)) return bn("sdata_desc MUST be an array"), yn(t), n;
418
418
  for (let r = 0; r < t.length; r++) {
419
419
  const o = t[r];
420
420
  o.name && _e(e, n, o);
@@ -428,133 +428,135 @@ function _e(e, t, n) {
428
428
  r = String(o);
429
429
  break;
430
430
  case h.DTP_BOOLEAN:
431
- r = sr(o);
431
+ r = lr(o);
432
432
  break;
433
433
  case h.DTP_INTEGER:
434
- r = parseInt(o), isNaN(r) && dn(`${Ze(e)}: attr NaN: ${n.name}`);
434
+ r = parseInt(o), isNaN(r) && bn(`${Ze(e)}: attr NaN: ${n.name}`);
435
435
  break;
436
436
  case h.DTP_REAL:
437
- r = Number(o), isNaN(r) && dn(`${Ze(e)}: attr NaN: ${n.name}`);
437
+ r = Number(o), isNaN(r) && bn(`${Ze(e)}: attr NaN: ${n.name}`);
438
438
  break;
439
439
  case h.DTP_LIST:
440
- if (Xn(o)) try {
440
+ if (Zn(o)) try {
441
441
  r = JSON.parse(o);
442
442
  } catch (e) {
443
- dn(`JSON parse error: ${e.message}`);
443
+ bn(`JSON parse error: ${e.message}`);
444
444
  }
445
445
  else r = o;
446
- Qn(r) || (r = []);
446
+ Xn(r) || (r = []);
447
447
  break;
448
448
  case h.DTP_DICT:
449
- if (Xn(o)) try {
449
+ if (Zn(o)) try {
450
450
  r = JSON.parse(o);
451
451
  } catch (e) {
452
- dn(`JSON parse error: ${e.message}`);
452
+ bn(`JSON parse error: ${e.message}`);
453
453
  }
454
454
  else r = o;
455
- qn(r) || (r = {});
455
+ Qn(r) || (r = {});
456
456
  break;
457
457
  case h.DTP_JSON:
458
- if (Xn(o)) try {
458
+ if ("" === o || void 0 === o) r = null;
459
+ else if (Zn(o)) try {
459
460
  r = JSON.parse(o);
460
461
  } catch (e) {
461
- dn(`JSON parse error: ${e.message}`);
462
+ bn(`JSON parse error: ${e.message}`);
462
463
  }
463
464
  else r = o;
464
465
  break;
465
466
  case h.DTP_POINTER: r = o;
466
467
  }
467
- return void 0 === r && (dn(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
468
+ return void 0 === r && (bn(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
468
469
  }
469
470
  function ae(e, t, n, r) {
470
471
  let o;
471
472
  switch (n.type) {
472
473
  case h.DTP_STRING:
473
474
  if (null == r) o = "";
474
- else if (Xn(r)) o = String(r);
475
+ else if (Zn(r)) o = String(r);
475
476
  else {
476
477
  let e = JSON.stringify(r);
477
478
  e && (o = String(e));
478
479
  }
479
480
  break;
480
481
  case h.DTP_BOOLEAN:
481
- o = sr(r);
482
+ o = lr(r);
482
483
  break;
483
484
  case h.DTP_INTEGER:
484
- o = parseInt(r), isNaN(o) && dn(`${Ze(e)}: attr NaN: ${n.name}`);
485
+ if (o = parseInt(r), isNaN(o)) return bn(`${Ze(e)}: attr NaN: ${n.name}`), -1;
485
486
  break;
486
487
  case h.DTP_REAL:
487
- o = Number(r), isNaN(o) && dn(`${Ze(e)}: attr NaN: ${n.name}`);
488
+ if (o = Number(r), isNaN(o)) return bn(`${Ze(e)}: attr NaN: ${n.name}`), -1;
488
489
  break;
489
490
  case h.DTP_LIST:
490
- if (Xn(r)) try {
491
+ if (Zn(r)) try {
491
492
  o = JSON.parse(r);
492
493
  } catch (e) {
493
- dn(`JSON parse error: ${e.message}`);
494
+ bn(`JSON parse error: ${e.message}`);
494
495
  }
495
496
  else o = r;
496
- if (!Qn(o)) return dn(`attr must be an array: ${n.name}`), -1;
497
+ if (!Xn(o)) return bn(`attr must be an array: ${n.name}`), -1;
497
498
  break;
498
499
  case h.DTP_DICT:
499
- if (Xn(r)) try {
500
+ if (Zn(r)) try {
500
501
  o = JSON.parse(r);
501
502
  } catch (e) {
502
- dn(`JSON parse error: ${e.message}`);
503
+ bn(`JSON parse error: ${e.message}`);
503
504
  }
504
505
  else o = r;
505
- if (!qn(o)) return dn(`attr must be an object: ${n.name}`), -1;
506
+ if (!Qn(o)) return bn(`attr must be an object: ${n.name}`), -1;
506
507
  break;
507
508
  case h.DTP_JSON:
508
- if (Xn(r)) try {
509
- o = JSON.parse(r);
510
- } catch (e) {
511
- dn(`JSON parse error: ${e.message}`);
509
+ if (o = r, Zn(r)) {
510
+ const e = r.trim();
511
+ if (e.startsWith("{") || e.startsWith("[")) try {
512
+ o = JSON.parse(e);
513
+ } catch (e) {
514
+ o = r;
515
+ }
512
516
  }
513
- else o = r;
514
- if (!Qn(o) && !qn(o)) return dn(`attr must be a json dict/list: ${n.name}`), -1;
515
517
  break;
516
518
  case h.DTP_POINTER: o = r;
517
519
  }
518
- return void 0 === o && dn(`${Ze(e)}: attr undefined: ${n.name}`), t[n.name] = o, qn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
520
+ return void 0 === o && bn(`${Ze(e)}: attr undefined: ${n.name}`), t[n.name] = o, Qn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
519
521
  }
520
522
  function ue(e) {
521
523
  return e.jn_attrs;
522
524
  }
523
525
  function ce(e, t, n) {
524
- return mt(e, t) ? ue(e) : e && e.bottom_gobj ? ce(e.bottom_gobj, t, n) : (n && dn(`GClass Attribute NOT FOUND: ${Ze(e)}, attr ${t}`), null);
526
+ return mt(e, t) ? ue(e) : e && e.bottom_gobj ? ce(e.bottom_gobj, t, n) : (n && bn(`GClass Attribute NOT FOUND: ${Ze(e)}, attr ${t}`), null);
525
527
  }
526
528
  function fe(e, t, n) {
527
- if (!(e && e instanceof j)) return n && dn("gclass NULL"), null;
529
+ if (!(e && e instanceof j)) return n && bn("gclass NULL"), null;
528
530
  if (!t) return e.attrs_table;
529
531
  for (let n = 0; n < e.attrs_table.length; n++) {
530
532
  const r = e.attrs_table[n];
531
533
  if (r.name && r.name === t) return r;
532
534
  }
533
- return n && dn(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
535
+ return n && bn(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
534
536
  }
535
537
  function ge(e, t, n, r, o, s, l, i, _, a, u) {
536
- if (or(e)) return dn("gclass_name EMPTY"), null;
537
- if (e.includes("`") || e.includes("^") || e.includes(".")) return dn(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
538
- if (je(e)) return dn(`GClass ALREADY exists: ${e}`), null;
538
+ if (sr(e)) return bn("gclass_name EMPTY"), null;
539
+ if (e.includes("`") || e.includes("^") || e.includes(".")) return bn(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
540
+ if (je(e)) return bn(`GClass ALREADY exists: ${e}`), null;
539
541
  let c = new j(e, r, o, s, l, i, _, a, u);
540
542
  (function(e, t) {
541
- e && e instanceof j ? t ? g[t] ? dn(`gclass ALREADY REGISTERED: ${t}`) : g[t] = e : dn("gclass_name undefined") : dn("gclass undefined");
543
+ e && e instanceof j ? t ? g[t] ? bn(`gclass ALREADY REGISTERED: ${t}`) : g[t] = e : bn("gclass_name undefined") : bn("gclass undefined");
542
544
  })(c, e);
543
545
  const f = n.length;
544
546
  for (let e = 0; e < f; e++) {
545
547
  let t = n[e][0], r = n[e][1];
546
- if (or(t)) continue;
548
+ if (sr(t)) continue;
547
549
  if (me(c, t) < 0) return pe(c), null;
548
550
  const o = r.length;
549
551
  for (let e = 0; e < o; e++) {
550
552
  let n = r[e][0], o = r[e][1], s = r[e][2];
551
- or(n) || he(c, t, n, o, s);
553
+ sr(n) || he(c, t, n, o, s);
552
554
  }
553
555
  }
554
556
  for (let e = 0; e < t.length; e++) {
555
557
  let n = t[e][0], r = t[e][1];
556
- if (!or(n)) {
557
- if (Te(c, n)) return dn(`SMachine: event repeated in input_events: ${n}`), pe(c), null;
558
+ if (!sr(n)) {
559
+ if (Te(c, n)) return bn(`SMachine: event repeated in input_events: ${n}`), pe(c), null;
558
560
  ye(c, n, r);
559
561
  }
560
562
  }
@@ -566,13 +568,13 @@ function ge(e, t, n, r, o, s, l, i, _, a, u) {
566
568
  }
567
569
  function pe(e) {
568
570
  let t;
569
- if (Xn(e)) t = e;
571
+ if (Zn(e)) t = e;
570
572
  else {
571
- if (!(e instanceof j)) return dn("Cannot unregister gclass, type unknown"), -1;
573
+ if (!(e instanceof j)) return bn("Cannot unregister gclass, type unknown"), -1;
572
574
  t = e.gclass_name;
573
575
  }
574
576
  let n = g[t];
575
- return n ? n.instances > 0 ? (dn(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete g[t], 0) : (dn(`Cannot unregister gclass, not found: ${t}`), -1);
577
+ return n ? n.instances > 0 ? (bn(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete g[t], 0) : (bn(`Cannot unregister gclass, not found: ${t}`), -1);
576
578
  }
577
579
  function de(e, t) {
578
580
  const n = e.dl_states.length, r = e.dl_states;
@@ -591,22 +593,22 @@ function be(e, t) {
591
593
  return null;
592
594
  }
593
595
  function me(e, t) {
594
- return e instanceof j ? de(e, t) ? (dn(`state already exists: ${t}`), -1) : (e.dl_states.push(new $(t)), 0) : (dn("Cannot add state, typeof not GClass"), -1);
596
+ return e instanceof j ? de(e, t) ? (bn(`state already exists: ${t}`), -1) : (e.dl_states.push(new $(t)), 0) : (bn("Cannot add state, typeof not GClass"), -1);
595
597
  }
596
598
  function he(e, t, n, r, o) {
597
- if (!(e instanceof j)) return dn("Cannot add state, typeof not GClass"), -1;
598
- if (or(t)) return dn("state_name EMPTY"), -1;
599
+ if (!(e instanceof j)) return bn("Cannot add state, typeof not GClass"), -1;
600
+ if (sr(t)) return bn("state_name EMPTY"), -1;
599
601
  let s = de(e, t);
600
- return s ? be(s, n) ? (dn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new D(n, r, o)), 0) : (dn(`state not found: ${t}`), -1);
602
+ return s ? be(s, n) ? (bn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new D(n, r, o)), 0) : (bn(`state not found: ${t}`), -1);
601
603
  }
602
604
  function Ee(e, t, n) {
603
- or(t) || e.push(new k(t, n));
605
+ sr(t) || e.push(new k(t, n));
604
606
  }
605
607
  function ye(e, t, n) {
606
- return e instanceof j ? Ee(e.dl_events, t, n) : (dn("Cannot add state, typeof not GClass"), -1);
608
+ return e instanceof j ? Ee(e.dl_events, t, n) : (bn("Cannot add state, typeof not GClass"), -1);
607
609
  }
608
610
  function Te(e, t) {
609
- if (!(e instanceof j)) return dn("Cannot add state, typeof not GClass"), 0;
611
+ if (!(e instanceof j)) return bn("Cannot add state, typeof not GClass"), 0;
610
612
  const n = e.dl_events.length, r = e.dl_events;
611
613
  for (let e = 0; e < n; e++) {
612
614
  let n = r[e];
@@ -615,25 +617,25 @@ function Te(e, t) {
615
617
  return null;
616
618
  }
617
619
  function ve(e) {
618
- if (!(e instanceof j)) return dn("Cannot add state, typeof not GClass"), -1;
620
+ if (!(e instanceof j)) return bn("Cannot add state, typeof not GClass"), -1;
619
621
  let t = 0;
620
- Hn(e.dl_states) || (dn(`GClass without states: ${e.gclass_name}`), t += -1);
622
+ Hn(e.dl_states) || (bn(`GClass without states: ${e.gclass_name}`), t += -1);
621
623
  for (let n = 0; n < e.dl_states.length; n++) {
622
624
  let r = e.dl_states[n];
623
- if (!or(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
625
+ if (!sr(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
624
626
  let o = r.dl_actions[n];
625
- or(o.event_name) || (Te(e, o.event_name) || (dn(`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 && (de(e, o.next_state) || (dn(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
627
+ sr(o.event_name) || (Te(e, o.event_name) || (bn(`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 && (de(e, o.next_state) || (bn(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
626
628
  }
627
629
  }
628
630
  for (let n = 0; n < e.dl_events.length; n++) {
629
631
  let r = e.dl_events[n];
630
- if (!or(r.event_name) && (Zn(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
632
+ if (!sr(r.event_name) && (er(r.event_flag) || (bn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & R.EVF_OUTPUT_EVENT))) {
631
633
  let n = !1;
632
634
  for (let t = 0; t < e.dl_states.length; t++) {
633
635
  let o = e.dl_states[t];
634
- or(o.state_name) || be(o, r.event_name) && (n = !0);
636
+ sr(o.state_name) || be(o, r.event_name) && (n = !0);
635
637
  }
636
- n || (dn(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
638
+ n || (bn(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
637
639
  }
638
640
  }
639
641
  return t;
@@ -643,65 +645,69 @@ function je(e, t) {
643
645
  try {
644
646
  n = g[e];
645
647
  } catch (e) {}
646
- return n || (t && dn(`gclass not found: ${e}`), null);
648
+ return n || (t && bn(`gclass not found: ${e}`), null);
647
649
  }
648
650
  function Oe() {
649
651
  return !b || b.obflag & N.obflag_destroyed ? null : b;
650
652
  }
651
653
  function Se(e, t) {
654
+ if (!Zn(e)) return bn(`gobj_find_service(): service name must be a string: ${e}`), null;
652
655
  e = e.toLowerCase();
653
- return p[e] || (t && dn(`gobj service not found: ${e}`), null);
656
+ return p[e] || (t && bn(`gobj service not found: ${e}`), null);
654
657
  }
655
658
  function we(e) {
656
659
  let t = Qe(e);
657
- return t = t.toLowerCase(), p[t] && dn(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), p[t] = e, 0;
660
+ return t = t.toLowerCase(), p[t] && bn(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), p[t] = e, 0;
658
661
  }
659
662
  function Ne(e, t) {
660
- t.parent && dn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
663
+ t.parent && bn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
661
664
  }
662
665
  function Re(e, t) {
663
- let n = Kr(e.dl_children, t);
664
- n >= 0 && (Bn(e.dl_children, n), t.parent = null);
666
+ let n = Jr(e.dl_children, t);
667
+ n >= 0 && (Jn(e.dl_children, n), t.parent = null);
665
668
  }
666
669
  function xe(e, t) {
667
- return Ye(e) ? i ? i(e, t) : -1 : (dn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
670
+ return Ye(e) ? i ? i(e, t) : -1 : (bn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
668
671
  }
669
672
  function De(e, t) {
670
- "__json_config_variables__" !== t && dn(`GClass Attribute NOT FOUND: ${Ze(e)}, attr ${t}`);
673
+ "__json_config_variables__" !== t && bn(`GClass Attribute NOT FOUND: ${Ze(e)}, attr ${t}`);
671
674
  }
672
675
  function $e(e, t, n) {
673
676
  let r = t;
674
677
  (function(e, t, n, r, o) {
675
- if (!e || !t) return dn("hsdata or kw NULL"), -1;
678
+ if (!e || !t) return bn("hsdata or kw NULL"), -1;
676
679
  let s = 0;
677
680
  for (const [l, i] of Object.entries(t)) {
678
681
  const t = fe(o.gclass, l, !1);
679
- t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && bn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
682
+ t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && mn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
680
683
  }
681
684
  return s;
682
- })(ue(e), r, -1, e.gclass.gclass_flag & S.gcflag_ignore_unknown_attrs ? 0 : De, e) < 0 && (dn(`${Ze(e)} json2data() FAILED`), In(r));
685
+ })(ue(e), r, -1, e.gclass.gclass_flag & S.gcflag_ignore_unknown_attrs ? 0 : De, e) < 0 && (bn(`${Ze(e)} json2data() FAILED`), Cn(r));
683
686
  }
684
687
  function ke(e, n, r, o, s) {
685
688
  if (s & w.gobj_flag_yuno) {
686
- if (d) return dn("__yuno__ already created"), null;
689
+ if (d) return bn("__yuno__ already created"), null;
687
690
  s |= w.gobj_flag_service;
688
691
  } else {
689
- if (!o) return dn("gobj NEEDS a parent!"), null;
690
- if (!("string" == typeof o || o instanceof O)) return dn(`BAD TYPE of parent: ${o}`), null;
691
- if (Xn(o) && !(o = Se(o))) return bn(`parent service not found: ${o}`), null;
692
+ if (!o) return bn("gobj NEEDS a parent!"), null;
693
+ if (!("string" == typeof o || o instanceof O)) return bn(`BAD TYPE of parent: ${o}`), null;
694
+ if (Zn(o)) {
695
+ const e = o;
696
+ if (!(o = Se(e))) return mn(`parent service not found: ${e}`), null;
697
+ }
692
698
  }
693
- if (s & w.gobj_flag_service && Se(e, !1)) return dn(`service ALREADY registered: ${n}^${e}`), null;
699
+ if (s & w.gobj_flag_service && Se(e, !1)) return bn(`service ALREADY registered: ${n}^${e}`), null;
694
700
  if (s & w.gobj_flag_default_service) {
695
- if (b) return dn(`default service ALREADY registered: ${n}^${e}`), null;
701
+ if (b) return bn(`default service ALREADY registered: ${n}^${e}`), null;
696
702
  s |= w.gobj_flag_service;
697
703
  }
698
- if (or(n)) return dn("gclass_name must be a string"), null;
704
+ if (sr(n)) return bn("gclass_name must be a string"), null;
699
705
  let i = je(n, !1);
700
- if (!i) return dn(`GClass not registered: ${n}^${e}`), null;
701
- if (!Xn(e)) return dn(`gobj_name must be a string: ${n}`), null;
702
- if (!or(e)) {
703
- if (e.includes("`")) return dn(`gobj_name cannot contain char ': ${n}^${e}`), null;
704
- if (e.includes("^")) return dn(`gobj_name cannot contain char ^: ${n}^${e}`), null;
706
+ if (!i) return bn(`GClass not registered: ${n}^${e}`), null;
707
+ if (!Zn(e)) return bn(`gobj_name must be a string: ${n}`), null;
708
+ if (!sr(e)) {
709
+ if (e.includes("`")) return bn(`gobj_name cannot contain char ': ${n}^${e}`), null;
710
+ if (e.includes("^")) return bn(`gobj_name cannot contain char ^: ${n}^${e}`), null;
705
711
  }
706
712
  let _ = new O(e, i, r, o, s);
707
713
  _.jn_attrs = ie(_, i.attrs_table);
@@ -713,8 +719,8 @@ function Ae(e, t, n, r) {
713
719
  return ke(e, t, n, r, w.gobj_flag_pure_child);
714
720
  }
715
721
  function Ie(e) {
716
- if (ot(e)) return void dn("gobj NULL or DESTROYED");
717
- e.__refs__ > 0 && dn(`${Ze(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (dn(`Destroying a PLAYING gobj: ${et(e)}`), Me(e)), e.running && (dn(`Destroying a RUNNING gobj: ${et(e)}`), Ue(e)), e.obflag |= N.obflag_destroying, function(e) {
722
+ if (ot(e)) return void bn("gobj NULL or DESTROYED");
723
+ e.__refs__ > 0 && bn(`${Ze(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (bn(`Destroying a PLAYING gobj: ${et(e)}`), Me(e)), e.running && (bn(`Destroying a RUNNING gobj: ${et(e)}`), Ue(e)), e.obflag |= N.obflag_destroying, function(e) {
718
724
  if (0 === It.length) return;
719
725
  for (let t of It) t.src === e && (t.src = null);
720
726
  It = It.filter((t) => t.dst !== e);
@@ -724,8 +730,8 @@ function Ie(e) {
724
730
  let r = tt(e);
725
731
  r && r.gclass.gmt.mt_child_removed && (n && I(t("👦👦🔴 child_removed(%s): %s", et(r), Ze(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
726
732
  let t = Qe(e);
727
- t = t.toLowerCase(), p[t] ? delete p[t] : dn(`"service NOT found in register": ${t}`);
728
- }(e), Jt(e, e.dl_subscriptions, !0), Jt(e, e.dl_subscribings, !0), r && (Re(r, e), nt(e) && (st(r) !== e || ot(r) || lt(r, null))), function(e) {
733
+ t = t.toLowerCase(), p[t] ? delete p[t] : bn(`"service NOT found in register": ${t}`);
734
+ }(e), e === b && (b = null), Jt(e, e.dl_subscriptions, !0), Jt(e, e.dl_subscribings, !0), r && (Re(r, e), nt(e) && (st(r) !== e || ot(r) || lt(r, null))), function(e) {
729
735
  let t = e.dl_children.slice();
730
736
  for (let e = 0; e < t.length; e++) {
731
737
  let n = t[e];
@@ -734,9 +740,9 @@ function Ie(e) {
734
740
  }(e), e.obflag & N.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), n && I(t("💔💔⏪ destroyed: %s", et(e))), e.obflag |= N.obflag_destroyed, e.obflag & N.obflag_created && e.gclass.instances--;
735
741
  }
736
742
  function Ce(e) {
737
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
738
- if (e.running) return dn(`${Ze(e)}: GObj ALREADY RUNNING`), -1;
739
- if (e.disabled) return dn(`${Ze(e)}: GObj DISABLED`), -1;
743
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), -1;
744
+ if (e.running) return bn(`${Ze(e)}: GObj ALREADY RUNNING`), -1;
745
+ if (e.disabled) return bn(`${Ze(e)}: GObj DISABLED`), -1;
740
746
  B(e) && I(t("⏺ ⏺ start: %s", et(e))), e.running = !0;
741
747
  let n = 0;
742
748
  return e.gclass.gmt.mt_start && (n = e.gclass.gmt.mt_start(e)), n;
@@ -748,9 +754,9 @@ function Pe(e, t, n) {
748
754
  return e.gclass.gclass_flag & S.gcflag_manual_start || Ke(e) ? 1 : (We(e) || Ce(e), 0);
749
755
  }
750
756
  function Ue(e) {
751
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
752
- if (!e.running) return dn(`${Ze(e)}: GObj NOT RUNNING`), -1;
753
- e.playing && (bn(`${Ze(e)}: GObj stopping without previous pause`), Me(e)), B(e) && I(t("⏹ ⏹ stop: %s", et(e))), e.running = !1;
757
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), -1;
758
+ if (!e.running) return bn(`${Ze(e)}: GObj NOT RUNNING`), -1;
759
+ e.playing && (mn(`${Ze(e)}: GObj stopping without previous pause`), Me(e)), B(e) && I(t("⏹ ⏹ stop: %s", et(e))), e.running = !1;
754
760
  let n = 0;
755
761
  return e.gclass.gmt.mt_stop && (n = e.gclass.gmt.mt_stop(e)), n;
756
762
  }
@@ -758,22 +764,22 @@ function Fe(e, t, n) {
758
764
  return We(e) && Ue(e), 0;
759
765
  }
760
766
  function Ve(e) {
761
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Fe, 0, 0);
767
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Fe, 0, 0);
762
768
  }
763
769
  function Ge(e) {
764
- if (ot(e)) return dn(`gobj NULL or DESTROYED: ${Ze(e)}`), -1;
765
- if (e.playing) return dn(`${Ze(e)}: GObj ALREADY PLAYING`), -1;
766
- if (e.disabled) return dn(`${Ze(e)}: GObj DISABLED`), -1;
770
+ if (ot(e)) return bn(`gobj NULL or DESTROYED: ${Ze(e)}`), -1;
771
+ if (e.playing) return bn(`${Ze(e)}: GObj ALREADY PLAYING`), -1;
772
+ if (e.disabled) return bn(`${Ze(e)}: GObj DISABLED`), -1;
767
773
  if (!We(e)) {
768
- if (e.gclass.gclass_flag & S.gcflag_required_start_to_play) return dn(`${Ze(e)}: Cannot play, start not done`), -1;
769
- bn(`${Ze(e)}: GObj playing without previous start`), Ce(e);
774
+ if (e.gclass.gclass_flag & S.gcflag_required_start_to_play) return bn(`${Ze(e)}: Cannot play, start not done`), -1;
775
+ mn(`${Ze(e)}: GObj playing without previous start`), Ce(e);
770
776
  }
771
777
  B(e) && I(t("⏯ ⏯ play: %s", et(e))), e.playing = !0;
772
778
  let n = 0;
773
779
  return e.gclass.gmt.mt_play && (n = e.gclass.gmt.mt_play(e), (n < 0 || !1 === n) && (e.playing = !1)), n;
774
780
  }
775
781
  function Me(e) {
776
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.playing ? (B(e) && I(t("⏸ ⏸ pause: %s", et(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (dn(`${Ze(e)}: GObj NOT PLAYING`), -1);
782
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : e.playing ? (B(e) && I(t("⏸ ⏸ pause: %s", et(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (bn(`${Ze(e)}: GObj NOT PLAYING`), -1);
777
783
  }
778
784
  function We(e) {
779
785
  return !ot(e) && e.running;
@@ -790,63 +796,63 @@ function Be(e) {
790
796
  function Je() {
791
797
  return !d || d.obflag & N.obflag_destroyed ? null : d;
792
798
  }
793
- function He() {
799
+ function qe() {
794
800
  let e = Je();
795
801
  return e ? Qe(e) : "";
796
802
  }
797
- function ze() {
803
+ function He() {
798
804
  let e = Je();
799
805
  return e ? vt(e, "yuno_role") : "";
800
806
  }
801
- function qe() {
807
+ function ze() {
802
808
  let e = Je();
803
809
  return e ? vt(e, "yuno_id") : "";
804
810
  }
805
811
  function Qe(e) {
806
- return rr(e) ? e.gobj_name : (dn("gobj bad type"), null);
812
+ return or(e) ? e.gobj_name : (bn("gobj bad type"), null);
807
813
  }
808
814
  function Xe(e) {
809
- return rr(e) ? e.gclass.gclass_name : (dn("gobj NULL of bad type"), null);
815
+ return or(e) ? e.gclass.gclass_name : (bn("gobj NULL of bad type"), null);
810
816
  }
811
817
  function Ze(e) {
812
- return rr(e) ? e.gclass.gclass_name + "^" + Qe(e) : (dn("gobj bad type"), null);
818
+ return or(e) ? e.gclass.gclass_name + "^" + Qe(e) : (bn("gobj bad type"), null);
813
819
  }
814
820
  function et(e) {
815
- if (!rr(e)) return dn("gobj NULL of bad type"), null;
821
+ if (!or(e)) return bn("gobj NULL of bad type"), null;
816
822
  let t = Ze(e), n = tt(e);
817
823
  for (; n;) t = Ze(n) + "`" + t, n = tt(n);
818
824
  return t;
819
825
  }
820
826
  function tt(e) {
821
- return rr(e) ? e.parent : (dn("gobj NULL of bad type"), null);
827
+ return or(e) ? e.parent : (bn("gobj NULL of bad type"), null);
822
828
  }
823
829
  function nt(e) {
824
- return rr(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (dn("gobj NULL of bad type"), null);
830
+ return or(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (bn("gobj NULL of bad type"), null);
825
831
  }
826
832
  function rt(e) {
827
- return rr(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (dn("gobj NULL of bad type"), null);
833
+ return or(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (bn("gobj NULL of bad type"), null);
828
834
  }
829
835
  function ot(e) {
830
- return !rr(e) || !!(e.obflag & (N.obflag_destroyed | N.obflag_destroying));
836
+ return !or(e) || !!(e.obflag & (N.obflag_destroyed | N.obflag_destroying));
831
837
  }
832
838
  function st(e) {
833
- return rr(e) ? e.bottom_gobj : (dn("gobj NULL of bad type"), null);
839
+ return or(e) ? e.bottom_gobj : (bn("gobj NULL of bad type"), null);
834
840
  }
835
841
  function lt(e, t) {
836
- if (!rr(e)) return dn("gobj NULL of bad type"), null;
837
- e.bottom_gobj && bn(`${Ze(e)}: bottom_gobj already set`), e.bottom_gobj = t;
842
+ if (!or(e)) return bn("gobj NULL of bad type"), null;
843
+ e.bottom_gobj && t && mn(`${Ze(e)}: bottom_gobj already set`), e.bottom_gobj = t;
838
844
  }
839
845
  function it(e, t, n) {
840
- return rr(e) ? t ? fe(e.gclass, t, n) : e.gclass.attrs_table : (dn("gobj NULL of bad type"), null);
846
+ return or(e) ? t ? fe(e.gclass, t, n) : e.gclass.attrs_table : (bn("gobj NULL of bad type"), null);
841
847
  }
842
848
  function _t(e, t, n, r, o) {
843
- return ot(e) ? (dn("gobj NULL, destroying, or bad type"), 0) : ct(e.dl_children, t, n, r, o);
849
+ return ot(e) ? (bn("gobj NULL, destroying, or bad type"), 0) : ct(e.dl_children, t, n, r, o);
844
850
  }
845
851
  function at(e, t, n, r, o) {
846
- return ot(e) ? (dn("gobj NULL, destroying, or bad type"), 0) : gt(e.dl_children, t, n, r, o);
852
+ return ot(e) ? (bn("gobj NULL, destroying, or bad type"), 0) : gt(e.dl_children, t, n, r, o);
847
853
  }
848
854
  function ut(e) {
849
- return "number" == typeof e && isFinite(e) ? e : (null == e || dn(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
855
+ return "number" == typeof e && isFinite(e) ? e : (null == e || bn(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
850
856
  }
851
857
  function ct(e, t, n, r, o) {
852
858
  let s, l = [...e];
@@ -884,7 +890,7 @@ function gt(e, t, n, r, o) {
884
890
  return 0;
885
891
  }
886
892
  function pt(e, t) {
887
- if (!rr(e)) return dn("gobj NULL of bad type"), !1;
893
+ if (!or(e)) return bn("gobj NULL of bad type"), !1;
888
894
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
889
895
  t.__disabled__;
890
896
  let s = t.__state__;
@@ -900,7 +906,7 @@ function pt(e, t) {
900
906
  return !0;
901
907
  }
902
908
  function dt(e, t) {
903
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
909
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), null;
904
910
  const n = e.dl_children;
905
911
  for (let e = 0; e < n.length; e++) {
906
912
  const r = n[e];
@@ -928,7 +934,7 @@ function bt(e, t) {
928
934
  return s ? (n.splice(0, 1), n = n.join("`"), bt(s, n)) : null;
929
935
  }
930
936
  function mt(e, t) {
931
- return !or(t) && !!fe(e.gclass, t, !1);
937
+ return !sr(t) && !!fe(e.gclass, t, !1);
932
938
  }
933
939
  function ht(e, t, n) {
934
940
  let r = e.jn_attrs;
@@ -936,7 +942,7 @@ function ht(e, t, n) {
936
942
  let n = r[t];
937
943
  return e.gclass.gmt.mt_reading ? e.gclass.gmt.mt_reading(e, t, n) : n;
938
944
  }
939
- return dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
945
+ return bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
940
946
  }
941
947
  function Et(e, t, n) {
942
948
  let r = {}, o = e.gclass.attrs_table;
@@ -944,41 +950,41 @@ function Et(e, t, n) {
944
950
  const s = o[n];
945
951
  if (s.name && (-1 === t || s.flag & t)) {
946
952
  let t;
947
- !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? t = Vn(e.jn_attrs, s.name) : (t = e.gclass.gmt.mt_reading(e, s.name), void 0 === t && (t = Vn(e.jn_attrs, s.name))), Mn(r, s.name, t);
953
+ !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? t = Gn(e.jn_attrs, s.name) : (t = e.gclass.gmt.mt_reading(e, s.name), void 0 === t && (t = Gn(e.jn_attrs, s.name))), Wn(r, s.name, t);
948
954
  }
949
955
  }
950
956
  return r;
951
957
  }
952
958
  function yt(e, t) {
953
959
  if (t) {
954
- if (0 === ir(t, "__disabled__")) return Ke(e);
955
- if (0 === ir(t, "__running__")) return We(e);
956
- if (0 === ir(t, "__playing__")) return Be(e);
957
- if (0 === ir(t, "__service__")) return Ye(e);
960
+ if (0 === _r(t, "__disabled__")) return Ke(e);
961
+ if (0 === _r(t, "__running__")) return We(e);
962
+ if (0 === _r(t, "__playing__")) return Be(e);
963
+ if (0 === _r(t, "__service__")) return Ye(e);
958
964
  }
959
965
  let n = ce(e, t, !1);
960
- return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Vn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
966
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Gn(n, t) : e.gclass.gmt.mt_reading(e, t) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
961
967
  }
962
968
  function Tt(e, t) {
963
- t && ir(t, "__trace_level__");
969
+ t && _r(t, "__trace_level__");
964
970
  let n = ce(e, t, !1);
965
- return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Vn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
971
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Gn(n, t) : e.gclass.gmt.mt_reading(e, t) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
966
972
  }
967
973
  function vt(e, t) {
968
- if (t && 0 === ir(t, "__state__")) return Dt(e);
974
+ if (t && 0 === _r(t, "__state__")) return Dt(e);
969
975
  let n = ce(e, t, !1);
970
- return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Vn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
976
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Gn(n, t) : e.gclass.gmt.mt_reading(e, t) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
971
977
  }
972
978
  function jt(e, t) {
973
979
  let n = ce(e, t, !1);
974
- return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Vn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
980
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & N.obflag_destroyed ? Gn(n, t) : e.gclass.gmt.mt_reading(e, t) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
975
981
  }
976
982
  function Ot(e, n, r, o) {
977
- if (!Xn(n)) return dn(t("gobj_write_attr(%s): path must be a string", Ze(e))), -1;
983
+ if (!Zn(n)) return bn(t("gobj_write_attr(%s): path must be a string", Ze(e))), -1;
978
984
  let s, l = e.jn_attrs, i = n.split("`");
979
985
  if (i.length <= 1) {
980
986
  let o = n;
981
- return o in l && l.hasOwnProperty(o) ? (l[o] = r, qn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (dn(t("gobj_write_attr(%s): attr not found '%s'", Ze(e), o)), -1);
987
+ return o in l && l.hasOwnProperty(o) ? (l[o] = r, Qn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (bn(t("gobj_write_attr(%s): attr not found '%s'", Ze(e), o)), -1);
982
988
  }
983
989
  let _ = i.length;
984
990
  for (let t = 0; t < _; t++) {
@@ -989,10 +995,10 @@ function Ot(e, n, r, o) {
989
995
  continue;
990
996
  }
991
997
  let o = e.jn_attrs;
992
- if (s in o && o.hasOwnProperty(s)) return o[s] = r, qn(e.priv) && e.priv.hasOwnProperty(s) && (e.priv[s] = r), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.mt_writing && e.mt_writing(e, s), 0;
998
+ if (s in o && o.hasOwnProperty(s)) return o[s] = r, Qn(e.priv) && e.priv.hasOwnProperty(s) && (e.priv[s] = r), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, s), 0;
993
999
  break;
994
1000
  }
995
- return dn(t("gobj_write_attr(%s): attr not found '%s'", Ze(e), s)), -1;
1001
+ return bn(t("gobj_write_attr(%s): attr not found '%s'", Ze(e), s)), -1;
996
1002
  }
997
1003
  function St(e, t, n, r) {
998
1004
  let o = ue(e), s = 0;
@@ -1004,32 +1010,32 @@ function St(e, t, n, r) {
1004
1010
  }
1005
1011
  function wt(e, t, n) {
1006
1012
  let r = ce(e, t, !1);
1007
- return r ? (r[t] = sr(n), qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1013
+ return r ? (r[t] = lr(n), Qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1008
1014
  }
1009
1015
  function Nt(e, t, n) {
1010
1016
  let r = ce(e, t, !1);
1011
- return r ? (r[t] = parseInt(n), qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1017
+ return r ? (r[t] = parseInt(n), Qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1012
1018
  }
1013
1019
  function Rt(e, t, n) {
1014
1020
  let r = ce(e, t, !1);
1015
- return r ? (r[t] = String(n), qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1021
+ return r ? (r[t] = String(n), Qn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & N.obflag_created && !(e.obflag & N.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (bn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1016
1022
  }
1017
1023
  function xt(e, n) {
1018
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
1024
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), null;
1019
1025
  if (e.current_state.state_name === n) return !1;
1020
1026
  let r = de(e.gclass, n);
1021
- if (!r) return dn(`${Ze(e)}: state unknown, state ${n}`), !1;
1027
+ if (!r) return bn(`${Ze(e)}: state unknown, state ${n}`), !1;
1022
1028
  e.last_state = e.current_state, e.current_state = r;
1023
- let o = H(e, "EV_STATE_CHANGED"), s = !!function(e) {
1029
+ let o = q(e, "EV_STATE_CHANGED"), s = !!function(e) {
1024
1030
  return M(e) & C.TRACE_STATES;
1025
1031
  }(e);
1026
1032
  return (o || s) && (1 === A || I(t("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Xe(e), Qe(e), Dt(e), e.last_state.state_name))), !0;
1027
1033
  }
1028
1034
  function Dt(e) {
1029
- return rr(e) ? e.current_state.state_name : (dn("hgobj NULL"), "");
1035
+ return or(e) ? e.current_state.state_name : (bn("hgobj NULL"), "");
1030
1036
  }
1031
1037
  function $t(e, t, n) {
1032
- if (!rr(e)) return dn("gobj NULL of bad type"), null;
1038
+ if (!or(e)) return bn("gobj NULL of bad type"), null;
1033
1039
  let r = Te(e.gclass, t);
1034
1040
  if (r) return r;
1035
1041
  if (n) {
@@ -1055,32 +1061,50 @@ function Lt() {
1055
1061
  let e = It;
1056
1062
  It = [];
1057
1063
  let t = 0;
1058
- for (let n of e) n.dst.obflag & (N.obflag_destroyed | N.obflag_destroying) || (Pt(n.dst, n.event, n.kw, n.src), t++);
1064
+ for (let n = 0; n < e.length; n++) {
1065
+ const r = e[n];
1066
+ if (!(r.dst.obflag & (N.obflag_destroyed | N.obflag_destroying))) {
1067
+ try {
1068
+ Pt(r.dst, r.event, r.kw, r.src);
1069
+ } catch (t) {
1070
+ throw (It = e.slice(n + 1).concat(It)).length > 0 && !Ct && (Ct = !0, setTimeout(Lt, 0)), t;
1071
+ }
1072
+ t++;
1073
+ }
1074
+ }
1059
1075
  return It.length > 0 && !Ct && (Ct = !0, setTimeout(Lt, 0)), t;
1060
1076
  }
1061
1077
  function Pt(e, n, r, o) {
1062
- if (!(e && e instanceof O)) return dn("gobj dst NULL"), -1;
1063
- if (e.obflag & (N.obflag_destroyed | N.obflag_destroying)) return dn("gobj dst DESTROYED"), -1;
1078
+ if (!(e && e instanceof O)) return bn("gobj dst NULL"), -1;
1079
+ if (e.obflag & (N.obflag_destroyed | N.obflag_destroying)) return bn("gobj dst DESTROYED"), -1;
1064
1080
  let s = e.current_state;
1065
- if (!s) return dn(`${Ze(e)}: current_state NULL`), -1;
1066
- let l = H(e, n) && !z(o, n);
1081
+ if (!s) return bn(`${Ze(e)}: current_state NULL`), -1;
1082
+ let l = q(e, n) && !H(o, n);
1067
1083
  m++;
1068
1084
  let i = be(s, n);
1069
- if (!i) return e.gclass.gmt.mt_inject_event ? (m--, l && (I(1 === A ? t("🔜 %s %s%s %s", n || "", e.running ? "" : "!!", Ze(e), s.state_name) : t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ze(e), s.state_name, n || "", o && !o.running ? "!!" : "", Ze(o))), r && J(e) && Jn(r) && In(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (l && I(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, n || "", o && !o.running ? "!!" : "", Xe(o), Qe(o))), dn(`📛📛 Event NOT DEFINED in state 📛📛: ${Ze(e)}, ${s.state_name}, ${n}`), m--, -1);
1085
+ if (!i) return e.gclass.gmt.mt_inject_event ? (m--, l && (I(1 === A ? t("🔜 %s %s%s %s", n || "", e.running ? "" : "!!", Ze(e), s.state_name) : t("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ze(e), s.state_name, n || "", o && !o.running ? "!!" : "", Ze(o))), r && J(e) && qn(r) && Cn(r)), e.gclass.gmt.mt_inject_event(e, n, r, o)) : (l && I(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, n || "", o && !o.running ? "!!" : "", Xe(o), Qe(o))), bn(`📛📛 Event NOT DEFINED in state 📛📛: ${Ze(e)}, ${s.state_name}, ${n}`), m--, -1);
1070
1086
  if (l) {
1071
1087
  if (1 === A) I(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", Ze(e), s.state_name, o && !o.running ? "!!" : "", Ze(o)));
1072
1088
  else {
1073
1089
  let r = "";
1074
- i.action && (r = Br(i.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Xe(o), Qe(o)));
1090
+ i.action && (r = Hr(i.action)), I(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Xe(e), Qe(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Xe(o), Qe(o)));
1075
1091
  }
1076
- r && J(e) && Jn(r) && In(r);
1092
+ r && J(e) && qn(r) && Cn(r);
1077
1093
  }
1078
1094
  i.next_state && xt(e, i.next_state);
1079
1095
  let _ = -1;
1080
1096
  try {
1081
1097
  i.action && (_ = i.action(e, n, r, o));
1082
- } finally {}
1083
- return !l || 1 === A || e.obflag & N.obflag_destroyed || I(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Xe(e), Qe(e), e.current_state.state_name, n || "", Zn(_) ? _ : 0)), m--, _;
1098
+ } catch (t) {
1099
+ if (m--, !t || !t.__gobj_logged__) {
1100
+ bn(`${Ze(e)}: action of ${n} in ${s.state_name} THREW: ${t && t.stack ? t.stack : t}`);
1101
+ try {
1102
+ t.__gobj_logged__ = !0;
1103
+ } catch (e) {}
1104
+ }
1105
+ throw t;
1106
+ }
1107
+ return !l || 1 === A || e.obflag & N.obflag_destroyed || I(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Xe(e), Qe(e), e.current_state.state_name, n || "", er(_) ? _ : 0)), m--, _;
1084
1108
  }
1085
1109
  var Ut = Object.freeze({
1086
1110
  __rename_event_name__: 1,
@@ -1113,35 +1137,35 @@ var Vt = [
1113
1137
  ];
1114
1138
  function Gt(e, t) {
1115
1139
  let n = e ? e.__config__ : null;
1116
- if (!qn(n) || !ur(n, "__hard_subscription__") && !ur(n, "__own_event__") && !ur(n, "__rename_event_name__")) return {
1140
+ if (!Qn(n) || !cr(n, "__hard_subscription__") && !cr(n, "__own_event__") && !cr(n, "__rename_event_name__")) return {
1117
1141
  kw: e,
1118
1142
  renamed_event: ""
1119
1143
  };
1120
1144
  let r = Object.assign({}, e), o = Object.assign({}, n);
1121
1145
  r.__config__ = o;
1122
- let s = "", l = o.__rename_event_name__, i = "string" != typeof l || or(l) ? null : Ft(l);
1146
+ let s = "", l = o.__rename_event_name__, i = "string" != typeof l || sr(l) ? null : Ft(l);
1123
1147
  return i && (s = i.event_name, delete o.__rename_event_name__, t && zn(r.__global__) > 0 && (r.__global__ = Object.assign({}, r.__global__, { __original_event_name__: t }))), delete o.__hard_subscription__, delete o.__own_event__, {
1124
1148
  kw: r,
1125
1149
  renamed_event: s
1126
1150
  };
1127
1151
  }
1128
1152
  function Mt(e, t, n, r, o, s) {
1129
- let l = mr(t, o, "__config__", null), i = mr(t, o, "__global__", null), _ = mr(t, o, "__local__", null), a = hr(t, o, "__filter__", null), u = !0;
1130
- if (t && t !== br(null, e, "publisher", null) && (u = !1), s && s !== br(null, e, "subscriber", null) && (u = !1), n && n !== dr(null, e, "event", "") && (u = !1), r && r !== dr(null, e, "renamed_event", "") && (u = !1), zn(l) > 0) {
1131
- let t = mr(null, e, "__config__", null);
1132
- zn(t) > 0 && Ln(t, l) || (u = !1);
1153
+ let l = yr(t, o, "__config__", null), i = yr(t, o, "__global__", null), _ = yr(t, o, "__local__", null), a = Tr(t, o, "__filter__", null), u = !0;
1154
+ if (t && t !== Er(null, e, "publisher", null) && (u = !1), s && s !== Er(null, e, "subscriber", null) && (u = !1), n && n !== hr(null, e, "event", "") && (u = !1), r && r !== hr(null, e, "renamed_event", "") && (u = !1), zn(l) > 0) {
1155
+ let t = yr(null, e, "__config__", null);
1156
+ zn(t) > 0 && Pn(t, l) || (u = !1);
1133
1157
  }
1134
1158
  if (zn(i) > 0) {
1135
- let t = mr(null, e, "__global__", null);
1136
- zn(t) > 0 && Ln(t, i) || (u = !1);
1159
+ let t = yr(null, e, "__global__", null);
1160
+ zn(t) > 0 && Pn(t, i) || (u = !1);
1137
1161
  }
1138
1162
  if (zn(_) > 0) {
1139
- let t = mr(null, e, "__local__", null);
1140
- zn(t) > 0 && Ln(t, _) || (u = !1);
1163
+ let t = yr(null, e, "__local__", null);
1164
+ zn(t) > 0 && Pn(t, _) || (u = !1);
1141
1165
  }
1142
1166
  if (zn(a) > 0) {
1143
- let t = hr(null, e, "__filter__", null);
1144
- zn(t) > 0 && Ln(t, a) || (u = !1);
1167
+ let t = Tr(null, e, "__filter__", null);
1168
+ zn(t) > 0 && Pn(t, a) || (u = !1);
1145
1169
  }
1146
1170
  return u;
1147
1171
  }
@@ -1149,7 +1173,7 @@ function Wt(e, t, n, r, o, s) {
1149
1173
  let l = [];
1150
1174
  for (let i = 0; i < e.length; i++) {
1151
1175
  let _ = e[i];
1152
- Mt(_, t, n, r, o, s) && Kn(l, _);
1176
+ Mt(_, t, n, r, o, s) && Yn(l, _);
1153
1177
  }
1154
1178
  return l;
1155
1179
  }
@@ -1157,17 +1181,17 @@ function Kt(e, t) {
1157
1181
  return e.indexOf(t);
1158
1182
  }
1159
1183
  function Yt(e, n, r, o) {
1160
- let s = br(e, n, "publisher", null, Qt.KW_REQUIRED), l = br(e, n, "subscriber", null, Qt.KW_REQUIRED), i = dr(e, n, "event", "", Qt.KW_REQUIRED);
1161
- if (!!(pr(e, n, "subs_flag", null, Qt.KW_REQUIRED) & Ut.__hard_subscription__) && !r) return -1;
1184
+ let s = Er(e, n, "publisher", null, Qt.KW_REQUIRED), l = Er(e, n, "subscriber", null, Qt.KW_REQUIRED), i = hr(e, n, "event", "", Qt.KW_REQUIRED);
1185
+ if (!!(mr(e, n, "subs_flag", null, Qt.KW_REQUIRED) & Ut.__hard_subscription__) && !r) return -1;
1162
1186
  let _ = Y(l) || Y(s);
1163
1187
  if (Kt(s.dl_subscriptions, n) < 0) return _ && I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", Ze(s), Ze(l))), 1;
1164
- _ && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", Ze(s), Ze(l))), En(n)), s.obflag & N.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
1188
+ _ && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", Ze(s), Ze(l))), yn(n)), s.obflag & N.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
1165
1189
  let a = Kt(s.dl_subscriptions, n);
1166
- return a >= 0 ? Bn(s.dl_subscriptions, a) : (dn(`${Ze(e)}: subscription in publisher not found`), En(n)), a = Kt(l.dl_subscribings, n), a >= 0 ? Bn(l.dl_subscribings, a) : (dn(`${Ze(e)}: subscription in subscriber not found`), En(n)), 0;
1190
+ return a >= 0 ? Jn(s.dl_subscriptions, a) : (bn(`${Ze(e)}: subscription in publisher not found`), yn(n)), a = Kt(l.dl_subscribings, n), a >= 0 ? Jn(l.dl_subscribings, a) : (bn(`${Ze(e)}: subscription in subscriber not found`), yn(n)), 0;
1167
1191
  }
1168
1192
  function Bt(e, n, r, o) {
1169
- if (null == r && (r = {}), !e) return dn(`publisher NULL: ev ${n}`), 0;
1170
- if (!o) return dn(`subscriber NULL: ev ${n}`), 0;
1193
+ if (null == r && (r = {}), !e) return bn(`publisher NULL: ev ${n}`), 0;
1194
+ if (!o) return bn(`subscriber NULL: ev ${n}`), 0;
1171
1195
  const s = /* @__PURE__ */ new Set([
1172
1196
  "__config__",
1173
1197
  "__global__",
@@ -1176,49 +1200,49 @@ function Bt(e, n, r, o) {
1176
1200
  "__service__"
1177
1201
  ]);
1178
1202
  if (Object.keys(r).forEach((t) => {
1179
- s.has(t) || dn(`${Ze(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
1180
- }), or(n)) n = "";
1181
- else if (!(At(e, n, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${Ze(e)}, ${n}`), 0;
1203
+ s.has(t) || bn(`${Ze(e)}: key ignored in subscription (key: ${t}, event: ${n})`);
1204
+ }), sr(n)) n = "";
1205
+ else if (!(At(e, n, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return bn(`event NOT in output event list: ${Ze(e)}, ${n}`), 0;
1182
1206
  let l = Gt(r, n), i = Wt(e.dl_subscriptions, e, n, l.renamed_event, l.kw, o), _ = null;
1183
- for (let t = 0; t < i.length; t++) if (pr(e, i[t], "subs_flag", 0, Qt.KW_REQUIRED) & Ut.__hard_subscription__) {
1207
+ for (let t = 0; t < i.length; t++) if (mr(e, i[t], "subs_flag", 0, Qt.KW_REQUIRED) & Ut.__hard_subscription__) {
1184
1208
  _ = i[t];
1185
1209
  break;
1186
1210
  }
1187
- if (_) return bn(`${Ze(e)}: Hard subscription REPEATED, the one there is kept and returned (event: ${n}, subscriber: ${Ze(o)})`), _;
1188
- Hn(i) > 0 && (dn(`${Ze(e)}: ${Hn(i)} subscription(s) REPEATED, will be deleted and override`), En(i, "subscription REPEATED"), Jt(e, i, !1));
1211
+ if (_) return mn(`${Ze(e)}: Hard subscription REPEATED, the one there is kept and returned (event: ${n}, subscriber: ${Ze(o)})`), _;
1212
+ Hn(i) > 0 && (bn(`${Ze(e)}: ${Hn(i)} subscription(s) REPEATED, will be deleted and override`), yn(i, "subscription REPEATED"), Jt(e, i, !1));
1189
1213
  let a = function(e, t, n, r) {
1190
1214
  let o = ie(e, Vt);
1191
- Wn(o, "event", t), Wn(o, "subscriber", r), Wn(o, "publisher", e);
1215
+ Kn(o, "event", t), Kn(o, "subscriber", r), Kn(o, "publisher", e);
1192
1216
  let s = 0;
1193
1217
  if (n) {
1194
- let r = mr(e, n, "__config__", null), l = mr(e, n, "__global__", null), i = mr(e, n, "__local__", null), _ = hr(e, n, "__filter__", null), a = dr(e, n, "__service__", "");
1195
- if (zn(l) > 0 && Wn(o, "__global__", Cn(l)), zn(r) > 0) {
1196
- let n = Cn(r);
1197
- Wn(o, "__config__", n);
1198
- let l = dr(e, n, "__rename_event_name__", "");
1199
- if (!or(l)) {
1218
+ let r = yr(e, n, "__config__", null), l = yr(e, n, "__global__", null), i = yr(e, n, "__local__", null), _ = Tr(e, n, "__filter__", null), a = hr(e, n, "__service__", "");
1219
+ if (zn(l) > 0 && Kn(o, "__global__", Ln(l)), zn(r) > 0) {
1220
+ let n = Ln(r);
1221
+ Kn(o, "__config__", n);
1222
+ let l = hr(e, n, "__rename_event_name__", "");
1223
+ if (!sr(l)) {
1200
1224
  let r = Ft(l);
1201
1225
  if (r) {
1202
- Wn(o, "renamed_event", r.event_name), delete n.__rename_event_name__, s |= Ut.__rename_event_name__;
1203
- let l = mr(e, o, "__global__", null);
1204
- qn(l) || (l = {}, Wn(o, "__global__", l)), l.__original_event_name__ = t;
1205
- } else dn(`${Ze(e)}: EVENT NOT FOUND (__rename_event_name__: ${l})`);
1226
+ Kn(o, "renamed_event", r.event_name), delete n.__rename_event_name__, s |= Ut.__rename_event_name__;
1227
+ let l = yr(e, o, "__global__", null);
1228
+ Qn(l) || (l = {}, Kn(o, "__global__", l)), l.__original_event_name__ = t;
1229
+ } else bn(`${Ze(e)}: EVENT NOT FOUND (__rename_event_name__: ${l})`);
1206
1230
  }
1207
- if (ur(n, "__hard_subscription__")) {
1208
- let t = gr(e, n, "__hard_subscription__", !1);
1209
- Gn(n, "__hard_subscription__"), t && (s |= Ut.__hard_subscription__);
1231
+ if (cr(n, "__hard_subscription__")) {
1232
+ let t = br(e, n, "__hard_subscription__", !1);
1233
+ Mn(n, "__hard_subscription__"), t && (s |= Ut.__hard_subscription__);
1210
1234
  }
1211
- if (ur(n, "__own_event__")) {
1212
- let t = gr(e, n, "__own_event__", !1);
1213
- Gn(n, "__own_event__"), t && (s |= Ut.__own_event__);
1235
+ if (cr(n, "__own_event__")) {
1236
+ let t = br(e, n, "__own_event__", !1);
1237
+ Mn(n, "__own_event__"), t && (s |= Ut.__own_event__);
1214
1238
  }
1215
1239
  }
1216
- zn(i) > 0 && Wn(o, "__local__", Cn(i)), zn(_) > 0 && Wn(o, "__filter__", Cn(_)), or(a) || Wn(o, "__service__", a);
1240
+ zn(i) > 0 && Kn(o, "__local__", Ln(i)), zn(_) > 0 && Kn(o, "__filter__", Ln(_)), sr(a) || Kn(o, "__service__", a);
1217
1241
  }
1218
- return Wn(o, "subs_flag", s), o;
1242
+ return Kn(o, "subs_flag", s), o;
1219
1243
  }(e, n, r, o);
1220
- if (!a) return dn(`${Ze(e)}: _create_subscription() FAILED`), 0;
1221
- if (Kn(e.dl_subscriptions, a), Kn(o.dl_subscribings, a), (Y(o) || Y(e)) && (I(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Ze(e), Ze(o))), r && (J(o) || J(e)) && In(r)), e.gclass.gmt.mt_subscription_added) {
1244
+ if (!a) return bn(`${Ze(e)}: _create_subscription() FAILED`), 0;
1245
+ if (Yn(e.dl_subscriptions, a), Yn(o.dl_subscribings, a), (Y(o) || Y(e)) && (I(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", Ze(e), Ze(o))), r && (J(o) || J(e)) && Cn(r)), e.gclass.gmt.mt_subscription_added) {
1222
1246
  let t = e.gclass.gmt.mt_subscription_added(e, a);
1223
1247
  (t < 0 || !1 === t) && (Yt(e, a, !0, !0), a = 0);
1224
1248
  }
@@ -1227,21 +1251,21 @@ function Bt(e, n, r, o) {
1227
1251
  function Jt(e, t, n) {
1228
1252
  let r = [...t], o = 0;
1229
1253
  for (let t = 0; t < r.length; t++) Yt(e, r[t], n, !1) > 0 && o++;
1230
- return o && bn(`${Ze(e)}: Subscription(s) already removed, nothing to remove (count: ${o})`), 0;
1254
+ return o && mn(`${Ze(e)}: Subscription(s) already removed, nothing to remove (count: ${o})`), 0;
1231
1255
  }
1232
- function Ht(e, t, n, r) {
1256
+ function qt(e, t, n, r) {
1233
1257
  return null == n && (n = {}), Wt(e.dl_subscriptions, e, t, null, n, r);
1234
1258
  }
1235
- function zt(e, t, n, r) {
1259
+ function Ht(e, t, n, r) {
1236
1260
  return Wt(e.dl_subscribings, r, t, null, n, e);
1237
1261
  }
1238
- function qt(e, n, r) {
1239
- if (qn(r) || (r = {}), !e || e.obflag & (N.obflag_destroyed | N.obflag_destroying)) return dn("gobj NULL or DESTROYED"), -1;
1240
- if (or(n)) return dn(`${Ze(e)}: event EMPTY`), -1;
1262
+ function zt(e, n, r) {
1263
+ if (Qn(r) || (r = {}), !e || e.obflag & (N.obflag_destroyed | N.obflag_destroying)) return bn("gobj NULL or DESTROYED"), -1;
1264
+ if (sr(n)) return bn(`${Ze(e)}: event EMPTY`), -1;
1241
1265
  let o = $t(e, n, !0);
1242
- if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${Ze(e)}, ev ${n}`), -1;
1243
- let s = (Y(e) || H(e, n)) && !z(e, n);
1244
- if (s && (I(1 === A ? t("🔝🔝 %s %s%s %s", n || "", e.running ? "" : "!!", Ze(e), e.current_state.state_name) : t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Xe(e), Qe(e), e.current_state.state_name, "", n || "", "")), J(e) && Jn(r) && In(r)), e.gclass.gmt.mt_publish_event) {
1266
+ if (!(o && o.event_flag & (R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return bn(`event NOT in output event list: ${Ze(e)}, ev ${n}`), -1;
1267
+ let s = (Y(e) || q(e, n)) && !H(e, n);
1268
+ if (s && (I(1 === A ? t("🔝🔝 %s %s%s %s", n || "", e.running ? "" : "!!", Ze(e), e.current_state.state_name) : t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Xe(e), Qe(e), e.current_state.state_name, "", n || "", "")), J(e) && qn(r) && Cn(r)), e.gclass.gmt.mt_publish_event) {
1245
1269
  let t = e.gclass.gmt.mt_publish_event(e, n, r);
1246
1270
  if (t <= 0) return t;
1247
1271
  }
@@ -1253,20 +1277,20 @@ function qt(e, n, r) {
1253
1277
  if (t < 0) break;
1254
1278
  if (!t) continue;
1255
1279
  }
1256
- let u = br(e, a, "subscriber", null, Qt.KW_REQUIRED);
1280
+ let u = Er(e, a, "subscriber", null, Qt.KW_REQUIRED);
1257
1281
  if (!u || ot(u)) continue;
1258
- let c = pr(e, a, "subs_flag", 0, Qt.KW_REQUIRED), f = dr(e, a, "event", "", Qt.KW_REQUIRED);
1259
- if (or(f) || 0 === ir(f, n)) {
1260
- mr(e, a, "__config__", null, 0);
1261
- let o = mr(e, a, "__global__", null, 0), l = mr(e, a, "__local__", null, 0), f = hr(e, a, "__filter__", null, 0), g = a.renamed_event;
1262
- or(g) && (g = n);
1282
+ let c = mr(e, a, "subs_flag", 0, Qt.KW_REQUIRED), f = hr(e, a, "event", "", Qt.KW_REQUIRED);
1283
+ if (sr(f) || 0 === _r(f, n)) {
1284
+ yr(e, a, "__config__", null, 0);
1285
+ let o = yr(e, a, "__global__", null, 0), l = yr(e, a, "__local__", null, 0), f = Tr(e, a, "__filter__", null, 0), g = a.renamed_event;
1286
+ sr(g) && (g = n);
1263
1287
  let p = 1;
1264
- if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, r, u) : zn(f) > 0 && (p = vr(r, f) ? 1 : 0, s && (I(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Ze(u), Ze(e))), En(f))), p < 0) break;
1288
+ if (e.gclass.gmt.mt_publication_filter ? p = e.gclass.gmt.mt_publication_filter(e, n, r, u) : zn(f) > 0 && (p = Sr(r, f) ? 1 : 0, s && (I(t("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", p ? "👍" : "👎", n || "", Ze(u), Ze(e))), yn(f))), p < 0) break;
1265
1289
  if (!p) continue;
1266
1290
  let d = $t(u, n, !0);
1267
1291
  if (d && d.event_flag & R.EVF_SYSTEM_EVENT && !kt(u, d.event_name, 0)) continue;
1268
1292
  let b = r;
1269
- (zn(l) > 0 || zn(o) > 0) && (b = Object.assign({}, r)), zn(l) > 0 && ar(b, l), zn(o) > 0 && Pn(b, Cn(o)), s && (I(1 === A ? t("🔝🔄 %s (%s) %s%s", n || "", g || "", u.running ? "" : "!!", Ze(u)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", Ze(u), Dt(u), n || "", g || "", e && !e.running ? "!!" : "", Ze(e))), J(e) && Jn(b) && In(b));
1293
+ (zn(l) > 0 || zn(o) > 0) && (b = Object.assign({}, r)), zn(l) > 0 && ur(b, l), zn(o) > 0 && Un(b, Ln(o)), s && (I(1 === A ? t("🔝🔄 %s (%s) %s%s", n || "", g || "", u.running ? "" : "!!", Ze(u)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", Ze(u), Dt(u), n || "", g || "", e && !e.running ? "!!" : "", Ze(e))), J(e) && qn(b) && Cn(b));
1270
1294
  let m = Pt(u, g, b, e);
1271
1295
  if (m < 0 && c & Ut.__own_event__) {
1272
1296
  i = -1;
@@ -1275,7 +1299,7 @@ function qt(e, n, r) {
1275
1299
  if (_ += m, i++, ot(e)) break;
1276
1300
  }
1277
1301
  }
1278
- return i || o && o.event_flag & R.EVF_NO_WARN_SUBS || bn(`${Ze(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
1302
+ return i || o && o.event_flag & R.EVF_NO_WARN_SUBS || mn(`${Ze(e)}: Publish event WITHOUT subscribers, ev ${n}`), _;
1279
1303
  }
1280
1304
  var Qt = Object.freeze({
1281
1305
  KW_REQUIRED: 1,
@@ -1339,9 +1363,17 @@ function gn(e) {
1339
1363
  e ? (Zt = e, en = e) : (Zt = Xt.error, en = Xt.warn);
1340
1364
  }
1341
1365
  function pn(e) {
1366
+ try {
1367
+ return JSON.stringify(e);
1368
+ } catch (t) {
1369
+ return String(e);
1370
+ }
1371
+ }
1372
+ function dn(e) {
1342
1373
  const t = Array.prototype.slice.call(arguments);
1343
1374
  let n = "";
1344
1375
  if ("string" == typeof e) {
1376
+ if (1 === t.length) return e;
1345
1377
  let r = 1;
1346
1378
  n = e.replace(/%[sdifoO]/g, (e) => {
1347
1379
  const n = t[r++];
@@ -1351,35 +1383,35 @@ function pn(e) {
1351
1383
  case "%i": return parseInt(n);
1352
1384
  case "%f": return parseFloat(n);
1353
1385
  case "%o":
1354
- case "%O": return "object" == typeof n ? JSON.stringify(n) : String(n);
1386
+ case "%O": return "object" == typeof n ? pn(n) : String(n);
1355
1387
  default: return e;
1356
1388
  }
1357
1389
  });
1358
- const o = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
1390
+ const o = t.slice(r).map((e) => "object" == typeof e ? pn(e) : String(e));
1359
1391
  o.length > 0 && (n += " " + o.join(" "));
1360
- } else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
1392
+ } else n = t.map((e) => "object" == typeof e ? pn(e) : String(e)).join(" ");
1361
1393
  return n;
1362
1394
  }
1363
- function dn(e) {
1364
- let t = pn(e), n = Wr();
1365
- Zt && (Zt === Xt.error ? an("error", t) && Zt("%c" + n + " ERROR: " + String(t), "color:red") : (an("error", t) && Xt.error("%c" + n + " ERROR: " + String(t), "color:red"), Zt(`${n} ERROR: ${String(t)}`))), cn("error", t, n);
1395
+ function bn(e, ...t) {
1396
+ let n = dn(e, ...t), r = Br();
1397
+ Zt && (Zt === Xt.error ? an("error", n) && Zt("%c" + r + " ERROR: " + String(n), "color:red") : (an("error", n) && Xt.error("%c" + r + " ERROR: " + String(n), "color:red"), Zt(`${r} ERROR: ${String(n)}`))), cn("error", n, r);
1366
1398
  }
1367
- function bn(e) {
1368
- let t = pn(e), n = Wr();
1369
- en && (en === Xt.warn ? an("warning", t) && en("%c" + n + " WARNING: " + String(t), "color:yellow") : (an("warning", t) && Xt.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), en(`${n} WARNING: ${String(t)}`))), cn("warning", t, n);
1399
+ function mn(e, ...t) {
1400
+ let n = dn(e, ...t), r = Br();
1401
+ en && (en === Xt.warn ? an("warning", n) && en("%c" + r + " WARNING: " + String(n), "color:yellow") : (an("warning", n) && Xt.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), en(`${r} WARNING: ${String(n)}`))), cn("warning", n, r);
1370
1402
  }
1371
- function mn(e) {
1372
- let t = pn(e), n = Wr();
1373
- nn && an("debug", t) && nn("%c" + n + " DEBUG: " + String(t), "color:silver"), cn("debug", t, n);
1403
+ function hn(e, ...t) {
1404
+ let n = dn(e, ...t), r = Br();
1405
+ nn && an("debug", n) && nn("%c" + r + " DEBUG: " + String(n), "color:silver"), cn("debug", n, r);
1374
1406
  }
1375
- function hn(e) {
1376
- let t = pn(e), n = Wr();
1377
- nn && an("msg", t) && nn("%c" + n + " MSG: " + String(t), "color:cyan"), cn("msg", t, n);
1407
+ function En(e, ...t) {
1408
+ let n = dn(e, ...t), r = Br();
1409
+ nn && an("msg", n) && nn("%c" + r + " MSG: " + String(n), "color:cyan"), cn("msg", n, r);
1378
1410
  }
1379
- function En(e, t) {
1380
- an("json", t) && (t && Xt.warn("=====> " + t), Xt.dir(e)), cn("json", e, Wr());
1411
+ function yn(e, t) {
1412
+ an("json", t) && (t && Xt.warn("=====> " + t), Xt.dir(e)), cn("json", e, Br());
1381
1413
  }
1382
- var yn = [
1414
+ var Tn = [
1383
1415
  "passw",
1384
1416
  "pwd",
1385
1417
  "passphrase",
@@ -1391,12 +1423,12 @@ var yn = [
1391
1423
  "cookie",
1392
1424
  "credential",
1393
1425
  "salt"
1394
- ], Tn = [
1426
+ ], vn = [
1395
1427
  "apikey",
1396
1428
  "sessionid",
1397
1429
  "sessionkey",
1398
1430
  "authdata"
1399
- ], vn = /* @__PURE__ */ new Set([
1431
+ ], jn = /* @__PURE__ */ new Set([
1400
1432
  "endpoint",
1401
1433
  "url",
1402
1434
  "uri",
@@ -1420,25 +1452,25 @@ var yn = [
1420
1452
  "expires",
1421
1453
  "mode"
1422
1454
  ]);
1423
- function jn(e) {
1455
+ function On(e) {
1424
1456
  if ("string" != typeof e || e.length < 3) return !1;
1425
1457
  let t = e.toLowerCase(), n = !1;
1426
- for (const e of yn) if (t.indexOf(e) >= 0) {
1458
+ for (const e of Tn) if (t.indexOf(e) >= 0) {
1427
1459
  n = !0;
1428
1460
  break;
1429
1461
  }
1430
1462
  if (!n) {
1431
1463
  let e = t.replace(/[_\-. \t]/g, "");
1432
- for (const t of Tn) if (e.indexOf(t) >= 0) {
1464
+ for (const t of vn) if (e.indexOf(t) >= 0) {
1433
1465
  n = !0;
1434
1466
  break;
1435
1467
  }
1436
1468
  }
1437
1469
  if (n || (n = t.indexOf("priv") >= 0 && t.indexOf("key") >= 0), !n) return !1;
1438
- for (const e of t.split(/[_\-. \t]/)) if (vn.has(e)) return !1;
1470
+ for (const e of t.split(/[_\-. \t]/)) if (jn.has(e)) return !1;
1439
1471
  return !0;
1440
1472
  }
1441
- function On(e, t, n) {
1473
+ function Sn(e, t, n) {
1442
1474
  const r = (e) => " " === e || " " === e, o = (t) => n && e[t] === n && (t + 1 >= e.length || r(e[t + 1]));
1443
1475
  let s = t;
1444
1476
  for (;;) {
@@ -1454,12 +1486,12 @@ function On(e, t, n) {
1454
1486
  s = t;
1455
1487
  }
1456
1488
  }
1457
- var Sn = 128, wn = 4194304, Nn = "<not shown: too large to mask>";
1458
- function Rn(e) {
1489
+ var wn = 128, Nn = 4194304, Rn = "<not shown: too large to mask>";
1490
+ function xn(e) {
1459
1491
  if ("string" != typeof e || e.indexOf("=") < 0) return null;
1460
- if (e.length > wn) return Nn;
1492
+ if (e.length > Nn) return Rn;
1461
1493
  let t, n = !1, r = /(^|[ \t])attribute=["']?([^ \t"']*)/g;
1462
- for (; null !== (t = r.exec(e));) jn(t[2].slice(-128)) && (n = !0);
1494
+ for (; null !== (t = r.exec(e));) On(t[2].slice(-128)) && (n = !0);
1463
1495
  let o = [], s = 0, l = !1, i = "", _ = 0, a = 0;
1464
1496
  const u = (t) => t >= e.length || " " === e[t] || " " === e[t];
1465
1497
  for (; a < e.length;) {
@@ -1472,8 +1504,8 @@ function Rn(e) {
1472
1504
  a++;
1473
1505
  continue;
1474
1506
  }
1475
- let r = e.substring(Math.max(_, a - Sn), a);
1476
- if (_ = a + 1, !(jn(r) || n && "value" === r.toLowerCase())) {
1507
+ let r = e.substring(Math.max(_, a - wn), a);
1508
+ if (_ = a + 1, !(On(r) || n && "value" === r.toLowerCase())) {
1477
1509
  a++;
1478
1510
  continue;
1479
1511
  }
@@ -1482,18 +1514,18 @@ function Rn(e) {
1482
1514
  if (f) {
1483
1515
  for (c = a + 1; c < e.length && e[c] !== f;) c++;
1484
1516
  e[c] === f && c++;
1485
- } else c = On(e, a, i);
1517
+ } else c = Sn(e, a, i);
1486
1518
  c > a && (o.push(e.substring(s, a)), o.push("********"), s = c, l = !0), a = c, _ = a;
1487
1519
  }
1488
1520
  return l ? (o.push(e.substring(s)), o.join("")) : null;
1489
1521
  }
1490
- var xn = 64, Dn = "<not shown: the masking failed>";
1491
- var $n = Symbol("mask-in-progress");
1492
- function kn(e, t, n, r) {
1522
+ var Dn = 64, $n = "<not shown: the masking failed>";
1523
+ var kn = Symbol("mask-in-progress");
1524
+ function An(e, t, n, r) {
1493
1525
  if ("string" == typeof e) {
1494
- if (e.length > r.left) return r.left = 0, Nn;
1526
+ if (e.length > r.left) return r.left = 0, Rn;
1495
1527
  r.left -= e.length;
1496
- let t = Rn(e);
1528
+ let t = xn(e);
1497
1529
  return null !== t ? t : e;
1498
1530
  }
1499
1531
  let o = Array.isArray(e);
@@ -1502,13 +1534,13 @@ function kn(e, t, n, r) {
1502
1534
  let t = Object.getPrototypeOf(e);
1503
1535
  return t === Object.prototype || null === t;
1504
1536
  }(e)) return e;
1505
- if (r.left <= 0) return Nn;
1537
+ if (r.left <= 0) return Rn;
1506
1538
  if (t.has(e)) {
1507
1539
  let n = t.get(e);
1508
- return n === $n ? "<cycle>" : n;
1540
+ return n === kn ? "<cycle>" : n;
1509
1541
  }
1510
- if (n >= xn) return "<deeper not shown>";
1511
- r.left -= 1, t.set(e, $n);
1542
+ if (n >= Dn) return "<deeper not shown>";
1543
+ r.left -= 1, t.set(e, kn);
1512
1544
  let s, l = !1, i = !1;
1513
1545
  if (o) {
1514
1546
  s = [];
@@ -1518,13 +1550,13 @@ function kn(e, t, n, r) {
1518
1550
  break;
1519
1551
  }
1520
1552
  r.left -= 1;
1521
- let _ = kn(e[o], t, n + 1, r);
1553
+ let _ = An(e[o], t, n + 1, r);
1522
1554
  _ !== e[o] && (l = !0), s.push(_);
1523
1555
  }
1524
- i && s.push(Nn);
1556
+ i && s.push(Rn);
1525
1557
  } else {
1526
1558
  s = Object.create(Object.getPrototypeOf(e));
1527
- let o = "string" == typeof e.attribute && jn(e.attribute.slice(-128));
1559
+ let o = "string" == typeof e.attribute && On(e.attribute.slice(-128));
1528
1560
  for (const _ in e) {
1529
1561
  if (!Object.prototype.hasOwnProperty.call(e, _)) continue;
1530
1562
  if (r.left <= 0) {
@@ -1533,33 +1565,33 @@ function kn(e, t, n, r) {
1533
1565
  }
1534
1566
  r.left -= 1 + _.length;
1535
1567
  let a, u = e[_];
1536
- a = (jn(_.slice(-128)) || o && "value" === _) && null != u && "" !== u ? "********" : kn(u, t, n + 1, r), a !== u && (l = !0), s[_] = a;
1568
+ a = (On(_.slice(-128)) || o && "value" === _) && null != u && "" !== u ? "********" : An(u, t, n + 1, r), a !== u && (l = !0), gr(s, _, a);
1537
1569
  }
1538
- i && (s["<more>"] = Nn);
1570
+ i && (s["<more>"] = Rn);
1539
1571
  }
1540
1572
  return l || i || (s = e), t.set(e, s), s;
1541
1573
  }
1542
- function An(e) {
1574
+ function In(e) {
1543
1575
  try {
1544
- return kn(e, /* @__PURE__ */ new WeakMap(), 0, { left: wn });
1576
+ return An(e, /* @__PURE__ */ new WeakMap(), 0, { left: Nn });
1545
1577
  } catch (e) {
1546
- return Dn;
1578
+ return $n;
1547
1579
  }
1548
1580
  }
1549
- function In(e, t) {
1550
- En(An(e), t);
1581
+ function Cn(e, t) {
1582
+ yn(In(e), t);
1551
1583
  }
1552
- function Cn(e) {
1584
+ function Ln(e) {
1553
1585
  return structuredClone(e);
1554
1586
  }
1555
- function Ln(e, t) {
1587
+ function Pn(e, t) {
1556
1588
  if (e === t) return !0;
1557
1589
  if (null === e || null === t) return e === t;
1558
1590
  if (typeof e != typeof t) return !1;
1559
1591
  if (Array.isArray(e) !== Array.isArray(t)) return !1;
1560
1592
  if (Array.isArray(e)) {
1561
1593
  if (e.length !== t.length) return !1;
1562
- for (let n = 0; n < e.length; n++) if (!Ln(e[n], t[n])) return !1;
1594
+ for (let n = 0; n < e.length; n++) if (!Pn(e[n], t[n])) return !1;
1563
1595
  return !0;
1564
1596
  }
1565
1597
  if ("object" == typeof e) {
@@ -1567,275 +1599,286 @@ function Ln(e, t) {
1567
1599
  if (n.length !== r.length) return !1;
1568
1600
  for (let o = 0; o < n.length; o++) {
1569
1601
  if (n[o] !== r[o]) return !1;
1570
- if (!Ln(e[n[o]], t[r[o]])) return !1;
1602
+ if (!Pn(e[n[o]], t[r[o]])) return !1;
1571
1603
  }
1572
1604
  return !0;
1573
1605
  }
1574
1606
  return e === t;
1575
1607
  }
1576
- function Pn(e, t) {
1577
- if (!t) return e;
1578
- for (let n of Object.keys(t)) e[n] = t[n];
1579
- return e;
1580
- }
1581
1608
  function Un(e, t) {
1582
1609
  if (!t) return e;
1583
- for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1610
+ for (let n of Object.keys(t)) gr(e, n, t[n]);
1584
1611
  return e;
1585
1612
  }
1586
1613
  function Fn(e, t) {
1587
1614
  if (!t) return e;
1588
- for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1615
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && Object.prototype.hasOwnProperty.call(e, n) && gr(e, n, t[n]);
1589
1616
  return e;
1590
1617
  }
1591
1618
  function Vn(e, t) {
1592
- if (e && e.hasOwnProperty(t)) return e[t];
1619
+ if (!t) return e;
1620
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && !Object.prototype.hasOwnProperty.call(e, n) && gr(e, n, t[n]);
1621
+ return e;
1593
1622
  }
1594
1623
  function Gn(e, t) {
1595
- e && e.hasOwnProperty(t) && delete e[t];
1624
+ if (e && Object.prototype.hasOwnProperty.call(e, t)) return e[t];
1596
1625
  }
1597
- function Mn(e, t, n) {
1598
- e[t] = n;
1626
+ function Mn(e, t) {
1627
+ e && Object.prototype.hasOwnProperty.call(e, t) && delete e[t];
1599
1628
  }
1600
1629
  function Wn(e, t, n) {
1601
- e[t] = n;
1630
+ gr(e, t, n);
1602
1631
  }
1603
- function Kn(e, t) {
1604
- e.push(t);
1632
+ function Kn(e, t, n) {
1633
+ gr(e, t, n);
1605
1634
  }
1606
1635
  function Yn(e, t) {
1607
1636
  e.push(t);
1608
1637
  }
1609
1638
  function Bn(e, t) {
1639
+ e.push(t);
1640
+ }
1641
+ function Jn(e, t) {
1610
1642
  e.splice(t, 1);
1611
1643
  }
1612
- function Jn(e) {
1613
- return qn(e) ? Object.keys(e).length : 0;
1644
+ function qn(e) {
1645
+ return Qn(e) ? Object.keys(e).length : 0;
1614
1646
  }
1615
1647
  function Hn(e) {
1616
- return Qn(e) ? e.length : 0;
1648
+ return Xn(e) ? e.length : 0;
1617
1649
  }
1618
1650
  function zn(e) {
1619
- return qn(e) ? Object.keys(e).length : Qn(e) ? e.length : Xn(e) && e.length > 0 ? 1 : 0;
1620
- }
1621
- function qn(e) {
1622
- return null !== e && "object" == typeof e && !Array.isArray(e);
1651
+ return Qn(e) ? Object.keys(e).length : Xn(e) ? e.length : Zn(e) && e.length > 0 ? 1 : 0;
1623
1652
  }
1624
1653
  function Qn(e) {
1625
- return Array.isArray(e);
1654
+ return null !== e && "object" == typeof e && !Array.isArray(e);
1626
1655
  }
1627
1656
  function Xn(e) {
1628
- return "string" == typeof e;
1657
+ return Array.isArray(e);
1629
1658
  }
1630
1659
  function Zn(e) {
1631
- return "number" == typeof e && Number.isFinite(e);
1660
+ return "string" == typeof e;
1632
1661
  }
1633
1662
  function er(e) {
1634
- return "boolean" == typeof e;
1663
+ return "number" == typeof e && Number.isFinite(e);
1635
1664
  }
1636
1665
  function tr(e) {
1637
- return null == e;
1666
+ return "boolean" == typeof e;
1638
1667
  }
1639
1668
  function nr(e) {
1640
- return "function" == typeof e;
1669
+ return null == e;
1641
1670
  }
1642
1671
  function rr(e) {
1643
- return e instanceof O;
1672
+ return "function" == typeof e;
1644
1673
  }
1645
1674
  function or(e) {
1646
- return !Xn(e) || 0 === e.length;
1675
+ return e instanceof O;
1647
1676
  }
1648
1677
  function sr(e) {
1649
- return Zn(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1678
+ return !Zn(e) || 0 === e.length;
1650
1679
  }
1651
- function lr(e, t) {
1652
- return e === t ? 0 : e > t ? 1 : -1;
1680
+ function lr(e) {
1681
+ return er(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1653
1682
  }
1654
1683
  function ir(e, t) {
1684
+ return e === t ? 0 : e > t ? 1 : -1;
1685
+ }
1686
+ function _r(e, t) {
1655
1687
  let n = e.toLowerCase(), r = t.toLowerCase();
1656
1688
  return n === r ? 0 : n > r ? 1 : -1;
1657
1689
  }
1658
- function _r(e, t) {
1659
- if (qn(e) || qn(t) || Qn(e) || Qn(t)) return 0;
1660
- if (Zn(e) || Zn(t)) {
1690
+ function ar(e, t) {
1691
+ if (Qn(e) || Qn(t) || Xn(e) || Xn(t)) return 0;
1692
+ if (er(e) || er(t)) {
1661
1693
  let n = Number(e), r = Number(t);
1662
- return n > r ? 1 : n < r ? -1 : 0;
1694
+ return Number.isNaN(n) && (n = 0), Number.isNaN(r) && (r = 0), n > r ? 1 : n < r ? -1 : 0;
1663
1695
  }
1664
- if (er(e) || er(t)) {
1696
+ if (tr(e) || tr(t)) {
1665
1697
  let n = Number(e), r = Number(t);
1666
1698
  return n > r ? 1 : n < r ? -1 : 0;
1667
1699
  }
1668
- return lr(String(e), String(t));
1700
+ return ir(String(e), String(t));
1669
1701
  }
1670
- function ar(e, t) {
1671
- if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) ar(e, n);
1702
+ function ur(e, t) {
1703
+ if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) ur(e, n);
1672
1704
  else "string" == typeof t && delete e[t];
1673
1705
  else for (const n of Object.keys(t)) delete e[n];
1674
1706
  }
1675
- function ur(e, t) {
1676
- return !(!(t in e) || !e.hasOwnProperty(t));
1707
+ function cr(e, t) {
1708
+ return !(!(t in e) || !Object.prototype.hasOwnProperty.call(e, t));
1709
+ }
1710
+ function fr(e, t) {
1711
+ return !Object.prototype.hasOwnProperty.call(e, t);
1712
+ }
1713
+ function gr(e, t, n) {
1714
+ "__proto__" === t ? Object.defineProperty(e, t, {
1715
+ value: n,
1716
+ writable: !0,
1717
+ enumerable: !0,
1718
+ configurable: !0
1719
+ }) : e[t] = n;
1677
1720
  }
1678
- function cr(e, t, n, r) {
1679
- e && !rr(e) && dn("GObj bad instanceof");
1721
+ function pr(e, t, n, r) {
1722
+ e && !or(e) && bn("GObj bad instanceof");
1680
1723
  const o = e ? `${Ze(e)}: ` : "";
1681
- if (!qn(t) && !Qn(t)) return void dn(`${o}kw must be list or dict: '${String(n)}'`);
1682
- if (!Xn(n)) return void dn(`${o}path must be a string: ${String(n)}`);
1724
+ if (!Qn(t) && !Xn(t)) return void bn(`${o}kw must be list or dict: '${String(n)}'`);
1725
+ if (!Zn(n)) return void bn(`${o}path must be a string: ${String(n)}`);
1683
1726
  let s = n.split("`"), l = s.length;
1684
- for (let e = 0; e < l - 1; e++) {
1685
- if (null == (t = t[s[e]])) return void (r && dn(`${o}path not found: '${n}'`));
1686
- if (!qn(t) && !Qn(t)) return void dn(`${o}kw must be list or dict: '${n}'`);
1727
+ for (let e = 0; e < l; e++) {
1728
+ if (fr(t, s[e])) return void (r && bn(`${o}path not found: '${n}'`));
1729
+ if (e === l - 1) break;
1730
+ if (null == (t = t[s[e]])) return void (r && bn(`${o}path not found: '${n}'`));
1731
+ if (!Qn(t) && !Xn(t)) return void bn(`${o}kw must be list or dict: '${n}'`);
1687
1732
  }
1688
1733
  let i = t[s[l - 1]];
1689
- return void 0 === i && r && dn(`${o}path not found: '${n}'`), i;
1734
+ return void 0 === i && r && bn(`${o}path not found: '${n}'`), i;
1690
1735
  }
1691
- function fr(e, t, n) {
1692
- e && !rr(e) && dn("GObj bad instanceof");
1736
+ function dr(e, t, n) {
1737
+ e && !or(e) && bn("GObj bad instanceof");
1693
1738
  let [r, o] = function(e, t) {
1694
1739
  let n = e.lastIndexOf(t);
1695
1740
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1696
1741
  }(n, "`");
1697
- return or(o) ? Gn(t, n) : Gn(cr(e, t, r, !0), o), 0;
1742
+ return sr(o) ? Mn(t, n) : Mn(pr(e, t, r, !0), o), 0;
1698
1743
  }
1699
- function gr(e, t, n, r, o) {
1700
- e && !rr(e) && dn("GObj bad instanceof");
1701
- let s = cr(e, t, n, !1);
1744
+ function br(e, t, n, r, o) {
1745
+ e && !or(e) && bn("GObj bad instanceof");
1746
+ let s = pr(e, t, n, !1);
1702
1747
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT, a = o && o & Qt.KW_WILD_NUMBER;
1703
1748
  if (void 0 === s) {
1704
1749
  if (i && t) {
1705
1750
  let o = Boolean(r);
1706
- return Er(e, t, n, o), o;
1751
+ return vr(e, t, n, o), o;
1707
1752
  }
1708
- return l && (dn(`path not found: '${n}'`), In(t)), Boolean(r);
1753
+ return l && (bn(`path not found: '${n}'`), Cn(t)), Boolean(r);
1709
1754
  }
1710
1755
  let u;
1711
- if (er(s)) u = s;
1712
- else if (a && Zn(s)) u = 0 !== s;
1713
- else if (a && Xn(s)) u = "true" === s.toLowerCase() || "false" !== s.toLowerCase() && 0 !== (parseInt(s, 10) || 0);
1756
+ if (tr(s)) u = s;
1757
+ else if (a && er(s)) u = 0 !== s;
1758
+ else if (a && Zn(s)) u = "true" === s.toLowerCase() || "false" !== s.toLowerCase() && 0 !== (parseInt(s, 10) || 0);
1714
1759
  else {
1715
- if (!a || null !== s) return a ? (dn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), In(t), !1) : (dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), In(t), Boolean(r));
1760
+ if (!a || null !== s) return a ? (bn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Cn(t), !1) : (bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), Cn(t), Boolean(r));
1716
1761
  u = !1;
1717
1762
  }
1718
- return _ && fr(e, t, n), u;
1763
+ return _ && dr(e, t, n), u;
1719
1764
  }
1720
- function pr(e, t, n, r, o) {
1721
- e && !rr(e) && dn("GObj bad instanceof");
1722
- let s = cr(e, t, n, !1);
1765
+ function mr(e, t, n, r, o) {
1766
+ e && !or(e) && bn("GObj bad instanceof");
1767
+ let s = pr(e, t, n, !1);
1723
1768
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT, a = o && o & Qt.KW_WILD_NUMBER;
1724
1769
  if (void 0 === s) {
1725
1770
  if (i && t) {
1726
1771
  let o = parseInt(r);
1727
- return Er(e, t, n, o), o;
1772
+ return vr(e, t, n, o), o;
1728
1773
  }
1729
- return l && (dn(`path not found: '${n}'`), In(t)), parseInt(r);
1774
+ return l && (bn(`path not found: '${n}'`), Cn(t)), parseInt(r);
1730
1775
  }
1731
1776
  let u;
1732
- if (Zn(s)) u = Math.trunc(s);
1777
+ if (er(s)) u = Math.trunc(s);
1733
1778
  else {
1734
- if (!a) return dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json integer: '${n}'`), In(t), parseInt(r);
1735
- if (er(s)) u = s ? 1 : 0;
1736
- else if (Xn(s)) u = function(e) {
1779
+ if (!a) return bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json integer: '${n}'`), Cn(t), parseInt(r);
1780
+ if (tr(s)) u = s ? 1 : 0;
1781
+ else if (Zn(s)) u = function(e) {
1737
1782
  const t = /^\s*([+-]?)(0[xX][0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*)/.exec(e);
1738
1783
  if (!t) return 0;
1739
1784
  let n, r = t[2];
1740
1785
  return n = r.length > 1 && ("x" === r[1] || "X" === r[1]) ? parseInt(r.substring(2), 16) : "0" === r[0] ? parseInt(r, 8) : parseInt(r, 10), "-" === t[1] ? -n : n;
1741
1786
  }(s);
1742
1787
  else {
1743
- if (null !== s) return dn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), In(t), 0;
1788
+ if (null !== s) return bn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Cn(t), 0;
1744
1789
  u = 0;
1745
1790
  }
1746
1791
  }
1747
- return _ && fr(e, t, n), u;
1792
+ return _ && dr(e, t, n), u;
1748
1793
  }
1749
- function dr(e, t, n, r, o) {
1750
- e && !rr(e) && dn("GObj bad instanceof");
1751
- let s = cr(e, t, n, !1);
1794
+ function hr(e, t, n, r, o) {
1795
+ e && !or(e) && bn("GObj bad instanceof");
1796
+ let s = pr(e, t, n, !1);
1752
1797
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT;
1753
- return void 0 === s ? i && t ? (Er(e, t, n, Xn(r) ? r : null), r) : (l && !function(e, t) {
1754
- let n = Xn(t) ? t.split("`") : [], r = e;
1798
+ return void 0 === s ? i && t ? (vr(e, t, n, Zn(r) ? r : null), r) : (l && !function(e, t) {
1799
+ let n = Zn(t) ? t.split("`") : [], r = e;
1755
1800
  for (let e = 0; e < n.length - 1; e++) {
1756
- if (!qn(r) && !Qn(r)) return !1;
1801
+ if (!Qn(r) && !Xn(r)) return !1;
1757
1802
  r = r[n[e]];
1758
1803
  }
1759
- return !(!qn(r) && !Qn(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1760
- }(t, n) && (dn(`path not found: '${n}'`), In(t)), r) : Xn(s) ? (_ && fr(e, t, n), s) : (null !== s && (dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json str: '${n}'`), In(t)), r);
1804
+ return !(!Qn(r) && !Xn(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1805
+ }(t, n) && (bn(`path not found: '${n}'`), Cn(t)), r) : Zn(s) ? (_ && dr(e, t, n), s) : (null !== s && (bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json str: '${n}'`), Cn(t)), r);
1761
1806
  }
1762
- function br(e, t, n, r, o) {
1763
- e && !rr(e) && dn("GObj bad instanceof");
1764
- let s = cr(e, t, n, !1);
1807
+ function Er(e, t, n, r, o) {
1808
+ e && !or(e) && bn("GObj bad instanceof");
1809
+ let s = pr(e, t, n, !1);
1765
1810
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT;
1766
1811
  if (void 0 === s) {
1767
1812
  if (i) {
1768
1813
  let o = r;
1769
- return Er(e, t, n, o), o;
1814
+ return vr(e, t, n, o), o;
1770
1815
  }
1771
- return l && (dn(`path not found: '${n}'`), In(t)), r;
1816
+ return l && (bn(`path not found: '${n}'`), Cn(t)), r;
1772
1817
  }
1773
- return _ && fr(e, t, n), s;
1818
+ return _ && dr(e, t, n), s;
1774
1819
  }
1775
- function mr(e, t, n, r, o) {
1776
- e && !rr(e) && dn("GObj bad instanceof");
1777
- let s = cr(e, t, n, !1);
1820
+ function yr(e, t, n, r, o) {
1821
+ e && !or(e) && bn("GObj bad instanceof");
1822
+ let s = pr(e, t, n, !1);
1778
1823
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT;
1779
- return void 0 === s ? i && qn(r) && t ? (Er(e, t, n, r), r) : (l && (dn(`path not found: '${n}'`), In(t)), r) : qn(s) ? (_ && fr(e, t, n), s) : (l && (dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json dict: '${n}'`), In(t)), r);
1824
+ return void 0 === s ? i && Qn(r) && t ? (vr(e, t, n, r), r) : (l && (bn(`path not found: '${n}'`), Cn(t)), r) : Qn(s) ? (_ && dr(e, t, n), s) : (l && (bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Cn(t)), r);
1780
1825
  }
1781
- function hr(e, t, n, r, o) {
1782
- e && !rr(e) && dn("GObj bad instanceof");
1783
- let s = cr(e, t, n, !1);
1826
+ function Tr(e, t, n, r, o) {
1827
+ e && !or(e) && bn("GObj bad instanceof");
1828
+ let s = pr(e, t, n, !1);
1784
1829
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT;
1785
1830
  if (void 0 === s) {
1786
1831
  if (i) {
1787
1832
  let o = r;
1788
- return Er(e, t, n, o), o;
1833
+ return vr(e, t, n, o), o;
1789
1834
  }
1790
- return l && (dn(`path not found: '${n}'`), In(t)), r;
1835
+ return l && (bn(`path not found: '${n}'`), Cn(t)), r;
1791
1836
  }
1792
- return _ && fr(e, t, n), s;
1837
+ return _ && dr(e, t, n), s;
1793
1838
  }
1794
- function Er(e, t, n, r) {
1795
- if (e && !rr(e) && dn("GObj bad instanceof"), !qn(t)) return dn("kw is not an object"), -1;
1796
- let o = n.split("`");
1797
- if (o.length <= 1) return t[n] = r, 0;
1798
- let s = o.length;
1839
+ function vr(e, t, n, r) {
1840
+ if (e && !or(e) && bn("GObj bad instanceof"), !Qn(t)) return bn("kw is not an object"), -1;
1841
+ let o = n.split("`"), s = o.length;
1799
1842
  for (let l = 0; l < s; l++) {
1800
1843
  let i = o[l];
1801
- if (l === s - 1) t[i] = r;
1844
+ if (l === s - 1) gr(t, i, r);
1802
1845
  else {
1803
- let r = t[i];
1804
- if (void 0 === r) t[i] = {};
1805
- else if (!qn(r) && !Qn(r)) return dn(`${e ? Ze(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not a dict or a list: '${n}'`), -1;
1846
+ let r = fr(t, i) ? void 0 : t[i];
1847
+ if (void 0 === r) gr(t, i, {});
1848
+ else if (!Qn(r) && !Xn(r)) return bn(`${e ? Ze(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not a dict or a list: '${n}'`), -1;
1806
1849
  t = t[i];
1807
1850
  }
1808
1851
  }
1809
1852
  return 0;
1810
1853
  }
1811
- function yr(e, t, n, r, o) {
1812
- if (e && !rr(e) && dn("GObj bad instanceof"), !qn(t)) return dn("kw is not an object"), -1;
1813
- let s = mr(e, t, n, {}, Qt.KW_CREATE);
1814
- return qn(s) ? (s[r] = o, 0) : (dn("subdict is not an object"), -1);
1854
+ function jr(e, t, n, r, o) {
1855
+ if (e && !or(e) && bn("GObj bad instanceof"), !Qn(t)) return bn("kw is not an object"), -1;
1856
+ let s = yr(e, t, n, {}, Qt.KW_CREATE);
1857
+ return Qn(s) ? (s[r] = o, 0) : (bn("subdict is not an object"), -1);
1815
1858
  }
1816
- function Tr(e, n, r) {
1859
+ function Or(e, n, r) {
1817
1860
  let o = "", s = !1;
1818
- if (Qn(n)) {
1861
+ if (Xn(n)) {
1819
1862
  s = !1;
1820
1863
  for (let l = 0; l < n.length; l++) {
1821
1864
  let i = n[l];
1822
- if (o = or(r) ? t("%s", r) : t("%s`%d", r, l), s = Tr(e, i, o), s) break;
1865
+ if (o = sr(r) ? t("%s", r) : t("%s`%d", r, l), s = Or(e, i, o), s) break;
1823
1866
  }
1824
- } else if (qn(n)) {
1867
+ } else if (Qn(n)) {
1825
1868
  s = !0;
1826
1869
  let l = Object.keys(n);
1827
1870
  for (let i = 0; i < l.length; i++) {
1828
1871
  let _ = l[i], a = n[_];
1829
- if (o = or(r) ? t("%s", _) : t("%s`%s", r, _), Qn(a) || qn(a)) {
1830
- if (s = Tr(e, a, o), !s) break;
1872
+ if (o = sr(r) ? t("%s", _) : t("%s`%s", r, _), Xn(a) || Qn(a)) {
1873
+ if (s = Or(e, a, o), !s) break;
1831
1874
  continue;
1832
1875
  }
1833
- let u = hr(0, e, o, 0, 0);
1834
- if (u || (u = Vn(e, o)), !u) {
1876
+ let u = Tr(0, e, o, void 0, 0);
1877
+ if (void 0 === u && (u = Gn(e, o)), void 0 === u) {
1835
1878
  s = !1;
1836
1879
  break;
1837
1880
  }
1838
- if (0 !== _r(u, a)) {
1881
+ if (0 !== ar(u, a)) {
1839
1882
  s = !1;
1840
1883
  break;
1841
1884
  }
@@ -1843,58 +1886,59 @@ function Tr(e, n, r) {
1843
1886
  }
1844
1887
  return s;
1845
1888
  }
1846
- function vr(e, t) {
1847
- return 0 === zn(t) || Tr(e, t, "");
1889
+ function Sr(e, t) {
1890
+ return 0 === zn(t) || Or(e, t, "");
1848
1891
  }
1849
- function jr(e, t, n, r) {
1850
- e && !rr(e) && dn("GObj bad instanceof");
1892
+ function wr(e, t, n, r) {
1893
+ e && !or(e) && bn("GObj bad instanceof");
1851
1894
  let o = {};
1852
- if (Xn(n) && !or(n)) {
1895
+ if (Zn(n) && !sr(n)) {
1853
1896
  let s = n;
1854
- t.hasOwnProperty(s) ? o[s] = t[s] : r && dn(`${Ze(e)}: key not found: ${s}`);
1855
- } else if (qn(n) && Jn(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? o[s] = t[s] : r && dn(`${Ze(e)}: key not found: ${s}`);
1897
+ Object.prototype.hasOwnProperty.call(t, s) ? gr(o, s, t[s]) : r && bn(`${Ze(e)}: key not found: ${s}`);
1898
+ } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, s) ? gr(o, s, t[s]) : r && bn(`${Ze(e)}: key not found: ${s}`);
1856
1899
  else {
1857
- if (!(Qn(n) && Hn(n) > 0)) return t;
1900
+ if (!(Xn(n) && Hn(n) > 0)) return t;
1858
1901
  for (let s = 0; s < n.length; s++) {
1859
1902
  let l = n[s];
1860
- t.hasOwnProperty(l) ? o[l] = t[l] : r && dn(`${Ze(e)}: key not found: ${l}`);
1903
+ Object.prototype.hasOwnProperty.call(t, l) ? gr(o, l, t[l]) : r && bn(`${Ze(e)}: key not found: ${l}`);
1861
1904
  }
1862
1905
  }
1863
1906
  return o;
1864
1907
  }
1865
- function Or(e, t, n, r) {
1908
+ function Nr(e, t, n, r) {
1866
1909
  let o = {};
1867
- if (Pn(o, t), Xn(n) && !or(n)) {
1910
+ if (!Qn(t)) return o;
1911
+ if (Un(o, t), Zn(n) && !sr(n)) {
1868
1912
  let s = n;
1869
- hr(e, t, s, 0, 0) ? Gn(o, s) : r && dn(`${Ze(e)}: key not found: ${s}`);
1870
- } else if (qn(n) && Jn(n) > 0) for (let s of Object.keys(n)) t.hasOwnProperty(s) ? Gn(o, s) : r && dn(`${Ze(e)}: key not found: ${s}`);
1913
+ Object.prototype.hasOwnProperty.call(t, s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1914
+ } else if (Qn(n) && qn(n) > 0) for (let s of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, s) ? Mn(o, s) : r && bn(`${Ze(e)}: key not found: ${s}`);
1871
1915
  else {
1872
- if (!(Qn(n) && Hn(n) > 0)) return {};
1916
+ if (!(Xn(n) && Hn(n) > 0)) return {};
1873
1917
  for (let s = 0; s < n.length; s++) {
1874
1918
  let l = n[s];
1875
- t.hasOwnProperty(l) ? Gn(o, l) : r && dn(`${Ze(e)}: key not found: ${l}`);
1919
+ Object.prototype.hasOwnProperty.call(t, l) ? Mn(o, l) : r && bn(`${Ze(e)}: key not found: ${l}`);
1876
1920
  }
1877
1921
  }
1878
1922
  return o;
1879
1923
  }
1880
- function Sr(e, t, n = !1) {
1924
+ function Rr(e, t, n = !1) {
1881
1925
  if ("undefined" != typeof window && window.localStorage) try {
1882
1926
  let r = window.localStorage.getItem(e);
1883
- return null === r ? (n && wr(e, t), t) : JSON.parse(r);
1927
+ return null === r ? (n && xr(e, t), t) : JSON.parse(r);
1884
1928
  } catch (n) {
1885
1929
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
1886
1930
  }
1887
1931
  }
1888
- function wr(e, t) {
1932
+ function xr(e, t) {
1889
1933
  if ("undefined" == typeof window || !window.localStorage) return 0;
1890
- if (!e || void 0 === t) return dn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1934
+ if (!e || void 0 === t) return bn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1891
1935
  try {
1892
1936
  return window.localStorage.setItem(e, JSON.stringify(t)), 0;
1893
1937
  } catch (t) {
1894
- return dn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1938
+ return bn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1895
1939
  }
1896
1940
  }
1897
- function Nr(e) {
1941
+ function Dr(e) {
1898
1942
  if ("undefined" != typeof window && window.localStorage) if (e) try {
1899
1943
  window.localStorage.removeItem(e);
1900
1944
  } catch (t) {
@@ -1902,46 +1946,46 @@ function Nr(e) {
1902
1946
  }
1903
1947
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1904
1948
  }
1905
- function Rr(e, t) {
1906
- if (tr(e) || tr(t)) return !0;
1907
- if (Qn(e)) {
1949
+ function $r(e, t) {
1950
+ if (nr(e) || nr(t)) return !0;
1951
+ if (Xn(e)) {
1908
1952
  if (0 === e.length) return !0;
1909
1953
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
1910
- } else if (qn(e)) {
1954
+ } else if (Qn(e)) {
1911
1955
  if (0 === Object.keys(e).length) return !0;
1912
1956
  for (let n in e) if (n === t) return !0;
1913
- } else if (Xn(e) && e === t) return !0;
1957
+ } else if (Zn(e) && e === t) return !0;
1914
1958
  return !1;
1915
1959
  }
1916
- function xr(e, t, n, r, o) {
1917
- if (e && !rr(e) && dn("GObj bad instanceof"), !t) return null;
1918
- o || (o = vr);
1960
+ function kr(e, t, n, r, o) {
1961
+ if (e && !or(e) && bn("GObj bad instanceof"), !t) return null;
1962
+ o || (o = Sr);
1919
1963
  let s = [];
1920
- if (Qn(t)) for (let l = 0; l < t.length; l++) {
1964
+ if (Xn(t)) for (let l = 0; l < t.length; l++) {
1921
1965
  let i, _ = t[l];
1922
- if (qn(_)) i = dr(e, _, "id", "", 0);
1966
+ if (Qn(_)) i = hr(e, _, "id", "", 0);
1923
1967
  else {
1924
- if (!Xn(_)) continue;
1968
+ if (!Zn(_)) continue;
1925
1969
  i = _;
1926
1970
  }
1927
- Rr(n, i) && o(_, r) && s.push(_);
1971
+ $r(n, i) && o(_, r) && s.push(_);
1928
1972
  }
1929
1973
  else {
1930
- if (!qn(t)) return dn("kw_collect() BAD kw parameter"), null;
1974
+ if (!Qn(t)) return bn("kw_collect() BAD kw parameter"), null;
1931
1975
  for (let e of Object.keys(t)) {
1932
1976
  let l = t[e];
1933
- Rr(n, e) && o(l, r) && s.push(l);
1977
+ $r(n, e) && o(l, r) && s.push(l);
1934
1978
  }
1935
1979
  }
1936
1980
  return s;
1937
1981
  }
1938
- function Dr(e, t) {
1982
+ function Ar(e, t) {
1939
1983
  if (!e) return -1;
1940
1984
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
1941
1985
  return -1;
1942
1986
  }
1943
- function $r(e, t, n) {
1944
- if (!e || !t) return dn("ERROR: str_in_list() list or str empty"), !1;
1987
+ function Ir(e, t, n) {
1988
+ if (!e || !t) return bn("ERROR: str_in_list() list or str empty"), !1;
1945
1989
  let r = e.length;
1946
1990
  if (n) {
1947
1991
  t = t.toLowerCase();
@@ -1952,7 +1996,7 @@ function $r(e, t, n) {
1952
1996
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
1953
1997
  return !1;
1954
1998
  }
1955
- function kr(e, t) {
1999
+ function Cr(e, t) {
1956
2000
  try {
1957
2001
  let n = e.__md_iev__;
1958
2002
  if (n) return n[t];
@@ -1960,47 +2004,47 @@ function kr(e, t) {
1960
2004
  return;
1961
2005
  }
1962
2006
  }
1963
- function Ar(e, t, n) {
2007
+ function Lr(e, t, n) {
1964
2008
  let r = e.__md_iev__;
1965
2009
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1966
2010
  }
1967
- function Ir(e, t, n, r) {
1968
- if (!rr(e)) return dn("gobj is not a GObj"), null;
2011
+ function Pr(e, t, n, r) {
2012
+ if (!or(e)) return bn("gobj is not a GObj"), null;
1969
2013
  if (!t) return;
1970
- let o = kr(t, n);
1971
- o || (o = [], Ar(t, n, o));
2014
+ let o = Cr(t, n);
2015
+ o || (o = [], Lr(t, n, o));
1972
2016
  try {
1973
- Qn(o) && o.unshift(r);
2017
+ Xn(o) && o.unshift(r);
1974
2018
  } catch (e) {
1975
- dn(e);
2019
+ bn(e);
1976
2020
  }
1977
2021
  }
1978
- function Cr(e, t, n, r) {
1979
- if (!rr(e)) return dn("gobj is not a GObj"), null;
1980
- if (!qn(t)) return dn("kw is not a dict"), null;
1981
- let o = kr(t, n);
1982
- return o ? 0 === o.length ? (r && dn(`stack empty: ${n}`), null) : o[0] : (r && dn(`stack NOT FOUND: ${n}`), null);
2022
+ function Ur(e, t, n, r) {
2023
+ if (!or(e)) return bn("gobj is not a GObj"), null;
2024
+ if (!Qn(t)) return bn("kw is not a dict"), null;
2025
+ let o = Cr(t, n);
2026
+ return o ? 0 === o.length ? (r && bn(`stack empty: ${n}`), null) : o[0] : (r && bn(`stack NOT FOUND: ${n}`), null);
1983
2027
  }
1984
- function Lr(e, t, n) {
1985
- return or(n) ? fr(e, t, "__md_iev__`__msg_type__") : yr(e, t, "__md_iev__", "__msg_type__", n), 0;
2028
+ function Fr(e, t, n) {
2029
+ return sr(n) ? dr(e, t, "__md_iev__`__msg_type__") : jr(e, t, "__md_iev__", "__msg_type__", n), 0;
1986
2030
  }
1987
- function Pr(e, t) {
1988
- return dr(e, t, "__md_iev__`__msg_type__", "", 0);
2031
+ function Vr(e, t) {
2032
+ return hr(e, t, "__md_iev__`__msg_type__", "", 0);
1989
2033
  }
1990
- function Ur(e, t, n) {
1991
- void 0 !== n && Xn(n) || (n = "");
2034
+ function Gr(e, t, n) {
2035
+ void 0 !== n && Zn(n) || (n = "");
1992
2036
  for (let r of Object.keys(e)) {
1993
- if (!e.hasOwnProperty(r)) continue;
2037
+ if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
1994
2038
  let o = (n.length ? "`" : "") + r;
1995
2039
  n += o, t.apply(this, [
1996
2040
  e,
1997
2041
  r,
1998
2042
  e[r],
1999
2043
  n
2000
- ]), qn(e[r]) && Ur(e[r], t, n), n = n.slice(0, -o.length);
2044
+ ]), Qn(e[r]) && Gr(e[r], t, n), n = n.slice(0, -o.length);
2001
2045
  }
2002
2046
  }
2003
- function Fr(e, t, n, r) {
2047
+ function Mr(e, t, n, r) {
2004
2048
  if (!e) return null;
2005
2049
  let o, s = e.length;
2006
2050
  for (o = 0; o < s; o++) {
@@ -2008,15 +2052,15 @@ function Fr(e, t, n, r) {
2008
2052
  if (s) {
2009
2053
  let e = s.id;
2010
2054
  if (e && e === n) return s;
2011
- if (r && ur(s, t)) {
2012
- let e = Fr(s[t], t, n, r);
2055
+ if (r && cr(s, t)) {
2056
+ let e = Mr(s[t], t, n, r);
2013
2057
  if (e) return e;
2014
2058
  }
2015
2059
  }
2016
2060
  }
2017
2061
  return null;
2018
2062
  }
2019
- function Vr(e) {
2063
+ function Wr(e) {
2020
2064
  function t(e) {
2021
2065
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2022
2066
  switch (t.length % 4) {
@@ -2047,36 +2091,36 @@ function Vr(e) {
2047
2091
  signature: t(n[2])
2048
2092
  };
2049
2093
  }
2050
- function Gr(e) {
2094
+ function Kr(e) {
2051
2095
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2052
2096
  }
2053
- function Mr(e) {
2097
+ function Yr(e) {
2054
2098
  const t = document.createElement("template");
2055
2099
  return t.innerHTML = e.trim(), t.content.firstChild;
2056
2100
  }
2057
- function Wr(e) {
2101
+ function Br(e) {
2058
2102
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), o = e.getTimezoneOffset();
2059
2103
  return `${n}.${r}${o > 0 ? "-" : "+"}${t(Math.floor(Math.abs(o) / 60), 2)}${t(Math.abs(o) % 60, 2)}`;
2060
2104
  }
2061
- function Kr(e, t) {
2105
+ function Jr(e, t) {
2062
2106
  if (!e) throw "ERROR: index_in_list() list empty";
2063
2107
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2064
2108
  return -1;
2065
2109
  }
2066
- function Yr() {
2110
+ function qr() {
2067
2111
  let e = "";
2068
2112
  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;
2069
2113
  }
2070
- function Br(e) {
2114
+ function Hr(e) {
2071
2115
  let t = null;
2072
2116
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2073
2117
  }
2074
- var Jr = 256, Hr = 1e5;
2075
- function zr(e) {
2118
+ var zr = 256, Qr = 1e5;
2119
+ function Xr(e) {
2076
2120
  const t = String(e).replace(/`/g, "``");
2077
2121
  return "[" === t[0] ? "[" + t : t;
2078
2122
  }
2079
- function qr(e) {
2123
+ function Zr(e) {
2080
2124
  if ("string" != typeof e) return null;
2081
2125
  let t = [], n = "";
2082
2126
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2097,17 +2141,17 @@ function qr(e) {
2097
2141
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2098
2142
  });
2099
2143
  }
2100
- function Qr(e, t) {
2144
+ function eo(e, t) {
2101
2145
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2102
2146
  }
2103
- function Xr(e) {
2147
+ function to(e) {
2104
2148
  return "persistent-attrs-" + Ze(e);
2105
2149
  }
2106
- function Zr(e, t) {
2107
- if (Xn(t)) {
2150
+ function no(e, t) {
2151
+ if (Zn(t)) {
2108
2152
  if (-1 === t.indexOf("^")) {
2109
2153
  let n, r, o = e.fkey;
2110
- if (1 !== Jn(o)) return dn("bad fkey 1"), dn(e), dn(t), null;
2154
+ if (1 !== qn(o)) return bn("bad fkey 1"), bn(e), bn(t), null;
2111
2155
  for (const e of Object.keys(o)) {
2112
2156
  n = e, r = o[e];
2113
2157
  break;
@@ -2120,20 +2164,20 @@ function Zr(e, t) {
2120
2164
  }
2121
2165
  {
2122
2166
  let n = t.split("^");
2123
- return 3 !== n.length ? (dn("bad fkey 2"), dn(e), dn(t), null) : {
2167
+ return 3 !== n.length ? (bn("bad fkey 2"), bn(e), bn(t), null) : {
2124
2168
  topic_name: n[0],
2125
2169
  id: n[1],
2126
2170
  hook_name: n[2]
2127
2171
  };
2128
2172
  }
2129
2173
  }
2130
- return qn(t) ? {
2174
+ return Qn(t) ? {
2131
2175
  topic_name: t.topic_name,
2132
2176
  id: t.id,
2133
2177
  hook_name: t.hook_name
2134
- } : (dn("bad fkey 3"), dn(e), dn(t), null);
2178
+ } : (bn("bad fkey 3"), bn(e), bn(t), null);
2135
2179
  }
2136
- var eo = [
2180
+ var ro = [
2137
2181
  "string",
2138
2182
  "integer",
2139
2183
  "object",
@@ -2143,7 +2187,7 @@ var eo = [
2143
2187
  "real",
2144
2188
  "boolean",
2145
2189
  "blob"
2146
- ], to = [
2190
+ ], oo = [
2147
2191
  "persistent",
2148
2192
  "required",
2149
2193
  "notnull",
@@ -2155,7 +2199,7 @@ var eo = [
2155
2199
  "stats",
2156
2200
  "rstats",
2157
2201
  "pstats"
2158
- ], no = [
2202
+ ], so = [
2159
2203
  "hook",
2160
2204
  "fkey",
2161
2205
  "enum",
@@ -2184,7 +2228,7 @@ var eo = [
2184
2228
  "coordinates",
2185
2229
  "gbuffer"
2186
2230
  ];
2187
- function ro(e) {
2231
+ function lo(e) {
2188
2232
  let t = {
2189
2233
  name: e.id,
2190
2234
  header: e.header,
@@ -2203,7 +2247,7 @@ function ro(e) {
2203
2247
  if (!e.flag) return t;
2204
2248
  for (let n = 0; n < e.flag.length; n++) {
2205
2249
  let r = e.flag[n];
2206
- if ($r(no, r)) {
2250
+ if (Ir(so, r)) {
2207
2251
  switch (r) {
2208
2252
  case "enum":
2209
2253
  t.enum_list = e.enum;
@@ -2217,7 +2261,7 @@ function ro(e) {
2217
2261
  case "file": t.is_file = !0;
2218
2262
  }
2219
2263
  t.type = r;
2220
- } else if ($r(to, r)) switch (r) {
2264
+ } else if (Ir(oo, r)) switch (r) {
2221
2265
  case "writable":
2222
2266
  t.is_writable = !0;
2223
2267
  break;
@@ -2230,23 +2274,23 @@ function ro(e) {
2230
2274
  }
2231
2275
  return t.is_file && (t.type = "file"), t;
2232
2276
  }
2233
- var oo = [
2277
+ var io = [
2234
2278
  v(h.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2235
2279
  v(h.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2236
2280
  v(h.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2237
2281
  T()
2238
- ], so = {
2282
+ ], _o = {
2239
2283
  periodic: !1,
2240
2284
  msec: 0,
2241
2285
  timer_id: -1
2242
- }, lo = null;
2243
- function io(e, t, n, r) {
2286
+ }, ao = null;
2287
+ function uo(e, t, n, r) {
2244
2288
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2245
2289
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
2246
2290
  Pt(e, "EV_TIMEOUT", {}, e);
2247
- }, o.msec) : o.timer_id = -1, rt(e) ? Pt(tt(e), s, {}, e) : qt(e, s, {}), o.periodic || -1 !== o.timer_id || We(e) && Ue(e), 0;
2291
+ }, o.msec) : o.timer_id = -1, rt(e) ? Pt(tt(e), s, {}, e) : zt(e, s, {}), o.periodic || -1 !== o.timer_id || We(e) && Ue(e), 0;
2248
2292
  }
2249
- var _o = {
2293
+ var co = {
2250
2294
  mt_create: function(e) {
2251
2295
  let t = e.priv;
2252
2296
  const n = jt(e, "subscriber");
@@ -2271,16 +2315,16 @@ var _o = {
2271
2315
  },
2272
2316
  mt_destroy: function(e) {}
2273
2317
  };
2274
- function ao(e, t) {
2275
- return e instanceof O ? "C_TIMER" !== Xe(e) ? (dn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !1), void Nt(e, "msec", t)) : (dn("not GObj TYPE"), -1);
2318
+ function fo(e, t) {
2319
+ return e instanceof O ? "C_TIMER" !== Xe(e) ? (bn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !1), void Nt(e, "msec", t)) : (bn("not GObj TYPE"), -1);
2276
2320
  }
2277
- function uo(e, t) {
2278
- return e instanceof O ? "C_TIMER" !== Xe(e) ? (dn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !0), void Nt(e, "msec", t)) : (dn("not GObj TYPE"), -1);
2321
+ function go(e, t) {
2322
+ return e instanceof O ? "C_TIMER" !== Xe(e) ? (bn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !0), void Nt(e, "msec", t)) : (bn("not GObj TYPE"), -1);
2279
2323
  }
2280
- function co(e) {
2281
- return e instanceof O ? "C_TIMER" !== Xe(e) ? (dn("not C_TIMER GObj"), -1) : void Nt(e, "msec", -1) : (dn("not GObj TYPE"), -1);
2324
+ function po(e) {
2325
+ return e instanceof O ? "C_TIMER" !== Xe(e) ? (bn("not C_TIMER GObj"), -1) : void Nt(e, "msec", -1) : (bn("not GObj TYPE"), -1);
2282
2326
  }
2283
- var fo = [
2327
+ var bo = [
2284
2328
  v(h.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2285
2329
  v(h.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2286
2330
  v(h.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2300,71 +2344,72 @@ var fo = [
2300
2344
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2301
2345
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2302
2346
  T()
2303
- ], go = { gobj_timer: null }, po = null;
2304
- function bo(e, t, n, r) {
2347
+ ], mo = { gobj_timer: null }, ho = null;
2348
+ function Eo(e, t, n, r) {
2305
2349
  let o = ht(e, t);
2306
- return qn(o) || (o = {}), o[n] = r, Ot(e, t, o), xe(e, t);
2350
+ return Qn(o) || (o = {}), o[n] = r, Ot(e, t, o), xe(e, t);
2307
2351
  }
2308
- function mo(e) {
2352
+ function yo(e) {
2309
2353
  if (!0 === e || !1 === e) return e;
2310
2354
  let t = String(null == e ? "" : e).toLowerCase();
2311
2355
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2312
2356
  }
2313
- function ho() {
2314
- return `${ze()}^${He()}`;
2357
+ function To() {
2358
+ return `${He()}^${qe()}`;
2315
2359
  }
2316
- function Eo(e, t, n, r) {
2317
- return qt(e, t, n), 0;
2360
+ function vo(e, t, n, r) {
2361
+ return zt(e, t, n), 0;
2318
2362
  }
2319
- var yo = {
2363
+ var jo = {
2320
2364
  mt_create: function(e) {
2321
2365
  let t = e.priv;
2322
- Rt(e, "start_date", Wr()), Rt(e, "node_uuid", Yr()), e.priv.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.periodic_timeout = ht(e, "periodic_timeout"), function(e) {
2366
+ Rt(e, "start_date", Br()), Rt(e, "node_uuid", qr()), e.priv.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.periodic_timeout = ht(e, "periodic_timeout"), function(e) {
2323
2367
  let t = ht(e, "trace_levels");
2324
- if (!qn(t)) return 0;
2368
+ if (!Qn(t)) return 0;
2325
2369
  let n = t.__global_trace__;
2326
- if (Qn(n)) {
2370
+ if (Xn(n)) {
2327
2371
  X(4294967295, !1);
2328
- for (let e of n) q(e, !0);
2372
+ for (let e of n) z(e, !0);
2329
2373
  }
2330
2374
  for (const [n, r] of Object.entries(t)) {
2331
2375
  let t = je(n);
2332
- if (t) if (Qn(r)) {
2376
+ if (t) if (Xn(r)) {
2333
2377
  se(t, null, !1);
2334
2378
  for (let e of r) se(t, e, !0);
2335
- } else dn(`${Qe(e)}: trace_levels of ${n} MUST be a list`);
2379
+ } else bn(`${Qe(e)}: trace_levels of ${n} MUST be a list`);
2336
2380
  }
2337
2381
  }(e), function(e) {
2338
2382
  let t = ht(e, "no_trace_levels");
2339
- if (!qn(t)) return 0;
2383
+ if (!Qn(t)) return 0;
2340
2384
  let n = t.__global_no_trace__;
2341
- if (Qn(n)) {
2385
+ if (Xn(n)) {
2342
2386
  Z(4294967295, !1);
2343
2387
  for (let e of n) Q(e, !0);
2344
2388
  }
2345
2389
  for (const [n, r] of Object.entries(t)) {
2346
2390
  let t = je(n);
2347
- if (t) if (Qn(r)) {
2391
+ if (t) if (Xn(r)) {
2348
2392
  le(t, null, !1);
2349
2393
  for (let e of r) le(t, e, !0);
2350
- } else dn(`${Qe(e)}: no_trace_levels of ${n} MUST be a list`);
2394
+ } else bn(`${Qe(e)}: no_trace_levels of ${n} MUST be a list`);
2351
2395
  }
2352
2396
  }(e);
2353
2397
  },
2354
2398
  mt_writing: function(e, t) {},
2355
2399
  mt_start: function(e) {
2356
- return uo(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2400
+ return go(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2357
2401
  },
2358
2402
  mt_stop: function(e) {
2359
- return co(e.priv.gobj_timer), Ve(e), 0;
2403
+ return po(e.priv.gobj_timer), Ve(e), 0;
2360
2404
  },
2361
2405
  mt_destroy: function(e) {},
2362
2406
  mt_play: function(e) {
2363
2407
  let t = Oe();
2364
- return We(t) || Ce(t), Be(t) || Ge(t), 0;
2408
+ return t ? (We(t) || Ce(t), Be(t) || Ge(t), 0) : 0;
2365
2409
  },
2366
2410
  mt_pause: function(e) {
2367
- return Me(Oe()), 0;
2411
+ let t = Oe();
2412
+ return t && Be(t) && Me(t), 0;
2368
2413
  },
2369
2414
  mt_command_parser: function(e, t, n, o) {
2370
2415
  switch (n = n || {}, t) {
@@ -2372,24 +2417,24 @@ var yo = {
2372
2417
  case "get-global-no-trace": return r(0, 0, null, null, te());
2373
2418
  case "set-global-trace":
2374
2419
  case "set-global-no-trace": {
2375
- let o = "set-global-no-trace" === t, s = n.level, l = mo(n.set);
2376
- return s ? null === l ? r(0, -1, `${ho()}: bitmask set or re-set?`, null, null) : (o ? Q(s, l) : q(s, l)) < 0 ? r(0, -1, `${ho()}: global trace level not found: ${s}`, null, null) : o ? (bo(e, "no_trace_levels", "__global_no_trace__", te()), r(0, 0, null, null, te())) : (bo(e, "trace_levels", "__global_trace__", ee()), r(0, 0, null, null, ee())) : r(0, -1, `${ho()}: what level?`, null, null);
2420
+ let o = "set-global-no-trace" === t, s = n.level, l = yo(n.set);
2421
+ return s ? null === l ? r(0, -1, `${To()}: bitmask set or re-set?`, null, null) : (o ? Q(s, l) : z(s, l)) < 0 ? r(0, -1, `${To()}: global trace level not found: ${s}`, null, null) : o ? (Eo(e, "no_trace_levels", "__global_no_trace__", te()), r(0, 0, null, null, te())) : (Eo(e, "trace_levels", "__global_trace__", ee()), r(0, 0, null, null, ee())) : r(0, -1, `${To()}: what level?`, null, null);
2377
2422
  }
2378
2423
  case "get-gclass-trace":
2379
2424
  case "get-gclass-no-trace":
2380
2425
  case "set-gclass-trace":
2381
2426
  case "set-gclass-no-trace": {
2382
2427
  let o = t.indexOf("no-trace") >= 0, s = n.gclass_name || n.gclass || "", l = je(s);
2383
- if (!l) return r(0, -1, `${ho()}: what gclass is '${s}'?`, null, null);
2428
+ if (!l) return r(0, -1, `${To()}: what gclass is '${s}'?`, null, null);
2384
2429
  if (0 === t.indexOf("get-")) return r(0, 0, null, null, o ? oe(l) : ne(l));
2385
- let i = n.level, _ = mo(n.set);
2386
- return i ? null === _ ? r(0, -1, `${ho()}: bitmask set or re-set?`, null, null) : (o ? le(l, i, _) : se(l, i, _)) < 0 ? r(0, -1, `${ho()}: trace level of ${s} not found: ${i}`, null, null) : o ? (bo(e, "no_trace_levels", s, oe(l)), r(0, 0, null, null, oe(l))) : (bo(e, "trace_levels", s, re(l)), r(0, 0, null, null, ne(l))) : r(0, -1, `${ho()}: what level?`, null, null);
2430
+ let i = n.level, _ = yo(n.set);
2431
+ return i ? null === _ ? r(0, -1, `${To()}: bitmask set or re-set?`, null, null) : (o ? le(l, i, _) : se(l, i, _)) < 0 ? r(0, -1, `${To()}: trace level of ${s} not found: ${i}`, null, null) : o ? (Eo(e, "no_trace_levels", s, oe(l)), r(0, 0, null, null, oe(l))) : (Eo(e, "trace_levels", s, re(l)), r(0, 0, null, null, ne(l))) : r(0, -1, `${To()}: what level?`, null, null);
2387
2432
  }
2388
- default: return r(0, -1, `${ho()}: command not available: ${t}`, null, null);
2433
+ default: return r(0, -1, `${To()}: command not available: ${t}`, null, null);
2389
2434
  }
2390
2435
  }
2391
2436
  };
2392
- var To = "ievent_gate_stack", vo = [
2437
+ var Oo = "ievent_gate_stack", So = [
2393
2438
  v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2394
2439
  v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2395
2440
  v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
@@ -2406,15 +2451,15 @@ var To = "ievent_gate_stack", vo = [
2406
2451
  v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2407
2452
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2408
2453
  T()
2409
- ], jo = [
2454
+ ], wo = [
2410
2455
  ["ievents", "Trace inter-events with metadata of kw"],
2411
2456
  ["ievents2", "Trace inter-events with full kw"],
2412
2457
  ["identity-card", "Trace identity_card messages"]
2413
2458
  ];
2414
- function Oo(e) {
2459
+ function No(e) {
2415
2460
  return !!(3 & M(e));
2416
2461
  }
2417
- var So = {
2462
+ var Ro = {
2418
2463
  url: null,
2419
2464
  remote_yuno_name: null,
2420
2465
  remote_yuno_role: null,
@@ -2424,91 +2469,98 @@ var So = {
2424
2469
  websocket: null,
2425
2470
  inside_on_open: !1,
2426
2471
  retry_ms: 0
2427
- }, wo = null;
2428
- function No(e) {
2429
- e.priv.websocket && dn("Websocket ALREADY setup");
2472
+ }, xo = null;
2473
+ function Do(e) {
2474
+ e.priv.websocket && bn("Websocket ALREADY setup");
2430
2475
  const t = vt(e, "url");
2431
- let n;
2432
- mn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2476
+ hn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2477
+ const n = ++e.priv.ws_seq;
2478
+ let r;
2433
2479
  try {
2434
- n = new WebSocket(t);
2480
+ r = new WebSocket(t);
2435
2481
  } catch (n) {
2436
- return dn(`${Ze(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2482
+ return bn(`${Ze(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2437
2483
  }
2438
- return n ? (n.onopen = () => {
2439
- Pt(e, "EV_ON_OPEN", { url: t }, e);
2440
- }, n.onmessage = (n) => {
2441
- Pt(e, "EV_ON_MESSAGE", {
2484
+ return r ? (r.onopen = () => {
2485
+ n !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_OPEN", {
2486
+ url: t,
2487
+ ws_seq: n
2488
+ }, e);
2489
+ }, r.onmessage = (r) => {
2490
+ n !== e.priv.ws_seq || ot(e) || Pt(e, "EV_ON_MESSAGE", {
2442
2491
  url: t,
2443
- data: n.data
2492
+ data: r.data
2444
2493
  }, e);
2445
- }, n.onclose = (n) => {
2446
- ot(e) || (yt(Je(), "browser_beforeunload") ? bn("Close websocket by unload page") : Pt(e, "EV_ON_CLOSE", {
2494
+ }, r.onclose = (r) => {
2495
+ ot(e) || n === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? mn("Close websocket by unload page") : Pt(e, "EV_ON_CLOSE", {
2447
2496
  url: t,
2448
- e: n
2497
+ ws_seq: n,
2498
+ code: r.code,
2499
+ reason: r.reason,
2500
+ was_clean: r.wasClean
2449
2501
  }, e));
2450
- }, n) : (dn(`${Ze(e)}: Failed to initialize WebSocket.`), null);
2502
+ }, r) : (bn(`${Ze(e)}: Failed to initialize WebSocket.`), null);
2451
2503
  }
2452
- function Ro(e, t = 1e3, n = "") {
2504
+ function $o(e, t = 1e3, n = "") {
2453
2505
  let r = e.priv, o = r.websocket;
2454
2506
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2455
- mn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2507
+ hn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2456
2508
  try {
2457
2509
  o.close(t, n);
2458
- } catch (e) {
2459
- dn("Error closing WebSocket:", e.message);
2510
+ } catch (t) {
2511
+ bn(`${Ze(e)}: Error closing WebSocket: ${t.message}`);
2460
2512
  }
2461
- } else bn("WebSocket is already closed or in the process of closing.");
2513
+ } else mn("WebSocket is already closed or in the process of closing.");
2462
2514
  }
2463
- function xo(e, t, n) {
2464
- let r = Wr();
2515
+ function ko(e, t, n) {
2516
+ let r = Br();
2465
2517
  try {
2466
- mn("\n" + r + " " + t + "\n"), In(n);
2518
+ hn("\n" + r + " " + t + "\n"), Cn(n);
2467
2519
  } catch (e) {
2468
- mn("ERROR in trace_inter_event: " + e);
2520
+ hn("ERROR in trace_inter_event: " + e);
2469
2521
  }
2470
2522
  }
2471
- var Do = class {
2523
+ var Ao = class {
2472
2524
  constructor(e, t) {
2473
2525
  this.event = e, this.kw = t || {};
2474
2526
  }
2475
2527
  };
2476
- function $o(e, t, n, r) {
2528
+ function Io(e, t, n, r) {
2477
2529
  return function(e, t) {
2478
2530
  let n = e.priv, r = JSON.stringify(t);
2479
- if (Oo(e)) {
2531
+ if (No(e)) {
2480
2532
  let n = vt(e, "url"), o = Qe(Je()) + " ==> " + n, s = ht(Je(), "trace_ievent_callback");
2481
- s ? s(o, t, 1, r.length) : xo(0, o, t);
2533
+ s ? s(o, t, 1, r.length) : ko(0, o, t);
2482
2534
  }
2483
- if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return bn(`${Ze(e)}: send_iev(): websocket not open, message lost`), -1;
2535
+ if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return mn(`${Ze(e)}: send_iev(): websocket not open, message lost`), -1;
2484
2536
  try {
2485
2537
  n.websocket.send(r);
2486
2538
  } catch (t) {
2487
- dn(`${Ze(e)}: send_iev(): ${t}`);
2539
+ bn(`${Ze(e)}: send_iev(): ${t}`);
2488
2540
  }
2489
2541
  return 0;
2490
2542
  }(e, function(e, t) {
2491
- return or(e) ? (dn("iev_create() event NULL"), null) : new Do(e, t);
2543
+ return sr(e) ? (bn("iev_create() event NULL"), null) : new Ao(e, t);
2492
2544
  }(t, n));
2493
2545
  }
2494
- function ko(e, t, n) {
2495
- return or(n) && (n = vt(e, "wanted_yuno_service")), {
2546
+ function Co(e, t, n) {
2547
+ return sr(n) && (n = vt(e, "wanted_yuno_service")), {
2496
2548
  dst_yuno: vt(e, "wanted_yuno_name"),
2497
2549
  dst_role: vt(e, "wanted_yuno_role"),
2498
2550
  dst_service: n,
2499
- src_yuno: He(),
2500
- src_role: ze(),
2551
+ src_yuno: qe(),
2552
+ src_role: He(),
2501
2553
  src_service: t,
2502
- host: Yr()
2554
+ host: qr()
2503
2555
  };
2504
2556
  }
2505
- function Ao(e) {
2557
+ function Lo(e) {
2506
2558
  let t = e.priv, n = Be(Je()), r = vt(Je(), "yuno_version"), o = vt(Je(), "yuno_release"), l = vt(Je(), "yuno_tag"), i = ht(e, "required_services");
2507
2559
  i && i.length || (i = ht(Je(), "required_services"));
2508
2560
  let _ = {
2509
- yuno_role: ze(),
2510
- yuno_id: qe(),
2511
- yuno_name: He(),
2561
+ yuno_role: He(),
2562
+ yuno_id: ze(),
2563
+ yuno_name: qe(),
2512
2564
  yuno_tag: l,
2513
2565
  yuno_version: r,
2514
2566
  yuno_release: o,
@@ -2520,42 +2572,42 @@ function Ao(e) {
2520
2572
  username: vt(Je(), "__username__"),
2521
2573
  launch_id: 0,
2522
2574
  yuno_startdate: vt(Je(), "start_date"),
2523
- id: Yr(),
2575
+ id: qr(),
2524
2576
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2525
2577
  language: "undefined" != typeof window ? window.navigator.language : "",
2526
2578
  required_services: i
2527
2579
  };
2528
- return Ir(e, _, To, ko(e, Qe(tt(e)), null)), Lr(e, _, "__identity__"), ao(t.gobj_timer, Tt(e, "timeout_idack")), $o(e, "EV_IDENTITY_CARD", _);
2580
+ return Pr(e, _, Oo, Co(e, Qe(tt(e)), null)), Fr(e, _, "__identity__"), fo(t.gobj_timer, Tt(e, "timeout_idack")), Io(e, "EV_IDENTITY_CARD", _);
2529
2581
  }
2530
- function Io(e, t) {
2531
- if (or(t.event)) return -1;
2582
+ function Po(e, t) {
2583
+ if (sr(t.event)) return -1;
2532
2584
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, l = t.__service__, i = t.subscriber;
2533
2585
  o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s);
2534
- return Ir(e, n, To, ko(e, Qe(i), l)), Lr(e, n, "__subscribing__"), $o(e, t.event, n);
2586
+ return Pr(e, n, Oo, Co(e, Qe(i), l)), Fr(e, n, "__subscribing__"), Io(e, t.event, n);
2535
2587
  }
2536
- function Co(e, t, n, r) {
2588
+ function Uo(e, t, n, r) {
2537
2589
  let o = e.priv;
2538
- return We(e) && (o.websocket = No(e)), 0;
2590
+ return We(e) && (o.websocket = Do(e)), 0;
2539
2591
  }
2540
- function Lo(e, t, n, r) {
2541
- return mn("Websocket opened: " + e.priv.url), Ao(e), 0;
2592
+ function Fo(e, t, n, r) {
2593
+ return hn("Websocket opened: " + e.priv.url), Lo(e), 0;
2542
2594
  }
2543
- function Po(e, t, n, r) {
2544
- let o = e.priv, s = n.e, l = n.url;
2545
- return gn(), bn(`${Ze(e)}: WebSocket closed ${l} (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, qt(e, "EV_ON_CLOSE", {
2546
- url: l,
2595
+ function Vo(e, t, n, r) {
2596
+ let o = e.priv, s = n.url;
2597
+ return gn(), mn(`${Ze(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, zt(e, "EV_ON_CLOSE", {
2598
+ url: s,
2547
2599
  remote_yuno_name: o.remote_yuno_name,
2548
2600
  remote_yuno_role: o.remote_yuno_role,
2549
2601
  remote_yuno_service: o.remote_yuno_service
2550
- })) : (bn(`${Ze(e)}: EV_ON_OPEN_ERROR cannot open ${l} (Code: ${s.code}, Reason: "${s.reason}", Clean: ${s.wasClean})`), qt(e, "EV_ON_OPEN_ERROR", {
2551
- url: l,
2602
+ })) : (mn(`${Ze(e)}: EV_ON_OPEN_ERROR cannot open ${s} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), zt(e, "EV_ON_OPEN_ERROR", {
2603
+ url: s,
2552
2604
  remote_yuno_name: o.remote_yuno_name,
2553
2605
  remote_yuno_role: o.remote_yuno_role,
2554
2606
  remote_yuno_service: o.remote_yuno_service,
2555
- code: s.code,
2556
- reason: s.reason,
2557
- was_clean: s.wasClean
2558
- })), We(e) && ao(o.gobj_timer, function(e) {
2607
+ code: n.code,
2608
+ reason: n.reason,
2609
+ was_clean: n.was_clean
2610
+ })), We(e) && fo(o.gobj_timer, function(e) {
2559
2611
  let t = e.priv, n = Tt(e, "timeout_retry"), r = Tt(e, "timeout_retry_max");
2560
2612
  r < n && (r = n);
2561
2613
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
@@ -2563,17 +2615,17 @@ function Po(e, t, n, r) {
2563
2615
  return Math.max(1, Math.round(s));
2564
2616
  }(e)), 0;
2565
2617
  }
2566
- function Uo(e, t, n, r) {
2567
- return Ao(e), 0;
2618
+ function Go(e, t, n, r) {
2619
+ return Lo(e), 0;
2568
2620
  }
2569
- function Fo(e, t, n, r) {
2621
+ function Mo(e, t, n, r) {
2570
2622
  let o = e.priv;
2571
- co(o.gobj_timer);
2572
- let s = Cr(e, n, To, !0), l = dr(e, s, "src_yuno", ""), i = dr(e, s, "src_role", ""), _ = dr(e, s, "src_service", "");
2623
+ po(o.gobj_timer);
2624
+ let s = Ur(e, n, Oo, !0), l = hr(e, s, "src_yuno", ""), i = hr(e, s, "src_role", ""), _ = hr(e, s, "src_service", "");
2573
2625
  Rt(e, "remote_yuno_name", l), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2574
- let a = pr(e, n, "result", -1, 0), u = dr(e, n, "comment", "", 0), c = dr(e, n, "username", "", 0), f = hr(e, n, "services_roles", {});
2626
+ let a = mr(e, n, "result", -1, 0), u = hr(e, n, "comment", "", 0), c = hr(e, n, "username", "", 0), f = Tr(e, n, "services_roles", {});
2575
2627
  if (a < 0) {
2576
- Ro(e);
2628
+ $o(e);
2577
2629
  let t = {
2578
2630
  url: vt(e, "url"),
2579
2631
  result: a,
@@ -2583,7 +2635,7 @@ function Fo(e, t, n, r) {
2583
2635
  remote_yuno_role: i,
2584
2636
  remote_yuno_service: _
2585
2637
  };
2586
- rt(e) ? Pt(tt(e), "EV_ON_ID_NAK", t, e) : qt(e, "EV_ON_ID_NAK", t);
2638
+ rt(e) ? Pt(tt(e), "EV_ON_ID_NAK", t, e) : zt(e, "EV_ON_ID_NAK", t);
2587
2639
  } else {
2588
2640
  if (xt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2589
2641
  o.inform_on_close = !0;
@@ -2594,67 +2646,68 @@ function Fo(e, t, n, r) {
2594
2646
  remote_yuno_service: _,
2595
2647
  services_roles: f
2596
2648
  };
2597
- rt(e) ? Pt(tt(e), "EV_ON_OPEN", t, e) : qt(e, "EV_ON_OPEN", t);
2649
+ rt(e) ? Pt(tt(e), "EV_ON_OPEN", t, e) : zt(e, "EV_ON_OPEN", t);
2598
2650
  }
2599
2651
  o.inside_on_open = !1, function(e) {
2600
- let t = Ht(e, null, null, null);
2601
- for (let n = 0; n < t.length; n++) Io(e, t[n]);
2652
+ let t = qt(e, null, null, null);
2653
+ for (let n = 0; n < t.length; n++) Po(e, t[n]);
2602
2654
  }(e);
2603
2655
  }
2604
2656
  return 0;
2605
2657
  }
2606
- function Vo(e, t, n, r) {
2658
+ function Wo(e, t, n, r) {
2607
2659
  let o = e.priv.url, s = function(e, t) {
2608
2660
  let n;
2609
2661
  try {
2610
2662
  n = JSON.parse(t);
2611
- } catch (e) {
2612
- return dn("parsing inter_event json: " + e), null;
2663
+ } catch (t) {
2664
+ return mn(`${Ze(e)}: parsing inter_event json: ${t}`), null;
2613
2665
  }
2614
- if (!(n instanceof Object)) return dn("parsing inter_event: websocket data not a json object"), null;
2666
+ if (!(n instanceof Object)) return mn(`${Ze(e)}: parsing inter_event: websocket data not a json object`), null;
2615
2667
  let r = n.event;
2616
- if (!r) return dn("parsing inter_event: no event"), null;
2617
- if ("string" != typeof r) return dn("parsing inter_event: event not a string"), null;
2668
+ if (!r) return mn(`${Ze(e)}: parsing inter_event: no event`), null;
2669
+ if ("string" != typeof r) return mn(`${Ze(e)}: parsing inter_event: event not a string`), null;
2618
2670
  let o = n.kw;
2619
2671
  return o ? o instanceof Object ? {
2620
2672
  event: r,
2621
2673
  kw: o || {}
2622
- } : (dn("parsing inter_event: kw not a json object"), null) : (dn("parsing inter_kw: no kw"), null);
2623
- }(0, n.data);
2624
- if (Oo(e)) {
2674
+ } : (mn(`${Ze(e)}: parsing inter_event: kw not a json object`), null) : (mn(`${Ze(e)}: parsing inter_kw: no kw`), null);
2675
+ }(e, n.data);
2676
+ if (!s) return mn(`${Ze(e)}: frame dropped from ${o}: ${String(n.data).substring(0, 256)}`), -1;
2677
+ if (No(e)) {
2625
2678
  let e = Qe(Je()) + " <== " + o, t = n.data.length, r = ht(Je(), "trace_ievent_callback");
2626
- r ? r(e, s, 2, t) : xo(0, e, s);
2679
+ r ? r(e, s, 2, t) : ko(0, e, s);
2627
2680
  }
2628
2681
  let l = s.event, i = s.kw;
2629
2682
  if ("ST_SESSION" !== Dt(e)) {
2630
2683
  if (kt(e, l, R.EVF_PUBLIC_EVENT)) {
2631
2684
  if (!(Pt(e, l, i, e) < 0)) return 0;
2632
- } else dn(`${Ze(e)}: event UNKNOWN in not-session state ${l}`);
2633
- return Ro(e), -1;
2685
+ } else bn(`${Ze(e)}: event UNKNOWN in not-session state ${l}`);
2686
+ return $o(e), -1;
2634
2687
  }
2635
2688
  s = null;
2636
- let _ = Pr(e, i), a = Cr(e, i, To), u = dr(e, a, "dst_role", "");
2637
- if (u.toLowerCase() !== ze().toLowerCase()) return dn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2638
- let c = dr(e, a, "dst_service", "");
2639
- if ("__subscribing__" === _) return -1;
2640
- if ("__unsubscribing__" === _) return -1;
2689
+ let _ = Vr(e, i), a = Ur(e, i, Oo), u = hr(e, a, "dst_role", "");
2690
+ if (u.toLowerCase() !== He().toLowerCase()) return bn(`"It's not my role, dst_role: ${u}, my_role: ${He()}`), 0;
2691
+ let c = hr(e, a, "dst_service", "");
2692
+ if ("__subscribing__" === _) return mn(`${Ze(e)}: subscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2693
+ if ("__unsubscribing__" === _) return mn(`${Ze(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2641
2694
  if (kt(e, l, R.EVF_PUBLIC_EVENT)) return Pt(e, l, i, e), 0;
2642
- if (!or(c)) {
2695
+ if (!sr(c)) {
2643
2696
  let t = Se(c, !1);
2644
- return t ? kt(t, l, R.EVF_PUBLIC_EVENT) ? (Pt(t, l, i, e), 0) : (dn(`${Ze(e)}: Service found but no event or not public, service '${Ze(t)}', ev '${l}'`), -1) : (bn(`${Ze(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${l}'`), 0);
2697
+ return t ? kt(t, l, R.EVF_PUBLIC_EVENT) ? (Pt(t, l, i, e), 0) : (bn(`${Ze(e)}: Service found but no event or not public, service '${Ze(t)}', ev '${l}'`), -1) : (mn(`${Ze(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${l}'`), 0);
2645
2698
  }
2646
- return rt(e) ? Pt(tt(e), l, i, e) : qt(e, l, i), 0;
2699
+ return rt(e) ? Pt(tt(e), l, i, e) : zt(e, l, i), 0;
2647
2700
  }
2648
- function Go(e, t, n, r) {
2701
+ function Ko(e, t, n, r) {
2649
2702
  return 0;
2650
2703
  }
2651
- function Mo(e, t, n, r) {
2704
+ function Yo(e, t, n, r) {
2652
2705
  return 0;
2653
2706
  }
2654
- var Wo = {
2707
+ var Bo = {
2655
2708
  mt_create: function(e) {
2656
2709
  let t = e.priv;
2657
- t.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.url = vt(e, "url"), t.remote_yuno_name = vt(e, "remote_yuno_name"), t.remote_yuno_role = vt(e, "remote_yuno_role"), t.remote_yuno_service = vt(e, "remote_yuno_service"), Rt(e, "wanted_yuno_name", t.remote_yuno_name), Rt(e, "wanted_yuno_role", t.remote_yuno_role), Rt(e, "wanted_yuno_service", t.remote_yuno_service);
2710
+ t.gobj_timer = Ae(Qe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = vt(e, "url"), t.remote_yuno_name = vt(e, "remote_yuno_name"), t.remote_yuno_role = vt(e, "remote_yuno_role"), t.remote_yuno_service = vt(e, "remote_yuno_service"), Rt(e, "wanted_yuno_name", t.remote_yuno_name), Rt(e, "wanted_yuno_role", t.remote_yuno_role), Rt(e, "wanted_yuno_service", t.remote_yuno_service);
2658
2711
  const n = jt(e, "subscriber");
2659
2712
  n && Bt(e, null, {}, n);
2660
2713
  },
@@ -2675,52 +2728,58 @@ var Wo = {
2675
2728
  },
2676
2729
  mt_start: function(e) {
2677
2730
  let t = e.priv;
2678
- return t.retry_ms = 0, t.websocket = No(e), 0;
2731
+ return t.retry_ms = 0, "ST_DISCONNECTED" !== Dt(e) && (Pt(e, "EV_ON_CLOSE", {
2732
+ url: t.url,
2733
+ ws_seq: t.ws_seq,
2734
+ code: 1e3,
2735
+ reason: "restarted",
2736
+ was_clean: !0
2737
+ }, e), po(t.gobj_timer)), t.websocket = Do(e), 0;
2679
2738
  },
2680
2739
  mt_stop: function(e) {
2681
2740
  let t = e.priv;
2682
- return co(t.gobj_timer), t.websocket && Ro(e), 0;
2741
+ return po(t.gobj_timer), t.websocket && $o(e), 0;
2683
2742
  },
2684
2743
  mt_destroy: function(e) {},
2685
2744
  mt_stats: function(e, t, n, r) {
2686
- if ("ST_SESSION" !== Dt(e)) return dn("Not in session"), null;
2745
+ if ("ST_SESSION" !== Dt(e)) return bn("Not in session"), null;
2687
2746
  n || (n = {});
2688
- let o = ko(e, Qe(r), dr(e, n, "service", null, 0)), s = hr(e, n, "__md_stats__", null, Qt.KW_EXTRACT);
2689
- return s || (s = {}), Ir(e, n, "stats_stack", {
2747
+ let o = Co(e, Qe(r), hr(e, n, "service", null, 0)), s = Tr(e, n, "__md_stats__", null, Qt.KW_EXTRACT);
2748
+ return s || (s = {}), Pr(e, n, "stats_stack", {
2690
2749
  stats: t,
2691
2750
  kw: s
2692
- }), Ir(e, n, To, o), n.__stats__ = t, Lr(e, n, "__stats__"), $o(e, "EV_MT_STATS", n, r), null;
2751
+ }), Pr(e, n, Oo, o), n.__stats__ = t, Fr(e, n, "__stats__"), Io(e, "EV_MT_STATS", n, r), null;
2693
2752
  },
2694
2753
  mt_command_parser: function(e, t, n, r) {
2695
- if ("ST_SESSION" !== Dt(e)) return dn("Not in session"), null;
2754
+ if ("ST_SESSION" !== Dt(e)) return bn("Not in session"), null;
2696
2755
  n || (n = {});
2697
- let o = ko(e, Qe(r), dr(e, n, "service", "", 0)), s = hr(e, n, "__md_command__", null, Qt.KW_EXTRACT);
2698
- return s || (s = {}), Ir(e, n, "command_stack", {
2756
+ let o = Co(e, Qe(r), hr(e, n, "service", "", 0)), s = Tr(e, n, "__md_command__", null, Qt.KW_EXTRACT);
2757
+ return s || (s = {}), Pr(e, n, "command_stack", {
2699
2758
  command: t,
2700
2759
  kw: s
2701
- }), Ir(e, n, To, o), n.__command__ = t, Lr(e, n, "__command__"), $o(e, "EV_MT_COMMAND", n, r), null;
2760
+ }), Pr(e, n, Oo, o), n.__command__ = t, Fr(e, n, "__command__"), Io(e, "EV_MT_COMMAND", n, r), null;
2702
2761
  },
2703
2762
  mt_inject_event: function(e, t, n, r) {
2704
2763
  if ("ST_SESSION" !== Dt(e)) return window.console.error("Not in session"), -1;
2705
- if (n = Object.assign({}, qn(n) ? n : {}), qn(n.__md_iev__) && (n.__md_iev__ = Cn(n.__md_iev__)), Cr(e, n, To));
2764
+ if (n = Object.assign({}, Qn(n) ? n : {}), Qn(n.__md_iev__) && (n.__md_iev__ = Ln(n.__md_iev__)), Ur(e, n, Oo));
2706
2765
  else {
2707
- let o = ko(e, Qe(r), dr(e, n, "__service__", 0, 0));
2708
- Gn(n, "__service__"), Ir(e, n, "__message__", t), Ir(e, n, To, o);
2766
+ let o = Co(e, Qe(r), hr(e, n, "__service__", 0, 0));
2767
+ Mn(n, "__service__"), Pr(e, n, "__message__", t), Pr(e, n, Oo, o);
2709
2768
  }
2710
- return Lr(e, n, "__message__"), $o(e, t, n, r);
2769
+ return Fr(e, n, "__message__"), Io(e, t, n, r);
2711
2770
  },
2712
2771
  mt_subscription_added: function(e, t) {
2713
2772
  let n = e.priv;
2714
- return "ST_SESSION" === Dt(e) && n.websocket ? n.inside_on_open ? 0 : Io(e, t) : 0;
2773
+ return "ST_SESSION" === Dt(e) && n.websocket ? n.inside_on_open ? 0 : Po(e, t) : 0;
2715
2774
  },
2716
2775
  mt_subscription_deleted: function(e, t) {
2717
2776
  let n = e.priv;
2718
2777
  if ("ST_SESSION" !== Dt(e) || !n.websocket) return 0;
2719
2778
  if (n.inside_on_open) return 0;
2720
- if (or(t.event)) return 0;
2779
+ if (sr(t.event)) return 0;
2721
2780
  let r = {}, o = t.__global__, s = t.__config__, l = t.__filter__, i = t.__service__, _ = t.subscriber;
2722
2781
  s && (r.__config__ = s), o && (r.__global__ = o), l && (r.__filter__ = l);
2723
- return Ir(e, r, To, ko(e, Qe(_), i)), Lr(e, r, "__unsubscribing__"), $o(e, t.event, r, e);
2782
+ return Pr(e, r, Oo, Co(e, Qe(_), i)), Fr(e, r, "__unsubscribing__"), Io(e, t.event, r, e);
2724
2783
  }
2725
2784
  };
2726
2785
  exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new y(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new y(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new y(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new y(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = y, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
@@ -2734,50 +2793,50 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2734
2793
  return t;
2735
2794
  }, exports.build_stats_response = o, exports.clean_name = function(e) {
2736
2795
  return e.replace(/[?# ^:]/g, "_");
2737
- }, exports.clear_timeout = co, exports.cmp_two_simple_json = _r, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2796
+ }, exports.clear_timeout = po, exports.cmp_two_simple_json = ar, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
2738
2797
  let [r, o, s, l] = t;
2739
- if (!r) return void dn("Tag must be a valid HTML element.");
2798
+ if (!r) return void bn("Tag must be a valid HTML element.");
2740
2799
  let i = document.createElement(r), _ = "";
2741
2800
  if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
2742
2801
  let t = "";
2743
2802
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2744
2803
  i.style.cssText = t;
2745
2804
  } else "style" === e ? i.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, o[e]);
2746
- if (Xn(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) i.appendChild(Mr(s));
2805
+ if (Zn(s)) if (s = s.trim(), s.length > 0 && "<" === s[0]) i.appendChild(Yr(s));
2747
2806
  else if (n && _) i.textContent = n(_) || s;
2748
2807
  else i.textContent = s;
2749
- else if (Qn(s)) {
2750
- if (s.length > 0) if (Xn(s[0])) i.appendChild(e(s, n));
2808
+ else if (Xn(s)) {
2809
+ if (s.length > 0) if (Zn(s[0])) i.appendChild(e(s, n));
2751
2810
  else for (let t of s) Array.isArray(t) && t.length > 0 ? i.appendChild(e(t, n)) : t instanceof HTMLElement && i.appendChild(t);
2752
- } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? i.appendChild(s) : null != s && (dn("content ignored"), En(s));
2811
+ } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? i.appendChild(s) : null != s && (bn("content ignored"), yn(s));
2753
2812
  if (l && "object" == typeof l) for (const e of Object.keys(l)) i.addEventListener(e, l[e]);
2754
2813
  return i;
2755
- }, exports.createOneHtml = Mr, exports.create_json_record = function(e, t) {
2756
- let n = Cn(e);
2757
- return Un(n, t), n;
2814
+ }, exports.createOneHtml = Yr, exports.create_json_record = function(e, t) {
2815
+ let n = Ln(e);
2816
+ return Fn(n, t), n;
2758
2817
  }, exports.create_template_record = function(e, t) {
2759
2818
  let n = {};
2760
2819
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2761
2820
  let o;
2762
- qn(r) && (o = r.default);
2763
- let s = hr(null, t, e, o);
2821
+ Qn(r) && (o = r.default);
2822
+ let s = Tr(null, t, e, o);
2764
2823
  n[e] = s;
2765
2824
  }), n;
2766
- }, exports.current_timestamp = Wr, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2767
- let n = Sr(Xr(e), null, !1), r = {};
2768
- return n && qn(n) && (r = jr(e, n, t, !1)), r;
2825
+ }, exports.current_timestamp = Br, exports.data_type_t = h, exports.db_list_persistent_attrs = function(e, t) {
2826
+ let n = Rr(to(e), null, !1), r = {};
2827
+ return n && Qn(n) && (r = wr(e, n, t, !1)), r;
2769
2828
  }, exports.db_load_persistent_attrs = function(e, t) {
2770
- let n = Et(e, E.SDF_PERSIST), r = Sr(Xr(e), null, !1);
2771
- if (r && qn(r)) {
2772
- let o = jr(e, r, t, !1);
2773
- o = jr(e, o, n, !1), St(e, o, E.SDF_PERSIST);
2829
+ let n = Et(e, E.SDF_PERSIST), r = Rr(to(e), null, !1);
2830
+ if (r && Qn(r)) {
2831
+ let o = wr(e, r, t, !1);
2832
+ o = wr(e, o, n, !1), St(e, o, E.SDF_PERSIST);
2774
2833
  }
2775
2834
  }, exports.db_remove_persistent_attrs = function(e, t) {
2776
- let n = Or(e, Sr(Xr(e), null, !1), t, !1);
2777
- 0 === Jn(n) ? Nr(Xr(e)) : wr(Xr(e), n);
2835
+ let n = Nr(e, Rr(to(e), null, !1), t, !1);
2836
+ 0 === qn(n) ? Dr(to(e)) : xr(to(e), n);
2778
2837
  }, exports.db_save_persistent_attrs = function(e, t) {
2779
- let n = jr(e, Et(e, E.SDF_PERSIST), t, !1), r = Sr(Xr(e), null, !1);
2780
- return r && qn(r) && Fn(n, r), wr(Xr(e), n);
2838
+ let n = wr(e, Et(e, E.SDF_PERSIST), t, !1), r = Rr(to(e), null, !1);
2839
+ return r && Qn(r) && Vn(n, r), xr(to(e), n);
2781
2840
  }, exports.debounce = function(e, t = 0, n = !1) {
2782
2841
  let r = null, o = null, s = null;
2783
2842
  const l = (...l) => {
@@ -2804,20 +2863,20 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2804
2863
  return t;
2805
2864
  }, exports.empty_json = function(e) {
2806
2865
  return 0 === zn(e);
2807
- }, exports.empty_string = or, exports.escapeHtml = Gr, exports.event_flag_t = R, exports.flat2json = function(e) {
2866
+ }, exports.empty_string = sr, exports.escapeHtml = Kr, exports.event_flag_t = R, exports.flat2json = function(e) {
2808
2867
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2809
2868
  let t = null;
2810
2869
  for (const n of Object.keys(e)) {
2811
- const r = qr(n);
2870
+ const r = Zr(n);
2812
2871
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2813
- if (r.length > Jr) throw new Error(`flat2json: '${n}' deeper than 256`);
2872
+ if (r.length > zr) throw new Error(`flat2json: '${n}' deeper than 256`);
2814
2873
  const o = "number" == typeof r[0];
2815
2874
  if (null === t) t = o ? [] : {};
2816
2875
  else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2817
2876
  let s = t;
2818
2877
  for (let t = 0; t < r.length; t++) {
2819
2878
  const o = r[t], l = "number" == typeof o, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2820
- if (l && o > Hr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2879
+ if (l && o > Qr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2821
2880
  if (l !== Array.isArray(s)) throw new Error(`flat2json: '${n}' uses a ${l ? "array index" : "key"} where the tree already has a ${Array.isArray(s) ? "array" : "object"}`);
2822
2881
  if (i) {
2823
2882
  if (Array.isArray(s)) {
@@ -2825,7 +2884,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2825
2884
  s[o] = e[n];
2826
2885
  } else {
2827
2886
  if (Object.prototype.hasOwnProperty.call(s, o)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
2828
- s[o] = e[n];
2887
+ gr(s, o, e[n]);
2829
2888
  }
2830
2889
  break;
2831
2890
  }
@@ -2833,7 +2892,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2833
2892
  if (Array.isArray(s)) {
2834
2893
  for (; s.length <= o;) s.push(null);
2835
2894
  a = s[o], null == a && (a = _ ? [] : {}, s[o] = a);
2836
- } else a = s[o], void 0 === a && (a = _ ? [] : {}, s[o] = a);
2895
+ } else a = fr(s, o) ? void 0 : s[o], void 0 === a && (a = _ ? [] : {}, gr(s, o, a));
2837
2896
  if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
2838
2897
  if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
2839
2898
  s = a;
@@ -2844,11 +2903,11 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2844
2903
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2845
2904
  if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2846
2905
  for (const n of Object.keys(t.removed || {})) delete e[n];
2847
- for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
2906
+ for (const n of Object.keys(t.added || {})) gr(e, n, t.added[n]);
2848
2907
  for (const n of Object.keys(t.changed || {})) {
2849
2908
  const r = t.changed[n];
2850
2909
  if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
2851
- e[n] = r.to;
2910
+ gr(e, n, r.to);
2852
2911
  }
2853
2912
  return e;
2854
2913
  }, exports.flat_diff = function(e, t) {
@@ -2857,15 +2916,15 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2857
2916
  removed: {},
2858
2917
  changed: {}
2859
2918
  };
2860
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Qr(n[e], r[e]) || (o.changed[e] = {
2919
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? eo(n[e], r[e]) || (o.changed[e] = {
2861
2920
  from: n[e],
2862
2921
  to: r[e]
2863
2922
  }) : o.removed[e] = n[e];
2864
2923
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
2865
2924
  return o;
2866
2925
  }, exports.flat_key_join = function(e) {
2867
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : zr(e)).join("`") : "";
2868
- }, exports.flat_key_split = qr, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = ye, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
2926
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Xr(e)).join("`") : "";
2927
+ }, exports.flat_key_split = Zr, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = ye, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
2869
2928
  if (!e) return {
2870
2929
  top: 0,
2871
2930
  left: 0,
@@ -2884,17 +2943,17 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2884
2943
  right: n + i + r,
2885
2944
  bottom: t + l + o
2886
2945
  };
2887
- }, exports.get_function_name = Br, exports.get_now = function() {
2946
+ }, exports.get_function_name = Hr, exports.get_now = function() {
2888
2947
  return Math.floor(Date.now() / 1e3);
2889
2948
  }, exports.gobj_bottom_gobj = st, exports.gobj_change_parent = function(e, n) {
2890
- return ot(e) ? (dn("gobj NULL or DESTROYED"), null) : n instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (Re(e.parent, e), e.parent = null), Ne(n, e), n.mt_child_added && (K(e) && mn(t("👦👦🔵 child_added(%s): %s", et(n), Ze(e))), n.mt_child_added(n, e)), 0) : (dn(`${Ze(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2949
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), null) : n instanceof O ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (Re(e.parent, e), e.parent = null), Ne(n, e), n.gclass.gmt.mt_child_added && (K(e) && hn(t("👦👦🔵 child_added(%s): %s", et(n), Ze(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (bn(`${Ze(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2891
2950
  }, exports.gobj_change_state = xt, exports.gobj_command = function(e, n, o, s) {
2892
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
2951
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), -1;
2893
2952
  if (function(e) {
2894
2953
  return F > 1 || !!e && !!(M(e) & C.TRACE_COMMANDS);
2895
- }(e) || H(e, null) && !z(s, null)) {
2896
- let r = Rn(n);
2897
- I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", We(e) ? "" : "!!", Ze(e), null !== r ? r : n, Ze(s))), J(e) && In(o);
2954
+ }(e) || q(e, null) && !H(s, null)) {
2955
+ let r = xn(n);
2956
+ I(t("🌀🌀 mach(%s%s), cmd: %s, src: %s", We(e) ? "" : "!!", Ze(e), null !== r ? r : n, Ze(s))), J(e) && Cn(o);
2898
2957
  }
2899
2958
  return e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, n, o, s) : e.gclass.command_table ? u ? u(e, n, o, s) : r(0, -1, t("%s: global command parser not available", Ze(e)), 0, 0) : r(0, -1, t("%s: command table not available", Ze(e)), 0, 0);
2900
2959
  }, exports.gobj_create = function(e, t, n, r) {
@@ -2908,25 +2967,25 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2908
2967
  }, exports.gobj_create_yuno = function(e, t, n) {
2909
2968
  return ke(e, t, n, null, w.gobj_flag_yuno);
2910
2969
  }, exports.gobj_current_state = Dt, exports.gobj_default_service = Oe, exports.gobj_deliver_posted_events = Lt, exports.gobj_destroy = Ie, exports.gobj_find_child = dt, exports.gobj_find_gobj = function(e, t) {
2911
- if (or(t)) return null;
2970
+ if (sr(t)) return null;
2912
2971
  const n = t.toLowerCase();
2913
2972
  return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? d : bt(d, t);
2914
- }, exports.gobj_find_service = Se, exports.gobj_find_subscribings = zt, exports.gobj_find_subscriptions = Ht, exports.gobj_flag_t = w, exports.gobj_full_name = et, exports.gobj_gclass_name = Xe, exports.gobj_get_gclass_trace_level = ne, exports.gobj_get_gclass_trace_level2 = re, exports.gobj_get_gclass_trace_no_level = oe, exports.gobj_get_global_trace_level = ee, exports.gobj_get_global_trace_no_level = te, exports.gobj_global_trace_level = function() {
2973
+ }, exports.gobj_find_service = Se, exports.gobj_find_subscribings = Ht, exports.gobj_find_subscriptions = qt, exports.gobj_flag_t = w, exports.gobj_full_name = et, exports.gobj_gclass_name = Xe, exports.gobj_get_gclass_trace_level = ne, exports.gobj_get_gclass_trace_level2 = re, exports.gobj_get_gclass_trace_no_level = oe, exports.gobj_get_global_trace_level = ee, exports.gobj_get_global_trace_no_level = te, exports.gobj_global_trace_level = function() {
2915
2974
  return P;
2916
2975
  }, exports.gobj_global_trace_no_level = function() {
2917
2976
  return U;
2918
2977
  }, exports.gobj_has_attr = mt, exports.gobj_has_event = kt, exports.gobj_has_output_event = At, exports.gobj_hsdata = ue, exports.gobj_is_destroying = ot, exports.gobj_is_playing = Be, exports.gobj_is_pure_child = rt, exports.gobj_is_running = We, exports.gobj_is_service = Ye, exports.gobj_is_volatil = nt, exports.gobj_list_persistent_attrs = function(e, t) {
2919
2978
  return a ? a(e, t) : null;
2920
2979
  }, exports.gobj_list_subscriptions = function(e) {
2921
- let t = Ht(e, null, null, null);
2980
+ let t = qt(e, null, null, null);
2922
2981
  for (let n = 0; n < t.length; n++) {
2923
- let r = t[n], o = br(e, r, "publisher", null, Qt.KW_REQUIRED), s = br(e, r, "subscriber", null, Qt.KW_REQUIRED);
2924
- Wn(r, "s_event", dr(e, r, "event", "", Qt.KW_REQUIRED)), Wn(r, "s_publisher", Ze(o)), Wn(r, "s_subscriber", Ze(s));
2982
+ let r = t[n], o = Er(e, r, "publisher", null, Qt.KW_REQUIRED), s = Er(e, r, "subscriber", null, Qt.KW_REQUIRED);
2983
+ Kn(r, "s_event", hr(e, r, "event", "", Qt.KW_REQUIRED)), Kn(r, "s_publisher", Ze(o)), Kn(r, "s_subscriber", Ze(s));
2925
2984
  }
2926
- let n = zt(e, 0, null, 0);
2985
+ let n = Ht(e, 0, null, 0);
2927
2986
  for (let t = 0; t < n.length; t++) {
2928
- let r = n[t], o = br(e, r, "publisher", null, Qt.KW_REQUIRED), s = br(e, r, "subscriber", null, Qt.KW_REQUIRED);
2929
- Wn(r, "s_event", dr(e, r, "event", "", Qt.KW_REQUIRED)), Wn(r, "s_publisher", Ze(o)), Wn(r, "s_subscriber", Ze(s));
2987
+ let r = n[t], o = Er(e, r, "publisher", null, Qt.KW_REQUIRED), s = Er(e, r, "subscriber", null, Qt.KW_REQUIRED);
2988
+ Kn(r, "s_event", hr(e, r, "event", "", Qt.KW_REQUIRED)), Kn(r, "s_publisher", Ze(o)), Kn(r, "s_subscriber", Ze(s));
2930
2989
  }
2931
2990
  return {
2932
2991
  subscriptions: t,
@@ -2935,9 +2994,9 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2935
2994
  total_subscribings: Hn(n)
2936
2995
  };
2937
2996
  }, exports.gobj_load_persistent_attrs = function(e, t) {
2938
- return Ye(e) ? l ? l(e, t) : -1 : (dn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
2997
+ return Ye(e) ? l ? l(e, t) : -1 : (bn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
2939
2998
  }, exports.gobj_match_children = function(e, t) {
2940
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
2999
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), null;
2941
3000
  t = t || {};
2942
3001
  let n = [];
2943
3002
  const r = e.dl_children;
@@ -2957,16 +3016,16 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2957
3016
  }
2958
3017
  }(n, e), n;
2959
3018
  }, exports.gobj_match_gobj = pt, exports.gobj_name = Qe, exports.gobj_parent = tt, exports.gobj_pause = Me, exports.gobj_play = Ge, exports.gobj_post_event = function(e, n, r, o) {
2960
- return e && e instanceof O ? e.obflag & (N.obflag_destroyed | N.obflag_destroying) ? (dn(`gobj_post_event(): gobj dst DESTROYING, event ${n}`), -1) : or(n) ? (dn("gobj_post_event(): event EMPTY"), -1) : kt(e, n, 0) ? It.length >= 1e4 ? (dn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${n}, pending ${It.length}`), -1) : (It.push({
3019
+ return e && e instanceof O ? e.obflag & (N.obflag_destroyed | N.obflag_destroying) ? (bn(`gobj_post_event(): gobj dst DESTROYING, event ${n}`), -1) : sr(n) ? (bn("gobj_post_event(): event EMPTY"), -1) : kt(e, n, 0) ? It.length >= 1e4 ? (bn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${n}, pending ${It.length}`), -1) : (It.push({
2961
3020
  dst: e,
2962
3021
  event: n,
2963
3022
  kw: r,
2964
3023
  src: o
2965
- }), H(e, n) && !z(o, n) && I(t("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ze(e), n, It.length)), Ct || (Ct = !0, setTimeout(Lt, 0)), 0) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Xe(e)}, event ${n}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${n}`), -1);
3024
+ }), q(e, n) && !H(o, n) && I(t("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ze(e), n, It.length)), Ct || (Ct = !0, setTimeout(Lt, 0)), 0) : (bn(`gobj_post_event(): event NOT DEFINED in gclass ${Xe(e)}, event ${n}`), -1) : (bn(`gobj_post_event(): gobj dst NULL, event ${n}`), -1);
2966
3025
  }, exports.gobj_posted_events_size = function() {
2967
3026
  return It.length;
2968
- }, exports.gobj_publish_event = qt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = Et, exports.gobj_read_bool_attr = yt, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
2969
- return Ye(e) ? _ ? _(e, t) : -1 : (dn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
3027
+ }, exports.gobj_publish_event = zt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = Et, exports.gobj_read_bool_attr = yt, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
3028
+ return Ye(e) ? _ ? _(e, t) : -1 : (bn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
2970
3029
  }, exports.gobj_repr_global_trace_levels = function() {
2971
3030
  return L.map(([e, t, n]) => ({
2972
3031
  name: e,
@@ -2976,37 +3035,34 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2976
3035
  }));
2977
3036
  }, exports.gobj_reset_volatil_attrs = function(e) {
2978
3037
  return function(e, t, n) {
2979
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
3038
+ if (ot(e)) return bn("gobj NULL or DESTROYED"), -1;
2980
3039
  let r = e.gclass.attrs_table;
2981
3040
  for (let o = 0; o < r.length; o++) {
2982
3041
  const s = r[o];
2983
- if (s.name && !(n && s.flag & n) && (-1 === t || s.flag & t)) {
2984
- const t = _e(e, e.jn_attrs, s);
2985
- qn(e.priv) && e.priv.hasOwnProperty(s.name) && (e.priv[s.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, s.name);
2986
- }
3042
+ s.name && (n && s.flag & n || (-1 === t || s.flag & t) && (_e(e, e.jn_attrs, s), Qn(e.priv) && e.priv.hasOwnProperty(s.name) && (e.priv[s.name] = e.jn_attrs[s.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, s.name)));
2987
3043
  }
2988
3044
  return 0;
2989
3045
  }(e, E.SDF_VOLATIL, 0);
2990
3046
  }, exports.gobj_save_persistent_attrs = xe, exports.gobj_search_path = bt, exports.gobj_send_event = Pt, exports.gobj_services = function() {
2991
3047
  let e = [];
2992
- for (const t of Object.keys(p)) Yn(e, t);
3048
+ for (const t of Object.keys(p)) Bn(e, t);
2993
3049
  return e;
2994
3050
  }, exports.gobj_set_bottom_gobj = lt, exports.gobj_set_deep_trace = function(e) {
2995
3051
  return F = Number(e) || 0, 0;
2996
- }, exports.gobj_set_gclass_no_trace = le, exports.gobj_set_gclass_trace = se, exports.gobj_set_global_no_trace = Q, exports.gobj_set_global_no_trace2 = Z, exports.gobj_set_global_trace = q, exports.gobj_set_global_trace2 = X, exports.gobj_set_gobj_no_trace = function(e, t, n) {
2997
- if (!e) return dn("gobj_set_gobj_no_trace: gobj NULL"), -1;
3052
+ }, exports.gobj_set_gclass_no_trace = le, exports.gobj_set_gclass_trace = se, exports.gobj_set_global_no_trace = Q, exports.gobj_set_global_no_trace2 = Z, exports.gobj_set_global_trace = z, exports.gobj_set_global_trace2 = X, exports.gobj_set_gobj_no_trace = function(e, t, n) {
3053
+ if (!e) return bn("gobj_set_gobj_no_trace: gobj NULL"), -1;
2998
3054
  const r = G(t, "gobj_set_gobj_no_trace", e.gclass && e.gclass.s_user_trace_level || null);
2999
3055
  return r ? (n ? e.no_trace_level |= r : e.no_trace_level &= ~r, 0) : -1;
3000
3056
  }, exports.gobj_set_gobj_trace = function(e, t, n) {
3001
- if (!e) return dn("gobj_set_gobj_trace: gobj NULL"), -1;
3057
+ if (!e) return bn("gobj_set_gobj_trace: gobj NULL"), -1;
3002
3058
  const r = G(t, "gobj_set_gobj_trace", e.gclass && e.gclass.s_user_trace_level || null);
3003
3059
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
3004
3060
  }, exports.gobj_set_trace_machine_format = function(e) {
3005
3061
  A = 1 === Number(e) ? 1 : 0;
3006
3062
  }, exports.gobj_short_name = Ze, exports.gobj_start = Ce, exports.gobj_start_children = function(e) {
3007
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Le, 0, 0);
3063
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : _t(e, x.WALK_FIRST2LAST, Le, 0, 0);
3008
3064
  }, exports.gobj_start_tree = function(e) {
3009
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", et(e))), e.gclass.gclass_flag & S.gcflag_manual_start || e.disabled ? 0 : (e.running || Ce(e), at(e, x.WALK_TOP2BOTTOM, Pe, 0, 0)));
3065
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏺ ⏺ ⏺ ⏺ start_tree: %s", et(e))), e.gclass.gclass_flag & S.gcflag_manual_start || e.disabled ? 0 : (e.running || Ce(e), at(e, x.WALK_TOP2BOTTOM, Pe, 0, 0)));
3010
3066
  }, exports.gobj_start_up = function(e, t, n, r, o, s, g) {
3011
3067
  l = t, i = n, _ = r, a = o, u = s, c = g;
3012
3068
  const p = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
@@ -3016,14 +3072,14 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3016
3072
  }
3017
3073
  return 0;
3018
3074
  }, exports.gobj_stats = function(e, n, r, s) {
3019
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Ze(e)), 0, 0);
3075
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, n, r, s) : c ? c(e, n, r, s) : o(0, -1, t("%s, stats parser not available", Ze(e)), 0, 0);
3020
3076
  }, exports.gobj_stop = Ue, exports.gobj_stop_children = Ve, exports.gobj_stop_tree = function(e) {
3021
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", et(e))), We(e) && Ue(e), at(e, x.WALK_TOP2BOTTOM, Fe, 0, 0));
3077
+ return ot(e) ? (bn("gobj NULL or DESTROYED"), -1) : (B(e) && I(t("⏹ ⏹ ⏹ ⏹ stop_tree: %s", et(e))), We(e) && Ue(e), at(e, x.WALK_TOP2BOTTOM, Fe, 0, 0));
3022
3078
  }, exports.gobj_subscribe_event = Bt, exports.gobj_trace_level = M, exports.gobj_trace_machine_format = function() {
3023
3079
  return A;
3024
3080
  }, exports.gobj_trace_no_level = W, exports.gobj_unsubscribe_event = function(e, t, n, r) {
3025
- if (null == n && (n = {}), !e) return dn(`publisher NULL: ev ${t}`), 0;
3026
- if (!r) return dn(`subscriber NULL: ev ${t}`), 0;
3081
+ if (null == n && (n = {}), !e) return bn(`publisher NULL: ev ${t}`), 0;
3082
+ if (!r) return bn(`subscriber NULL: ev ${t}`), 0;
3027
3083
  const o = /* @__PURE__ */ new Set([
3028
3084
  "__config__",
3029
3085
  "__global__",
@@ -3032,80 +3088,80 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3032
3088
  "__service__"
3033
3089
  ]);
3034
3090
  if (Object.keys(n).forEach((n) => {
3035
- o.has(n) || dn(`${Ze(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
3036
- }), or(t)) t = "";
3037
- else if (!(At(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${Ze(e)}, ev ${t}`), 0;
3091
+ o.has(n) || bn(`${Ze(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
3092
+ }), sr(t)) t = "";
3093
+ else if (!(At(e, t, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return bn(`event NOT in output event list: ${Ze(e)}, ev ${t}`), 0;
3038
3094
  let s = Gt(n, t), l = Wt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, r), i = 0, _ = 0, a = 0;
3039
3095
  for (let t = 0; t < l.length; t++) {
3040
3096
  let n = l[t], r = Yt(e, n, !1, !1);
3041
3097
  0 === r ? i++ : r < 0 ? _++ : a++;
3042
3098
  }
3043
- return _ ? bn(`${Ze(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (bn(`${Ze(e)}: No subscription found`), In(n, "No subscription found")), 0;
3044
- }, exports.gobj_unsubscribe_list = Jt, exports.gobj_walk_gobj_children = _t, exports.gobj_walk_gobj_children_tree = at, exports.gobj_write_attr = Ot, exports.gobj_write_attrs = St, exports.gobj_write_bool_attr = wt, exports.gobj_write_integer_attr = Nt, exports.gobj_write_str_attr = Rt, exports.gobj_yuno = Je, exports.gobj_yuno_id = qe, exports.gobj_yuno_name = He, exports.gobj_yuno_role = ze, exports.id_index_in_obj_list = Dr, exports.index_in_list = Kr, exports.is_array = Qn, exports.is_boolean = er, exports.is_date = function(e) {
3099
+ return _ ? mn(`${Ze(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (mn(`${Ze(e)}: No subscription found`), Cn(n, "No subscription found")), 0;
3100
+ }, exports.gobj_unsubscribe_list = Jt, exports.gobj_walk_gobj_children = _t, exports.gobj_walk_gobj_children_tree = at, exports.gobj_write_attr = Ot, exports.gobj_write_attrs = St, exports.gobj_write_bool_attr = wt, exports.gobj_write_integer_attr = Nt, exports.gobj_write_str_attr = Rt, exports.gobj_yuno = Je, exports.gobj_yuno_id = ze, exports.gobj_yuno_name = qe, exports.gobj_yuno_role = He, exports.id_index_in_obj_list = Ar, exports.index_in_list = Jr, exports.is_array = Xn, exports.is_boolean = tr, exports.is_date = function(e) {
3045
3101
  return e instanceof Date && !isNaN(e);
3046
- }, exports.is_function = nr, exports.is_gobj = rr, exports.is_metadata_key = function(e) {
3047
- if (!Xn(e)) return !1;
3102
+ }, exports.is_function = rr, exports.is_gobj = or, exports.is_metadata_key = function(e) {
3103
+ if (!Zn(e)) return !1;
3048
3104
  let t = 0;
3049
3105
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
3050
3106
  return 2 === t;
3051
- }, exports.is_null = tr, exports.is_number = Zn, exports.is_object = qn, exports.is_private_key = function(e) {
3052
- if (!Xn(e)) return !1;
3107
+ }, exports.is_null = nr, exports.is_number = er, exports.is_object = Qn, exports.is_private_key = function(e) {
3108
+ if (!Zn(e)) return !1;
3053
3109
  let t = 0;
3054
3110
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
3055
3111
  return 1 === t;
3056
3112
  }, exports.is_pure_number = function(e) {
3057
- if (Zn(e)) return !0;
3058
- if (!Xn(e)) return !1;
3113
+ if (er(e)) return !0;
3114
+ if (!Zn(e)) return !1;
3059
3115
  const t = Number(e);
3060
3116
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
3061
- }, exports.is_secret_name = jn, exports.is_string = Xn, exports.jdb_delete = function(e, t, n, r) {
3062
- let o = hr(null, hr(null, e, "topics", null, 0), t, null, 0);
3063
- if (!o) return dn("jdb_delete: topic not found: " + t), null;
3064
- if (or(r.id)) return dn("jdb_delete: record without id: " + r), hn(r), null;
3117
+ }, exports.is_secret_name = On, exports.is_string = Zn, exports.jdb_delete = function(e, t, n, r) {
3118
+ let o = Tr(null, Tr(null, e, "topics", null, 0), t, null, 0);
3119
+ if (!o) return bn("jdb_delete: topic not found: " + t), null;
3120
+ if (sr(r.id)) return bn("jdb_delete: record without id: " + r), En(r), null;
3065
3121
  let s, l = n.split("`"), i = o;
3066
- for (; (s = l.shift()) && !or(s) && i;) qn(i) && (i = hr(null, i, e.hook, null, 0)), i = Fr(i, null, s, !1);
3067
- if (0 === l.length && i) if (Qn(i)) {
3068
- let e = Dr(i, r.id);
3122
+ for (; (s = l.shift()) && !sr(s) && i;) Qn(i) && (i = Tr(null, i, e.hook, null, 0)), i = Mr(i, null, s, !1);
3123
+ if (0 === l.length && i) if (Xn(i)) {
3124
+ let e = Ar(i, r.id);
3069
3125
  e >= 0 && i.splice(e, 1);
3070
3126
  } else {
3071
- let t = hr(null, i, e.hook, null, 0), n = Dr(t, r.id);
3127
+ let t = Tr(null, i, e.hook, null, 0), n = Ar(t, r.id);
3072
3128
  n >= 0 && t.splice(n, 1);
3073
3129
  }
3074
3130
  return o;
3075
3131
  }, exports.jdb_get = function(e, t, n, r) {
3076
- let o = hr(null, hr(null, e, "topics", null, 0), t, null, 0);
3077
- return o ? (void 0 === r && (r = !0), Fr(o, e.hook, n, r)) : (dn("jdb_get: topic not found: " + t), null);
3132
+ let o = Tr(null, Tr(null, e, "topics", null, 0), t, null, 0);
3133
+ return o ? (void 0 === r && (r = !0), Mr(o, e.hook, n, r)) : (bn("jdb_get: topic not found: " + t), null);
3078
3134
  }, exports.jdb_get_by_idx = function(e, t, n) {
3079
- let r = hr(null, hr(null, e, "topics", null, 0), t, null, 0);
3080
- return r ? n < r.length ? r[n] : {} : (dn("jdb_get_by_idx: topic not found: " + t), null);
3135
+ let r = Tr(null, Tr(null, e, "topics", null, 0), t, null, 0);
3136
+ return r ? n < r.length ? r[n] : {} : (bn("jdb_get_by_idx: topic not found: " + t), null);
3081
3137
  }, exports.jdb_get_topic = function(e, t) {
3082
- let n = hr(null, e, "topics", null, 0);
3083
- if (!n) return dn("jdb topics section not found"), hn(e), null;
3084
- return hr(null, n, t, null, 0) || (dn("jdb topic not found: " + t), hn(n), null);
3138
+ let n = Tr(null, e, "topics", null, 0);
3139
+ if (!n) return bn("jdb topics section not found"), En(e), null;
3140
+ return Tr(null, n, t, null, 0) || (bn("jdb topic not found: " + t), En(n), null);
3085
3141
  }, exports.jdb_init = function(e, t, n) {
3086
- n && (e = Cn(e));
3087
- let r = hr(null, e, "type", [], 1);
3088
- dr(null, e, "hook", "data", 1);
3089
- let o = hr(null, e, "schema", {}, 1), s = hr(null, e, "topics", {}, 1);
3090
- return Ur(o, function(e, t, n, o) {
3091
- "__" !== t.substring(0, 2) && hr(null, s, o, Cn(r), 1);
3142
+ n && (e = Ln(e));
3143
+ let r = Tr(null, e, "type", [], 1);
3144
+ hr(null, e, "hook", "data", 1);
3145
+ let o = Tr(null, e, "schema", {}, 1), s = Tr(null, e, "topics", {}, 1);
3146
+ return Gr(o, function(e, t, n, o) {
3147
+ "__" !== t.substring(0, 2) && Tr(null, s, o, Ln(r), 1);
3092
3148
  }, t), e;
3093
3149
  }, exports.jdb_update = function(e, t, n, r) {
3094
- let o = hr(null, hr(null, e, "topics", null, 0), t, null, 0);
3095
- if (!o) return dn("jdb_update: topic not found: " + t), null;
3096
- if (or(r.id)) return dn("jdb_update: record without id: " + r), hn(r), null;
3150
+ let o = Tr(null, Tr(null, e, "topics", null, 0), t, null, 0);
3151
+ if (!o) return bn("jdb_update: topic not found: " + t), null;
3152
+ if (sr(r.id)) return bn("jdb_update: record without id: " + r), En(r), null;
3097
3153
  let s, l = n.split("`"), i = o;
3098
- for (; (s = l.shift()) && !or(s) && i;) qn(i) && (i = hr(null, i, e.hook, [], 1)), i = Fr(i, null, s, !1);
3099
- if (0 === l.length && i) if (Qn(i)) i.push(r);
3154
+ for (; (s = l.shift()) && !sr(s) && i;) Qn(i) && (i = Tr(null, i, e.hook, [], 1)), i = Mr(i, null, s, !1);
3155
+ if (0 === l.length && i) if (Xn(i)) i.push(r);
3100
3156
  else if (i.id === r.id) Object.assign(i, r);
3101
3157
  else {
3102
- let t = hr(null, i, e.hook, [], 1), n = Fr(t, e.hook, r.id, !1);
3158
+ let t = Tr(null, i, e.hook, [], 1), n = Mr(t, e.hook, r.id, !1);
3103
3159
  n ? Object.assign(n, r) : t.push(r);
3104
3160
  }
3105
3161
  return o;
3106
3162
  }, exports.json2flat = function(e) {
3107
3163
  const t = {}, n = (e, r, o) => {
3108
- if (o > Jr) throw new Error("json2flat: deeper than 256");
3164
+ if (o > zr) throw new Error("json2flat: deeper than 256");
3109
3165
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3110
3166
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3111
3167
  const s = `[${t}]`;
@@ -3115,20 +3171,20 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3115
3171
  const t = Object.keys(e);
3116
3172
  if (t.length > 0) {
3117
3173
  for (const s of t) {
3118
- const t = zr(s);
3174
+ const t = Xr(s);
3119
3175
  n(e[s], 0 === o ? t : r + "`" + t, o + 1);
3120
3176
  }
3121
3177
  return;
3122
3178
  }
3123
3179
  }
3124
- 0 !== o && (t[r] = e);
3180
+ 0 !== o && gr(t, r, e);
3125
3181
  };
3126
3182
  return null == e || n(e, "", 0), t;
3127
- }, exports.json_array_append = Kn, exports.json_array_append_new = Yn, exports.json_array_extend = function(e, t) {
3183
+ }, exports.json_array_append = Yn, exports.json_array_append_new = Bn, exports.json_array_extend = function(e, t) {
3128
3184
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3129
- }, exports.json_array_remove = Bn, exports.json_array_size = Hn, exports.json_deep_copy = Cn, exports.json_is_identical = Ln, exports.json_mask_secrets = An, exports.json_object_del = Gn, exports.json_object_get = Vn, exports.json_object_set = Mn, exports.json_object_set_new = Wn, exports.json_object_size = Jn, exports.json_object_update = Pn, exports.json_object_update_existing = Un, exports.json_object_update_missing = Fn, exports.json_size = zn, exports.jwt2json = function(e, t) {
3185
+ }, exports.json_array_remove = Jn, exports.json_array_size = Hn, exports.json_deep_copy = Ln, exports.json_is_identical = Pn, exports.json_mask_secrets = In, exports.json_object_del = Mn, exports.json_object_get = Gn, exports.json_object_set = Wn, exports.json_object_set_new = Kn, exports.json_object_size = qn, exports.json_object_update = Un, exports.json_object_update_existing = Fn, exports.json_object_update_missing = Vn, exports.json_size = zn, exports.jwt2json = function(e, t) {
3130
3186
  try {
3131
- let n = Vr(e);
3187
+ let n = Wr(e);
3132
3188
  switch (t) {
3133
3189
  case "header": return JSON.parse(n.header);
3134
3190
  case "signature": return JSON.parse(n.signature);
@@ -3137,117 +3193,117 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3137
3193
  } catch (e) {
3138
3194
  return null;
3139
3195
  }
3140
- }, exports.jwtDecode = Vr, exports.kw_clone_by_keys = jr, exports.kw_clone_by_not_keys = Or, exports.kw_collect = function(e, t, n, r) {
3141
- if (e && !rr(e) && dn("GObj bad instanceof"), !t) return null;
3142
- r || (r = vr);
3196
+ }, exports.jwtDecode = Wr, exports.kw_clone_by_keys = wr, exports.kw_clone_by_not_keys = Nr, exports.kw_collect = function(e, t, n, r) {
3197
+ if (e && !or(e) && bn("GObj bad instanceof"), !t) return null;
3198
+ r || (r = Sr);
3143
3199
  let o = [];
3144
- if (Qn(t)) for (let e = 0; e < t.length; e++) {
3200
+ if (Xn(t)) for (let e = 0; e < t.length; e++) {
3145
3201
  let s = t[e];
3146
3202
  r(s, n) && o.push(s);
3147
3203
  }
3148
3204
  else {
3149
- if (!qn(t)) return dn("kw_select() BAD kw parameter"), null;
3205
+ if (!Qn(t)) return bn("kw_select() BAD kw parameter"), null;
3150
3206
  r(t, n) && o.push(t);
3151
3207
  }
3152
3208
  return o;
3153
- }, exports.kw_delete = fr, exports.kw_find_json_in_list = function(e, t, n, r) {
3154
- if (!n || !Qn(t)) return r && dn("item NULL or kw_list is not a list"), -1;
3155
- for (let e = 0; e < t.length; e++) if (Ln(n, t[e])) return e;
3156
- return r && dn("item not found in this list"), -1;
3157
- }, exports.kw_find_path = cr, exports.kw_flag_t = Qt, exports.kw_get_bool = gr, exports.kw_get_dict = mr, exports.kw_get_dict_value = hr, exports.kw_get_int = pr, exports.kw_get_list = function(e, t, n, r, o) {
3158
- e && !rr(e) && dn("GObj bad instanceof");
3159
- let s = cr(e, t, n, !1);
3209
+ }, exports.kw_delete = dr, exports.kw_find_json_in_list = function(e, t, n, r) {
3210
+ if (!n || !Xn(t)) return r && bn("item NULL or kw_list is not a list"), -1;
3211
+ for (let e = 0; e < t.length; e++) if (Pn(n, t[e])) return e;
3212
+ return r && bn("item not found in this list"), -1;
3213
+ }, exports.kw_find_path = pr, exports.kw_flag_t = Qt, exports.kw_get_bool = br, exports.kw_get_dict = yr, exports.kw_get_dict_value = Tr, exports.kw_get_int = mr, exports.kw_get_list = function(e, t, n, r, o) {
3214
+ e && !or(e) && bn("GObj bad instanceof");
3215
+ let s = pr(e, t, n, !1);
3160
3216
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT;
3161
- return void 0 === s ? i && Qn(r) && t ? (Er(e, t, n, r), r) : (l && (dn(`path not found: '${n}'`), In(t)), r) : Qn(s) ? (_ && fr(e, t, n), s) : (l && (dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json list: '${n}'`), In(t)), r);
3162
- }, exports.kw_get_local_storage_value = Sr, exports.kw_get_pointer = br, exports.kw_get_real = function(e, t, n, r, o) {
3163
- e && !rr(e) && dn("GObj bad instanceof");
3164
- let s = cr(e, t, n, !1);
3217
+ return void 0 === s ? i && Xn(r) && t ? (vr(e, t, n, r), r) : (l && (bn(`path not found: '${n}'`), Cn(t)), r) : Xn(s) ? (_ && dr(e, t, n), s) : (l && (bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json list: '${n}'`), Cn(t)), r);
3218
+ }, exports.kw_get_local_storage_value = Rr, exports.kw_get_pointer = Er, exports.kw_get_real = function(e, t, n, r, o) {
3219
+ e && !or(e) && bn("GObj bad instanceof");
3220
+ let s = pr(e, t, n, !1);
3165
3221
  const l = o && o & Qt.KW_REQUIRED, i = o && o & Qt.KW_CREATE, _ = o && o & Qt.KW_EXTRACT, a = o && o & Qt.KW_WILD_NUMBER;
3166
3222
  if (void 0 === s) {
3167
3223
  if (i && t) {
3168
3224
  let o = Number(r);
3169
- return Er(e, t, n, o), o;
3225
+ return vr(e, t, n, o), o;
3170
3226
  }
3171
- return l && (dn(`path not found: '${n}'`), In(t)), Number(r);
3227
+ return l && (bn(`path not found: '${n}'`), Cn(t)), Number(r);
3172
3228
  }
3173
3229
  let u;
3174
- if (Zn(s)) u = s;
3230
+ if (er(s)) u = s;
3175
3231
  else {
3176
- if (!a) return dn(`${e ? Ze(e) + ": " : ""}path MUST BE a json real: '${n}'`), In(t), Number(r);
3177
- if (er(s)) u = s ? 1 : 0;
3178
- else if (Xn(s)) u = parseFloat(s), Number.isNaN(u) && (u = 0);
3232
+ if (!a) return bn(`${e ? Ze(e) + ": " : ""}path MUST BE a json real: '${n}'`), Cn(t), Number(r);
3233
+ if (tr(s)) u = s ? 1 : 0;
3234
+ else if (Zn(s)) u = parseFloat(s), Number.isNaN(u) && (u = 0);
3179
3235
  else {
3180
- if (null !== s) return dn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), In(t), 0;
3236
+ if (null !== s) return bn(`${e ? Ze(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Cn(t), 0;
3181
3237
  u = 0;
3182
3238
  }
3183
3239
  }
3184
- return _ && fr(e, t, n), u;
3185
- }, exports.kw_get_str = dr, exports.kw_has_key = ur, exports.kw_match_simple = vr, exports.kw_pop = ar, exports.kw_remove_local_storage_value = Nr, exports.kw_select = function(e, t, n, r) {
3186
- if (e && !rr(e) && dn("GObj bad instanceof"), !t) return null;
3187
- r || (r = vr);
3240
+ return _ && dr(e, t, n), u;
3241
+ }, exports.kw_get_str = hr, exports.kw_has_key = cr, exports.kw_match_simple = Sr, exports.kw_pop = ur, exports.kw_remove_local_storage_value = Dr, exports.kw_select = function(e, t, n, r) {
3242
+ if (e && !or(e) && bn("GObj bad instanceof"), !t) return null;
3243
+ r || (r = Sr);
3188
3244
  let o = [];
3189
- if (Qn(t)) for (let e = 0; e < t.length; e++) {
3245
+ if (Xn(t)) for (let e = 0; e < t.length; e++) {
3190
3246
  let s = t[e];
3191
- r(s, n) && o.push(Cn(s));
3247
+ r(s, n) && o.push(Ln(s));
3192
3248
  }
3193
3249
  else {
3194
- if (!qn(t)) return dn("kw_select() BAD kw parameter"), null;
3195
- r(t, n) && o.push(Cn(t));
3250
+ if (!Qn(t)) return bn("kw_select() BAD kw parameter"), null;
3251
+ r(t, n) && o.push(Ln(t));
3196
3252
  }
3197
3253
  return o;
3198
- }, exports.kw_set_dict_value = Er, exports.kw_set_local_storage_value = wr, exports.kw_set_subdict_value = yr, exports.kwid_collect = xr, exports.kwid_find_one_record = function(e, t, n, r, o) {
3199
- e && !rr(e) && dn("GObj bad instanceof");
3200
- let s = xr(e, t, n, r, o);
3254
+ }, exports.kw_set_dict_value = vr, exports.kw_set_local_storage_value = xr, exports.kw_set_subdict_value = jr, exports.kwid_collect = kr, exports.kwid_find_one_record = function(e, t, n, r, o) {
3255
+ e && !or(e) && bn("GObj bad instanceof");
3256
+ let s = kr(e, t, n, r, o);
3201
3257
  return s && 0 !== s.length ? s[0] : null;
3202
3258
  }, exports.kwid_get_ids = function(e, t) {
3203
- if (e && !rr(e) && dn("GObj bad instanceof"), !t) return [];
3259
+ if (e && !or(e) && bn("GObj bad instanceof"), !t) return [];
3204
3260
  let n = [];
3205
- if (Xn(t)) n.push(t);
3206
- else if (qn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
3207
- else Qn(t) && t.forEach(function(t) {
3208
- if (Xn(t)) or(t) || n.push(t);
3209
- else if (qn(t)) {
3210
- let r = dr(e, t, "id", 0, 0);
3261
+ if (Zn(t)) n.push(t);
3262
+ else if (Qn(t)) for (let e in t) Object.prototype.hasOwnProperty.call(t, e) && n.push(e);
3263
+ else Xn(t) && t.forEach(function(t) {
3264
+ if (Zn(t)) sr(t) || n.push(t);
3265
+ else if (Qn(t)) {
3266
+ let r = hr(e, t, "id", 0, 0);
3211
3267
  r && n.push(r);
3212
3268
  }
3213
3269
  });
3214
3270
  return n;
3215
- }, exports.kwid_match_id = Rr, exports.kwid_new_dict = function(e, t, n) {
3216
- e && !rr(e) && dn("GObj bad instanceof");
3271
+ }, exports.kwid_match_id = $r, exports.kwid_new_dict = function(e, t, n) {
3272
+ e && !or(e) && bn("GObj bad instanceof");
3217
3273
  let r = {};
3218
- if (or(n) || (t = cr(e, t, n)), qn(t)) r = t;
3219
- else if (Qn(t)) for (let n = 0; n < t.length; n++) {
3220
- let o = t[n], s = dr(e, o, "id", "", Qt.KW_REQUIRED);
3221
- or(s) || (r[s] = o);
3274
+ if (sr(n) || (t = pr(e, t, n)), Qn(t)) r = t;
3275
+ else if (Xn(t)) for (let n = 0; n < t.length; n++) {
3276
+ let o = t[n], s = hr(e, o, "id", "", Qt.KW_REQUIRED);
3277
+ sr(s) || (r[s] = o);
3222
3278
  }
3223
- else dn(`${Ze(e)} kwid_new_dict: data type unknown`);
3279
+ else bn(`${Ze(e)} kwid_new_dict: data type unknown`);
3224
3280
  return r;
3225
3281
  }, exports.kwid_new_list = function(e, t, n) {
3226
- if (e && !rr(e) && dn("GObj bad instanceof"), or(n) || (t = cr(e, t, n)), Qn(t)) return t;
3227
- if (qn(t)) {
3282
+ if (e && !or(e) && bn("GObj bad instanceof"), sr(n) || (t = pr(e, t, n)), Xn(t)) return t;
3283
+ if (Qn(t)) {
3228
3284
  let n = [];
3229
3285
  for (let r of Object.keys(t)) {
3230
3286
  let o = t[r];
3231
- qn(o) ? (o.id = r, n.push(o)) : dn(`${Ze(e)} kwid_new_list: not a record: '${r}'`);
3287
+ Qn(o) ? (o.id = r, n.push(o)) : bn(`${Ze(e)} kwid_new_list: not a record: '${r}'`);
3232
3288
  }
3233
3289
  return n;
3234
3290
  }
3235
- return dn(`${Ze(e)} kwid_new_list: wrong type for list`), [];
3291
+ return bn(`${Ze(e)} kwid_new_list: wrong type for list`), [];
3236
3292
  }, exports.list2options = function(e, t, n) {
3237
3293
  t = t || "id", n = n || "value";
3238
3294
  let r = [];
3239
- if (Qn(e)) for (let o = 0; o < e.length; o++) {
3295
+ if (Xn(e)) for (let o = 0; o < e.length; o++) {
3240
3296
  let s = e[o];
3241
- if (Xn(s)) r.push({
3297
+ if (Zn(s)) r.push({
3242
3298
  id: e[o],
3243
3299
  value: e[o]
3244
3300
  });
3245
- else if (qn(s)) {
3301
+ else if (Qn(s)) {
3246
3302
  let e = {};
3247
- if (ur(s, t)) {
3248
- if (!ur(s, n)) {
3303
+ if (cr(s, t)) {
3304
+ if (!cr(s, n)) {
3249
3305
  if (!(zn(s) > 0)) {
3250
- dn("list2options(): object without field value: " + n);
3306
+ bn("list2options(): object without field value: " + n);
3251
3307
  continue;
3252
3308
  }
3253
3309
  n = Object.keys(s)[0];
@@ -3255,19 +3311,19 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3255
3311
  e.id = s[t], e.value = s[n];
3256
3312
  } else {
3257
3313
  if (!(zn(s) > 0)) {
3258
- dn("list2options(): object without field id: " + t);
3314
+ bn("list2options(): object without field id: " + t);
3259
3315
  continue;
3260
3316
  }
3261
3317
  t = Object.keys(s)[0], e.id = t, e.value = s[t];
3262
3318
  }
3263
3319
  r.push(e);
3264
- } else dn("list2options(): case1 not implemented");
3320
+ } else bn("list2options(): case1 not implemented");
3265
3321
  }
3266
- else if (qn(e)) for (let t of Object.keys(e)) r.push({
3322
+ else if (Qn(e)) for (let t of Object.keys(e)) r.push({
3267
3323
  id: t,
3268
3324
  value: t
3269
3325
  });
3270
- else dn("list2options(): case2 not implemented");
3326
+ else bn("list2options(): case2 not implemented");
3271
3327
  return r;
3272
3328
  }, exports.load_json_file = function(e, t, n) {
3273
3329
  let r = new XMLHttpRequest();
@@ -3275,18 +3331,18 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3275
3331
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
3276
3332
  t(JSON.parse(r.responseText));
3277
3333
  } catch (e) {
3278
- n && (dn(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
3334
+ n && (bn(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
3279
3335
  }
3280
3336
  else n && n(r.status);
3281
3337
  var e;
3282
3338
  }, r.send();
3283
- }, exports.log_debug = mn, exports.log_error = dn, exports.log_info = function(e) {
3284
- let t = pn(e), n = Wr();
3285
- tn && an("info", t) && tn("%c" + n + " INFO: " + String(t), "color:cyan"), cn("info", t, n);
3286
- }, exports.log_warning = bn, exports.mask_secrets_inline = Rn, exports.msg_iev_get_msg_type = Pr, exports.msg_iev_get_stack = Cr, exports.msg_iev_push_stack = Ir, exports.msg_iev_read_key = kr, exports.msg_iev_set_msg_type = Lr, exports.msg_iev_write_key = Ar, exports.node_uuid = Yr, exports.parseBoolean = sr, exports.parseSVG = function(e) {
3339
+ }, exports.log_debug = hn, exports.log_error = bn, exports.log_info = function(e, ...t) {
3340
+ let n = dn(e, ...t), r = Br();
3341
+ tn && an("info", n) && tn("%c" + r + " INFO: " + String(n), "color:cyan"), cn("info", n, r);
3342
+ }, exports.log_warning = mn, exports.mask_secrets_inline = xn, exports.msg_iev_get_msg_type = Vr, exports.msg_iev_get_stack = Ur, exports.msg_iev_push_stack = Pr, exports.msg_iev_read_key = Cr, exports.msg_iev_set_msg_type = Fr, exports.msg_iev_write_key = Lr, exports.node_uuid = qr, exports.parseBoolean = lr, exports.parseSVG = function(e) {
3287
3343
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3288
3344
  }, exports.refresh_language = function(e, t) {
3289
- if (!nr(t)) return void dn("You must supply a translation function");
3345
+ if (!rr(t)) return void bn("You must supply a translation function");
3290
3346
  e || (e = document);
3291
3347
  const n = (t) => {
3292
3348
  let n = [];
@@ -3310,22 +3366,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3310
3366
  });
3311
3367
  }, exports.register_c_ievent_cli = function() {
3312
3368
  return function(e) {
3313
- if (wo) return dn(`GClass ALREADY created: ${e}`), -1;
3369
+ if (xo) return bn(`GClass ALREADY created: ${e}`), -1;
3314
3370
  const t = [
3315
3371
  ["ST_DISCONNECTED", [
3316
3372
  [
3317
3373
  "EV_ON_OPEN",
3318
- Lo,
3374
+ Fo,
3319
3375
  "ST_WAIT_IDENTITY_CARD_ACK"
3320
3376
  ],
3321
3377
  [
3322
3378
  "EV_ON_CLOSE",
3323
- Po,
3379
+ Vo,
3324
3380
  null
3325
3381
  ],
3326
3382
  [
3327
3383
  "EV_TIMEOUT",
3328
- Co,
3384
+ Uo,
3329
3385
  null
3330
3386
  ],
3331
3387
  [
@@ -3337,22 +3393,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3337
3393
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3338
3394
  [
3339
3395
  "EV_ON_MESSAGE",
3340
- Vo,
3396
+ Wo,
3341
3397
  null
3342
3398
  ],
3343
3399
  [
3344
3400
  "EV_IDENTITY_CARD_ACK",
3345
- Fo,
3401
+ Mo,
3346
3402
  null
3347
3403
  ],
3348
3404
  [
3349
3405
  "EV_ON_CLOSE",
3350
- Po,
3406
+ Vo,
3351
3407
  "ST_DISCONNECTED"
3352
3408
  ],
3353
3409
  [
3354
3410
  "EV_TIMEOUT",
3355
- Uo,
3411
+ Go,
3356
3412
  null
3357
3413
  ],
3358
3414
  [
@@ -3364,22 +3420,22 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3364
3420
  ["ST_SESSION", [
3365
3421
  [
3366
3422
  "EV_ON_MESSAGE",
3367
- Vo,
3423
+ Wo,
3368
3424
  null
3369
3425
  ],
3370
3426
  [
3371
3427
  "EV_MT_STATS",
3372
- Go,
3428
+ Ko,
3373
3429
  null
3374
3430
  ],
3375
3431
  [
3376
3432
  "EV_MT_COMMAND",
3377
- Mo,
3433
+ Yo,
3378
3434
  null
3379
3435
  ],
3380
3436
  [
3381
3437
  "EV_ON_CLOSE",
3382
- Po,
3438
+ Vo,
3383
3439
  "ST_DISCONNECTED"
3384
3440
  ],
3385
3441
  [
@@ -3390,7 +3446,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3390
3446
  ]],
3391
3447
  [null, null]
3392
3448
  ];
3393
- return (wo = ge(e, [
3449
+ return (xo = ge(e, [
3394
3450
  ["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
3395
3451
  ["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
3396
3452
  ["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
@@ -3401,36 +3457,36 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3401
3457
  ["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3402
3458
  ["EV_TIMEOUT", 0],
3403
3459
  [null, 0]
3404
- ], t, Wo, 0, vo, So, 0, 0, jo, S.gcflag_no_check_output_events)) ? 0 : -1;
3460
+ ], t, Bo, 0, So, Ro, 0, 0, wo, S.gcflag_no_check_output_events)) ? 0 : -1;
3405
3461
  }("C_IEVENT_CLI");
3406
3462
  }, exports.register_c_timer = function() {
3407
3463
  return function(e) {
3408
- if (lo) return dn(`GClass ALREADY created: ${e}`), -1;
3464
+ if (ao) return bn(`GClass ALREADY created: ${e}`), -1;
3409
3465
  const t = [["ST_IDLE", [[
3410
3466
  "EV_TIMEOUT",
3411
- io,
3467
+ uo,
3412
3468
  null
3413
3469
  ]]]];
3414
- return (lo = ge(e, [
3470
+ return (ao = ge(e, [
3415
3471
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3416
3472
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3417
3473
  [0, 0]
3418
- ], t, _o, 0, oo, so, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3474
+ ], t, co, 0, io, _o, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3419
3475
  }("C_TIMER");
3420
3476
  }, exports.register_c_yuno = function() {
3421
3477
  return function(e) {
3422
- if (po) return dn(`GClass ALREADY created: ${e}`), -1;
3478
+ if (ho) return bn(`GClass ALREADY created: ${e}`), -1;
3423
3479
  const t = [["ST_IDLE", [[
3424
3480
  "EV_TIMEOUT_PERIODIC",
3425
- Eo,
3481
+ vo,
3426
3482
  null
3427
3483
  ]]]];
3428
- return (po = ge(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, yo, 0, fo, go, 0, 0, 0, 0)) ? 0 : -1;
3484
+ return (ho = ge(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, jo, 0, bo, mo, 0, 0, 0, 0)) ? 0 : -1;
3429
3485
  }("C_YUNO");
3430
3486
  }, exports.safeSrc = function(e) {
3431
3487
  if (!e) return "";
3432
3488
  const t = String(e).trim();
3433
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Gr(t);
3489
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Kr(t);
3434
3490
  }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
3435
3491
  let r = new XMLHttpRequest();
3436
3492
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3453,13 +3509,13 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3453
3509
  fn(e, r, n);
3454
3510
  }
3455
3511
  } else rn = e;
3456
- }, exports.set_remote_log_functions = gn, exports.set_timeout = ao, exports.set_timeout_periodic = uo, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = $r, exports.strcasecmp = ir, exports.strcmp = lr, exports.strncmp = function(e, t, n) {
3512
+ }, exports.set_remote_log_functions = gn, exports.set_timeout = fo, exports.set_timeout_periodic = go, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Ir, exports.strcasecmp = _r, exports.strcmp = ir, exports.strncmp = function(e, t, n) {
3457
3513
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
3458
3514
  return r === o ? 0 : r > o ? 1 : -1;
3459
3515
  }, exports.strs_in_list = function(e, t, n) {
3460
- if (!e) return dn("ERROR: strs_in_list() list empty"), !1;
3461
- if (!t) return dn("ERROR: strs_in_list() str empty"), !1;
3462
- for (let r = 0; r < t.length; r++) if ($r(e, t[r], n)) return !0;
3516
+ if (!e) return bn("ERROR: strs_in_list() list empty"), !1;
3517
+ if (!t) return bn("ERROR: strs_in_list() str empty"), !1;
3518
+ for (let r = 0; r < t.length; r++) if (Ir(e, t[r], n)) return !0;
3463
3519
  return !1;
3464
3520
  }, exports.strstr = function(e, t, n) {
3465
3521
  var r;
@@ -3478,13 +3534,13 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3478
3534
  placeholder: void 0,
3479
3535
  fkey: null
3480
3536
  };
3481
- if (Xn(t)) {
3537
+ if (Zn(t)) {
3482
3538
  let e = t.split(".");
3483
3539
  for (let t = 0; t < e.length; t++) {
3484
3540
  let r = e[t];
3485
- if ($r(eo, r)) n.real_type || (n.real_type = r);
3486
- else if ($r(no, r)) n.type || (n.type = r);
3487
- else if ($r(to, r)) switch (r) {
3541
+ if (Ir(ro, r)) n.real_type || (n.real_type = r);
3542
+ else if (Ir(so, r)) n.type || (n.type = r);
3543
+ else if (Ir(oo, r)) switch (r) {
3488
3544
  case "writable":
3489
3545
  n.is_writable = !0;
3490
3546
  break;
@@ -3496,23 +3552,23 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3496
3552
  }
3497
3553
  }
3498
3554
  n.real_type || (n.real_type = "string");
3499
- } else qn(t) ? (n = ro(t), n.name || (n.name = e), n.header || (n.header = e)) : Qn(t) && (n.real_type = "array", n.enum_list = t);
3555
+ } else Qn(t) ? (n = lo(t), n.name || (n.name = e), n.header || (n.header = e)) : Xn(t) && (n.real_type = "array", n.enum_list = t);
3500
3556
  return n.type || (n.type = n.real_type), n;
3501
3557
  }, exports.timeTracker = function(e = "Time Tracker", t = !1) {
3502
3558
  const n = e, r = performance.now();
3503
3559
  let o = r;
3504
- return t && bn(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", s = "") => {
3560
+ return t && mn(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", s = "") => {
3505
3561
  const l = performance.now(), i = (l - o) / 1e3, _ = (l - r) / 1e3;
3506
- return t && bn(`--\x3e ${n} ${e} - partial: ${i} sec, total: ${_} sec, ${s}`), o = l, {
3562
+ return t && mn(`--\x3e ${n} ${e} - partial: ${i} sec, total: ${_} sec, ${s}`), o = l, {
3507
3563
  partial: i,
3508
3564
  total: _
3509
3565
  };
3510
3566
  } };
3511
- }, exports.trace_json = En, exports.trace_json_masked = In, exports.trace_level_t = C, exports.trace_msg = hn, exports.treedb_decoder_fkey = Zr, exports.treedb_decoder_hook = function(e, t) {
3512
- if (Xn(t)) {
3567
+ }, exports.trace_json = yn, exports.trace_json_masked = Cn, exports.trace_level_t = C, exports.trace_msg = En, exports.treedb_decoder_fkey = no, exports.treedb_decoder_hook = function(e, t) {
3568
+ if (Zn(t)) {
3513
3569
  if (-1 === t.indexOf("^")) {
3514
3570
  let n, r = e.hook;
3515
- if (1 !== Jn(r)) return dn("bad hook 1"), dn(e), dn(t), null;
3571
+ if (1 !== qn(r)) return bn("bad hook 1"), bn(e), bn(t), null;
3516
3572
  for (let e of Object.keys(r)) {
3517
3573
  n = e, r[e];
3518
3574
  break;
@@ -3524,23 +3580,23 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3524
3580
  }
3525
3581
  {
3526
3582
  let n = t.split("^");
3527
- return 2 !== n.length ? (dn("bad hook 2"), dn(e), dn(t), null) : {
3583
+ return 2 !== n.length ? (bn("bad hook 2"), bn(e), bn(t), null) : {
3528
3584
  topic_name: n[0],
3529
3585
  id: n[1]
3530
3586
  };
3531
3587
  }
3532
3588
  }
3533
- return qn(t) ? {
3589
+ return Qn(t) ? {
3534
3590
  topic_name: t.topic_name,
3535
3591
  id: t.id
3536
- } : (dn("bad hook 3"), dn(e), dn(t), null);
3592
+ } : (bn("bad hook 3"), bn(e), bn(t), null);
3537
3593
  }, exports.treedb_encoder_fkey = function(e, t) {
3538
- let n = Zr(e, t);
3594
+ let n = no(e, t);
3539
3595
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3540
- }, exports.treedb_get_field_desc = ro, exports.treedb_hook_data_size = function(e) {
3541
- if (Qn(e) && 1 === zn(e)) {
3596
+ }, exports.treedb_get_field_desc = lo, exports.treedb_hook_data_size = function(e) {
3597
+ if (Xn(e) && 1 === zn(e)) {
3542
3598
  let t = e[0];
3543
- return ur(t, "size") ? t.size : 1;
3599
+ return cr(t, "size") ? t.size : 1;
3544
3600
  }
3545
3601
  return zn(e);
3546
3602
  }, exports.vsprintf = function(e, n) {