lunchboxjs 2.0.0-beta.5 → 2.0.0-beta.7

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.
@@ -1,5 +1,5 @@
1
1
  import * as b from "three";
2
- const ju = [
2
+ const Gu = [
3
3
  // ORDER MATTERS HERE!
4
4
  // Place the objects most likely to wrap other objects at the beginning of the list.
5
5
  // Main wrappers
@@ -91,19 +91,19 @@ const ju = [
91
91
  * Copyright 2019 Google LLC
92
92
  * SPDX-License-Identifier: BSD-3-Clause
93
93
  */
94
- const eu = globalThis, Bu = eu.ShadowRoot && (eu.ShadyCSS === void 0 || eu.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, mu = Symbol(), vu = /* @__PURE__ */ new WeakMap();
95
- let Gu = class {
94
+ const ru = globalThis, yu = ru.ShadowRoot && (ru.ShadyCSS === void 0 || ru.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, gu = Symbol(), wu = /* @__PURE__ */ new WeakMap();
95
+ let zu = class {
96
96
  constructor(u, e, r) {
97
- if (this._$cssResult$ = !0, r !== mu)
97
+ if (this._$cssResult$ = !0, r !== gu)
98
98
  throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
99
99
  this.cssText = u, this.t = e;
100
100
  }
101
101
  get styleSheet() {
102
102
  let u = this.o;
103
103
  const e = this.t;
104
- if (Bu && u === void 0) {
104
+ if (yu && u === void 0) {
105
105
  const r = e !== void 0 && e.length === 1;
106
- r && (u = vu.get(e)), u === void 0 && ((this.o = u = new CSSStyleSheet()).replaceSync(this.cssText), r && vu.set(e, u));
106
+ r && (u = wu.get(e)), u === void 0 && ((this.o = u = new CSSStyleSheet()).replaceSync(this.cssText), r && wu.set(e, u));
107
107
  }
108
108
  return u;
109
109
  }
@@ -111,7 +111,7 @@ let Gu = class {
111
111
  return this.cssText;
112
112
  }
113
113
  };
114
- const re = (t) => new Gu(typeof t == "string" ? t : t + "", void 0, mu), se = (t, ...u) => {
114
+ const re = (t) => new zu(typeof t == "string" ? t : t + "", void 0, gu), se = (t, ...u) => {
115
115
  const e = t.length === 1 ? t[0] : u.reduce((r, s, D) => r + ((i) => {
116
116
  if (i._$cssResult$ === !0)
117
117
  return i.cssText;
@@ -119,16 +119,16 @@ const re = (t) => new Gu(typeof t == "string" ? t : t + "", void 0, mu), se = (t
119
119
  return i;
120
120
  throw Error("Value passed to 'css' function must be a 'css' function result: " + i + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
121
121
  })(s) + t[D + 1], t[0]);
122
- return new Gu(e, t, mu);
122
+ return new zu(e, t, gu);
123
123
  }, De = (t, u) => {
124
- if (Bu)
124
+ if (yu)
125
125
  t.adoptedStyleSheets = u.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
126
126
  else
127
127
  for (const e of u) {
128
- const r = document.createElement("style"), s = eu.litNonce;
128
+ const r = document.createElement("style"), s = ru.litNonce;
129
129
  s !== void 0 && r.setAttribute("nonce", s), r.textContent = e.cssText, t.appendChild(r);
130
130
  }
131
- }, wu = Bu ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((u) => {
131
+ }, Su = yu ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((u) => {
132
132
  let e = "";
133
133
  for (const r of u.cssRules)
134
134
  e += r.cssText;
@@ -139,10 +139,10 @@ const re = (t) => new Gu(typeof t == "string" ? t : t + "", void 0, mu), se = (t
139
139
  * Copyright 2017 Google LLC
140
140
  * SPDX-License-Identifier: BSD-3-Clause
141
141
  */
142
- const { is: ie, defineProperty: ne, getOwnPropertyDescriptor: oe, getOwnPropertyNames: ae, getOwnPropertySymbols: ce, getPrototypeOf: Ae } = Object, P = globalThis, Su = P.trustedTypes, he = Su ? Su.emptyScript : "", ou = P.reactiveElementPolyfillSupport, W = (t, u) => t, tu = { toAttribute(t, u) {
142
+ const { is: ie, defineProperty: ne, getOwnPropertyDescriptor: oe, getOwnPropertyNames: ae, getOwnPropertySymbols: ce, getPrototypeOf: he } = Object, P = globalThis, Pu = P.trustedTypes, Ae = Pu ? Pu.emptyScript : "", cu = P.reactiveElementPolyfillSupport, q = (t, u) => t, su = { toAttribute(t, u) {
143
143
  switch (u) {
144
144
  case Boolean:
145
- t = t ? he : null;
145
+ t = t ? Ae : null;
146
146
  break;
147
147
  case Object:
148
148
  case Array:
@@ -167,7 +167,7 @@ const { is: ie, defineProperty: ne, getOwnPropertyDescriptor: oe, getOwnProperty
167
167
  }
168
168
  }
169
169
  return e;
170
- } }, yu = (t, u) => !ie(t, u), Pu = { attribute: !0, type: String, converter: tu, reflect: !1, hasChanged: yu };
170
+ } }, $u = (t, u) => !ie(t, u), xu = { attribute: !0, type: String, converter: su, reflect: !1, hasChanged: $u };
171
171
  Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), P.litPropertyMetadata ?? (P.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
172
172
  class H extends HTMLElement {
173
173
  static addInitializer(u) {
@@ -176,7 +176,7 @@ class H extends HTMLElement {
176
176
  static get observedAttributes() {
177
177
  return this.finalize(), this._$Eh && [...this._$Eh.keys()];
178
178
  }
179
- static createProperty(u, e = Pu) {
179
+ static createProperty(u, e = xu) {
180
180
  if (e.state && (e.attribute = !1), this._$Ei(), this.elementProperties.set(u, e), !e.noAccessor) {
181
181
  const r = Symbol(), s = this.getPropertyDescriptor(u, r, e);
182
182
  s !== void 0 && ne(this.prototype, u, s);
@@ -196,18 +196,18 @@ class H extends HTMLElement {
196
196
  }, configurable: !0, enumerable: !0 };
197
197
  }
198
198
  static getPropertyOptions(u) {
199
- return this.elementProperties.get(u) ?? Pu;
199
+ return this.elementProperties.get(u) ?? xu;
200
200
  }
201
201
  static _$Ei() {
202
- if (this.hasOwnProperty(W("elementProperties")))
202
+ if (this.hasOwnProperty(q("elementProperties")))
203
203
  return;
204
- const u = Ae(this);
204
+ const u = he(this);
205
205
  u.finalize(), u.l !== void 0 && (this.l = [...u.l]), this.elementProperties = new Map(u.elementProperties);
206
206
  }
207
207
  static finalize() {
208
- if (this.hasOwnProperty(W("finalized")))
208
+ if (this.hasOwnProperty(q("finalized")))
209
209
  return;
210
- if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(W("properties"))) {
210
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(q("properties"))) {
211
211
  const e = this.properties, r = [...ae(e), ...ce(e)];
212
212
  for (const s of r)
213
213
  this.createProperty(s, e[s]);
@@ -231,9 +231,9 @@ class H extends HTMLElement {
231
231
  if (Array.isArray(u)) {
232
232
  const r = new Set(u.flat(1 / 0).reverse());
233
233
  for (const s of r)
234
- e.unshift(wu(s));
234
+ e.unshift(Su(s));
235
235
  } else
236
- u !== void 0 && e.push(wu(u));
236
+ u !== void 0 && e.push(Su(u));
237
237
  return e;
238
238
  }
239
239
  static _$Eu(u, e) {
@@ -288,7 +288,7 @@ class H extends HTMLElement {
288
288
  var D;
289
289
  const r = this.constructor.elementProperties.get(u), s = this.constructor._$Eu(u, r);
290
290
  if (s !== void 0 && r.reflect === !0) {
291
- const i = (((D = r.converter) == null ? void 0 : D.toAttribute) !== void 0 ? r.converter : tu).toAttribute(e, r.type);
291
+ const i = (((D = r.converter) == null ? void 0 : D.toAttribute) !== void 0 ? r.converter : su).toAttribute(e, r.type);
292
292
  this._$Em = u, i == null ? this.removeAttribute(s) : this.setAttribute(s, i), this._$Em = null;
293
293
  }
294
294
  }
@@ -296,13 +296,13 @@ class H extends HTMLElement {
296
296
  var D;
297
297
  const r = this.constructor, s = r._$Eh.get(u);
298
298
  if (s !== void 0 && this._$Em !== s) {
299
- const i = r.getPropertyOptions(s), a = typeof i.converter == "function" ? { fromAttribute: i.converter } : ((D = i.converter) == null ? void 0 : D.fromAttribute) !== void 0 ? i.converter : tu;
299
+ const i = r.getPropertyOptions(s), a = typeof i.converter == "function" ? { fromAttribute: i.converter } : ((D = i.converter) == null ? void 0 : D.fromAttribute) !== void 0 ? i.converter : su;
300
300
  this._$Em = s, this[s] = a.fromAttribute(e, i.type), this._$Em = null;
301
301
  }
302
302
  }
303
303
  requestUpdate(u, e, r) {
304
304
  if (u !== void 0) {
305
- if (r ?? (r = this.constructor.getPropertyOptions(u)), !(r.hasChanged ?? yu)(this[u], e))
305
+ if (r ?? (r = this.constructor.getPropertyOptions(u)), !(r.hasChanged ?? $u)(this[u], e))
306
306
  return;
307
307
  this.P(u, e, r);
308
308
  }
@@ -380,40 +380,40 @@ class H extends HTMLElement {
380
380
  firstUpdated(u) {
381
381
  }
382
382
  }
383
- H.elementStyles = [], H.shadowRootOptions = { mode: "open" }, H[W("elementProperties")] = /* @__PURE__ */ new Map(), H[W("finalized")] = /* @__PURE__ */ new Map(), ou == null || ou({ ReactiveElement: H }), (P.reactiveElementVersions ?? (P.reactiveElementVersions = [])).push("2.0.4");
383
+ H.elementStyles = [], H.shadowRootOptions = { mode: "open" }, H[q("elementProperties")] = /* @__PURE__ */ new Map(), H[q("finalized")] = /* @__PURE__ */ new Map(), cu == null || cu({ ReactiveElement: H }), (P.reactiveElementVersions ?? (P.reactiveElementVersions = [])).push("2.0.4");
384
384
  /**
385
385
  * @license
386
386
  * Copyright 2017 Google LLC
387
387
  * SPDX-License-Identifier: BSD-3-Clause
388
388
  */
389
- const V = globalThis, ru = V.trustedTypes, xu = ru ? ru.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, zu = "$lit$", S = `lit$${Math.random().toFixed(9).slice(2)}$`, Wu = "?" + S, Ce = `<${Wu}>`, k = document, J = () => k.createComment(""), Z = (t) => t === null || typeof t != "object" && typeof t != "function", Vu = Array.isArray, Ee = (t) => Vu(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", au = `[
390
- \f\r]`, G = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Nu = /-->/g, Tu = />/g, T = RegExp(`>|${au}(?:([^\\s"'>=/]+)(${au}*=${au}*(?:[^
391
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Mu = /'/g, Ou = /"/g, qu = /^(?:script|style|textarea|title)$/i, Fe = (t) => (u, ...e) => ({ _$litType$: t, strings: u, values: e }), Ju = Fe(1), U = Symbol.for("lit-noChange"), B = Symbol.for("lit-nothing"), Lu = /* @__PURE__ */ new WeakMap(), L = k.createTreeWalker(k, 129);
392
- function Zu(t, u) {
389
+ const J = globalThis, Du = J.trustedTypes, Nu = Du ? Du.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, Vu = "$lit$", S = `lit$${Math.random().toFixed(9).slice(2)}$`, Wu = "?" + S, Ce = `<${Wu}>`, k = document, K = () => k.createComment(""), X = (t) => t === null || typeof t != "object" && typeof t != "function", qu = Array.isArray, Ee = (t) => qu(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", hu = `[
390
+ \f\r]`, V = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Tu = /-->/g, Mu = />/g, M = RegExp(`>|${hu}(?:([^\\s"'>=/]+)(${hu}*=${hu}*(?:[^
391
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), Ou = /'/g, Ru = /"/g, Ju = /^(?:script|style|textarea|title)$/i, Fe = (t) => (u, ...e) => ({ _$litType$: t, strings: u, values: e }), Zu = Fe(1), U = Symbol.for("lit-noChange"), B = Symbol.for("lit-nothing"), Lu = /* @__PURE__ */ new WeakMap(), L = k.createTreeWalker(k, 129);
392
+ function Ku(t, u) {
393
393
  if (!Array.isArray(t) || !t.hasOwnProperty("raw"))
394
394
  throw Error("invalid template strings array");
395
- return xu !== void 0 ? xu.createHTML(u) : u;
395
+ return Nu !== void 0 ? Nu.createHTML(u) : u;
396
396
  }
397
397
  const le = (t, u) => {
398
398
  const e = t.length - 1, r = [];
399
- let s, D = u === 2 ? "<svg>" : "", i = G;
399
+ let s, D = u === 2 ? "<svg>" : "", i = V;
400
400
  for (let a = 0; a < e; a++) {
401
401
  const o = t[a];
402
- let h, E, F = -1, y = 0;
402
+ let A, E, F = -1, y = 0;
403
403
  for (; y < o.length && (i.lastIndex = y, E = i.exec(o), E !== null); )
404
- y = i.lastIndex, i === G ? E[1] === "!--" ? i = Nu : E[1] !== void 0 ? i = Tu : E[2] !== void 0 ? (qu.test(E[2]) && (s = RegExp("</" + E[2], "g")), i = T) : E[3] !== void 0 && (i = T) : i === T ? E[0] === ">" ? (i = s ?? G, F = -1) : E[1] === void 0 ? F = -2 : (F = i.lastIndex - E[2].length, h = E[1], i = E[3] === void 0 ? T : E[3] === '"' ? Ou : Mu) : i === Ou || i === Mu ? i = T : i === Nu || i === Tu ? i = G : (i = T, s = void 0);
405
- const g = i === T && t[a + 1].startsWith("/>") ? " " : "";
406
- D += i === G ? o + Ce : F >= 0 ? (r.push(h), o.slice(0, F) + zu + o.slice(F) + S + g) : o + S + (F === -2 ? a : g);
404
+ y = i.lastIndex, i === V ? E[1] === "!--" ? i = Tu : E[1] !== void 0 ? i = Mu : E[2] !== void 0 ? (Ju.test(E[2]) && (s = RegExp("</" + E[2], "g")), i = M) : E[3] !== void 0 && (i = M) : i === M ? E[0] === ">" ? (i = s ?? V, F = -1) : E[1] === void 0 ? F = -2 : (F = i.lastIndex - E[2].length, A = E[1], i = E[3] === void 0 ? M : E[3] === '"' ? Ru : Ou) : i === Ru || i === Ou ? i = M : i === Tu || i === Mu ? i = V : (i = M, s = void 0);
405
+ const g = i === M && t[a + 1].startsWith("/>") ? " " : "";
406
+ D += i === V ? o + Ce : F >= 0 ? (r.push(A), o.slice(0, F) + Vu + o.slice(F) + S + g) : o + S + (F === -2 ? a : g);
407
407
  }
408
- return [Zu(t, D + (t[e] || "<?>") + (u === 2 ? "</svg>" : "")), r];
408
+ return [Ku(t, D + (t[e] || "<?>") + (u === 2 ? "</svg>" : "")), r];
409
409
  };
410
- class K {
410
+ class Y {
411
411
  constructor({ strings: u, _$litType$: e }, r) {
412
412
  let s;
413
413
  this.parts = [];
414
414
  let D = 0, i = 0;
415
- const a = u.length - 1, o = this.parts, [h, E] = le(u, e);
416
- if (this.el = K.createElement(h, r), L.currentNode = this.el.content, e === 2) {
415
+ const a = u.length - 1, o = this.parts, [A, E] = le(u, e);
416
+ if (this.el = Y.createElement(A, r), L.currentNode = this.el.content, e === 2) {
417
417
  const F = this.el.content.firstChild;
418
418
  F.replaceWith(...F.childNodes);
419
419
  }
@@ -421,18 +421,18 @@ class K {
421
421
  if (s.nodeType === 1) {
422
422
  if (s.hasAttributes())
423
423
  for (const F of s.getAttributeNames())
424
- if (F.endsWith(zu)) {
425
- const y = E[i++], g = s.getAttribute(F).split(S), N = /([.?@])?(.*)/.exec(y);
426
- o.push({ type: 1, index: D, name: N[2], strings: g, ctor: N[1] === "." ? pe : N[1] === "?" ? fe : N[1] === "@" ? Be : iu }), s.removeAttribute(F);
424
+ if (F.endsWith(Vu)) {
425
+ const y = E[i++], g = s.getAttribute(F).split(S), T = /([.?@])?(.*)/.exec(y);
426
+ o.push({ type: 1, index: D, name: T[2], strings: g, ctor: T[1] === "." ? pe : T[1] === "?" ? fe : T[1] === "@" ? Be : ou }), s.removeAttribute(F);
427
427
  } else
428
428
  F.startsWith(S) && (o.push({ type: 6, index: D }), s.removeAttribute(F));
429
- if (qu.test(s.tagName)) {
429
+ if (Ju.test(s.tagName)) {
430
430
  const F = s.textContent.split(S), y = F.length - 1;
431
431
  if (y > 0) {
432
- s.textContent = ru ? ru.emptyScript : "";
432
+ s.textContent = Du ? Du.emptyScript : "";
433
433
  for (let g = 0; g < y; g++)
434
- s.append(F[g], J()), L.nextNode(), o.push({ type: 2, index: ++D });
435
- s.append(F[y], J());
434
+ s.append(F[g], K()), L.nextNode(), o.push({ type: 2, index: ++D });
435
+ s.append(F[y], K());
436
436
  }
437
437
  }
438
438
  } else if (s.nodeType === 8)
@@ -451,13 +451,13 @@ class K {
451
451
  return r.innerHTML = u, r;
452
452
  }
453
453
  }
454
- function R(t, u, e = t, r) {
454
+ function j(t, u, e = t, r) {
455
455
  var i, a;
456
456
  if (u === U)
457
457
  return u;
458
458
  let s = r !== void 0 ? (i = e._$Co) == null ? void 0 : i[r] : e._$Cl;
459
- const D = Z(u) ? void 0 : u._$litDirective$;
460
- return (s == null ? void 0 : s.constructor) !== D && ((a = s == null ? void 0 : s._$AO) == null || a.call(s, !1), D === void 0 ? s = void 0 : (s = new D(t), s._$AT(t, e, r)), r !== void 0 ? (e._$Co ?? (e._$Co = []))[r] = s : e._$Cl = s), s !== void 0 && (u = R(t, s._$AS(t, u.values), s, r)), u;
459
+ const D = X(u) ? void 0 : u._$litDirective$;
460
+ return (s == null ? void 0 : s.constructor) !== D && ((a = s == null ? void 0 : s._$AO) == null || a.call(s, !1), D === void 0 ? s = void 0 : (s = new D(t), s._$AT(t, e, r)), r !== void 0 ? (e._$Co ?? (e._$Co = []))[r] = s : e._$Cl = s), s !== void 0 && (u = j(t, s._$AS(t, u.values), s, r)), u;
461
461
  }
462
462
  class de {
463
463
  constructor(u, e) {
@@ -475,8 +475,8 @@ class de {
475
475
  let D = L.nextNode(), i = 0, a = 0, o = r[0];
476
476
  for (; o !== void 0; ) {
477
477
  if (i === o.index) {
478
- let h;
479
- o.type === 2 ? h = new Y(D, D.nextSibling, this, u) : o.type === 1 ? h = new o.ctor(D, o.name, o.strings, this, u) : o.type === 6 && (h = new me(D, this, u)), this._$AV.push(h), o = r[++a];
478
+ let A;
479
+ o.type === 2 ? A = new Q(D, D.nextSibling, this, u) : o.type === 1 ? A = new o.ctor(D, o.name, o.strings, this, u) : o.type === 6 && (A = new me(D, this, u)), this._$AV.push(A), o = r[++a];
480
480
  }
481
481
  i !== (o == null ? void 0 : o.index) && (D = L.nextNode(), i++);
482
482
  }
@@ -488,7 +488,7 @@ class de {
488
488
  r !== void 0 && (r.strings !== void 0 ? (r._$AI(u, r, e), e += r.strings.length - 2) : r._$AI(u[e])), e++;
489
489
  }
490
490
  }
491
- class Y {
491
+ class Q {
492
492
  get _$AU() {
493
493
  var u;
494
494
  return ((u = this._$AM) == null ? void 0 : u._$AU) ?? this._$Cv;
@@ -508,7 +508,7 @@ class Y {
508
508
  return this._$AB;
509
509
  }
510
510
  _$AI(u, e = this) {
511
- u = R(this, u, e), Z(u) ? u === B || u == null || u === "" ? (this._$AH !== B && this._$AR(), this._$AH = B) : u !== this._$AH && u !== U && this._(u) : u._$litType$ !== void 0 ? this.$(u) : u.nodeType !== void 0 ? this.T(u) : Ee(u) ? this.k(u) : this._(u);
511
+ u = j(this, u, e), X(u) ? u === B || u == null || u === "" ? (this._$AH !== B && this._$AR(), this._$AH = B) : u !== this._$AH && u !== U && this._(u) : u._$litType$ !== void 0 ? this.$(u) : u.nodeType !== void 0 ? this.T(u) : Ee(u) ? this.k(u) : this._(u);
512
512
  }
513
513
  S(u) {
514
514
  return this._$AA.parentNode.insertBefore(u, this._$AB);
@@ -517,11 +517,11 @@ class Y {
517
517
  this._$AH !== u && (this._$AR(), this._$AH = this.S(u));
518
518
  }
519
519
  _(u) {
520
- this._$AH !== B && Z(this._$AH) ? this._$AA.nextSibling.data = u : this.T(k.createTextNode(u)), this._$AH = u;
520
+ this._$AH !== B && X(this._$AH) ? this._$AA.nextSibling.data = u : this.T(k.createTextNode(u)), this._$AH = u;
521
521
  }
522
522
  $(u) {
523
523
  var D;
524
- const { values: e, _$litType$: r } = u, s = typeof r == "number" ? this._$AC(u) : (r.el === void 0 && (r.el = K.createElement(Zu(r.h, r.h[0]), this.options)), r);
524
+ const { values: e, _$litType$: r } = u, s = typeof r == "number" ? this._$AC(u) : (r.el === void 0 && (r.el = Y.createElement(Ku(r.h, r.h[0]), this.options)), r);
525
525
  if (((D = this._$AH) == null ? void 0 : D._$AD) === s)
526
526
  this._$AH.p(e);
527
527
  else {
@@ -531,14 +531,14 @@ class Y {
531
531
  }
532
532
  _$AC(u) {
533
533
  let e = Lu.get(u.strings);
534
- return e === void 0 && Lu.set(u.strings, e = new K(u)), e;
534
+ return e === void 0 && Lu.set(u.strings, e = new Y(u)), e;
535
535
  }
536
536
  k(u) {
537
- Vu(this._$AH) || (this._$AH = [], this._$AR());
537
+ qu(this._$AH) || (this._$AH = [], this._$AR());
538
538
  const e = this._$AH;
539
539
  let r, s = 0;
540
540
  for (const D of u)
541
- s === e.length ? e.push(r = new Y(this.S(J()), this.S(J()), this, this.options)) : r = e[s], r._$AI(D), s++;
541
+ s === e.length ? e.push(r = new Q(this.S(K()), this.S(K()), this, this.options)) : r = e[s], r._$AI(D), s++;
542
542
  s < e.length && (this._$AR(r && r._$AB.nextSibling, s), e.length = s);
543
543
  }
544
544
  _$AR(u = this._$AA.nextSibling, e) {
@@ -553,7 +553,7 @@ class Y {
553
553
  this._$AM === void 0 && (this._$Cv = u, (e = this._$AP) == null || e.call(this, u));
554
554
  }
555
555
  }
556
- class iu {
556
+ class ou {
557
557
  get tagName() {
558
558
  return this.element.tagName;
559
559
  }
@@ -567,12 +567,12 @@ class iu {
567
567
  const D = this.strings;
568
568
  let i = !1;
569
569
  if (D === void 0)
570
- u = R(this, u, e, 0), i = !Z(u) || u !== this._$AH && u !== U, i && (this._$AH = u);
570
+ u = j(this, u, e, 0), i = !X(u) || u !== this._$AH && u !== U, i && (this._$AH = u);
571
571
  else {
572
572
  const a = u;
573
- let o, h;
573
+ let o, A;
574
574
  for (u = D[0], o = 0; o < D.length - 1; o++)
575
- h = R(this, a[r + o], e, o), h === U && (h = this._$AH[o]), i || (i = !Z(h) || h !== this._$AH[o]), h === B ? u = B : u !== B && (u += (h ?? "") + D[o + 1]), this._$AH[o] = h;
575
+ A = j(this, a[r + o], e, o), A === U && (A = this._$AH[o]), i || (i = !X(A) || A !== this._$AH[o]), A === B ? u = B : u !== B && (u += (A ?? "") + D[o + 1]), this._$AH[o] = A;
576
576
  }
577
577
  i && !s && this.j(u);
578
578
  }
@@ -580,7 +580,7 @@ class iu {
580
580
  u === B ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, u ?? "");
581
581
  }
582
582
  }
583
- class pe extends iu {
583
+ class pe extends ou {
584
584
  constructor() {
585
585
  super(...arguments), this.type = 3;
586
586
  }
@@ -588,7 +588,7 @@ class pe extends iu {
588
588
  this.element[this.name] = u === B ? void 0 : u;
589
589
  }
590
590
  }
591
- class fe extends iu {
591
+ class fe extends ou {
592
592
  constructor() {
593
593
  super(...arguments), this.type = 4;
594
594
  }
@@ -596,12 +596,12 @@ class fe extends iu {
596
596
  this.element.toggleAttribute(this.name, !!u && u !== B);
597
597
  }
598
598
  }
599
- class Be extends iu {
599
+ class Be extends ou {
600
600
  constructor(u, e, r, s, D) {
601
601
  super(u, e, r, s, D), this.type = 5;
602
602
  }
603
603
  _$AI(u, e = this) {
604
- if ((u = R(this, u, e, 0) ?? B) === U)
604
+ if ((u = j(this, u, e, 0) ?? B) === U)
605
605
  return;
606
606
  const r = this._$AH, s = u === B && r !== B || u.capture !== r.capture || u.once !== r.once || u.passive !== r.passive, D = u !== B && (r === B || s);
607
607
  s && this.element.removeEventListener(this.name, this, r), D && this.element.addEventListener(this.name, this, u), this._$AH = u;
@@ -619,17 +619,17 @@ class me {
619
619
  return this._$AM._$AU;
620
620
  }
621
621
  _$AI(u) {
622
- R(this, u);
622
+ j(this, u);
623
623
  }
624
624
  }
625
- const cu = V.litHtmlPolyfillSupport;
626
- cu == null || cu(K, Y), (V.litHtmlVersions ?? (V.litHtmlVersions = [])).push("3.1.3");
625
+ const Au = J.litHtmlPolyfillSupport;
626
+ Au == null || Au(Y, Q), (J.litHtmlVersions ?? (J.litHtmlVersions = [])).push("3.1.3");
627
627
  const ye = (t, u, e) => {
628
628
  const r = (e == null ? void 0 : e.renderBefore) ?? u;
629
629
  let s = r._$litPart$;
630
630
  if (s === void 0) {
631
631
  const D = (e == null ? void 0 : e.renderBefore) ?? null;
632
- r._$litPart$ = s = new Y(u.insertBefore(J(), D), D, void 0, e ?? {});
632
+ r._$litPart$ = s = new Q(u.insertBefore(K(), D), D, void 0, e ?? {});
633
633
  }
634
634
  return s._$AI(t), s;
635
635
  };
@@ -663,17 +663,17 @@ class I extends H {
663
663
  return U;
664
664
  }
665
665
  }
666
- var Ru;
667
- I._$litElement$ = !0, I.finalized = !0, (Ru = globalThis.litElementHydrateSupport) == null || Ru.call(globalThis, { LitElement: I });
668
- const Au = globalThis.litElementPolyfillSupport;
669
- Au == null || Au({ LitElement: I });
666
+ var ju;
667
+ I._$litElement$ = !0, I.finalized = !0, (ju = globalThis.litElementHydrateSupport) == null || ju.call(globalThis, { LitElement: I });
668
+ const Cu = globalThis.litElementPolyfillSupport;
669
+ Cu == null || Cu({ LitElement: I });
670
670
  (globalThis.litElementVersions ?? (globalThis.litElementVersions = [])).push("4.0.5");
671
671
  /**
672
672
  * @license
673
673
  * Copyright 2017 Google LLC
674
674
  * SPDX-License-Identifier: BSD-3-Clause
675
675
  */
676
- const ge = { attribute: !0, type: String, converter: tu, reflect: !1, hasChanged: yu }, $e = (t = ge, u, e) => {
676
+ const ge = { attribute: !0, type: String, converter: su, reflect: !1, hasChanged: $u }, $e = (t = ge, u, e) => {
677
677
  const { kind: r, metadata: s } = e;
678
678
  let D = globalThis.litPropertyMetadata.get(s);
679
679
  if (D === void 0 && globalThis.litPropertyMetadata.set(s, D = /* @__PURE__ */ new Map()), D.set(e.name, t), r === "accessor") {
@@ -694,7 +694,7 @@ const ge = { attribute: !0, type: String, converter: tu, reflect: !1, hasChanged
694
694
  }
695
695
  throw Error("Unsupported decorator location: " + r);
696
696
  };
697
- function gu(t) {
697
+ function G(t) {
698
698
  return (u, e) => typeof e == "object" ? $e(t, u, e) : ((r, s, D) => {
699
699
  const i = s.hasOwnProperty(D);
700
700
  return s.constructor.createProperty(D, i ? { ...r, wrapped: !0 } : r), i ? Object.getOwnPropertyDescriptor(s, D) : void 0;
@@ -729,22 +729,22 @@ const ve = () => {
729
729
  }, we = ve(), Se = (t, u, e) => {
730
730
  const r = Array.isArray(u) ? u : u.match(/([^[.\]])+/g);
731
731
  r == null || r.reduce((s, D, i) => (s[D] === void 0 && (s[D] = {}), i === r.length - 1 && (s[D] = e), s[D]), t);
732
- }, Ku = "data-three-uuid", Fu = (t, u, e) => {
732
+ }, Xu = "data-three-uuid", du = (t, u, e) => {
733
733
  var D, i;
734
734
  const r = be(t, u);
735
735
  if (we(e) && (r != null && r.setScalar))
736
736
  r.setScalar(+e);
737
737
  else if (r != null && r.set)
738
738
  if (typeof e == "string") {
739
- const a = e.split(","), o = a.every((h) => !h.match(/^[^\d,]+$/));
739
+ const a = e.split(","), o = a.every((A) => !A.match(/^[^\d,]+$/));
740
740
  if ((D = e.toLowerCase().trim().match(/^#[\dabcdef]{3,6}$/)) != null && D.length)
741
741
  if (e.length === 4) {
742
- const h = [e[1], e[1], e[2], e[2], e[3], e[3]].join("");
743
- r.set(+`0x${h}`);
742
+ const A = [e[1], e[1], e[2], e[2], e[3], e[3]].join("");
743
+ r.set(+`0x${A}`);
744
744
  } else
745
745
  r.set(+`0x${e.slice(1)}`);
746
746
  else
747
- a != null && a.length && o ? r.set(...a.map((h) => +h)) : r.set(e);
747
+ a != null && a.length && o ? r.set(...a.map((A) => +A)) : r.set(e);
748
748
  } else {
749
749
  const a = Array.isArray(e) ? e : [e];
750
750
  r.set(...a);
@@ -753,7 +753,7 @@ const ve = () => {
753
753
  Se(t, u, e);
754
754
  const s = t;
755
755
  (i = s.type) != null && i.toLowerCase().endsWith("material") && (s.needsUpdate = !0);
756
- }, hu = {
756
+ }, Eu = {
757
757
  $scene: (t) => {
758
758
  const u = t.closest("three-lunchbox");
759
759
  return u == null ? void 0 : u.three.scene;
@@ -770,20 +770,20 @@ const ve = () => {
770
770
  const u = t.closest("three-lunchbox");
771
771
  return u == null ? void 0 : u.three.renderer.domElement;
772
772
  }
773
- }, lu = (t, u) => {
773
+ }, pu = (t, u) => {
774
774
  var r;
775
- return typeof t != "string" ? t : t === "" ? !0 : ((r = hu[t]) == null ? void 0 : r.call(hu, u)) ?? t;
775
+ return typeof t != "string" ? t : t === "" ? !0 : ((r = Eu[t]) == null ? void 0 : r.call(Eu, u)) ?? t;
776
776
  };
777
777
  var Pe = Object.defineProperty, xe = (t, u, e, r) => {
778
778
  for (var s = void 0, D = t.length - 1, i; D >= 0; D--)
779
779
  (i = t[D]) && (s = i(u, e, s) || s);
780
780
  return s && Pe(u, e, s), s;
781
781
  };
782
- const Xu = "raycast", ku = [
783
- Xu,
782
+ const Yu = "raycast", ku = [
783
+ Yu,
784
784
  "args",
785
785
  "data"
786
- ], Hu = (t) => t.split("-"), Yu = (t) => {
786
+ ], Hu = (t) => t.split("-"), Qu = (t) => {
787
787
  const u = typeof t == "string" ? b[t] : t;
788
788
  if (!_e(u))
789
789
  return null;
@@ -794,45 +794,45 @@ const Xu = "raycast", ku = [
794
794
  connectedCallback() {
795
795
  var i, a;
796
796
  super.connectedCallback(), this.mutationObserver = new MutationObserver((o) => {
797
- o.forEach((h) => {
798
- if (!h.attributeName)
797
+ o.forEach((A) => {
798
+ if (!A.attributeName)
799
799
  return;
800
- const E = this.attributes.getNamedItem(h.attributeName);
800
+ const E = this.attributes.getNamedItem(A.attributeName);
801
801
  E && this.updateProperty(E);
802
802
  });
803
803
  }), this.mutationObserver.observe(this, {
804
804
  attributes: !0
805
- }), this.instance = new u(...this.args.map((o) => lu(o, this))), this.getAttributeNames().forEach((o) => {
806
- const h = this.attributes.getNamedItem(o);
807
- h && this.updateProperty(h);
805
+ }), this.instance = new u(...this.args.map((o) => pu(o, this))), this.getAttributeNames().forEach((o) => {
806
+ const A = this.attributes.getNamedItem(o);
807
+ A && this.updateProperty(A);
808
808
  }), Array.from(this.attributes).forEach(this.updateProperty.bind(this));
809
809
  const s = this.instance;
810
- s.uuid && this.setAttribute(Ku, s.uuid), this.dispatchEvent(new CustomEvent("instancecreated", {
810
+ s.uuid && this.setAttribute(Xu, s.uuid), this.dispatchEvent(new CustomEvent("instancecreated", {
811
811
  detail: {
812
812
  instance: this.instance
813
813
  }
814
814
  }));
815
815
  const D = this.parentElement;
816
816
  if (D.instance) {
817
- const o = this.instance, h = this.instance, E = D.instance, F = this.instance, y = D.instance, g = this.tagName.toString().toLowerCase().endsWith("-loader");
817
+ const o = this.instance, A = this.instance, E = D.instance, F = this.instance, y = D.instance, g = this.tagName.toString().toLowerCase().endsWith("-loader");
818
818
  if ((i = o.type) != null && i.toLowerCase().includes("geometry") && E.geometry)
819
819
  E.geometry = o;
820
- else if ((a = h.type) != null && a.toLowerCase().includes("material") && E.material)
821
- E.material = h;
820
+ else if ((a = A.type) != null && a.toLowerCase().includes("material") && E.material)
821
+ E.material = A;
822
822
  else if (g) {
823
- const Q = this.getAttribute("src");
824
- if (!Q)
823
+ const eu = this.getAttribute("src");
824
+ if (!eu)
825
825
  throw new Error("Loader requires a source.");
826
- F.load(Q, (j) => {
827
- this.loaded = j;
828
- const _u = this.getAttribute("attach");
829
- _u && this.executeAttach(_u, j), this.dispatchEvent(new CustomEvent("loaded", {
826
+ F.load(eu, (z) => {
827
+ this.loaded = z;
828
+ const vu = this.getAttribute("attach");
829
+ vu && this.executeAttach(vu, z), this.dispatchEvent(new CustomEvent("loaded", {
830
830
  detail: {
831
- loaded: j
831
+ loaded: z
832
832
  }
833
833
  }));
834
- }, void 0, (j) => {
835
- throw new Error(`error loading: ${Q}` + j);
834
+ }, void 0, (z) => {
835
+ throw new Error(`error loading: ${eu}` + z);
836
836
  });
837
837
  } else if (y.add)
838
838
  try {
@@ -840,8 +840,8 @@ const Xu = "raycast", ku = [
840
840
  } catch {
841
841
  throw new Error(`Error adding ${this.tagName} to ${y}`);
842
842
  }
843
- const N = this.getAttribute("attach");
844
- !g && N && this.executeAttach(N, this.instance);
843
+ const T = this.getAttribute("attach");
844
+ !g && T && this.executeAttach(T, this.instance);
845
845
  }
846
846
  }
847
847
  /** Update an instance's property. When creating a `<mesh position-y="0.5">`, for example, this sets `mesh.position.y = 0.5`. */
@@ -854,52 +854,52 @@ const Xu = "raycast", ku = [
854
854
  const o = Hu(a);
855
855
  if (ku.includes(a) || ku.includes(o[0]))
856
856
  return;
857
- let h = lu(i, this);
857
+ let A = pu(i, this);
858
858
  try {
859
- h = JSON.parse(i === "" ? "true" : i);
859
+ A = JSON.parse(i === "" ? "true" : i);
860
860
  } catch {
861
861
  }
862
- this.instance && Fu(this.instance, o, h);
862
+ this.instance && du(this.instance, o, A);
863
863
  }
864
864
  executeAttach(s, D) {
865
865
  const i = this.parentElement;
866
- i.instance && Fu(i.instance, Hu(s), D);
866
+ i.instance && du(i.instance, Hu(s), D);
867
867
  }
868
868
  disconnectedCallback() {
869
869
  super.disconnectedCallback(), [this.instance, this.loaded].forEach((D) => {
870
- var o, h;
870
+ var o, A;
871
871
  if (!D)
872
872
  return;
873
873
  const i = D, a = D;
874
- (o = i.dispose) == null || o.call(i), (h = a.removeFromParent) == null || h.call(a);
874
+ (o = i.dispose) == null || o.call(i), (A = a.removeFromParent) == null || A.call(a);
875
875
  });
876
876
  }
877
877
  /** Render */
878
878
  render() {
879
- return Ju`<slot></slot>`;
879
+ return Zu`<slot></slot>`;
880
880
  }
881
881
  }
882
882
  return xe([
883
- gu({ type: Array })
883
+ G({ type: Array })
884
884
  ], e.prototype, "args"), e;
885
885
  };
886
886
  function Ne(t) {
887
887
  return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
888
888
  }
889
- var nu = {};
890
- nu.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
891
- nu.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
892
- nu.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
893
- const Cu = nu;
889
+ var au = {};
890
+ au.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
891
+ au.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
892
+ au.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
893
+ const Fu = au;
894
894
  var Te = {
895
895
  isSpaceSeparator(t) {
896
- return typeof t == "string" && Cu.Space_Separator.test(t);
896
+ return typeof t == "string" && Fu.Space_Separator.test(t);
897
897
  },
898
898
  isIdStartChar(t) {
899
- return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t === "$" || t === "_" || Cu.ID_Start.test(t));
899
+ return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t === "$" || t === "_" || Fu.ID_Start.test(t));
900
900
  },
901
901
  isIdContinueChar(t) {
902
- return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t >= "0" && t <= "9" || t === "$" || t === "_" || t === "‌" || t === "‍" || Cu.ID_Continue.test(t));
902
+ return typeof t == "string" && (t >= "a" && t <= "z" || t >= "A" && t <= "Z" || t >= "0" && t <= "9" || t === "$" || t === "_" || t === "‌" || t === "‍" || Fu.ID_Continue.test(t));
903
903
  },
904
904
  isDigit(t) {
905
905
  return typeof t == "string" && /[0-9]/.test(t);
@@ -909,20 +909,20 @@ var Te = {
909
909
  }
910
910
  };
911
911
  const p = Te;
912
- let du, m, v, su, x, $, f, $u, q;
912
+ let fu, m, v, iu, x, $, f, bu, Z;
913
913
  var Me = function(u, e) {
914
- du = String(u), m = "start", v = [], su = 0, x = 1, $ = 0, f = void 0, $u = void 0, q = void 0;
914
+ fu = String(u), m = "start", v = [], iu = 0, x = 1, $ = 0, f = void 0, bu = void 0, Z = void 0;
915
915
  do
916
- f = Oe(), He[m]();
916
+ f = Oe(), ke[m]();
917
917
  while (f.type !== "eof");
918
- return typeof e == "function" ? pu({ "": q }, "", e) : q;
918
+ return typeof e == "function" ? Bu({ "": Z }, "", e) : Z;
919
919
  };
920
- function pu(t, u, e) {
920
+ function Bu(t, u, e) {
921
921
  const r = t[u];
922
922
  if (r != null && typeof r == "object")
923
923
  if (Array.isArray(r))
924
924
  for (let s = 0; s < r.length; s++) {
925
- const D = String(s), i = pu(r, D, e);
925
+ const D = String(s), i = Bu(r, D, e);
926
926
  i === void 0 ? delete r[D] : Object.defineProperty(r, D, {
927
927
  value: i,
928
928
  writable: !0,
@@ -932,7 +932,7 @@ function pu(t, u, e) {
932
932
  }
933
933
  else
934
934
  for (const s in r) {
935
- const D = pu(r, s, e);
935
+ const D = Bu(r, s, e);
936
936
  D === void 0 ? delete r[s] : Object.defineProperty(r, s, {
937
937
  value: D,
938
938
  writable: !0,
@@ -942,25 +942,25 @@ function pu(t, u, e) {
942
942
  }
943
943
  return e.call(t, u, r);
944
944
  }
945
- let A, c, z, _, C;
945
+ let h, c, W, _, C;
946
946
  function Oe() {
947
- for (A = "default", c = "", z = !1, _ = 1; ; ) {
947
+ for (h = "default", c = "", W = !1, _ = 1; ; ) {
948
948
  C = w();
949
- const t = Qu[A]();
949
+ const t = ue[h]();
950
950
  if (t)
951
951
  return t;
952
952
  }
953
953
  }
954
954
  function w() {
955
- if (du[su])
956
- return String.fromCodePoint(du.codePointAt(su));
955
+ if (fu[iu])
956
+ return String.fromCodePoint(fu.codePointAt(iu));
957
957
  }
958
958
  function n() {
959
959
  const t = w();
960
960
  return t === `
961
- ` ? (x++, $ = 0) : t ? $ += t.length : $++, t && (su += t.length), t;
961
+ ` ? (x++, $ = 0) : t ? $ += t.length : $++, t && (iu += t.length), t;
962
962
  }
963
- const Qu = {
963
+ const ue = {
964
964
  default() {
965
965
  switch (C) {
966
966
  case " ":
@@ -977,7 +977,7 @@ const Qu = {
977
977
  n();
978
978
  return;
979
979
  case "/":
980
- n(), A = "comment";
980
+ n(), h = "comment";
981
981
  return;
982
982
  case void 0:
983
983
  return n(), l("eof");
@@ -986,15 +986,15 @@ const Qu = {
986
986
  n();
987
987
  return;
988
988
  }
989
- return Qu[m]();
989
+ return ue[m]();
990
990
  },
991
991
  comment() {
992
992
  switch (C) {
993
993
  case "*":
994
- n(), A = "multiLineComment";
994
+ n(), h = "multiLineComment";
995
995
  return;
996
996
  case "/":
997
- n(), A = "singleLineComment";
997
+ n(), h = "singleLineComment";
998
998
  return;
999
999
  }
1000
1000
  throw d(n());
@@ -1002,7 +1002,7 @@ const Qu = {
1002
1002
  multiLineComment() {
1003
1003
  switch (C) {
1004
1004
  case "*":
1005
- n(), A = "multiLineCommentAsterisk";
1005
+ n(), h = "multiLineCommentAsterisk";
1006
1006
  return;
1007
1007
  case void 0:
1008
1008
  throw d(n());
@@ -1015,12 +1015,12 @@ const Qu = {
1015
1015
  n();
1016
1016
  return;
1017
1017
  case "/":
1018
- n(), A = "default";
1018
+ n(), h = "default";
1019
1019
  return;
1020
1020
  case void 0:
1021
1021
  throw d(n());
1022
1022
  }
1023
- n(), A = "multiLineComment";
1023
+ n(), h = "multiLineComment";
1024
1024
  },
1025
1025
  singleLineComment() {
1026
1026
  switch (C) {
@@ -1029,7 +1029,7 @@ const Qu = {
1029
1029
  case "\r":
1030
1030
  case "\u2028":
1031
1031
  case "\u2029":
1032
- n(), A = "default";
1032
+ n(), h = "default";
1033
1033
  return;
1034
1034
  case void 0:
1035
1035
  return n(), l("eof");
@@ -1042,20 +1042,20 @@ const Qu = {
1042
1042
  case "[":
1043
1043
  return l("punctuator", n());
1044
1044
  case "n":
1045
- return n(), M("ull"), l("null", null);
1045
+ return n(), O("ull"), l("null", null);
1046
1046
  case "t":
1047
- return n(), M("rue"), l("boolean", !0);
1047
+ return n(), O("rue"), l("boolean", !0);
1048
1048
  case "f":
1049
- return n(), M("alse"), l("boolean", !1);
1049
+ return n(), O("alse"), l("boolean", !1);
1050
1050
  case "-":
1051
1051
  case "+":
1052
- n() === "-" && (_ = -1), A = "sign";
1052
+ n() === "-" && (_ = -1), h = "sign";
1053
1053
  return;
1054
1054
  case ".":
1055
- c = n(), A = "decimalPointLeading";
1055
+ c = n(), h = "decimalPointLeading";
1056
1056
  return;
1057
1057
  case "0":
1058
- c = n(), A = "zero";
1058
+ c = n(), h = "zero";
1059
1059
  return;
1060
1060
  case "1":
1061
1061
  case "2":
@@ -1066,15 +1066,15 @@ const Qu = {
1066
1066
  case "7":
1067
1067
  case "8":
1068
1068
  case "9":
1069
- c = n(), A = "decimalInteger";
1069
+ c = n(), h = "decimalInteger";
1070
1070
  return;
1071
1071
  case "I":
1072
- return n(), M("nfinity"), l("numeric", 1 / 0);
1072
+ return n(), O("nfinity"), l("numeric", 1 / 0);
1073
1073
  case "N":
1074
- return n(), M("aN"), l("numeric", NaN);
1074
+ return n(), O("aN"), l("numeric", NaN);
1075
1075
  case '"':
1076
1076
  case "'":
1077
- z = n() === '"', c = "", A = "string";
1077
+ W = n() === '"', c = "", h = "string";
1078
1078
  return;
1079
1079
  }
1080
1080
  throw d(n());
@@ -1083,7 +1083,7 @@ const Qu = {
1083
1083
  if (C !== "u")
1084
1084
  throw d(n());
1085
1085
  n();
1086
- const t = fu();
1086
+ const t = mu();
1087
1087
  switch (t) {
1088
1088
  case "$":
1089
1089
  case "_":
@@ -1093,7 +1093,7 @@ const Qu = {
1093
1093
  throw Iu();
1094
1094
  break;
1095
1095
  }
1096
- c += t, A = "identifierName";
1096
+ c += t, h = "identifierName";
1097
1097
  },
1098
1098
  identifierName() {
1099
1099
  switch (C) {
@@ -1104,7 +1104,7 @@ const Qu = {
1104
1104
  c += n();
1105
1105
  return;
1106
1106
  case "\\":
1107
- n(), A = "identifierNameEscape";
1107
+ n(), h = "identifierNameEscape";
1108
1108
  return;
1109
1109
  }
1110
1110
  if (p.isIdContinueChar(C)) {
@@ -1117,7 +1117,7 @@ const Qu = {
1117
1117
  if (C !== "u")
1118
1118
  throw d(n());
1119
1119
  n();
1120
- const t = fu();
1120
+ const t = mu();
1121
1121
  switch (t) {
1122
1122
  case "$":
1123
1123
  case "_":
@@ -1129,15 +1129,15 @@ const Qu = {
1129
1129
  throw Iu();
1130
1130
  break;
1131
1131
  }
1132
- c += t, A = "identifierName";
1132
+ c += t, h = "identifierName";
1133
1133
  },
1134
1134
  sign() {
1135
1135
  switch (C) {
1136
1136
  case ".":
1137
- c = n(), A = "decimalPointLeading";
1137
+ c = n(), h = "decimalPointLeading";
1138
1138
  return;
1139
1139
  case "0":
1140
- c = n(), A = "zero";
1140
+ c = n(), h = "zero";
1141
1141
  return;
1142
1142
  case "1":
1143
1143
  case "2":
@@ -1148,27 +1148,27 @@ const Qu = {
1148
1148
  case "7":
1149
1149
  case "8":
1150
1150
  case "9":
1151
- c = n(), A = "decimalInteger";
1151
+ c = n(), h = "decimalInteger";
1152
1152
  return;
1153
1153
  case "I":
1154
- return n(), M("nfinity"), l("numeric", _ * (1 / 0));
1154
+ return n(), O("nfinity"), l("numeric", _ * (1 / 0));
1155
1155
  case "N":
1156
- return n(), M("aN"), l("numeric", NaN);
1156
+ return n(), O("aN"), l("numeric", NaN);
1157
1157
  }
1158
1158
  throw d(n());
1159
1159
  },
1160
1160
  zero() {
1161
1161
  switch (C) {
1162
1162
  case ".":
1163
- c += n(), A = "decimalPoint";
1163
+ c += n(), h = "decimalPoint";
1164
1164
  return;
1165
1165
  case "e":
1166
1166
  case "E":
1167
- c += n(), A = "decimalExponent";
1167
+ c += n(), h = "decimalExponent";
1168
1168
  return;
1169
1169
  case "x":
1170
1170
  case "X":
1171
- c += n(), A = "hexadecimal";
1171
+ c += n(), h = "hexadecimal";
1172
1172
  return;
1173
1173
  }
1174
1174
  return l("numeric", _ * 0);
@@ -1176,11 +1176,11 @@ const Qu = {
1176
1176
  decimalInteger() {
1177
1177
  switch (C) {
1178
1178
  case ".":
1179
- c += n(), A = "decimalPoint";
1179
+ c += n(), h = "decimalPoint";
1180
1180
  return;
1181
1181
  case "e":
1182
1182
  case "E":
1183
- c += n(), A = "decimalExponent";
1183
+ c += n(), h = "decimalExponent";
1184
1184
  return;
1185
1185
  }
1186
1186
  if (p.isDigit(C)) {
@@ -1191,7 +1191,7 @@ const Qu = {
1191
1191
  },
1192
1192
  decimalPointLeading() {
1193
1193
  if (p.isDigit(C)) {
1194
- c += n(), A = "decimalFraction";
1194
+ c += n(), h = "decimalFraction";
1195
1195
  return;
1196
1196
  }
1197
1197
  throw d(n());
@@ -1200,11 +1200,11 @@ const Qu = {
1200
1200
  switch (C) {
1201
1201
  case "e":
1202
1202
  case "E":
1203
- c += n(), A = "decimalExponent";
1203
+ c += n(), h = "decimalExponent";
1204
1204
  return;
1205
1205
  }
1206
1206
  if (p.isDigit(C)) {
1207
- c += n(), A = "decimalFraction";
1207
+ c += n(), h = "decimalFraction";
1208
1208
  return;
1209
1209
  }
1210
1210
  return l("numeric", _ * Number(c));
@@ -1213,7 +1213,7 @@ const Qu = {
1213
1213
  switch (C) {
1214
1214
  case "e":
1215
1215
  case "E":
1216
- c += n(), A = "decimalExponent";
1216
+ c += n(), h = "decimalExponent";
1217
1217
  return;
1218
1218
  }
1219
1219
  if (p.isDigit(C)) {
@@ -1226,18 +1226,18 @@ const Qu = {
1226
1226
  switch (C) {
1227
1227
  case "+":
1228
1228
  case "-":
1229
- c += n(), A = "decimalExponentSign";
1229
+ c += n(), h = "decimalExponentSign";
1230
1230
  return;
1231
1231
  }
1232
1232
  if (p.isDigit(C)) {
1233
- c += n(), A = "decimalExponentInteger";
1233
+ c += n(), h = "decimalExponentInteger";
1234
1234
  return;
1235
1235
  }
1236
1236
  throw d(n());
1237
1237
  },
1238
1238
  decimalExponentSign() {
1239
1239
  if (p.isDigit(C)) {
1240
- c += n(), A = "decimalExponentInteger";
1240
+ c += n(), h = "decimalExponentInteger";
1241
1241
  return;
1242
1242
  }
1243
1243
  throw d(n());
@@ -1251,7 +1251,7 @@ const Qu = {
1251
1251
  },
1252
1252
  hexadecimal() {
1253
1253
  if (p.isHexDigit(C)) {
1254
- c += n(), A = "hexadecimalInteger";
1254
+ c += n(), h = "hexadecimalInteger";
1255
1255
  return;
1256
1256
  }
1257
1257
  throw d(n());
@@ -1266,15 +1266,15 @@ const Qu = {
1266
1266
  string() {
1267
1267
  switch (C) {
1268
1268
  case "\\":
1269
- n(), c += Le();
1269
+ n(), c += Re();
1270
1270
  return;
1271
1271
  case '"':
1272
- if (z)
1272
+ if (W)
1273
1273
  return n(), l("string", c);
1274
1274
  c += n();
1275
1275
  return;
1276
1276
  case "'":
1277
- if (!z)
1277
+ if (!W)
1278
1278
  return n(), l("string", c);
1279
1279
  c += n();
1280
1280
  return;
@@ -1284,7 +1284,7 @@ const Qu = {
1284
1284
  throw d(n());
1285
1285
  case "\u2028":
1286
1286
  case "\u2029":
1287
- Ie(C);
1287
+ He(C);
1288
1288
  break;
1289
1289
  case void 0:
1290
1290
  throw d(n());
@@ -1297,26 +1297,26 @@ const Qu = {
1297
1297
  case "[":
1298
1298
  return l("punctuator", n());
1299
1299
  }
1300
- A = "value";
1300
+ h = "value";
1301
1301
  },
1302
1302
  beforePropertyName() {
1303
1303
  switch (C) {
1304
1304
  case "$":
1305
1305
  case "_":
1306
- c = n(), A = "identifierName";
1306
+ c = n(), h = "identifierName";
1307
1307
  return;
1308
1308
  case "\\":
1309
- n(), A = "identifierNameStartEscape";
1309
+ n(), h = "identifierNameStartEscape";
1310
1310
  return;
1311
1311
  case "}":
1312
1312
  return l("punctuator", n());
1313
1313
  case '"':
1314
1314
  case "'":
1315
- z = n() === '"', A = "string";
1315
+ W = n() === '"', h = "string";
1316
1316
  return;
1317
1317
  }
1318
1318
  if (p.isIdStartChar(C)) {
1319
- c += n(), A = "identifierName";
1319
+ c += n(), h = "identifierName";
1320
1320
  return;
1321
1321
  }
1322
1322
  throw d(n());
@@ -1327,7 +1327,7 @@ const Qu = {
1327
1327
  throw d(n());
1328
1328
  },
1329
1329
  beforePropertyValue() {
1330
- A = "value";
1330
+ h = "value";
1331
1331
  },
1332
1332
  afterPropertyValue() {
1333
1333
  switch (C) {
@@ -1340,7 +1340,7 @@ const Qu = {
1340
1340
  beforeArrayValue() {
1341
1341
  if (C === "]")
1342
1342
  return l("punctuator", n());
1343
- A = "value";
1343
+ h = "value";
1344
1344
  },
1345
1345
  afterArrayValue() {
1346
1346
  switch (C) {
@@ -1362,14 +1362,14 @@ function l(t, u) {
1362
1362
  column: $
1363
1363
  };
1364
1364
  }
1365
- function M(t) {
1365
+ function O(t) {
1366
1366
  for (const u of t) {
1367
1367
  if (w() !== u)
1368
1368
  throw d(n());
1369
1369
  n();
1370
1370
  }
1371
1371
  }
1372
- function Le() {
1372
+ function Re() {
1373
1373
  switch (w()) {
1374
1374
  case "b":
1375
1375
  return n(), "\b";
@@ -1389,9 +1389,9 @@ function Le() {
1389
1389
  throw d(n());
1390
1390
  return "\0";
1391
1391
  case "x":
1392
- return n(), ke();
1392
+ return n(), Le();
1393
1393
  case "u":
1394
- return n(), fu();
1394
+ return n(), mu();
1395
1395
  case `
1396
1396
  `:
1397
1397
  case "\u2028":
@@ -1415,13 +1415,13 @@ function Le() {
1415
1415
  }
1416
1416
  return n();
1417
1417
  }
1418
- function ke() {
1418
+ function Le() {
1419
1419
  let t = "", u = w();
1420
1420
  if (!p.isHexDigit(u) || (t += n(), u = w(), !p.isHexDigit(u)))
1421
1421
  throw d(n());
1422
1422
  return t += n(), String.fromCodePoint(parseInt(t, 16));
1423
1423
  }
1424
- function fu() {
1424
+ function mu() {
1425
1425
  let t = "", u = 4;
1426
1426
  for (; u-- > 0; ) {
1427
1427
  const e = w();
@@ -1431,70 +1431,70 @@ function fu() {
1431
1431
  }
1432
1432
  return String.fromCodePoint(parseInt(t, 16));
1433
1433
  }
1434
- const He = {
1434
+ const ke = {
1435
1435
  start() {
1436
1436
  if (f.type === "eof")
1437
- throw O();
1438
- Eu();
1437
+ throw R();
1438
+ lu();
1439
1439
  },
1440
1440
  beforePropertyName() {
1441
1441
  switch (f.type) {
1442
1442
  case "identifier":
1443
1443
  case "string":
1444
- $u = f.value, m = "afterPropertyName";
1444
+ bu = f.value, m = "afterPropertyName";
1445
1445
  return;
1446
1446
  case "punctuator":
1447
- uu();
1447
+ tu();
1448
1448
  return;
1449
1449
  case "eof":
1450
- throw O();
1450
+ throw R();
1451
1451
  }
1452
1452
  },
1453
1453
  afterPropertyName() {
1454
1454
  if (f.type === "eof")
1455
- throw O();
1455
+ throw R();
1456
1456
  m = "beforePropertyValue";
1457
1457
  },
1458
1458
  beforePropertyValue() {
1459
1459
  if (f.type === "eof")
1460
- throw O();
1461
- Eu();
1460
+ throw R();
1461
+ lu();
1462
1462
  },
1463
1463
  beforeArrayValue() {
1464
1464
  if (f.type === "eof")
1465
- throw O();
1465
+ throw R();
1466
1466
  if (f.type === "punctuator" && f.value === "]") {
1467
- uu();
1467
+ tu();
1468
1468
  return;
1469
1469
  }
1470
- Eu();
1470
+ lu();
1471
1471
  },
1472
1472
  afterPropertyValue() {
1473
1473
  if (f.type === "eof")
1474
- throw O();
1474
+ throw R();
1475
1475
  switch (f.value) {
1476
1476
  case ",":
1477
1477
  m = "beforePropertyName";
1478
1478
  return;
1479
1479
  case "}":
1480
- uu();
1480
+ tu();
1481
1481
  }
1482
1482
  },
1483
1483
  afterArrayValue() {
1484
1484
  if (f.type === "eof")
1485
- throw O();
1485
+ throw R();
1486
1486
  switch (f.value) {
1487
1487
  case ",":
1488
1488
  m = "beforeArrayValue";
1489
1489
  return;
1490
1490
  case "]":
1491
- uu();
1491
+ tu();
1492
1492
  }
1493
1493
  },
1494
1494
  end() {
1495
1495
  }
1496
1496
  };
1497
- function Eu() {
1497
+ function lu() {
1498
1498
  let t;
1499
1499
  switch (f.type) {
1500
1500
  case "punctuator":
@@ -1514,11 +1514,11 @@ function Eu() {
1514
1514
  t = f.value;
1515
1515
  break;
1516
1516
  }
1517
- if (q === void 0)
1518
- q = t;
1517
+ if (Z === void 0)
1518
+ Z = t;
1519
1519
  else {
1520
1520
  const u = v[v.length - 1];
1521
- Array.isArray(u) ? u.push(t) : Object.defineProperty(u, $u, {
1521
+ Array.isArray(u) ? u.push(t) : Object.defineProperty(u, bu, {
1522
1522
  value: t,
1523
1523
  writable: !0,
1524
1524
  enumerable: !0,
@@ -1532,24 +1532,24 @@ function Eu() {
1532
1532
  u == null ? m = "end" : Array.isArray(u) ? m = "afterArrayValue" : m = "afterPropertyValue";
1533
1533
  }
1534
1534
  }
1535
- function uu() {
1535
+ function tu() {
1536
1536
  v.pop();
1537
1537
  const t = v[v.length - 1];
1538
1538
  t == null ? m = "end" : Array.isArray(t) ? m = "afterArrayValue" : m = "afterPropertyValue";
1539
1539
  }
1540
1540
  function d(t) {
1541
- return Du(t === void 0 ? `JSON5: invalid end of input at ${x}:${$}` : `JSON5: invalid character '${ue(t)}' at ${x}:${$}`);
1541
+ return nu(t === void 0 ? `JSON5: invalid end of input at ${x}:${$}` : `JSON5: invalid character '${ee(t)}' at ${x}:${$}`);
1542
1542
  }
1543
- function O() {
1544
- return Du(`JSON5: invalid end of input at ${x}:${$}`);
1543
+ function R() {
1544
+ return nu(`JSON5: invalid end of input at ${x}:${$}`);
1545
1545
  }
1546
1546
  function Iu() {
1547
- return $ -= 5, Du(`JSON5: invalid identifier character at ${x}:${$}`);
1547
+ return $ -= 5, nu(`JSON5: invalid identifier character at ${x}:${$}`);
1548
1548
  }
1549
- function Ie(t) {
1550
- console.warn(`JSON5: '${ue(t)}' in strings is not valid ECMAScript; consider escaping`);
1549
+ function He(t) {
1550
+ console.warn(`JSON5: '${ee(t)}' in strings is not valid ECMAScript; consider escaping`);
1551
1551
  }
1552
- function ue(t) {
1552
+ function ee(t) {
1553
1553
  const u = {
1554
1554
  "'": "\\'",
1555
1555
  '"': '\\"',
@@ -1572,17 +1572,17 @@ function ue(t) {
1572
1572
  }
1573
1573
  return t;
1574
1574
  }
1575
- function Du(t) {
1575
+ function nu(t) {
1576
1576
  const u = new SyntaxError(t);
1577
1577
  return u.lineNumber = x, u.columnNumber = $, u;
1578
1578
  }
1579
- const Ue = /* @__PURE__ */ Ne(Me);
1580
- var Re = Object.defineProperty, ee = (t, u, e, r) => {
1579
+ const Ie = /* @__PURE__ */ Ne(Me);
1580
+ var Ue = Object.defineProperty, uu = (t, u, e, r) => {
1581
1581
  for (var s = void 0, D = t.length - 1, i; D >= 0; D--)
1582
1582
  (i = t[D]) && (s = i(u, e, s) || s);
1583
- return s && Re(u, e, s), s;
1583
+ return s && Ue(u, e, s), s;
1584
1584
  };
1585
- const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1585
+ const je = "orthographic", Uu = 1 / 0, _u = class _u extends I {
1586
1586
  constructor() {
1587
1587
  super(), this.scratchV2 = new b.Vector2(), this.three = {
1588
1588
  scene: new b.Scene(),
@@ -1591,7 +1591,7 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1591
1591
  antialias: !0,
1592
1592
  alpha: !0
1593
1593
  })
1594
- }, this.background = null, this.dpr = Uu, this.raycaster = new b.Raycaster(), this.raycastPool = [], this.frame = 1 / 0, this.resizeObserver = new ResizeObserver((u) => {
1594
+ }, this.background = null, this.dpr = Uu, this.manualRender = !1, this.dispatchBeforeRender = !1, this.dispatchAfterRender = !1, this.raycaster = new b.Raycaster(), this.raycastPool = [], this.frame = 1 / 0, this.resizeObserver = new ResizeObserver((u) => {
1595
1595
  u.forEach(({ target: e, contentRect: r }) => {
1596
1596
  if (e === this && (this.three.renderer.setSize(r.width * this.dpr, r.height * this.dpr), this.three.camera)) {
1597
1597
  const s = r.width / r.height;
@@ -1601,7 +1601,7 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1601
1601
  const D = r.height / r.width, i = 10;
1602
1602
  this.three.camera.top = D * i, this.three.camera.bottom = -D * i, this.three.camera.right = i, this.three.camera.left = -i, this.three.camera.updateProjectionMatrix();
1603
1603
  }
1604
- this.renderThree();
1604
+ this.manualRender || this.renderThree();
1605
1605
  }
1606
1606
  });
1607
1607
  });
@@ -1609,11 +1609,11 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1609
1609
  /** To run on start. */
1610
1610
  connectedCallback() {
1611
1611
  super.connectedCallback(), this.dpr === Uu && (this.dpr = window.devicePixelRatio), this.getAttribute(je) !== null ? this.three.camera = new b.OrthographicCamera() : this.three.camera = new b.PerspectiveCamera(75), ["scene", "camera", "renderer"].forEach((u) => {
1612
- const e = Ue(this.getAttribute(u) ?? "{}");
1612
+ const e = Ie(this.getAttribute(u) ?? "{}");
1613
1613
  Object.entries(e).forEach(([r, s]) => {
1614
- this.three[u] && Fu(this.three[u], r.split("-"), lu(s, this));
1614
+ this.three[u] && du(this.three[u], r.split("-"), pu(s, this));
1615
1615
  });
1616
- }), this.resizeObserver.observe(this), this.background !== null && (this.three.scene.background = new b.Color(this.background)), this.three.renderer.domElement.addEventListener("pointermove", this.onPointerMove.bind(this)), this.three.renderer.domElement.addEventListener("mousemove", this.onPointerMove.bind(this)), this.three.renderer.domElement.addEventListener("click", this.onClick.bind(this)), this.updateLoop();
1616
+ }), this.resizeObserver.observe(this), this.background !== null && (this.three.scene.background = new b.Color(this.background)), this.three.renderer.domElement.addEventListener("pointermove", this.onPointerMove.bind(this)), this.three.renderer.domElement.addEventListener("mousemove", this.onPointerMove.bind(this)), this.three.renderer.domElement.addEventListener("click", this.onClick.bind(this)), this.manualRender || this.updateLoop();
1617
1617
  }
1618
1618
  disconnectedCallback() {
1619
1619
  this.three.renderer.domElement.removeEventListener("pointermove", this.onPointerMove.bind(this)), this.three.renderer.domElement.removeEventListener("mousemove", this.onPointerMove.bind(this)), this.three.renderer.domElement.removeEventListener("click", this.onClick.bind(this)), this.three.renderer.dispose(), this.resizeObserver.unobserve(this), cancelAnimationFrame(this.frame);
@@ -1627,7 +1627,7 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1627
1627
  s || D.uuid === r.instance.uuid && (s = !0);
1628
1628
  }), s)
1629
1629
  return;
1630
- this.three.scene.add(r.instance), e.getAttributeNames().includes(Xu) && this.raycastPool.push(r.instance);
1630
+ this.three.scene.add(r.instance), e.getAttributeNames().includes(Yu) && this.raycastPool.push(r.instance);
1631
1631
  }
1632
1632
  }), this.renderThree();
1633
1633
  }
@@ -1641,7 +1641,7 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1641
1641
  return this.raycaster.setFromCamera(e, this.three.camera), this.raycaster.intersectObjects(this.raycastPool).map((D) => ({
1642
1642
  intersect: D,
1643
1643
  // TODO: cache result of this query selector somewhere?
1644
- element: this.querySelector(`[${Ku}="${D.object.uuid}"]`)
1644
+ element: this.querySelector(`[${Xu}="${D.object.uuid}"]`)
1645
1645
  }));
1646
1646
  }
1647
1647
  // Pointer movement
@@ -1669,25 +1669,27 @@ const je = "orthographic", Uu = 1 / 0, bu = class bu extends I {
1669
1669
  });
1670
1670
  e.forEach((r) => {
1671
1671
  var s;
1672
- (s = r.element) == null || s.dispatchEvent(new CustomEvent(We, { detail: r }));
1672
+ (s = r.element) == null || s.dispatchEvent(new CustomEvent(Ve, { detail: r }));
1673
1673
  });
1674
1674
  }
1675
- // TODO: Only kick if required
1676
1675
  updateLoop() {
1677
- this.renderThree(), this.frame = requestAnimationFrame(this.updateLoop.bind(this));
1676
+ this.renderThree(), this.manualRender || (this.frame = requestAnimationFrame(this.updateLoop.bind(this)));
1678
1677
  }
1679
- /** Render the 3D scene */
1680
- renderThree() {
1681
- this.three.camera && this.three.renderer.render(this.three.scene, this.three.camera);
1678
+ /** Render the 3D scene. Optional scene/camera overrides; defaults to the internal scene and camera. */
1679
+ renderThree(u, e) {
1680
+ this.dispatchBeforeRender && this.dispatchEvent(new CustomEvent(We, {})), this.three.camera && (this.three.renderer.render(
1681
+ u ?? this.three.scene,
1682
+ e ?? this.three.camera
1683
+ ), this.dispatchAfterRender && this.dispatchEvent(new CustomEvent(qe, {})));
1682
1684
  }
1683
1685
  render() {
1684
- return Ju`
1686
+ return Zu`
1685
1687
  <slot @slotchange=${this.handleDefaultSlotChange}></slot>
1686
1688
  ${this.three.renderer.domElement}
1687
1689
  `;
1688
1690
  }
1689
1691
  };
1690
- bu.styles = se`
1692
+ _u.styles = se`
1691
1693
  :host {
1692
1694
  width: 100%;
1693
1695
  height: 100%;
@@ -1701,44 +1703,64 @@ bu.styles = se`
1701
1703
  max-height: 100%;
1702
1704
  }
1703
1705
  `;
1704
- let X = bu;
1705
- ee([
1706
- gu()
1707
- ], X.prototype, "background");
1708
- ee([
1709
- gu()
1710
- ], X.prototype, "dpr");
1711
- const qe = ({
1706
+ let N = _u;
1707
+ uu([
1708
+ G()
1709
+ ], N.prototype, "background");
1710
+ uu([
1711
+ G()
1712
+ ], N.prototype, "dpr");
1713
+ uu([
1714
+ G({
1715
+ attribute: "manual-render",
1716
+ type: Boolean
1717
+ })
1718
+ ], N.prototype, "manualRender");
1719
+ uu([
1720
+ G({
1721
+ attribute: "dispatch-before-render",
1722
+ type: Boolean
1723
+ })
1724
+ ], N.prototype, "dispatchBeforeRender");
1725
+ uu([
1726
+ G({
1727
+ attribute: "dispatch-after-render",
1728
+ type: Boolean
1729
+ })
1730
+ ], N.prototype, "dispatchAfterRender");
1731
+ const Ze = ({
1712
1732
  prependList: t = []
1713
1733
  } = {}) => {
1714
- customElements.get("three-lunchbox") || customElements.define("three-lunchbox", X), [...t, ...ju].forEach((u) => {
1734
+ customElements.get("three-lunchbox") || customElements.define("three-lunchbox", N), [...t, ...Gu].forEach((u) => {
1715
1735
  const e = te(u);
1716
1736
  if (customElements.get(e))
1717
1737
  return;
1718
- const r = Yu(u);
1738
+ const r = Qu(u);
1719
1739
  r && customElements.define(e, r);
1720
1740
  });
1721
- }, Je = (t, u, e = window) => {
1741
+ }, Ke = (t, u, e = window) => {
1722
1742
  if (e.customElements.get(t)) {
1723
1743
  console.log(`${t} already registered as a custom element. Try a different name if registering is still required.`);
1724
1744
  return;
1725
1745
  }
1726
- const r = Yu(u);
1746
+ const r = Qu(u);
1727
1747
  if (r)
1728
1748
  e.customElements.define(t, r);
1729
1749
  else
1730
1750
  throw new Error(`Could not extend ${t}. The second paramater must be a class.`);
1731
- }, Ge = "threepointermove", ze = "threemousemove", We = "threeclick", te = (t) => {
1751
+ }, Ge = "threepointermove", ze = "threemousemove", Ve = "threeclick", We = "beforerender", qe = "afterrender", te = (t) => {
1732
1752
  let u = t.split(/\.?(?=[A-Z])/).join("-").toLowerCase().replace(/-g-l-/, "-gl-");
1733
1753
  return u.includes("-") || (u = `three-${u}`), u;
1734
- }, Ze = ju.map(te);
1754
+ }, Xe = Gu.map(te);
1735
1755
  export {
1736
- We as THREE_CLICK_EVENT_NAME,
1756
+ qe as AFTER_RENDER_EVENT_NAME,
1757
+ We as BEFORE_RENDER_EVENT_NAME,
1758
+ Ve as THREE_CLICK_EVENT_NAME,
1737
1759
  ze as THREE_MOUSE_MOVE_EVENT_NAME,
1738
1760
  Ge as THREE_POINTER_MOVE_EVENT_NAME,
1739
- X as ThreeLunchbox,
1740
- ju as autoComponents,
1741
- Je as extend,
1742
- qe as initLunchbox,
1743
- Ze as webComponentNames
1761
+ N as ThreeLunchbox,
1762
+ Gu as autoComponents,
1763
+ Ke as extend,
1764
+ Ze as initLunchbox,
1765
+ Xe as webComponentNames
1744
1766
  };