@loaders.gl/las 4.2.0-alpha.4 → 4.2.0-alpha.6

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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import type { LASLoaderOptions } from './las-loader';
3
- import type { LASMesh } from './lib/las-types';
4
- import { LASLoader as LASWorkerLoader } from './las-loader';
2
+ import type { LASLoaderOptions } from "./las-loader.js";
3
+ import type { LASMesh } from "./lib/las-types.js";
4
+ import { LASLoader as LASWorkerLoader } from "./las-loader.js";
5
5
  export type { LASLoaderOptions };
6
6
  export { LASWorkerLoader };
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,SAAS,IAAI,eAAe,EAAC,MAAM,cAAc,CAAC;AAK1D,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAC/B,OAAO,EAAC,eAAe,EAAC,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAMxE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,wBAAqB;AACnD,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAC7C,OAAO,EAAC,SAAS,IAAI,eAAe,EAAC,wBAAqB;AAK1D,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAC/B,OAAO,EAAC,eAAe,EAAC,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAMxE,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,12 @@
1
1
  import { LASLoader as LASWorkerLoader } from "./las-loader.js";
2
2
  import { parseLAS } from "./lib/parse-las.js";
3
3
  export { LASWorkerLoader };
4
+ /**
5
+ * Loader for the LAS (LASer) point cloud format
6
+ * @note Does not support LAS v1.4
7
+ */
4
8
  export const LASLoader = {
5
- ...LASWorkerLoader,
6
- parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
7
- parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
9
+ ...LASWorkerLoader,
10
+ parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
11
+ parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
8
12
  };
