@yuneta/gobj-js 7.7.2 → 7.8.0

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