@loaders.gl/textures 4.0.0-alpha.9 → 4.0.0-beta.2

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.
Files changed (121) hide show
  1. package/dist/basis-worker-node.js +392 -340
  2. package/dist/basis-worker.js +66 -38
  3. package/dist/compressed-texture-loader.d.ts +2 -35
  4. package/dist/compressed-texture-loader.d.ts.map +1 -1
  5. package/dist/compressed-texture-worker.js +75 -47
  6. package/dist/crunch-loader.d.ts +9 -17
  7. package/dist/crunch-loader.d.ts.map +1 -1
  8. package/dist/crunch-worker.js +53 -25
  9. package/dist/dist.min.js +99 -55
  10. package/dist/es5/compressed-texture-loader.js +15 -17
  11. package/dist/es5/compressed-texture-loader.js.map +1 -1
  12. package/dist/es5/crunch-loader.js +1 -3
  13. package/dist/es5/crunch-loader.js.map +1 -1
  14. package/dist/es5/index.js +14 -0
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/ktx2-basis-writer.js +5 -5
  17. package/dist/es5/ktx2-basis-writer.js.map +1 -1
  18. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
  19. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  20. package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
  21. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  22. package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
  23. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  24. package/dist/es5/lib/parsers/parse-basis.js +7 -7
  25. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  26. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  27. package/dist/es5/lib/utils/version.js +1 -1
  28. package/dist/es5/lib/utils/version.js.map +1 -1
  29. package/dist/es5/workers/compressed-texture-worker.js.map +1 -1
  30. package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  31. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
  32. package/dist/esm/compressed-texture-loader.js +10 -11
  33. package/dist/esm/compressed-texture-loader.js.map +1 -1
  34. package/dist/esm/crunch-loader.js +0 -1
  35. package/dist/esm/crunch-loader.js.map +1 -1
  36. package/dist/esm/index.js +2 -0
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/ktx2-basis-writer.js +6 -5
  39. package/dist/esm/ktx2-basis-writer.js.map +1 -1
  40. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  41. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  42. package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
  43. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  44. package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
  45. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  46. package/dist/esm/lib/parsers/parse-basis.js +3 -3
  47. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  48. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  49. package/dist/esm/lib/utils/version.js +1 -1
  50. package/dist/esm/lib/utils/version.js.map +1 -1
  51. package/dist/esm/workers/compressed-texture-worker.js.map +1 -1
  52. package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  53. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/ktx2-basis-writer-worker-node.js +387 -333
  57. package/dist/ktx2-basis-writer-worker.js +61 -31
  58. package/dist/ktx2-basis-writer.d.ts +8 -7
  59. package/dist/ktx2-basis-writer.d.ts.map +1 -1
  60. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  61. package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
  62. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
  63. package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
  64. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
  65. package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
  66. package/dist/npy-worker.js +9 -4
  67. package/dist/workers/crunch-worker.d.ts +13 -9
  68. package/dist/workers/crunch-worker.d.ts.map +1 -1
  69. package/package.json +7 -7
  70. package/src/compressed-texture-loader.ts +14 -17
  71. package/src/crunch-loader.ts +10 -7
  72. package/src/index.ts +4 -0
  73. package/src/ktx2-basis-writer.ts +14 -13
  74. package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
  75. package/src/lib/parsers/basis-module-loader.ts +19 -16
  76. package/src/lib/parsers/crunch-module-loader.ts +6 -1
  77. package/src/lib/parsers/parse-basis.ts +3 -3
  78. package/src/lib/texture-api/deep-load.ts +0 -1
  79. package/src/workers/compressed-texture-worker.ts +1 -0
  80. package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
  81. package/src/workers/ktx2-basis-writer-worker.ts +2 -2
  82. package/dist/basis-loader.js +0 -37
  83. package/dist/bundle.js +0 -5
  84. package/dist/compressed-texture-loader.js +0 -64
  85. package/dist/compressed-texture-writer.js +0 -34
  86. package/dist/crunch-loader.js +0 -25
  87. package/dist/index.js +0 -52
  88. package/dist/ktx2-basis-writer.js +0 -26
  89. package/dist/lib/encoders/encode-ktx.js +0 -10
  90. package/dist/lib/encoders/encode-ktx2-basis-texture.js +0 -41
  91. package/dist/lib/encoders/encode-texture.js +0 -27
  92. package/dist/lib/gl-extensions.js +0 -72
  93. package/dist/lib/parsers/basis-module-loader.js +0 -114
  94. package/dist/lib/parsers/crunch-module-loader.js +0 -35
  95. package/dist/lib/parsers/parse-basis.js +0 -245
  96. package/dist/lib/parsers/parse-compressed-texture.js +0 -26
  97. package/dist/lib/parsers/parse-crunch.js +0 -106
  98. package/dist/lib/parsers/parse-dds.js +0 -108
  99. package/dist/lib/parsers/parse-ktx.js +0 -46
  100. package/dist/lib/parsers/parse-npy.js +0 -81
  101. package/dist/lib/parsers/parse-pvr.js +0 -250
  102. package/dist/lib/texture-api/async-deep-map.js +0 -41
  103. package/dist/lib/texture-api/deep-load.js +0 -16
  104. package/dist/lib/texture-api/generate-url.js +0 -17
  105. package/dist/lib/texture-api/load-image-array.js +0 -21
  106. package/dist/lib/texture-api/load-image-cube.js +0 -47
  107. package/dist/lib/texture-api/load-image.js +0 -43
  108. package/dist/lib/texture-api/texture-api-types.js +0 -3
  109. package/dist/lib/utils/extract-mipmap-images.js +0 -50
  110. package/dist/lib/utils/ktx-format-helper.js +0 -125
  111. package/dist/lib/utils/texture-formats.js +0 -51
  112. package/dist/lib/utils/version.js +0 -8
  113. package/dist/npy-loader.js +0 -31
  114. package/dist/types.js +0 -1
  115. package/dist/workers/basis-worker-node.js +0 -7
  116. package/dist/workers/basis-worker.js +0 -5
  117. package/dist/workers/compressed-texture-worker.js +0 -5
  118. package/dist/workers/crunch-worker.js +0 -14
  119. package/dist/workers/ktx2-basis-writer-worker-node.js +0 -28
  120. package/dist/workers/ktx2-basis-writer-worker.js +0 -26
  121. package/dist/workers/npy-worker.js +0 -5
