@loaders.gl/las 4.0.0-beta.2 → 4.0.0-beta.4

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 (54) hide show
  1. package/dist/{dist.min.js → dist.dev.js} +616 -1170
  2. package/dist/index.cjs +19215 -0
  3. package/dist/{esm/index.js → index.js} +2 -2
  4. package/dist/index.js.map +1 -0
  5. package/dist/{esm/las-loader.js → las-loader.js} +1 -1
  6. package/dist/las-loader.js.map +1 -0
  7. package/dist/las-worker.js +15797 -15503
  8. package/dist/lib/get-las-schema.js.map +1 -0
  9. package/dist/lib/las-types.js.map +1 -0
  10. package/dist/{esm/lib → lib}/laslaz-decoder.js +28 -29
  11. package/dist/lib/laslaz-decoder.js.map +1 -0
  12. package/dist/lib/libs/laz-perf.d.ts.map +1 -1
  13. package/dist/lib/libs/laz-perf.js +2 -0
  14. package/dist/lib/libs/laz-perf.js.map +1 -0
  15. package/dist/{esm/lib → lib}/parse-las.js +2 -2
  16. package/dist/lib/parse-las.js.map +1 -0
  17. package/dist/{esm/workers → workers}/las-worker.js +1 -1
  18. package/dist/workers/las-worker.js.map +1 -0
  19. package/package.json +16 -8
  20. package/src/lib/libs/laz-perf.ts +2 -1
  21. package/dist/bundle.d.ts +0 -2
  22. package/dist/bundle.d.ts.map +0 -1
  23. package/dist/es5/bundle.js +0 -6
  24. package/dist/es5/bundle.js.map +0 -1
  25. package/dist/es5/index.js +0 -44
  26. package/dist/es5/index.js.map +0 -1
  27. package/dist/es5/las-loader.js +0 -30
  28. package/dist/es5/las-loader.js.map +0 -1
  29. package/dist/es5/lib/get-las-schema.js +0 -38
  30. package/dist/es5/lib/get-las-schema.js.map +0 -1
  31. package/dist/es5/lib/las-types.js +0 -2
  32. package/dist/es5/lib/las-types.js.map +0 -1
  33. package/dist/es5/lib/laslaz-decoder.js +0 -364
  34. package/dist/es5/lib/laslaz-decoder.js.map +0 -1
  35. package/dist/es5/lib/libs/laz-perf.js +0 -2
  36. package/dist/es5/lib/libs/laz-perf.js.map +0 -1
  37. package/dist/es5/lib/parse-las.js +0 -187
  38. package/dist/es5/lib/parse-las.js.map +0 -1
  39. package/dist/es5/workers/las-worker.js +0 -6
  40. package/dist/es5/workers/las-worker.js.map +0 -1
  41. package/dist/esm/bundle.js +0 -4
  42. package/dist/esm/bundle.js.map +0 -1
  43. package/dist/esm/index.js.map +0 -1
  44. package/dist/esm/las-loader.js.map +0 -1
  45. package/dist/esm/lib/get-las-schema.js.map +0 -1
  46. package/dist/esm/lib/las-types.js.map +0 -1
  47. package/dist/esm/lib/laslaz-decoder.js.map +0 -1
  48. package/dist/esm/lib/libs/laz-perf.js +0 -2
  49. package/dist/esm/lib/libs/laz-perf.js.map +0 -1
  50. package/dist/esm/lib/parse-las.js.map +0 -1
  51. package/dist/esm/workers/las-worker.js.map +0 -1
  52. package/src/bundle.ts +0 -4
  53. /package/dist/{esm/lib → lib}/get-las-schema.js +0 -0
  54. /package/dist/{esm/lib → lib}/las-types.js +0 -0
