@yuneta/gobj-js 7.25.9 → 7.26.1

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