lunchboxjs 2.1.3 → 2.1.5

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
- import * as _ from "three";
2
- const Gu = [
1
+ import * as b from "three";
2
+ const Vu = [
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,10 +91,10 @@ const Gu = [
91
91
  * Copyright 2019 Google LLC
92
92
  * SPDX-License-Identifier: BSD-3-Clause
93
93
  */
94
- const eu = globalThis, gu = eu.ShadowRoot && (eu.ShadyCSS === void 0 || eu.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, yu = Symbol(), wu = /* @__PURE__ */ new WeakMap();
95
- let zu = class {
94
+ const tu = globalThis, gu = tu.ShadowRoot && (tu.ShadyCSS === void 0 || tu.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, bu = Symbol(), xu = /* @__PURE__ */ new WeakMap();
95
+ let Wu = class {
96
96
  constructor(u, e, r) {
97
- if (this._$cssResult$ = !0, r !== yu)
97
+ if (this._$cssResult$ = !0, r !== bu)
98
98
  throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
99
99
  this.cssText = u, this.t = e;
100
100
  }
@@ -103,7 +103,7 @@ let zu = class {
103
103
  const e = this.t;
104
104
  if (gu && u === void 0) {
105
105
  const r = e !== void 0 && e.length === 1;
106
- r && (u = wu.get(e)), u === void 0 && ((this.o = u = new CSSStyleSheet()).replaceSync(this.cssText), r && wu.set(e, u));
106
+ r && (u = xu.get(e)), u === void 0 && ((this.o = u = new CSSStyleSheet()).replaceSync(this.cssText), r && xu.set(e, u));
107
107
  }
108
108
  return u;
109
109
  }
@@ -111,38 +111,38 @@ let zu = class {
111
111
  return this.cssText;
112
112
  }
113
113
  };
114
- const se = (t) => new zu(typeof t == "string" ? t : t + "", void 0, yu), ie = (t, ...u) => {
115
- const e = t.length === 1 ? t[0] : u.reduce((r, s, n) => r + ((i) => {
114
+ const ie = (t) => new Wu(typeof t == "string" ? t : t + "", void 0, bu), ne = (t, ...u) => {
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;
118
118
  if (typeof i == "number")
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
- })(s) + t[n + 1], t[0]);
122
- return new zu(e, t, yu);
121
+ })(s) + t[D + 1], t[0]);
122
+ return new Wu(e, t, bu);
123
123
  }, De = (t, u) => {
124
124
  if (gu)
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 = tu.litNonce;
129
129
  s !== void 0 && r.setAttribute("nonce", s), r.textContent = e.cssText, t.appendChild(r);
130
130
  }
131
- }, Su = gu ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((u) => {
131
+ }, Pu = gu ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((u) => {
132
132
  let e = "";
133
133
  for (const r of u.cssRules)
134
134
  e += r.cssText;
135
- return se(e);
135
+ return ie(e);
136
136
  })(t) : t;
137
137
  /**
138
138
  * @license
139
139
  * Copyright 2017 Google LLC
140
140
  * SPDX-License-Identifier: BSD-3-Clause
141
141
  */
142
- const { is: ne, defineProperty: oe, getOwnPropertyDescriptor: ae, getOwnPropertyNames: ce, getOwnPropertySymbols: he, getPrototypeOf: Ae } = Object, N = globalThis, Pu = N.trustedTypes, Ce = Pu ? Pu.emptyScript : "", cu = N.reactiveElementPolyfillSupport, q = (t, u) => t, ru = { toAttribute(t, u) {
142
+ const { is: oe, defineProperty: ae, getOwnPropertyDescriptor: ce, getOwnPropertyNames: he, getOwnPropertySymbols: Ae, getPrototypeOf: Ce } = Object, P = globalThis, Nu = P.trustedTypes, Ee = Nu ? Nu.emptyScript : "", hu = P.reactiveElementPolyfillSupport, q = (t, u) => t, su = { toAttribute(t, u) {
143
143
  switch (u) {
144
144
  case Boolean:
145
- t = t ? Ce : null;
145
+ t = t ? Ee : null;
146
146
  break;
147
147
  case Object:
148
148
  case Array:
@@ -167,23 +167,23 @@ const { is: ne, defineProperty: oe, getOwnPropertyDescriptor: ae, getOwnProperty
167
167
  }
168
168
  }
169
169
  return e;
170
- } }, $u = (t, u) => !ne(t, u), xu = { attribute: !0, type: String, converter: ru, reflect: !1, hasChanged: $u };
171
- Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), N.litPropertyMetadata ?? (N.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
172
- class I extends HTMLElement {
170
+ } }, $u = (t, u) => !oe(t, u), Tu = { attribute: !0, type: String, converter: su, reflect: !1, hasChanged: $u };
171
+ Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), P.litPropertyMetadata ?? (P.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
172
+ class j extends HTMLElement {
173
173
  static addInitializer(u) {
174
174
  this._$Ei(), (this.l ?? (this.l = [])).push(u);
175
175
  }
176
176
  static get observedAttributes() {
177
177
  return this.finalize(), this._$Eh && [...this._$Eh.keys()];
178
178
  }
179
- static createProperty(u, e = xu) {
179
+ static createProperty(u, e = Tu) {
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
- s !== void 0 && oe(this.prototype, u, s);
182
+ s !== void 0 && ae(this.prototype, u, s);
183
183
  }
184
184
  }
185
185
  static getPropertyDescriptor(u, e, r) {
186
- const { get: s, set: n } = ae(this.prototype, u) ?? { get() {
186
+ const { get: s, set: D } = ce(this.prototype, u) ?? { get() {
187
187
  return this[e];
188
188
  }, set(i) {
189
189
  this[e] = i;
@@ -192,23 +192,23 @@ class I extends HTMLElement {
192
192
  return s == null ? void 0 : s.call(this);
193
193
  }, set(i) {
194
194
  const o = s == null ? void 0 : s.call(this);
195
- n.call(this, i), this.requestUpdate(u, o, r);
195
+ D.call(this, i), this.requestUpdate(u, o, r);
196
196
  }, configurable: !0, enumerable: !0 };
197
197
  }
198
198
  static getPropertyOptions(u) {
199
- return this.elementProperties.get(u) ?? xu;
199
+ return this.elementProperties.get(u) ?? Tu;
200
200
  }
201
201
  static _$Ei() {
202
202
  if (this.hasOwnProperty(q("elementProperties")))
203
203
  return;
204
- const u = Ae(this);
204
+ const u = Ce(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
208
  if (this.hasOwnProperty(q("finalized")))
209
209
  return;
210
210
  if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(q("properties"))) {
211
- const e = this.properties, r = [...ce(e), ...he(e)];
211
+ const e = this.properties, r = [...he(e), ...Ae(e)];
212
212
  for (const s of r)
213
213
  this.createProperty(s, e[s]);
214
214
  }
@@ -231,9 +231,9 @@ class I 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(Su(s));
234
+ e.unshift(Pu(s));
235
235
  } else
236
- u !== void 0 && e.push(Su(u));
236
+ u !== void 0 && e.push(Pu(u));
237
237
  return e;
238
238
  }
239
239
  static _$Eu(u, e) {
@@ -285,18 +285,18 @@ class I extends HTMLElement {
285
285
  this._$AK(u, r);
286
286
  }
287
287
  _$EC(u, e) {
288
- var n;
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 = (((n = r.converter) == null ? void 0 : n.toAttribute) !== void 0 ? r.converter : ru).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
  }
295
295
  _$AK(u, e) {
296
- var n;
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), o = typeof i.converter == "function" ? { fromAttribute: i.converter } : ((n = i.converter) == null ? void 0 : n.fromAttribute) !== void 0 ? i.converter : ru;
299
+ const i = r.getPropertyOptions(s), o = 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] = o.fromAttribute(e, i.type), this._$Em = null;
301
301
  }
302
302
  }
@@ -330,21 +330,21 @@ class I extends HTMLElement {
330
330
  return;
331
331
  if (!this.hasUpdated) {
332
332
  if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
333
- for (const [n, i] of this._$Ep)
334
- this[n] = i;
333
+ for (const [D, i] of this._$Ep)
334
+ this[D] = i;
335
335
  this._$Ep = void 0;
336
336
  }
337
337
  const s = this.constructor.elementProperties;
338
338
  if (s.size > 0)
339
- for (const [n, i] of s)
340
- i.wrapped !== !0 || this._$AL.has(n) || this[n] === void 0 || this.P(n, this[n], i);
339
+ for (const [D, i] of s)
340
+ i.wrapped !== !0 || this._$AL.has(D) || this[D] === void 0 || this.P(D, this[D], i);
341
341
  }
342
342
  let u = !1;
343
343
  const e = this._$AL;
344
344
  try {
345
345
  u = this.shouldUpdate(e), u ? (this.willUpdate(e), (r = this._$EO) == null || r.forEach((s) => {
346
- var n;
347
- return (n = s.hostUpdate) == null ? void 0 : n.call(s);
346
+ var D;
347
+ return (D = s.hostUpdate) == null ? void 0 : D.call(s);
348
348
  }), this.update(e)) : this._$EU();
349
349
  } catch (s) {
350
350
  throw u = !1, this._$EU(), s;
@@ -380,39 +380,39 @@ class I extends HTMLElement {
380
380
  firstUpdated(u) {
381
381
  }
382
382
  }
383
- I.elementStyles = [], I.shadowRootOptions = { mode: "open" }, I[q("elementProperties")] = /* @__PURE__ */ new Map(), I[q("finalized")] = /* @__PURE__ */ new Map(), cu == null || cu({ ReactiveElement: I }), (N.reactiveElementVersions ?? (N.reactiveElementVersions = [])).push("2.0.4");
383
+ j.elementStyles = [], j.shadowRootOptions = { mode: "open" }, j[q("elementProperties")] = /* @__PURE__ */ new Map(), j[q("finalized")] = /* @__PURE__ */ new Map(), hu == null || hu({ ReactiveElement: j }), (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 J = globalThis, su = J.trustedTypes, Nu = su ? su.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, Wu = "$lit$", x = `lit$${Math.random().toFixed(9).slice(2)}$`, Vu = "?" + x, Ee = `<${Vu}>`, H = document, K = () => H.createComment(""), X = (t) => t === null || typeof t != "object" && typeof t != "function", qu = Array.isArray, Fe = (t) => qu(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", hu = `[
390
- \f\r]`, W = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Tu = /-->/g, Mu = />/g, R = RegExp(`>|${hu}(?:([^\\s"'>=/]+)(${hu}*=${hu}*(?:[^
391
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Ou = /'/g, Ru = /"/g, Ju = /^(?:script|style|textarea|title)$/i, le = (t) => (u, ...e) => ({ _$litType$: t, strings: u, values: e }), Zu = le(1), G = Symbol.for("lit-noChange"), B = Symbol.for("lit-nothing"), Lu = /* @__PURE__ */ new WeakMap(), k = H.createTreeWalker(H, 129);
392
- function Ku(t, u) {
389
+ const J = globalThis, iu = J.trustedTypes, Ou = iu ? iu.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, qu = "$lit$", x = `lit$${Math.random().toFixed(9).slice(2)}$`, Ju = "?" + x, le = `<${Ju}>`, I = document, K = () => I.createComment(""), X = (t) => t === null || typeof t != "object" && typeof t != "function", Zu = Array.isArray, Fe = (t) => Zu(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == "function", Au = `[
390
+ \f\r]`, V = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Mu = /-->/g, Ru = />/g, R = RegExp(`>|${Au}(?:([^\\s"'>=/]+)(${Au}*=${Au}*(?:[^
391
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), Lu = /'/g, Uu = /"/g, Ku = /^(?:script|style|textarea|title)$/i, de = (t) => (u, ...e) => ({ _$litType$: t, strings: u, values: e }), _u = de(1), G = Symbol.for("lit-noChange"), m = Symbol.for("lit-nothing"), ku = /* @__PURE__ */ new WeakMap(), k = I.createTreeWalker(I, 129);
392
+ function Xu(t, u) {
393
393
  if (!Array.isArray(t) || !t.hasOwnProperty("raw"))
394
394
  throw Error("invalid template strings array");
395
- return Nu !== void 0 ? Nu.createHTML(u) : u;
395
+ return Ou !== void 0 ? Ou.createHTML(u) : u;
396
396
  }
397
- const de = (t, u) => {
397
+ const pe = (t, u) => {
398
398
  const e = t.length - 1, r = [];
399
- let s, n = u === 2 ? "<svg>" : "", i = W;
399
+ let s, D = u === 2 ? "<svg>" : "", i = V;
400
400
  for (let o = 0; o < e; o++) {
401
401
  const a = t[o];
402
- let A, F, E = -1, m = 0;
403
- for (; m < a.length && (i.lastIndex = m, F = i.exec(a), F !== null); )
404
- m = i.lastIndex, i === W ? F[1] === "!--" ? i = Tu : F[1] !== void 0 ? i = Mu : F[2] !== void 0 ? (Ju.test(F[2]) && (s = RegExp("</" + F[2], "g")), i = R) : F[3] !== void 0 && (i = R) : i === R ? F[0] === ">" ? (i = s ?? W, E = -1) : F[1] === void 0 ? E = -2 : (E = i.lastIndex - F[2].length, A = F[1], i = F[3] === void 0 ? R : F[3] === '"' ? Ru : Ou) : i === Ru || i === Ou ? i = R : i === Tu || i === Mu ? i = W : (i = R, s = void 0);
405
- const y = i === R && t[o + 1].startsWith("/>") ? " " : "";
406
- n += i === W ? a + Ee : E >= 0 ? (r.push(A), a.slice(0, E) + Wu + a.slice(E) + x + y) : a + x + (E === -2 ? o : y);
402
+ let A, l, E = -1, B = 0;
403
+ for (; B < a.length && (i.lastIndex = B, l = i.exec(a), l !== null); )
404
+ B = i.lastIndex, i === V ? l[1] === "!--" ? i = Mu : l[1] !== void 0 ? i = Ru : l[2] !== void 0 ? (Ku.test(l[2]) && (s = RegExp("</" + l[2], "g")), i = R) : l[3] !== void 0 && (i = R) : i === R ? l[0] === ">" ? (i = s ?? V, E = -1) : l[1] === void 0 ? E = -2 : (E = i.lastIndex - l[2].length, A = l[1], i = l[3] === void 0 ? R : l[3] === '"' ? Uu : Lu) : i === Uu || i === Lu ? i = R : i === Mu || i === Ru ? i = V : (i = R, s = void 0);
405
+ const g = i === R && t[o + 1].startsWith("/>") ? " " : "";
406
+ D += i === V ? a + le : E >= 0 ? (r.push(A), a.slice(0, E) + qu + a.slice(E) + x + g) : a + x + (E === -2 ? o : g);
407
407
  }
408
- return [Ku(t, n + (t[e] || "<?>") + (u === 2 ? "</svg>" : "")), r];
408
+ return [Xu(t, D + (t[e] || "<?>") + (u === 2 ? "</svg>" : "")), r];
409
409
  };
410
410
  class Y {
411
411
  constructor({ strings: u, _$litType$: e }, r) {
412
412
  let s;
413
413
  this.parts = [];
414
- let n = 0, i = 0;
415
- const o = u.length - 1, a = this.parts, [A, F] = de(u, e);
414
+ let D = 0, i = 0;
415
+ const o = u.length - 1, a = this.parts, [A, l] = pe(u, e);
416
416
  if (this.el = Y.createElement(A, r), k.currentNode = this.el.content, e === 2) {
417
417
  const E = this.el.content.firstChild;
418
418
  E.replaceWith(...E.childNodes);
@@ -421,33 +421,33 @@ class Y {
421
421
  if (s.nodeType === 1) {
422
422
  if (s.hasAttributes())
423
423
  for (const E of s.getAttributeNames())
424
- if (E.endsWith(Wu)) {
425
- const m = F[i++], y = s.getAttribute(E).split(x), v = /([.?@])?(.*)/.exec(m);
426
- a.push({ type: 1, index: n, name: v[2], strings: y, ctor: v[1] === "." ? fe : v[1] === "?" ? Be : v[1] === "@" ? me : nu }), s.removeAttribute(E);
424
+ if (E.endsWith(qu)) {
425
+ const B = l[i++], g = s.getAttribute(E).split(x), M = /([.?@])?(.*)/.exec(B);
426
+ a.push({ type: 1, index: D, name: M[2], strings: g, ctor: M[1] === "." ? me : M[1] === "?" ? Be : M[1] === "@" ? ye : ou }), s.removeAttribute(E);
427
427
  } else
428
- E.startsWith(x) && (a.push({ type: 6, index: n }), s.removeAttribute(E));
429
- if (Ju.test(s.tagName)) {
430
- const E = s.textContent.split(x), m = E.length - 1;
431
- if (m > 0) {
432
- s.textContent = su ? su.emptyScript : "";
433
- for (let y = 0; y < m; y++)
434
- s.append(E[y], K()), k.nextNode(), a.push({ type: 2, index: ++n });
435
- s.append(E[m], K());
428
+ E.startsWith(x) && (a.push({ type: 6, index: D }), s.removeAttribute(E));
429
+ if (Ku.test(s.tagName)) {
430
+ const E = s.textContent.split(x), B = E.length - 1;
431
+ if (B > 0) {
432
+ s.textContent = iu ? iu.emptyScript : "";
433
+ for (let g = 0; g < B; g++)
434
+ s.append(E[g], K()), k.nextNode(), a.push({ type: 2, index: ++D });
435
+ s.append(E[B], K());
436
436
  }
437
437
  }
438
438
  } else if (s.nodeType === 8)
439
- if (s.data === Vu)
440
- a.push({ type: 2, index: n });
439
+ if (s.data === Ju)
440
+ a.push({ type: 2, index: D });
441
441
  else {
442
442
  let E = -1;
443
443
  for (; (E = s.data.indexOf(x, E + 1)) !== -1; )
444
- a.push({ type: 7, index: n }), E += x.length - 1;
444
+ a.push({ type: 7, index: D }), E += x.length - 1;
445
445
  }
446
- n++;
446
+ D++;
447
447
  }
448
448
  }
449
449
  static createElement(u, e) {
450
- const r = H.createElement("template");
450
+ const r = I.createElement("template");
451
451
  return r.innerHTML = u, r;
452
452
  }
453
453
  }
@@ -456,10 +456,10 @@ function z(t, u, e = t, r) {
456
456
  if (u === G)
457
457
  return u;
458
458
  let s = r !== void 0 ? (i = e._$Co) == null ? void 0 : i[r] : e._$Cl;
459
- const n = X(u) ? void 0 : u._$litDirective$;
460
- return (s == null ? void 0 : s.constructor) !== n && ((o = s == null ? void 0 : s._$AO) == null || o.call(s, !1), n === void 0 ? s = void 0 : (s = new n(t), s._$AT(t, e, r)), r !== void 0 ? (e._$Co ?? (e._$Co = []))[r] = s : e._$Cl = s), s !== void 0 && (u = z(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 && ((o = s == null ? void 0 : s._$AO) == null || o.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 = z(t, s._$AS(t, u.values), s, r)), u;
461
461
  }
462
- class pe {
462
+ class fe {
463
463
  constructor(u, e) {
464
464
  this._$AV = [], this._$AN = void 0, this._$AD = u, this._$AM = e;
465
465
  }
@@ -470,17 +470,17 @@ class pe {
470
470
  return this._$AM._$AU;
471
471
  }
472
472
  u(u) {
473
- const { el: { content: e }, parts: r } = this._$AD, s = ((u == null ? void 0 : u.creationScope) ?? H).importNode(e, !0);
473
+ const { el: { content: e }, parts: r } = this._$AD, s = ((u == null ? void 0 : u.creationScope) ?? I).importNode(e, !0);
474
474
  k.currentNode = s;
475
- let n = k.nextNode(), i = 0, o = 0, a = r[0];
475
+ let D = k.nextNode(), i = 0, o = 0, a = r[0];
476
476
  for (; a !== void 0; ) {
477
477
  if (i === a.index) {
478
478
  let A;
479
- a.type === 2 ? A = new Q(n, n.nextSibling, this, u) : a.type === 1 ? A = new a.ctor(n, a.name, a.strings, this, u) : a.type === 6 && (A = new ge(n, this, u)), this._$AV.push(A), a = r[++o];
479
+ a.type === 2 ? A = new Q(D, D.nextSibling, this, u) : a.type === 1 ? A = new a.ctor(D, a.name, a.strings, this, u) : a.type === 6 && (A = new ge(D, this, u)), this._$AV.push(A), a = r[++o];
480
480
  }
481
- i !== (a == null ? void 0 : a.index) && (n = k.nextNode(), i++);
481
+ i !== (a == null ? void 0 : a.index) && (D = k.nextNode(), i++);
482
482
  }
483
- return k.currentNode = H, s;
483
+ return k.currentNode = I, s;
484
484
  }
485
485
  p(u) {
486
486
  let e = 0;
@@ -494,7 +494,7 @@ class Q {
494
494
  return ((u = this._$AM) == null ? void 0 : u._$AU) ?? this._$Cv;
495
495
  }
496
496
  constructor(u, e, r, s) {
497
- this.type = 2, this._$AH = B, this._$AN = void 0, this._$AA = u, this._$AB = e, this._$AM = r, this.options = s, this._$Cv = (s == null ? void 0 : s.isConnected) ?? !0;
497
+ this.type = 2, this._$AH = m, this._$AN = void 0, this._$AA = u, this._$AB = e, this._$AM = r, this.options = s, this._$Cv = (s == null ? void 0 : s.isConnected) ?? !0;
498
498
  }
499
499
  get parentNode() {
500
500
  let u = this._$AA.parentNode;
@@ -508,7 +508,7 @@ class Q {
508
508
  return this._$AB;
509
509
  }
510
510
  _$AI(u, e = this) {
511
- u = z(this, u, e), X(u) ? u === B || u == null || u === "" ? (this._$AH !== B && this._$AR(), this._$AH = B) : u !== this._$AH && u !== G && this._(u) : u._$litType$ !== void 0 ? this.$(u) : u.nodeType !== void 0 ? this.T(u) : Fe(u) ? this.k(u) : this._(u);
511
+ u = z(this, u, e), X(u) ? u === m || u == null || u === "" ? (this._$AH !== m && this._$AR(), this._$AH = m) : u !== this._$AH && u !== G && this._(u) : u._$litType$ !== void 0 ? this.$(u) : u.nodeType !== void 0 ? this.T(u) : Fe(u) ? this.k(u) : this._(u);
512
512
  }
513
513
  S(u) {
514
514
  return this._$AA.parentNode.insertBefore(u, this._$AB);
@@ -517,28 +517,28 @@ class Q {
517
517
  this._$AH !== u && (this._$AR(), this._$AH = this.S(u));
518
518
  }
519
519
  _(u) {
520
- this._$AH !== B && X(this._$AH) ? this._$AA.nextSibling.data = u : this.T(H.createTextNode(u)), this._$AH = u;
520
+ this._$AH !== m && X(this._$AH) ? this._$AA.nextSibling.data = u : this.T(I.createTextNode(u)), this._$AH = u;
521
521
  }
522
522
  $(u) {
523
- var n;
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
- if (((n = this._$AH) == null ? void 0 : n._$AD) === s)
523
+ var D;
524
+ const { values: e, _$litType$: r } = u, s = typeof r == "number" ? this._$AC(u) : (r.el === void 0 && (r.el = Y.createElement(Xu(r.h, r.h[0]), this.options)), r);
525
+ if (((D = this._$AH) == null ? void 0 : D._$AD) === s)
526
526
  this._$AH.p(e);
527
527
  else {
528
- const i = new pe(s, this), o = i.u(this.options);
528
+ const i = new fe(s, this), o = i.u(this.options);
529
529
  i.p(e), this.T(o), this._$AH = i;
530
530
  }
531
531
  }
532
532
  _$AC(u) {
533
- let e = Lu.get(u.strings);
534
- return e === void 0 && Lu.set(u.strings, e = new Y(u)), e;
533
+ let e = ku.get(u.strings);
534
+ return e === void 0 && ku.set(u.strings, e = new Y(u)), e;
535
535
  }
536
536
  k(u) {
537
- qu(this._$AH) || (this._$AH = [], this._$AR());
537
+ Zu(this._$AH) || (this._$AH = [], this._$AR());
538
538
  const e = this._$AH;
539
539
  let r, s = 0;
540
- for (const n of u)
541
- s === e.length ? e.push(r = new Q(this.S(K()), this.S(K()), this, this.options)) : r = e[s], r._$AI(n), s++;
540
+ for (const D of u)
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,58 +553,58 @@ class Q {
553
553
  this._$AM === void 0 && (this._$Cv = u, (e = this._$AP) == null || e.call(this, u));
554
554
  }
555
555
  }
556
- class nu {
556
+ class ou {
557
557
  get tagName() {
558
558
  return this.element.tagName;
559
559
  }
560
560
  get _$AU() {
561
561
  return this._$AM._$AU;
562
562
  }
563
- constructor(u, e, r, s, n) {
564
- this.type = 1, this._$AH = B, this._$AN = void 0, this.element = u, this.name = e, this._$AM = s, this.options = n, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = B;
563
+ constructor(u, e, r, s, D) {
564
+ this.type = 1, this._$AH = m, this._$AN = void 0, this.element = u, this.name = e, this._$AM = s, this.options = D, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = m;
565
565
  }
566
566
  _$AI(u, e = this, r, s) {
567
- const n = this.strings;
567
+ const D = this.strings;
568
568
  let i = !1;
569
- if (n === void 0)
569
+ if (D === void 0)
570
570
  u = z(this, u, e, 0), i = !X(u) || u !== this._$AH && u !== G, i && (this._$AH = u);
571
571
  else {
572
572
  const o = u;
573
573
  let a, A;
574
- for (u = n[0], a = 0; a < n.length - 1; a++)
575
- A = z(this, o[r + a], e, a), A === G && (A = this._$AH[a]), i || (i = !X(A) || A !== this._$AH[a]), A === B ? u = B : u !== B && (u += (A ?? "") + n[a + 1]), this._$AH[a] = A;
574
+ for (u = D[0], a = 0; a < D.length - 1; a++)
575
+ A = z(this, o[r + a], e, a), A === G && (A = this._$AH[a]), i || (i = !X(A) || A !== this._$AH[a]), A === m ? u = m : u !== m && (u += (A ?? "") + D[a + 1]), this._$AH[a] = A;
576
576
  }
577
577
  i && !s && this.j(u);
578
578
  }
579
579
  j(u) {
580
- u === B ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, u ?? "");
580
+ u === m ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, u ?? "");
581
581
  }
582
582
  }
583
- class fe extends nu {
583
+ class me extends ou {
584
584
  constructor() {
585
585
  super(...arguments), this.type = 3;
586
586
  }
587
587
  j(u) {
588
- this.element[this.name] = u === B ? void 0 : u;
588
+ this.element[this.name] = u === m ? void 0 : u;
589
589
  }
590
590
  }
591
- class Be extends nu {
591
+ class Be extends ou {
592
592
  constructor() {
593
593
  super(...arguments), this.type = 4;
594
594
  }
595
595
  j(u) {
596
- this.element.toggleAttribute(this.name, !!u && u !== B);
596
+ this.element.toggleAttribute(this.name, !!u && u !== m);
597
597
  }
598
598
  }
599
- class me extends nu {
600
- constructor(u, e, r, s, n) {
601
- super(u, e, r, s, n), this.type = 5;
599
+ class ye extends ou {
600
+ constructor(u, e, r, s, D) {
601
+ super(u, e, r, s, D), this.type = 5;
602
602
  }
603
603
  _$AI(u, e = this) {
604
- if ((u = z(this, u, e, 0) ?? B) === G)
604
+ if ((u = z(this, u, e, 0) ?? m) === G)
605
605
  return;
606
- const r = this._$AH, s = u === B && r !== B || u.capture !== r.capture || u.once !== r.once || u.passive !== r.passive, n = u !== B && (r === B || s);
607
- s && this.element.removeEventListener(this.name, this, r), n && this.element.addEventListener(this.name, this, u), this._$AH = u;
606
+ const r = this._$AH, s = u === m && r !== m || u.capture !== r.capture || u.once !== r.once || u.passive !== r.passive, D = u !== m && (r === m || s);
607
+ s && this.element.removeEventListener(this.name, this, r), D && this.element.addEventListener(this.name, this, u), this._$AH = u;
608
608
  }
609
609
  handleEvent(u) {
610
610
  var e;
@@ -622,14 +622,14 @@ class ge {
622
622
  z(this, u);
623
623
  }
624
624
  }
625
- const Au = J.litHtmlPolyfillSupport;
626
- Au == null || Au(Y, Q), (J.litHtmlVersions ?? (J.litHtmlVersions = [])).push("3.1.3");
627
- const ye = (t, u, e) => {
625
+ const Cu = J.litHtmlPolyfillSupport;
626
+ Cu == null || Cu(Y, Q), (J.litHtmlVersions ?? (J.litHtmlVersions = [])).push("3.1.3");
627
+ const be = (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
- const n = (e == null ? void 0 : e.renderBefore) ?? null;
632
- r._$litPart$ = s = new Q(u.insertBefore(K(), n), n, void 0, e ?? {});
631
+ const D = (e == null ? void 0 : e.renderBefore) ?? null;
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
  };
@@ -638,7 +638,7 @@ const ye = (t, u, e) => {
638
638
  * Copyright 2017 Google LLC
639
639
  * SPDX-License-Identifier: BSD-3-Clause
640
640
  */
641
- class j extends I {
641
+ class H extends j {
642
642
  constructor() {
643
643
  super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
644
644
  }
@@ -649,7 +649,7 @@ class j extends I {
649
649
  }
650
650
  update(u) {
651
651
  const e = this.render();
652
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(u), this._$Do = ye(e, this.renderRoot, this.renderOptions);
652
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(u), this._$Do = be(e, this.renderRoot, this.renderOptions);
653
653
  }
654
654
  connectedCallback() {
655
655
  var u;
@@ -663,21 +663,21 @@ class j extends I {
663
663
  return G;
664
664
  }
665
665
  }
666
- var ju;
667
- j._$litElement$ = !0, j.finalized = !0, (ju = globalThis.litElementHydrateSupport) == null || ju.call(globalThis, { LitElement: j });
668
- const Cu = globalThis.litElementPolyfillSupport;
669
- Cu == null || Cu({ LitElement: j });
666
+ var zu;
667
+ H._$litElement$ = !0, H.finalized = !0, (zu = globalThis.litElementHydrateSupport) == null || zu.call(globalThis, { LitElement: H });
668
+ const Eu = globalThis.litElementPolyfillSupport;
669
+ Eu == null || Eu({ LitElement: H });
670
670
  (globalThis.litElementVersions ?? (globalThis.litElementVersions = [])).push("4.0.5");
671
671
  const $e = (t, u, e) => {
672
672
  if (!u)
673
673
  return;
674
674
  const r = Array.isArray(u) ? u : u.match(/([^[.\]])+/g), s = r == null ? void 0 : r.reduce(
675
- (n, i) => n && n[i],
675
+ (D, i) => D && D[i],
676
676
  t
677
677
  );
678
678
  return s === void 0 ? e : s;
679
679
  };
680
- function be(t) {
680
+ function _e(t) {
681
681
  if (!t)
682
682
  return !1;
683
683
  const u = t.constructor && t.constructor.toString().substring(0, 5) === "class";
@@ -686,26 +686,26 @@ function be(t) {
686
686
  const e = t.prototype.constructor && t.prototype.constructor.toString && t.prototype.constructor.toString().substring(0, 5) === "class";
687
687
  return u || e;
688
688
  }
689
- const _e = () => {
689
+ const we = () => {
690
690
  const t = "[object Number]", e = Object.prototype.toString;
691
- function r(n) {
692
- return !!n && typeof n == "object";
691
+ function r(D) {
692
+ return !!D && typeof D == "object";
693
693
  }
694
694
  return function(i) {
695
695
  return typeof i == "number" || r(i) && e.call(i) == t;
696
696
  };
697
- }, ve = _e(), we = (t, u, e) => {
697
+ }, ve = we(), Se = (t, u, e) => {
698
698
  const r = Array.isArray(u) ? u : u.match(/([^[.\]])+/g);
699
- r == null || r.reduce((s, n, i) => (s[n] === void 0 && (s[n] = {}), i === r.length - 1 && (s[n] = e), s[n]), t);
700
- }, Xu = "data-three-uuid", du = (t, u, e) => {
701
- var n, i;
699
+ r == null || r.reduce((s, D, i) => (s[D] === void 0 && (s[D] = {}), i === r.length - 1 && (s[D] = e), s[D]), t);
700
+ }, Yu = "data-three-uuid", pu = (t, u, e) => {
701
+ var D, i;
702
702
  const r = $e(t, u);
703
703
  if (ve(e) && (r != null && r.setScalar))
704
704
  r.setScalar(+e);
705
705
  else if (r != null && r.set)
706
706
  if (typeof e == "string") {
707
707
  const o = e.split(","), a = o.every((A) => !A.match(/^[^\d,]+$/));
708
- if ((n = e.toLowerCase().trim().match(/^#[\dabcdef]{3,6}$/)) != null && n.length)
708
+ if ((D = e.toLowerCase().trim().match(/^#[\dabcdef]{3,6}$/)) != null && D.length)
709
709
  if (e.length === 4) {
710
710
  const A = [e[1], e[1], e[2], e[2], e[3], e[3]].join("");
711
711
  r.set(+`0x${A}`);
@@ -718,10 +718,10 @@ const _e = () => {
718
718
  r.set(...o);
719
719
  }
720
720
  else
721
- we(t, u, e);
721
+ Se(t, u, e);
722
722
  const s = t;
723
723
  typeof s.type == "string" && ((i = s.type) != null && i.toLowerCase().endsWith("material")) && (s.needsUpdate = !0);
724
- }, Eu = {
724
+ }, lu = {
725
725
  $scene: (t) => {
726
726
  const u = t.closest("three-lunchbox");
727
727
  return u == null ? void 0 : u.three.scene;
@@ -739,23 +739,23 @@ const _e = () => {
739
739
  const u = t.closest("three-lunchbox");
740
740
  return (e = u == null ? void 0 : u.three.renderer) == null ? void 0 : e.domElement;
741
741
  }
742
- }, tu = (t, u) => {
742
+ }, ru = (t, u) => {
743
743
  var r;
744
744
  if (typeof t != "string")
745
745
  return t;
746
746
  if (t === "")
747
747
  return !0;
748
- const e = (r = Eu[t]) == null ? void 0 : r.call(Eu, u);
749
- return CSS.supports("color", t) ? new _.Color(t) : e ?? t;
748
+ const e = (r = lu[t]) == null ? void 0 : r.call(lu, u);
749
+ return CSS.supports("color", t) ? new b.Color(t) : e ?? t;
750
750
  };
751
- function Se(t) {
751
+ function xe(t) {
752
752
  return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
753
753
  }
754
- var ou = {};
755
- ou.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
756
- ou.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]/;
757
- ou.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]/;
758
- const Fu = ou;
754
+ var au = {};
755
+ au.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
756
+ 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]/;
757
+ 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]/;
758
+ const Fu = au;
759
759
  var Pe = {
760
760
  isSpaceSeparator(t) {
761
761
  return typeof t == "string" && Fu.Space_Separator.test(t);
@@ -774,21 +774,21 @@ var Pe = {
774
774
  }
775
775
  };
776
776
  const p = Pe;
777
- let pu, g, S, iu, T, $, f, bu, Z;
778
- var xe = function(u, e) {
779
- pu = String(u), g = "start", S = [], iu = 0, T = 1, $ = 0, f = void 0, bu = void 0, Z = void 0;
777
+ let fu, y, v, nu, N, $, f, wu, Z;
778
+ var Ne = function(u, e) {
779
+ fu = String(u), y = "start", v = [], nu = 0, N = 1, $ = 0, f = void 0, wu = void 0, Z = void 0;
780
780
  do
781
- f = Ne(), Oe[g]();
781
+ f = Te(), Re[y]();
782
782
  while (f.type !== "eof");
783
- return typeof e == "function" ? fu({ "": Z }, "", e) : Z;
783
+ return typeof e == "function" ? mu({ "": Z }, "", e) : Z;
784
784
  };
785
- function fu(t, u, e) {
785
+ function mu(t, u, e) {
786
786
  const r = t[u];
787
787
  if (r != null && typeof r == "object")
788
788
  if (Array.isArray(r))
789
789
  for (let s = 0; s < r.length; s++) {
790
- const n = String(s), i = fu(r, n, e);
791
- i === void 0 ? delete r[n] : Object.defineProperty(r, n, {
790
+ const D = String(s), i = mu(r, D, e);
791
+ i === void 0 ? delete r[D] : Object.defineProperty(r, D, {
792
792
  value: i,
793
793
  writable: !0,
794
794
  enumerable: !0,
@@ -797,9 +797,9 @@ function fu(t, u, e) {
797
797
  }
798
798
  else
799
799
  for (const s in r) {
800
- const n = fu(r, s, e);
801
- n === void 0 ? delete r[s] : Object.defineProperty(r, s, {
802
- value: n,
800
+ const D = mu(r, s, e);
801
+ D === void 0 ? delete r[s] : Object.defineProperty(r, s, {
802
+ value: D,
803
803
  writable: !0,
804
804
  enumerable: !0,
805
805
  configurable: !0
@@ -807,25 +807,25 @@ function fu(t, u, e) {
807
807
  }
808
808
  return e.call(t, u, r);
809
809
  }
810
- let h, c, V, w, C;
811
- function Ne() {
812
- for (h = "default", c = "", V = !1, w = 1; ; ) {
813
- C = P();
814
- const t = Yu[h]();
810
+ let h, c, W, w, C;
811
+ function Te() {
812
+ for (h = "default", c = "", W = !1, w = 1; ; ) {
813
+ C = S();
814
+ const t = Qu[h]();
815
815
  if (t)
816
816
  return t;
817
817
  }
818
818
  }
819
- function P() {
820
- if (pu[iu])
821
- return String.fromCodePoint(pu.codePointAt(iu));
819
+ function S() {
820
+ if (fu[nu])
821
+ return String.fromCodePoint(fu.codePointAt(nu));
822
822
  }
823
- function D() {
824
- const t = P();
823
+ function n() {
824
+ const t = S();
825
825
  return t === `
826
- ` ? (T++, $ = 0) : t ? $ += t.length : $++, t && (iu += t.length), t;
826
+ ` ? (N++, $ = 0) : t ? $ += t.length : $++, t && (nu += t.length), t;
827
827
  }
828
- const Yu = {
828
+ const Qu = {
829
829
  default() {
830
830
  switch (C) {
831
831
  case " ":
@@ -839,53 +839,53 @@ const Yu = {
839
839
  case "\r":
840
840
  case "\u2028":
841
841
  case "\u2029":
842
- D();
842
+ n();
843
843
  return;
844
844
  case "/":
845
- D(), h = "comment";
845
+ n(), h = "comment";
846
846
  return;
847
847
  case void 0:
848
- return D(), l("eof");
848
+ return n(), F("eof");
849
849
  }
850
850
  if (p.isSpaceSeparator(C)) {
851
- D();
851
+ n();
852
852
  return;
853
853
  }
854
- return Yu[g]();
854
+ return Qu[y]();
855
855
  },
856
856
  comment() {
857
857
  switch (C) {
858
858
  case "*":
859
- D(), h = "multiLineComment";
859
+ n(), h = "multiLineComment";
860
860
  return;
861
861
  case "/":
862
- D(), h = "singleLineComment";
862
+ n(), h = "singleLineComment";
863
863
  return;
864
864
  }
865
- throw d(D());
865
+ throw d(n());
866
866
  },
867
867
  multiLineComment() {
868
868
  switch (C) {
869
869
  case "*":
870
- D(), h = "multiLineCommentAsterisk";
870
+ n(), h = "multiLineCommentAsterisk";
871
871
  return;
872
872
  case void 0:
873
- throw d(D());
873
+ throw d(n());
874
874
  }
875
- D();
875
+ n();
876
876
  },
877
877
  multiLineCommentAsterisk() {
878
878
  switch (C) {
879
879
  case "*":
880
- D();
880
+ n();
881
881
  return;
882
882
  case "/":
883
- D(), h = "default";
883
+ n(), h = "default";
884
884
  return;
885
885
  case void 0:
886
- throw d(D());
886
+ throw d(n());
887
887
  }
888
- D(), h = "multiLineComment";
888
+ n(), h = "multiLineComment";
889
889
  },
890
890
  singleLineComment() {
891
891
  switch (C) {
@@ -894,33 +894,33 @@ const Yu = {
894
894
  case "\r":
895
895
  case "\u2028":
896
896
  case "\u2029":
897
- D(), h = "default";
897
+ n(), h = "default";
898
898
  return;
899
899
  case void 0:
900
- return D(), l("eof");
900
+ return n(), F("eof");
901
901
  }
902
- D();
902
+ n();
903
903
  },
904
904
  value() {
905
905
  switch (C) {
906
906
  case "{":
907
907
  case "[":
908
- return l("punctuator", D());
908
+ return F("punctuator", n());
909
909
  case "n":
910
- return D(), L("ull"), l("null", null);
910
+ return n(), L("ull"), F("null", null);
911
911
  case "t":
912
- return D(), L("rue"), l("boolean", !0);
912
+ return n(), L("rue"), F("boolean", !0);
913
913
  case "f":
914
- return D(), L("alse"), l("boolean", !1);
914
+ return n(), L("alse"), F("boolean", !1);
915
915
  case "-":
916
916
  case "+":
917
- D() === "-" && (w = -1), h = "sign";
917
+ n() === "-" && (w = -1), h = "sign";
918
918
  return;
919
919
  case ".":
920
- c = D(), h = "decimalPointLeading";
920
+ c = n(), h = "decimalPointLeading";
921
921
  return;
922
922
  case "0":
923
- c = D(), h = "zero";
923
+ c = n(), h = "zero";
924
924
  return;
925
925
  case "1":
926
926
  case "2":
@@ -931,23 +931,23 @@ const Yu = {
931
931
  case "7":
932
932
  case "8":
933
933
  case "9":
934
- c = D(), h = "decimalInteger";
934
+ c = n(), h = "decimalInteger";
935
935
  return;
936
936
  case "I":
937
- return D(), L("nfinity"), l("numeric", 1 / 0);
937
+ return n(), L("nfinity"), F("numeric", 1 / 0);
938
938
  case "N":
939
- return D(), L("aN"), l("numeric", NaN);
939
+ return n(), L("aN"), F("numeric", NaN);
940
940
  case '"':
941
941
  case "'":
942
- V = D() === '"', c = "", h = "string";
942
+ W = n() === '"', c = "", h = "string";
943
943
  return;
944
944
  }
945
- throw d(D());
945
+ throw d(n());
946
946
  },
947
947
  identifierNameStartEscape() {
948
948
  if (C !== "u")
949
- throw d(D());
950
- D();
949
+ throw d(n());
950
+ n();
951
951
  const t = Bu();
952
952
  switch (t) {
953
953
  case "$":
@@ -955,7 +955,7 @@ const Yu = {
955
955
  break;
956
956
  default:
957
957
  if (!p.isIdStartChar(t))
958
- throw Uu();
958
+ throw Hu();
959
959
  break;
960
960
  }
961
961
  c += t, h = "identifierName";
@@ -966,22 +966,22 @@ const Yu = {
966
966
  case "_":
967
967
  case "‌":
968
968
  case "‍":
969
- c += D();
969
+ c += n();
970
970
  return;
971
971
  case "\\":
972
- D(), h = "identifierNameEscape";
972
+ n(), h = "identifierNameEscape";
973
973
  return;
974
974
  }
975
975
  if (p.isIdContinueChar(C)) {
976
- c += D();
976
+ c += n();
977
977
  return;
978
978
  }
979
- return l("identifier", c);
979
+ return F("identifier", c);
980
980
  },
981
981
  identifierNameEscape() {
982
982
  if (C !== "u")
983
- throw d(D());
984
- D();
983
+ throw d(n());
984
+ n();
985
985
  const t = Bu();
986
986
  switch (t) {
987
987
  case "$":
@@ -991,7 +991,7 @@ const Yu = {
991
991
  break;
992
992
  default:
993
993
  if (!p.isIdContinueChar(t))
994
- throw Uu();
994
+ throw Hu();
995
995
  break;
996
996
  }
997
997
  c += t, h = "identifierName";
@@ -999,10 +999,10 @@ const Yu = {
999
999
  sign() {
1000
1000
  switch (C) {
1001
1001
  case ".":
1002
- c = D(), h = "decimalPointLeading";
1002
+ c = n(), h = "decimalPointLeading";
1003
1003
  return;
1004
1004
  case "0":
1005
- c = D(), h = "zero";
1005
+ c = n(), h = "zero";
1006
1006
  return;
1007
1007
  case "1":
1008
1008
  case "2":
@@ -1013,154 +1013,154 @@ const Yu = {
1013
1013
  case "7":
1014
1014
  case "8":
1015
1015
  case "9":
1016
- c = D(), h = "decimalInteger";
1016
+ c = n(), h = "decimalInteger";
1017
1017
  return;
1018
1018
  case "I":
1019
- return D(), L("nfinity"), l("numeric", w * (1 / 0));
1019
+ return n(), L("nfinity"), F("numeric", w * (1 / 0));
1020
1020
  case "N":
1021
- return D(), L("aN"), l("numeric", NaN);
1021
+ return n(), L("aN"), F("numeric", NaN);
1022
1022
  }
1023
- throw d(D());
1023
+ throw d(n());
1024
1024
  },
1025
1025
  zero() {
1026
1026
  switch (C) {
1027
1027
  case ".":
1028
- c += D(), h = "decimalPoint";
1028
+ c += n(), h = "decimalPoint";
1029
1029
  return;
1030
1030
  case "e":
1031
1031
  case "E":
1032
- c += D(), h = "decimalExponent";
1032
+ c += n(), h = "decimalExponent";
1033
1033
  return;
1034
1034
  case "x":
1035
1035
  case "X":
1036
- c += D(), h = "hexadecimal";
1036
+ c += n(), h = "hexadecimal";
1037
1037
  return;
1038
1038
  }
1039
- return l("numeric", w * 0);
1039
+ return F("numeric", w * 0);
1040
1040
  },
1041
1041
  decimalInteger() {
1042
1042
  switch (C) {
1043
1043
  case ".":
1044
- c += D(), h = "decimalPoint";
1044
+ c += n(), h = "decimalPoint";
1045
1045
  return;
1046
1046
  case "e":
1047
1047
  case "E":
1048
- c += D(), h = "decimalExponent";
1048
+ c += n(), h = "decimalExponent";
1049
1049
  return;
1050
1050
  }
1051
1051
  if (p.isDigit(C)) {
1052
- c += D();
1052
+ c += n();
1053
1053
  return;
1054
1054
  }
1055
- return l("numeric", w * Number(c));
1055
+ return F("numeric", w * Number(c));
1056
1056
  },
1057
1057
  decimalPointLeading() {
1058
1058
  if (p.isDigit(C)) {
1059
- c += D(), h = "decimalFraction";
1059
+ c += n(), h = "decimalFraction";
1060
1060
  return;
1061
1061
  }
1062
- throw d(D());
1062
+ throw d(n());
1063
1063
  },
1064
1064
  decimalPoint() {
1065
1065
  switch (C) {
1066
1066
  case "e":
1067
1067
  case "E":
1068
- c += D(), h = "decimalExponent";
1068
+ c += n(), h = "decimalExponent";
1069
1069
  return;
1070
1070
  }
1071
1071
  if (p.isDigit(C)) {
1072
- c += D(), h = "decimalFraction";
1072
+ c += n(), h = "decimalFraction";
1073
1073
  return;
1074
1074
  }
1075
- return l("numeric", w * Number(c));
1075
+ return F("numeric", w * Number(c));
1076
1076
  },
1077
1077
  decimalFraction() {
1078
1078
  switch (C) {
1079
1079
  case "e":
1080
1080
  case "E":
1081
- c += D(), h = "decimalExponent";
1081
+ c += n(), h = "decimalExponent";
1082
1082
  return;
1083
1083
  }
1084
1084
  if (p.isDigit(C)) {
1085
- c += D();
1085
+ c += n();
1086
1086
  return;
1087
1087
  }
1088
- return l("numeric", w * Number(c));
1088
+ return F("numeric", w * Number(c));
1089
1089
  },
1090
1090
  decimalExponent() {
1091
1091
  switch (C) {
1092
1092
  case "+":
1093
1093
  case "-":
1094
- c += D(), h = "decimalExponentSign";
1094
+ c += n(), h = "decimalExponentSign";
1095
1095
  return;
1096
1096
  }
1097
1097
  if (p.isDigit(C)) {
1098
- c += D(), h = "decimalExponentInteger";
1098
+ c += n(), h = "decimalExponentInteger";
1099
1099
  return;
1100
1100
  }
1101
- throw d(D());
1101
+ throw d(n());
1102
1102
  },
1103
1103
  decimalExponentSign() {
1104
1104
  if (p.isDigit(C)) {
1105
- c += D(), h = "decimalExponentInteger";
1105
+ c += n(), h = "decimalExponentInteger";
1106
1106
  return;
1107
1107
  }
1108
- throw d(D());
1108
+ throw d(n());
1109
1109
  },
1110
1110
  decimalExponentInteger() {
1111
1111
  if (p.isDigit(C)) {
1112
- c += D();
1112
+ c += n();
1113
1113
  return;
1114
1114
  }
1115
- return l("numeric", w * Number(c));
1115
+ return F("numeric", w * Number(c));
1116
1116
  },
1117
1117
  hexadecimal() {
1118
1118
  if (p.isHexDigit(C)) {
1119
- c += D(), h = "hexadecimalInteger";
1119
+ c += n(), h = "hexadecimalInteger";
1120
1120
  return;
1121
1121
  }
1122
- throw d(D());
1122
+ throw d(n());
1123
1123
  },
1124
1124
  hexadecimalInteger() {
1125
1125
  if (p.isHexDigit(C)) {
1126
- c += D();
1126
+ c += n();
1127
1127
  return;
1128
1128
  }
1129
- return l("numeric", w * Number(c));
1129
+ return F("numeric", w * Number(c));
1130
1130
  },
1131
1131
  string() {
1132
1132
  switch (C) {
1133
1133
  case "\\":
1134
- D(), c += Te();
1134
+ n(), c += Oe();
1135
1135
  return;
1136
1136
  case '"':
1137
- if (V)
1138
- return D(), l("string", c);
1139
- c += D();
1137
+ if (W)
1138
+ return n(), F("string", c);
1139
+ c += n();
1140
1140
  return;
1141
1141
  case "'":
1142
- if (!V)
1143
- return D(), l("string", c);
1144
- c += D();
1142
+ if (!W)
1143
+ return n(), F("string", c);
1144
+ c += n();
1145
1145
  return;
1146
1146
  case `
1147
1147
  `:
1148
1148
  case "\r":
1149
- throw d(D());
1149
+ throw d(n());
1150
1150
  case "\u2028":
1151
1151
  case "\u2029":
1152
- Re(C);
1152
+ Le(C);
1153
1153
  break;
1154
1154
  case void 0:
1155
- throw d(D());
1155
+ throw d(n());
1156
1156
  }
1157
- c += D();
1157
+ c += n();
1158
1158
  },
1159
1159
  start() {
1160
1160
  switch (C) {
1161
1161
  case "{":
1162
1162
  case "[":
1163
- return l("punctuator", D());
1163
+ return F("punctuator", n());
1164
1164
  }
1165
1165
  h = "value";
1166
1166
  },
@@ -1168,28 +1168,28 @@ const Yu = {
1168
1168
  switch (C) {
1169
1169
  case "$":
1170
1170
  case "_":
1171
- c = D(), h = "identifierName";
1171
+ c = n(), h = "identifierName";
1172
1172
  return;
1173
1173
  case "\\":
1174
- D(), h = "identifierNameStartEscape";
1174
+ n(), h = "identifierNameStartEscape";
1175
1175
  return;
1176
1176
  case "}":
1177
- return l("punctuator", D());
1177
+ return F("punctuator", n());
1178
1178
  case '"':
1179
1179
  case "'":
1180
- V = D() === '"', h = "string";
1180
+ W = n() === '"', h = "string";
1181
1181
  return;
1182
1182
  }
1183
1183
  if (p.isIdStartChar(C)) {
1184
- c += D(), h = "identifierName";
1184
+ c += n(), h = "identifierName";
1185
1185
  return;
1186
1186
  }
1187
- throw d(D());
1187
+ throw d(n());
1188
1188
  },
1189
1189
  afterPropertyName() {
1190
1190
  if (C === ":")
1191
- return l("punctuator", D());
1192
- throw d(D());
1191
+ return F("punctuator", n());
1192
+ throw d(n());
1193
1193
  },
1194
1194
  beforePropertyValue() {
1195
1195
  h = "value";
@@ -1198,73 +1198,73 @@ const Yu = {
1198
1198
  switch (C) {
1199
1199
  case ",":
1200
1200
  case "}":
1201
- return l("punctuator", D());
1201
+ return F("punctuator", n());
1202
1202
  }
1203
- throw d(D());
1203
+ throw d(n());
1204
1204
  },
1205
1205
  beforeArrayValue() {
1206
1206
  if (C === "]")
1207
- return l("punctuator", D());
1207
+ return F("punctuator", n());
1208
1208
  h = "value";
1209
1209
  },
1210
1210
  afterArrayValue() {
1211
1211
  switch (C) {
1212
1212
  case ",":
1213
1213
  case "]":
1214
- return l("punctuator", D());
1214
+ return F("punctuator", n());
1215
1215
  }
1216
- throw d(D());
1216
+ throw d(n());
1217
1217
  },
1218
1218
  end() {
1219
- throw d(D());
1219
+ throw d(n());
1220
1220
  }
1221
1221
  };
1222
- function l(t, u) {
1222
+ function F(t, u) {
1223
1223
  return {
1224
1224
  type: t,
1225
1225
  value: u,
1226
- line: T,
1226
+ line: N,
1227
1227
  column: $
1228
1228
  };
1229
1229
  }
1230
1230
  function L(t) {
1231
1231
  for (const u of t) {
1232
- if (P() !== u)
1233
- throw d(D());
1234
- D();
1232
+ if (S() !== u)
1233
+ throw d(n());
1234
+ n();
1235
1235
  }
1236
1236
  }
1237
- function Te() {
1238
- switch (P()) {
1237
+ function Oe() {
1238
+ switch (S()) {
1239
1239
  case "b":
1240
- return D(), "\b";
1240
+ return n(), "\b";
1241
1241
  case "f":
1242
- return D(), "\f";
1242
+ return n(), "\f";
1243
1243
  case "n":
1244
- return D(), `
1244
+ return n(), `
1245
1245
  `;
1246
1246
  case "r":
1247
- return D(), "\r";
1247
+ return n(), "\r";
1248
1248
  case "t":
1249
- return D(), " ";
1249
+ return n(), " ";
1250
1250
  case "v":
1251
- return D(), "\v";
1251
+ return n(), "\v";
1252
1252
  case "0":
1253
- if (D(), p.isDigit(P()))
1254
- throw d(D());
1253
+ if (n(), p.isDigit(S()))
1254
+ throw d(n());
1255
1255
  return "\0";
1256
1256
  case "x":
1257
- return D(), Me();
1257
+ return n(), Me();
1258
1258
  case "u":
1259
- return D(), Bu();
1259
+ return n(), Bu();
1260
1260
  case `
1261
1261
  `:
1262
1262
  case "\u2028":
1263
1263
  case "\u2029":
1264
- return D(), "";
1264
+ return n(), "";
1265
1265
  case "\r":
1266
- return D(), P() === `
1267
- ` && D(), "";
1266
+ return n(), S() === `
1267
+ ` && n(), "";
1268
1268
  case "1":
1269
1269
  case "2":
1270
1270
  case "3":
@@ -1274,42 +1274,42 @@ function Te() {
1274
1274
  case "7":
1275
1275
  case "8":
1276
1276
  case "9":
1277
- throw d(D());
1277
+ throw d(n());
1278
1278
  case void 0:
1279
- throw d(D());
1279
+ throw d(n());
1280
1280
  }
1281
- return D();
1281
+ return n();
1282
1282
  }
1283
1283
  function Me() {
1284
- let t = "", u = P();
1285
- if (!p.isHexDigit(u) || (t += D(), u = P(), !p.isHexDigit(u)))
1286
- throw d(D());
1287
- return t += D(), String.fromCodePoint(parseInt(t, 16));
1284
+ let t = "", u = S();
1285
+ if (!p.isHexDigit(u) || (t += n(), u = S(), !p.isHexDigit(u)))
1286
+ throw d(n());
1287
+ return t += n(), String.fromCodePoint(parseInt(t, 16));
1288
1288
  }
1289
1289
  function Bu() {
1290
1290
  let t = "", u = 4;
1291
1291
  for (; u-- > 0; ) {
1292
- const e = P();
1292
+ const e = S();
1293
1293
  if (!p.isHexDigit(e))
1294
- throw d(D());
1295
- t += D();
1294
+ throw d(n());
1295
+ t += n();
1296
1296
  }
1297
1297
  return String.fromCodePoint(parseInt(t, 16));
1298
1298
  }
1299
- const Oe = {
1299
+ const Re = {
1300
1300
  start() {
1301
1301
  if (f.type === "eof")
1302
1302
  throw U();
1303
- lu();
1303
+ du();
1304
1304
  },
1305
1305
  beforePropertyName() {
1306
1306
  switch (f.type) {
1307
1307
  case "identifier":
1308
1308
  case "string":
1309
- bu = f.value, g = "afterPropertyName";
1309
+ wu = f.value, y = "afterPropertyName";
1310
1310
  return;
1311
1311
  case "punctuator":
1312
- uu();
1312
+ eu();
1313
1313
  return;
1314
1314
  case "eof":
1315
1315
  throw U();
@@ -1318,31 +1318,31 @@ const Oe = {
1318
1318
  afterPropertyName() {
1319
1319
  if (f.type === "eof")
1320
1320
  throw U();
1321
- g = "beforePropertyValue";
1321
+ y = "beforePropertyValue";
1322
1322
  },
1323
1323
  beforePropertyValue() {
1324
1324
  if (f.type === "eof")
1325
1325
  throw U();
1326
- lu();
1326
+ du();
1327
1327
  },
1328
1328
  beforeArrayValue() {
1329
1329
  if (f.type === "eof")
1330
1330
  throw U();
1331
1331
  if (f.type === "punctuator" && f.value === "]") {
1332
- uu();
1332
+ eu();
1333
1333
  return;
1334
1334
  }
1335
- lu();
1335
+ du();
1336
1336
  },
1337
1337
  afterPropertyValue() {
1338
1338
  if (f.type === "eof")
1339
1339
  throw U();
1340
1340
  switch (f.value) {
1341
1341
  case ",":
1342
- g = "beforePropertyName";
1342
+ y = "beforePropertyName";
1343
1343
  return;
1344
1344
  case "}":
1345
- uu();
1345
+ eu();
1346
1346
  }
1347
1347
  },
1348
1348
  afterArrayValue() {
@@ -1350,16 +1350,16 @@ const Oe = {
1350
1350
  throw U();
1351
1351
  switch (f.value) {
1352
1352
  case ",":
1353
- g = "beforeArrayValue";
1353
+ y = "beforeArrayValue";
1354
1354
  return;
1355
1355
  case "]":
1356
- uu();
1356
+ eu();
1357
1357
  }
1358
1358
  },
1359
1359
  end() {
1360
1360
  }
1361
1361
  };
1362
- function lu() {
1362
+ function du() {
1363
1363
  let t;
1364
1364
  switch (f.type) {
1365
1365
  case "punctuator":
@@ -1382,8 +1382,8 @@ function lu() {
1382
1382
  if (Z === void 0)
1383
1383
  Z = t;
1384
1384
  else {
1385
- const u = S[S.length - 1];
1386
- Array.isArray(u) ? u.push(t) : Object.defineProperty(u, bu, {
1385
+ const u = v[v.length - 1];
1386
+ Array.isArray(u) ? u.push(t) : Object.defineProperty(u, wu, {
1387
1387
  value: t,
1388
1388
  writable: !0,
1389
1389
  enumerable: !0,
@@ -1391,30 +1391,30 @@ function lu() {
1391
1391
  });
1392
1392
  }
1393
1393
  if (t !== null && typeof t == "object")
1394
- S.push(t), Array.isArray(t) ? g = "beforeArrayValue" : g = "beforePropertyName";
1394
+ v.push(t), Array.isArray(t) ? y = "beforeArrayValue" : y = "beforePropertyName";
1395
1395
  else {
1396
- const u = S[S.length - 1];
1397
- u == null ? g = "end" : Array.isArray(u) ? g = "afterArrayValue" : g = "afterPropertyValue";
1396
+ const u = v[v.length - 1];
1397
+ u == null ? y = "end" : Array.isArray(u) ? y = "afterArrayValue" : y = "afterPropertyValue";
1398
1398
  }
1399
1399
  }
1400
- function uu() {
1401
- S.pop();
1402
- const t = S[S.length - 1];
1403
- t == null ? g = "end" : Array.isArray(t) ? g = "afterArrayValue" : g = "afterPropertyValue";
1400
+ function eu() {
1401
+ v.pop();
1402
+ const t = v[v.length - 1];
1403
+ t == null ? y = "end" : Array.isArray(t) ? y = "afterArrayValue" : y = "afterPropertyValue";
1404
1404
  }
1405
1405
  function d(t) {
1406
- return Du(t === void 0 ? `JSON5: invalid end of input at ${T}:${$}` : `JSON5: invalid character '${Qu(t)}' at ${T}:${$}`);
1406
+ return Du(t === void 0 ? `JSON5: invalid end of input at ${N}:${$}` : `JSON5: invalid character '${ue(t)}' at ${N}:${$}`);
1407
1407
  }
1408
1408
  function U() {
1409
- return Du(`JSON5: invalid end of input at ${T}:${$}`);
1409
+ return Du(`JSON5: invalid end of input at ${N}:${$}`);
1410
1410
  }
1411
- function Uu() {
1412
- return $ -= 5, Du(`JSON5: invalid identifier character at ${T}:${$}`);
1411
+ function Hu() {
1412
+ return $ -= 5, Du(`JSON5: invalid identifier character at ${N}:${$}`);
1413
1413
  }
1414
- function Re(t) {
1415
- console.warn(`JSON5: '${Qu(t)}' in strings is not valid ECMAScript; consider escaping`);
1414
+ function Le(t) {
1415
+ console.warn(`JSON5: '${ue(t)}' in strings is not valid ECMAScript; consider escaping`);
1416
1416
  }
1417
- function Qu(t) {
1417
+ function ue(t) {
1418
1418
  const u = {
1419
1419
  "'": "\\'",
1420
1420
  '"': '\\"',
@@ -1439,18 +1439,18 @@ function Qu(t) {
1439
1439
  }
1440
1440
  function Du(t) {
1441
1441
  const u = new SyntaxError(t);
1442
- return u.lineNumber = T, u.columnNumber = $, u;
1442
+ return u.lineNumber = N, u.columnNumber = $, u;
1443
1443
  }
1444
- const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1445
- mu,
1444
+ const ee = /* @__PURE__ */ xe(Ne), yu = "raycast", Iu = [
1445
+ yu,
1446
1446
  "args",
1447
1447
  "data"
1448
- ], Hu = (t) => t.split("-"), ee = (t) => {
1449
- const u = typeof t == "string" ? _[t] : t;
1450
- if (!be(u))
1448
+ ], ju = (t) => t.split("-"), te = (t) => {
1449
+ const u = typeof t == "string" ? b[t] : t;
1450
+ if (!_e(u))
1451
1451
  return null;
1452
1452
  const e = t.toString().toLowerCase().endsWith("loader");
1453
- class r extends j {
1453
+ class r extends H {
1454
1454
  constructor() {
1455
1455
  super(...arguments), this.instance = null, this.dispose = [], this.mutationObserver = null;
1456
1456
  }
@@ -1468,10 +1468,10 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1468
1468
  }
1469
1469
  parsedArgs() {
1470
1470
  const i = this.args ?? this.getAttribute("args") ?? [];
1471
- return typeof i == "string" ? ue(i) : i;
1471
+ return typeof i == "string" ? ee(i) : i;
1472
1472
  }
1473
1473
  createUnderlyingThreeObject() {
1474
- this.instance = new u(...this.parsedArgs().map((i) => tu(i, this)));
1474
+ this.instance = new u(...this.parsedArgs().map((i) => ru(i, this)));
1475
1475
  }
1476
1476
  refreshAttributes() {
1477
1477
  this.getAttributeNames().forEach((i) => {
@@ -1480,24 +1480,26 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1480
1480
  }), Array.from(this.attributes).forEach(this.updateProperty.bind(this));
1481
1481
  }
1482
1482
  onUnderlyingThreeObjectReady() {
1483
- var a, A, F, E;
1483
+ var a, A, l, E, B;
1484
1484
  const i = this.instance;
1485
- i.uuid && this.setAttribute(Xu, i.uuid);
1486
- const o = this.parentNode;
1487
- if (o.instance || (a = o.three) != null && a.scene) {
1488
- const m = this.instance, y = this.instance, v = o.instance, au = o.instance ?? ((A = o.three) == null ? void 0 : A.scene), re = this.instance;
1489
- if ((F = m.type) != null && F.toLowerCase().includes("geometry") && v.geometry)
1490
- v.geometry = m;
1491
- else if ((E = y.type) != null && E.toLowerCase().includes("material") && v.material)
1492
- v.material = y;
1493
- else if (au.add)
1485
+ i.uuid && this.setAttribute(Yu, i.uuid);
1486
+ let o = this.parentNode;
1487
+ for (; o && !(o != null && o.instance) && !((a = o == null ? void 0 : o.three) != null && a.scene); )
1488
+ o = (o == null ? void 0 : o.parentNode) || (o == null ? void 0 : o.host);
1489
+ if (o && o.instance || (A = o == null ? void 0 : o.three) != null && A.scene) {
1490
+ const g = this.instance, M = this.instance, uu = o.instance, cu = o.instance ?? ((l = o.three) == null ? void 0 : l.scene), se = this.instance;
1491
+ if ((E = g.type) != null && E.toLowerCase().includes("geometry") && uu.geometry)
1492
+ uu.geometry = g;
1493
+ else if ((B = M.type) != null && B.toLowerCase().includes("material") && uu.material)
1494
+ uu.material = M;
1495
+ else if (cu.add)
1494
1496
  try {
1495
- au.add(re);
1497
+ cu.add(se);
1496
1498
  } catch {
1497
- throw new Error(`Error adding ${this.tagName} to ${au}`);
1499
+ throw new Error(`Error adding ${this.tagName} to ${cu}`);
1498
1500
  }
1499
- const vu = this.getAttribute("attach");
1500
- vu && this.executeAttach(vu, this.instance);
1501
+ const Su = this.getAttribute("attach");
1502
+ Su && this.executeAttach(Su, this.instance);
1501
1503
  }
1502
1504
  }
1503
1505
  connectedCallback() {
@@ -1511,22 +1513,22 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1511
1513
  updateProperty(i) {
1512
1514
  const { name: o, value: a } = i;
1513
1515
  let A = o;
1514
- Object.keys(this.instance ?? {}).forEach((m) => {
1515
- m.toLowerCase() === A && (A = m);
1516
+ Object.keys(this.instance ?? {}).forEach((B) => {
1517
+ B.toLowerCase() === A && (A = B);
1516
1518
  });
1517
- const F = Hu(A);
1518
- if (ku.includes(A) || ku.includes(F[0]))
1519
+ const l = ju(A);
1520
+ if (Iu.includes(A) || Iu.includes(l[0]))
1519
1521
  return;
1520
- let E = tu(a, this);
1522
+ let E = ru(a, this);
1521
1523
  try {
1522
1524
  E = JSON.parse(a === "" ? "true" : a);
1523
1525
  } catch {
1524
1526
  }
1525
- this.instance && du(this.instance, F, E);
1527
+ this.instance && pu(this.instance, l, E);
1526
1528
  }
1527
1529
  executeAttach(i, o) {
1528
1530
  const a = this.parentElement;
1529
- a.instance && du(a.instance, Hu(i), o);
1531
+ a.instance && pu(a.instance, ju(i), o);
1530
1532
  }
1531
1533
  disconnectedCallback() {
1532
1534
  super.disconnectedCallback();
@@ -1535,16 +1537,16 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1535
1537
  }
1536
1538
  disposeThreeObjects(i) {
1537
1539
  i.forEach((o) => {
1538
- var F, E;
1540
+ var l, E;
1539
1541
  if (!o)
1540
1542
  return;
1541
1543
  const a = o, A = o;
1542
- (F = a.dispose) == null || F.call(a), (E = A.removeFromParent) == null || E.call(A);
1544
+ (l = a.dispose) == null || l.call(a), (E = A.removeFromParent) == null || E.call(A);
1543
1545
  });
1544
1546
  }
1545
1547
  /** Render */
1546
1548
  render() {
1547
- return Zu`<slot></slot>`;
1549
+ return _u`<slot></slot>`;
1548
1550
  }
1549
1551
  }
1550
1552
  class s extends r {
@@ -1552,7 +1554,7 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1552
1554
  super(...arguments), this.loader = null;
1553
1555
  }
1554
1556
  createUnderlyingThreeObject() {
1555
- this.loader = new u(...this.parsedArgs().map((i) => tu(i, this)));
1557
+ this.loader = new u(...this.parsedArgs().map((i) => ru(i, this)));
1556
1558
  }
1557
1559
  onUnderlyingThreeObjectReady() {
1558
1560
  const i = this.getAttribute("src");
@@ -1583,10 +1585,10 @@ const ue = /* @__PURE__ */ Se(xe), mu = "raycast", ku = [
1583
1585
  * Copyright 2017 Google LLC
1584
1586
  * SPDX-License-Identifier: BSD-3-Clause
1585
1587
  */
1586
- const Le = { attribute: !0, type: String, converter: ru, reflect: !1, hasChanged: $u }, Ue = (t = Le, u, e) => {
1588
+ const Ue = { attribute: !0, type: String, converter: su, reflect: !1, hasChanged: $u }, ke = (t = Ue, u, e) => {
1587
1589
  const { kind: r, metadata: s } = e;
1588
- let n = globalThis.litPropertyMetadata.get(s);
1589
- if (n === void 0 && globalThis.litPropertyMetadata.set(s, n = /* @__PURE__ */ new Map()), n.set(e.name, t), r === "accessor") {
1590
+ let D = globalThis.litPropertyMetadata.get(s);
1591
+ if (D === void 0 && globalThis.litPropertyMetadata.set(s, D = /* @__PURE__ */ new Map()), D.set(e.name, t), r === "accessor") {
1590
1592
  const { name: i } = e;
1591
1593
  return { set(o) {
1592
1594
  const a = u.get.call(this);
@@ -1604,30 +1606,30 @@ const Le = { attribute: !0, type: String, converter: ru, reflect: !1, hasChanged
1604
1606
  }
1605
1607
  throw Error("Unsupported decorator location: " + r);
1606
1608
  };
1607
- function M(t) {
1608
- return (u, e) => typeof e == "object" ? Ue(t, u, e) : ((r, s, n) => {
1609
- const i = s.hasOwnProperty(n);
1610
- return s.constructor.createProperty(n, i ? { ...r, wrapped: !0 } : r), i ? Object.getOwnPropertyDescriptor(s, n) : void 0;
1609
+ function T(t) {
1610
+ return (u, e) => typeof e == "object" ? ke(t, u, e) : ((r, s, D) => {
1611
+ const i = s.hasOwnProperty(D);
1612
+ return s.constructor.createProperty(D, i ? { ...r, wrapped: !0 } : r), i ? Object.getOwnPropertyDescriptor(s, D) : void 0;
1611
1613
  })(t, u, e);
1612
1614
  }
1613
- var ke = Object.defineProperty, O = (t, u, e, r) => {
1614
- for (var s = void 0, n = t.length - 1, i; n >= 0; n--)
1615
- (i = t[n]) && (s = i(u, e, s) || s);
1616
- return s && ke(u, e, s), s;
1615
+ var He = Object.defineProperty, O = (t, u, e, r) => {
1616
+ for (var s = void 0, D = t.length - 1, i; D >= 0; D--)
1617
+ (i = t[D]) && (s = i(u, e, s) || s);
1618
+ return s && He(u, e, s), s;
1617
1619
  };
1618
- const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1620
+ const Ie = "orthographic", Gu = 1 / 0, vu = class vu extends H {
1619
1621
  constructor() {
1620
- super(), this.scratchV2 = new _.Vector2(), this.three = {
1621
- scene: new _.Scene(),
1622
+ super(), this.scratchV2 = new b.Vector2(), this.three = {
1623
+ scene: new b.Scene(),
1622
1624
  camera: null,
1623
1625
  renderer: null
1624
- }, this.background = null, this.dpr = Iu, this.headless = !1, this.manualRender = !1, this.dispatchBeforeRender = !1, this.dispatchAfterRender = !1, this.rendererArgs = [], this.cameraArgs = [], this.raycaster = new _.Raycaster(), this.raycastPool = [], this.frame = 1 / 0, this.resizeObserver = new ResizeObserver((u) => {
1626
+ }, this.background = null, this.dpr = Gu, this.headless = !1, this.manualRender = !1, this.dispatchBeforeRender = !1, this.dispatchAfterRender = !1, this.rendererArgs = [], this.cameraArgs = [], this.raycaster = new b.Raycaster(), this.raycastPool = [], this.frame = 1 / 0, this.resizeObserver = new ResizeObserver((u) => {
1625
1627
  u.forEach(({ target: e, contentRect: r }) => {
1626
1628
  var s;
1627
1629
  if (e === this && ((s = this.three.renderer) == null || s.setSize(r.width * this.dpr, r.height * this.dpr), this.three.camera)) {
1628
- const n = r.width / r.height;
1630
+ const D = r.width / r.height;
1629
1631
  if (this.three.camera.type.toLowerCase() === "perspectivecamera")
1630
- this.three.camera.aspect = n, this.three.camera.updateProjectionMatrix();
1632
+ this.three.camera.aspect = D, this.three.camera.updateProjectionMatrix();
1631
1633
  else if (this.three.camera.type.toLowerCase() === "orthographiccamera") {
1632
1634
  const i = r.height / r.width, o = 10;
1633
1635
  this.three.camera.top = i * o, this.three.camera.bottom = -i * o, this.three.camera.right = o, this.three.camera.left = -o, this.three.camera.updateProjectionMatrix();
@@ -1639,13 +1641,13 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1639
1641
  }
1640
1642
  /** To run on start. */
1641
1643
  connectedCallback() {
1642
- if (super.connectedCallback(), this.dpr === Iu && (this.dpr = window.devicePixelRatio), this.getAttribute(He) !== null ? this.three.camera = new _.OrthographicCamera(...this.cameraArgs) : this.three.camera = new _.PerspectiveCamera(...this.cameraArgs.length ? this.cameraArgs : [75]), ["scene", "camera", "renderer"].forEach((u) => {
1643
- const e = this[u] ?? this.getAttribute(u) ?? {}, r = typeof e == "string" ? ue(e) : e;
1644
- Object.entries(r).forEach(([s, n]) => {
1645
- this.three[u] && du(this.three[u], s.split("-"), tu(n, this));
1644
+ if (super.connectedCallback(), this.dpr === Gu && (this.dpr = window.devicePixelRatio), this.getAttribute(Ie) !== null ? this.three.camera = new b.OrthographicCamera(...this.cameraArgs) : this.three.camera = new b.PerspectiveCamera(...this.cameraArgs.length ? this.cameraArgs : [75]), ["scene", "camera", "renderer"].forEach((u) => {
1645
+ const e = this[u] ?? this.getAttribute(u) ?? {}, r = typeof e == "string" ? ee(e) : e;
1646
+ Object.entries(r).forEach(([s, D]) => {
1647
+ this.three[u] && pu(this.three[u], s.split("-"), ru(D, this));
1646
1648
  });
1647
- }), this.resizeObserver.observe(this), this.background !== null && (this.three.scene.background = new _.Color(this.background)), !this.headless) {
1648
- const u = new _.WebGLRenderer(...this.rendererArgs);
1649
+ }), this.resizeObserver.observe(this), this.background !== null && (this.three.scene.background = new b.Color(this.background)), !this.headless) {
1650
+ const u = new b.WebGLRenderer(...this.rendererArgs);
1649
1651
  u.domElement.addEventListener("pointermove", this.onPointerMove.bind(this)), u.domElement.addEventListener("mousemove", this.onPointerMove.bind(this)), u.domElement.addEventListener("click", this.onClick.bind(this)), this.three.renderer = u;
1650
1652
  }
1651
1653
  this.manualRender || this.updateLoop();
@@ -1657,7 +1659,7 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1657
1659
  handleDefaultSlotChange(u) {
1658
1660
  u.target.assignedElements().forEach((e) => {
1659
1661
  const r = e;
1660
- r.instance instanceof _.Object3D && e.getAttributeNames().includes(mu) && e.getAttributeNames().includes(mu) && this.raycastPool.push(r.instance);
1662
+ r.instance instanceof b.Object3D && e.getAttributeNames().includes(yu) && e.getAttributeNames().includes(yu) && this.raycastPool.push(r.instance);
1661
1663
  }), this.renderThree();
1662
1664
  }
1663
1665
  runRaycast(u) {
@@ -1671,15 +1673,15 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1671
1673
  return this.raycaster.setFromCamera(s, this.three.camera), this.raycaster.intersectObjects(this.raycastPool).map((A) => ({
1672
1674
  intersect: A,
1673
1675
  // TODO: cache result of this query selector somewhere?
1674
- element: this.querySelector(`[${Xu}="${A.object.uuid}"]`)
1676
+ element: this.querySelector(`[${Yu}="${A.object.uuid}"]`)
1675
1677
  }));
1676
1678
  }
1677
1679
  // Pointer movement
1678
1680
  // ==================
1679
1681
  onPointerMove(u) {
1680
1682
  this.runRaycast.bind(this)(u).forEach((r) => {
1681
- var s, n, i, o;
1682
- u.type === "pointermove" ? ((s = r.element) == null || s.dispatchEvent(new PointerEvent("pointermove")), (n = r.element) == null || n.dispatchEvent(new CustomEvent(Ie, { detail: r }))) : u.type === "mousemove" && ((i = r.element) == null || i.dispatchEvent(new MouseEvent("mousemove")), (o = r.element) == null || o.dispatchEvent(new CustomEvent(je, { detail: r })));
1683
+ var s, D, i, o;
1684
+ u.type === "pointermove" ? ((s = r.element) == null || s.dispatchEvent(new PointerEvent("pointermove")), (D = r.element) == null || D.dispatchEvent(new CustomEvent(Ge, { detail: r }))) : u.type === "mousemove" && ((i = r.element) == null || i.dispatchEvent(new MouseEvent("mousemove")), (o = r.element) == null || o.dispatchEvent(new CustomEvent(ze, { detail: r })));
1683
1685
  });
1684
1686
  }
1685
1687
  // Click handling
@@ -1689,8 +1691,8 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1689
1691
  if (u instanceof TouchEvent) {
1690
1692
  const r = u.touches[0];
1691
1693
  e = this.runRaycast.bind(this)(r), e.forEach((s) => {
1692
- var n;
1693
- (n = s.element) == null || n.dispatchEvent(new TouchEvent("touchstart"));
1694
+ var D;
1695
+ (D = s.element) == null || D.dispatchEvent(new TouchEvent("touchstart"));
1694
1696
  });
1695
1697
  } else
1696
1698
  e = this.runRaycast.bind(this)(u), e.forEach((r) => {
@@ -1699,7 +1701,7 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1699
1701
  });
1700
1702
  e.forEach((r) => {
1701
1703
  var s;
1702
- (s = r.element) == null || s.dispatchEvent(new CustomEvent(Ge, { detail: r }));
1704
+ (s = r.element) == null || s.dispatchEvent(new CustomEvent(Ve, { detail: r }));
1703
1705
  });
1704
1706
  }
1705
1707
  updateLoop() {
@@ -1708,20 +1710,20 @@ const He = "orthographic", Iu = 1 / 0, _u = class _u extends j {
1708
1710
  /** Render the 3D scene. Optional scene/camera overrides; defaults to the internal scene and camera. */
1709
1711
  renderThree(u, e) {
1710
1712
  var r;
1711
- this.dispatchBeforeRender && this.dispatchEvent(new CustomEvent(ze, {})), this.three.camera && ((r = this.three.renderer) == null || r.render(
1713
+ this.dispatchBeforeRender && this.dispatchEvent(new CustomEvent(We, {})), this.three.camera && ((r = this.three.renderer) == null || r.render(
1712
1714
  u ?? this.three.scene,
1713
1715
  e ?? this.three.camera
1714
- ), this.dispatchAfterRender && this.dispatchEvent(new CustomEvent(We, {})));
1716
+ ), this.dispatchAfterRender && this.dispatchEvent(new CustomEvent(qe, {})));
1715
1717
  }
1716
1718
  render() {
1717
1719
  var u;
1718
- return Zu`
1720
+ return _u`
1719
1721
  <slot @slotchange=${this.handleDefaultSlotChange}></slot>
1720
1722
  ${(u = this.three.renderer) == null ? void 0 : u.domElement}
1721
1723
  `;
1722
1724
  }
1723
1725
  };
1724
- _u.styles = ie`
1726
+ vu.styles = ne`
1725
1727
  :host {
1726
1728
  width: 100%;
1727
1729
  height: 100%;
@@ -1735,79 +1737,134 @@ _u.styles = ie`
1735
1737
  max-height: 100%;
1736
1738
  }
1737
1739
  `;
1738
- let b = _u;
1740
+ let _ = vu;
1739
1741
  O([
1740
- M()
1741
- ], b.prototype, "background");
1742
+ T()
1743
+ ], _.prototype, "background");
1742
1744
  O([
1743
- M()
1744
- ], b.prototype, "dpr");
1745
+ T()
1746
+ ], _.prototype, "dpr");
1745
1747
  O([
1746
- M()
1747
- ], b.prototype, "headless");
1748
+ T()
1749
+ ], _.prototype, "headless");
1748
1750
  O([
1749
- M({
1751
+ T({
1750
1752
  attribute: "manual-render",
1751
1753
  type: Boolean
1752
1754
  })
1753
- ], b.prototype, "manualRender");
1755
+ ], _.prototype, "manualRender");
1754
1756
  O([
1755
- M({
1757
+ T({
1756
1758
  attribute: "dispatch-before-render",
1757
1759
  type: Boolean
1758
1760
  })
1759
- ], b.prototype, "dispatchBeforeRender");
1761
+ ], _.prototype, "dispatchBeforeRender");
1760
1762
  O([
1761
- M({
1763
+ T({
1762
1764
  attribute: "dispatch-after-render",
1763
1765
  type: Boolean
1764
1766
  })
1765
- ], b.prototype, "dispatchAfterRender");
1767
+ ], _.prototype, "dispatchAfterRender");
1766
1768
  O([
1767
- M({
1769
+ T({
1768
1770
  attribute: "renderer-args",
1769
1771
  type: Object
1770
1772
  })
1771
- ], b.prototype, "rendererArgs");
1773
+ ], _.prototype, "rendererArgs");
1772
1774
  O([
1773
- M({
1775
+ T({
1774
1776
  attribute: "camera-args",
1775
1777
  type: Object
1776
1778
  })
1777
- ], b.prototype, "cameraArgs");
1778
- const Je = ({
1779
+ ], _.prototype, "cameraArgs");
1780
+ class je extends H {
1781
+ constructor() {
1782
+ super(...arguments), this.parentLunchbox = null, this.frame = -1, this.scratchV3 = new b.Vector3();
1783
+ }
1784
+ /** Try attaching the update function to pass the parent's position to children. */
1785
+ tryAttachUpdate() {
1786
+ var i;
1787
+ const u = (i = this.parentLunchbox) == null ? void 0 : i.instance;
1788
+ if (!u)
1789
+ return !1;
1790
+ if (!u.isObject3D)
1791
+ throw new Error("html-anchor must be the child of an Object3D");
1792
+ const e = this.closest("three-lunchbox");
1793
+ if (!e)
1794
+ throw new Error("three-lunchbox parent required for html-anchor");
1795
+ const r = e.three.camera;
1796
+ if (!r)
1797
+ throw new Error("camera required for html-anchor");
1798
+ const s = e.three.renderer;
1799
+ if (!(s != null && s.domElement))
1800
+ throw new Error("renderer and DOM element required for html-anchor");
1801
+ const D = () => {
1802
+ this.frame = requestAnimationFrame(D), u.getWorldPosition(this.scratchV3), this.scratchV3.project(r), this.scratchV3.multiplyScalar(0.5).addScalar(0.5), this.scratchV3.y = 1 - this.scratchV3.y;
1803
+ const o = this.scratchV3.clone().set(s.domElement.width, s.domElement.height, 1);
1804
+ o.divideScalar(devicePixelRatio), this.scratchV3.multiply(o), Array.from(this.children).forEach((a) => {
1805
+ a.style.setProperty("--left", `${this.scratchV3.x}px`), a.style.setProperty("--top", `${this.scratchV3.y}px`);
1806
+ });
1807
+ };
1808
+ return D(), !0;
1809
+ }
1810
+ // Setup - save local parent and try adding update
1811
+ connectedCallback() {
1812
+ super.connectedCallback();
1813
+ const u = this.parentNode;
1814
+ if (!u)
1815
+ throw new Error("html-anchor requires a 3D parent");
1816
+ this.parentLunchbox = u, this.tryAttachUpdate() || this.parentLunchbox.addEventListener("instancecreated", () => {
1817
+ if (!this.tryAttachUpdate())
1818
+ throw new Error("error attaching html-anchor to Object3D");
1819
+ }, { once: !0 });
1820
+ }
1821
+ // Teardown
1822
+ disconnectedCallback() {
1823
+ this.frame !== -1 && cancelAnimationFrame(this.frame);
1824
+ }
1825
+ render() {
1826
+ return _u`<slot></slot>`;
1827
+ }
1828
+ }
1829
+ const Ke = ({
1779
1830
  prependList: t = []
1780
1831
  } = {}) => {
1781
- customElements.get("three-lunchbox") || customElements.define("three-lunchbox", b), [...t, ...Gu].forEach((u) => {
1782
- const e = te(u);
1783
- if (customElements.get(e))
1832
+ Object.entries({
1833
+ "three-lunchbox": _,
1834
+ "html-anchor": je
1835
+ }).forEach(([e, r]) => {
1836
+ customElements.get(e) || customElements.define(e, r);
1837
+ }), [...t, ...Vu].forEach((e) => {
1838
+ const r = re(e);
1839
+ if (customElements.get(r))
1784
1840
  return;
1785
- const r = ee(u);
1786
- r && customElements.define(e, r);
1841
+ const s = te(e);
1842
+ s && customElements.define(r, s);
1787
1843
  });
1788
- }, Ze = (t, u, e = window) => {
1844
+ }, Xe = (t, u, e = window) => {
1789
1845
  if (e.customElements.get(t)) {
1790
1846
  console.log(`${t} already registered as a custom element. Try a different name if registering is still required.`);
1791
1847
  return;
1792
1848
  }
1793
- const r = ee(u);
1849
+ const r = te(u);
1794
1850
  if (r)
1795
1851
  e.customElements.define(t, r);
1796
1852
  else
1797
1853
  throw new Error(`Could not extend ${t}. The second paramater must be a class.`);
1798
- }, Ie = "threepointermove", je = "threemousemove", Ge = "threeclick", ze = "beforerender", We = "afterrender", te = (t) => {
1854
+ }, Ge = "threepointermove", ze = "threemousemove", Ve = "threeclick", We = "beforerender", qe = "afterrender", re = (t) => {
1799
1855
  let u = t.split(/\.?(?=[A-Z])/).join("-").toLowerCase().replace(/-g-l-/, "-gl-");
1800
1856
  return u.includes("-") || (u = `three-${u}`), u;
1801
- }, Ke = Gu.map(te);
1857
+ }, Ye = Vu.map(re);
1802
1858
  export {
1803
- We as AFTER_RENDER_EVENT_NAME,
1804
- ze as BEFORE_RENDER_EVENT_NAME,
1805
- Ge as THREE_CLICK_EVENT_NAME,
1806
- je as THREE_MOUSE_MOVE_EVENT_NAME,
1807
- Ie as THREE_POINTER_MOVE_EVENT_NAME,
1808
- b as ThreeLunchbox,
1809
- Gu as autoComponents,
1810
- Ze as extend,
1811
- Je as initLunchbox,
1812
- Ke as webComponentNames
1859
+ qe as AFTER_RENDER_EVENT_NAME,
1860
+ We as BEFORE_RENDER_EVENT_NAME,
1861
+ je as HtmlAnchor,
1862
+ Ve as THREE_CLICK_EVENT_NAME,
1863
+ ze as THREE_MOUSE_MOVE_EVENT_NAME,
1864
+ Ge as THREE_POINTER_MOVE_EVENT_NAME,
1865
+ _ as ThreeLunchbox,
1866
+ Vu as autoComponents,
1867
+ Xe as extend,
1868
+ Ke as initLunchbox,
1869
+ Ye as webComponentNames
1813
1870
  };