@yuneta/gobj-js 7.25.2 → 7.25.4

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.
@@ -207,11 +207,11 @@ var gobjJs = function(e) {
207
207
  WALK_BYLEVEL: 4,
208
208
  WALK_FIRST2LAST: 16,
209
209
  WALK_LAST2FIRST: 32
210
- }), k = class {
210
+ }), $ = class {
211
211
  constructor(e, t, n) {
212
212
  this.event_name = e, this.action = t, this.next_state = n;
213
213
  }
214
- }, $ = class {
214
+ }, k = class {
215
215
  constructor(e) {
216
216
  this.state_name = e, this.dl_actions = [];
217
217
  }
@@ -224,7 +224,7 @@ var gobjJs = function(e) {
224
224
  function L(e) {
225
225
  Cn(e) && (e = JSON.stringify(e)), pn(" ".repeat(Math.max(1, 2 * h)) + String(e));
226
226
  }
227
- var P = Object.freeze({
227
+ var U = Object.freeze({
228
228
  TRACE_MACHINE: 65536,
229
229
  TRACE_CREATE_DELETE: 131072,
230
230
  TRACE_CREATE_DELETE2: 262144,
@@ -240,86 +240,86 @@ var gobjJs = function(e) {
240
240
  TRACE_TIMER_PERIODIC: 268435456,
241
241
  TRACE_URING_TIME: 536870912,
242
242
  TRACE_COMMANDS: 1073741824
243
- }), U = [
243
+ }), P = [
244
244
  [
245
245
  "machine",
246
- P.TRACE_MACHINE,
246
+ U.TRACE_MACHINE,
247
247
  "Trace machine"
248
248
  ],
249
249
  [
250
250
  "create_delete",
251
- P.TRACE_CREATE_DELETE,
251
+ U.TRACE_CREATE_DELETE,
252
252
  "Trace create/delete of gobjs"
253
253
  ],
254
254
  [
255
255
  "create_delete2",
256
- P.TRACE_CREATE_DELETE2,
256
+ U.TRACE_CREATE_DELETE2,
257
257
  "Trace create/delete of gobjs level 2: with kw"
258
258
  ],
259
259
  [
260
260
  "subscriptions",
261
- P.TRACE_SUBSCRIPTIONS,
261
+ U.TRACE_SUBSCRIPTIONS,
262
262
  "Trace subscriptions of gobjs"
263
263
  ],
264
264
  [
265
265
  "start_stop",
266
- P.TRACE_START_STOP,
266
+ U.TRACE_START_STOP,
267
267
  "Trace start/stop of gobjs"
268
268
  ],
269
269
  [
270
270
  "ev_kw",
271
- P.TRACE_EV_KW,
271
+ U.TRACE_EV_KW,
272
272
  "Trace event keywords"
273
273
  ],
274
274
  [
275
275
  "authzs",
276
- P.TRACE_AUTHZS,
276
+ U.TRACE_AUTHZS,
277
277
  "Trace authorizations"
278
278
  ],
279
279
  [
280
280
  "states",
281
- P.TRACE_STATES,
281
+ U.TRACE_STATES,
282
282
  "Trace change of states"
283
283
  ],
284
284
  [
285
285
  "gbuffers",
286
- P.TRACE_GBUFFERS,
286
+ U.TRACE_GBUFFERS,
287
287
  "Trace gbuffers"
288
288
  ],
289
289
  [
290
290
  "timer",
291
- P.TRACE_TIMER,
291
+ U.TRACE_TIMER,
292
292
  "Trace timers"
293
293
  ],
294
294
  [
295
295
  "fs",
296
- P.TRACE_FS,
296
+ U.TRACE_FS,
297
297
  "Trace file system"
298
298
  ],
299
299
  [
300
300
  "liburing",
301
- P.TRACE_URING,
301
+ U.TRACE_URING,
302
302
  "Trace liburing mixins"
303
303
  ],
304
304
  [
305
305
  "timer_periodic",
306
- P.TRACE_TIMER_PERIODIC,
306
+ U.TRACE_TIMER_PERIODIC,
307
307
  "Trace periodic timers"
308
308
  ],
309
309
  [
310
310
  "liburing_timer",
311
- P.TRACE_URING_TIME,
311
+ U.TRACE_URING_TIME,
312
312
  "Trace liburing timer"
313
313
  ],
314
314
  [
315
315
  "commands",
316
- P.TRACE_COMMANDS,
316
+ U.TRACE_COMMANDS,
317
317
  "Trace commands"
318
318
  ]
319
319
  ], F = 0, G = 0, V = 0;
320
320
  function M(e, t) {
321
321
  let n = [];
322
- for (const [t, r] of U) e & r && n.push(t);
322
+ for (const [t, r] of P) e & r && n.push(t);
323
323
  if (Array.isArray(t)) for (let r = 0; r < t.length && r < 16; r++) t[r] && e & 1 << r && n.push(t[r][0]);
324
324
  return n;
325
325
  }
@@ -330,7 +330,7 @@ var gobjJs = function(e) {
330
330
  if (t) return t;
331
331
  }
332
332
  return function(e, t) {
333
- for (const [t, n] of U) if (t === e) return n;
333
+ for (const [t, n] of P) if (t === e) return n;
334
334
  if (Array.isArray(t)) {
335
335
  for (let n = 0; n < t.length && n < 16; n++) if (t[n] && t[n][0] === e) return 1 << n;
336
336
  }
@@ -347,28 +347,28 @@ var gobjJs = function(e) {
347
347
  return e && (t |= e.no_trace_level || 0, e.gclass && (t |= e.gclass.no_trace_level || 0)), t;
348
348
  }
349
349
  function Y(e) {
350
- return K(e) & P.TRACE_CREATE_DELETE;
350
+ return K(e) & U.TRACE_CREATE_DELETE;
351
351
  }
352
352
  function B(e) {
353
- return K(e) & P.TRACE_SUBSCRIPTIONS;
353
+ return K(e) & U.TRACE_SUBSCRIPTIONS;
354
354
  }
355
355
  function J(e) {
356
- return K(e) & P.TRACE_START_STOP;
356
+ return K(e) & U.TRACE_START_STOP;
357
357
  }
358
358
  function H(e) {
359
- return K(e) & P.TRACE_EV_KW;
359
+ return K(e) & U.TRACE_EV_KW;
360
360
  }
361
361
  function q(e, t) {
362
362
  if (V > 1) return !0;
363
363
  if (!e) return !1;
364
364
  const n = K(e);
365
- return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
365
+ return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
366
366
  }
367
367
  function z(e, t) {
368
368
  if (V > 1) return !1;
369
369
  if (!e) return !0;
370
370
  const n = x(e);
371
- return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
371
+ return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
372
372
  }
373
373
  function Q(e, t) {
374
374
  const n = W(e, "gobj_set_global_trace");
@@ -391,25 +391,25 @@ var gobjJs = function(e) {
391
391
  return M(G, null);
392
392
  }
393
393
  function re(e) {
394
- const t = Pn(e) ? Se(e) : e;
394
+ const t = Un(e) ? Se(e) : e;
395
395
  return t ? M(t.trace_level | F, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
396
396
  }
397
397
  function le(e) {
398
- const t = Pn(e) ? Se(e) : e;
398
+ const t = Un(e) ? Se(e) : e;
399
399
  return t ? M(t.trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
400
400
  }
401
401
  function oe(e) {
402
- const t = Pn(e) ? Se(e) : e;
402
+ const t = Un(e) ? Se(e) : e;
403
403
  return t ? M(t.no_trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
404
404
  }
405
405
  function se(e, t, n) {
406
- const r = Pn(e) ? Se(e) : e;
406
+ const r = Un(e) ? Se(e) : e;
407
407
  if (!r) return dn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
408
408
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_trace", r.s_user_trace_level || null);
409
409
  return l ? (n ? r.trace_level |= l : r.trace_level &= ~l, 0) : -1;
410
410
  }
411
411
  function ie(e, t, n) {
412
- const r = Pn(e) ? Se(e) : e;
412
+ const r = Un(e) ? Se(e) : e;
413
413
  if (!r) return dn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
414
414
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_no_trace", r.s_user_trace_level || null);
415
415
  return l ? (n ? r.no_trace_level |= l : r.no_trace_level &= ~l, 0) : -1;
@@ -439,7 +439,7 @@ var gobjJs = function(e) {
439
439
  r = Number(l), isNaN(r) && dn(`${et(e)}: attr NaN: ${n.name}`);
440
440
  break;
441
441
  case E.DTP_LIST:
442
- if (Pn(l)) try {
442
+ if (Un(l)) try {
443
443
  r = JSON.parse(l);
444
444
  } catch (e) {
445
445
  dn(`JSON parse error: ${e.message}`);
@@ -448,7 +448,7 @@ var gobjJs = function(e) {
448
448
  Ln(r) || (r = []);
449
449
  break;
450
450
  case E.DTP_DICT:
451
- if (Pn(l)) try {
451
+ if (Un(l)) try {
452
452
  r = JSON.parse(l);
453
453
  } catch (e) {
454
454
  dn(`JSON parse error: ${e.message}`);
@@ -457,7 +457,7 @@ var gobjJs = function(e) {
457
457
  Cn(r) || (r = {});
458
458
  break;
459
459
  case E.DTP_JSON:
460
- if (Pn(l)) try {
460
+ if (Un(l)) try {
461
461
  r = JSON.parse(l);
462
462
  } catch (e) {
463
463
  dn(`JSON parse error: ${e.message}`);
@@ -473,7 +473,7 @@ var gobjJs = function(e) {
473
473
  switch (n.type) {
474
474
  case E.DTP_STRING:
475
475
  if (null == r) l = "";
476
- else if (Pn(r)) l = String(r);
476
+ else if (Un(r)) l = String(r);
477
477
  else {
478
478
  let e = JSON.stringify(r);
479
479
  e && (l = String(e));
@@ -489,7 +489,7 @@ var gobjJs = function(e) {
489
489
  l = Number(r), isNaN(l) && dn(`${et(e)}: attr NaN: ${n.name}`);
490
490
  break;
491
491
  case E.DTP_LIST:
492
- if (Pn(r)) try {
492
+ if (Un(r)) try {
493
493
  l = JSON.parse(r);
494
494
  } catch (e) {
495
495
  dn(`JSON parse error: ${e.message}`);
@@ -498,7 +498,7 @@ var gobjJs = function(e) {
498
498
  if (!Ln(l)) return dn(`attr must be an array: ${n.name}`), -1;
499
499
  break;
500
500
  case E.DTP_DICT:
501
- if (Pn(r)) try {
501
+ if (Un(r)) try {
502
502
  l = JSON.parse(r);
503
503
  } catch (e) {
504
504
  dn(`JSON parse error: ${e.message}`);
@@ -507,7 +507,7 @@ var gobjJs = function(e) {
507
507
  if (!Cn(l)) return dn(`attr must be an object: ${n.name}`), -1;
508
508
  break;
509
509
  case E.DTP_JSON:
510
- if (Pn(r)) try {
510
+ if (Un(r)) try {
511
511
  l = JSON.parse(r);
512
512
  } catch (e) {
513
513
  dn(`JSON parse error: ${e.message}`);
@@ -568,7 +568,7 @@ var gobjJs = function(e) {
568
568
  }
569
569
  function be(e) {
570
570
  let t;
571
- if (Pn(e)) t = e;
571
+ if (Un(e)) t = e;
572
572
  else {
573
573
  if (!(e instanceof S)) return dn("Cannot unregister gclass, type unknown"), -1;
574
574
  t = e.gclass_name;
@@ -593,13 +593,13 @@ var gobjJs = function(e) {
593
593
  return null;
594
594
  }
595
595
  function he(e, t) {
596
- return e instanceof S ? pe(e, t) ? (dn(`state already exists: ${t}`), -1) : (e.dl_states.push(new $(t)), 0) : (dn("Cannot add state, typeof not GClass"), -1);
596
+ return e instanceof S ? pe(e, t) ? (dn(`state already exists: ${t}`), -1) : (e.dl_states.push(new k(t)), 0) : (dn("Cannot add state, typeof not GClass"), -1);
597
597
  }
598
598
  function Ee(e, t, n, r, l) {
599
599
  if (!(e instanceof S)) return dn("Cannot add state, typeof not GClass"), -1;
600
600
  if (Wn(t)) return dn("state_name EMPTY"), -1;
601
601
  let o = pe(e, t);
602
- return o ? me(o, n) ? (dn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new k(n, r, l)), 0) : (dn(`state not found: ${t}`), -1);
602
+ return o ? me(o, n) ? (dn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new $(n, r, l)), 0) : (dn(`state not found: ${t}`), -1);
603
603
  }
604
604
  function Te(e, t, n) {
605
605
  Wn(t) || e.push(new I(t, n));
@@ -619,7 +619,7 @@ var gobjJs = function(e) {
619
619
  function je(e) {
620
620
  if (!(e instanceof S)) return dn("Cannot add state, typeof not GClass"), -1;
621
621
  let t = 0;
622
- $n(e.dl_states) || (dn(`GClass without states: ${e.gclass_name}`), t += -1);
622
+ kn(e.dl_states) || (dn(`GClass without states: ${e.gclass_name}`), t += -1);
623
623
  for (let n = 0; n < e.dl_states.length; n++) {
624
624
  let r = e.dl_states[n];
625
625
  if (!Wn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
@@ -629,7 +629,7 @@ var gobjJs = function(e) {
629
629
  }
630
630
  for (let n = 0; n < e.dl_events.length; n++) {
631
631
  let r = e.dl_events[n];
632
- if (!Wn(r.event_name) && (Un(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
632
+ if (!Wn(r.event_name) && (Pn(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
633
633
  let n = !1;
634
634
  for (let t = 0; t < e.dl_states.length; t++) {
635
635
  let l = e.dl_states[t];
@@ -668,10 +668,10 @@ var gobjJs = function(e) {
668
668
  function Ae(e, t) {
669
669
  return Be(e) ? _ ? _(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
670
670
  }
671
- function ke(e, t) {
671
+ function $e(e, t) {
672
672
  "__json_config_variables__" !== t && dn(`GClass Attribute NOT FOUND: ${et(e)}, attr ${t}`);
673
673
  }
674
- function $e(e, t, n) {
674
+ function ke(e, t, n) {
675
675
  let r = t;
676
676
  (function(e, t, n, r, l) {
677
677
  if (!e || !t) return dn("hsdata or kw NULL"), -1;
@@ -681,7 +681,7 @@ var gobjJs = function(e) {
681
681
  t ? (-1 === n || t.flag & n) && (t.flag & T.SDF_DEPRECATED && bn(`${et(l)}: Deprecated attribute used in gobj creation: ${s}`), o += ue(l, e, t, i)) : r && (r(l, s), o--);
682
682
  }
683
683
  return o;
684
- })(ce(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : ke, e) < 0 && (dn(`${et(e)} json2data() FAILED`), hn(r));
684
+ })(ce(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : $e, e) < 0 && (dn(`${et(e)} json2data() FAILED`), hn(r));
685
685
  }
686
686
  function Ie(e, t, r, l, o) {
687
687
  if (o & w.gobj_flag_yuno) {
@@ -690,7 +690,7 @@ var gobjJs = function(e) {
690
690
  } else {
691
691
  if (!l) return dn("gobj NEEDS a parent!"), null;
692
692
  if (!("string" == typeof l || l instanceof O)) return dn(`BAD TYPE of parent: ${l}`), null;
693
- if (Pn(l) && !(l = Ne(l))) return bn(`parent service not found: ${l}`), null;
693
+ if (Un(l) && !(l = Ne(l))) return bn(`parent service not found: ${l}`), null;
694
694
  }
695
695
  if (o & w.gobj_flag_service && Ne(e, !1)) return dn(`service ALREADY registered: ${t}^${e}`), null;
696
696
  if (o & w.gobj_flag_default_service) {
@@ -700,7 +700,7 @@ var gobjJs = function(e) {
700
700
  if (Wn(t)) return dn("gclass_name must be a string"), null;
701
701
  let s = Se(t, !1);
702
702
  if (!s) return dn(`GClass not registered: ${t}^${e}`), null;
703
- if (!Pn(e)) return dn(`gobj_name must be a string: ${t}`), null;
703
+ if (!Un(e)) return dn(`gobj_name must be a string: ${t}`), null;
704
704
  if (!Wn(e)) {
705
705
  if (e.includes("`")) return dn(`gobj_name cannot contain char ': ${t}^${e}`), null;
706
706
  if (e.includes("^")) return dn(`gobj_name cannot contain char ^: ${t}^${e}`), null;
@@ -709,7 +709,7 @@ var gobjJs = function(e) {
709
709
  _.jn_attrs = _e(_, s.attrs_table);
710
710
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
711
711
  let a = Y(_);
712
- return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && we(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || Re(l, _), _.obflag |= R.obflag_created, _.gclass.instances++, $e(_, r), _.gobj_flag & w.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), l && l.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", tt(l), et(_))), l.gclass.gmt.mt_child_added(l, _)), a && L(n("💙💙⏪ created: %s", tt(_))), _;
712
+ return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && we(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || Re(l, _), _.obflag |= R.obflag_created, _.gclass.instances++, ke(_, r), _.gobj_flag & w.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), l && l.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", tt(l), et(_))), l.gclass.gmt.mt_child_added(l, _)), a && L(n("💙💙⏪ created: %s", tt(_))), _;
713
713
  }
714
714
  function Ce(e, t, n, r) {
715
715
  return Ie(e, t, n, r, w.gobj_flag_pure_child);
@@ -735,7 +735,7 @@ var gobjJs = function(e) {
735
735
  }
736
736
  }(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--;
737
737
  }
738
- function Pe(e) {
738
+ function Ue(e) {
739
739
  if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
740
740
  if (e.running) return dn(`${et(e)}: GObj ALREADY RUNNING`), -1;
741
741
  if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
@@ -743,11 +743,11 @@ var gobjJs = function(e) {
743
743
  let t = 0;
744
744
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
745
745
  }
746
- function Ue(e, t, n) {
747
- return e.gclass.gclass_flag & N.gcflag_manual_start || ot(e) || xe(e) || Ye(e) || Pe(e), 0;
746
+ function Pe(e, t, n) {
747
+ return e.gclass.gclass_flag & N.gcflag_manual_start || ot(e) || xe(e) || Ye(e) || Ue(e), 0;
748
748
  }
749
749
  function Fe(e, t, n) {
750
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) ? 1 : (xe(e) || Pe(e), 0);
750
+ return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) ? 1 : (xe(e) || Ue(e), 0);
751
751
  }
752
752
  function Ge(e) {
753
753
  if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
@@ -768,7 +768,7 @@ var gobjJs = function(e) {
768
768
  if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
769
769
  if (!xe(e)) {
770
770
  if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return dn(`${et(e)}: Cannot play, start not done`), -1;
771
- bn(`${et(e)}: GObj playing without previous start`), Pe(e);
771
+ bn(`${et(e)}: GObj playing without previous start`), Ue(e);
772
772
  }
773
773
  J(e) && L(n("⏯ ⏯ play: %s", tt(e))), e.playing = !0;
774
774
  let t = 0;
@@ -896,7 +896,7 @@ var gobjJs = function(e) {
896
896
  let t = l.length;
897
897
  if (l !== Xe(e).substring(0, t)) return !1;
898
898
  }
899
- if (o && o !== kt(e)) return !1;
899
+ if (o && o !== $t(e)) return !1;
900
900
  let s = e.jn_attrs;
901
901
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ht(e, n) && s[n] !== t[n]) return !1;
902
902
  return !0;
@@ -967,7 +967,7 @@ var gobjJs = function(e) {
967
967
  return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
968
968
  }
969
969
  function jt(e, t) {
970
- if (t && 0 === Yn(t, "__state__")) return kt(e);
970
+ if (t && 0 === Yn(t, "__state__")) return $t(e);
971
971
  let n = fe(e, t, !1);
972
972
  return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
973
973
  }
@@ -976,7 +976,7 @@ var gobjJs = function(e) {
976
976
  return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
977
977
  }
978
978
  function Ot(e, t, r, l) {
979
- if (!Pn(t)) return dn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
979
+ if (!Un(t)) return dn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
980
980
  let o, s = e.jn_attrs, i = t.split("`");
981
981
  if (i.length <= 1) {
982
982
  let l = t;
@@ -1023,14 +1023,14 @@ var gobjJs = function(e) {
1023
1023
  if (!r) return dn(`${et(e)}: state unknown, state ${t}`), !1;
1024
1024
  e.last_state = e.current_state, e.current_state = r;
1025
1025
  let l = q(e, "EV_STATE_CHANGED"), o = !!function(e) {
1026
- return K(e) & P.TRACE_STATES;
1026
+ return K(e) & U.TRACE_STATES;
1027
1027
  }(e);
1028
- 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
+ return (l || o) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ze(e), Xe(e), $t(e), e.last_state.state_name))), !0;
1029
1029
  }
1030
- function kt(e) {
1030
+ function $t(e) {
1031
1031
  return Mn(e) ? e.current_state.state_name : (dn("hgobj NULL"), "");
1032
1032
  }
1033
- function $t(e, t, n) {
1033
+ function kt(e, t, n) {
1034
1034
  if (!Mn(e)) return dn("gobj NULL of bad type"), null;
1035
1035
  let r = ve(e.gclass, t);
1036
1036
  if (r) return r;
@@ -1044,21 +1044,21 @@ var gobjJs = function(e) {
1044
1044
  return null;
1045
1045
  }
1046
1046
  function It(e, t, n) {
1047
- let r = $t(e, t, !1);
1047
+ let r = kt(e, t, !1);
1048
1048
  return !!r && !(n && !(r.event_flag & n));
1049
1049
  }
1050
1050
  function Ct(e, t, n) {
1051
- let r = $t(e, t, !1);
1051
+ let r = kt(e, t, !1);
1052
1052
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
1053
1053
  }
1054
- var Lt = [], Pt = !1;
1055
- function Ut() {
1056
- Pt = !1;
1054
+ var Lt = [], Ut = !1;
1055
+ function Pt() {
1056
+ Ut = !1;
1057
1057
  let e = Lt;
1058
1058
  Lt = [];
1059
1059
  let t = 0;
1060
1060
  for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (Ft(n.dst, n.event, n.kw, n.src), t++);
1061
- return Lt.length > 0 && !Pt && (Pt = !0, setTimeout(Ut, 0)), t;
1061
+ return Lt.length > 0 && !Ut && (Ut = !0, setTimeout(Pt, 0)), t;
1062
1062
  }
1063
1063
  function Ft(e, t, r, l) {
1064
1064
  if (!(e && e instanceof O)) return dn("gobj dst NULL"), -1;
@@ -1068,21 +1068,21 @@ var gobjJs = function(e) {
1068
1068
  let s = q(e, t) && !z(l, t);
1069
1069
  h++;
1070
1070
  let i = me(o, t);
1071
- 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) && kn(r) && hn(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))), dn(`📛📛 Event NOT DEFINED in state 📛📛: ${et(e)}, ${o.state_name}, ${t}`), h--, -1);
1071
+ 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) && $n(r) && hn(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))), dn(`📛📛 Event NOT DEFINED in state 📛📛: ${et(e)}, ${o.state_name}, ${t}`), h--, -1);
1072
1072
  if (s) {
1073
1073
  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)));
1074
1074
  else {
1075
1075
  let r = "";
1076
1076
  i.action && (r = Ar(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)));
1077
1077
  }
1078
- r && H(e) && kn(r) && hn(r);
1078
+ r && H(e) && $n(r) && hn(r);
1079
1079
  }
1080
1080
  i.next_state && At(e, i.next_state);
1081
1081
  let _ = -1;
1082
1082
  try {
1083
1083
  i.action && (_ = i.action(e, t, r, l));
1084
1084
  } finally {}
1085
- 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 || "", Un(_) ? _ : 0)), h--, _;
1085
+ 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 || "", Pn(_) ? _ : 0)), h--, _;
1086
1086
  }
1087
1087
  var Gt = Object.freeze({
1088
1088
  __hard_subscription__: 1,
@@ -1154,7 +1154,7 @@ var gobjJs = function(e) {
1154
1154
  }), Wn(t)) t = "";
1155
1155
  else if (!(Ct(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
1156
1156
  let s = Wt(e.dl_subscriptions, e, t, r, l);
1157
- $n(s) > 0 && (dn(`${et(e)}: ${$n(s)} subscription(s) REPEATED, will be deleted and override`), hn(s, "subscription REPEATED"), Bt(e, s, !1));
1157
+ kn(s) > 0 && (dn(`${et(e)}: ${kn(s)} subscription(s) REPEATED, will be deleted and override`), hn(s, "subscription REPEATED"), Bt(e, s, !1));
1158
1158
  let i = function(e, t, n, r) {
1159
1159
  let l = _e(e, Vt);
1160
1160
  wn(l, "event", t), wn(l, "subscriber", r), wn(l, "publisher", e);
@@ -1197,10 +1197,10 @@ var gobjJs = function(e) {
1197
1197
  function qt(e, t, r) {
1198
1198
  if (Cn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return dn("gobj NULL or DESTROYED"), -1;
1199
1199
  if (Wn(t)) return dn(`${et(e)}: event EMPTY`), -1;
1200
- let l = $t(e, t, !0);
1200
+ let l = kt(e, t, !0);
1201
1201
  if (!(l && l.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${et(e)}, ev ${t}`), -1;
1202
1202
  let o = (B(e) || q(e, t)) && !z(e, t);
1203
- 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) && kn(r) && hn(r)), e.gclass.gmt.mt_publish_event) {
1203
+ 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) && $n(r) && hn(r)), e.gclass.gmt.mt_publish_event) {
1204
1204
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
1205
1205
  if (n <= 0) return n;
1206
1206
  }
@@ -1220,9 +1220,9 @@ var gobjJs = function(e) {
1220
1220
  let l = tr(e, a, "__global__", null, 0), s = tr(e, a, "__local__", null, 0), f = nr(e, a, "__filter__", null, 0), g = r, d = 1;
1221
1221
  if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : In(f) > 0 && (d = sr(g, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), hn(f))), d < 0) break;
1222
1222
  if (!d) continue;
1223
- let b = $t(u, t, !0);
1223
+ let b = kt(u, t, !0);
1224
1224
  if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !It(u, b.event_name, 0)) continue;
1225
- s && Jn(g, s), l && yn(g, l), o && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", et(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", et(u), kt(u), t || "", e && !e.running ? "!!" : "", et(e))), H(e) && kn(g) && hn(g));
1225
+ s && Jn(g, s), l && yn(g, l), o && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", et(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", et(u), $t(u), t || "", e && !e.running ? "!!" : "", et(e))), H(e) && $n(g) && hn(g));
1226
1226
  let p = Ft(u, t, g, e);
1227
1227
  if (p < 0 && c & Gt.__own_event__) {
1228
1228
  i = -1;
@@ -1395,14 +1395,14 @@ var gobjJs = function(e) {
1395
1395
  function An(e, t) {
1396
1396
  e.splice(t, 1);
1397
1397
  }
1398
- function kn(e) {
1398
+ function $n(e) {
1399
1399
  return Cn(e) ? Object.keys(e).length : 0;
1400
1400
  }
1401
- function $n(e) {
1401
+ function kn(e) {
1402
1402
  return Ln(e) ? e.length : 0;
1403
1403
  }
1404
1404
  function In(e) {
1405
- return Cn(e) ? Object.keys(e).length : Ln(e) ? e.length : Pn(e) && e.length > 0 ? 1 : 0;
1405
+ return Cn(e) ? Object.keys(e).length : Ln(e) ? e.length : Un(e) && e.length > 0 ? 1 : 0;
1406
1406
  }
1407
1407
  function Cn(e) {
1408
1408
  return null !== e && "object" == typeof e && !Array.isArray(e);
@@ -1410,10 +1410,10 @@ var gobjJs = function(e) {
1410
1410
  function Ln(e) {
1411
1411
  return Array.isArray(e);
1412
1412
  }
1413
- function Pn(e) {
1413
+ function Un(e) {
1414
1414
  return "string" == typeof e;
1415
1415
  }
1416
- function Un(e) {
1416
+ function Pn(e) {
1417
1417
  return "number" == typeof e && Number.isFinite(e);
1418
1418
  }
1419
1419
  function Fn(e) {
@@ -1429,10 +1429,10 @@ var gobjJs = function(e) {
1429
1429
  return e instanceof O;
1430
1430
  }
1431
1431
  function Wn(e) {
1432
- return !Pn(e) || 0 === e.length;
1432
+ return !Un(e) || 0 === e.length;
1433
1433
  }
1434
1434
  function Kn(e) {
1435
- return Un(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1435
+ return Pn(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1436
1436
  }
1437
1437
  function xn(e, t) {
1438
1438
  return e === t ? 0 : e > t ? 1 : -1;
@@ -1443,7 +1443,7 @@ var gobjJs = function(e) {
1443
1443
  }
1444
1444
  function Bn(e, t) {
1445
1445
  if (Cn(e) || Cn(t) || Ln(e) || Ln(t)) return 0;
1446
- if (Un(e) || Un(t)) {
1446
+ if (Pn(e) || Pn(t)) {
1447
1447
  let n = Number(e), r = Number(t);
1448
1448
  return n > r ? 1 : n < r ? -1 : 0;
1449
1449
  }
@@ -1463,7 +1463,7 @@ var gobjJs = function(e) {
1463
1463
  }
1464
1464
  function qn(e, t, n, r) {
1465
1465
  if (e && !Mn(e) && dn("GObj bad instanceof"), !Cn(t) && !Ln(t)) return dn(`${et(e)}: kw must be list or dict`), 0;
1466
- if (!Pn(n)) return dn(`${et(e)}: path must be a string: ${String(n)}`), 0;
1466
+ if (!Un(n)) return dn(`${et(e)}: path must be a string: ${String(n)}`), 0;
1467
1467
  let l = n.split("`");
1468
1468
  if (l.length <= 1) return t[n];
1469
1469
  let o = l.length;
@@ -1491,10 +1491,10 @@ var gobjJs = function(e) {
1491
1491
  }
1492
1492
  let u;
1493
1493
  if (Fn(o)) u = o;
1494
- else if (a && Un(o)) u = 0 !== o;
1495
- else if (a && Pn(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o) || 0);
1494
+ else if (a && Pn(o)) u = 0 !== o;
1495
+ else if (a && Un(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o) || 0);
1496
1496
  else {
1497
- if (!a || null !== o) return s && (dn(`${et(e)}: path value MUST BE a boolean: ${n}`), mn(t)), Boolean(r);
1497
+ if (!a || null !== o) return a ? (dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), !1) : (dn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), hn(t), Boolean(r));
1498
1498
  u = !1;
1499
1499
  }
1500
1500
  return _ && zn(e, t, n), u;
@@ -1502,7 +1502,7 @@ var gobjJs = function(e) {
1502
1502
  function Xn(e, t, n, r, l) {
1503
1503
  e && !Mn(e) && dn("GObj bad instanceof");
1504
1504
  let o = qn(e, t, n, !1);
1505
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1505
+ const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
1506
1506
  if (void 0 === o) {
1507
1507
  if (i) {
1508
1508
  let l = parseInt(r);
@@ -1510,13 +1510,29 @@ var gobjJs = function(e) {
1510
1510
  }
1511
1511
  return s && (dn(`path not found: '${n}'`), hn(t)), parseInt(r);
1512
1512
  }
1513
- return _ && zn(e, t, n), Un(o) ? parseInt(o) : (s && (dn(`path value MUST BE a number: ${n}`), mn(t)), parseInt(r));
1513
+ let u;
1514
+ if (Pn(o)) u = Math.trunc(o);
1515
+ else {
1516
+ if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json integer: '${n}'`), hn(t), parseInt(r);
1517
+ if (Fn(o)) u = o ? 1 : 0;
1518
+ else if (Un(o)) u = function(e) {
1519
+ const t = /^\s*([+-]?)(0[xX][0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*)/.exec(e);
1520
+ if (!t) return 0;
1521
+ let n, r = t[2];
1522
+ 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;
1523
+ }(o);
1524
+ else {
1525
+ if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
1526
+ u = 0;
1527
+ }
1528
+ }
1529
+ return _ && zn(e, t, n), u;
1514
1530
  }
1515
1531
  function Zn(e, t, n, r, l) {
1516
1532
  e && !Mn(e) && dn("GObj bad instanceof");
1517
1533
  let o = qn(e, t, n, !1);
1518
1534
  const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1519
- return void 0 === o ? i ? (rr(e, t, n, Pn(r) ? r : null), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : (_ && zn(e, t, n), Pn(o) ? o : (s && (dn(`${et(e)}: path value MUST BE a string: ${n}`), mn(t)), r));
1535
+ return void 0 === o ? i ? (rr(e, t, n, Un(r) ? r : null), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : Un(o) ? (_ && zn(e, t, n), o) : (s && (dn(`${et(e)}: path value MUST BE a string: ${n}`), mn(t)), r);
1520
1536
  }
1521
1537
  function er(e, t, n, r, l) {
1522
1538
  e && !Mn(e) && dn("GObj bad instanceof");
@@ -1602,12 +1618,12 @@ var gobjJs = function(e) {
1602
1618
  function ir(e, t, n, r) {
1603
1619
  e && !Mn(e) && dn("GObj bad instanceof");
1604
1620
  let l = {};
1605
- if (Pn(n) && !Wn(n)) {
1621
+ if (Un(n) && !Wn(n)) {
1606
1622
  let o = n;
1607
1623
  t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1608
- } else if (Cn(n) && kn(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1624
+ } else if (Cn(n) && $n(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1609
1625
  else {
1610
- if (!(Ln(n) && $n(n) > 0)) return t;
1626
+ if (!(Ln(n) && kn(n) > 0)) return t;
1611
1627
  for (let o = 0; o < n.length; o++) {
1612
1628
  let s = n[o];
1613
1629
  t.hasOwnProperty(s) ? l[s] = t[s] : r && dn(`${et(e)}: key not found: ${s}`);
@@ -1617,12 +1633,12 @@ var gobjJs = function(e) {
1617
1633
  }
1618
1634
  function _r(e, t, n, r) {
1619
1635
  let l = {};
1620
- if (yn(l, t), Pn(n) && !Wn(n)) {
1636
+ if (yn(l, t), Un(n) && !Wn(n)) {
1621
1637
  let o = n;
1622
1638
  nr(e, t, o, 0, 0) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1623
- } else if (Cn(n) && kn(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1639
+ } else if (Cn(n) && $n(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1624
1640
  else {
1625
- if (!(Ln(n) && $n(n) > 0)) return {};
1641
+ if (!(Ln(n) && kn(n) > 0)) return {};
1626
1642
  for (let o = 0; o < n.length; o++) {
1627
1643
  let s = n[o];
1628
1644
  t.hasOwnProperty(s) ? On(l, s) : r && dn(`${et(e)}: key not found: ${s}`);
@@ -1663,7 +1679,7 @@ var gobjJs = function(e) {
1663
1679
  } else if (Cn(e)) {
1664
1680
  if (0 === Object.keys(e).length) return !0;
1665
1681
  for (let n in e) if (n === t) return !0;
1666
- } else if (Pn(e) && e === t) return !0;
1682
+ } else if (Un(e) && e === t) return !0;
1667
1683
  return !1;
1668
1684
  }
1669
1685
  function gr(e, t, n, r, l) {
@@ -1674,7 +1690,7 @@ var gobjJs = function(e) {
1674
1690
  let i, _ = t[s];
1675
1691
  if (Cn(_)) i = Zn(e, _, "id", "", 0);
1676
1692
  else {
1677
- if (!Pn(_)) continue;
1693
+ if (!Un(_)) continue;
1678
1694
  i = _;
1679
1695
  }
1680
1696
  fr(n, i) && l(_, r) && o.push(_);
@@ -1741,7 +1757,7 @@ var gobjJs = function(e) {
1741
1757
  return Zn(e, t, "__md_iev__`__msg_type__", "", 0);
1742
1758
  }
1743
1759
  function vr(e, t, n) {
1744
- void 0 !== n && Pn(n) || (n = "");
1760
+ void 0 !== n && Un(n) || (n = "");
1745
1761
  for (let r of Object.keys(e)) {
1746
1762
  if (!e.hasOwnProperty(r)) continue;
1747
1763
  let l = (n.length ? "`" : "") + r;
@@ -1824,7 +1840,7 @@ var gobjJs = function(e) {
1824
1840
  let t = null;
1825
1841
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1826
1842
  }
1827
- var kr = 256, $r = 1e5;
1843
+ var $r = 256, kr = 1e5;
1828
1844
  function Ir(e) {
1829
1845
  const t = String(e).replace(/`/g, "``");
1830
1846
  return "[" === t[0] ? "[" + t : t;
@@ -1853,14 +1869,14 @@ var gobjJs = function(e) {
1853
1869
  function Lr(e, t) {
1854
1870
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1855
1871
  }
1856
- function Pr(e) {
1872
+ function Ur(e) {
1857
1873
  return "persistent-attrs-" + et(e);
1858
1874
  }
1859
- function Ur(e, t) {
1860
- if (Pn(t)) {
1875
+ function Pr(e, t) {
1876
+ if (Un(t)) {
1861
1877
  if (-1 === t.indexOf("^")) {
1862
1878
  let n, r, l = e.fkey;
1863
- if (1 !== kn(l)) return dn("bad fkey 1"), dn(e), dn(t), null;
1879
+ if (1 !== $n(l)) return dn("bad fkey 1"), dn(e), dn(t), null;
1864
1880
  for (const e of Object.keys(l)) {
1865
1881
  n = e, r = l[e];
1866
1882
  break;
@@ -2013,7 +2029,7 @@ var gobjJs = function(e) {
2013
2029
  break;
2014
2030
  case "msec": n.msec = vt(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
2015
2031
  Ft(e, "EV_TIMEOUT", {}, e);
2016
- }, n.msec)), n.msec > 0 ? xe(e) || Pe(e) : xe(e) && Ge(e);
2032
+ }, n.msec)), n.msec > 0 ? xe(e) || Ue(e) : xe(e) && Ge(e);
2017
2033
  }
2018
2034
  },
2019
2035
  mt_start: function(e) {
@@ -2114,7 +2130,7 @@ var gobjJs = function(e) {
2114
2130
  mt_destroy: function(e) {},
2115
2131
  mt_play: function(e) {
2116
2132
  let t = Oe();
2117
- return xe(t) || Pe(t), Je(t) || We(t), 0;
2133
+ return xe(t) || Ue(t), Je(t) || We(t), 0;
2118
2134
  },
2119
2135
  mt_pause: function(e) {
2120
2136
  return Ke(Oe()), 0;
@@ -2379,7 +2395,7 @@ var gobjJs = function(e) {
2379
2395
  r ? r(e, o, 2, t) : fl(0, e, o);
2380
2396
  }
2381
2397
  let s = o.event, i = o.kw;
2382
- if ("ST_SESSION" !== kt(e)) {
2398
+ if ("ST_SESSION" !== $t(e)) {
2383
2399
  if (It(e, s, D.EVF_PUBLIC_EVENT)) {
2384
2400
  if (!(Ft(e, s, i, e) < 0)) return 0;
2385
2401
  } else dn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
@@ -2436,7 +2452,7 @@ var gobjJs = function(e) {
2436
2452
  },
2437
2453
  mt_destroy: function(e) {},
2438
2454
  mt_stats: function(e, t, n, r) {
2439
- if ("ST_SESSION" !== kt(e)) return dn("Not in session"), null;
2455
+ if ("ST_SESSION" !== $t(e)) return dn("Not in session"), null;
2440
2456
  n || (n = {});
2441
2457
  let l = bl(e, Xe(r), Zn(e, n, "service", null, 0)), o = nr(e, n, "__md_stats__", null, zt.KW_EXTRACT);
2442
2458
  return o || (o = {}), hr(e, n, "stats_stack", {
@@ -2445,7 +2461,7 @@ var gobjJs = function(e) {
2445
2461
  }), hr(e, n, ll, l), n.__stats__ = t, Tr(e, n, "__stats__"), dl(e, "EV_MT_STATS", n, r), null;
2446
2462
  },
2447
2463
  mt_command_parser: function(e, t, n, r) {
2448
- if ("ST_SESSION" !== kt(e)) return dn("Not in session"), null;
2464
+ if ("ST_SESSION" !== $t(e)) return dn("Not in session"), null;
2449
2465
  n || (n = {});
2450
2466
  let l = bl(e, Xe(r), Zn(e, n, "service", "", 0)), o = nr(e, n, "__md_command__", null, zt.KW_EXTRACT);
2451
2467
  return o || (o = {}), hr(e, n, "command_stack", {
@@ -2454,7 +2470,7 @@ var gobjJs = function(e) {
2454
2470
  }), hr(e, n, ll, l), n.__command__ = t, Tr(e, n, "__command__"), dl(e, "EV_MT_COMMAND", n, r), null;
2455
2471
  },
2456
2472
  mt_inject_event: function(e, t, n, r) {
2457
- if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2473
+ if ("ST_SESSION" !== $t(e)) return window.console.error("Not in session"), -1;
2458
2474
  if (n || (n = {}), Er(e, n, ll));
2459
2475
  else {
2460
2476
  let l = bl(e, Xe(r), Zn(e, n, "__service__", 0, 0));
@@ -2464,11 +2480,11 @@ var gobjJs = function(e) {
2464
2480
  },
2465
2481
  mt_subscription_added: function(e, t) {
2466
2482
  let n = e.priv;
2467
- return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : ml(e, t) : 0;
2483
+ return "ST_SESSION" === $t(e) && n.websocket ? n.inside_on_open ? 0 : ml(e, t) : 0;
2468
2484
  },
2469
2485
  mt_subscription_deleted: function(e, t) {
2470
2486
  let n = e.priv;
2471
- if ("ST_SESSION" !== kt(e) || !n.websocket) return 0;
2487
+ if ("ST_SESSION" !== $t(e) || !n.websocket) return 0;
2472
2488
  if (n.inside_on_open) return 0;
2473
2489
  if (Wn(t.event)) return 0;
2474
2490
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
@@ -2496,11 +2512,11 @@ var gobjJs = function(e) {
2496
2512
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2497
2513
  i.style.cssText = t;
2498
2514
  } 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]);
2499
- if (Pn(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Nr(o));
2515
+ if (Un(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Nr(o));
2500
2516
  else if (n && _) i.textContent = n(_) || o;
2501
2517
  else i.textContent = o;
2502
2518
  else if (Ln(o)) {
2503
- if (o.length > 0) if (Pn(o[0])) i.appendChild(e(o, n));
2519
+ if (o.length > 0) if (Un(o[0])) i.appendChild(e(o, n));
2504
2520
  else for (let t of o) Array.isArray(t) && t.length > 0 ? i.appendChild(e(t, n)) : t instanceof HTMLElement && i.appendChild(t);
2505
2521
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (dn("content ignored"), hn(o));
2506
2522
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
@@ -2517,20 +2533,20 @@ var gobjJs = function(e) {
2517
2533
  n[e] = o;
2518
2534
  }), n;
2519
2535
  }, e.current_timestamp = wr, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2520
- let n = ar(Pr(e), null, !1), r = {};
2536
+ let n = ar(Ur(e), null, !1), r = {};
2521
2537
  return n && Cn(n) && (r = ir(e, n, t, !1)), r;
2522
2538
  }, e.db_load_persistent_attrs = function(e, t) {
2523
- let n = Tt(e, T.SDF_PERSIST), r = ar(Pr(e), null, !1);
2539
+ let n = Tt(e, T.SDF_PERSIST), r = ar(Ur(e), null, !1);
2524
2540
  if (r && Cn(r)) {
2525
2541
  let l = ir(e, r, t, !1);
2526
2542
  l = ir(e, l, n, !1), Nt(e, l, T.SDF_PERSIST);
2527
2543
  }
2528
2544
  }, e.db_remove_persistent_attrs = function(e, t) {
2529
- let n = _r(e, ar(Pr(e), null, !1), t, !1);
2530
- 0 === kn(n) ? cr(Pr(e)) : ur(Pr(e), n);
2545
+ let n = _r(e, ar(Ur(e), null, !1), t, !1);
2546
+ 0 === $n(n) ? cr(Ur(e)) : ur(Ur(e), n);
2531
2547
  }, e.db_save_persistent_attrs = function(e, t) {
2532
- let n = ir(e, Tt(e, T.SDF_PERSIST), t, !1), r = ar(Pr(e), null, !1);
2533
- return r && Cn(r) && jn(n, r), ur(Pr(e), n);
2548
+ let n = ir(e, Tt(e, T.SDF_PERSIST), t, !1), r = ar(Ur(e), null, !1);
2549
+ return r && Cn(r) && jn(n, r), ur(Ur(e), n);
2534
2550
  }, e.debounce = function(e, t = 0, n = !1) {
2535
2551
  let r = null, l = null, o = null;
2536
2552
  const s = (...s) => {
@@ -2563,14 +2579,14 @@ var gobjJs = function(e) {
2563
2579
  for (const n of Object.keys(e)) {
2564
2580
  const r = Cr(n);
2565
2581
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2566
- if (r.length > kr) throw new Error(`flat2json: '${n}' deeper than 256`);
2582
+ if (r.length > $r) throw new Error(`flat2json: '${n}' deeper than 256`);
2567
2583
  const l = "number" == typeof r[0];
2568
2584
  if (null === t) t = l ? [] : {};
2569
2585
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2570
2586
  let o = t;
2571
2587
  for (let t = 0; t < r.length; t++) {
2572
2588
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2573
- if (s && l > $r) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2589
+ if (s && l > kr) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2574
2590
  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"}`);
2575
2591
  if (i) {
2576
2592
  if (Array.isArray(o)) {
@@ -2643,7 +2659,7 @@ var gobjJs = function(e) {
2643
2659
  return ot(e) ? (dn("gobj NULL or DESTROYED"), null) : t instanceof O ? (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) && pn(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.mt_child_added(t, e)), 0) : (dn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2644
2660
  }, e.gobj_change_state = At, e.gobj_command = function(e, t, r, o) {
2645
2661
  return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : ((function(e) {
2646
- return V > 1 || !!e && !!(K(e) & P.TRACE_COMMANDS);
2662
+ return V > 1 || !!e && !!(K(e) & U.TRACE_COMMANDS);
2647
2663
  }(e) || q(e, null) && !z(o, null)) && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", xe(e) ? "" : "!!", et(e), t, et(o))), H(e) && hn(r)), 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));
2648
2664
  }, e.gobj_create = function(e, t, n, r) {
2649
2665
  return Ie(e, t, n, r, 0);
@@ -2655,7 +2671,7 @@ var gobjJs = function(e) {
2655
2671
  return Ie(e, t, n, r, w.gobj_flag_volatil);
2656
2672
  }, e.gobj_create_yuno = function(e, t, n) {
2657
2673
  return Ie(e, t, n, null, w.gobj_flag_yuno);
2658
- }, e.gobj_current_state = kt, e.gobj_default_service = Oe, e.gobj_deliver_posted_events = Ut, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2674
+ }, e.gobj_current_state = $t, e.gobj_default_service = Oe, e.gobj_deliver_posted_events = Pt, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2659
2675
  if (Wn(t)) return null;
2660
2676
  const n = t.toLowerCase();
2661
2677
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : mt(p, t);
@@ -2679,8 +2695,8 @@ var gobjJs = function(e) {
2679
2695
  return {
2680
2696
  subscriptions: t,
2681
2697
  subscribings: n,
2682
- "total subscriptions": $n(t),
2683
- total_subscribings: $n(n)
2698
+ "total subscriptions": kn(t),
2699
+ total_subscribings: kn(n)
2684
2700
  };
2685
2701
  }, e.gobj_load_persistent_attrs = function(e, t) {
2686
2702
  return Be(e) ? i ? i(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
@@ -2710,13 +2726,13 @@ var gobjJs = function(e) {
2710
2726
  event: t,
2711
2727
  kw: r,
2712
2728
  src: l
2713
- }), q(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) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2729
+ }), q(e, t) && !z(l, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", et(e), t, Lt.length)), Ut || (Ut = !0, setTimeout(Pt, 0)), 0) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2714
2730
  }, e.gobj_posted_events_size = function() {
2715
2731
  return Lt.length;
2716
2732
  }, e.gobj_publish_event = qt, e.gobj_read_attr = Et, e.gobj_read_attrs = Tt, e.gobj_read_bool_attr = yt, e.gobj_read_integer_attr = vt, e.gobj_read_pointer_attr = St, e.gobj_read_str_attr = jt, e.gobj_remove_persistent_attrs = function(e, t) {
2717
2733
  return Be(e) ? a ? a(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
2718
2734
  }, e.gobj_repr_global_trace_levels = function() {
2719
- return U.map(([e, t, n]) => ({
2735
+ return P.map(([e, t, n]) => ({
2720
2736
  name: e,
2721
2737
  bit: t,
2722
2738
  description: n,
@@ -2751,10 +2767,10 @@ var gobjJs = function(e) {
2751
2767
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2752
2768
  }, e.gobj_set_trace_machine_format = function(e) {
2753
2769
  C = 1 === Number(e) ? 1 : 0;
2754
- }, e.gobj_short_name = et, e.gobj_start = Pe, e.gobj_start_children = function(e) {
2755
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, A.WALK_FIRST2LAST, Ue, 0, 0);
2770
+ }, e.gobj_short_name = et, e.gobj_start = Ue, e.gobj_start_children = function(e) {
2771
+ return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, A.WALK_FIRST2LAST, Pe, 0, 0);
2756
2772
  }, e.gobj_start_tree = function(e) {
2757
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || Pe(e), ut(e, A.WALK_TOP2BOTTOM, Fe, 0, 0)));
2773
+ return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || Ue(e), ut(e, A.WALK_TOP2BOTTOM, Fe, 0, 0)));
2758
2774
  }, e.gobj_start_up = function(e, t, n, r, l, o, s) {
2759
2775
  i = t, _ = n, a = r, u = l, c = o, f = s;
2760
2776
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
@@ -2792,21 +2808,21 @@ var gobjJs = function(e) {
2792
2808
  }, e.gobj_unsubscribe_list = Bt, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = Ot, e.gobj_write_attrs = Nt, e.gobj_write_bool_attr = wt, 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 = qe, e.gobj_yuno_role = ze, e.id_index_in_obj_list = dr, e.index_in_list = Rr, e.is_array = Ln, e.is_boolean = Fn, e.is_date = function(e) {
2793
2809
  return e instanceof Date && !isNaN(e);
2794
2810
  }, e.is_function = Vn, e.is_gobj = Mn, e.is_metadata_key = function(e) {
2795
- if (!Pn(e)) return !1;
2811
+ if (!Un(e)) return !1;
2796
2812
  let t;
2797
2813
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2798
2814
  return 2 === t;
2799
- }, e.is_null = Gn, e.is_number = Un, e.is_object = Cn, e.is_private_key = function(e) {
2800
- if (!Pn(e)) return !1;
2815
+ }, e.is_null = Gn, e.is_number = Pn, e.is_object = Cn, e.is_private_key = function(e) {
2816
+ if (!Un(e)) return !1;
2801
2817
  let t;
2802
2818
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
2803
2819
  return 1 === t;
2804
2820
  }, e.is_pure_number = function(e) {
2805
- if (Un(e)) return !0;
2806
- if (!Pn(e)) return !1;
2821
+ if (Pn(e)) return !0;
2822
+ if (!Un(e)) return !1;
2807
2823
  const t = Number(e);
2808
2824
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
2809
- }, e.is_string = Pn, e.jdb_delete = function(e, t, n, r) {
2825
+ }, e.is_string = Un, e.jdb_delete = function(e, t, n, r) {
2810
2826
  let l = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2811
2827
  if (!l) return dn("jdb_delete: topic not found: " + t), null;
2812
2828
  if (Wn(r.id)) return dn("jdb_delete: record without id: " + r), mn(r), null;
@@ -2853,7 +2869,7 @@ var gobjJs = function(e) {
2853
2869
  return l;
2854
2870
  }, e.json2flat = function(e) {
2855
2871
  const t = {}, n = (e, r, l) => {
2856
- if (l > kr) throw new Error("json2flat: deeper than 256");
2872
+ if (l > $r) throw new Error("json2flat: deeper than 256");
2857
2873
  if (null === e || "object" != typeof e || Array.isArray(e)) {
2858
2874
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2859
2875
  const o = `[${t}]`;
@@ -2874,7 +2890,7 @@ var gobjJs = function(e) {
2874
2890
  return null == e || n(e, "", 0), t;
2875
2891
  }, e.json_array_append = Rn, e.json_array_append_new = Dn, e.json_array_extend = function(e, t) {
2876
2892
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2877
- }, e.json_array_remove = An, e.json_array_size = $n, e.json_deep_copy = En, e.json_is_identical = Tn, e.json_object_del = On, e.json_object_get = Sn, e.json_object_set = Nn, e.json_object_set_new = wn, e.json_object_size = kn, e.json_object_update = yn, e.json_object_update_existing = vn, e.json_object_update_missing = jn, e.json_size = In, e.jwt2json = function(e, t) {
2893
+ }, e.json_array_remove = An, e.json_array_size = kn, e.json_deep_copy = En, e.json_is_identical = Tn, e.json_object_del = On, e.json_object_get = Sn, e.json_object_set = Nn, e.json_object_set_new = wn, e.json_object_size = $n, e.json_object_update = yn, e.json_object_update_existing = vn, e.json_object_update_missing = jn, e.json_size = In, e.jwt2json = function(e, t) {
2878
2894
  try {
2879
2895
  let n = Sr(e);
2880
2896
  switch (t) {
@@ -2910,7 +2926,7 @@ var gobjJs = function(e) {
2910
2926
  }, e.kw_get_local_storage_value = ar, e.kw_get_pointer = er, e.kw_get_real = function(e, t, n, r, l) {
2911
2927
  e && !Mn(e) && dn("GObj bad instanceof");
2912
2928
  let o = qn(e, t, n, !1);
2913
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
2929
+ const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
2914
2930
  if (void 0 === o) {
2915
2931
  if (i) {
2916
2932
  let l = Number(r);
@@ -2918,7 +2934,18 @@ var gobjJs = function(e) {
2918
2934
  }
2919
2935
  return s && (dn(`path not found: '${n}'`), hn(t)), Number(r);
2920
2936
  }
2921
- return _ && zn(e, t, n), Un(o) ? Number(o) : (s && (dn(`path value MUST BE a number: ${n}`), mn(t)), Number(r));
2937
+ let u;
2938
+ if (Pn(o)) u = o;
2939
+ else {
2940
+ if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json real: '${n}'`), hn(t), Number(r);
2941
+ if (Fn(o)) u = o ? 1 : 0;
2942
+ else if (Un(o)) u = parseFloat(o), Number.isNaN(u) && (u = 0);
2943
+ else {
2944
+ if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
2945
+ u = 0;
2946
+ }
2947
+ }
2948
+ return _ && zn(e, t, n), u;
2922
2949
  }, e.kw_get_str = Zn, e.kw_has_key = Hn, e.kw_match_simple = sr, e.kw_pop = Jn, e.kw_remove_local_storage_value = cr, e.kw_select = function(e, t, n, r) {
2923
2950
  if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return null;
2924
2951
  r || (r = sr);
@@ -2939,10 +2966,10 @@ var gobjJs = function(e) {
2939
2966
  }, e.kwid_get_ids = function(e, t) {
2940
2967
  if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return [];
2941
2968
  let n = [];
2942
- if (Pn(t)) n.push(t);
2969
+ if (Un(t)) n.push(t);
2943
2970
  else if (Cn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
2944
2971
  else Ln(t) && t.forEach(function(t) {
2945
- if (Pn(t)) Wn(t) || n.push(t);
2972
+ if (Un(t)) Wn(t) || n.push(t);
2946
2973
  else if (Cn(t)) {
2947
2974
  let r = Zn(e, t, "id", 0, 0);
2948
2975
  r && n.push(r);
@@ -2975,7 +3002,7 @@ var gobjJs = function(e) {
2975
3002
  let r = [];
2976
3003
  if (Ln(e)) for (let l = 0; l < e.length; l++) {
2977
3004
  let o = e[l];
2978
- if (Pn(o)) r.push({
3005
+ if (Un(o)) r.push({
2979
3006
  id: e[l],
2980
3007
  value: e[l]
2981
3008
  });
@@ -3215,7 +3242,7 @@ var gobjJs = function(e) {
3215
3242
  placeholder: void 0,
3216
3243
  fkey: null
3217
3244
  };
3218
- if (Pn(t)) {
3245
+ if (Un(t)) {
3219
3246
  let e = t.split(".");
3220
3247
  for (let t = 0; t < e.length; t++) {
3221
3248
  let r = e[t];
@@ -3245,11 +3272,11 @@ var gobjJs = function(e) {
3245
3272
  total: _
3246
3273
  };
3247
3274
  } };
3248
- }, e.trace_json = hn, e.trace_level_t = P, e.trace_msg = mn, e.treedb_decoder_fkey = Ur, e.treedb_decoder_hook = function(e, t) {
3249
- if (Pn(t)) {
3275
+ }, e.trace_json = hn, e.trace_level_t = U, e.trace_msg = mn, e.treedb_decoder_fkey = Pr, e.treedb_decoder_hook = function(e, t) {
3276
+ if (Un(t)) {
3250
3277
  if (-1 === t.indexOf("^")) {
3251
3278
  let n, r = e.hook;
3252
- if (1 !== kn(r)) return dn("bad hook 1"), dn(e), dn(t), null;
3279
+ if (1 !== $n(r)) return dn("bad hook 1"), dn(e), dn(t), null;
3253
3280
  for (let e of Object.keys(r)) {
3254
3281
  n = e, r[e];
3255
3282
  break;
@@ -3272,7 +3299,7 @@ var gobjJs = function(e) {
3272
3299
  id: t.id
3273
3300
  } : (dn("bad hook 3"), dn(e), dn(t), null);
3274
3301
  }, e.treedb_encoder_fkey = function(e, t) {
3275
- let n = Ur(e, t);
3302
+ let n = Pr(e, t);
3276
3303
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3277
3304
  }, e.treedb_get_field_desc = Mr, e.treedb_hook_data_size = function(e) {
3278
3305
  if (Ln(e) && 1 === In(e)) {