@yuneta/gobj-js 7.25.9 → 7.26.0

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