@@ -35,10 +35,19 @@
35
35
  }
36
36
 
37
37
  // ../worker-utils/src/lib/env-utils/version.ts
38
- var VERSION = true ? "4.0.0-alpha.9" : DEFAULT_VERSION;
39
- if (false) {
40
- console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
38
+ function getVersion() {
39
+ if (!globalThis._loadersgl_?.version) {
40
+ globalThis._loadersgl_ = globalThis._loadersgl_ || {};
41
+ if (false) {
42
+ console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
43
+ globalThis._loadersgl_.version = NPM_TAG;
44
+ } else {
45
+ globalThis._loadersgl_.version = "4.0.0-beta.2";
46
+ }
47
+ }
48
+ return globalThis._loadersgl_.version;
41
49
  }
50
+ var VERSION = getVersion();
42
51
 
43
52
  // ../worker-utils/src/lib/env-utils/assert.ts
44
53
  function assert2(condition, message) {
@@ -175,40 +184,38 @@
175
184
 
176
185
  // ../worker-utils/src/lib/library-utils/library-utils.ts
177
186
  var node = __toModule(require_require_utils());
178
- var LATEST = "beta";
179
- var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
180
187
  var loadLibraryPromises = {};
181
- async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
188
+ async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
182
189
  if (moduleName) {
183
- libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
190
+ libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
184
191
  }
185
192
  loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
186
193
  return await loadLibraryPromises[libraryUrl];
187
194
  }
188
- function getLibraryUrl(library, moduleName, options) {
189
- if (library.startsWith("http")) {
195
+ function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
196
+ if (!options.useLocalLibraries && library.startsWith("http")) {
190
197
  return library;
191
198
  }
199
+ libraryName = libraryName || library;
192
200
  const modules = options.modules || {};
193
- if (modules[library]) {
194
- return modules[library];
201
+ if (modules[libraryName]) {
202
+ return modules[libraryName];
195
203
  }
196
204
  if (!isBrowser) {
197
- return `modules/${moduleName}/dist/libs/${library}`;
205
+ return `modules/${moduleName}/dist/libs/${libraryName}`;
198
206
  }
199
207
  if (options.CDN) {
200
208
  assert2(options.CDN.startsWith("http"));
201
- return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${library}`;
209
+ return `${options.CDN}/${moduleName}@${VERSION}/dist/libs/${libraryName}`;
202
210
  }
203
211
  if (isWorker) {
204
- return `../src/libs/${library}`;
212
+ return `../src/libs/${libraryName}`;
205
213
  }
206
- return `modules/${moduleName}/src/libs/${library}`;
214
+ return `modules/${moduleName}/src/libs/${libraryName}`;
207
215
  }
208
216
  async function loadLibraryFromFile(libraryUrl) {
209
217
  if (libraryUrl.endsWith("wasm")) {
210
- const response2 = await fetch(libraryUrl);
211
- return await response2.arrayBuffer();
218
+ return await loadAsArrayBuffer(libraryUrl);
212
219
  }
213
220
  if (!isBrowser) {
214
221
  try {
@@ -220,8 +227,7 @@
220
227
  if (isWorker) {
221
228
  return importScripts(libraryUrl);
222
229
  }
223
- const response = await fetch(libraryUrl);
224
- const scriptSource = await response.text();
230
+ const scriptSource = await loadAsText(libraryUrl);
225
231
  return loadLibraryFromString(scriptSource, libraryUrl);
226
232
  }
227
233
  function loadLibraryFromString(scriptSource, id) {
@@ -242,6 +248,20 @@
242
248
  document.body.appendChild(script);
243
249
  return null;
244
250
  }
251
+ async function loadAsArrayBuffer(url) {
252
+ if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
253
+ const response = await fetch(url);
254
+ return await response.arrayBuffer();
255
+ }
256
+ return await node.readFileAsArrayBuffer(url);
257
+ }
258
+ async function loadAsText(url) {
259
+ if (!node.readFileAsText || url.startsWith("http")) {
260
+ const response = await fetch(url);
261
+ return await response.text();
262
+ }
263
+ return await node.readFileAsText(url);
264
+ }
245
265
 
246
266
  // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
247
267
  var requestId = 0;
@@ -260,7 +280,7 @@
260
280
  options,
261
281
  context: {
262
282
  ...context,
263
- parse: parseOnMainThread
283
+ _parse: parseOnMainThread
264
284
  }
265
285
  });
266
286
  WorkerBody.postMessage("done", { result });
@@ -273,7 +293,7 @@
273
293
  }
274
294
  };
275
295
  }
276
- function parseOnMainThread(arrayBuffer, options) {
296
+ function parseOnMainThread(arrayBuffer, loader, options, context) {
277
297
  return new Promise((resolve, reject) => {
278
298
  const id = requestId++;
279
299
  const onMessage = (type, payload2) => {
@@ -297,7 +317,12 @@
297
317
  WorkerBody.postMessage("process", payload);
298
318
  });
299
319
  }
300
- async function parseData({ loader, arrayBuffer, options, context }) {
320
+ async function parseData({
321
+ loader,
322
+ arrayBuffer,
323
+ options,
324
+ context
325
+ }) {
301
326
  let data;
302
327
  let parser;
303
328
  if (loader.parseSync || loader.parse) {
@@ -319,14 +344,14 @@
319
344
  }
320
345
 
321
346
  // src/lib/utils/version.ts
322
- var VERSION3 = true ? "4.0.0-alpha.9" : "beta";
347
+ var VERSION2 = true ? "4.0.0-beta.2" : "beta";
323
348
 
324
349
  // src/crunch-loader.ts
325
350
  var CrunchLoader = {
326
351
  id: "crunch",
327
352
  name: "Crunch",
328
353
  module: "textures",
329
- version: VERSION3,
354
+ version: VERSION2,
330
355
  worker: true,
331
356
  extensions: ["crn"],
332
357
  mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
@@ -339,6 +364,9 @@
339
364
  };
340
365
 
341
366
  // src/lib/parsers/crunch-module-loader.ts
367
+ var CRUNCH_EXTERNAL_LIBRARIES = {
368
+ DECODER: "crunch.js"
369
+ };
342
370
  async function loadCrunchModule(options) {
343
371
  const modules = options.modules || {};
344
372
  if (modules.crunch) {
@@ -351,7 +379,7 @@
351
379
  if (crunchModule) {
352
380
  return crunchModule;
353
381
  }
354
- let loadCrunchDecoder = await loadLibrary("crunch.js", "textures", options);
382
+ let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, "textures", options);
355
383
  loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
356
384
  crunchModule = loadCrunchDecoder();
357
385
  return crunchModule;
package/dist/dist.min.js CHANGED
@@ -38,15 +38,24 @@
38
38
  });
39
39
 
40
40
  // ../worker-utils/src/lib/env-utils/version.ts
41
- var DEFAULT_VERSION, VERSION2;
42
- var init_version2 = __esm({
43
- "../worker-utils/src/lib/env-utils/version.ts"() {
44
- DEFAULT_VERSION = "beta";
45
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
41
+ function getVersion() {
42
+ if (!globalThis._loadersgl_?.version) {
43
+ globalThis._loadersgl_ = globalThis._loadersgl_ || {};
46
44
  if (typeof __VERSION__ === "undefined") {
47
45
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
46
+ globalThis._loadersgl_.version = NPM_TAG;
47
+ } else {
48
+ globalThis._loadersgl_.version = __VERSION__;
48
49
  }
49
50
  }
51
+ return globalThis._loadersgl_.version;
52
+ }
53
+ var NPM_TAG, VERSION2;
54
+ var init_version2 = __esm({
55
+ "../worker-utils/src/lib/env-utils/version.ts"() {
56
+ NPM_TAG = "beta";
57
+ VERSION2 = getVersion();
58
+ }
50
59
  });
51
60
 
52
61
  // ../worker-utils/src/lib/env-utils/assert.ts
@@ -89,37 +98,37 @@
89
98
  });
90
99
 
91
100
  // ../worker-utils/src/lib/library-utils/library-utils.ts
92
- async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
101
+ async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
93
102
  if (moduleName) {
94
- libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
103
+ libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
95
104
  }
96
105
  loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
97
106
  return await loadLibraryPromises[libraryUrl];
98
107
  }
99
- function getLibraryUrl(library, moduleName, options) {
100
- if (library.startsWith("http")) {
108
+ function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
109
+ if (!options.useLocalLibraries && library.startsWith("http")) {
101
110
  return library;
102
111
  }
112
+ libraryName = libraryName || library;
103
113
  const modules = options.modules || {};
104
- if (modules[library]) {
105
- return modules[library];
114
+ if (modules[libraryName]) {
115
+ return modules[libraryName];
106
116
  }
107
117
  if (!isBrowser) {
108
- return `modules/${moduleName}/dist/libs/${library}`;
118
+ return `modules/${moduleName}/dist/libs/${libraryName}`;
109
119
  }
110
120
  if (options.CDN) {
111
121
  assert(options.CDN.startsWith("http"));
112
- return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
122
+ return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${libraryName}`;
113
123
  }
114
124
  if (isWorker) {
115
- return `../src/libs/${library}`;
125
+ return `../src/libs/${libraryName}`;
116
126
  }
117
- return `modules/${moduleName}/src/libs/${library}`;
127
+ return `modules/${moduleName}/src/libs/${libraryName}`;
118
128
  }
119
129
  async function loadLibraryFromFile(libraryUrl) {
120
130
  if (libraryUrl.endsWith("wasm")) {
121
- const response2 = await fetch(libraryUrl);
122
- return await response2.arrayBuffer();
131
+ return await loadAsArrayBuffer(libraryUrl);
123
132
  }
124
133
  if (!isBrowser) {
125
134
  try {
@@ -131,8 +140,7 @@
131
140
  if (isWorker) {
132
141
  return importScripts(libraryUrl);
133
142
  }
134
- const response = await fetch(libraryUrl);
135
- const scriptSource = await response.text();
143
+ const scriptSource = await loadAsText(libraryUrl);
136
144
  return loadLibraryFromString(scriptSource, libraryUrl);
137
145
  }
138
146
  function loadLibraryFromString(scriptSource, id) {
@@ -153,15 +161,27 @@
153
161
  document.body.appendChild(script);
154
162
  return null;
155
163
  }
156
- var node, LATEST, VERSION3, loadLibraryPromises;
164
+ async function loadAsArrayBuffer(url) {
165
+ if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
166
+ const response = await fetch(url);
167
+ return await response.arrayBuffer();
168
+ }
169
+ return await node.readFileAsArrayBuffer(url);
170
+ }
171
+ async function loadAsText(url) {
172
+ if (!node.readFileAsText || url.startsWith("http")) {
173
+ const response = await fetch(url);
174
+ return await response.text();
175
+ }
176
+ return await node.readFileAsText(url);
177
+ }
178
+ var node, loadLibraryPromises;
157
179
  var init_library_utils = __esm({
158
180
  "../worker-utils/src/lib/library-utils/library-utils.ts"() {
159
181
  init_globals();
160
182
  node = __toModule(require_require_utils());
161
183
  init_assert();
162
184
  init_version2();
163
- LATEST = "beta";
164
- VERSION3 = typeof VERSION2 !== "undefined" ? VERSION2 : LATEST;
165
185
  loadLibraryPromises = {};
166
186
  }
167
187
  });
@@ -181,25 +201,25 @@
181
201
  });
182
202
 
183
203
  // src/lib/parsers/basis-module-loader.ts
184
- async function loadBasisTrascoderModule(options) {
204
+ async function loadBasisTranscoderModule(options) {
185
205
  const modules = options.modules || {};
186
206
  if (modules.basis) {
187
207
  return modules.basis;
188
208
  }
189
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
209
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
190
210
  return await loadBasisTranscoderPromise;
191
211
  }
192
- async function loadBasisTrascoder(options) {
212
+ async function loadBasisTranscoder(options) {
193
213
  let BASIS = null;
194
214
  let wasmBinary = null;
195
215
  [BASIS, wasmBinary] = await Promise.all([
196
- await loadLibrary("basis_transcoder.js", "textures", options),
197
- await loadLibrary("basis_transcoder.wasm", "textures", options)
216
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
217
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
198
218
  ]);
199
219
  BASIS = BASIS || globalThis.BASIS;
200
- return await initializeBasisTrascoderModule(BASIS, wasmBinary);
220
+ return await initializeBasisTranscoderModule(BASIS, wasmBinary);
201
221
  }
202
- function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
222
+ function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
203
223
  const options = {};
204
224
  if (wasmBinary) {
205
225
  options.wasmBinary = wasmBinary;
@@ -224,8 +244,8 @@
224
244
  let BASIS_ENCODER = null;
225
245
  let wasmBinary = null;
226
246
  [BASIS_ENCODER, wasmBinary] = await Promise.all([
227
- await loadLibrary(BASIS_CDN_ENCODER_JS, "textures", options),
228
- await loadLibrary(BASIS_CDN_ENCODER_WASM, "textures", options)
247
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
248
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
229
249
  ]);
230
250
  BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
231
251
  return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
@@ -243,13 +263,16 @@
243
263
  });
244
264
  });
245
265
  }
