goscript 0.1.2 → 0.1.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.
- package/cmd/goscript/cmd_compile.go +28 -8
- package/cmd/goscript/cmd_compile_test.go +105 -6
- package/compiler/build-flags.go +9 -10
- package/compiler/gotest/runner_test.go +127 -0
- package/compiler/lowered-program.go +1 -0
- package/compiler/lowering.go +1325 -194
- package/compiler/lowering_bench_test.go +350 -0
- package/compiler/override-registry_test.go +43 -0
- package/compiler/package-graph.go +61 -4
- package/compiler/package-graph_test.go +30 -0
- package/compiler/semantic-model-types.go +8 -0
- package/compiler/semantic-model.go +447 -22
- package/compiler/semantic-model_test.go +138 -0
- package/compiler/skeleton_test.go +1436 -50
- package/compiler/typescript-emitter.go +47 -4
- package/dist/gs/builtin/builtin.d.ts +2 -2
- package/dist/gs/builtin/builtin.js +20 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/channel.js +36 -9
- package/dist/gs/builtin/channel.js.map +1 -1
- package/dist/gs/builtin/slice.js +5 -0
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +1 -1
- package/dist/gs/builtin/type.js +80 -8
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/bytes/bytes.gs.d.ts +7 -5
- package/dist/gs/bytes/bytes.gs.js +10 -4
- package/dist/gs/bytes/bytes.gs.js.map +1 -1
- package/dist/gs/compress/zlib/index.d.ts +3 -3
- package/dist/gs/compress/zlib/index.js +88 -26
- package/dist/gs/compress/zlib/index.js.map +1 -1
- package/dist/gs/crypto/sha1/index.d.ts +5 -0
- package/dist/gs/crypto/sha1/index.js +103 -0
- package/dist/gs/crypto/sha1/index.js.map +1 -0
- package/dist/gs/crypto/sha256/index.js +2 -5
- package/dist/gs/crypto/sha256/index.js.map +1 -1
- package/dist/gs/crypto/sha512/index.js +2 -5
- package/dist/gs/crypto/sha512/index.js.map +1 -1
- package/dist/gs/embed/index.d.ts +6 -0
- package/dist/gs/embed/index.js +210 -5
- package/dist/gs/embed/index.js.map +1 -1
- package/dist/gs/fmt/fmt.d.ts +4 -4
- package/dist/gs/fmt/fmt.js +93 -19
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +118 -6
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -1
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.d.ts +45 -0
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js +229 -0
- package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js.map +1 -0
- package/dist/gs/io/fs/readdir.js +5 -3
- package/dist/gs/io/fs/readdir.js.map +1 -1
- package/dist/gs/io/io.d.ts +18 -11
- package/dist/gs/io/io.js +107 -44
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/math/bits/index.d.ts +26 -5
- package/dist/gs/math/bits/index.js +13 -24
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/net/http/httptest/index.js +7 -5
- package/dist/gs/net/http/httptest/index.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +11 -1
- package/dist/gs/net/http/index.js +157 -11
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/os/types_js.gs.d.ts +6 -2
- package/dist/gs/os/types_js.gs.js +169 -8
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/os/zero_copy_posix.gs.js +1 -1
- package/dist/gs/os/zero_copy_posix.gs.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +1 -0
- package/dist/gs/reflect/type.js +80 -51
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/strings/reader.d.ts +1 -1
- package/dist/gs/strings/reader.js +2 -2
- package/dist/gs/strings/reader.js.map +1 -1
- package/dist/gs/sync/sync.d.ts +2 -1
- package/dist/gs/sync/sync.js +37 -16
- package/dist/gs/sync/sync.js.map +1 -1
- package/dist/gs/syscall/js/index.js +9 -0
- package/dist/gs/syscall/js/index.js.map +1 -1
- package/dist/gs/testing/testing.js +8 -6
- package/dist/gs/testing/testing.js.map +1 -1
- package/gs/builtin/builtin.ts +25 -2
- package/gs/builtin/channel.ts +47 -9
- package/gs/builtin/runtime-contract.test.ts +78 -0
- package/gs/builtin/slice.ts +7 -0
- package/gs/builtin/type.ts +97 -8
- package/gs/bytes/bytes.gs.ts +19 -10
- package/gs/bytes/bytes.test.ts +17 -0
- package/gs/compress/zlib/index.test.ts +97 -0
- package/gs/compress/zlib/index.ts +117 -27
- package/gs/compress/zlib/meta.json +4 -1
- package/gs/context/context.test.ts +5 -1
- package/gs/crypto/sha1/index.test.ts +45 -0
- package/gs/crypto/sha1/index.ts +127 -0
- package/gs/crypto/sha1/meta.json +8 -0
- package/gs/crypto/sha256/index.test.ts +14 -2
- package/gs/crypto/sha256/index.ts +3 -6
- package/gs/crypto/sha512/index.test.ts +17 -2
- package/gs/crypto/sha512/index.ts +3 -6
- package/gs/embed/index.test.ts +87 -0
- package/gs/embed/index.ts +229 -5
- package/gs/fmt/fmt.test.ts +61 -3
- package/gs/fmt/fmt.ts +115 -22
- package/gs/fmt/meta.json +6 -1
- package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +8 -1
- package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +139 -11
- package/gs/github.com/aperturerobotics/util/conc/index.test.ts +1 -1
- package/gs/github.com/go-git/go-billy/v6/osfs/index.test.ts +110 -0
- package/gs/github.com/go-git/go-billy/v6/osfs/index.ts +280 -0
- package/gs/github.com/go-git/go-billy/v6/osfs/meta.json +8 -0
- package/gs/io/fs/readdir.test.ts +38 -0
- package/gs/io/fs/readdir.ts +7 -3
- package/gs/io/io.test.ts +135 -0
- package/gs/io/io.ts +143 -63
- package/gs/io/meta.json +7 -1
- package/gs/math/bits/index.ts +52 -28
- package/gs/net/http/httptest/index.test.ts +34 -2
- package/gs/net/http/httptest/index.ts +23 -8
- package/gs/net/http/index.test.ts +46 -0
- package/gs/net/http/index.ts +178 -12
- package/gs/os/file_unix_js.test.ts +52 -0
- package/gs/os/meta.json +4 -0
- package/gs/os/readdir.test.ts +56 -0
- package/gs/os/types_js.gs.ts +169 -8
- package/gs/os/zero_copy_posix.gs.ts +1 -2
- package/gs/reflect/deepequal.test.ts +10 -1
- package/gs/reflect/type.ts +91 -56
- package/gs/reflect/typefor.test.ts +31 -1
- package/gs/strings/meta.json +5 -2
- package/gs/strings/reader.test.ts +2 -2
- package/gs/strings/reader.ts +2 -2
- package/gs/sync/meta.json +2 -0
- package/gs/sync/sync.test.ts +41 -1
- package/gs/sync/sync.ts +41 -16
- package/gs/syscall/js/index.test.ts +18 -0
- package/gs/syscall/js/index.ts +12 -0
- package/gs/testing/testing.test.ts +32 -3
- package/gs/testing/testing.ts +13 -10
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as $ from "@goscript/builtin/index.js";
|
|
2
2
|
import { ErrClosed, ErrInvalid, ErrUnimplemented } from "./error.gs.js";
|
|
3
3
|
import * as fs from "@goscript/io/fs/index.js";
|
|
4
|
+
import { FileInfoToDirEntry } from "@goscript/io/fs/readdir.js";
|
|
4
5
|
import * as io from "@goscript/io/index.js";
|
|
5
6
|
import * as time from "@goscript/time/index.js";
|
|
6
7
|
import { getHostRuntime, HostUnsupportedError, resetHostRuntimeForTests, } from "@goscript/builtin/hostio.js";
|
|
@@ -180,6 +181,70 @@ export function createFileInfo(name, stat) {
|
|
|
180
181
|
sys: stat,
|
|
181
182
|
});
|
|
182
183
|
}
|
|
184
|
+
function joinFilePath(dir, name) {
|
|
185
|
+
if (dir === "" || dir === ".") {
|
|
186
|
+
return name;
|
|
187
|
+
}
|
|
188
|
+
return dir.replace(/\/+$/, "") + "/" + name;
|
|
189
|
+
}
|
|
190
|
+
function readDirectoryInfos(name) {
|
|
191
|
+
const denoObj = getDeno();
|
|
192
|
+
if (denoObj?.readDirSync) {
|
|
193
|
+
try {
|
|
194
|
+
const infos = [];
|
|
195
|
+
for (const entry of denoObj.readDirSync(name)) {
|
|
196
|
+
infos.push(createFileInfo(entry.name, {
|
|
197
|
+
isDirectory: () => entry.isDirectory,
|
|
198
|
+
isSymbolicLink: () => entry.isSymlink,
|
|
199
|
+
mode: 0,
|
|
200
|
+
size: 0,
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
return [infos, null];
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
return [null, newHostError(err)];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const nodeFS = getNodeFS();
|
|
210
|
+
if (nodeFS?.readdirSync) {
|
|
211
|
+
try {
|
|
212
|
+
const infos = nodeFS.readdirSync(name, { withFileTypes: true }).map((entry) => {
|
|
213
|
+
const childName = String(entry.name);
|
|
214
|
+
const childPath = joinFilePath(name, childName);
|
|
215
|
+
if (nodeFS.lstatSync) {
|
|
216
|
+
try {
|
|
217
|
+
return createFileInfo(childName, nodeFS.lstatSync(childPath));
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
// Fall back to Dirent metadata when the child cannot be statted.
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return createFileInfo(childName, {
|
|
224
|
+
isDirectory: () => typeof entry.isDirectory === "function" ? entry.isDirectory() : false,
|
|
225
|
+
isSymbolicLink: () => typeof entry.isSymbolicLink === "function" ? entry.isSymbolicLink() : false,
|
|
226
|
+
mode: 0,
|
|
227
|
+
size: 0,
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
return [infos, null];
|
|
231
|
+
}
|
|
232
|
+
catch (err) {
|
|
233
|
+
return [null, newHostError(err)];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return [null, ErrUnimplemented];
|
|
237
|
+
}
|
|
238
|
+
function consumeDirectoryEntries(entries, offset, n) {
|
|
239
|
+
if (n <= 0) {
|
|
240
|
+
return [$.arrayToSlice(entries.slice(offset)), entries.length, null];
|
|
241
|
+
}
|
|
242
|
+
if (offset >= entries.length) {
|
|
243
|
+
return [null, offset, io.EOF];
|
|
244
|
+
}
|
|
245
|
+
const next = Math.min(entries.length, offset + n);
|
|
246
|
+
return [$.arrayToSlice(entries.slice(offset, next)), next, null];
|
|
247
|
+
}
|
|
183
248
|
export function createHostFile(name, fd = -1, handle = null) {
|
|
184
249
|
return new File({
|
|
185
250
|
fd,
|
|
@@ -210,11 +275,19 @@ export class File {
|
|
|
210
275
|
name;
|
|
211
276
|
closed;
|
|
212
277
|
fd;
|
|
278
|
+
dirEntryOffset;
|
|
279
|
+
dirInfoOffset;
|
|
280
|
+
cachedDirEntries;
|
|
281
|
+
cachedDirInfos;
|
|
213
282
|
_fields;
|
|
214
283
|
constructor(init) {
|
|
215
284
|
this.name = init?.name ?? "";
|
|
216
285
|
this.closed = init?.closed ?? false;
|
|
217
286
|
this.fd = init?.fd ?? -1;
|
|
287
|
+
this.dirEntryOffset = 0;
|
|
288
|
+
this.dirInfoOffset = 0;
|
|
289
|
+
this.cachedDirEntries = null;
|
|
290
|
+
this.cachedDirInfos = null;
|
|
218
291
|
this._fields = {
|
|
219
292
|
file: $.varRef(init?.file ?? null)
|
|
220
293
|
};
|
|
@@ -228,16 +301,55 @@ export class File {
|
|
|
228
301
|
});
|
|
229
302
|
}
|
|
230
303
|
Readdir(n) {
|
|
231
|
-
|
|
304
|
+
if (this.closed) {
|
|
305
|
+
return [null, ErrClosed];
|
|
306
|
+
}
|
|
307
|
+
if (this.cachedDirInfos === null) {
|
|
308
|
+
const [infos, err] = readDirectoryInfos(this.name);
|
|
309
|
+
if (err !== null) {
|
|
310
|
+
return [null, err];
|
|
311
|
+
}
|
|
312
|
+
this.cachedDirInfos = infos ?? [];
|
|
313
|
+
this.dirInfoOffset = 0;
|
|
314
|
+
}
|
|
315
|
+
const [out, next, err] = consumeDirectoryEntries(this.cachedDirInfos, this.dirInfoOffset, n);
|
|
316
|
+
this.dirInfoOffset = next;
|
|
317
|
+
return [out, err];
|
|
232
318
|
}
|
|
233
319
|
Readdirnames(n) {
|
|
234
|
-
|
|
320
|
+
const [infos, err] = this.Readdir(n);
|
|
321
|
+
if (err !== null) {
|
|
322
|
+
return [null, err];
|
|
323
|
+
}
|
|
324
|
+
return [$.arrayToSlice((infos ?? []).map((info) => info.Name())), null];
|
|
235
325
|
}
|
|
236
326
|
ReadDir(n) {
|
|
237
|
-
|
|
327
|
+
if (this.closed) {
|
|
328
|
+
return [null, ErrClosed];
|
|
329
|
+
}
|
|
330
|
+
if (this.cachedDirEntries === null) {
|
|
331
|
+
const [infos, err] = readDirectoryInfos(this.name);
|
|
332
|
+
if (err !== null) {
|
|
333
|
+
return [null, err];
|
|
334
|
+
}
|
|
335
|
+
this.cachedDirEntries = (infos ?? []).map((info) => FileInfoToDirEntry(info)).filter((entry) => entry !== null);
|
|
336
|
+
this.dirEntryOffset = 0;
|
|
337
|
+
}
|
|
338
|
+
const [out, next, err] = consumeDirectoryEntries(this.cachedDirEntries, this.dirEntryOffset, n);
|
|
339
|
+
this.dirEntryOffset = next;
|
|
340
|
+
return [out, err];
|
|
238
341
|
}
|
|
239
342
|
readdir(n, mode) {
|
|
240
|
-
|
|
343
|
+
if (mode === readdirName) {
|
|
344
|
+
const [names, err] = this.Readdirnames(n);
|
|
345
|
+
return [names, null, null, err];
|
|
346
|
+
}
|
|
347
|
+
if (mode === readdirDirEntry) {
|
|
348
|
+
const [entries, err] = this.ReadDir(n);
|
|
349
|
+
return [null, entries, null, err];
|
|
350
|
+
}
|
|
351
|
+
const [infos, err] = this.Readdir(n);
|
|
352
|
+
return [null, null, infos, err];
|
|
241
353
|
}
|
|
242
354
|
Name() {
|
|
243
355
|
return this.name;
|
|
@@ -304,11 +416,34 @@ export class File {
|
|
|
304
416
|
}
|
|
305
417
|
return [0, ErrUnimplemented];
|
|
306
418
|
}
|
|
307
|
-
ReadFrom(r) {
|
|
419
|
+
async ReadFrom(r) {
|
|
308
420
|
if (this.closed) {
|
|
309
421
|
return [0, ErrClosed];
|
|
310
422
|
}
|
|
311
|
-
|
|
423
|
+
const buf = $.makeSlice(32 * 1024, undefined, "byte");
|
|
424
|
+
let written = 0;
|
|
425
|
+
while (true) {
|
|
426
|
+
const [nr, er] = await r.Read(buf);
|
|
427
|
+
if (nr > 0) {
|
|
428
|
+
const [nw, ew] = this.Write($.goSlice(buf, 0, nr));
|
|
429
|
+
if (nw < 0 || nr < nw) {
|
|
430
|
+
return [written, ew ?? io.ErrShortWrite];
|
|
431
|
+
}
|
|
432
|
+
written += nw;
|
|
433
|
+
if (ew !== null) {
|
|
434
|
+
return [written, ew];
|
|
435
|
+
}
|
|
436
|
+
if (nr !== nw) {
|
|
437
|
+
return [written, io.ErrShortWrite];
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (er !== null) {
|
|
441
|
+
if (er === io.EOF) {
|
|
442
|
+
return [written, null];
|
|
443
|
+
}
|
|
444
|
+
return [written, er];
|
|
445
|
+
}
|
|
446
|
+
}
|
|
312
447
|
}
|
|
313
448
|
Write(b) {
|
|
314
449
|
if (this.closed) {
|
|
@@ -361,11 +496,34 @@ export class File {
|
|
|
361
496
|
}
|
|
362
497
|
return [0, ErrUnimplemented];
|
|
363
498
|
}
|
|
364
|
-
WriteTo(w) {
|
|
499
|
+
async WriteTo(w) {
|
|
365
500
|
if (this.closed) {
|
|
366
501
|
return [0, ErrClosed];
|
|
367
502
|
}
|
|
368
|
-
|
|
503
|
+
const buf = $.makeSlice(32 * 1024, undefined, "byte");
|
|
504
|
+
let written = 0;
|
|
505
|
+
while (true) {
|
|
506
|
+
const [nr, er] = this.Read(buf);
|
|
507
|
+
if (nr > 0) {
|
|
508
|
+
const [nw, ew] = await w.Write($.goSlice(buf, 0, nr));
|
|
509
|
+
if (nw < 0 || nr < nw) {
|
|
510
|
+
return [written, ew ?? io.ErrShortWrite];
|
|
511
|
+
}
|
|
512
|
+
written += nw;
|
|
513
|
+
if (ew !== null) {
|
|
514
|
+
return [written, ew];
|
|
515
|
+
}
|
|
516
|
+
if (nr !== nw) {
|
|
517
|
+
return [written, io.ErrShortWrite];
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
if (er !== null) {
|
|
521
|
+
if (er === io.EOF) {
|
|
522
|
+
return [written, null];
|
|
523
|
+
}
|
|
524
|
+
return [written, er];
|
|
525
|
+
}
|
|
526
|
+
}
|
|
369
527
|
}
|
|
370
528
|
Seek(offset, whence) {
|
|
371
529
|
const handle = this.file?.handle;
|
|
@@ -606,6 +764,9 @@ class file {
|
|
|
606
764
|
this.path = init?.path ?? "";
|
|
607
765
|
}
|
|
608
766
|
}
|
|
767
|
+
const readdirName = 0;
|
|
768
|
+
const readdirDirEntry = 1;
|
|
769
|
+
const readdirFileInfo = 2;
|
|
609
770
|
// File mode constants
|
|
610
771
|
export let ModeDir = fs.ModeDir;
|
|
611
772
|
export let ModeAppend = fs.ModeAppend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types_js.gs.js","sourceRoot":"","sources":["../../../gs/os/types_js.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAE/C,OAAO,EAGN,cAAc,EACd,oBAAoB,EAEpB,wBAAwB,GACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAW/C,MAAM,UAAU,YAAY,CAAC,GAAY;IACxC,MAAM,OAAO,GACZ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;QAClC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG;YAC/B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACd,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,OAAO,GAA6B;QACzC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO;KACpB,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;QACpC,KAAK,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM;KACxE,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACpC,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG;QACzE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QAC1B,CAAC,CAAC,EAAE,CAAA;IACL,MAAM,IAAI,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC7D,QAAQ,IAAI,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACb,OAAO,EAAE,CAAC,WAAW,CAAA;QACtB,KAAK,QAAQ;YACZ,OAAO,EAAE,CAAC,QAAQ,CAAA;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACX,OAAO,EAAE,CAAC,aAAa,CAAA;QACxB,KAAK,OAAO;YACX,OAAO,SAAS,CAAA;QACjB,KAAK,QAAQ;YACZ,OAAO,UAAU,CAAA;QAClB;YACC,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,MAAM,UAAU,SAAS;IACxB,OAAO,cAAc,EAAE,CAAC,MAAM,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,OAAO;IACtB,OAAO,cAAc,EAAE,CAAC,IAAI,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,OAAO,cAAc,EAAE,CAAC,QAAQ,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IAClC,OAAO,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACvC,OAAO,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,MAAM,CAAC,EAAU,EAAE,CAAa;IACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACzC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;AACF,CAAC;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,CAAa;IACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACzC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,MAAoB,EAAE,CAAa;IACtD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7B,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB,EAAE,CAAa;IACvD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7B,CAAC;IACD,IAAI,CAAC;QACJ,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,OAAO,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;YAC/B,CAAC;YACD,MAAM,IAAI,CAAC,CAAA;QACZ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;AACF,CAAC;AAED,MAAM,YAAY;IACV,IAAI,CAAQ;IACZ,OAAO,CAAW;IAClB,IAAI,CAAa;IACjB,IAAI,CAAQ;IACZ,GAAG,CAAqB;IAE/B,YAAY,IAAkH;QAC7H,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAA;IAC7B,CAAC;IAEM,KAAK;QACX,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACpB,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;IAEM,GAAG;QACT,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;CACD;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAkB;IAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC7G,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;IACzC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,EAAE,CAAC,OAAO,CAAA;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC,WAAW,CAAA;IACvB,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,CAAC;QACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,YAAY,CAAC;QACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAChC,IAAI;QACJ,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACpB,GAAG,EAAE,IAAI;KACT,CAAC,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,IAAY;IAC9C,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAA;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;IACzB,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,KAAK,GAAkB,EAAE,CAAA;YAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;oBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW;oBACpC,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS;oBACrC,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACP,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACpC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC/C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACJ,OAAO,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;oBAC9D,CAAC;oBAAC,MAAM,CAAC;wBACR,iEAAiE;oBAClE,CAAC;gBACF,CAAC;gBACD,OAAO,cAAc,CAAC,SAAS,EAAE;oBAChC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK;oBACxF,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK;oBACjG,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;iBACP,CAAC,CAAA;YACH,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAI,OAAY,EAAE,MAAc,EAAE,CAAS;IAC1E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,EAAE,GAAW,CAAC,CAAC,EAAE,MAAM,GAAwB,IAAI;IAC/F,OAAO,IAAI,IAAI,CAAC;QACf,EAAE;QACF,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrF,IAAI;KACJ,CAAC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAQnC,sDAAsD;AACtD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAW,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAW,CAAC;AACpC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAW,CAAC;AAEpC,gEAAgE;AAChE,MAAM,UAAU,WAAW;IAC1B,yDAAyD;IACzD,uDAAuD;IACvD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,8EAA8E;AAC9E,MAAM,OAAO,IAAI;IAChB,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;IAC/B,CAAC;IACD,IAAW,IAAI,CAAC,KAAkB;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAChC,CAAC;IAEM,IAAI,CAAQ;IACZ,MAAM,CAAS;IACf,EAAE,CAAQ;IACV,cAAc,CAAQ;IACtB,aAAa,CAAQ;IACrB,gBAAgB,CAAsB;IACtC,cAAc,CAAsB;IAEpC,OAAO,CAEb;IAED,YAAY,IAAkF;QAC7F,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAA;QACnC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;SAClC,CAAA;IACF,CAAC;IAEM,KAAK;QACX,OAAO,IAAI,IAAI,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAA;IACH,CAAC;IAEM,OAAO,CAAC,CAAS;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACnB,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE,CAAA;YACjC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAC5F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClB,CAAC;IAEM,YAAY,CAAC,CAAS;QAC5B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACzE,CAAC;IAEM,OAAO,CAAC,CAAS;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACnB,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;YACrI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;QAC/F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClB,CAAC;IAEM,OAAO,CAAC,CAAS,EAAE,IAAiB;QAC1C,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACzC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACtC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,IAAI,CAAA;IACjB,CAAC;IAEM,IAAI,CAAC,CAAU;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GACb,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU;YAC9C,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAChB,CAAC;IAEM,MAAM,CAAC,CAAU,EAAE,GAAW;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;gBAC3D,IAAI,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACb,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;gBACnB,CAAC;gBACD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,CAAY;QACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC7D,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAS,CAAA;YAC3C,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAClD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,CAAA;gBACzC,CAAC;gBACD,OAAO,IAAI,EAAE,CAAA;gBACb,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACrB,CAAC;gBACD,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;gBACnC,CAAC;YACF,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACvB,CAAC;gBACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,CAAU;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,OAAO,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU;YACtD,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IAEM,OAAO,CAAC,CAAU,EAAE,GAAW;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9B,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,CAAY;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAC7D,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAS,CAAA;gBAC9D,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,CAAA;gBACzC,CAAC;gBACD,OAAO,IAAI,EAAE,CAAA;gBACb,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACrB,CAAC;gBACD,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,CAAA;gBACnC,CAAC;YACF,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;oBACnB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACvB,CAAC;gBACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,MAAc;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9B,CAAC;IACF,CAAC;IAEM,WAAW,CAAC,CAAS;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAA;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;QACzB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC;gBACJ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC;gBACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjC,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,WAAW,CAAC,CAAY;QAC9B,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,eAAe,CAAC,CAAY;QAClC,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,gBAAgB,CAAC,CAAY;QACnC,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC1B,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC;gBACJ,MAAM,CAAC,KAAK,EAAE,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;YAC1B,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,OAAO,IAAI,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,GAAW,EAAE,GAAW;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAA;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;QACzB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC;gBACJ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACtC,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC;gBACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACrC,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACzD,IAAI,CAAC;gBACJ,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBACzB,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACJ,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,IAAI;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACjB,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACzB,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,KAAK;QACX,MAAM,UAAU,GAAI,UAAkB,CAAC,OAAO,CAAA;QAC9C,IAAI,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACJ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3B,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAA;QACzB,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACxB,OAAO,IAAI,CAAA;YACZ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;QACF,CAAC;QACD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAEM,EAAE;QACR,OAAO,IAAI,CAAC,EAAE,CAAA;IACf,CAAC;IAEM,IAAI;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAA;QAChC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC;gBACJ,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;QACF,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAChC,CAAC;IAED,mBAAmB;IACZ,UAAU,CAAC,EAAU;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,UAAU,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IAEM,OAAO,CAAC,EAAU,EAAE,GAAc;QACxC,OAAO,GAAG,CAAA;IACX,CAAC;IAED,kDAAkD;IAClD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,kBAAkB,CACvC,MAAM,EACN,IAAI,IAAI,EAAE,EACV;QACC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;QACvU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;QACpW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;KAC1M,EACD,IAAI,EACJ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CACvN,CAAC;CACF;AAED,MAAM,IAAI;IACF,MAAM,CAAqB;IAC3B,IAAI,CAAQ;IAEnB,YAAY,IAA6D;QACxE,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;IAC7B,CAAC;CACD;AAID,MAAM,WAAW,GAAgB,CAAC,CAAA;AAClC,MAAM,eAAe,GAAgB,CAAC,CAAA;AACtC,MAAM,eAAe,GAAgB,CAAC,CAAA;AAEtC,sBAAsB;AACtB,MAAM,CAAC,IAAI,OAAO,GAAgB,EAAE,CAAC,OAAO,CAAA;AAC5C,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,aAAa,GAAgB,EAAE,CAAC,aAAa,CAAA;AACxD,MAAM,CAAC,IAAI,aAAa,GAAgB,EAAE,CAAC,aAAa,CAAA;AACxD,MAAM,CAAC,IAAI,WAAW,GAAgB,EAAE,CAAC,WAAW,CAAA;AACpD,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,aAAa,GAAgB,EAAE,CAAC,aAAa,CAAA;AACxD,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,cAAc,GAAgB,EAAE,CAAC,cAAc,CAAA;AAC1D,MAAM,CAAC,IAAI,UAAU,GAAgB,EAAE,CAAC,UAAU,CAAA;AAClD,MAAM,CAAC,IAAI,aAAa,GAAgB,EAAE,CAAC,aAAa,CAAA;AAExD,MAAM,CAAC,IAAI,QAAQ,GAAgB,EAAE,CAAC,QAAQ,CAAA;AAC9C,MAAM,CAAC,IAAI,QAAQ,GAAgB,EAAE,CAAC,QAAQ,CAAA;AAE9C,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,GAAgB,EAAE,GAAgB;IAC1D,2EAA2E;IAC3E,OAAO,KAAK,CAAA;AACb,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,QAAqB;IACnD,OAAO,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAqB;IACvD,OAAO,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAqB;IAClD,OAAO,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB;IACpD,OAAO,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAqB;IAClD,OAAO,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero_copy_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/zero_copy_posix.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAc;IAC5D,CAAC;QACA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAgB,GAAG,EAAE,eAAe,CAAC,CAAA;QAClE,IAAI,EAAE,EAAE,CAAC;YACR,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,uGAAuG;AACvG,wFAAwF;AACxF,4GAA4G;AAC5G,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC5C,6BAA6B;IAC7B,IAAI,MAAM,GAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAEhD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAA0B,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAC,CAAC,CAAA;IAC9H,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,GAAG,EAAG,CAAC,CAAC,CAAA;IACd,OAAO,CAAC,EAAE,EAAE,EAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"zero_copy_posix.gs.js","sourceRoot":"","sources":["../../../gs/os/zero_copy_posix.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMhD,sEAAsE;AACtE,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAc;IAC5D,CAAC;QACA,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAgB,GAAG,EAAE,eAAe,CAAC,CAAA;QAClE,IAAI,EAAE,EAAE,CAAC;YACR,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,uGAAuG;AACvG,wFAAwF;AACxF,4GAA4G;AAC5G,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC5C,6BAA6B;IAC7B,IAAI,MAAM,GAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAA;IAEhD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAA0B,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAC,CAAC,CAAA;IAC9H,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,GAAG,EAAG,CAAC,CAAC,CAAA;IACd,OAAO,CAAC,EAAE,EAAE,EAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;AAChC,CAAC"}
|
package/dist/gs/reflect/type.js
CHANGED
|
@@ -276,24 +276,27 @@ export class Value {
|
|
|
276
276
|
}
|
|
277
277
|
// Methods required by godoc.txt and used throughout the codebase
|
|
278
278
|
Int() {
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
const value = this.numericValue();
|
|
280
|
+
if (value !== null && Number.isInteger(value)) {
|
|
281
|
+
return value;
|
|
281
282
|
}
|
|
282
283
|
throw new Error('reflect: call of reflect.Value.Int on ' +
|
|
283
284
|
Kind_String(this._type.Kind()) +
|
|
284
285
|
' Value');
|
|
285
286
|
}
|
|
286
287
|
Uint() {
|
|
287
|
-
|
|
288
|
-
|
|
288
|
+
const value = this.numericValue();
|
|
289
|
+
if (value !== null && value >= 0) {
|
|
290
|
+
return value;
|
|
289
291
|
}
|
|
290
292
|
throw new Error('reflect: call of reflect.Value.Uint on ' +
|
|
291
293
|
Kind_String(this._type.Kind()) +
|
|
292
294
|
' Value');
|
|
293
295
|
}
|
|
294
296
|
Float() {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
+
const value = this.numericValue();
|
|
298
|
+
if (value !== null) {
|
|
299
|
+
return value;
|
|
297
300
|
}
|
|
298
301
|
throw new Error('reflect: call of reflect.Value.Float on ' +
|
|
299
302
|
Kind_String(this._type.Kind()) +
|
|
@@ -307,6 +310,20 @@ export class Value {
|
|
|
307
310
|
Kind_String(this._type.Kind()) +
|
|
308
311
|
' Value');
|
|
309
312
|
}
|
|
313
|
+
numericValue() {
|
|
314
|
+
if (typeof this._value === 'number') {
|
|
315
|
+
return this._value;
|
|
316
|
+
}
|
|
317
|
+
if (this._value !== null &&
|
|
318
|
+
typeof this._value === 'object' &&
|
|
319
|
+
typeof this._value.valueOf === 'function') {
|
|
320
|
+
const value = this._value.valueOf();
|
|
321
|
+
if (typeof value === 'number') {
|
|
322
|
+
return value;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
310
327
|
String() {
|
|
311
328
|
if (typeof this._value === 'string') {
|
|
312
329
|
return this._value;
|
|
@@ -409,6 +426,15 @@ export class Value {
|
|
|
409
426
|
const elemType = this._type.Elem();
|
|
410
427
|
return new Value(varRef.value, elemType, varRef);
|
|
411
428
|
}
|
|
429
|
+
if (this._type.Kind() === Ptr &&
|
|
430
|
+
this._value &&
|
|
431
|
+
typeof this._value === 'object' &&
|
|
432
|
+
'__goValue' in this._value &&
|
|
433
|
+
$.isVarRef(this._value.__goValue)) {
|
|
434
|
+
const varRef = this._value
|
|
435
|
+
.__goValue;
|
|
436
|
+
return new Value(varRef.value, this._type.Elem(), varRef);
|
|
437
|
+
}
|
|
412
438
|
// For interfaces, return the underlying value
|
|
413
439
|
return new Value(this._value, this._type, this._parentVarRef);
|
|
414
440
|
}
|
|
@@ -1703,30 +1729,7 @@ class StructType {
|
|
|
1703
1729
|
}
|
|
1704
1730
|
static createTypeFromFieldInfo(ti) {
|
|
1705
1731
|
if (typeof ti === 'string') {
|
|
1706
|
-
|
|
1707
|
-
case 'string':
|
|
1708
|
-
return new BasicType(String, ti, 16);
|
|
1709
|
-
case 'int':
|
|
1710
|
-
case 'int32':
|
|
1711
|
-
case 'int64':
|
|
1712
|
-
case 'number':
|
|
1713
|
-
return new BasicType(Int, ti === 'number' ? 'int' : ti, 8);
|
|
1714
|
-
case 'bool':
|
|
1715
|
-
case 'boolean':
|
|
1716
|
-
return new BasicType(Bool, 'bool', 1);
|
|
1717
|
-
case 'float64':
|
|
1718
|
-
return new BasicType(Float64, ti, 8);
|
|
1719
|
-
case 'complex64':
|
|
1720
|
-
return new BasicType(Complex64, ti, 8);
|
|
1721
|
-
case 'complex128':
|
|
1722
|
-
return new BasicType(Complex128, ti, 16);
|
|
1723
|
-
case 'uint':
|
|
1724
|
-
case 'uint32':
|
|
1725
|
-
case 'uint64':
|
|
1726
|
-
return new BasicType(Uint, ti, 8);
|
|
1727
|
-
default:
|
|
1728
|
-
return new BasicType(Invalid, ti, 8);
|
|
1729
|
-
}
|
|
1732
|
+
return basicTypeFromName(ti === 'number' ? 'int' : ti);
|
|
1730
1733
|
}
|
|
1731
1734
|
else if (ti && ti.kind) {
|
|
1732
1735
|
// Handle TypeInfo objects from the builtin type system
|
|
@@ -1734,27 +1737,7 @@ class StructType {
|
|
|
1734
1737
|
const typeName = ti.typeName || '';
|
|
1735
1738
|
switch (ti.kind) {
|
|
1736
1739
|
case 'basic':
|
|
1737
|
-
|
|
1738
|
-
switch (name) {
|
|
1739
|
-
case 'string':
|
|
1740
|
-
return new BasicType(String, 'string', 16, typeName);
|
|
1741
|
-
case 'number':
|
|
1742
|
-
case 'int':
|
|
1743
|
-
case 'int32':
|
|
1744
|
-
case 'int64':
|
|
1745
|
-
return new BasicType(Int, name === 'number' ? 'int' : name, 8, typeName);
|
|
1746
|
-
case 'boolean':
|
|
1747
|
-
case 'bool':
|
|
1748
|
-
return new BasicType(Bool, 'bool', 1, typeName);
|
|
1749
|
-
case 'float64':
|
|
1750
|
-
return new BasicType(Float64, 'float64', 8, typeName);
|
|
1751
|
-
case 'complex64':
|
|
1752
|
-
return new BasicType(Complex64, 'complex64', 8, typeName);
|
|
1753
|
-
case 'complex128':
|
|
1754
|
-
return new BasicType(Complex128, 'complex128', 16, typeName);
|
|
1755
|
-
default:
|
|
1756
|
-
return new BasicType(Invalid, name, 8, typeName);
|
|
1757
|
-
}
|
|
1740
|
+
return basicTypeFromName(name === 'number' ? 'int' : name, typeName);
|
|
1758
1741
|
case 'slice':
|
|
1759
1742
|
if (ti.elemType) {
|
|
1760
1743
|
return new SliceType(StructType.createTypeFromFieldInfo(ti.elemType));
|
|
@@ -1776,6 +1759,48 @@ class StructType {
|
|
|
1776
1759
|
return new BasicType(Invalid, 'unknown', 8);
|
|
1777
1760
|
}
|
|
1778
1761
|
}
|
|
1762
|
+
function basicTypeFromName(name, typeName = '') {
|
|
1763
|
+
switch (name) {
|
|
1764
|
+
case 'string':
|
|
1765
|
+
return new BasicType(String, 'string', 16, typeName);
|
|
1766
|
+
case 'bool':
|
|
1767
|
+
case 'boolean':
|
|
1768
|
+
return new BasicType(Bool, 'bool', 1, typeName);
|
|
1769
|
+
case 'int':
|
|
1770
|
+
return new BasicType(Int, 'int', 8, typeName);
|
|
1771
|
+
case 'int8':
|
|
1772
|
+
return new BasicType(Int8, 'int8', 1, typeName);
|
|
1773
|
+
case 'int16':
|
|
1774
|
+
return new BasicType(Int16, 'int16', 2, typeName);
|
|
1775
|
+
case 'int32':
|
|
1776
|
+
return new BasicType(Int32, 'int32', 4, typeName);
|
|
1777
|
+
case 'int64':
|
|
1778
|
+
return new BasicType(Int64, 'int64', 8, typeName);
|
|
1779
|
+
case 'uint':
|
|
1780
|
+
return new BasicType(Uint, 'uint', 8, typeName);
|
|
1781
|
+
case 'uint8':
|
|
1782
|
+
case 'byte':
|
|
1783
|
+
return new BasicType(Uint8, name, 1, typeName);
|
|
1784
|
+
case 'uint16':
|
|
1785
|
+
return new BasicType(Uint16, 'uint16', 2, typeName);
|
|
1786
|
+
case 'uint32':
|
|
1787
|
+
return new BasicType(Uint32, 'uint32', 4, typeName);
|
|
1788
|
+
case 'uint64':
|
|
1789
|
+
return new BasicType(Uint64, 'uint64', 8, typeName);
|
|
1790
|
+
case 'uintptr':
|
|
1791
|
+
return new BasicType(Uintptr, 'uintptr', 8, typeName);
|
|
1792
|
+
case 'float32':
|
|
1793
|
+
return new BasicType(Float32, 'float32', 4, typeName);
|
|
1794
|
+
case 'float64':
|
|
1795
|
+
return new BasicType(Float64, 'float64', 8, typeName);
|
|
1796
|
+
case 'complex64':
|
|
1797
|
+
return new BasicType(Complex64, 'complex64', 8, typeName);
|
|
1798
|
+
case 'complex128':
|
|
1799
|
+
return new BasicType(Complex128, 'complex128', 16, typeName);
|
|
1800
|
+
default:
|
|
1801
|
+
return new BasicType(Invalid, name, 8, typeName);
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1779
1804
|
function structFieldsFromTypeInfo(ti) {
|
|
1780
1805
|
return Object.entries(ti.fields || {}).map(([name, fieldInfo]) => {
|
|
1781
1806
|
if (isStructFieldInfo(fieldInfo)) {
|
|
@@ -2069,6 +2094,10 @@ function getTypeOf(value) {
|
|
|
2069
2094
|
const elemType = getTypeOf(value.value);
|
|
2070
2095
|
return new PointerType(elemType);
|
|
2071
2096
|
}
|
|
2097
|
+
if ('__goTypeInfo' in value &&
|
|
2098
|
+
value.__goTypeInfo) {
|
|
2099
|
+
return typeFromTypeInfo(value.__goTypeInfo);
|
|
2100
|
+
}
|
|
2072
2101
|
if ('real' in value &&
|
|
2073
2102
|
'imag' in value &&
|
|
2074
2103
|
typeof value.real === 'number' &&
|