@@ -1,47 +1,75 @@
1
- (() => {
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loader'] = factory();
6
+ else root['loader'] = factory();})(globalThis, function () {
7
+ "use strict";
8
+ var __exports__ = (() => {
2
9
  var __defProp = Object.defineProperty;
3
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
4
- var __esm = (fn, res) => function __init() {
5
- return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
6
- };
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
13
  var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
14
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
15
  };
10
16
  var __export = (target, all) => {
11
- __markAsModule(target);
12
17
  for (var name in all)
13
18
  __defProp(target, name, { get: all[name], enumerable: true });
14
19
  };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
29
 
16
- // src/las-loader.ts
17
- var VERSION, DEFAULT_LAS_OPTIONS, LASLoader;
18
- var init_las_loader = __esm({
19
- "src/las-loader.ts"() {
20
- VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
21
- DEFAULT_LAS_OPTIONS = {
22
- las: {
23
- shape: "mesh",
24
- fp64: false,
25
- skip: 1,
26
- colorDepth: 8
27
- }
28
- };
29
- LASLoader = {
30
- name: "LAS",
31
- id: "las",
32
- module: "las",
33
- version: VERSION,
34
- worker: true,
35
- extensions: ["las", "laz"],
36
- mimeTypes: ["application/octet-stream"],
37
- text: true,
38
- binary: true,
39
- tests: ["LAS"],
40
- options: DEFAULT_LAS_OPTIONS
41
- };
30
+ // (disabled):path
31
+ var require_path = __commonJS({
32
+ "(disabled):path"() {
42
33
  }
43
34
  });
44
35
 
36
+ // (disabled):fs
37
+ var require_fs = __commonJS({
38
+ "(disabled):fs"() {
39
+ }
40
+ });
41
+
42
+ // src/index.ts
43
+ var src_exports = {};
44
+ __export(src_exports, {
45
+ LASLoader: () => LASLoader3,
46
+ LASWorkerLoader: () => LASLoader
47
+ });
48
+
49
+ // src/las-loader.ts
50
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
51
+ var DEFAULT_LAS_OPTIONS = {
52
+ las: {
53
+ shape: "mesh",
54
+ fp64: false,
55
+ skip: 1,
56
+ colorDepth: 8
57
+ }
58
+ };
59
+ var LASLoader = {
60
+ name: "LAS",
61
+ id: "las",
62
+ module: "las",
63
+ version: VERSION,
64
+ worker: true,
65
+ extensions: ["las", "laz"],
66
+ mimeTypes: ["application/octet-stream"],
67
+ text: true,
68
+ binary: true,
69
+ tests: ["LAS"],
70
+ options: DEFAULT_LAS_OPTIONS
71
+ };
72
+
45
73
  // ../schema/src/lib/table/simple-table/data-type.ts
46
74
  function getDataTypeFromTypedArray(array) {
47
75
  switch (array.constructor) {
@@ -66,10 +94,6 @@
66
94
  return "null";
67
95
  }
68
96
  }
69
- var init_data_type = __esm({
70
- "../schema/src/lib/table/simple-table/data-type.ts"() {
71
- }
72
- });
73
97
 
74
98
  // ../schema/src/lib/mesh/mesh-utils.ts
75
99
  function getMeshBoundingBox(attributes) {
@@ -92,27 +116,30 @@
92
116
  maxY = y > maxY ? y : maxY;
93
117
  maxZ = z > maxZ ? z : maxZ;
94
118
  }
95
- return [
96
- [minX, minY, minZ],
97
- [maxX, maxY, maxZ]
98
- ];
119
+ return [[minX, minY, minZ], [maxX, maxY, maxZ]];
99
120
  }
100
- var init_mesh_utils = __esm({
101
- "../schema/src/lib/mesh/mesh-utils.ts"() {
102
- }
103
- });
104
121
 
105
122
  // ../schema/src/lib/mesh/deduce-mesh-schema.ts
106
123
  function deduceMeshSchema(attributes, metadata = {}) {
107
124
  const fields = deduceMeshFields(attributes);
108
- return { fields, metadata };
125
+ return {
126
+ fields,
127
+ metadata
128
+ };
109
129
  }
110
130
  function deduceMeshField(name, attribute, optionalMetadata) {
111
131
  const type = getDataTypeFromTypedArray(attribute.value);
112
132
  const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);
113
133
  return {
114
134
  name,
115
- type: { type: "fixed-size-list", listSize: attribute.size, children: [{ name: "value", type }] },
135
+ type: {
136
+ type: "fixed-size-list",
137
+ listSize: attribute.size,
138
+ children: [{
139
+ name: "value",
140
+ type
141
+ }]
142
+ },
116
143
  nullable: false,
117
144
  metadata
118
145
  };
@@ -138,31 +165,6 @@
138
165
  }
139
166
  return result;
140
167
  }
141
- var init_deduce_mesh_schema = __esm({
142
- "../schema/src/lib/mesh/deduce-mesh-schema.ts"() {
143
- init_data_type();
144
- }
145
- });
146
-
147
- // ../schema/src/index.ts
148
- var init_src = __esm({
149
- "../schema/src/index.ts"() {
150
- init_mesh_utils();
151
- init_deduce_mesh_schema();
152
- }
153
- });
154
-
155
- // (disabled):path
156
- var require_path = __commonJS({
157
- "(disabled):path"() {
158
- }
159
- });
160
-
161
- // (disabled):fs
162
- var require_fs = __commonJS({
163
- "(disabled):fs"() {
164
- }
165
- });
166
168
 
167
169
  // src/lib/libs/laz-perf.ts
168
170
  function getModule() {
@@ -201,7 +203,8 @@
201
203
  if (ENVIRONMENT_IS_WORKER) {
202
204
  scriptDirectory = require_path().dirname(scriptDirectory) + "/";
203
205
  } else {
204
- scriptDirectory = __dirname + "/";
206
+ const dirname = typeof __dirname !== "undefined" ? __dirname : "";
207
+ scriptDirectory = dirname + "/";
205
208
  }
206
209
  read_ = function shell_read(filename, binary) {
207
210
  var ret = tryParseAsDataURI(filename);
@@ -448,10 +451,7 @@
448
451
  HEAP32[ptr >> 2] = value;
449
452
  break;
450
453
  case "i64":
451
- tempI64 = [
452
- value >>> 0,
453
- (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
454
- ], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
454
+ tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
455
455
  break;
456
456
  case "float":
457
457
  HEAPF32[ptr >> 2] = value;
@@ -476,22 +476,19 @@
476
476
  return func;
477
477
  }
478
478
  function ccall(ident, returnType, argTypes, args, opts) {
479
- var toC = {
480
- string: function(str) {
481
- var ret2 = 0;
482
- if (str !== null && str !== void 0 && str !== 0) {
483
- var len = (str.length << 2) + 1;
484
- ret2 = stackAlloc(len);
485
- stringToUTF8(str, ret2, len);
486
- }
487
- return ret2;
488
- },
489
- array: function(arr) {
490
- var ret2 = stackAlloc(arr.length);
491
- writeArrayToMemory(arr, ret2);
492
- return ret2;
479
+ var toC = { string: function(str) {
480
+ var ret2 = 0;
481
+ if (str !== null && str !== void 0 && str !== 0) {
482
+ var len = (str.length << 2) + 1;
483
+ ret2 = stackAlloc(len);
484
+ stringToUTF8(str, ret2, len);
493
485
  }
494
- };
486
+ return ret2;
487
+ }, array: function(arr) {
488
+ var ret2 = stackAlloc(arr.length);
489
+ writeArrayToMemory(arr, ret2);
490
+ return ret2;
491
+ } };
495
492
  function convertReturnValue(ret2) {
496
493
  if (returnType === "string")
497
494
  return UTF8ToString(ret2);
@@ -858,11 +855,9 @@
858
855
  var fileURIPrefix = "file://";
859
856
  var tempDouble;
860
857
  var tempI64;
861
- __ATINIT__.push({
862
- func: function() {
863
- globalCtors();
864
- }
865
- });
858
+ __ATINIT__.push({ func: function() {
859
+ globalCtors();
860
+ } });
866
861
  memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAA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c2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";
867
862
  var tempDoublePtr = 22368;
868
863
  function demangle(func) {
@@ -929,15 +924,7 @@
929
924
  }
930
925
  var ___exception_last = 0;
931
926
  function ___cxa_throw(ptr, type, destructor) {
932
- ___exception_infos[ptr] = {
933
- ptr,
934
- adjusted: [ptr],
935
- type,
936
- destructor,
937
- refcount: 0,
938
- caught: false,
939
- rethrown: false
940
- };
927
+ ___exception_infos[ptr] = { ptr, adjusted: [ptr], type, destructor, refcount: 0, caught: false, rethrown: false };
941
928
  ___exception_last = ptr;
942
929
  if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
943
930
  __ZSt18uncaught_exceptionv.uncaught_exceptions = 1;
@@ -987,7 +974,7 @@
987
974
  var char_0 = 48;
988
975
  var char_9 = 57;
989
976
  function makeLegalFunctionName(name) {
990
- if (name === void 0) {
977
+ if (void 0 === name) {
991
978
  return "_unknown";
992
979
  }
993
980
  name = name.replace(/[^a-zA-Z0-9_]/g, "$");
@@ -1063,7 +1050,7 @@
1063
1050
  });
1064
1051
  }
1065
1052
  });
1066
- if (unregisteredTypes.length === 0) {
1053
+ if (0 === unregisteredTypes.length) {
1067
1054
  onComplete(typeConverters);
1068
1055
  }
1069
1056
  }
@@ -1096,30 +1083,23 @@
1096
1083
  function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
1097
1084
  var shift = getShiftFromSize(size);
1098
1085
  name = readLatin1String(name);
1099
- registerType(rawType, {
1100
- name,
1101
- fromWireType: function(wt) {
1102
- return !!wt;
1103
- },
1104
- toWireType: function(destructors, o) {
1105
- return o ? trueValue : falseValue;
1106
- },
1107
- argPackAdvance: 8,
1108
- readValueFromPointer: function(pointer) {
1109
- var heap;
1110
- if (size === 1) {
1111
- heap = HEAP8;
1112
- } else if (size === 2) {
1113
- heap = HEAP16;
1114
- } else if (size === 4) {
1115
- heap = HEAP32;
1116
- } else {
1117
- throw new TypeError("Unknown boolean type size: " + name);
1118
- }
1119
- return this["fromWireType"](heap[pointer >> shift]);
1120
- },
1121
- destructorFunction: null
1122
- });
1086
+ registerType(rawType, { name, fromWireType: function(wt) {
1087
+ return !!wt;
1088
+ }, toWireType: function(destructors, o) {
1089
+ return o ? trueValue : falseValue;
1090
+ }, argPackAdvance: 8, readValueFromPointer: function(pointer) {
1091
+ var heap;
1092
+ if (size === 1) {
1093
+ heap = HEAP8;
1094
+ } else if (size === 2) {
1095
+ heap = HEAP16;
1096
+ } else if (size === 4) {
1097
+ heap = HEAP32;
1098
+ } else {
1099
+ throw new TypeError("Unknown boolean type size: " + name);
1100
+ }
1101
+ return this["fromWireType"](heap[pointer >> shift]);
1102
+ }, destructorFunction: null });
1123
1103
  }
1124
1104
  function ClassHandle_isAliasOf(other) {
1125
1105
  if (!(this instanceof ClassHandle)) {
@@ -1143,15 +1123,7 @@
1143
1123
  return leftClass === rightClass && left === right;
1144
1124
  }
1145
1125
  function shallowCopyInternalPointer(o) {
1146
- return {
1147
- count: o.count,
1148
- deleteScheduled: o.deleteScheduled,
1149
- preservePointerOnDelete: o.preservePointerOnDelete,
1150
- ptr: o.ptr,
1151
- ptrType: o.ptrType,
1152
- smartPtr: o.smartPtr,
1153
- smartPtrType: o.smartPtrType
1154
- };
1126
+ return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType };
1155
1127
  }
1156
1128
  function throwInstanceAlreadyDeleted(obj) {
1157
1129
  function getInstanceTypeName(handle) {
@@ -1171,13 +1143,13 @@
1171
1143
  }
1172
1144
  function releaseClassHandle($$) {
1173
1145
  $$.count.value -= 1;
1174
- var toDelete = $$.count.value === 0;
1146
+ var toDelete = 0 === $$.count.value;
1175
1147
  if (toDelete) {
1176
1148
  runDestructor($$);
1177
1149
  }
1178
1150
  }
1179
1151
  function attachFinalizer(handle) {
1180
- if (typeof FinalizationGroup === "undefined") {
1152
+ if ("undefined" === typeof FinalizationGroup) {
1181
1153
  attachFinalizer = function(handle2) {
1182
1154
  return handle2;
1183
1155
  };
@@ -1210,11 +1182,7 @@
1210
1182
  this.$$.count.value += 1;
1211
1183
  return this;
1212
1184
  } else {
1213
- var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), {
1214
- $$: {
1215
- value: shallowCopyInternalPointer(this.$$)
1216
- }
1217
- }));
1185
+ var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
1218
1186
  clone.$$.count.value += 1;
1219
1187
  clone.$$.deleteScheduled = false;
1220
1188
  return clone;
@@ -1271,7 +1239,7 @@
1271
1239
  }
1272
1240
  var registeredPointers = {};
1273
1241
  function ensureOverloadTable(proto, methodName, humanName) {
1274
- if (proto[methodName].overloadTable === void 0) {
1242
+ if (void 0 === proto[methodName].overloadTable) {
1275
1243
  var prevFunc = proto[methodName];
1276
1244
  proto[methodName] = function() {
1277
1245
  if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
@@ -1285,7 +1253,7 @@
1285
1253
  }
1286
1254
  function exposePublicSymbol(name, value, numArguments) {
1287
1255
  if (Module2.hasOwnProperty(name)) {
1288
- if (numArguments === void 0 || Module2[name].overloadTable !== void 0 && Module2[name].overloadTable[numArguments] !== void 0) {
1256
+ if (void 0 === numArguments || void 0 !== Module2[name].overloadTable && void 0 !== Module2[name].overloadTable[numArguments]) {
1289
1257
  throwBindingError("Cannot register public name '" + name + "' twice");
1290
1258
  }
1291
1259
  ensureOverloadTable(Module2, name, name);
@@ -1295,7 +1263,7 @@
1295
1263
  Module2[name].overloadTable[numArguments] = value;
1296
1264
  } else {
1297
1265
  Module2[name] = value;
1298
- if (numArguments !== void 0) {
1266
+ if (void 0 !== numArguments) {
1299
1267
  Module2[name].numArguments = numArguments;
1300
1268
  }
1301
1269
  }
@@ -1366,7 +1334,7 @@
1366
1334
  var handleClass = handle.$$.ptrType.registeredClass;
1367
1335
  ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
1368
1336
  if (this.isSmartPointer) {
1369
- if (handle.$$.smartPtr === void 0) {
1337
+ if (void 0 === handle.$$.smartPtr) {
1370
1338
  throwBindingError("Passing raw pointer to smart pointer is illegal");
1371
1339
  }
1372
1340
  switch (this.sharingPolicy) {
@@ -1442,7 +1410,7 @@
1442
1410
  if (ptrClass === desiredClass) {
1443
1411
  return ptr;
1444
1412
  }
1445
- if (desiredClass.baseClass === void 0) {
1413
+ if (void 0 === desiredClass.baseClass) {
1446
1414
  return null;
1447
1415
  }
1448
1416
  var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
@@ -1499,14 +1467,8 @@
1499
1467
  if (hasSmartPtrType !== hasSmartPtr) {
1500
1468
  throwInternalError("Both smartPtrType and smartPtr must be specified");
1501
1469
  }
1502
- record.count = {
1503
- value: 1
1504
- };
1505
- return attachFinalizer(Object.create(prototype, {
1506
- $$: {
1507
- value: record
1508
- }
1509
- }));
1470
+ record.count = { value: 1 };
1471
+ return attachFinalizer(Object.create(prototype, { $$: { value: record } }));
1510
1472
  }
1511
1473
  function RegisteredPointer_fromWireType(ptr) {
1512
1474
  var rawPointer = this.getPointee(ptr);
@@ -1515,8 +1477,8 @@
1515
1477
  return null;
1516
1478
  }
1517
1479
  var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
1518
- if (registeredInstance !== void 0) {
1519
- if (registeredInstance.$$.count.value === 0) {
1480
+ if (void 0 !== registeredInstance) {
1481
+ if (0 === registeredInstance.$$.count.value) {
1520
1482
  registeredInstance.$$.ptr = rawPointer;
1521
1483
  registeredInstance.$$.smartPtr = ptr;
1522
1484
  return registeredInstance["clone"]();
@@ -1528,17 +1490,9 @@
1528
1490
  }
1529
1491
  function makeDefaultHandle() {
1530
1492
  if (this.isSmartPointer) {
1531
- return makeClassHandle(this.registeredClass.instancePrototype, {
1532
- ptrType: this.pointeeType,
1533
- ptr: rawPointer,
1534
- smartPtrType: this,
1535
- smartPtr: ptr
1536
- });
1493
+ return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
1537
1494
  } else {
1538
- return makeClassHandle(this.registeredClass.instancePrototype, {
1539
- ptrType: this,
1540
- ptr
1541
- });
1495
+ return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
1542
1496
  }
1543
1497
  }
1544
1498
  var actualType = this.registeredClass.getActualType(rawPointer);
@@ -1557,17 +1511,9 @@
1557
1511
  return makeDefaultHandle.call(this);
1558
1512
  }
1559
1513
  if (this.isSmartPointer) {
1560
- return makeClassHandle(toType.registeredClass.instancePrototype, {
1561
- ptrType: toType,
1562
- ptr: dp,
1563
- smartPtrType: this,
1564
- smartPtr: ptr
1565
- });
1514
+ return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
1566
1515
  } else {
1567
- return makeClassHandle(toType.registeredClass.instancePrototype, {
1568
- ptrType: toType,
1569
- ptr: dp
1570
- });
1516
+ return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
1571
1517
  }
1572
1518
  }
1573
1519
  function init_RegisteredPointer() {
@@ -1606,7 +1552,7 @@
1606
1552
  if (!Module2.hasOwnProperty(name)) {
1607
1553
  throwInternalError("Replacing nonexistant public symbol");
1608
1554
  }
1609
- if (Module2[name].overloadTable !== void 0 && numArguments !== void 0) {
1555
+ if (void 0 !== Module2[name].overloadTable && void 0 !== numArguments) {
1610
1556
  Module2[name].overloadTable[numArguments] = value;
1611
1557
  } else {
1612
1558
  Module2[name] = value;
@@ -1672,9 +1618,7 @@
1672
1618
  rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
1673
1619
  var legalFunctionName = makeLegalFunctionName(name);
1674
1620
  exposePublicSymbol(legalFunctionName, function() {
1675
- throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [
1676
- baseClassRawType
1677
- ]);
1621
+ throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]);
1678
1622
  });
1679
1623
  whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) {
1680
1624
  base = base[0];
@@ -1690,29 +1634,22 @@
1690
1634
  if (Object.getPrototypeOf(this) !== instancePrototype) {
1691
1635
  throw new BindingError("Use 'new' to construct " + name);
1692
1636
  }
1693
- if (registeredClass.constructor_body === void 0) {
1637
+ if (void 0 === registeredClass.constructor_body) {
1694
1638
  throw new BindingError(name + " has no accessible constructor");
1695
1639
  }
1696
1640
  var body = registeredClass.constructor_body[arguments.length];
1697
- if (body === void 0) {
1641
+ if (void 0 === body) {
1698
1642
  throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
1699
1643
  }
1700
1644
  return body.apply(this, arguments);
1701
1645
  });
1702
- var instancePrototype = Object.create(basePrototype, {
1703
- constructor: {
1704
- value: constructor
1705
- }
1706
- });
1646
+ var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
1707
1647
  constructor.prototype = instancePrototype;
1708
1648
  var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
1709
1649
  var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);
1710
1650
  var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false);
1711
1651
  var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false);
1712
- registeredPointers[rawType] = {
1713
- pointerType: pointerConverter,
1714
- constPointerType: constPointerConverter
1715
- };
1652
+ registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
1716
1653
  replacePublicSymbol(legalFunctionName, constructor);
1717
1654
  return [referenceConverter, pointerConverter, constPointerConverter];
1718
1655
  });
@@ -1740,10 +1677,10 @@
1740
1677
  whenDependentTypesAreResolved([], [rawClassType], function(classType) {
1741
1678
  classType = classType[0];
1742
1679
  var humanName = "constructor " + classType.name;
1743
- if (classType.registeredClass.constructor_body === void 0) {
1680
+ if (void 0 === classType.registeredClass.constructor_body) {
1744
1681
  classType.registeredClass.constructor_body = [];
1745
1682
  }
1746
- if (classType.registeredClass.constructor_body[argCount - 1] !== void 0) {
1683
+ if (void 0 !== classType.registeredClass.constructor_body[argCount - 1]) {
1747
1684
  throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
1748
1685
  }
1749
1686
  classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {
@@ -1805,14 +1742,7 @@
1805
1742
  }
1806
1743
  var dtorStack = needsDestructorStack ? "destructors" : "null";
1807
1744
  var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
1808
- var args2 = [
1809
- throwBindingError,
1810
- cppInvokerFunc,
1811
- cppTargetFunc,
1812
- runDestructors,
1813
- argTypes[0],
1814
- argTypes[1]
1815
- ];
1745
+ var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
1816
1746
  if (isClassMethodFunc) {
1817
1747
  invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
1818
1748
  }
@@ -1861,7 +1791,7 @@
1861
1791
  }
1862
1792
  var proto = classType.registeredClass.instancePrototype;
1863
1793
  var method = proto[methodName];
1864
- if (method === void 0 || method.overloadTable === void 0 && method.className !== classType.name && method.argCount === argCount - 2) {
1794
+ if (void 0 === method || void 0 === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
1865
1795
  unboundTypesHandler.argCount = argCount - 2;
1866
1796
  unboundTypesHandler.className = classType.name;
1867
1797
  proto[methodName] = unboundTypesHandler;
@@ -1871,7 +1801,7 @@
1871
1801
  }
1872
1802
  whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
1873
1803
  var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);
1874
- if (proto[methodName].overloadTable === void 0) {
1804
+ if (void 0 === proto[methodName].overloadTable) {
1875
1805
  memberFunction.argCount = argCount - 2;
1876
1806
  proto[methodName] = memberFunction;
1877
1807
  } else {
@@ -1883,23 +1813,9 @@
1883
1813
  });
1884
1814
  }
1885
1815
  var emval_free_list = [];
1886
- var emval_handle_array = [
1887
- {},
1888
- {
1889
- value: void 0
1890
- },
1891
- {
1892
- value: null
1893
- },
1894
- {
1895
- value: true
1896
- },
1897
- {
1898
- value: false
1899
- }
1900
- ];
1816
+ var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }];
1901
1817
  function __emval_decref(handle) {
1902
- if (handle > 4 && --emval_handle_array[handle].refcount === 0) {
1818
+ if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
1903
1819
  emval_handle_array[handle] = void 0;
1904
1820
  emval_free_list.push(handle);
1905
1821
  }
@@ -1941,30 +1857,20 @@
1941
1857
  }
1942
1858
  default: {
1943
1859
  var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
1944
- emval_handle_array[handle] = {
1945
- refcount: 1,
1946
- value
1947
- };
1860
+ emval_handle_array[handle] = { refcount: 1, value };
1948
1861
  return handle;
1949
1862
  }
1950
1863
  }
1951
1864
  }
1952
1865
  function __embind_register_emval(rawType, name) {
1953
1866
  name = readLatin1String(name);
1954
- registerType(rawType, {
1955
- name,
1956
- fromWireType: function(handle) {
1957
- var rv = emval_handle_array[handle].value;
1958
- __emval_decref(handle);
1959
- return rv;
1960
- },
1961
- toWireType: function(destructors, value) {
1962
- return __emval_register(value);
1963
- },
1964
- argPackAdvance: 8,
1965
- readValueFromPointer: simpleReadValueFromPointer,
1966
- destructorFunction: null
1967
- });
1867
+ registerType(rawType, { name, fromWireType: function(handle) {
1868
+ var rv = emval_handle_array[handle].value;
1869
+ __emval_decref(handle);
1870
+ return rv;
1871
+ }, toWireType: function(destructors, value) {
1872
+ return __emval_register(value);
1873
+ }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: null });
1968
1874
  }
1969
1875
  function _embind_repr(v) {
1970
1876
  if (v === null) {
@@ -1994,21 +1900,14 @@
1994
1900
  function __embind_register_float(rawType, name, size) {
1995
1901
  var shift = getShiftFromSize(size);
1996
1902
  name = readLatin1String(name);
1997
- registerType(rawType, {
1998
- name,
1999
- fromWireType: function(value) {
2000
- return value;
2001
- },
2002
- toWireType: function(destructors, value) {
2003
- if (typeof value !== "number" && typeof value !== "boolean") {
2004
- throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
2005
- }
2006
- return value;
2007
- },
2008
- argPackAdvance: 8,
2009
- readValueFromPointer: floatReadValueFromPointer(name, shift),
2010
- destructorFunction: null
2011
- });
1903
+ registerType(rawType, { name, fromWireType: function(value) {
1904
+ return value;
1905
+ }, toWireType: function(destructors, value) {
1906
+ if (typeof value !== "number" && typeof value !== "boolean") {
1907
+ throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
1908
+ }
1909
+ return value;
1910
+ }, argPackAdvance: 8, readValueFromPointer: floatReadValueFromPointer(name, shift), destructorFunction: null });
2012
1911
  }
2013
1912
  function integerReadValueFromPointer(name, shift, signed) {
2014
1913
  switch (shift) {
@@ -2050,34 +1949,18 @@
2050
1949
  };
2051
1950
  }
2052
1951
  var isUnsignedType = name.indexOf("unsigned") != -1;
2053
- registerType(primitiveType, {
2054
- name,
2055
- fromWireType,
2056
- toWireType: function(destructors, value) {
2057
- if (typeof value !== "number" && typeof value !== "boolean") {
2058
- throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
2059
- }
2060
- if (value < minRange || value > maxRange) {
2061
- throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
2062
- }
2063
- return isUnsignedType ? value >>> 0 : value | 0;
2064
- },
2065
- argPackAdvance: 8,
2066
- readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0),
2067
- destructorFunction: null
2068
- });
1952
+ registerType(primitiveType, { name, fromWireType, toWireType: function(destructors, value) {
1953
+ if (typeof value !== "number" && typeof value !== "boolean") {
1954
+ throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
1955
+ }
1956
+ if (value < minRange || value > maxRange) {
1957
+ throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
1958
+ }
1959
+ return isUnsignedType ? value >>> 0 : value | 0;
1960
+ }, argPackAdvance: 8, readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null });
2069
1961
  }
2070
1962
  function __embind_register_memory_view(rawType, dataTypeIndex, name) {
2071
- var typeMapping = [
2072
- Int8Array,
2073
- Uint8Array,
2074
- Int16Array,
2075
- Uint16Array,
2076
- Int32Array,
2077
- Uint32Array,
2078
- Float32Array,
2079
- Float64Array
2080
- ];
1963
+ var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
2081
1964
  var TA = typeMapping[dataTypeIndex];
2082
1965
  function decodeMemoryView(handle) {
2083
1966
  handle = handle >> 2;
@@ -2087,99 +1970,85 @@
2087
1970
  return new TA(buffer, data2, size);
2088
1971
  }
2089
1972
  name = readLatin1String(name);
2090
- registerType(rawType, {
2091
- name,
2092
- fromWireType: decodeMemoryView,
2093
- argPackAdvance: 8,
2094
- readValueFromPointer: decodeMemoryView
2095
- }, {
2096
- ignoreDuplicateRegistrations: true
2097
- });
1973
+ registerType(rawType, { name, fromWireType: decodeMemoryView, argPackAdvance: 8, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true });
2098
1974
  }
2099
1975
  function __embind_register_std_string(rawType, name) {
2100
1976
  name = readLatin1String(name);
2101
1977
  var stdStringIsUTF8 = name === "std::string";
2102
- registerType(rawType, {
2103
- name,
2104
- fromWireType: function(value) {
2105
- var length = HEAPU32[value >> 2];
2106
- var str;
2107
- if (stdStringIsUTF8) {
2108
- var decodeStartPtr = value + 4;
2109
- for (var i = 0; i <= length; ++i) {
2110
- var currentBytePtr = value + 4 + i;
2111
- if (HEAPU8[currentBytePtr] == 0 || i == length) {
2112
- var maxRead = currentBytePtr - decodeStartPtr;
2113
- var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
2114
- if (str === void 0) {
2115
- str = stringSegment;
2116
- } else {
2117
- str += String.fromCharCode(0);
2118
- str += stringSegment;
2119
- }
2120
- decodeStartPtr = currentBytePtr + 1;
1978
+ registerType(rawType, { name, fromWireType: function(value) {
1979
+ var length = HEAPU32[value >> 2];
1980
+ var str;
1981
+ if (stdStringIsUTF8) {
1982
+ var decodeStartPtr = value + 4;
1983
+ for (var i = 0; i <= length; ++i) {
1984
+ var currentBytePtr = value + 4 + i;
1985
+ if (HEAPU8[currentBytePtr] == 0 || i == length) {
1986
+ var maxRead = currentBytePtr - decodeStartPtr;
1987
+ var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
1988
+ if (str === void 0) {
1989
+ str = stringSegment;
1990
+ } else {
1991
+ str += String.fromCharCode(0);
1992
+ str += stringSegment;
2121
1993
  }
1994
+ decodeStartPtr = currentBytePtr + 1;
2122
1995
  }
2123
- } else {
2124
- var a = new Array(length);
2125
- for (var i = 0; i < length; ++i) {
2126
- a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
2127
- }
2128
- str = a.join("");
2129
- }
2130
- _free(value);
2131
- return str;
2132
- },
2133
- toWireType: function(destructors, value) {
2134
- if (value instanceof ArrayBuffer) {
2135
- value = new Uint8Array(value);
2136
1996
  }
2137
- var getLength;
2138
- var valueIsOfTypeString = typeof value === "string";
2139
- if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
2140
- throwBindingError("Cannot pass non-string to std::string");
2141
- }
2142
- if (stdStringIsUTF8 && valueIsOfTypeString) {
2143
- getLength = function() {
2144
- return lengthBytesUTF8(value);
2145
- };
2146
- } else {
2147
- getLength = function() {
2148
- return value.length;
2149
- };
1997
+ } else {
1998
+ var a = new Array(length);
1999
+ for (var i = 0; i < length; ++i) {
2000
+ a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
2150
2001
  }
2151
- var length = getLength();
2152
- var ptr = _malloc(4 + length + 1);
2153
- HEAPU32[ptr >> 2] = length;
2154
- if (stdStringIsUTF8 && valueIsOfTypeString) {
2155
- stringToUTF8(value, ptr + 4, length + 1);
2156
- } else {
2157
- if (valueIsOfTypeString) {
2158
- for (var i = 0; i < length; ++i) {
2159
- var charCode = value.charCodeAt(i);
2160
- if (charCode > 255) {
2161
- _free(ptr);
2162
- throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
2163
- }
2164
- HEAPU8[ptr + 4 + i] = charCode;
2165
- }
2166
- } else {
2167
- for (var i = 0; i < length; ++i) {
2168
- HEAPU8[ptr + 4 + i] = value[i];
2002
+ str = a.join("");
2003
+ }
2004
+ _free(value);
2005
+ return str;
2006
+ }, toWireType: function(destructors, value) {
2007
+ if (value instanceof ArrayBuffer) {
2008
+ value = new Uint8Array(value);
2009
+ }
2010
+ var getLength;
2011
+ var valueIsOfTypeString = typeof value === "string";
2012
+ if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
2013
+ throwBindingError("Cannot pass non-string to std::string");
2014
+ }
2015
+ if (stdStringIsUTF8 && valueIsOfTypeString) {
2016
+ getLength = function() {
2017
+ return lengthBytesUTF8(value);
2018
+ };
2019
+ } else {
2020
+ getLength = function() {
2021
+ return value.length;
2022
+ };
2023
+ }
2024
+ var length = getLength();
2025
+ var ptr = _malloc(4 + length + 1);
2026
+ HEAPU32[ptr >> 2] = length;
2027
+ if (stdStringIsUTF8 && valueIsOfTypeString) {
2028
+ stringToUTF8(value, ptr + 4, length + 1);
2029
+ } else {
2030
+ if (valueIsOfTypeString) {
2031
+ for (var i = 0; i < length; ++i) {
2032
+ var charCode = value.charCodeAt(i);
2033
+ if (charCode > 255) {
2034
+ _free(ptr);
2035
+ throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
2169
2036
  }
2037
+ HEAPU8[ptr + 4 + i] = charCode;
2038
+ }
2039
+ } else {
2040
+ for (var i = 0; i < length; ++i) {
2041
+ HEAPU8[ptr + 4 + i] = value[i];
2170
2042
  }
2171
2043
  }
2172
- if (destructors !== null) {
2173
- destructors.push(_free, ptr);
2174
- }
2175
- return ptr;
2176
- },
2177
- argPackAdvance: 8,
2178
- readValueFromPointer: simpleReadValueFromPointer,
2179
- destructorFunction: function(ptr) {
2180
- _free(ptr);
2181
2044
  }
2182
- });
2045
+ if (destructors !== null) {
2046
+ destructors.push(_free, ptr);
2047
+ }
2048
+ return ptr;
2049
+ }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function(ptr) {
2050
+ _free(ptr);
2051
+ } });
2183
2052
  }
2184
2053
  function __embind_register_std_wstring(rawType, charSize, name) {
2185
2054
  name = readLatin1String(name);
@@ -2201,63 +2070,50 @@
2201
2070
  };
2202
2071
  shift = 2;
2203
2072
  }
2204
- registerType(rawType, {
2205
- name,
2206
- fromWireType: function(value) {
2207
- var length = HEAPU32[value >> 2];
2208
- var HEAP = getHeap();
2209
- var str;
2210
- var decodeStartPtr = value + 4;
2211
- for (var i = 0; i <= length; ++i) {
2212
- var currentBytePtr = value + 4 + i * charSize;
2213
- if (HEAP[currentBytePtr >> shift] == 0 || i == length) {
2214
- var maxReadBytes = currentBytePtr - decodeStartPtr;
2215
- var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
2216
- if (str === void 0) {
2217
- str = stringSegment;
2218
- } else {
2219
- str += String.fromCharCode(0);
2220
- str += stringSegment;
2221
- }
2222
- decodeStartPtr = currentBytePtr + charSize;
2073
+ registerType(rawType, { name, fromWireType: function(value) {
2074
+ var length = HEAPU32[value >> 2];
2075
+ var HEAP = getHeap();
2076
+ var str;
2077
+ var decodeStartPtr = value + 4;
2078
+ for (var i = 0; i <= length; ++i) {
2079
+ var currentBytePtr = value + 4 + i * charSize;
2080
+ if (HEAP[currentBytePtr >> shift] == 0 || i == length) {
2081
+ var maxReadBytes = currentBytePtr - decodeStartPtr;
2082
+ var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
2083
+ if (str === void 0) {
2084
+ str = stringSegment;
2085
+ } else {
2086
+ str += String.fromCharCode(0);
2087
+ str += stringSegment;
2223
2088
  }
2089
+ decodeStartPtr = currentBytePtr + charSize;
2224
2090
  }
2225
- _free(value);
2226
- return str;
2227
- },
2228
- toWireType: function(destructors, value) {
2229
- if (!(typeof value === "string")) {
2230
- throwBindingError("Cannot pass non-string to C++ string type " + name);
2231
- }
2232
- var length = lengthBytesUTF(value);
2233
- var ptr = _malloc(4 + length + charSize);
2234
- HEAPU32[ptr >> 2] = length >> shift;
2235
- encodeString(value, ptr + 4, length + charSize);
2236
- if (destructors !== null) {
2237
- destructors.push(_free, ptr);
2238
- }
2239
- return ptr;
2240
- },
2241
- argPackAdvance: 8,
2242
- readValueFromPointer: simpleReadValueFromPointer,
2243
- destructorFunction: function(ptr) {
2244
- _free(ptr);
2245
2091
  }
2246
- });
2092
+ _free(value);
2093
+ return str;
2094
+ }, toWireType: function(destructors, value) {
2095
+ if (!(typeof value === "string")) {
2096
+ throwBindingError("Cannot pass non-string to C++ string type " + name);
2097
+ }
2098
+ var length = lengthBytesUTF(value);
2099
+ var ptr = _malloc(4 + length + charSize);
2100
+ HEAPU32[ptr >> 2] = length >> shift;
2101
+ encodeString(value, ptr + 4, length + charSize);
2102
+ if (destructors !== null) {
2103
+ destructors.push(_free, ptr);
2104
+ }
2105
+ return ptr;
2106
+ }, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function(ptr) {
2107
+ _free(ptr);
2108
+ } });
2247
2109
  }
2248
2110
  function __embind_register_void(rawType, name) {
2249
2111
  name = readLatin1String(name);
2250
- registerType(rawType, {
2251
- isVoid: true,
2252
- name,
2253
- argPackAdvance: 0,
2254
- fromWireType: function() {
2255
- return void 0;
2256
- },
2257
- toWireType: function(destructors, o) {
2258
- return void 0;
2259
- }
2260
- });
2112
+ registerType(rawType, { isVoid: true, name, argPackAdvance: 0, fromWireType: function() {
2113
+ return void 0;
2114
+ }, toWireType: function(destructors, o) {
2115
+ return void 0;
2116
+ } });
2261
2117
  }
2262
2118
  function _abort() {
2263
2119
  abort();
@@ -2353,48 +2209,8 @@
2353
2209
  }
2354
2210
  return intArrayFromBase64(filename.slice(dataURIPrefix.length));
2355
2211
  }
2356
- var asmGlobalArg = {
2357
- Math,
2358
- Int8Array,
2359
- Int16Array,
2360
- Int32Array,
2361
- Uint8Array,
2362
- Uint16Array,
2363
- Float32Array,
2364
- Float64Array
2365
- };
2366
- var asmLibraryArg = {
2367
- A: _emscripten_memcpy_big,
2368
- B: _emscripten_resize_heap,
2369
- C: _llvm_trap,
2370
- D: tempDoublePtr,
2371
- a: abort,
2372
- b: setTempRet0,
2373
- c: getTempRet0,
2374
- d: ___cxa_allocate_exception,
2375
- e: ___cxa_begin_catch,
2376
- f: ___cxa_throw,
2377
- g: ___cxa_uncaught_exceptions,
2378
- h: ___exception_addRef,
2379
- i: ___exception_deAdjust,
2380
- j: ___gxx_personality_v0,
2381
- k: __embind_register_bool,
2382
- l: __embind_register_class,
2383
- m: __embind_register_class_constructor,
2384
- n: __embind_register_class_function,
2385
- o: __embind_register_emval,
2386
- p: __embind_register_float,
2387
- q: __embind_register_integer,
2388
- r: __embind_register_memory_view,
2389
- s: __embind_register_std_string,
2390
- t: __embind_register_std_wstring,
2391
- u: __embind_register_void,
2392
- v: __emval_decref,
2393
- w: __emval_register,
2394
- x: _abort,
2395
- y: _embind_repr,
2396
- z: _emscripten_get_heap_size
2397
- };
2212
+ var asmGlobalArg = { Math, Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Float32Array, Float64Array };
2213
+ var asmLibraryArg = { A: _emscripten_memcpy_big, B: _emscripten_resize_heap, C: _llvm_trap, D: tempDoublePtr, a: abort, b: setTempRet0, c: getTempRet0, d: ___cxa_allocate_exception, e: ___cxa_begin_catch, f: ___cxa_throw, g: ___cxa_uncaught_exceptions, h: ___exception_addRef, i: ___exception_deAdjust, j: ___gxx_personality_v0, k: __embind_register_bool, l: __embind_register_class, m: __embind_register_class_constructor, n: __embind_register_class_function, o: __embind_register_emval, p: __embind_register_float, q: __embind_register_integer, r: __embind_register_memory_view, s: __embind_register_std_string, t: __embind_register_std_wstring, u: __embind_register_void, v: __emval_decref, w: __emval_register, x: _abort, y: _embind_repr, z: _emscripten_get_heap_size };
2398
2214
  var asm = function(global, env, buffer2) {
2399
2215
  ;
2400
2216
  var a = new global.Int8Array(buffer2), b = new global.Int16Array(buffer2), c = new global.Int32Array(buffer2), d = new global.Uint8Array(buffer2), e = new global.Uint16Array(buffer2), f = new global.Float32Array(buffer2), g = new global.Float64Array(buffer2), h = env.D | 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = global.Math.imul, r = global.Math.clz32, s = env.a, t = env.b, u = env.c, v = env.d, w = env.e, x = env.f, y = env.g, z = env.h, A = env.i, B = env.j, C = env.k, D = env.l, E = env.m, F = env.n, G = env.o, H = env.p, I = env.q, J = env.r, K = env.s, L = env.t, M = env.u, N = env.v, O = env.w, P = env.x, Q = env.y, R = env.z, S = env.A, T = env.B, U = env.C, V = 22384, W = 5265264, X = 0;
@@ -3273,7 +3089,7 @@
3273
3089
  d2 = b2 + 16 | 0;
3274
3090
  e2 = c[d2 >> 2] | 0;
3275
3091
  do
3276
- if (e2)
3092
+ if (e2) {
3277
3093
  if ((b2 | 0) == (e2 | 0)) {
3278
3094
  e2 = tb(a2) | 0;
3279
3095
  c[a2 + 16 >> 2] = e2;
@@ -3284,7 +3100,7 @@
3284
3100
  c[a2 + 16 >> 2] = Z[c[(c[e2 >> 2] | 0) + 8 >> 2] & 15](e2) | 0;
3285
3101
  break;
3286
3102
  }
3287
- else
3103
+ } else
3288
3104
  c[a2 + 16 >> 2] = 0;
3289
3105
  while (0);
3290
3106
  return;
@@ -3618,7 +3434,7 @@
3618
3434
  d2 = b2 + 16 | 0;
3619
3435
  e2 = c[d2 >> 2] | 0;
3620
3436
  do
3621
- if (e2)
3437
+ if (e2) {
3622
3438
  if ((b2 | 0) == (e2 | 0)) {
3623
3439
  e2 = tb(a2) | 0;
3624
3440
  c[a2 + 16 >> 2] = e2;
@@ -3630,7 +3446,7 @@
3630
3446
  c[d2 >> 2] = 0;
3631
3447
  break;
3632
3448
  }
3633
- else
3449
+ } else
3634
3450
  c[a2 + 16 >> 2] = 0;
3635
3451
  while (0);
3636
3452
  return;
@@ -3649,7 +3465,7 @@
3649
3465
  c[f2 >> 2] = 0;
3650
3466
  c[a2 + 16 >> 2] = e2;
3651
3467
  do
3652
- if (b2)
3468
+ if (b2) {
3653
3469
  if (b2 >>> 0 > 178956970) {
3654
3470
  f2 = v(8) | 0;
3655
3471
  vq(f2, 6723);
@@ -3659,7 +3475,7 @@
3659
3475
  e2 = eq(b2 * 24 | 0) | 0;
3660
3476
  break;
3661
3477
  }
3662
- else
3478
+ } else
3663
3479
  e2 = 0;
3664
3480
  while (0);
3665
3481
  c[a2 >> 2] = e2;
@@ -4155,7 +3971,7 @@
4155
3971
  c[f2 >> 2] = 0;
4156
3972
  c[a2 + 16 >> 2] = e2;
4157
3973
  do
4158
- if (b2)
3974
+ if (b2) {
4159
3975
  if (b2 >>> 0 > 357913941) {
4160
3976
  f2 = v(8) | 0;
4161
3977
  vq(f2, 6723);
@@ -4165,7 +3981,7 @@
4165
3981
  e2 = eq(b2 * 12 | 0) | 0;
4166
3982
  break;
4167
3983
  }
4168
- else
3984
+ } else
4169
3985
  e2 = 0;
4170
3986
  while (0);
4171
3987
  c[a2 >> 2] = e2;
@@ -4568,7 +4384,7 @@
4568
4384
  c[f2 >> 2] = 0;
4569
4385
  c[a2 + 16 >> 2] = e2;
4570
4386
  do
4571
- if (b2)
4387
+ if (b2) {
4572
4388
  if (b2 >>> 0 > 536870911) {
4573
4389
  f2 = v(8) | 0;
4574
4390
  vq(f2, 6723);
@@ -4578,7 +4394,7 @@
4578
4394
  e2 = eq(b2 << 3) | 0;
4579
4395
  break;
4580
4396
  }
4581
- else
4397
+ } else
4582
4398
  e2 = 0;
4583
4399
  while (0);
4584
4400
  c[a2 >> 2] = e2;
@@ -4883,7 +4699,7 @@
4883
4699
  c[f2 >> 2] = 0;
4884
4700
  c[a2 + 16 >> 2] = e2;
4885
4701
  do
4886
- if (b2)
4702
+ if (b2) {
4887
4703
  if (b2 >>> 0 > 97612893) {
4888
4704
  f2 = v(8) | 0;
4889
4705
  vq(f2, 6723);
@@ -4893,7 +4709,7 @@
4893
4709
  e2 = eq(b2 * 44 | 0) | 0;
4894
4710
  break;
4895
4711
  }
4896
- else
4712
+ } else
4897
4713
  e2 = 0;
4898
4714
  while (0);
4899
4715
  c[a2 >> 2] = e2;
@@ -6182,7 +5998,7 @@
6182
5998
  c[f2 >> 2] = 0;
6183
5999
  c[a2 + 16 >> 2] = e2;
6184
6000
  do
6185
- if (b2)
6001
+ if (b2) {
6186
6002
  if (b2 >>> 0 > 536870911) {
6187
6003
  f2 = v(8) | 0;
6188
6004
  vq(f2, 6723);
@@ -6192,7 +6008,7 @@
6192
6008
  e2 = eq(b2 << 3) | 0;
6193
6009
  break;
6194
6010
  }
6195
- else
6011
+ } else
6196
6012
  e2 = 0;
6197
6013
  while (0);
6198
6014
  c[a2 >> 2] = e2;
@@ -8545,7 +8361,7 @@
8545
8361
  c[f2 >> 2] = 0;
8546
8362
  c[a2 + 16 >> 2] = e2;
8547
8363
  do
8548
- if (b2)
8364
+ if (b2) {
8549
8365
  if (b2 >>> 0 > 1073741823) {
8550
8366
  f2 = v(8) | 0;
8551
8367
  vq(f2, 6723);
@@ -8555,7 +8371,7 @@
8555
8371
  e2 = eq(b2 << 2) | 0;
8556
8372
  break;
8557
8373
  }
8558
- else
8374
+ } else
8559
8375
  e2 = 0;
8560
8376
  while (0);
8561
8377
  c[a2 >> 2] = e2;
@@ -12472,13 +12288,13 @@
12472
12288
  var f2 = 0, g2 = 0, h2 = 0, i2 = 0, j2 = 0;
12473
12289
  f2 = e2 + 16 | 0;
12474
12290
  g2 = c[f2 >> 2] | 0;
12475
- if (!g2)
12291
+ if (!g2) {
12476
12292
  if (!(io(e2) | 0)) {
12477
12293
  g2 = c[f2 >> 2] | 0;
12478
12294
  h2 = 5;
12479
12295
  } else
12480
12296
  f2 = 0;
12481
- else
12297
+ } else
12482
12298
  h2 = 5;
12483
12299
  a:
12484
12300
  do
@@ -13008,7 +12824,7 @@
13008
12824
  k2 = k2 + -1 | 0;
13009
12825
  }
13010
12826
  if (!(h2 & 8)) {
13011
- if (v2 ? (A2 = c[w2 + -4 >> 2] | 0, (A2 | 0) != 0) : 0)
12827
+ if (v2 ? (A2 = c[w2 + -4 >> 2] | 0, (A2 | 0) != 0) : 0) {
13012
12828
  if (!((A2 >>> 0) % 10 | 0)) {
13013
12829
  m2 = 0;
13014
12830
  l2 = 10;
@@ -13018,7 +12834,7 @@
13018
12834
  } while (!((A2 >>> 0) % (l2 >>> 0) | 0 | 0));
13019
12835
  } else
13020
12836
  m2 = 0;
13021
- else
12837
+ } else
13022
12838
  m2 = 9;
13023
12839
  l2 = ((w2 - z2 >> 2) * 9 | 0) + -9 | 0;
13024
12840
  if ((o2 | 32 | 0) == 102) {
@@ -13427,13 +13243,13 @@
13427
13243
  }
13428
13244
  q2 = (t2 | 0) > -1;
13429
13245
  do
13430
- if (n2 << 24 >> 24 == 19)
13246
+ if (n2 << 24 >> 24 == 19) {
13431
13247
  if (q2) {
13432
13248
  e2 = -1;
13433
13249
  break a;
13434
13250
  } else
13435
13251
  x2 = 54;
13436
- else {
13252
+ } else {
13437
13253
  if (q2) {
13438
13254
  c[i2 + (t2 << 2) >> 2] = p2;
13439
13255
  q2 = h2 + (t2 << 3) | 0;
@@ -14134,7 +13950,7 @@
14134
13950
  g2 = j2 + 144 | 0;
14135
13951
  i2 = j2;
14136
13952
  ur(i2 | 0, 3672, 144) | 0;
14137
- if ((d2 + -1 | 0) >>> 0 > 2147483646)
13953
+ if ((d2 + -1 | 0) >>> 0 > 2147483646) {
14138
13954
  if (!d2) {
14139
13955
  b2 = g2;
14140
13956
  d2 = 1;
@@ -14143,7 +13959,7 @@
14143
13959
  c[(ao() | 0) >> 2] = 61;
14144
13960
  d2 = -1;
14145
13961
  }
14146
- else
13962
+ } else
14147
13963
  h2 = 4;
14148
13964
  if ((h2 | 0) == 4) {
14149
13965
  h2 = -2 - b2 | 0;
@@ -14345,7 +14161,7 @@
14345
14161
  l2 = V;
14346
14162
  V = V + 64 | 0;
14347
14163
  j2 = l2;
14348
- if (!(ap(d2, e2, 0) | 0))
14164
+ if (!(ap(d2, e2, 0) | 0)) {
14349
14165
  if ((e2 | 0) != 0 ? (k2 = ep(e2, 3840, 3824, 0) | 0, (k2 | 0) != 0) : 0) {
14350
14166
  c[j2 >> 2] = k2;
14351
14167
  c[j2 + 4 >> 2] = 0;
@@ -14371,7 +14187,7 @@
14371
14187
  d2 = 0;
14372
14188
  } else
14373
14189
  d2 = 0;
14374
- else
14190
+ } else
14375
14191
  d2 = 1;
14376
14192
  V = l2;
14377
14193
  return d2 | 0;
@@ -14428,12 +14244,12 @@
14428
14244
  a2 = a2 | 0;
14429
14245
  b2 = b2 | 0;
14430
14246
  d2 = d2 | 0;
14431
- if (d2)
14247
+ if (d2) {
14432
14248
  if ((a2 | 0) == (b2 | 0))
14433
14249
  a2 = 1;
14434
14250
  else
14435
14251
  a2 = (eo(c[a2 + 4 >> 2] | 0, c[b2 + 4 >> 2] | 0) | 0) == 0;
14436
- else
14252
+ } else
14437
14253
  a2 = (c[a2 + 4 >> 2] | 0) == (c[b2 + 4 >> 2] | 0);
14438
14254
  return a2 | 0;
14439
14255
  }
@@ -14908,13 +14724,13 @@
14908
14724
  b2 = b2 | 0;
14909
14725
  d2 = d2 | 0;
14910
14726
  var e2 = 0, f2 = 0;
14911
- if (!(c[a2 + 8 >> 2] & 24))
14727
+ if (!(c[a2 + 8 >> 2] & 24)) {
14912
14728
  if ((b2 | 0) != 0 ? (e2 = ep(b2, 3840, 3960, 0) | 0, (e2 | 0) != 0) : 0) {
14913
14729
  d2 = (c[e2 + 8 >> 2] & 24 | 0) != 0;
14914
14730
  f2 = 5;
14915
14731
  } else
14916
14732
  d2 = 0;
14917
- else {
14733
+ } else {
14918
14734
  d2 = 1;
14919
14735
  f2 = 5;
14920
14736
  }
@@ -15315,14 +15131,14 @@
15315
15131
  b2 = c[b2 + 8 >> 2] | 0;
15316
15132
  d2 = a[b2 >> 0] | 0;
15317
15133
  do
15318
- if (d2 << 24 >> 24 != 1)
15134
+ if (d2 << 24 >> 24 != 1) {
15319
15135
  if (!(d2 & 2)) {
15320
15136
  a[b2 >> 0] = 2;
15321
15137
  e2 = 1;
15322
15138
  break;
15323
15139
  } else
15324
15140
  To(20985, f2);
15325
- else
15141
+ } else
15326
15142
  e2 = 0;
15327
15143
  while (0);
15328
15144
  V = g2;
@@ -16184,7 +16000,7 @@
16184
16000
  if (e2) {
16185
16001
  f2 = 0 - k2 | 0;
16186
16002
  a2 = a2 >>> 8;
16187
- if (a2)
16003
+ if (a2) {
16188
16004
  if (k2 >>> 0 > 16777215)
16189
16005
  j2 = 31;
16190
16006
  else {
@@ -16196,7 +16012,7 @@
16196
16012
  j2 = 14 - (i2 | m2 | j2) + (q2 << j2 >>> 15) | 0;
16197
16013
  j2 = k2 >>> (j2 + 7 | 0) & 1 | j2 << 1;
16198
16014
  }
16199
- else
16015
+ } else
16200
16016
  j2 = 0;
16201
16017
  d2 = c[21952 + (j2 << 2) >> 2] | 0;
16202
16018
  a:
@@ -16378,7 +16194,7 @@
16378
16194
  break;
16379
16195
  }
16380
16196
  b2 = h2 >>> 8;
16381
- if (b2)
16197
+ if (b2) {
16382
16198
  if (h2 >>> 0 > 16777215)
16383
16199
  d2 = 31;
16384
16200
  else {
@@ -16390,7 +16206,7 @@
16390
16206
  d2 = 14 - (t2 | u2 | d2) + (v2 << d2 >>> 15) | 0;
16391
16207
  d2 = h2 >>> (d2 + 7 | 0) & 1 | d2 << 1;
16392
16208
  }
16393
- else
16209
+ } else
16394
16210
  d2 = 0;
16395
16211
  b2 = 21952 + (d2 << 2) | 0;
16396
16212
  c[l2 + 28 >> 2] = d2;
@@ -16948,7 +16764,7 @@
16948
16764
  break;
16949
16765
  }
16950
16766
  b2 = g2 >>> 8;
16951
- if (b2)
16767
+ if (b2) {
16952
16768
  if (g2 >>> 0 > 16777215)
16953
16769
  e2 = 31;
16954
16770
  else {
@@ -16960,7 +16776,7 @@
16960
16776
  e2 = 14 - (t2 | u2 | e2) + (v2 << e2 >>> 15) | 0;
16961
16777
  e2 = g2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
16962
16778
  }
16963
- else
16779
+ } else
16964
16780
  e2 = 0;
16965
16781
  d2 = 21952 + (e2 << 2) | 0;
16966
16782
  c[j2 + 28 >> 2] = e2;
@@ -17392,7 +17208,7 @@
17392
17208
  return;
17393
17209
  }
17394
17210
  a2 = f2 >>> 8;
17395
- if (a2)
17211
+ if (a2) {
17396
17212
  if (f2 >>> 0 > 16777215)
17397
17213
  e2 = 31;
17398
17214
  else {
@@ -17404,7 +17220,7 @@
17404
17220
  e2 = 14 - (g2 | h2 | e2) + (j2 << e2 >>> 15) | 0;
17405
17221
  e2 = f2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
17406
17222
  }
17407
- else
17223
+ } else
17408
17224
  e2 = 0;
17409
17225
  a2 = 21952 + (e2 << 2) | 0;
17410
17226
  c[i2 + 28 >> 2] = e2;
@@ -18055,374 +17871,16 @@
18055
17871
  var Y = [Jr, Mk, Fl, Jr];
18056
17872
  var Z = [Kr, Ap, zb, Fb, qp, tp, oq, Kq, Tq, wk, na, tl, Ok, Hl, Kr, Kr];
18057
17873
  var _ = [Lr, po];
18058
- var $ = [
18059
- Mr,
18060
- Ba,
18061
- Ka,
18062
- Eb,
18063
- jd,
18064
- Nd,
18065
- Xd,
18066
- je,
18067
- ke,
18068
- ne,
18069
- _e,
18070
- ff,
18071
- yf,
18072
- Ff,
18073
- Of,
18074
- Vf,
18075
- Hg,
18076
- Qg,
18077
- Zg,
18078
- ch,
18079
- lh,
18080
- qh,
18081
- zh,
18082
- Eh,
18083
- Nh,
18084
- _h,
18085
- fi,
18086
- ki,
18087
- si,
18088
- Bi,
18089
- Si,
18090
- Zi,
18091
- fj,
18092
- oj,
18093
- yj,
18094
- Fj,
18095
- Pj,
18096
- Yj,
18097
- ek,
18098
- lk,
18099
- tk,
18100
- ll,
18101
- Mr,
18102
- Mr,
18103
- Mr,
18104
- Mr,
18105
- Mr,
18106
- Mr,
18107
- Mr,
18108
- Mr,
18109
- Mr,
18110
- Mr,
18111
- Mr,
18112
- Mr,
18113
- Mr,
18114
- Mr,
18115
- Mr,
18116
- Mr,
18117
- Mr,
18118
- Mr,
18119
- Mr,
18120
- Mr,
18121
- Mr,
18122
- Mr
18123
- ];
17874
+ var $ = [Mr, Ba, Ka, Eb, jd, Nd, Xd, je, ke, ne, _e, ff, yf, Ff, Of, Vf, Hg, Qg, Zg, ch, lh, qh, zh, Eh, Nh, _h, fi, ki, si, Bi, Si, Zi, fj, oj, yj, Fj, Pj, Yj, ek, lk, tk, ll, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr];
18124
17875
  var aa = [Nr, Io, Yo, Fp, Hp, Mq, Nq, Nr];
18125
17876
  var ba = [Or, Dp, Po, Or];
18126
- var ca = [
18127
- Pr,
18128
- pq,
18129
- za,
18130
- Aa,
18131
- Ca,
18132
- Ia,
18133
- Ja,
18134
- La,
18135
- yp,
18136
- ob,
18137
- Gb,
18138
- yb,
18139
- Bb,
18140
- Cb,
18141
- Lb,
18142
- Mb,
18143
- Xb,
18144
- Yb,
18145
- sc,
18146
- tc,
18147
- uc,
18148
- Nc,
18149
- hd,
18150
- id,
18151
- kd,
18152
- Jd,
18153
- Od,
18154
- Pd,
18155
- Qd,
18156
- Rd,
18157
- Vd,
18158
- Wd,
18159
- Yd,
18160
- he,
18161
- ie,
18162
- le,
18163
- me,
18164
- Ye,
18165
- Ze,
18166
- $e,
18167
- df,
18168
- ef,
18169
- wf,
18170
- xf,
18171
- zf,
18172
- Df,
18173
- Ef,
18174
- Mf,
18175
- Nf,
18176
- Pf,
18177
- Tf,
18178
- Uf,
18179
- Fg,
18180
- Gg,
18181
- Ig,
18182
- Rg,
18183
- Sg,
18184
- Xg,
18185
- Yg,
18186
- _g,
18187
- dh,
18188
- eh,
18189
- jh,
18190
- kh,
18191
- mh,
18192
- rh,
18193
- sh,
18194
- xh,
18195
- yh,
18196
- Ah,
18197
- Fh,
18198
- Gh,
18199
- Lh,
18200
- Mh,
18201
- Oh,
18202
- Yh,
18203
- Zh,
18204
- $h,
18205
- di,
18206
- ei,
18207
- gi,
18208
- li,
18209
- mi,
18210
- qi,
18211
- ri,
18212
- ti,
18213
- zi,
18214
- Ai,
18215
- Qi,
18216
- Ri,
18217
- Ti,
18218
- Xi,
18219
- Yi,
18220
- dj,
18221
- ej,
18222
- gj,
18223
- mj,
18224
- nj,
18225
- wj,
18226
- xj,
18227
- zj,
18228
- Dj,
18229
- Ej,
18230
- Nj,
18231
- Oj,
18232
- Qj,
18233
- Wj,
18234
- Xj,
18235
- ck,
18236
- dk,
18237
- fk,
18238
- jk,
18239
- kk,
18240
- rk,
18241
- sk,
18242
- uk,
18243
- Uo,
18244
- Vo,
18245
- Wo,
18246
- Xo,
18247
- fp,
18248
- op,
18249
- pp,
18250
- rp,
18251
- sp,
18252
- zp,
18253
- Bp,
18254
- Cp,
18255
- Ep,
18256
- Gp,
18257
- Lp,
18258
- mq,
18259
- nq,
18260
- Iq,
18261
- Jq,
18262
- Sq,
18263
- Yq,
18264
- Zq,
18265
- zk,
18266
- wl,
18267
- Pr,
18268
- Pr,
18269
- Pr,
18270
- Pr,
18271
- Pr,
18272
- Pr,
18273
- Pr,
18274
- Pr,
18275
- Pr,
18276
- Pr,
18277
- Pr,
18278
- Pr,
18279
- Pr,
18280
- Pr,
18281
- Pr,
18282
- Pr,
18283
- Pr,
18284
- Pr,
18285
- Pr,
18286
- Pr,
18287
- Pr,
18288
- Pr,
18289
- Pr,
18290
- Pr,
18291
- Pr,
18292
- Pr,
18293
- Pr,
18294
- Pr,
18295
- Pr,
18296
- Pr,
18297
- Pr,
18298
- Pr,
18299
- Pr,
18300
- Pr,
18301
- Pr,
18302
- Pr,
18303
- Pr,
18304
- Pr,
18305
- Pr,
18306
- Pr,
18307
- Pr,
18308
- Pr,
18309
- Pr,
18310
- Pr,
18311
- Pr,
18312
- Pr,
18313
- Pr,
18314
- Pr,
18315
- Pr,
18316
- Pr,
18317
- Pr,
18318
- Pr,
18319
- Pr,
18320
- Pr,
18321
- Pr,
18322
- Pr,
18323
- Pr,
18324
- Pr,
18325
- Pr,
18326
- Pr,
18327
- Pr,
18328
- Pr,
18329
- Pr,
18330
- Pr,
18331
- Pr,
18332
- Pr,
18333
- Pr,
18334
- Pr,
18335
- Pr,
18336
- Pr,
18337
- Pr,
18338
- Pr,
18339
- Pr,
18340
- Pr,
18341
- Pr,
18342
- Pr,
18343
- Pr,
18344
- Pr,
18345
- Pr,
18346
- Pr,
18347
- Pr,
18348
- Pr,
18349
- Pr,
18350
- Pr,
18351
- Pr,
18352
- Pr,
18353
- Pr,
18354
- Pr,
18355
- Pr,
18356
- Pr,
18357
- Pr,
18358
- Pr,
18359
- Pr,
18360
- Pr,
18361
- Pr,
18362
- Pr,
18363
- Pr,
18364
- Pr,
18365
- Pr,
18366
- Pr,
18367
- Pr,
18368
- Pr,
18369
- Pr,
18370
- Pr,
18371
- Pr,
18372
- Pr,
18373
- Pr,
18374
- Pr,
18375
- Pr,
18376
- Pr,
18377
- Pr,
18378
- Pr,
18379
- Pr,
18380
- Pr,
18381
- Pr,
18382
- Pr
18383
- ];
17877
+ var ca = [Pr, pq, za, Aa, Ca, Ia, Ja, La, yp, ob, Gb, yb, Bb, Cb, Lb, Mb, Xb, Yb, sc, tc, uc, Nc, hd, id, kd, Jd, Od, Pd, Qd, Rd, Vd, Wd, Yd, he, ie, le, me, Ye, Ze, $e, df, ef, wf, xf, zf, Df, Ef, Mf, Nf, Pf, Tf, Uf, Fg, Gg, Ig, Rg, Sg, Xg, Yg, _g, dh, eh, jh, kh, mh, rh, sh, xh, yh, Ah, Fh, Gh, Lh, Mh, Oh, Yh, Zh, $h, di, ei, gi, li, mi, qi, ri, ti, zi, Ai, Qi, Ri, Ti, Xi, Yi, dj, ej, gj, mj, nj, wj, xj, zj, Dj, Ej, Nj, Oj, Qj, Wj, Xj, ck, dk, fk, jk, kk, rk, sk, uk, Uo, Vo, Wo, Xo, fp, op, pp, rp, sp, zp, Bp, Cp, Ep, Gp, Lp, mq, nq, Iq, Jq, Sq, Yq, Zq, zk, wl, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr];
18384
17878
  var da = [Qr, Ab, Db, ma, pa, qa, ra, sa, qo, Qr, Qr, Qr, Qr, Qr, Qr, Qr];
18385
17879
  var ea = [Rr, Lq, Oq, Uq, Vq, la, oa, dl, Vl, $l, Rr, Rr, Rr, Rr, Rr, Rr];
18386
17880
  var fa = [Sr, $o, ip, Op, Vk, Ol, Sr, Sr];
18387
17881
  var ga = [Tr, _o, hp, Np];
18388
17882
  var ha = [Ur, Zo, gp, Mp];
18389
- return {
18390
- __ZSt18uncaught_exceptionv: kq,
18391
- ___cxa_can_catch: hq,
18392
- ___cxa_is_pointer_type: iq,
18393
- ___embind_register_native_and_builtin_types: im,
18394
- ___errno_location: ao,
18395
- ___getTypeName: $n,
18396
- ___muldi3: kr,
18397
- ___udivdi3: pr,
18398
- _bitshift64Lshr: qr,
18399
- _bitshift64Shl: rr,
18400
- _emscripten_get_sbrk_ptr: sr,
18401
- _free: er,
18402
- _i64Add: lr,
18403
- _i64Subtract: mr,
18404
- _llvm_bswap_i32: tr,
18405
- _malloc: dr,
18406
- _memcpy: ur,
18407
- _memmove: vr,
18408
- _memset: wr,
18409
- dynCall_i: xr,
18410
- dynCall_ii: yr,
18411
- dynCall_iidiiii: zr,
18412
- dynCall_iii: Ar,
18413
- dynCall_iiii: Br,
18414
- dynCall_v: Cr,
18415
- dynCall_vi: Dr,
18416
- dynCall_vii: Er,
18417
- dynCall_viii: Fr,
18418
- dynCall_viiii: Gr,
18419
- dynCall_viiiii: Hr,
18420
- dynCall_viiiiii: Ir,
18421
- globalCtors: ia,
18422
- stackAlloc: gr,
18423
- stackRestore: hr,
18424
- stackSave: ir
18425
- };
17883
+ return { __ZSt18uncaught_exceptionv: kq, ___cxa_can_catch: hq, ___cxa_is_pointer_type: iq, ___embind_register_native_and_builtin_types: im, ___errno_location: ao, ___getTypeName: $n, ___muldi3: kr, ___udivdi3: pr, _bitshift64Lshr: qr, _bitshift64Shl: rr, _emscripten_get_sbrk_ptr: sr, _free: er, _i64Add: lr, _i64Subtract: mr, _llvm_bswap_i32: tr, _malloc: dr, _memcpy: ur, _memmove: vr, _memset: wr, dynCall_i: xr, dynCall_ii: yr, dynCall_iidiiii: zr, dynCall_iii: Ar, dynCall_iiii: Br, dynCall_v: Cr, dynCall_vi: Dr, dynCall_vii: Er, dynCall_viii: Fr, dynCall_viiii: Gr, dynCall_viiiii: Hr, dynCall_viiiiii: Ir, globalCtors: ia, stackAlloc: gr, stackRestore: hr, stackSave: ir };
18426
17884
  }(asmGlobalArg, asmLibraryArg, buffer);
18427
17885
  var __ZSt18uncaught_exceptionv = Module2["__ZSt18uncaught_exceptionv"] = asm["__ZSt18uncaught_exceptionv"];
18428
17886
  var ___cxa_can_catch = Module2["___cxa_can_catch"] = asm["___cxa_can_catch"];
@@ -18569,12 +18027,41 @@
18569
18027
  run();
18570
18028
  return Module2;
18571
18029
  }
18572
- var init_laz_perf = __esm({
18573
- "src/lib/libs/laz-perf.ts"() {
18574
- }
18575
- });
18576
18030
 
18577
18031
  // src/lib/laslaz-decoder.ts
18032
+ var Module = null;
18033
+ var POINT_FORMAT_READERS = {
18034
+ 0: (dv) => {
18035
+ return {
18036
+ position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18037
+ intensity: dv.getUint16(12, true),
18038
+ classification: dv.getUint8(15)
18039
+ };
18040
+ },
18041
+ 1: (dv) => {
18042
+ return {
18043
+ position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18044
+ intensity: dv.getUint16(12, true),
18045
+ classification: dv.getUint8(15)
18046
+ };
18047
+ },
18048
+ 2: (dv) => {
18049
+ return {
18050
+ position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18051
+ intensity: dv.getUint16(12, true),
18052
+ classification: dv.getUint8(15),
18053
+ color: [dv.getUint16(20, true), dv.getUint16(22, true), dv.getUint16(24, true)]
18054
+ };
18055
+ },
18056
+ 3: (dv) => {
18057
+ return {
18058
+ position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18059
+ intensity: dv.getUint16(12, true),
18060
+ classification: dv.getUint8(15),
18061
+ color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]
18062
+ };
18063
+ }
18064
+ };
18578
18065
  function readAs(buf, Type = {}, offset, count) {
18579
18066
  count = count === void 0 || count === 0 ? 1 : count;
18580
18067
  const sub = buf.slice(offset, offset + Type.BYTES_PER_ELEMENT * count);
@@ -18606,269 +18093,240 @@
18606
18093
  o.mins = [bounds[1], bounds[3], bounds[5]];
18607
18094
  return o;
18608
18095
  }
18609
- var Module, POINT_FORMAT_READERS, LASLoader2, LAZLoader, LASDecoder, LASFile;
18610
- var init_laslaz_decoder = __esm({
18611
- "src/lib/laslaz-decoder.ts"() {
18612
- init_laz_perf();
18613
- Module = null;
18614
- POINT_FORMAT_READERS = {
18615
- 0: (dv) => {
18616
- return {
18617
- position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18618
- intensity: dv.getUint16(12, true),
18619
- classification: dv.getUint8(15)
18620
- };
18621
- },
18622
- 1: (dv) => {
18623
- return {
18624
- position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18625
- intensity: dv.getUint16(12, true),
18626
- classification: dv.getUint8(15)
18627
- };
18628
- },
18629
- 2: (dv) => {
18630
- return {
18631
- position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18632
- intensity: dv.getUint16(12, true),
18633
- classification: dv.getUint8(15),
18634
- color: [dv.getUint16(20, true), dv.getUint16(22, true), dv.getUint16(24, true)]
18635
- };
18636
- },
18637
- 3: (dv) => {
18638
- return {
18639
- position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
18640
- intensity: dv.getUint16(12, true),
18641
- classification: dv.getUint8(15),
18642
- color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]
18643
- };
18096
+ var LASLoader2 = class {
18097
+ readOffset = 0;
18098
+ header = {
18099
+ pointsOffset: 0,
18100
+ pointsFormatId: 0,
18101
+ pointsStructSize: 0,
18102
+ pointsCount: 0,
18103
+ scale: [0, 0, 0],
18104
+ offset: [0, 0, 0],
18105
+ maxs: [0],
18106
+ mins: [0],
18107
+ totalToRead: 0,
18108
+ totalRead: 0,
18109
+ versionAsString: "",
18110
+ isCompressed: true
18111
+ };
18112
+ constructor(arraybuffer) {
18113
+ this.arraybuffer = arraybuffer;
18114
+ }
18115
+ open() {
18116
+ return true;
18117
+ }
18118
+ getHeader() {
18119
+ this.header = parseLASHeader(this.arraybuffer);
18120
+ return this.header;
18121
+ }
18122
+ readData(count, skip) {
18123
+ const {
18124
+ header,
18125
+ arraybuffer
18126
+ } = this;
18127
+ if (!header) {
18128
+ throw new Error("Cannot start reading data till a header request is issued");
18129
+ }
18130
+ let {
18131
+ readOffset
18132
+ } = this;
18133
+ let start;
18134
+ if (skip <= 1) {
18135
+ count = Math.min(count, header.pointsCount - readOffset);
18136
+ start = header.pointsOffset + readOffset * header.pointsStructSize;
18137
+ const end = start + count * header.pointsStructSize;
18138
+ readOffset += count;
18139
+ this.readOffset = readOffset;
18140
+ return {
18141
+ buffer: arraybuffer.slice(start, end),
18142
+ count,
18143
+ hasMoreData: readOffset < header.pointsCount
18144
+ };
18145
+ }
18146
+ const pointsToRead = Math.min(count * skip, header.pointsCount - readOffset);
18147
+ const bufferSize = Math.ceil(pointsToRead / skip);
18148
+ let pointsRead = 0;
18149
+ const buf = new Uint8Array(bufferSize * header.pointsStructSize);
18150
+ for (let i = 0; i < pointsToRead; i++) {
18151
+ if (i % skip === 0) {
18152
+ start = header.pointsOffset + readOffset * header.pointsStructSize;
18153
+ const src = new Uint8Array(arraybuffer, start, header.pointsStructSize);
18154
+ buf.set(src, pointsRead * header.pointsStructSize);
18155
+ pointsRead++;
18644
18156
  }
18157
+ readOffset++;
18158
+ }
18159
+ this.readOffset = readOffset;
18160
+ return {
18161
+ buffer: buf.buffer,
18162
+ count: pointsRead,
18163
+ hasMoreData: readOffset < header.pointsCount
18645
18164
  };
18646
- LASLoader2 = class {
18647
- constructor(arraybuffer) {
18648
- this.readOffset = 0;
18649
- this.header = {
18650
- pointsOffset: 0,
18651
- pointsFormatId: 0,
18652
- pointsStructSize: 0,
18653
- pointsCount: 0,
18654
- scale: [0, 0, 0],
18655
- offset: [0, 0, 0],
18656
- maxs: [0],
18657
- mins: [0],
18658
- totalToRead: 0,
18659
- totalRead: 0,
18660
- versionAsString: "",
18661
- isCompressed: true
18662
- };
18663
- this.arraybuffer = arraybuffer;
18664
- }
18665
- open() {
18666
- return true;
18667
- }
18668
- getHeader() {
18669
- this.header = parseLASHeader(this.arraybuffer);
18670
- return this.header;
18671
- }
18672
- readData(count, skip) {
18673
- const { header, arraybuffer } = this;
18674
- if (!header) {
18675
- throw new Error("Cannot start reading data till a header request is issued");
18676
- }
18677
- let { readOffset } = this;
18678
- let start;
18679
- if (skip <= 1) {
18680
- count = Math.min(count, header.pointsCount - readOffset);
18681
- start = header.pointsOffset + readOffset * header.pointsStructSize;
18682
- const end = start + count * header.pointsStructSize;
18683
- readOffset += count;
18684
- this.readOffset = readOffset;
18685
- return {
18686
- buffer: arraybuffer.slice(start, end),
18687
- count,
18688
- hasMoreData: readOffset < header.pointsCount
18689
- };
18690
- }
18691
- const pointsToRead = Math.min(count * skip, header.pointsCount - readOffset);
18692
- const bufferSize = Math.ceil(pointsToRead / skip);
18693
- let pointsRead = 0;
18694
- const buf = new Uint8Array(bufferSize * header.pointsStructSize);
18695
- for (let i = 0; i < pointsToRead; i++) {
18696
- if (i % skip === 0) {
18697
- start = header.pointsOffset + readOffset * header.pointsStructSize;
18698
- const src = new Uint8Array(arraybuffer, start, header.pointsStructSize);
18699
- buf.set(src, pointsRead * header.pointsStructSize);
18700
- pointsRead++;
18701
- }
18702
- readOffset++;
18165
+ }
18166
+ close() {
18167
+ this.arraybuffer = null;
18168
+ return true;
18169
+ }
18170
+ };
18171
+ var LAZLoader = class {
18172
+ instance = null;
18173
+ header = null;
18174
+ constructor(arraybuffer) {
18175
+ this.arraybuffer = arraybuffer;
18176
+ if (!Module) {
18177
+ Module = getModule();
18178
+ }
18179
+ }
18180
+ open() {
18181
+ try {
18182
+ const {
18183
+ arraybuffer
18184
+ } = this;
18185
+ this.instance = new Module.LASZip();
18186
+ const abInt = new Uint8Array(arraybuffer);
18187
+ const buf = Module._malloc(arraybuffer.byteLength);
18188
+ this.instance.arraybuffer = arraybuffer;
18189
+ this.instance.buf = buf;
18190
+ Module.HEAPU8.set(abInt, buf);
18191
+ this.instance.open(buf, arraybuffer.byteLength);
18192
+ this.instance.readOffset = 0;
18193
+ return true;
18194
+ } catch (error) {
18195
+ throw new Error(`Failed to open file: ${error.message}`);
18196
+ }
18197
+ }
18198
+ getHeader() {
18199
+ if (!this.instance) {
18200
+ throw new Error("You need to open the file before trying to read header");
18201
+ }
18202
+ try {
18203
+ const header = parseLASHeader(this.instance.arraybuffer);
18204
+ header.pointsFormatId &= 63;
18205
+ this.header = header;
18206
+ return header;
18207
+ } catch (error) {
18208
+ throw new Error(`Failed to get header: ${error.message}`);
18209
+ }
18210
+ }
18211
+ readData(count, offset, skip) {
18212
+ if (!this.instance) {
18213
+ throw new Error("You need to open the file before trying to read stuff");
18214
+ }
18215
+ const {
18216
+ header,
18217
+ instance
18218
+ } = this;
18219
+ if (!header) {
18220
+ throw new Error("You need to query header before reading, I maintain state that way, sorry :(");
18221
+ }
18222
+ try {
18223
+ const pointsToRead = Math.min(count * skip, header.pointsCount - instance.readOffset);
18224
+ const bufferSize = Math.ceil(pointsToRead / skip);
18225
+ let pointsRead = 0;
18226
+ const thisBuf = new Uint8Array(bufferSize * header.pointsStructSize);
18227
+ const bufRead = Module._malloc(header.pointsStructSize);
18228
+ for (let i = 0; i < pointsToRead; i++) {
18229
+ instance.getPoint(bufRead);
18230
+ if (i % skip === 0) {
18231
+ const a = new Uint8Array(Module.HEAPU8.buffer, bufRead, header.pointsStructSize);
18232
+ thisBuf.set(a, pointsRead * header.pointsStructSize);
18233
+ pointsRead++;
18703
18234
  }
18704
- this.readOffset = readOffset;
18705
- return {
18706
- buffer: buf.buffer,
18707
- count: pointsRead,
18708
- hasMoreData: readOffset < header.pointsCount
18709
- };
18710
- }
18711
- close() {
18712
- this.arraybuffer = null;
18713
- return true;
18235
+ instance.readOffset++;
18714
18236
  }
18715
- };
18716
- LAZLoader = class {
18717
- constructor(arraybuffer) {
18237
+ return {
18238
+ buffer: thisBuf.buffer,
18239
+ count: pointsRead,
18240
+ hasMoreData: instance.readOffset < header.pointsCount
18241
+ };
18242
+ } catch (error) {
18243
+ throw new Error(`Failed to read data: ${error.message}`);
18244
+ }
18245
+ }
18246
+ close() {
18247
+ try {
18248
+ if (this.instance !== null) {
18249
+ this.instance.delete();
18718
18250
  this.instance = null;
18719
- this.header = null;
18720
- this.arraybuffer = arraybuffer;
18721
- if (!Module) {
18722
- Module = getModule();
18723
- }
18724
- }
18725
- open() {
18726
- try {
18727
- const { arraybuffer } = this;
18728
- this.instance = new Module.LASZip();
18729
- const abInt = new Uint8Array(arraybuffer);
18730
- const buf = Module._malloc(arraybuffer.byteLength);
18731
- this.instance.arraybuffer = arraybuffer;
18732
- this.instance.buf = buf;
18733
- Module.HEAPU8.set(abInt, buf);
18734
- this.instance.open(buf, arraybuffer.byteLength);
18735
- this.instance.readOffset = 0;
18736
- return true;
18737
- } catch (error) {
18738
- throw new Error(`Failed to open file: ${error.message}`);
18739
- }
18740
- }
18741
- getHeader() {
18742
- if (!this.instance) {
18743
- throw new Error("You need to open the file before trying to read header");
18744
- }
18745
- try {
18746
- const header = parseLASHeader(this.instance.arraybuffer);
18747
- header.pointsFormatId &= 63;
18748
- this.header = header;
18749
- return header;
18750
- } catch (error) {
18751
- throw new Error(`Failed to get header: ${error.message}`);
18752
- }
18753
- }
18754
- readData(count, offset, skip) {
18755
- if (!this.instance) {
18756
- throw new Error("You need to open the file before trying to read stuff");
18757
- }
18758
- const { header, instance } = this;
18759
- if (!header) {
18760
- throw new Error("You need to query header before reading, I maintain state that way, sorry :(");
18761
- }
18762
- try {
18763
- const pointsToRead = Math.min(count * skip, header.pointsCount - instance.readOffset);
18764
- const bufferSize = Math.ceil(pointsToRead / skip);
18765
- let pointsRead = 0;
18766
- const thisBuf = new Uint8Array(bufferSize * header.pointsStructSize);
18767
- const bufRead = Module._malloc(header.pointsStructSize);
18768
- for (let i = 0; i < pointsToRead; i++) {
18769
- instance.getPoint(bufRead);
18770
- if (i % skip === 0) {
18771
- const a = new Uint8Array(Module.HEAPU8.buffer, bufRead, header.pointsStructSize);
18772
- thisBuf.set(a, pointsRead * header.pointsStructSize);
18773
- pointsRead++;
18774
- }
18775
- instance.readOffset++;
18776
- }
18777
- return {
18778
- buffer: thisBuf.buffer,
18779
- count: pointsRead,
18780
- hasMoreData: instance.readOffset < header.pointsCount
18781
- };
18782
- } catch (error) {
18783
- throw new Error(`Failed to read data: ${error.message}`);
18784
- }
18785
- }
18786
- close() {
18787
- try {
18788
- if (this.instance !== null) {
18789
- this.instance.delete();
18790
- this.instance = null;
18791
- }
18792
- return true;
18793
- } catch (error) {
18794
- throw new Error(`Failed to close file: ${error.message}`);
18795
- }
18796
- }
18797
- };
18798
- LASDecoder = class {
18799
- constructor(buffer, len, header) {
18800
- this.arrayb = buffer;
18801
- this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
18802
- this.pointsCount = len;
18803
- this.pointSize = header.pointsStructSize;
18804
- this.scale = header.scale;
18805
- this.offset = header.offset;
18806
- this.mins = header.mins;
18807
- this.maxs = header.maxs;
18808
- }
18809
- getPoint(index) {
18810
- if (index < 0 || index >= this.pointsCount) {
18811
- throw new Error("Point index out of range");
18812
- }
18813
- const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);
18814
- return this.decoder(dv);
18815
- }
18816
- };
18817
- LASFile = class {
18818
- constructor(arraybuffer) {
18819
- this.formatId = 0;
18820
- this.isCompressed = true;
18821
- this.isOpen = false;
18822
- this.version = 0;
18823
- this.versionAsString = "";
18824
- this.arraybuffer = arraybuffer;
18825
- if (this.determineVersion() > 13) {
18826
- throw new Error("Only file versions <= 1.3 are supported at this time");
18827
- }
18828
- this.determineFormat();
18829
- if (POINT_FORMAT_READERS[this.formatId] === void 0) {
18830
- throw new Error("The point format ID is not supported");
18831
- }
18832
- this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new LASLoader2(this.arraybuffer);
18833
- }
18834
- determineFormat() {
18835
- const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);
18836
- const bit7 = (formatId & 128) >> 7;
18837
- const bit6 = (formatId & 64) >> 6;
18838
- if (bit7 === 1 && bit6 === 1) {
18839
- throw new Error("Old style compression not supported");
18840
- }
18841
- this.formatId = formatId & 63;
18842
- this.isCompressed = bit7 === 1 || bit6 === 1;
18843
- }
18844
- determineVersion() {
18845
- const ver = new Int8Array(this.arraybuffer, 24, 2);
18846
- this.version = ver[0] * 10 + ver[1];
18847
- this.versionAsString = `${ver[0]}.${ver[1]}`;
18848
- return this.version;
18849
- }
18850
- open() {
18851
- if (this.loader.open()) {
18852
- this.isOpen = true;
18853
- }
18854
18251
  }
18855
- getHeader() {
18856
- return this.loader.getHeader();
18857
- }
18858
- readData(count, start, skip) {
18859
- return this.loader.readData(count, start, skip);
18860
- }
18861
- close() {
18862
- if (this.loader.close()) {
18863
- this.isOpen = false;
18864
- }
18865
- }
18866
- getUnpacker() {
18867
- return LASDecoder;
18868
- }
18869
- };
18252
+ return true;
18253
+ } catch (error) {
18254
+ throw new Error(`Failed to close file: ${error.message}`);
18255
+ }
18870
18256
  }
18871
- });
18257
+ };
18258
+ var LASDecoder = class {
18259
+ constructor(buffer, len, header) {
18260
+ this.arrayb = buffer;
18261
+ this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
18262
+ this.pointsCount = len;
18263
+ this.pointSize = header.pointsStructSize;
18264
+ this.scale = header.scale;
18265
+ this.offset = header.offset;
18266
+ this.mins = header.mins;
18267
+ this.maxs = header.maxs;
18268
+ }
18269
+ getPoint(index) {
18270
+ if (index < 0 || index >= this.pointsCount) {
18271
+ throw new Error("Point index out of range");
18272
+ }
18273
+ const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);
18274
+ return this.decoder(dv);
18275
+ }
18276
+ };
18277
+ var LASFile = class {
18278
+ formatId = 0;
18279
+ isCompressed = true;
18280
+ isOpen = false;
18281
+ version = 0;
18282
+ versionAsString = "";
18283
+ constructor(arraybuffer) {
18284
+ this.arraybuffer = arraybuffer;
18285
+ if (this.determineVersion() > 13) {
18286
+ throw new Error("Only file versions <= 1.3 are supported at this time");
18287
+ }
18288
+ this.determineFormat();
18289
+ if (POINT_FORMAT_READERS[this.formatId] === void 0) {
18290
+ throw new Error("The point format ID is not supported");
18291
+ }
18292
+ this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new LASLoader2(this.arraybuffer);
18293
+ }
18294
+ determineFormat() {
18295
+ const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);
18296
+ const bit7 = (formatId & 128) >> 7;
18297
+ const bit6 = (formatId & 64) >> 6;
18298
+ if (bit7 === 1 && bit6 === 1) {
18299
+ throw new Error("Old style compression not supported");
18300
+ }
18301
+ this.formatId = formatId & 63;
18302
+ this.isCompressed = bit7 === 1 || bit6 === 1;
18303
+ }
18304
+ determineVersion() {
18305
+ const ver = new Int8Array(this.arraybuffer, 24, 2);
18306
+ this.version = ver[0] * 10 + ver[1];
18307
+ this.versionAsString = `${ver[0]}.${ver[1]}`;
18308
+ return this.version;
18309
+ }
18310
+ open() {
18311
+ if (this.loader.open()) {
18312
+ this.isOpen = true;
18313
+ }
18314
+ }
18315
+ getHeader() {
18316
+ return this.loader.getHeader();
18317
+ }
18318
+ readData(count, start, skip) {
18319
+ return this.loader.readData(count, start, skip);
18320
+ }
18321
+ close() {
18322
+ if (this.loader.close()) {
18323
+ this.isOpen = false;
18324
+ }
18325
+ }
18326
+ getUnpacker() {
18327
+ return LASDecoder;
18328
+ }
18329
+ };
18872
18330
 
18873
18331
  // src/lib/get-las-schema.ts
18874
18332
  function getLASSchema(lasHeader, attributes) {
@@ -18900,11 +18358,6 @@
18900
18358
  }
18901
18359
  return metadata;
18902
18360
  }
18903
- var init_get_las_schema = __esm({
18904
- "src/lib/get-las-schema.ts"() {
18905
- init_src();
18906
- }
18907
- });
18908
18361
 
18909
18362
  // src/lib/parse-las.ts
18910
18363
  function parseLAS(arrayBuffer, options) {
@@ -18920,13 +18373,13 @@
18920
18373
  const lasMesh = {
18921
18374
  loader: "las",
18922
18375
  loaderData: {},
18923
- schema: { fields: [], metadata: {} },
18376
+ schema: {
18377
+ fields: [],
18378
+ metadata: {}
18379
+ },
18924
18380
  header: {
18925
18381
  vertexCount: 0,
18926
- boundingBox: [
18927
- [0, 0, 0],
18928
- [0, 0, 0]
18929
- ]
18382
+ boundingBox: [[0, 0, 0], [0, 0, 0]]
18930
18383
  },
18931
18384
  attributes: {},
18932
18385
  topology: "point-list",
@@ -18943,12 +18396,24 @@
18943
18396
  classifications = new Uint8Array(total);
18944
18397
  lasMesh.loaderData = lasHeader;
18945
18398
  lasMesh.attributes = {
18946
- POSITION: { value: positions, size: 3 },
18947
- intensity: { value: intensities, size: 1 },
18948
- classification: { value: classifications, size: 1 }
18399
+ POSITION: {
18400
+ value: positions,
18401
+ size: 3
18402
+ },
18403
+ intensity: {
18404
+ value: intensities,
18405
+ size: 1
18406
+ },
18407
+ classification: {
18408
+ value: classifications,
18409
+ size: 1
18410
+ }
18949
18411
  };
18950
18412
  if (colors) {
18951
- lasMesh.attributes.COLOR_0 = { value: colors, size: 4 };
18413
+ lasMesh.attributes.COLOR_0 = {
18414
+ value: colors,
18415
+ size: 4
18416
+ };
18952
18417
  }
18953
18418
  }
18954
18419
  const batchSize = decoder.pointsCount;
@@ -18958,7 +18423,12 @@
18958
18423
  } = lasHeader;
18959
18424
  const twoByteColor = detectTwoByteColors(decoder, batchSize, options.las?.colorDepth);
18960
18425
  for (let i = 0; i < batchSize; i++) {
18961
- const { position, color, intensity, classification } = decoder.getPoint(i);
18426
+ const {
18427
+ position,
18428
+ color,
18429
+ intensity,
18430
+ classification
18431
+ } = decoder.getPoint(i);
18962
18432
  positions[pointIndex * 3] = position[0] * scaleX + offsetX;
18963
18433
  positions[pointIndex * 3 + 1] = position[1] * scaleY + offsetY;
18964
18434
  positions[pointIndex * 3 + 2] = position[2] * scaleZ + offsetZ;
@@ -19035,7 +18505,9 @@
19035
18505
  case "auto":
19036
18506
  if (decoder.getPoint(0).color) {
19037
18507
  for (let i = 0; i < batchSize; i++) {
19038
- const { color } = decoder.getPoint(i);
18508
+ const {
18509
+ color
18510
+ } = decoder.getPoint(i);
19039
18511
  if (color[0] > 255 || color[1] > 255 || color[2] > 255) {
19040
18512
  twoByteColor = true;
19041
18513
  }
@@ -19048,40 +18520,14 @@
19048
18520
  }
19049
18521
  return twoByteColor;
19050
18522
  }
19051
- var init_parse_las = __esm({
19052
- "src/lib/parse-las.ts"() {
19053
- init_src();
19054
- init_laslaz_decoder();
19055
- init_get_las_schema();
19056
- }
19057
- });
19058
18523
 
19059
18524
  // src/index.ts
19060
- var src_exports = {};
19061
- __export(src_exports, {
19062
- LASLoader: () => LASLoader3,
19063
- LASWorkerLoader: () => LASLoader
19064
- });
19065
- var LASLoader3;
19066
- var init_src2 = __esm({
19067
- "src/index.ts"() {
19068
- init_las_loader();
19069
- init_parse_las();
19070
- LASLoader3 = {
19071
- ...LASLoader,
19072
- parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
19073
- parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
19074
- };
19075
- }
19076
- });
19077
-
19078
- // src/bundle.ts
19079
- var require_bundle = __commonJS({
19080
- "src/bundle.ts"(exports, module2) {
19081
- var moduleExports = (init_src2(), src_exports);
19082
- globalThis.loaders = globalThis.loaders || {};
19083
- module2.exports = Object.assign(globalThis.loaders, moduleExports);
19084
- }
19085
- });
19086
- require_bundle();
18525
+ var LASLoader3 = {
18526
+ ...LASLoader,
18527
+ parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
18528
+ parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
18529
+ };
18530
+ return __toCommonJS(src_exports);
19087
18531
  })();
18532
+ return __exports__;
18533
+ });