246
- var VERSION4, BASIS_CDN_ENCODER_WASM, BASIS_CDN_ENCODER_JS, loadBasisTranscoderPromise, loadBasisEncoderPromise;
266
+ var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
247
267
  var init_basis_module_loader = __esm({
248
268
  "src/lib/parsers/basis-module-loader.ts"() {
249
269
  init_src();
250
- VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
251
- BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
252
- BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
270
+ BASIS_EXTERNAL_LIBRARIES = {
271
+ TRANSCODER: "basis_transcoder.js",
272
+ TRANSCODER_WASM: "basis_transcoder.wasm",
273
+ ENCODER: "basis_encoder.js",
274
+ ENCODER_WASM: "basis_encoder.wasm"
275
+ };
253
276
  }
254
277
  });
255
278
 
@@ -625,7 +648,7 @@
625
648
  const fileConstructors = await loadBasisEncoderModule(options);
626
649
  return parseKTX2File(fileConstructors.KTX2File, data, options);
627
650
  }
628
- const { BasisFile } = await loadBasisTrascoderModule(options);
651
+ const { BasisFile } = await loadBasisTranscoderModule(options);
629
652
  return parseBasisFile(BasisFile, data, options);
630
653
  }
631
654
  switch (options.basis.module) {
@@ -640,7 +663,7 @@
640
663
  }