9
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Loader, LoaderOptions } from '@loaders.gl/loader-utils';
2
- import type { LASMesh } from './lib/las-types';
2
+ import type { LASMesh } from "./lib/las-types.js";
3
3
  export type LASLoaderOptions = LoaderOptions & {
4
4
  las?: {
5
5
  shape?: 'mesh' | 'columnar-table' | 'arrow-table';
@@ -1 +1 @@
1
- {"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../src/las-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAM7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAmB9D,CAAC"}
1
+ {"version":3,"file":"las-loader.d.ts","sourceRoot":"","sources":["../src/las-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,OAAO,EAAC,2BAAwB;AAM7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,aAAa,CAAC;QAClD,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAmB9D,CAAC"}
@@ -1,22 +1,27 @@
1
- const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
1
+ // __VERSION__ is injected by babel-plugin-version-inline
2
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
3
+ const VERSION = typeof "4.2.0-alpha.5" !== 'undefined' ? "4.2.0-alpha.5" : 'latest';
4
+ /**
5
+ * Loader for the LAS (LASer) point cloud format
6
+ * @note Does not support LAS v1.4
7
+ */
2
8
  export const LASLoader = {
3
- name: 'LAS',
4
- id: 'las',
5
- module: 'las',
6
- version: VERSION,
7
- worker: true,
8
- extensions: ['las', 'laz'],
9
- mimeTypes: ['application/octet-stream'],
10
- text: true,
11
- binary: true,
12
- tests: ['LAS'],
13
- options: {
14
- las: {
15
- shape: 'mesh',
16
- fp64: false,
17
- skip: 1,
18
- colorDepth: 8
9
+ name: 'LAS',
10
+ id: 'las',
11
+ module: 'las',
12
+ version: VERSION,
13
+ worker: true,
14
+ extensions: ['las', 'laz'], // LAZ is the "compressed" flavor of LAS,
15
+ mimeTypes: ['application/octet-stream'], // TODO - text version?
16
+ text: true,
17
+ binary: true,
18
+ tests: ['LAS'],
19
+ options: {
20
+ las: {
21
+ shape: 'mesh',
22
+ fp64: false,
23
+ skip: 1,
24
+ colorDepth: 8
25
+ }
19
26
  }
20
- }
21
27
  };
22
- //# sourceMappingURL=las-loader.js.map
@@ -76,7 +76,9 @@
76
76
  }
77
77
  getParentPort().then((parentPort2) => {
78
78
  if (parentPort2) {
79
- parentPort2.on("message", handleMessage);
79
+ parentPort2.on("message", (message) => {
80
+ handleMessage(message);
81
+ });
80
82
  parentPort2.on("exit", () => console.debug("Node worker closing"));
81
83
  } else {
82
84
  globalThis.onmessage = handleMessage;
@@ -215,7 +217,7 @@
215
217
  }
216
218
 
217
219
  // src/las-loader.ts
218
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
220
+ var VERSION = true ? "4.2.0-alpha.5" : "latest";
219
221
  var LASLoader = {
220
222
  name: "LAS",
221
223
  id: "las",
@@ -19012,22 +19014,23 @@
19012
19014
  return o;
19013
19015
  }
19014
19016
  var LASLoader2 = class {
19017
+ arraybuffer;
19018
+ readOffset = 0;
19019
+ header = {
19020
+ pointsOffset: 0,
19021
+ pointsFormatId: 0,
19022
+ pointsStructSize: 0,
19023
+ pointsCount: 0,
19024
+ scale: [0, 0, 0],
19025
+ offset: [0, 0, 0],
19026
+ maxs: [0],
19027
+ mins: [0],
19028
+ totalToRead: 0,
19029
+ totalRead: 0,
19030
+ versionAsString: "",
19031
+ isCompressed: true
19032
+ };
19015
19033
  constructor(arraybuffer) {
19016
- this.readOffset = 0;
19017
- this.header = {
19018
- pointsOffset: 0,
19019
- pointsFormatId: 0,
19020
- pointsStructSize: 0,
19021
- pointsCount: 0,
19022
- scale: [0, 0, 0],
19023
- offset: [0, 0, 0],
19024
- maxs: [0],
19025
- mins: [0],
19026
- totalToRead: 0,
19027
- totalRead: 0,
19028
- versionAsString: "",
19029
- isCompressed: true
19030
- };
19031
19034
  this.arraybuffer = arraybuffer;
19032
19035
  }
19033
19036
  /**
@@ -19099,10 +19102,11 @@
19099
19102
  }
19100
19103
  };
19101
19104
  var LAZLoader = class {
19105
+ arraybuffer;
19106
+ instance = null;
19107
+ // LASZip instance
19108
+ header = null;
19102
19109
  constructor(arraybuffer) {
19103
- this.instance = null;
19104
- // LASZip instance
19105
- this.header = null;
19106
19110
  this.arraybuffer = arraybuffer;
19107
19111
  if (!Module) {
19108
19112
  Module = getModule();
@@ -19198,6 +19202,14 @@
19198
19202
  }
19199
19203
  };
19200
19204
  var LASDecoder = class {
19205
+ arrayb;
19206
+ decoder;
19207
+ pointsCount;
19208
+ pointSize;
19209
+ scale;
19210
+ offset;
19211
+ mins;
19212
+ maxs;
19201
19213
  constructor(buffer, len, header) {
19202
19214
  this.arrayb = buffer;
19203
19215
  this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
@@ -19222,12 +19234,14 @@
19222
19234
  }
19223
19235
  };
19224
19236
  var LASFile = class {
19237
+ arraybuffer;
19238
+ formatId = 0;
19239
+ loader;
19240
+ isCompressed = true;
19241
+ isOpen = false;
19242
+ version = 0;
19243
+ versionAsString = "";
19225
19244
  constructor(arraybuffer) {
19226
- this.formatId = 0;
19227
- this.isCompressed = true;
19228
- this.isOpen = false;
19229
- this.version = 0;
19230
- this.versionAsString = "";
19231
19245
  this.arraybuffer = arraybuffer;
19232
19246
  if (this.determineVersion() > 13) {
19233
19247
  throw new Error("Only file versions <= 1.3 are supported at this time");
@@ -1,5 +1,5 @@
1
1
  import { Schema, MeshAttributes } from '@loaders.gl/schema';
2
- import type { LASHeader } from './las-types';
2
+ import type { LASHeader } from "./las-types.js";
3
3
  /**
4
4
  * Gets schema from PLY header
5
5
  * @param lasHeader
@@ -1 +1 @@
1
- {"version":3,"file":"get-las-schema.d.ts","sourceRoot":"","sources":["../../src/lib/get-las-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,GAAG,MAAM,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBtF"}
1
+ {"version":3,"file":"get-las-schema.d.ts","sourceRoot":"","sources":["../../src/lib/get-las-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAC,SAAS,EAAC,uBAAoB;AAE3C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,GAAG,MAAM,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBtF"}
@@ -1,31 +1,42 @@
1
1
  import { deduceMeshSchema } from '@loaders.gl/schema';
2
+ /**
3
+ * Gets schema from PLY header
4
+ * @param lasHeader
5
+ * @param metadata
6
+ * @returns Schema
7
+ */
2
8
  export function getLASSchema(lasHeader, attributes) {
3
- const metadataMap = makeMetadataFromLasHeader(lasHeader);
4
- const schema = deduceMeshSchema(attributes, metadataMap);
5
- return schema;
9
+ const metadataMap = makeMetadataFromLasHeader(lasHeader);
10
+ const schema = deduceMeshSchema(attributes, metadataMap);
11
+ return schema;
6
12
  }
13
+ /**
14
+ * Make arrow like schema metadata by LASHeader properties
15
+ * @param lasHeader
16
+ * @returns
17
+ */
7
18
  export function makeMetadataFromLasHeader(lasHeader) {
8
- const metadata = {};
9
- metadata.las_pointsOffset = lasHeader.pointsOffset.toString(10);
10
- metadata.las_pointsFormatId = lasHeader.pointsFormatId.toString(10);
11
- metadata.las_pointsStructSize = lasHeader.pointsStructSize.toString(10);
12
- metadata.las_pointsCount = lasHeader.pointsCount.toString(10);
13
- metadata.las_scale = JSON.stringify(lasHeader.scale);
14
- metadata.las_offset = JSON.stringify(lasHeader.offset);
15
- if (lasHeader.maxs !== undefined) {
16
- metadata.las_maxs = JSON.stringify(lasHeader.maxs);
17
- }
18
- if (lasHeader.mins !== undefined) {
19
- metadata.las_mins = JSON.stringify(lasHeader.mins);
20
- }
21
- metadata.las_totalToRead = lasHeader.totalToRead.toString(10);
22
- metadata.las_pointsFortotalReadmatId = lasHeader.totalRead.toString(10);
23
- if (lasHeader.versionAsString !== undefined) {
24
- metadata.las_versionAsString = lasHeader.versionAsString;
25
- }
26
- if (lasHeader.isCompressed !== undefined) {
27
- metadata.las_isCompressed = lasHeader.isCompressed.toString();
28
- }
29
- return metadata;
19
+ const metadata = {};
20
+ /* eslint-disable camelcase */
21
+ metadata.las_pointsOffset = lasHeader.pointsOffset.toString(10);
22
+ metadata.las_pointsFormatId = lasHeader.pointsFormatId.toString(10);
23
+ metadata.las_pointsStructSize = lasHeader.pointsStructSize.toString(10);
24
+ metadata.las_pointsCount = lasHeader.pointsCount.toString(10);
25
+ metadata.las_scale = JSON.stringify(lasHeader.scale);
26
+ metadata.las_offset = JSON.stringify(lasHeader.offset);
27
+ if (lasHeader.maxs !== undefined) {
28
+ metadata.las_maxs = JSON.stringify(lasHeader.maxs);
29
+ }
30
+ if (lasHeader.mins !== undefined) {
31
+ metadata.las_mins = JSON.stringify(lasHeader.mins);
32
+ }
33
+ metadata.las_totalToRead = lasHeader.totalToRead.toString(10);
34
+ metadata.las_pointsFortotalReadmatId = lasHeader.totalRead.toString(10);
35
+ if (lasHeader.versionAsString !== undefined) {
36
+ metadata.las_versionAsString = lasHeader.versionAsString;
37
+ }
38
+ if (lasHeader.isCompressed !== undefined) {
39
+ metadata.las_isCompressed = lasHeader.isCompressed.toString();
40
+ }
41
+ return metadata;
30
42
  }
31
- //# sourceMappingURL=get-las-schema.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=las-types.js.map
@@ -1,4 +1,4 @@
1
- import type { LASHeader } from './las-types';
1
+ import type { LASHeader } from "./las-types.js";
2
2
  type LASData = {
3
3
  buffer: ArrayBuffer;
4
4
  count: number;
@@ -1 +1 @@
1
- {"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAa3C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AA0FF,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAK;IACvB,MAAM,EAAE,SAAS,CAaf;gBAEU,WAAW,EAAE,WAAW;IAIpC;;OAEG;IACH,IAAI;IAIJ;;;OAGG;IACH,SAAS;IAKT;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;IA8CpC;;;OAGG;IACH,KAAK;CAKN;AAED;;;GAGG;AACH,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAQ;IACrB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEpB,WAAW,EAAE,WAAW;IASpC;;;OAGG;IACH,IAAI,IAAI,OAAO;IAoBf,SAAS,IAAI,SAAS;IActB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA0C9D;;;OAGG;IACH,KAAK,IAAI,OAAO;CAWjB;AAED;;GAEG;AACH,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEJ,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAW/D;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE;CAQ5B;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAK;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAQ;IAC7B,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,MAAM,CAAK;IACpB,eAAe,EAAE,MAAM,CAAM;gBAEjB,WAAW,EAAE,WAAW;IAiBpC;;OAEG;IACH,eAAe,IAAI,IAAI;IAavB;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7D;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;OACG;IACH,WAAW,IAAI,OAAO,UAAU;CAGjC;AAED,eAAO,MAAM,kBAAkB,QAAQ,CAAC"}
1
+ {"version":3,"file":"laslaz-decoder.d.ts","sourceRoot":"","sources":["../../src/lib/laslaz-decoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAC,uBAAoB;AAa3C,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AA0FF,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAK;IACvB,MAAM,EAAE,SAAS,CAaf;gBAEU,WAAW,EAAE,WAAW;IAIpC;;OAEG;IACH,IAAI;IAIJ;;;OAGG;IACH,SAAS;IAKT;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;IA8CpC;;;OAGG;IACH,KAAK;CAKN;AAED;;;GAGG;AACH,cAAM,SAAS;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAQ;IACrB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEpB,WAAW,EAAE,WAAW;IASpC;;;OAGG;IACH,IAAI,IAAI,OAAO;IAoBf,SAAS,IAAI,SAAS;IActB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA0C9D;;;OAGG;IACH,KAAK,IAAI,OAAO;CAWjB;AAED;;GAEG;AACH,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEJ,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAW/D;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE;CAQ5B;AAED;;GAEG;AACH,qBAAa,OAAO;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAK;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAQ;IAC7B,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,MAAM,CAAK;IACpB,eAAe,EAAE,MAAM,CAAM;gBAEjB,WAAW,EAAE,WAAW;IAiBpC;;OAEG;IACH,eAAe,IAAI,IAAI;IAavB;;;OAGG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7D;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;OACG;IACH,WAAW,IAAI,OAAO,UAAU;CAGjC;AAED,eAAO,MAAM,kBAAkB,QAAQ,CAAC"}