@famibee/skynovel 1.64.21 → 1.64.22

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,11 +1,11 @@
1
- import { e as F, k as v, y as lt, D as K, o as T, a as j, R as A, G as B, x as G, N as X, z as tt, O as rt, w as V, S as et, u as O, r as ot } from "./app2.js";
2
- import { C as ct } from "./CmnTween.js";
1
+ import { e as F, k as S, y as rt, D as K, o as P, a as j, R as A, G as B, x as G, N as X, z as tt, O as ot, w as V, S as et, u as M, r as ct } from "./app2.js";
2
+ import { C as dt } from "./CmnTween.js";
3
3
  import { S as I } from "./SpritesMng.js";
4
- import { a as W, T as dt } from "./Reading.js";
4
+ import { a as W, T as pt } from "./Reading.js";
5
5
  import { R as st } from "./RubySpliter.js";
6
- import { Button as pt } from "./Button.js";
7
- const H = "、。,.)]}〉」』】〕”〟ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ!?!?‼⁉・ーゝゞヽヾ々", U = "[({〈「『【〔“〝", q = "─‥…", Y = H, it = new RegExp(`[${H}]`), ft = new RegExp(`[${U}]`), ut = new RegExp(`[${q}]`), gt = it;
8
- class _t {
6
+ import { Button as ft } from "./Button.js";
7
+ const H = "、。,.)]}〉」』】〕”〟ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ!?!?‼⁉・ーゝゞヽヾ々", U = "[({〈「『【〔“〝", q = "─‥…", Y = H, it = new RegExp(`[${H}]`), ut = new RegExp(`[${U}]`), gt = new RegExp(`[${q}]`), _t = it;
8
+ class yt {
9
9
  #c = H;
10
10
  #n = U;
11
11
  #r = q;
@@ -23,15 +23,15 @@ class _t {
23
23
  return this.#a;
24
24
  }
25
25
  #e = it;
26
- #h = ft;
27
- #d = ut;
28
- #k = gt;
26
+ #h = ut;
27
+ #p = gt;
28
+ #k = _t;
29
29
  break_fixed = !1;
30
30
  break_fixed_left = 0;
31
31
  break_fixed_top = 0;
32
32
  bura = !1;
33
33
  lay(t) {
34
- t.kinsoku_sol && (this.#c = t.kinsoku_sol, this.#e = new RegExp(`[${this.#c}]`)), t.kinsoku_eol && (this.#n = t.kinsoku_eol, this.#l(), this.#h = new RegExp(`[${this.#n}]`)), t.kinsoku_dns && (this.#r = t.kinsoku_dns, this.#y(), this.#d = new RegExp(`[${this.#r}]`)), t.kinsoku_bura && (this.#a = t.kinsoku_bura, this.#l(), this.#y(), this.#k = new RegExp(`[${this.#a}]`)), "bura" in t && (this.bura = F(t, "bura", !1)), this.break_fixed = F(t, "break_fixed", this.break_fixed), this.break_fixed_left = v(t, "break_fixed_left", this.break_fixed_left), this.break_fixed_top = v(t, "break_fixed_top", this.break_fixed_top);
34
+ t.kinsoku_sol && (this.#c = t.kinsoku_sol, this.#e = new RegExp(`[${this.#c}]`)), t.kinsoku_eol && (this.#n = t.kinsoku_eol, this.#l(), this.#h = new RegExp(`[${this.#n}]`)), t.kinsoku_dns && (this.#r = t.kinsoku_dns, this.#g(), this.#p = new RegExp(`[${this.#r}]`)), t.kinsoku_bura && (this.#a = t.kinsoku_bura, this.#l(), this.#g(), this.#k = new RegExp(`[${this.#a}]`)), "bura" in t && (this.bura = F(t, "bura", !1)), this.break_fixed = F(t, "break_fixed", this.break_fixed), this.break_fixed_left = S(t, "break_fixed_left", this.break_fixed_left), this.break_fixed_top = S(t, "break_fixed_top", this.break_fixed_top);
35
35
  }
36
36
  // 禁則の競合(ぶら下げ と 行末禁則 の両方に含まれる文字があってはならない)
37
37
  #l() {
@@ -48,7 +48,7 @@ class _t {
48
48
  }
49
49
  }
50
50
  // 禁則の競合(ぶら下げ と 分割禁止 の両方に含まれる文字があってはならない)
51
- #y() {
51
+ #g() {
52
52
  const t = this.#r.length, e = this.#a.length;
53
53
  if (t < e)
54
54
  for (let s = 0; s < t; ++s) {
@@ -65,7 +65,7 @@ class _t {
65
65
  t.#t(this.#c, this.#n, this.#r, this.#a), t.break_fixed = this.break_fixed, t.break_fixed_left = this.break_fixed_left, t.break_fixed_top = this.break_fixed_top, t.bura = this.bura;
66
66
  }
67
67
  #t(t, e, s, i) {
68
- this.#c !== t && (this.#c = t, this.#e = new RegExp(`[${t}]`)), this.#n !== e && (this.#n = e, this.#h = new RegExp(`[${e}]`)), this.#r !== s && (this.#r = s, this.#d = new RegExp(`[${s}]`)), this.#a !== i && (this.#a = i, this.#k = new RegExp(`[${i}]`));
68
+ this.#c !== t && (this.#c = t, this.#e = new RegExp(`[${t}]`)), this.#n !== e && (this.#n = e, this.#h = new RegExp(`[${e}]`)), this.#r !== s && (this.#r = s, this.#p = new RegExp(`[${s}]`)), this.#a !== i && (this.#a = i, this.#k = new RegExp(`[${i}]`));
69
69
  }
70
70
  record() {
71
71
  const t = {
@@ -87,32 +87,32 @@ class _t {
87
87
  hyph(t, e, s, i, a) {
88
88
  let n, l = 0, h = 2, r = (b) => (r = () => !1, i === b ? (i > 0 && (t.innerHTML = a.replaceAll('class="sn_ch"', 'class="sn_ch sn_ch_in_default"')), !0) : b < 2);
89
89
  do {
90
- if (n = this.#g(t, e), l = n.length, r(l)) break;
90
+ if (n = this.#_(t, e), l = n.length, r(l)) break;
91
91
  let b = -1 / 0;
92
92
  for (; h < l; ++h) {
93
- const { elm: _, rect: w, ch: E } = n[h];
94
- if (_.tagName === "RT") continue;
93
+ const { elm: y, rect: w, ch: C } = n[h];
94
+ if (y.tagName === "RT") continue;
95
95
  const x = s ? w.y : w.x;
96
- if (b <= x || _.previousElementSibling?.tagName === "SPAN" && _.previousElementSibling?.innerHTML.includes("<br>") || _.parentElement?.previousElementSibling?.tagName === "SPAN" && _.parentElement?.previousElementSibling?.innerHTML.includes("<br>")) {
96
+ if (b <= x || y.previousElementSibling?.tagName === "SPAN" && y.previousElementSibling?.innerHTML.includes("<br>") || y.parentElement?.previousElementSibling?.tagName === "SPAN" && y.parentElement?.previousElementSibling?.innerHTML.includes("<br>")) {
97
97
  b = x, this.break_fixed || (this.break_fixed_left = w.x, this.break_fixed_top = w.y);
98
98
  continue;
99
99
  }
100
- const u = this.#u(n, h), { elm: $, rect: S, ch: d } = n[u];
100
+ const N = this.#u(n, h), { elm: g, rect: $, ch: o } = n[N];
101
101
  if (!this.break_fixed) {
102
- this.break_fixed_left = S.x, this.break_fixed_top = S.y;
103
- const g = globalThis.getComputedStyle($), C = parseFloat(g.fontSize);
104
- s ? this.break_fixed_top += C : this.break_fixed_left += C;
102
+ this.break_fixed_left = $.x, this.break_fixed_top = $.y;
103
+ const p = globalThis.getComputedStyle(g), E = parseFloat(p.fontSize);
104
+ s ? this.break_fixed_top += E : this.break_fixed_left += E;
105
105
  }
106
106
  b = -1 / 0;
107
- const o = h, { cont: m, ins: y } = this.bura ? this.hyph_alg_bura(n, u, d, h) : this.hyph_alg(n, u, d, h, E);
108
- if (h = y, m) continue;
109
- const R = n[h].elm, f = R.parentElement, p = document.createElement("br");
110
- if (f.classList.contains("sn_tx")) f.insertBefore(p, R);
107
+ const d = h, { cont: u, ins: m } = this.bura ? this.hyph_alg_bura(n, N, o, h) : this.hyph_alg(n, N, o, h, C);
108
+ if (h = m, u) continue;
109
+ const v = n[h].elm, _ = v.parentElement, f = document.createElement("br");
110
+ if (_.classList.contains("sn_tx")) _.insertBefore(f, v);
111
111
  else {
112
- const g = f.parentElement;
113
- g.classList.contains("sn_ch") ? g.parentElement.insertBefore(p, g) : g.insertBefore(p, f);
112
+ const p = _.parentElement;
113
+ p.classList.contains("sn_ch") ? p.parentElement.insertBefore(f, p) : p.insertBefore(f, _);
114
114
  }
115
- h += 2, h < o && (h = o), l = -1;
115
+ h += 2, h < d && (h = d), l = -1;
116
116
  break;
117
117
  }
118
118
  } while (l < 0);
@@ -123,9 +123,9 @@ class _t {
123
123
  const s = e - 1, { elm: i } = t[s];
124
124
  return i.tagName !== "RT" ? s - (i.style.textCombineUpright === "all" ? Array.from(i.textContent).length - 1 : 0) : s - Array.from(i.textContent).length;
125
125
  }
126
- #g(t, e) {
126
+ #_(t, e) {
127
127
  const s = [];
128
- if (t.nodeType !== t.TEXT_NODE) return Array.from(t.childNodes).map((l) => this.#g(l, e)).flat();
128
+ if (t.nodeType !== t.TEXT_NODE) return Array.from(t.childNodes).map((l) => this.#_(l, e)).flat();
129
129
  const i = t.ownerDocument.createRange();
130
130
  i.selectNodeContents(t);
131
131
  let a = 0;
@@ -159,7 +159,7 @@ class _t {
159
159
  if (this.#e.test(a))
160
160
  for (; (n = this.#u(t, n)) >= 0 && this.#e.test(t[n].ch); )
161
161
  ;
162
- else if (!(s === a && this.#d.test(s))) return { cont: !0, ins: n + 1 };
162
+ else if (!(s === a && this.#p.test(s))) return { cont: !0, ins: n + 1 };
163
163
  }
164
164
  for (n = e; (n = this.#u(t, n)) >= 0 && this.#h.test(t[n].ch); )
165
165
  ;
@@ -181,8 +181,8 @@ class _t {
181
181
  if (this.#k.test(n) || this.#e.test(n)) {
182
182
  let h = e;
183
183
  (this.#k.test(s) || this.#e.test(s)) && ++h;
184
- const r = this.#u(t, h), { ch: b } = t[r], { ch: _ } = t[h];
185
- if (b === _ && this.#d.test(_)) return { cont: !1, ins: r };
184
+ const r = this.#u(t, h), { ch: b } = t[r], { ch: y } = t[h];
185
+ if (b === y && this.#p.test(y)) return { cont: !1, ins: r };
186
186
  if (!this.#h.test(b)) return { cont: !1, ins: h };
187
187
  h = r;
188
188
  do
@@ -193,7 +193,7 @@ class _t {
193
193
  const l = this.#u(t, a);
194
194
  if (i >= 3) {
195
195
  const { ch: h } = t[l];
196
- if (this.#d.test(n) && h === n)
196
+ if (this.#p.test(n) && h === n)
197
197
  return { cont: !1, ins: l };
198
198
  if (this.#h.test(h)) {
199
199
  let r = l;
@@ -205,184 +205,184 @@ class _t {
205
205
  return { cont: !1, ins: a };
206
206
  }
207
207
  }
208
- function yt(Q, t, e, s, i, a = !0) {
208
+ function mt(Q, t, e, s, i, a = !0) {
209
209
  const n = {
210
- escape: (d) => d.replaceAll(/([.*+?^${}()|[\]/\\])/g, "\\$1"),
211
- mimeType: (d) => {
212
- const o = _(d).toLowerCase();
213
- return l()[o] || "";
210
+ escape: (o) => o.replaceAll(/([.*+?^${}()|[\]/\\])/g, "\\$1"),
211
+ mimeType: (o) => {
212
+ const d = y(o).toLowerCase();
213
+ return l()[d] || "";
214
214
  },
215
- dataAsUrl: u,
215
+ dataAsUrl: N,
216
216
  isDataUrl: w,
217
- resolveUrl: E,
217
+ resolveUrl: C,
218
218
  getAndEncode: x,
219
- asArray: (d) => {
220
- const o = [], m = d.length;
221
- for (let y = 0; y < m; ++y) o.push(d[y]);
222
- return o;
219
+ asArray: (o) => {
220
+ const d = [], u = o.length;
221
+ for (let m = 0; m < u; ++m) d.push(o[m]);
222
+ return d;
223
223
  }
224
224
  };
225
225
  function l() {
226
- const d = "application/font-woff", o = "image/jpeg";
226
+ const o = "application/font-woff", d = "image/jpeg";
227
227
  return {
228
- woff: d,
229
- woff2: d,
228
+ woff: o,
229
+ woff2: o,
230
230
  ttf: "application/font-truetype",
231
231
  eot: "application/vnd.ms-fontobject",
232
232
  png: "image/png",
233
- jpg: o,
234
- jpeg: o,
233
+ jpg: d,
234
+ jpeg: d,
235
235
  gif: "image/gif",
236
236
  tiff: "image/tiff",
237
237
  svg: "image/svg+xml"
238
238
  };
239
239
  }
240
- const h = $(), r = S();
241
- function b(d) {
242
- return r.resolveAll().then((o) => {
243
- const m = document.createElement("style");
244
- return d.appendChild(m), m.appendChild(document.createTextNode(o)), d;
240
+ const h = g(), r = $();
241
+ function b(o) {
242
+ return r.resolveAll().then((d) => {
243
+ const u = document.createElement("style");
244
+ return o.appendChild(u), u.appendChild(document.createTextNode(d)), o;
245
245
  });
246
246
  }
247
- function _(d) {
248
- return /\.([^./]*?)$/g.exec(d)?.[1] ?? "";
249
- }
250
- function w(d) {
251
- return d.search(/^(data:)/) !== -1;
252
- }
253
- function E(d, o) {
254
- const m = document.implementation.createHTMLDocument(), y = m.createElement("base");
255
- m.head.appendChild(y);
256
- const R = m.createElement("a");
257
- return m.body.appendChild(R), y.href = o, R.href = d, R.href;
258
- }
259
- function x(d) {
260
- return new Promise(function(m) {
261
- const y = new XMLHttpRequest();
262
- y.onreadystatechange = R, y.ontimeout = f, y.responseType = "blob", y.timeout = 3e4, y.open("GET", d, !0), y.send();
263
- function R() {
264
- if (y.readyState !== 4) return;
265
- if (y.status !== 200) {
266
- p("cannot fetch resource: " + d + ", status: " + y.status);
247
+ function y(o) {
248
+ return /\.([^./]*?)$/g.exec(o)?.[1] ?? "";
249
+ }
250
+ function w(o) {
251
+ return o.search(/^(data:)/) !== -1;
252
+ }
253
+ function C(o, d) {
254
+ const u = document.implementation.createHTMLDocument(), m = u.createElement("base");
255
+ u.head.appendChild(m);
256
+ const v = u.createElement("a");
257
+ return u.body.appendChild(v), m.href = d, v.href = o, v.href;
258
+ }
259
+ function x(o) {
260
+ return new Promise(function(u) {
261
+ const m = new XMLHttpRequest();
262
+ m.onreadystatechange = v, m.ontimeout = _, m.responseType = "blob", m.timeout = 3e4, m.open("GET", o, !0), m.send();
263
+ function v() {
264
+ if (m.readyState !== 4) return;
265
+ if (m.status !== 200) {
266
+ f("cannot fetch resource: " + o + ", status: " + m.status);
267
267
  return;
268
268
  }
269
- const g = new FileReader();
270
- g.onloadend = function() {
271
- const C = g.result.toString().split(/,/)[1];
272
- m(C);
273
- }, g.readAsDataURL(y.response);
269
+ const p = new FileReader();
270
+ p.onloadend = function() {
271
+ const E = p.result.toString().split(/,/)[1];
272
+ u(E);
273
+ }, p.readAsDataURL(m.response);
274
274
  }
275
- function f() {
276
- p("timeout of 30000ms occured while fetching resource: " + d);
275
+ function _() {
276
+ f("timeout of 30000ms occured while fetching resource: " + o);
277
277
  }
278
- function p(g) {
279
- console.error(g), m("");
278
+ function f(p) {
279
+ console.error(p), u("");
280
280
  }
281
281
  });
282
282
  }
283
- function u(d, o) {
284
- return "data:" + o + ";base64," + d;
283
+ function N(o, d) {
284
+ return "data:" + d + ";base64," + o;
285
285
  }
286
- function $() {
287
- const d = /url\(['"]?([^'"]+?)['"]?\)/g;
286
+ function g() {
287
+ const o = /url\(['"]?([^'"]+?)['"]?\)/g;
288
288
  return {
289
- inlineAll: R,
290
- shouldProcess: o
289
+ inlineAll: v,
290
+ shouldProcess: d
291
291
  };
292
- function o(f) {
293
- return f.search(d) !== -1;
292
+ function d(_) {
293
+ return _.search(o) !== -1;
294
294
  }
295
- function m(f) {
296
- const p = [];
297
- let g;
298
- for (; g = d.exec(f); )
299
- p.push(g[1]);
300
- return p.filter(function(C) {
301
- return !n.isDataUrl(C);
295
+ function u(_) {
296
+ const f = [];
297
+ let p;
298
+ for (; p = o.exec(_); )
299
+ f.push(p[1]);
300
+ return f.filter(function(E) {
301
+ return !n.isDataUrl(E);
302
302
  });
303
303
  }
304
- function y(f, p, g, C) {
305
- return Promise.resolve(p).then((N) => g ? n.resolveUrl(N, g) : N).then(C || n.getAndEncode).then((N) => n.dataAsUrl(N, n.mimeType(p))).then((N) => f.replace(M(p), "$1" + N + "$3"));
306
- function M(N) {
307
- return new RegExp(`(url\\(['"]?)(` + n.escape(N) + `)(['"]?\\))`, "g");
304
+ function m(_, f, p, E) {
305
+ return Promise.resolve(f).then((R) => p ? n.resolveUrl(R, p) : R).then(E || n.getAndEncode).then((R) => n.dataAsUrl(R, n.mimeType(f))).then((R) => _.replace(T(f), "$1" + R + "$3"));
306
+ function T(R) {
307
+ return new RegExp(`(url\\(['"]?)(` + n.escape(R) + `)(['"]?\\))`, "g");
308
308
  }
309
309
  }
310
- function R(f, p, g) {
311
- if (C()) return Promise.resolve(f);
312
- return Promise.resolve(f).then(m).then((M) => {
313
- let N = Promise.resolve(f);
314
- for (const P of M) N = N.then((J) => y(J, P, p, g));
315
- return N;
310
+ function v(_, f, p) {
311
+ if (E()) return Promise.resolve(_);
312
+ return Promise.resolve(_).then(u).then((T) => {
313
+ let R = Promise.resolve(_);
314
+ for (const J of T) R = R.then((O) => m(O, J, f, p));
315
+ return R;
316
316
  });
317
- function C() {
318
- return !o(f);
317
+ function E() {
318
+ return !d(_);
319
319
  }
320
320
  }
321
321
  }
322
- function S() {
322
+ function $() {
323
323
  return {
324
- resolveAll: d,
325
- impl: { readAll: o }
324
+ resolveAll: o,
325
+ impl: { readAll: d }
326
326
  };
327
- function d() {
328
- return o().then((m) => Promise.allSettled(
329
- m.map((y) => y.resolve())
330
- )).then((m) => m.join(`
327
+ function o() {
328
+ return d().then((u) => Promise.allSettled(
329
+ u.map((m) => m.resolve())
330
+ )).then((u) => u.join(`
331
331
  `));
332
332
  }
333
- function o() {
334
- return Promise.resolve(n.asArray(document.styleSheets)).then(y).then(m).then((f) => f.map(R));
335
- function m(f) {
336
- return f.filter((p) => p.type === CSSRule.FONT_FACE_RULE).filter((p) => h.shouldProcess(p.style.getPropertyValue("src")));
333
+ function d() {
334
+ return Promise.resolve(n.asArray(document.styleSheets)).then(m).then(u).then((_) => _.map(v));
335
+ function u(_) {
336
+ return _.filter((f) => f.type === CSSRule.FONT_FACE_RULE).filter((f) => h.shouldProcess(f.style.getPropertyValue("src")));
337
337
  }
338
- function y(f) {
339
- const p = [];
340
- for (const g of f)
338
+ function m(_) {
339
+ const f = [];
340
+ for (const p of _)
341
341
  try {
342
- if (g.href) continue;
343
- n.asArray(g.cssRules || []).forEach(p.push.bind(p));
344
- } catch (C) {
345
- console.error("Error while reading CSS rules from " + g.href, String(C));
342
+ if (p.href) continue;
343
+ n.asArray(p.cssRules || []).forEach(f.push.bind(f));
344
+ } catch (E) {
345
+ console.error("Error while reading CSS rules from " + p.href, String(E));
346
346
  }
347
- return p;
347
+ return f;
348
348
  }
349
- function R(f) {
349
+ function v(_) {
350
350
  return {
351
351
  resolve: function() {
352
- const g = (f.parentStyleSheet || {}).href;
353
- return h.inlineAll(f.cssText, g);
352
+ const p = (_.parentStyleSheet || {}).href;
353
+ return h.inlineAll(_.cssText, p);
354
354
  },
355
355
  src() {
356
- return f.style.getPropertyValue("src");
356
+ return _.style.getPropertyValue("src");
357
357
  }
358
358
  };
359
359
  }
360
360
  }
361
361
  }
362
- Promise.resolve(t).then((d) => {
363
- const o = d.cloneNode(!0);
364
- return o.style.padding = "0px", o.style.paddingRight = s + "px", o.style.paddingTop = i + "px", o.style.left = "0px", o.style.top = "0px", o.style.width = e.$width - e.pad_left - e.pad_right + "px", o.style.height = e.$height - e.pad_top - e.pad_bottom + "px", t.hidden = a, o;
365
- }).then(b).then((d) => {
366
- d.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
367
- const o = new Image();
368
- return o.src = `data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="${String(e.$width)}px" height="${String(e.$height)}px"><foreignObject x="0" y="0" width="100%" height="100%">${new XMLSerializer().serializeToString(d).replaceAll("#", "%23").replaceAll(`
369
- `, "%0A")}</foreignObject></svg>`, new Promise((m) => {
370
- o.onload = () => m(o);
362
+ Promise.resolve(t).then((o) => {
363
+ const d = o.cloneNode(!0);
364
+ return d.style.padding = "0px", d.style.paddingRight = s + "px", d.style.paddingTop = i + "px", d.style.left = "0px", d.style.top = "0px", d.style.width = e.$width - e.pad_left - e.pad_right + "px", d.style.height = e.$height - e.pad_top - e.pad_bottom + "px", t.hidden = a, d;
365
+ }).then(b).then((o) => {
366
+ o.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
367
+ const d = new Image();
368
+ return d.src = `data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="${String(e.$width)}px" height="${String(e.$height)}px"><foreignObject x="0" y="0" width="100%" height="100%">${new XMLSerializer().serializeToString(o).replaceAll("#", "%23").replaceAll(`
369
+ `, "%0A")}</foreignObject></svg>`, new Promise((u) => {
370
+ d.onload = () => u(d);
371
371
  });
372
- }).then((d) => new Promise((o) => setTimeout(() => o(d), 100))).then((d) => {
373
- const o = document.createElement("canvas");
374
- o.width = e.$width, o.height = e.$height, o.getContext("2d").drawImage(d, 0, 0), Q(lt.from(o));
375
- }).catch((d) => K.myTrace(`goTxt() = ${String(d)}`));
372
+ }).then((o) => new Promise((d) => setTimeout(() => d(o), 100))).then((o) => {
373
+ const d = document.createElement("canvas");
374
+ d.width = e.$width, d.height = e.$height, d.getContext("2d").drawImage(o, 0, 0), Q(rt.from(d));
375
+ }).catch((o) => K.myTrace(`goTxt() = ${String(o)}`));
376
376
  }
377
- class c extends T {
377
+ class c extends P {
378
378
  constructor(t, e, s) {
379
- super(), this.ctn = t, this.canFocus = e, this.sys = s, this.#e.classList.add("sn_tx"), this.#e.style.position = "absolute", c.#n.view.parentElement.appendChild(this.#e), this.addChild(this.#h), this.addChild(this.#d), this.#d.name = "grpDbgMasume";
379
+ super(), this.ctn = t, this.canFocus = e, this.sys = s, this.#e.classList.add("sn_tx"), this.#e.style.position = "absolute", c.#n.view.parentElement.appendChild(this.#e), this.addChild(this.#h), this.addChild(this.#p), this.#p.name = "grpDbgMasume";
380
380
  const i = j.debugLog ? ({ ch: a, rect: { x: n, y: l, width: h, height: r } }) => console.log(`🍌 masume ch:${a} x:${String(n)} y:${String(l)} w:${String(h)} h:${String(r)}`) : () => {
381
381
  };
382
- this.#y = c.#c.oCfg.debug.masume ? (a) => {
382
+ this.#g = c.#c.oCfg.debug.masume ? (a) => {
383
383
  i(a);
384
384
  const { x: n, y: l, width: h, height: r } = a.rect;
385
- this.#d.beginFill(6737151, 0.5).lineStyle(2, 16724736, 1).drawRect(n, l, h, r).endFill();
385
+ this.#p.beginFill(6737151, 0.5).lineStyle(2, 16724736, 1).drawRect(n, l, h, r).endFill();
386
386
  } : () => {
387
387
  }, this.noticeCompTxt = s.isApp && c.#c.oCfg.debug.dumpHtm ? () => {
388
388
  W.notifyEndProc(A);
@@ -410,13 +410,13 @@ $1
410
410
  c.#r = t, c.#a = e;
411
411
  }
412
412
  static destroy() {
413
- c.#$ = /* @__PURE__ */ Object.create(null), c.#v = /* @__PURE__ */ Object.create(null), c.delBreak();
413
+ c.#$ = /* @__PURE__ */ Object.create(null), c.#E = /* @__PURE__ */ Object.create(null), c.delBreak();
414
414
  }
415
415
  #e = document.createElement("span");
416
416
  // サンプリング元
417
- #h = new T();
417
+ #h = new P();
418
418
  // サンプリング先
419
- #d = new B();
419
+ #p = new B();
420
420
  static #k = {
421
421
  "background-color": 0,
422
422
  "border-bottom-width": 0,
@@ -428,10 +428,10 @@ $1
428
428
  "margin-right": 0,
429
429
  "margin-top": 0
430
430
  };
431
- #l = new _t();
431
+ #l = new yt();
432
432
  noticeCompTxt = () => {
433
433
  };
434
- #y;
434
+ #g;
435
435
  // readonly #idc :TxtLayDesignCast;
436
436
  // readonly #idcCh = new TxtLayPadDesignCast(this);
437
437
  #t = {
@@ -466,31 +466,31 @@ $1
466
466
  !s.style.opacity && "alpha" in t && (e.opacity = String(this.ctn.alpha));
467
467
  } else this.#e.style.cssText = "";
468
468
  else "alpha" in t && (e.opacity = String(this.ctn.alpha));
469
- if ("width" in t && (e.width = String(t.width ?? "0") + "px"), "height" in t && (e.height = String(t.height ?? "0") + "px"), "pl" in t && (e.paddingLeft = String(t.pl ?? "0") + "px"), "pr" in t && (e.paddingRight = String(t.pr ?? "0") + "px"), "pt" in t && (e.paddingTop = String(t.pt ?? "0") + "px"), "pb" in t && (e.paddingBottom = String(t.pb ?? "0") + "px"), this.#l.lay(t), this.#g(), this.#o = this.ctn.position.x, e.transformOrigin = `${String(this.ctn.pivot.x)}px ${String(this.ctn.pivot.y)}px`, this.cvsResize(), e.display = this.ctn.visible ? "inline" : "none", ":redraw" in t && this.#m > 0) {
469
+ if ("width" in t && (e.width = String(t.width ?? "0") + "px"), "height" in t && (e.height = String(t.height ?? "0") + "px"), "pl" in t && (e.paddingLeft = String(t.pl ?? "0") + "px"), "pr" in t && (e.paddingRight = String(t.pr ?? "0") + "px"), "pt" in t && (e.paddingTop = String(t.pt ?? "0") + "px"), "pb" in t && (e.paddingBottom = String(t.pb ?? "0") + "px"), this.#l.lay(t), this.#_(), this.#o = this.ctn.position.x, e.transformOrigin = `${String(this.ctn.pivot.x)}px ${String(this.ctn.pivot.y)}px`, this.cvsResize(), e.display = this.ctn.visible ? "inline" : "none", ":redraw" in t && this.#y > 0) {
470
470
  const s = [
471
471
  this.#e.innerHTML.replaceAll(/(animation-delay: )\d+ms/g, "$10ms"),
472
472
  `<span class='sn_ch' data-add='{"ch_in_style":"default"}'>&emsp;</span>`
473
473
  ];
474
- this.#H(), this.goTxt(s, !0);
474
+ this.#z(), this.goTxt(s, !0);
475
475
  }
476
476
  }
477
477
  // oxlint-disable-next-line no-unused-private-class-members
478
478
  #u = 0;
479
479
  // 「g」などで下が欠ける問題対策
480
- #g() {
480
+ #_() {
481
481
  const t = this.#e.style, e = parseFloat(t.fontSize || "0");
482
- this.#t.fontsize = e, this.#t.pad_left = parseFloat(t.paddingLeft || "0"), this.#t.pad_right = parseFloat(t.paddingRight || "0"), this.#t.pad_top = parseFloat(t.paddingTop || "0"), this.#t.pad_bottom = parseFloat(t.paddingBottom || "0"), this.#t.$width = parseFloat(t.width || "0"), this.#t.$height = parseFloat(t.height || "0"), this.position.set(this.#t.pad_left, this.#t.pad_top), this.#p = t.writingMode === "vertical-rl", this.#i = 0, this.#b = 0;
482
+ this.#t.fontsize = e, this.#t.pad_left = parseFloat(t.paddingLeft || "0"), this.#t.pad_right = parseFloat(t.paddingRight || "0"), this.#t.pad_top = parseFloat(t.paddingTop || "0"), this.#t.pad_bottom = parseFloat(t.paddingBottom || "0"), this.#t.$width = parseFloat(t.width || "0"), this.#t.$height = parseFloat(t.height || "0"), this.position.set(this.#t.pad_left, this.#t.pad_top), this.#f = t.writingMode === "vertical-rl", this.#i = 0, this.#b = 0;
483
483
  const s = t.lineHeight ?? "0";
484
- this.#u = this.#p ? 0 : (s.endsWith("px") ? parseFloat(s) : e * parseFloat(s) - e) / 2;
484
+ this.#u = this.#f ? 0 : (s.endsWith("px") ? parseFloat(s) : e * parseFloat(s) - e) / 2;
485
485
  }
486
486
  cvsResize() {
487
487
  const t = this.#e.style, e = this.sys.cvsScale;
488
488
  t.left = `${String(this.sys.ofsLeft4elm + this.#o * e)}px`, t.top = `${String(this.sys.ofsTop4elm + this.ctn.position.y * e)}px`, t.transform = `rotate(${String(this.ctn.angle)}deg) scale(${String(this.ctn.scale.x * e)}, ${String(this.ctn.scale.y * e)})`;
489
489
  }
490
490
  #o = 0;
491
- #p = !1;
491
+ #f = !1;
492
492
  get tategaki() {
493
- return this.#p;
493
+ return this.#f;
494
494
  }
495
495
  #i = 0;
496
496
  #b = 0;
@@ -509,121 +509,124 @@ $1
509
509
  #s = [];
510
510
  // FIFO実行バッファ
511
511
  goTxt(t, e) {
512
- const s = () => this.#_(t, e);
512
+ const s = () => this.#m(t, e);
513
513
  this.#s.push(s) === 1 && s();
514
514
  }
515
- #F = [];
516
- #m = 0;
515
+ #v = [];
516
+ #y = 0;
517
517
  static #U = "<span class='sn_ch sn_ch_last'>&emsp;</span>";
518
- #_(t, e) {
519
- c.#j.visible = !1;
520
- let s = this.#F.length, i = "";
518
+ #m(t, e) {
519
+ c.#O.visible = !1;
520
+ let s = this.#v.length, i = "";
521
521
  if (s === 0) {
522
- if (c.#c.oCfg.debug.masume && (j.debugLog && console.log(`🍌 masume ${this.name} v:${String(this.visible)} l:${String(this.x)} t:${String(this.y)} a:${String(this.alpha)} pl:${String(this.#t.pad_left)} pr:${String(this.#t.pad_right)} pt:${String(this.#t.pad_top)} pb:${String(this.#t.pad_bottom)} w:${String(this.#t.$width)} h:${String(this.#t.$height)}`), this.#d.clear().beginFill(3407616, 0.2).lineStyle(1, 3407616, 1).drawRect(-this.#t.pad_left, -this.#t.pad_top, this.#t.$width, this.#t.$height).endFill().beginFill(13311, 0.2).lineStyle(2, 13311, 1).drawRect(
522
+ if (c.#c.oCfg.debug.masume && (j.debugLog && console.log(`🍌 masume ${this.name} v:${String(this.visible)} l:${String(this.x)} t:${String(this.y)} a:${String(this.alpha)} pl:${String(this.#t.pad_left)} pr:${String(this.#t.pad_right)} pt:${String(this.#t.pad_top)} pb:${String(this.#t.pad_bottom)} w:${String(this.#t.$width)} h:${String(this.#t.$height)}`), this.#p.clear().beginFill(3407616, 0.2).lineStyle(1, 3407616, 1).drawRect(-this.#t.pad_left, -this.#t.pad_top, this.#t.$width, this.#t.$height).endFill().beginFill(13311, 0.2).lineStyle(2, 13311, 1).drawRect(
523
523
  0,
524
524
  0,
525
525
  this.#t.$width - this.#t.pad_left - this.#t.pad_right,
526
526
  this.#t.$height - this.#t.pad_top - this.#t.pad_bottom
527
527
  ).endFill()), this.#e.innerHTML = [...t].join("").replaceAll(/[\n\t]/g, "") + c.#U, !this.#l.break_fixed) {
528
- const u = globalThis.getComputedStyle(this.#e), $ = parseFloat(u.fontSize);
529
- this.#p ? (this.#l.break_fixed_left = (this.#t.$width - this.#t.pad_left - this.#t.pad_right - $ * 1.5) * this.sys.cvsScale, this.#l.break_fixed_top = 0) : (this.#l.break_fixed_left = 0, this.#l.break_fixed_top = $ / 2 * this.sys.cvsScale);
528
+ const g = globalThis.getComputedStyle(this.#e), $ = parseFloat(g.fontSize);
529
+ this.#f ? (this.#l.break_fixed_left = (this.#t.$width - this.#t.pad_left - this.#t.pad_right - $ * 1.5) * this.sys.cvsScale, this.#l.break_fixed_top = 0) : (this.#l.break_fixed_left = 0, this.#l.break_fixed_top = $ / 2 * this.sys.cvsScale);
530
530
  }
531
531
  } else
532
- i = this.#e.innerHTML, --s, this.#e.getElementsByClassName("sn_ch_last").item(0)?.remove(), this.#e.querySelectorAll(":scope > br").forEach((u) => u.remove()), this.#e.insertAdjacentHTML(
532
+ i = this.#e.innerHTML, --s, this.#e.getElementsByClassName("sn_ch_last").item(0)?.remove(), this.#e.querySelectorAll(":scope > br").forEach((g) => g.remove()), this.#e.insertAdjacentHTML(
533
533
  "beforeend",
534
- t.slice(this.#m).join("").replaceAll(/[\n\t]/g, "") + c.#U
534
+ t.slice(this.#y).join("").replaceAll(/[\n\t]/g, "") + c.#U
535
535
  // 末尾改行削除挙動対策
536
536
  );
537
- this.#e.querySelectorAll(".sn_ch:has(> ruby)").forEach((u) => {
538
- u.style.background = "";
539
- }), this.#m = t.length;
537
+ this.#e.querySelectorAll(".sn_ch:has(> ruby)").forEach((g) => {
538
+ g.style.background = "";
539
+ }), this.#y = t.length;
540
540
  const a = this.sys.cvsScale, n = this.#e.getBoundingClientRect(), l = n.left + this.#t.pad_left, h = n.top + this.#t.pad_top;
541
541
  let r;
542
- if (a === 1) r = (u, $) => {
543
- const S = u.getBoundingClientRect();
542
+ if (a === 1) r = (g, $) => {
543
+ const o = g.getBoundingClientRect();
544
544
  return new X(
545
- S.left - l,
546
- S.top - h,
547
- S.width,
548
- S.height + ("gjqy".includes($) ? this.#u : 0)
545
+ o.left - l,
546
+ o.top - h,
547
+ o.width,
548
+ o.height + ("gjqy".includes($) ? this.#u : 0)
549
549
  );
550
550
  };
551
551
  else {
552
- const u = this.sys.ofsPadLeft_Dom2PIXI + n.left * (1 - a), $ = this.sys.ofsPadTop_Dom2PIXI + n.top * (1 - a);
553
- r = (S, d) => {
554
- const o = S.getBoundingClientRect();
552
+ const g = this.sys.ofsPadLeft_Dom2PIXI + n.left * (1 - a), $ = this.sys.ofsPadTop_Dom2PIXI + n.top * (1 - a);
553
+ r = (o, d) => {
554
+ const u = o.getBoundingClientRect();
555
555
  return new X(
556
- (o.left - u) / a - l,
557
- (o.top - $) / a - h,
558
- o.width / a,
559
- (o.height + ("gjqy".includes(d) ? this.#u : 0)) / a
556
+ (u.left - g) / a - l,
557
+ (u.top - $) / a - h,
558
+ u.width / a,
559
+ (u.height + ("gjqy".includes(d) ? this.#u : 0)) / a
560
560
  );
561
561
  };
562
562
  }
563
- const [b, _] = this.#l.hyph(this.#e, r, this.#p, s, i);
564
- this.#F = b;
565
- const w = ct.ease(this.#C);
566
- for (let u = s; u < _; ++u) {
567
- const $ = this.#F[u], { elm: { dataset: S, parentElement: d }, rect: o } = $, m = JSON.parse(S.arg ?? '{"delay": 0}'), y = JSON.parse(S.add ?? "{}"), R = c.#$[y.ch_in_style];
568
- if (this.#y($), S.cmd === "grp") {
569
- const f = new T();
563
+ const [b, y] = this.#l.hyph(this.#e, r, this.#f, s, i);
564
+ this.#v = b;
565
+ const w = dt.ease(this.#C);
566
+ for (let g = s; g < y; ++g) {
567
+ const $ = this.#v[g], { elm: { dataset: o, parentElement: d }, rect: u } = $, m = JSON.parse(o.arg ?? '{"delay": 0}'), v = JSON.parse(o.add ?? "{}"), _ = c.#$[v.ch_in_style];
568
+ if (this.#g($), o.cmd === "grp") {
569
+ const f = new P();
570
570
  this.#h.addChild(f), new I(m.pic, f, (p) => {
571
- this.#P(f, m, y, o, w, R ?? {}), f.parent || f.removeChild(p);
571
+ this.#B(f, m, v, u, w, _ ?? {}), f.parent || f.removeChild(p);
572
572
  });
573
573
  }
574
- if (S.lnk) {
574
+ if (o.lnk) {
575
575
  const f = d.closest("[data-arg]"), p = JSON.parse(f.dataset.arg ?? "{}");
576
- p.key = `lnk=[${String(u)}] ` + this.name;
577
- const g = new G();
578
- this.#P(g, p, y, o, w, R ?? {});
579
- const C = p.style ?? "", M = C + (p.style_hover ?? ""), N = C + (p.style_clicked ?? ""), P = p.r_style ?? "", J = P + (p.r_style_hover ?? ""), nt = P + (p.r_style_clicked ?? ""), Z = Array.from(f.getElementsByTagName("rt"));
576
+ p.key = `lnk=[${String(g)}] ` + this.name;
577
+ const E = new G();
578
+ this.#B(E, p, v, u, w, _ ?? {});
579
+ const T = p.style ?? "", R = T + (p.style_hover ?? ""), J = T + (p.style_clicked ?? ""), O = p.r_style ?? "", nt = O + (p.r_style_hover ?? ""), at = O + (p.r_style_clicked ?? ""), Z = Array.from(f.getElementsByTagName("rt"));
580
580
  for (const z of Z) z.dataset.st_r_bk = z.style.cssText;
581
- const at = f.style.cssText, D = (z, ht) => {
582
- f.style.cssText = at + z;
583
- for (const L of Z) L.style.cssText = L.dataset.st_r_bk + ht;
581
+ const ht = f.style.cssText, D = (z, lt) => {
582
+ f.style.cssText = ht + z;
583
+ for (const L of Z) L.style.cssText = L.dataset.st_r_bk + lt;
584
584
  };
585
585
  F(p, "enabled", !0) ? c.#r.button(
586
586
  p,
587
- g,
588
- () => D(C, P),
589
- () => this.canFocus() ? (D(M, J), !0) : !1,
590
- () => D(N, nt)
587
+ E,
588
+ () => D(T, O),
589
+ () => this.canFocus() ? (D(R, nt), !0) : !1,
590
+ () => D(J, at)
591
591
  ) : D(
592
- C + (p.style_disable ?? "color: gray;"),
593
- P + (p.r_style_disable ?? "color: gray;")
594
- ), this.#h.addChild(g);
592
+ T + (p.style_disable ?? "color: gray;"),
593
+ O + (p.r_style_disable ?? "color: gray;")
594
+ ), this.#h.addChild(E);
595
595
  }
596
596
  }
597
- const E = Array.from(this.#e.getElementsByClassName("sn_ch_yet"));
597
+ const C = Array.from(this.#e.getElementsByClassName("sn_ch_yet"));
598
598
  this.#S = () => {
599
599
  this.#S = () => !1;
600
- for (const $ of E) $.className = "sn_ch";
601
- c.#j.position.set(
600
+ for (const $ of C) $.className = "sn_ch";
601
+ c.#O.position.set(
602
602
  this.#l.break_fixed_left,
603
603
  this.#l.break_fixed_top
604
- ), c.#j.visible = !0, this.noticeCompTxt();
605
- const u = this.#s.shift();
606
- return this.#s.length > 0 && u(), !0;
604
+ ), c.#O.visible = !0, this.noticeCompTxt();
605
+ const g = this.#s.shift();
606
+ return this.#s.length > 0 && g(), !0;
607
607
  };
608
- for (const u of E) u.className = u.className.replace("sn_ch_yet sn", "go");
608
+ for (const g of C) g.className = g.className.replace("sn_ch_yet sn", "go");
609
609
  s > 0 && ++s;
610
610
  let x;
611
- for (let u = _ - 2; u >= 0; --u) {
612
- const { elm: $ } = this.#F[u];
611
+ for (let g = y - 2; g >= 0; --g) {
612
+ const { elm: $ } = this.#v[g];
613
613
  if ($.tagName === "SPAN") {
614
614
  x = $.parentElement?.tagName === "RUBY" ? $.parentElement.parentElement ?? $ : $;
615
615
  break;
616
616
  }
617
617
  }
618
- if (!x || e || s === _) {
618
+ if (!x || e || s === y) {
619
619
  this.#S();
620
620
  return;
621
621
  }
622
- x.addEventListener("animationend", () => this.#S(), { once: !0 });
622
+ const N = () => {
623
+ x.removeEventListener("animationend", N), this.#S();
624
+ };
625
+ x.addEventListener("animationend", N, { once: !0, signal: this.#N.signal });
623
626
  }
624
627
  #S = () => !1;
625
628
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
626
- #P(t, e, s, i, a, n) {
629
+ #B(t, e, s, i, a, n) {
627
630
  t.alpha = 0, e.x && (i.x = e.x.startsWith("=") ? i.x + parseInt(e.x.slice(1)) : parseInt(e.x)), e.y && (i.y = e.y.startsWith("=") ? i.y + parseInt(e.y.slice(1)) : parseInt(e.y)), e.width && (i.width = parseInt(e.width)), e.height && (i.height = parseInt(e.height)), e.wait && (n.wait = e.wait), t.width = i.width, t.height = i.height, n.x ? t.position.set(
628
631
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call
629
632
  n.x.startsWith("=") ? i.x + t.width * n.nx : n.nx,
@@ -632,25 +635,25 @@ $1
632
635
  ) : t.position.set(i.x, i.y);
633
636
  const l = {
634
637
  sp: t,
635
- tw: new dt(t).to({ alpha: 1, x: i.x, y: i.y, width: i.width, height: i.height, angle: 0 }, n.wait ?? 0).easing(a).delay((s.wait ?? 0) + (e.delay ?? 0)).onComplete(() => {
638
+ tw: new pt(t).to({ alpha: 1, x: i.x, y: i.y, width: i.width, height: i.height, angle: 0 }, n.wait ?? 0).easing(a).delay((s.wait ?? 0) + (e.delay ?? 0)).onComplete(() => {
636
639
  l.tw = void 0;
637
640
  }).start()
638
641
  };
639
- this.#O.push(l);
642
+ this.#P.push(l);
640
643
  }
641
- #O = [];
644
+ #P = [];
642
645
  skipChIn() {
643
646
  let t = this.#S();
644
- for (const e of this.#O)
647
+ for (const e of this.#P)
645
648
  e.tw && (e.tw.stop().end(), t = !0);
646
- return this.#O = [], t;
649
+ return this.#P = [], t;
647
650
  }
648
651
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
649
652
  static #$ = /* @__PURE__ */ Object.create(null);
650
- static #I = /[{\s.,*{]/;
653
+ static #W = /[{\s.,*{]/;
651
654
  // https://regex101.com/r/APC91I/1
652
655
  static initChStyle() {
653
- c.#$ = /* @__PURE__ */ Object.create(null), c.#v = /* @__PURE__ */ Object.create(null);
656
+ c.#$ = /* @__PURE__ */ Object.create(null), c.#E = /* @__PURE__ */ Object.create(null);
654
657
  }
655
658
  static getChInStyle(t) {
656
659
  return c.#$[t];
@@ -658,13 +661,13 @@ $1
658
661
  static ch_in_style(t) {
659
662
  const { name: e } = t;
660
663
  if (!e) throw "nameは必須です";
661
- if (c.#I.test(e)) throw `name【${e}】に使えない文字が含まれます`;
664
+ if (c.#W.test(e)) throw `name【${e}】に使えない文字が含まれます`;
662
665
  if (e in c.#$) throw `name【${e}】はすでにあります`;
663
666
  const s = String(t.x ?? "=0"), i = String(t.y ?? "=0");
664
667
  return c.#$[e] = {
665
- wait: v(t, "wait", 500),
668
+ wait: S(t, "wait", 500),
666
669
  // アニメ・FI時間
667
- alpha: v(t, "alpha", 0),
670
+ alpha: S(t, "alpha", 0),
668
671
  x: s,
669
672
  // 初期x値
670
673
  y: i,
@@ -676,29 +679,29 @@ $1
676
679
  // {x:'=250,500'} +250から+500までの間でランダムな値を現在のX位置に加算
677
680
  nx: parseFloat(s.at(0) === "=" ? s.slice(1) : s),
678
681
  ny: parseFloat(i.at(0) === "=" ? i.slice(1) : i),
679
- scale_x: v(t, "scale_x", 1),
680
- scale_y: v(t, "scale_y", 1),
681
- rotate: v(t, "rotate", 0),
682
+ scale_x: S(t, "scale_x", 1),
683
+ scale_y: S(t, "scale_y", 1),
684
+ rotate: S(t, "rotate", 0),
682
685
  join: F(t, "join", !0),
683
686
  // 文字を順番に出すか(true)同時か(false)
684
687
  ease: t.ease ?? "ease-out"
685
688
  };
686
689
  }
687
690
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
688
- static #v = /* @__PURE__ */ Object.create(null);
691
+ static #E = /* @__PURE__ */ Object.create(null);
689
692
  static getChOutStyle(t) {
690
- return c.#v[t];
693
+ return c.#E[t];
691
694
  }
692
695
  static ch_out_style(t) {
693
696
  const { name: e } = t;
694
697
  if (!e) throw "nameは必須です";
695
- if (c.#I.test(e)) throw `name【${e}】に使えない文字が含まれます`;
696
- if (e in c.#v) throw `name【${e}】はすでにあります`;
698
+ if (c.#W.test(e)) throw `name【${e}】に使えない文字が含まれます`;
699
+ if (e in c.#E) throw `name【${e}】はすでにあります`;
697
700
  const s = String(t.x ?? "=0"), i = String(t.y ?? "=0");
698
- return c.#v[e] = {
699
- wait: v(t, "wait", 500),
701
+ return c.#E[e] = {
702
+ wait: S(t, "wait", 500),
700
703
  // アニメ・FI時間
701
- alpha: v(t, "alpha", 0),
704
+ alpha: S(t, "alpha", 0),
702
705
  x: s,
703
706
  // 初期x値
704
707
  y: i,
@@ -710,33 +713,34 @@ $1
710
713
  // {x:'=250,500'} +250から+500までの間でランダムな値を現在のX位置に加算
711
714
  nx: parseFloat(s.at(0) === "=" ? s.slice(1) : s),
712
715
  ny: parseFloat(i.at(0) === "=" ? i.slice(1) : i),
713
- scale_x: v(t, "scale_x", 1),
714
- scale_y: v(t, "scale_y", 1),
715
- rotate: v(t, "rotate", 0),
716
+ scale_x: S(t, "scale_x", 1),
717
+ scale_y: S(t, "scale_y", 1),
718
+ rotate: S(t, "rotate", 0),
716
719
  join: F(t, "join", !1),
717
720
  // 文字を順番に出すか(true)同時か(false)
718
721
  ease: t.ease ?? "ease-out"
719
722
  };
720
723
  }
721
- static #j = new T();
722
- static #W = new I();
724
+ static #O = new P();
725
+ static #H = new I();
723
726
  dispBreak(t) {
724
727
  c.delBreak();
725
- const e = c.#j;
726
- e.visible = !1, this.addChild(e), c.#W.destroy(), c.#W = new I(t.pic, e, (s) => {
727
- e.parent ? (s.x = v(t, "x", 0), s.y = v(t, "y", 0), s.width = v(t, "width", this.#t.fontsize), s.height = v(t, "height", this.#t.fontsize)) : e.removeChild(s);
728
+ const e = c.#O;
729
+ e.visible = !1, this.addChild(e), c.#H.destroy(), c.#H = new I(t.pic, e, (s) => {
730
+ e.parent ? (s.x = S(t, "x", 0), s.y = S(t, "y", 0), s.width = S(t, "width", this.#t.fontsize), s.height = S(t, "height", this.#t.fontsize)) : e.removeChild(s);
728
731
  });
729
732
  }
730
733
  static delBreak() {
731
- const t = c.#j;
732
- t.parent?.removeChild(t), c.#W.destroy();
734
+ const t = c.#O;
735
+ t.parent?.removeChild(t), c.#H.destroy();
733
736
  }
734
737
  #C = "Quadratic.Out";
735
- #E = "Quadratic.Out";
736
- #H() {
737
- this.#d.clear(), this.#F = [], this.#m = 0, this.#s = [], this.skipChIn();
738
- const t = this.#e.cloneNode(!0);
739
- t.textContent = "";
738
+ #R = "Quadratic.Out";
739
+ #N = new AbortController();
740
+ #z() {
741
+ this.#p.clear(), this.#v = [], this.#y = 0, this.#s = [], this.#N.abort(), this.#N = new AbortController(), this.skipChIn();
742
+ const t = document.createElement("span");
743
+ t.style.cssText = this.#e.style.cssText, t.classList.value = this.#e.classList.value;
740
744
  const e = this.#e, s = Array.from(e.getElementsByClassName("sn_ch"));
741
745
  e.parentElement.insertBefore(t, e);
742
746
  let i = 0;
@@ -748,7 +752,7 @@ $1
748
752
  // 縦中横
749
753
  );
750
754
  if (!l.ch_out_style) return;
751
- const h = c.#v[l.ch_out_style];
755
+ const h = c.#E[l.ch_out_style];
752
756
  if (h) {
753
757
  if (h.wait === 0) {
754
758
  n.style.display = "none";
@@ -760,17 +764,28 @@ $1
760
764
  const a = () => {
761
765
  e.parentElement.removeChild(e);
762
766
  for (const n of this.#h.removeChildren())
763
- n instanceof T && c.#r.unButton(n), n.destroy();
767
+ n instanceof P && c.#r.unButton(n), n.destroy();
764
768
  };
765
- i === 0 ? (this.#e.textContent = "", a()) : e.lastElementChild?.addEventListener("animationend", a, { once: !0 }), this.#e = t;
769
+ if (i === 0)
770
+ this.#e.textContent = "", this.#e = document.createElement("span"), a();
771
+ else {
772
+ const n = e.lastElementChild;
773
+ if (n) {
774
+ const l = () => {
775
+ n.removeEventListener("animationend", l), a();
776
+ };
777
+ n.addEventListener("animationend", l, { once: !0, signal: this.#N.signal });
778
+ } else a();
779
+ }
780
+ this.#e = t;
766
781
  }
767
782
  reNew() {
768
- this.#H();
769
- const t = new c(this.ctn, () => this.canFocus(), this.sys);
770
- return t.#t = this.#t, t.#e.style.cssText = this.#e.style.cssText, t.#o = this.#o, t.name = this.name, t.#g(), t.#M = this.#M, t.#C = this.#C, t.#E = this.#E, this.#l.reNew(t.#l), this.destroy(), t;
783
+ this.#z();
784
+ const t = new c(this.ctn, this.canFocus, this.sys);
785
+ return t.#t = this.#t, t.#e.style.cssText = this.#e.style.cssText, t.#o = this.#o, t.name = this.name, t.#_(), t.#F = this.#F, t.#C = this.#C, t.#R = this.#R, this.#l.reNew(t.#l), this.destroy(), t;
771
786
  }
772
787
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
773
- #M = void 0;
788
+ #F = void 0;
774
789
  // 文字にかけるフィルター
775
790
  record() {
776
791
  return {
@@ -778,14 +793,14 @@ $1
778
793
  cssText: this.#e.style.cssText,
779
794
  left: this.#o,
780
795
  // idc_hArg : this.#idc.gethArg(),
781
- ch_filter: this.#M,
796
+ ch_filter: this.#F,
782
797
  fi_easing: this.#C,
783
- fo_easing: this.#E,
798
+ fo_easing: this.#R,
784
799
  hyph: this.#l.record()
785
800
  };
786
801
  }
787
802
  playback(t) {
788
- this.#t = t.infTL, this.position.set(this.#t.pad_left, this.#t.pad_top), this.#e.style.cssText = t.cssText, this.#o = t.left, this.#g(), this.#M = t.ch_filter, this.#C = t.fi_easing, this.#E = t.fo_easing, this.#l.playback(t.hyph);
803
+ this.#t = t.infTL, this.position.set(this.#t.pad_left, this.#t.pad_top), this.#e.style.cssText = t.cssText, this.#o = t.left, this.#_(), this.#F = t.ch_filter, this.#C = t.fi_easing, this.#R = t.fo_easing, this.#l.playback(t.hyph);
789
804
  }
790
805
  get cssText() {
791
806
  return this.#e.style.cssText;
@@ -793,19 +808,19 @@ $1
793
808
  set cssText(t) {
794
809
  this.#e.style.cssText = t;
795
810
  }
796
- #f = void 0;
811
+ #d = void 0;
797
812
  snapshot(t, e) {
798
- yt((s) => {
799
- this.#f = G.from(s), this.#p && (this.#f.x += j.stageW - (this.#o + this.#t.$width)), this.#f.y -= this.#b, this.#f.texture.frame = new X(
813
+ mt((s) => {
814
+ this.#d = G.from(s), this.#f && (this.#d.x += j.stageW - (this.#o + this.#t.$width)), this.#d.y -= this.#b, this.#d.texture.frame = new X(
800
815
  0,
801
816
  0,
802
- Math.min(this.#f.width, this.#t.$width - this.#o),
803
- Math.min(this.#f.height, this.#t.$height)
804
- ), this.#h.addChild(this.#f), t.render(this.#f, { clear: !1 }), e();
817
+ Math.min(this.#d.width, this.#t.$width - this.#o),
818
+ Math.min(this.#d.height, this.#t.$height)
819
+ ), this.#h.addChild(this.#d), t.render(this.#d, { clear: !1 }), e();
805
820
  }, this.#e, this.#t, this.#i, this.#b, !1);
806
821
  }
807
822
  snapshot_end() {
808
- this.#f && (this.#h.removeChild(this.#f), this.#f = void 0);
823
+ this.#d && (this.#h.removeChild(this.#d), this.#d = void 0);
809
824
  }
810
825
  makeDesignCast(t) {
811
826
  }
@@ -821,7 +836,8 @@ $1
821
836
  return `"txt":"${this.#e.textContent.replaceAll(/(["\\])/g, "\\$1")}", "style":{${t.join(",")}}`;
822
837
  }
823
838
  destroy() {
824
- c.delBreak(), this.#e.parentElement.removeChild(this.#e), this.removeChild(this.#h), this.removeChild(this.#d), super.destroy();
839
+ c.delBreak(), this.#e.parentElement.removeChild(this.#e), this.#e = document.createElement("span"), this.removeChild(this.#h), this.removeChild(this.#p), this.#p.clear(), this.#g = () => {
840
+ }, this.#s = [], this.#v = [], this.#y = 0, this.#P = [], this.#N.abort(), this.#F = void 0, super.destroy();
825
841
  }
826
842
  }
827
843
  class k extends tt {
@@ -830,7 +846,7 @@ class k extends tt {
830
846
  static #r;
831
847
  static #a;
832
848
  static init(t, e, s, i, a, n) {
833
- this.#c = t, c.init(t, n), this.#n = s, this.#a = i, this.#r = a, s.setDoRecProc((l) => this.chgDoRec(l)), e.autowc = (l) => this.#u(l), e.autowc({ enabled: !1, text: "", time: 0 }), e.ch_in_style = (l) => this.#e(l), e.ch_out_style = (l) => this.#h(l), c.initChStyle(), rt(), V(
849
+ this.#c = t, c.init(t, n), this.#n = s, this.#a = i, this.#r = a, s.setDoRecProc((l) => this.chgDoRec(l)), e.autowc = (l) => this.#u(l), e.autowc({ enabled: !1, text: "", time: 0 }), e.ch_in_style = (l) => this.#e(l), e.ch_out_style = (l) => this.#h(l), c.initChStyle(), ot(), V(
834
850
  t.matchPath(".+", et.FONT).flatMap((l) => Object.values(l).map((h) => `
835
851
  @font-face {
836
852
  font-family: '${String(h)}';
@@ -875,7 +891,7 @@ class k extends tt {
875
891
  }
876
892
  // 文字出現演出
877
893
  static #e(t) {
878
- const { x: e, y: s, nx: i, ny: a, alpha: n, wait: l, ease: h, rotate: r, scale_x: b, scale_y: _ } = c.ch_in_style(t), w = e.startsWith("=") ? `${String(i * 100)}%` : `${String(i)}px`, E = s.startsWith("=") ? `${String(a * 100)}%` : `${String(a)}px`, { name: x = "" } = t;
894
+ const { x: e, y: s, nx: i, ny: a, alpha: n, wait: l, ease: h, rotate: r, scale_x: b, scale_y: y } = c.ch_in_style(t), w = e.startsWith("=") ? `${String(i * 100)}%` : `${String(i)}px`, C = s.startsWith("=") ? `${String(a * 100)}%` : `${String(a)}px`, { name: x = "" } = t;
879
895
  return V(`
880
896
  .sn_ch_in_${x} {
881
897
  position: relative;
@@ -888,14 +904,14 @@ class k extends tt {
888
904
  animation: sn_ch_in_${x} ${String(l)}ms ${h} 0s both;
889
905
  }
890
906
  @keyframes sn_ch_in_${x} {
891
- from {transform: rotate(${String(r)}deg) scale(${String(b)}, ${String(_)}) translate(${w}, ${E})}
907
+ from {transform: rotate(${String(r)}deg) scale(${String(b)}, ${String(y)}) translate(${w}, ${C})}
892
908
  to {opacity: 1; transform: none;}
893
909
  }
894
910
  `), !1;
895
911
  }
896
912
  // 文字消去演出
897
913
  static #h(t) {
898
- const { x: e, y: s, nx: i, ny: a, alpha: n, wait: l, ease: h, rotate: r, scale_x: b, scale_y: _ } = c.ch_out_style(t), w = e.startsWith("=") ? `${String(i * 100)}%` : `${String(i)}px`, E = s.startsWith("=") ? `${String(a * 100)}%` : `${String(a)}px`, { name: x = "" } = t;
914
+ const { x: e, y: s, nx: i, ny: a, alpha: n, wait: l, ease: h, rotate: r, scale_x: b, scale_y: y } = c.ch_out_style(t), w = e.startsWith("=") ? `${String(i * 100)}%` : `${String(i)}px`, C = s.startsWith("=") ? `${String(a * 100)}%` : `${String(a)}px`, { name: x = "" } = t;
899
915
  return V(`
900
916
  .go_ch_out_${x} {
901
917
  position: relative;
@@ -905,16 +921,16 @@ class k extends tt {
905
921
  @keyframes go_ch_out_${x} {
906
922
  to {
907
923
  opacity: ${String(n)};
908
- transform: rotate(${String(r)}deg) scale(${String(b)}, ${String(_)}) translate(${w}, ${E});
924
+ transform: rotate(${String(r)}deg) scale(${String(b)}, ${String(y)}) translate(${w}, ${C});
909
925
  }
910
926
  `), !1;
911
927
  }
912
- static #d = 10;
928
+ static #p = 10;
913
929
  static set msecChWait(t) {
914
- k.#d = t;
930
+ k.#p = t;
915
931
  }
916
932
  static get msecChWait() {
917
- return k.#d;
933
+ return k.#p;
918
934
  }
919
935
  static #k;
920
936
  static #l;
@@ -922,33 +938,33 @@ class k extends tt {
922
938
  this.#k = t, this.#l = e, c.setEvtMng(t, s);
923
939
  }
924
940
  // 文字ごとのウェイト
925
- static #y = !1;
941
+ static #g = !1;
926
942
  static #t = {};
927
943
  static #u(t) {
928
- this.#y = F(t, "enabled", this.#y), this.#n.setVal_Nochk("save", "const.sn.autowc.enabled", this.#y);
944
+ this.#g = F(t, "enabled", this.#g), this.#n.setVal_Nochk("save", "const.sn.autowc.enabled", this.#g);
929
945
  const { text: e } = t;
930
946
  if ("text" in t != "time" in t) throw "[autowc] textとtimeは同時指定必須です";
931
947
  if (this.#n.setVal_Nochk("save", "const.sn.autowc.text", e), !e)
932
948
  return this.#n.setVal_Nochk("save", "const.sn.autowc.time", ""), !1;
933
949
  const s = e.length;
934
- if (this.#y && s === 0) throw '[autowc] enabled === false かつ text === "" は許されません';
950
+ if (this.#g && s === 0) throw '[autowc] enabled === false かつ text === "" は許されません';
935
951
  const i = String(t.time).split(",");
936
952
  if (i.length !== s) throw "[autowc] text文字数とtimeに記述された待ち時間(コンマ区切り)は同数にして下さい";
937
953
  this.#t = {};
938
- for (let a = 0; a < s; ++a) this.#t[e[a]] = O(i[a]);
954
+ for (let a = 0; a < s; ++a) this.#t[e[a]] = M(i[a]);
939
955
  return this.#n.setVal_Nochk("save", "const.sn.autowc.time", t.time), !1;
940
956
  }
941
957
  // バック
942
- #g = 0;
958
+ #_ = 0;
943
959
  #o = 0;
944
- #p = !1;
960
+ #f = !1;
945
961
  #i = void 0;
946
962
  #b = "";
947
963
  // 背景画像無し(=単色塗り)
948
964
  // 文字表示
949
965
  #s = new c(this.ctn, () => this.canFocus(), k.#l);
950
- #F = new st();
951
- #m = document.createElement("span");
966
+ #v = new st();
967
+ #y = document.createElement("span");
952
968
  // cssチェック・保存用
953
969
  static #U = {
954
970
  "text-align": 0,
@@ -960,15 +976,15 @@ class k extends tt {
960
976
  "padding-top": 0,
961
977
  "padding-bottom": 0
962
978
  };
963
- #_ = new T();
979
+ #m = new P();
964
980
  constructor() {
965
- super(), this.ctn.addChild(this.#s), this.#F.init(this.#Y), this.ctn.addChild(this.#_), this.#_.name = "cntBtn", this.lay({ style: `width: ${String(j.stageW)}px; height: ${String(j.stageH)}px; font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif; color: white; font-size: 24px; line-height: 1.5; padding: ${String(16)}px;`, in_style: "default", out_style: "default", back_clear: "true" });
981
+ super(), this.ctn.addChild(this.#s), this.#v.init(this.#Y), this.ctn.addChild(this.#m), this.#m.name = "cntBtn", this.lay({ style: `width: ${String(j.stageW)}px; height: ${String(j.stageH)}px; font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif; color: white; font-size: 24px; line-height: 1.5; padding: ${String(16)}px;`, in_style: "default", out_style: "default", back_clear: "true" });
966
982
  }
967
983
  destroy() {
968
984
  this.#i && (this.ctn.removeChild(this.#i).destroy(), this.#i = void 0), k.#a.pagebreak(), this.#s.destroy();
969
985
  }
970
986
  static destroy() {
971
- this.#y = !1, this.#t = {}, this.#f = (t) => t;
987
+ this.#g = !1, this.#t = {}, this.#F = (t) => t;
972
988
  }
973
989
  set name(t) {
974
990
  this.name_ = t, this.#s.name = t;
@@ -981,7 +997,7 @@ class k extends tt {
981
997
  this.#s.cvsResize();
982
998
  }
983
999
  cvsResizeChildren() {
984
- for (const t of this.#_.children) t.cvsResize();
1000
+ for (const t of this.#m.children) t.cvsResize();
985
1001
  }
986
1002
  procSetX(t) {
987
1003
  this.#s.lay({ x: t });
@@ -990,11 +1006,11 @@ class k extends tt {
990
1006
  this.#s.lay({ y: t });
991
1007
  }
992
1008
  lay(t) {
993
- if (super.lay(t), tt.setXY(this.ctn, t, this.ctn), t[":id_tag"] = this.name_.slice(0, -7), st.setting(t), this.#W(t), this.#s.lay(t), "r_align" in t && (this.#x = t.r_align ?? ""), this.#z = j.isSafari ? this.#s.tategaki ? (i, a) => `text-align: start; height: ${String(a)}em; padding-top: ${i}; padding-bottom: ${i};` : (i, a) => `text-align: start; width: ${String(a)}em; padding-left: ${i}; padding-right: ${i};` : this.#s.tategaki ? (i) => `text-align: justify; text-align-last: justify; padding-top: ${i}; padding-bottom: ${i};` : (i) => `text-align: justify; text-align-last: justify; padding-left: ${i}; padding-right: ${i};`, j.isFirefox && (this.#q = this.#Z), "r_style" in t)
1009
+ if (super.lay(t), tt.setXY(this.ctn, t, this.ctn), t[":id_tag"] = this.name_.slice(0, -7), st.setting(t), this.#H(t), this.#s.lay(t), "r_align" in t && (this.#x = t.r_align ?? ""), this.#d = j.isSafari ? this.#s.tategaki ? (i, a) => `text-align: start; height: ${String(a)}em; padding-top: ${i}; padding-bottom: ${i};` : (i, a) => `text-align: start; width: ${String(a)}em; padding-left: ${i}; padding-right: ${i};` : this.#s.tategaki ? (i) => `text-align: justify; text-align-last: justify; padding-top: ${i}; padding-bottom: ${i};` : (i) => `text-align: justify; text-align-last: justify; padding-left: ${i}; padding-right: ${i};`, j.isFirefox && (this.#q = this.#Z), "r_style" in t)
994
1010
  if (t.r_style) {
995
1011
  const i = document.createElement("span");
996
1012
  i.style.cssText = t.r_style;
997
- const a = i.style.length, n = this.#m.style;
1013
+ const a = i.style.length, n = this.#y.style;
998
1014
  for (let l = 0; l < a; ++l) {
999
1015
  const h = i.style[l];
1000
1016
  if (h in k.#U) {
@@ -1004,10 +1020,10 @@ class k extends tt {
1004
1020
  const r = i.style[h];
1005
1021
  r && (n[h] = r);
1006
1022
  }
1007
- } else this.#m.style.cssText = "";
1008
- if ("alpha" in t) for (const i of this.#_.children) i.alpha = this.ctn.alpha;
1023
+ } else this.#y.style.cssText = "";
1024
+ if ("alpha" in t) for (const i of this.#m.children) i.alpha = this.ctn.alpha;
1009
1025
  this.#S(t), this.#$(t);
1010
- const e = W.procID + `TxtLayer lay name:${this.name_}`, s = this.#j(t, (i) => {
1026
+ const e = W.procID + `TxtLayer lay name:${this.name_}`, s = this.#O(t, (i) => {
1011
1027
  i && W.endProc(e);
1012
1028
  });
1013
1029
  return s && W.beginProc(e), s;
@@ -1017,10 +1033,10 @@ class k extends tt {
1017
1033
  if (!e) return;
1018
1034
  const s = c.getChInStyle(e);
1019
1035
  if (!s) throw `存在しないin_style【${e}】です`;
1020
- this.#P = e, this.#O = s.join;
1036
+ this.#B = e, this.#P = s.join;
1021
1037
  }
1022
- #P = "";
1023
- #O = !0;
1038
+ #B = "";
1039
+ #P = !0;
1024
1040
  get width() {
1025
1041
  return this.#s.getWidth;
1026
1042
  }
@@ -1031,48 +1047,48 @@ class k extends tt {
1031
1047
  const { out_style: e } = t;
1032
1048
  if (!e) return;
1033
1049
  if (!c.getChOutStyle(e)) throw `存在しないout_style【${e}】です`;
1034
- this.#I = e;
1050
+ this.#W = e;
1035
1051
  }
1036
- #I = "";
1037
- #v = new I();
1038
- #j(t, e) {
1052
+ #W = "";
1053
+ #E = new I();
1054
+ #O(t, e) {
1039
1055
  if ("back_clear" in t)
1040
- return F(t, "back_clear", !1) && (this.#g = 0, this.#o = 0, this.#p = !1, this.#b = ""), e(!1), !1;
1041
- this.#o = v(t, "b_alpha", this.#o), this.#p = F(t, "b_alpha_isfixed", this.#p);
1042
- const s = (this.#p ? 1 : Number(k.#n.getVal("sys:TextLayer.Back.Alpha"))) * this.#o;
1056
+ return F(t, "back_clear", !1) && (this.#_ = 0, this.#o = 0, this.#f = !1, this.#b = ""), e(!1), !1;
1057
+ this.#o = S(t, "b_alpha", this.#o), this.#f = F(t, "b_alpha_isfixed", this.#f);
1058
+ const s = (this.#f ? 1 : Number(k.#n.getVal("sys:TextLayer.Back.Alpha"))) * this.#o;
1043
1059
  if (t.b_pic) {
1044
1060
  if (this.#b !== t.b_pic)
1045
- return this.#b = t.b_pic, this.#i && (this.ctn.removeChild(this.#i), this.#i.destroy()), this.#v = new I(this.#b, this.ctn, (i) => {
1061
+ return this.#b = t.b_pic, this.#i && (this.ctn.removeChild(this.#i), this.#i.destroy()), this.#E = new I(this.#b, this.ctn, (i) => {
1046
1062
  this.#i = i, i.name = "back(pic)", i.visible = s > 0, i.alpha = s, this.#s.setMySize(i.width, i.height), this.ctn.setChildIndex(i, 0), e(!0);
1047
- }), this.#v.ret;
1048
- } else "b_color" in t && (this.#g = ot(t, "b_color", 0), this.#i && (this.ctn.removeChild(this.#i), this.#i.destroy()), this.#b = "", this.ctn.addChildAt(
1049
- (this.#i = new B()).beginFill(this.#g, s).lineStyle(void 0).drawRect(0, 0, this.#s.getWidth, this.#s.getHeight).endFill(),
1063
+ }), this.#E.ret;
1064
+ } else "b_color" in t && (this.#_ = ct(t, "b_color", 0), this.#i && (this.ctn.removeChild(this.#i), this.#i.destroy()), this.#b = "", this.ctn.addChildAt(
1065
+ (this.#i = new B()).beginFill(this.#_, s).lineStyle(void 0).drawRect(0, 0, this.#s.getWidth, this.#s.getHeight).endFill(),
1050
1066
  0
1051
1067
  ), this.#i.name = "back(color)");
1052
1068
  return this.#i && (this.#i.visible = s > 0, this.#i.alpha = s), e(!1), !1;
1053
1069
  }
1054
1070
  chgBackAlpha(t) {
1055
- const e = this.#p ? this.#o : t * this.#o;
1071
+ const e = this.#f ? this.#o : t * this.#o;
1056
1072
  this.#i instanceof B && (this.#i && (this.ctn.removeChild(this.#i), this.#i.destroy()), this.ctn.addChildAt(
1057
- (this.#i = new B()).beginFill(this.#g, e).lineStyle(void 0).drawRect(0, 0, this.#s.getWidth, this.#s.getHeight).endFill(),
1073
+ (this.#i = new B()).beginFill(this.#_, e).lineStyle(void 0).drawRect(0, 0, this.#s.getWidth, this.#s.getHeight).endFill(),
1058
1074
  0
1059
1075
  ), this.#i.name = "back(color)"), this.#i && (this.#i.visible = e > 0, this.#i.alpha = e);
1060
1076
  }
1061
- #W(t) {
1062
- "noffs" in t && (this.#H = t.noffs ?? "", this.#M = new RegExp(`[ ${this.#H}]`)), "ffs" in t && (this.#C ??= "", this.#E = this.#C === "" ? () => "" : (e) => this.#M.test(e) ? "" : ` font-feature-settings: ${this.#C};`);
1077
+ #H(t) {
1078
+ "noffs" in t && (this.#N = t.noffs ?? "", this.#z = new RegExp(`[ ${this.#N}]`)), "ffs" in t && (this.#C ??= "", this.#R = this.#C === "" ? () => "" : (e) => this.#z.test(e) ? "" : ` font-feature-settings: ${this.#C};`);
1063
1079
  }
1064
1080
  #C = "";
1065
- #E = (t) => "";
1066
- #H = "";
1081
+ #R = (t) => "";
1082
+ #N = "";
1067
1083
  // eslint-disable-next-line no-irregular-whitespace
1068
- #M = /[ ]/;
1084
+ #z = /[ ]/;
1069
1085
  // Safariが全体に「font-feature-settings」した後、特定文字の「font-feature-settings: initial;」を受け付けてくれないのでわざわざ一つずつ指定
1070
1086
  static chgDoRec(t) {
1071
- this.#f = t ? (e) => e : (e) => `<span class='offrec'>${e}</span>`;
1087
+ this.#F = t ? (e) => e : (e) => `<span class='offrec'>${e}</span>`;
1072
1088
  }
1073
- static #f = (t) => t;
1089
+ static #F = (t) => t;
1074
1090
  isCur = !1;
1075
- #z = () => "";
1091
+ #d = () => "";
1076
1092
  #q = (t, e, s, i = "") => {
1077
1093
  if (!s) return ` style='${i}'`;
1078
1094
  const a = t.length * 2;
@@ -1080,16 +1096,16 @@ class k extends tt {
1080
1096
  let n = "";
1081
1097
  switch (s) {
1082
1098
  case "justify":
1083
- n = this.#z("0", a);
1099
+ n = this.#d("0", a);
1084
1100
  break;
1085
1101
  case "121":
1086
- n = this.#z(`calc(${String((a - e.length) / (e.length * 2))}em)`, a);
1102
+ n = this.#d(`calc(${String((a - e.length) / (e.length * 2))}em)`, a);
1087
1103
  break;
1088
1104
  case "even":
1089
- n = this.#z(`calc(${String((a - e.length) / (e.length + 1))}em)`, a);
1105
+ n = this.#d(`calc(${String((a - e.length) / (e.length + 1))}em)`, a);
1090
1106
  break;
1091
1107
  case "1ruby":
1092
- n = this.#z("1em", a);
1108
+ n = this.#d("1em", a);
1093
1109
  break;
1094
1110
  default:
1095
1111
  n = `text-align: ${s};`;
@@ -1133,7 +1149,7 @@ class k extends tt {
1133
1149
  return ` style='${n} ${i}'`;
1134
1150
  }
1135
1151
  tagCh(t) {
1136
- this.#F.putTxt(t);
1152
+ this.#v.putTxt(t);
1137
1153
  }
1138
1154
  #w = !1;
1139
1155
  get needGoTxt() {
@@ -1149,10 +1165,10 @@ class k extends tt {
1149
1165
  case 1:
1150
1166
  if (this.#w = !0, t === `
1151
1167
  `) {
1152
- this.#T ? (this.#T = !1, a = "<ruby>&emsp;<rt>&emsp;</rt></ruby><br/>") : a = "<br/>";
1168
+ this.#M ? (this.#M = !1, a = "<ruby>&emsp;<rt>&emsp;</rt></ruby><br/>") : a = "<br/>";
1153
1169
  break;
1154
1170
  }
1155
- this.#T && (this.#T = !1, s === "" && (s = "&emsp;")), a = this.#X(t, s, this.#x);
1171
+ this.#M && (this.#M = !1, s === "" && (s = "&emsp;")), a = this.#X(t, s, this.#x);
1156
1172
  break;
1157
1173
  default:
1158
1174
  switch (n) {
@@ -1172,54 +1188,54 @@ class k extends tt {
1172
1188
  case "even":
1173
1189
  //(均等アキ)ルビの前後、ルビ間も均等にあける
1174
1190
  case "1ruby":
1175
- this.#T = !1, this.#w = !0, a = this.#X(t, h, n);
1191
+ this.#M = !1, this.#w = !0, a = this.#X(t, h, n);
1176
1192
  break;
1177
1193
  case "gotxt":
1178
1194
  this.#V(), this.#w ? (this.isCur && k.#a.recText(
1179
- this.#R.join("").replace(/^<ruby>&emsp;<rt>&emsp;<\/rt><\/ruby>(<br\/>)+/, "").replaceAll(/style='(anim\S+ [^;]+;\s*)+/g, "style='").replaceAll(/( style=''| data-(add|arg|cmd)='[^']+'|\n+|\t+)/g, "").replaceAll(/class='sn_ch[^']+/g, "class='sn_ch").replaceAll("display: none;", "").replaceAll("class='offrec'", "style='display: none;'")
1180
- ), this.#s.goTxt(this.#R, this.#B === 0), this.#w = !1, this.#B = 0) : this.isCur && this.#s.noticeCompTxt();
1195
+ this.#T.join("").replace(/^<ruby>&emsp;<rt>&emsp;<\/rt><\/ruby>(<br\/>)+/, "").replaceAll(/style='(anim\S+ [^;]+;\s*)+/g, "style='").replaceAll(/( style=''| data-(add|arg|cmd)='[^']+'|\n+|\t+)/g, "").replaceAll(/class='sn_ch[^']+/g, "class='sn_ch").replaceAll("display: none;", "").replaceAll("class='offrec'", "style='display: none;'")
1196
+ ), this.#s.goTxt(this.#T, this.#I === 0), this.#w = !1, this.#I = 0) : this.isCur && this.#s.noticeCompTxt();
1181
1197
  return;
1182
1198
  // breakではない
1183
1199
  case "add":
1184
1200
  {
1185
- const r = JSON.parse(h), { style: b = "", wait: _ = null } = r, { cl: w, sty: E } = this.#D(!0, _ ? O(_) : null);
1186
- this.#R.push(`<span${w} style='${E} display: inline; ${b}'>`), delete r.style, this.#K(r);
1201
+ const r = JSON.parse(h), { style: b = "", wait: y = null } = r, { cl: w, sty: C } = this.#D(!0, y ? M(y) : null);
1202
+ this.#T.push(`<span${w} style='${C} display: inline; ${b}'>`), delete r.style, this.#K(r);
1187
1203
  }
1188
1204
  return;
1189
1205
  // breakではない
1190
1206
  case "add_close":
1191
- this.#R.push("</span>"), this.#V();
1207
+ this.#T.push("</span>"), this.#V();
1192
1208
  return;
1193
1209
  // breakではない
1194
1210
  case "grp":
1195
1211
  this.#w = !0;
1196
1212
  {
1197
1213
  const r = JSON.parse(h);
1198
- if (r.id ??= String(this.#R.length), r.id === "break") {
1214
+ if (r.id ??= String(this.#T.length), r.id === "break") {
1199
1215
  this.#s.dispBreak(r);
1200
1216
  return;
1201
1217
  }
1202
- this.#T = !1, r.delay = this.#B, r.r ??= "", r.style ??= "", r.r_style ??= "";
1203
- const { r: b, wait: _ = null, r_style: w } = r, { cl: E, sty: x, lnk: u } = this.#D(!0, _ ? O(_) : null);
1204
- a = `<span${E} style='${x} ${r.style}'><ruby><span data-cmd='grp' data-arg='${JSON.stringify(r)}'${u} style='${x} display: inline;'>&emsp;</span><rt${u}${this.#q(
1218
+ this.#M = !1, r.delay = this.#I, r.r ??= "", r.style ??= "", r.r_style ??= "";
1219
+ const { r: b, wait: y = null, r_style: w } = r, { cl: C, sty: x, lnk: N } = this.#D(!0, y ? M(y) : null);
1220
+ a = `<span${C} style='${x} ${r.style}'><ruby><span data-cmd='grp' data-arg='${JSON.stringify(r)}'${N} style='${x} display: inline;'>&emsp;</span><rt${N}${this.#q(
1205
1221
  " ",
1206
1222
  b,
1207
1223
  this.#x,
1208
- this.#m.style.cssText + (this.#N.at(-1)?.o.r_style ?? "") + w
1224
+ this.#y.style.cssText + (this.#j.at(-1)?.o.r_style ?? "") + w
1209
1225
  )}>${r.r}</rt></ruby></span>`;
1210
1226
  }
1211
1227
  break;
1212
1228
  case "tcy":
1213
- this.#T = !1, this.#w = !0;
1229
+ this.#M = !1, this.#w = !0;
1214
1230
  {
1215
- const { t: r = "", r: b = "", wait: _ = null, style: w = "", r_style: E = "" } = JSON.parse(h);
1231
+ const { t: r = "", r: b = "", wait: y = null, style: w = "", r_style: C = "" } = JSON.parse(h);
1216
1232
  k.#n.doRecLog() && (this.#G += t + (s ? `《${s}》` : ""), this.#J += r);
1217
- const x = j.isSafari ? b.replaceAll(/[A-Za-z0-9]/g, (d) => String.fromCharCode(d.charCodeAt(0) + 65248)) : b, { cl: u, sty: $, lnk: S } = this.#D(!0, _ ? O(_) : null);
1218
- a = `<span${u} style='${$}${this.#E(r)} ${w}'><ruby><span${S} style='${$} display: inline; text-combine-upright: all;'>${r}</span><rt${S}${this.#q(
1233
+ const x = j.isSafari ? b.replaceAll(/[A-Za-z0-9]/g, (o) => String.fromCharCode(o.charCodeAt(0) + 65248)) : b, { cl: N, sty: g, lnk: $ } = this.#D(!0, y ? M(y) : null);
1234
+ a = `<span${N} style='${g}${this.#R(r)} ${w}'><ruby><span${$} style='${g} display: inline; text-combine-upright: all;'>${r}</span><rt${$}${this.#q(
1219
1235
  r,
1220
1236
  x,
1221
1237
  this.#x,
1222
- this.#m.style.cssText + (this.#N.at(-1)?.o.r_style ?? "") + E
1238
+ this.#y.style.cssText + (this.#j.at(-1)?.o.r_style ?? "") + C
1223
1239
  )}>${x}</rt></ruby></span>`;
1224
1240
  }
1225
1241
  break;
@@ -1236,13 +1252,13 @@ class k extends tt {
1236
1252
  {
1237
1253
  const r = JSON.parse(h);
1238
1254
  r[":link"] = " data-lnk='@'";
1239
- const { cl: b, sty: _, curpos: w } = this.#D(!1, r.wait ? O(r.wait) : null);
1240
- this.#R.push(`<span${b} style='${_} display: inline; ${r.style ?? ""}' ${w} data-arg='${h}'>`), delete r.style, this.#Q(r);
1255
+ const { cl: b, sty: y, curpos: w } = this.#D(!1, r.wait ? M(r.wait) : null);
1256
+ this.#T.push(`<span${b} style='${y} display: inline; ${r.style ?? ""}' ${w} data-arg='${h}'>`), delete r.style, this.#Q(r);
1241
1257
  }
1242
1258
  return;
1243
1259
  // breakではない
1244
1260
  case "endlink":
1245
- this.#w = !0, this.#R.push("</span>"), this.#V();
1261
+ this.#w = !0, this.#T.push("</span>"), this.#V();
1246
1262
  return;
1247
1263
  // breakではない
1248
1264
  default:
@@ -1250,52 +1266,52 @@ class k extends tt {
1250
1266
  }
1251
1267
  break;
1252
1268
  }
1253
- this.#R.push(k.#f(a));
1269
+ this.#T.push(k.#F(a));
1254
1270
  };
1255
1271
  #X(t, e, s) {
1256
1272
  const i = t === " " ? "&nbsp;" : t === " " ? "&emsp;" : t;
1257
1273
  k.#n.doRecLog() && (this.#G += i + (e ? `《${e}》` : ""), t !== " " && (this.#J += t));
1258
1274
  const { cl: a, sty: n, lnk: l } = this.#D(!0, null, t);
1259
- return e ? `<span${a} style='${n} ${this.#E(t)}'><ruby>${// 文字個別に出現させるため以下にも ${cl} が必要
1275
+ return e ? `<span${a} style='${n} ${this.#R(t)}'><ruby>${// 文字個別に出現させるため以下にも ${cl} が必要
1260
1276
  Array.from(t).map((h, r) => `<span${a}${l} style='${r > 0 ? this.#D(!0, null, t).sty : n} display: inline;'>${h === " " ? "&nbsp;" : h === " " ? "&emsp;" : h}</span>`).join("")}<rt${l}${this.#q(
1261
1277
  t,
1262
1278
  e,
1263
1279
  s,
1264
- this.#m.style.cssText + (this.#N.at(-1)?.o.r_style ?? "")
1265
- )}>${e}</rt></ruby></span>` : `<span${a} style='${n} ${this.#E(t)}'${l}>${i}</span>`;
1280
+ this.#y.style.cssText + (this.#j.at(-1)?.o.r_style ?? "")
1281
+ )}>${e}</rt></ruby></span>` : `<span${a} style='${n} ${this.#R(t)}'${l}>${i}</span>`;
1266
1282
  }
1267
1283
  #D(t, e, s = `
1268
1284
  `) {
1269
- const i = this.#O ? e ?? this.#N.at(0)?.o.wait ?? (k.#y ? k.#t[s.at(0) ?? ""] ?? 0 : k.msecChWait) : 0;
1270
- k.#k.isSkipping ? this.#B = 0 : t && this.#O && (this.#B += O(i));
1271
- const a = `data-add='{"ch_in_style":"${this.#P}", "ch_out_style":"${this.#I}"}'`;
1285
+ const i = this.#P ? e ?? this.#j.at(0)?.o.wait ?? (k.#g ? k.#t[s.at(0) ?? ""] ?? 0 : k.msecChWait) : 0;
1286
+ k.#k.isSkipping ? this.#I = 0 : t && this.#P && (this.#I += M(i));
1287
+ const a = `data-add='{"ch_in_style":"${this.#B}", "ch_out_style":"${this.#W}"}'`;
1272
1288
  return {
1273
- cl: ` class='sn_ch sn_ch_yet sn_ch_in_${this.#P}'`,
1289
+ cl: ` class='sn_ch sn_ch_yet sn_ch_in_${this.#B}'`,
1274
1290
  // TxtStage.goTxt()はこれ単位で文字出現させる
1275
- sty: `animation-delay: ${String(this.#B)}ms;${this.#N.at(-1)?.o.style ?? ""}`,
1291
+ sty: `animation-delay: ${String(this.#I)}ms;${this.#j.at(-1)?.o.style ?? ""}`,
1276
1292
  // TxtStage.goTxt()はこれ単位で文字出現させる
1277
- lnk: (this.#N.at(0)?.o[":link"] ?? "") + " " + a,
1293
+ lnk: (this.#j.at(0)?.o[":link"] ?? "") + " " + a,
1278
1294
  curpos: a
1279
1295
  };
1280
1296
  }
1281
- #B = 0;
1282
- #T = !0;
1283
- #R = [];
1284
- #N = [];
1297
+ #I = 0;
1298
+ #M = !0;
1299
+ #T = [];
1300
+ #j = [];
1285
1301
  #K(t) {
1286
- this.#N.push({
1302
+ this.#j.push({
1287
1303
  o: t,
1288
1304
  r_align: this.#x,
1289
- ch_in_style: this.#P,
1290
- ch_out_style: this.#I
1305
+ ch_in_style: this.#B,
1306
+ ch_out_style: this.#W
1291
1307
  }), t.r_align && (this.#x = t.r_align), this.#S(t), this.#$(t);
1292
1308
  }
1293
1309
  #V() {
1294
- const t = this.#N.pop();
1310
+ const t = this.#j.pop();
1295
1311
  t && (this.#x = t.r_align, this.#S({ in_style: t.ch_in_style }), this.#$({ out_style: t.ch_out_style }));
1296
1312
  }
1297
1313
  #Q(t) {
1298
- const e = this.#N.at(-1);
1314
+ const e = this.#j.at(-1);
1299
1315
  if (!e) {
1300
1316
  this.#K(t);
1301
1317
  return;
@@ -1304,7 +1320,7 @@ class k extends tt {
1304
1320
  }
1305
1321
  click = () => !this.ctn.interactiveChildren || !this.ctn.visible ? !1 : this.#s.skipChIn();
1306
1322
  clearText() {
1307
- this.ctn.addChild(this.#s = this.#s.reNew()), this.#B = 0, this.#T = !0, this.#R = [], this.#G = "", this.#J = "", k.#a.pagebreak();
1323
+ this.ctn.removeChild(this.#s), this.ctn.addChild(this.#s = this.#s.reNew()), this.#I = 0, this.#M = !0, this.#T = [], this.#G = "", this.#J = "", k.#a.pagebreak();
1308
1324
  }
1309
1325
  #G = "";
1310
1326
  #J = "";
@@ -1321,38 +1337,38 @@ class k extends tt {
1321
1337
  this.ctn.interactiveChildren = t;
1322
1338
  }
1323
1339
  addButton = (t) => new Promise((e) => {
1324
- t.key = `btn=[${String(this.#_.children.length)}] ` + this.name_, t[":id_tag"] = t.key.slice(0, -7), F(t, "hint_tate", this.#s.tategaki);
1325
- const s = new pt(t, k.#k, () => e(), () => this.canFocus());
1326
- s.name = JSON.stringify(t).replaceAll('"', "'"), this.#_.addChild(s);
1340
+ t.key = `btn=[${String(this.#m.children.length)}] ` + this.name_, t[":id_tag"] = t.key.slice(0, -7), F(t, "hint_tate", this.#s.tategaki);
1341
+ const s = new ft(t, k.#k, () => e(), () => this.canFocus());
1342
+ s.name = JSON.stringify(t).replaceAll('"', "'"), this.#m.addChild(s);
1327
1343
  });
1328
1344
  canFocus() {
1329
1345
  return (this.ctn.interactiveChildren ?? !1) && this.ctn.visible && k.#r(this);
1330
1346
  }
1331
1347
  clearLay(t) {
1332
1348
  super.clearLay(t), this.clearText();
1333
- for (const e of this.#_.removeChildren()) e.destroy();
1349
+ for (const e of this.#m.removeChildren()) e.destroy();
1334
1350
  }
1335
1351
  record = () => ({
1336
1352
  ...super.record(),
1337
1353
  enabled: this.enabled,
1338
- r_cssText: this.#m.style.cssText,
1354
+ r_cssText: this.#y.style.cssText,
1339
1355
  r_align: this.#x,
1340
1356
  // バック
1341
1357
  b_do: this.#i === void 0 ? void 0 : this.#i instanceof G ? "Sprite" : "Graphics",
1342
1358
  b_pic: this.#b,
1343
- b_color: this.#g,
1359
+ b_color: this.#_,
1344
1360
  b_alpha: this.#o,
1345
- b_alpha_isfixed: this.#p,
1361
+ b_alpha_isfixed: this.#f,
1346
1362
  ffs: this.#C,
1347
1363
  txs: this.#s.record(),
1348
- strNoFFS: this.#H,
1349
- btns: this.#_.children.map((t) => t.name)
1364
+ strNoFFS: this.#N,
1365
+ btns: this.#m.children.map((t) => t.name)
1350
1366
  });
1351
1367
  playback(t, e) {
1352
- super.playback(t, e), this.enabled = t.enabled, this.#m.style.cssText = t.r_cssText, this.#x = t.r_align, this.cvsResize(), this.#W(t), this.#s.playback(t.txs), this.#o = t.b_alpha, this.#p = t.b_alpha_isfixed, e.push(
1368
+ super.playback(t, e), this.enabled = t.enabled, this.#y.style.cssText = t.r_cssText, this.#x = t.r_align, this.cvsResize(), this.#H(t), this.#s.playback(t.txs), this.#o = t.b_alpha, this.#f = t.b_alpha_isfixed, e.push(
1353
1369
  new Promise((s) => {
1354
1370
  const i = t.b_do ? t.b_do === "Sprite" ? { b_pic: t.b_pic } : { b_color: t.b_color } : { b_pic: "" };
1355
- i.b_alpha = t.b_alpha, i.b_alpha_isfixed = t.b_alpha_isfixed, this.#j(i, (a) => {
1371
+ i.b_alpha = t.b_alpha, i.b_alpha_isfixed = t.b_alpha_isfixed, this.#O(i, (a) => {
1356
1372
  a && s();
1357
1373
  }) || s();
1358
1374
  }),
@@ -1376,25 +1392,25 @@ class k extends tt {
1376
1392
  }
1377
1393
  makeDesignCastChildren(t) {
1378
1394
  if (this.ctn.visible)
1379
- for (const e of this.#_.children) e.makeDesignCast(t);
1395
+ for (const e of this.#m.children) e.makeDesignCast(t);
1380
1396
  }
1381
1397
  showDesignCast() {
1382
1398
  this.#s.showDesignCast();
1383
1399
  }
1384
1400
  showDesignCastChildren() {
1385
- for (const t of this.#_.children) t.showDesignCast();
1401
+ for (const t of this.#m.children) t.showDesignCast();
1386
1402
  }
1387
1403
  dump() {
1388
- return this.#Y("", "gotxt|"), super.dump() + `, "enabled":"${String(this.enabled)}", ${this.#s.dump()}, "b_pic":"${this.#b}", "b_color":"${String(this.#g)}", "b_alpha":${String(this.#o)}, "b_alpha_isfixed":"${String(this.#p)}", "width":${String(this.#s.getWidth)}, "height":${String(this.#s.getHeight)}, "pixi_obj":[${this.ctn.children.map((t) => `{"class":"${t instanceof G ? "Sprite" : t instanceof B ? "Graphics" : t instanceof T ? "Container" : "?"}", "name":"${t.name}", "alpha":${String(t.alpha)}, "x":${String(t.x)}, "y":${String(t.y)}, "visible":"${String(t.visible)}"}`).join(",")}], "button":[${this.#_.children.map((t) => t.children[0]?.name ?? "{}").join(",")}]`;
1404
+ return this.#Y("", "gotxt|"), super.dump() + `, "enabled":"${String(this.enabled)}", ${this.#s.dump()}, "b_pic":"${this.#b}", "b_color":"${String(this.#_)}", "b_alpha":${String(this.#o)}, "b_alpha_isfixed":"${String(this.#f)}", "width":${String(this.#s.getWidth)}, "height":${String(this.#s.getHeight)}, "pixi_obj":[${this.ctn.children.map((t) => `{"class":"${t instanceof G ? "Sprite" : t instanceof B ? "Graphics" : t instanceof P ? "Container" : "?"}", "name":"${t.name}", "alpha":${String(t.alpha)}, "x":${String(t.x)}, "y":${String(t.y)}, "visible":"${String(t.visible)}"}`).join(",")}], "button":[${this.#m.children.map((t) => t.children[0]?.name ?? "{}").join(",")}]`;
1389
1405
  }
1390
1406
  }
1391
- const Ct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1407
+ const vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1392
1408
  __proto__: null,
1393
1409
  TxtLayer: k
1394
1410
  }, Symbol.toStringTag, { value: "Module" }));
1395
1411
  export {
1396
1412
  k as T,
1397
1413
  c as a,
1398
- Ct as b
1414
+ vt as b
1399
1415
  };
1400
1416
  //# sourceMappingURL=TxtLayer.js.map