641
664
  case "transcoder":
642
665
  default:
643
- const { BasisFile } = await loadBasisTrascoderModule(options);
666
+ const { BasisFile } = await loadBasisTranscoderModule(options);
644
667
  return parseBasisFile(BasisFile, data, options);
645
668
  }
646
669
  }
@@ -1204,18 +1227,12 @@
1204
1227
  });
1205
1228
 
1206
1229
  // src/compressed-texture-loader.ts
1207
- var DEFAULT_TEXTURE_LOADER_OPTIONS, CompressedTextureWorkerLoader, CompressedTextureLoader;
1230
+ var CompressedTextureWorkerLoader, CompressedTextureLoader;
1208
1231
  var init_compressed_texture_loader = __esm({
1209
1232
  "src/compressed-texture-loader.ts"() {
1210
1233
  init_version();
1211
1234
  init_parse_compressed_texture();
1212
1235
  init_parse_basis();
1213
- DEFAULT_TEXTURE_LOADER_OPTIONS = {
1214
- "compressed-texture": {
1215
- libraryPath: "libs/",
1216
- useBasis: false
1217
- }
1218
- };
1219
1236
  CompressedTextureWorkerLoader = {
1220
1237
  name: "Texture Containers",
1221
1238
  id: "compressed-texture",
@@ -1236,12 +1253,17 @@
1236
1253
  "application/octet-stream"
1237
1254
  ],
1238
1255
  binary: true,
1239
- options: DEFAULT_TEXTURE_LOADER_OPTIONS
1256
+ options: {
1257
+ "compressed-texture": {
1258
+ libraryPath: "libs/",
1259
+ useBasis: false
1260
+ }
1261
+ }
1240
1262
  };
1241
1263
  CompressedTextureLoader = {
1242
1264
  ...CompressedTextureWorkerLoader,
1243
1265
  parse: async (arrayBuffer, options) => {
1244
- if (options["compressed-texture"].useBasis) {
1266
+ if (options?.["compressed-texture"]?.useBasis) {
1245
1267
  options.basis = {
1246
1268
  format: {
1247
1269
  alpha: "BC3",
@@ -1251,7 +1273,8 @@
1251
1273
  containerFormat: "ktx2",
1252
1274
  module: "encoder"
1253
1275
  };
1254
- return (await parseBasis(arrayBuffer, options))[0];
1276
+ const result = await parseBasis(arrayBuffer, options);
1277
+ return result[0];
1255
1278
  }
1256
1279
  return parseCompressedTexture(arrayBuffer);
1257
1280
  }
@@ -1372,6 +1395,16 @@
1372
1395
  }
1373
1396
  });
1374
1397
 
1398
+ // src/lib/parsers/crunch-module-loader.ts
1399
+ var CRUNCH_EXTERNAL_LIBRARIES;
1400
+ var init_crunch_module_loader = __esm({
1401
+ "src/lib/parsers/crunch-module-loader.ts"() {
1402
+ CRUNCH_EXTERNAL_LIBRARIES = {
1403
+ DECODER: "crunch.js"
1404
+ };
1405
+ }
1406
+ });
1407
+
1375
1408
  // src/lib/encoders/encode-texture.ts
1376
1409
  async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
1377
1410
  const args = [
@@ -1430,7 +1463,12 @@
1430
1463
 
1431
1464
  // src/lib/encoders/encode-ktx2-basis-texture.ts
1432
1465
  async function encodeKTX2BasisTexture(image, options = {}) {
1433
- const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
1466
+ const {
1467
+ useSRGB = false,
1468
+ qualityLevel = 10,
1469
+ encodeUASTC = false,
1470
+ mipmaps = false
1471
+ } = options?.["ktx2-basis-writer"] || {};
1434
1472
  const { BasisEncoder } = await loadBasisEncoderModule(options);
1435
1473
  const basisEncoder = new BasisEncoder();
1436
1474
  try {
@@ -1473,10 +1511,12 @@
1473
1511
  version: VERSION,
1474
1512
  extensions: ["ktx2"],
1475
1513
  options: {
1476
- useSRGB: false,
1477
- qualityLevel: 10,
1478
- encodeUASTC: false,
1479
- mipmaps: false
1514
+ ["ktx2-basis-writer"]: {
1515
+ useSRGB: false,
1516
+ qualityLevel: 10,
1517
+ encodeUASTC: false,
1518
+ mipmaps: false
1519
+ }
1480
1520
  },
1481
1521
  encode: encodeKTX2BasisTexture
1482
1522
  };
@@ -1484,10 +1524,10 @@
1484
1524
  });
1485
1525
 
1486
1526
  // ../images/src/lib/utils/version.ts
1487
- var VERSION5;
1527
+ var VERSION3;
1488
1528
  var init_version3 = __esm({
1489
1529
  "../images/src/lib/utils/version.ts"() {
1490
- VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1530
+ VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1491
1531
  }
1492
1532
  });
1493
1533
 
@@ -1939,7 +1979,7 @@
1939
1979
  id: "image",
1940
1980
  module: "images",
1941
1981
  name: "Images",
1942
- version: VERSION5,
1982
+ version: VERSION3,
1943
1983
  mimeTypes: MIME_TYPES,
1944
1984
  extensions: EXTENSIONS,
1945
1985
  parse: parseImage,
@@ -2128,8 +2168,10 @@
2128
2168
  // src/index.ts
2129
2169
  var src_exports = {};
2130
2170
  __export(src_exports, {
2171
+ BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
2131
2172
  BasisLoader: () => BasisLoader,
2132
2173
  BasisWorkerLoader: () => BasisWorkerLoader,
2174
+ CRUNCH_EXTERNAL_LIBRARIES: () => CRUNCH_EXTERNAL_LIBRARIES,
2133
2175
  CompressedTextureLoader: () => CompressedTextureLoader,
2134
2176
  CompressedTextureWorkerLoader: () => CompressedTextureWorkerLoader,
2135
2177
  CompressedTextureWriter: () => CompressedTextureWriter,
@@ -2154,6 +2196,8 @@
2154
2196
  init_compressed_texture_loader();
2155
2197
  init_crunch_loader();
2156
2198
  init_npy_loader();
2199
+ init_basis_module_loader();
2200
+ init_crunch_module_loader();
2157
2201
  init_compressed_texture_writer();
2158
2202
  init_ktx2_basis_writer();
2159
2203
  init_load_image();
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports._TypecheckCompressedTextureWorkerLoader = exports._TypecheckCompressedTextureLoader = exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = void 0;
7
+ exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -13,12 +13,6 @@ var _parseCompressedTexture = require("./lib/parsers/parse-compressed-texture");
13
13
  var _parseBasis = _interopRequireDefault(require("./lib/parsers/parse-basis"));
14
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- var DEFAULT_TEXTURE_LOADER_OPTIONS = {
17
- 'compressed-texture': {
18
- libraryPath: 'libs/',
19
- useBasis: false
20
- }
21
- };
22
16
  var CompressedTextureWorkerLoader = {
23
17
  name: 'Texture Containers',
24
18
  id: 'compressed-texture',
@@ -28,17 +22,24 @@ var CompressedTextureWorkerLoader = {
28
22
  extensions: ['ktx', 'ktx2', 'dds', 'pvr'],
29
23
  mimeTypes: ['image/ktx2', 'image/ktx', 'image/vnd-ms.dds', 'image/x-dds', 'application/octet-stream'],
30
24
  binary: true,
31
- options: DEFAULT_TEXTURE_LOADER_OPTIONS
25
+ options: {
26
+ 'compressed-texture': {
27
+ libraryPath: 'libs/',
28
+ useBasis: false
29
+ }
30
+ }
32
31
  };
33
32
  exports.CompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
34
33
  var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureWorkerLoader), {}, {
35
34
  parse: function () {
36
35
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
36
+ var _options$compressedT;
37
+ var result;
37
38
  return _regenerator.default.wrap(function _callee$(_context) {
38
39
  while (1) switch (_context.prev = _context.next) {
39
40
  case 0:
40
- if (!options['compressed-texture'].useBasis) {
41
- _context.next = 5;
41
+ if (!(options !== null && options !== void 0 && (_options$compressedT = options['compressed-texture']) !== null && _options$compressedT !== void 0 && _options$compressedT.useBasis)) {
42
+ _context.next = 6;
42
43
  break;
43
44
  }
44
45
  options.basis = _objectSpread(_objectSpread({
@@ -53,10 +54,11 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
53
54
  _context.next = 4;
54
55
  return (0, _parseBasis.default)(arrayBuffer, options);
55
56
  case 4:
56
- return _context.abrupt("return", _context.sent[0]);
57
- case 5:
58
- return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
57
+ result = _context.sent;
58
+ return _context.abrupt("return", result[0]);
59
59
  case 6:
60
+ return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
61
+ case 7:
60
62
  case "end":
61
63
  return _context.stop();
62
64
  }
@@ -69,8 +71,4 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
69
71
  }()
70
72
  });
71
73
  exports.CompressedTextureLoader = CompressedTextureLoader;
72
- var _TypecheckCompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
73
- exports._TypecheckCompressedTextureWorkerLoader = _TypecheckCompressedTextureWorkerLoader;
74
- var _TypecheckCompressedTextureLoader = CompressedTextureLoader;
75
- exports._TypecheckCompressedTextureLoader = _TypecheckCompressedTextureLoader;
76
74
  //# sourceMappingURL=compressed-texture-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-texture-loader.js","names":["_version","require","_parseCompressedTexture","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEFAULT_TEXTURE_LOADER_OPTIONS","libraryPath","useBasis","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","exports","CompressedTextureLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","basis","format","alpha","noAlpha","containerFormat","parseBasis","abrupt","sent","parseCompressedTexture","stop","_x","_x2","_TypecheckCompressedTextureWorkerLoader","_TypecheckCompressedTextureLoader"],"sources":["../../src/compressed-texture-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';\nimport parseBasis from './lib/parsers/parse-basis';\n\nexport type TextureLoaderOptions = {\n 'compressed-texture'?: {\n libraryPath?: string;\n useBasis?: boolean;\n };\n};\n\nconst DEFAULT_TEXTURE_LOADER_OPTIONS = {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n};\n\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader = {\n name: 'Texture Containers',\n id: 'compressed-texture',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: [\n 'ktx',\n 'ktx2',\n 'dds', // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc\n 'pvr' // WEBGL_compressed_texture_pvrtc\n ],\n mimeTypes: [\n 'image/ktx2',\n 'image/ktx',\n 'image/vnd-ms.dds',\n 'image/x-dds',\n 'application/octet-stream'\n ],\n binary: true,\n options: DEFAULT_TEXTURE_LOADER_OPTIONS\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer, options) => {\n if (options['compressed-texture'].useBasis) {\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n return (await parseBasis(arrayBuffer, options))[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCompressedTextureWorkerLoader: Loader = CompressedTextureWorkerLoader;\nexport const _TypecheckCompressedTextureLoader: LoaderWithParser = CompressedTextureLoader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"compressed-texture-loader.js","names":["_version","require","_parseCompressedTexture","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","libraryPath","useBasis","exports","CompressedTextureLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","_options$compressedT","result","wrap","_callee$","_context","prev","next","basis","format","alpha","noAlpha","containerFormat","parseBasis","sent","abrupt","parseCompressedTexture","stop","_x","_x2"],"sources":["../../src/compressed-texture-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';\nimport parseBasis from './lib/parsers/parse-basis';\n\nexport type TextureLoaderOptions = {\n 'compressed-texture'?: {\n libraryPath?: string;\n useBasis?: boolean;\n };\n};\n\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader: Loader<any, never, TextureLoaderOptions> = {\n name: 'Texture Containers',\n id: 'compressed-texture',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: [\n 'ktx',\n 'ktx2',\n 'dds', // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc\n 'pvr' // WEBGL_compressed_texture_pvrtc\n ],\n mimeTypes: [\n 'image/ktx2',\n 'image/ktx',\n 'image/vnd-ms.dds',\n 'image/x-dds',\n 'application/octet-stream'\n ],\n binary: true,\n options: {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n }\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader: LoaderWithParser<any, never, TextureLoaderOptions> = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer, options?: TextureLoaderOptions) => {\n if (options?.['compressed-texture']?.useBasis) {\n // @ts-expect-error TODO not allowed to modify inputs\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n // @ts-expect-error TODO not allowed to modify inputs\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n const result = await parseBasis(arrayBuffer, options);\n return result[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports._TypecheckCrunchLoader = exports.CrunchLoader = void 0;
6
+ exports.CrunchLoader = void 0;
7
7
  var _version = require("./lib/utils/version");
8
8
  var CrunchLoader = {
9
9
  id: 'crunch',
@@ -21,6 +21,4 @@ var CrunchLoader = {
21
21
  }
22
22
  };
23
23
  exports.CrunchLoader = CrunchLoader;
24
- var _TypecheckCrunchLoader = CrunchLoader;
25
- exports._TypecheckCrunchLoader = _TypecheckCrunchLoader;
26
24
  //# sourceMappingURL=crunch-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports","_TypecheckCrunchLoader"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\n\n/**\n * Worker loader for the Crunch compressed texture container format\n */\nexport const CrunchLoader = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n\n// We avoid bundling crunch - rare format, only offer worker loader\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCrunchLoader: Loader = CrunchLoader;\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAKO,IAAMC,YAAY,GAAG;EAC1BC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,YAAA,GAAAA,YAAA;AAKK,IAAMc,sBAA8B,GAAGd,YAAY;AAACa,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
1
+ {"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\n\nexport type CrunchLoaderOptions = LoaderOptions & {\n crunch?: {\n libraryPath?: string;\n };\n};\n\n/**\n * Worker loader for the Crunch compressed texture container format\n * @note We avoid bundling crunch - it is a rare format and large lib, so we only offer worker loader\n */\nexport const CrunchLoader: Loader<TextureLevel[], never, CrunchLoaderOptions> = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAYO,IAAMC,YAAgE,GAAG;EAC9EC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,YAAA,GAAAA,YAAA"}