goscript 0.2.6 → 0.2.7
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 +7 -0
- package/cmd/goscript/cmd_compile_test.go +83 -0
- package/compiler/compile-request.go +3 -0
- package/compiler/compiler-cache.go +828 -0
- package/compiler/compiler-cache_test.go +705 -0
- package/compiler/config.go +2 -0
- package/compiler/index.test.ts +26 -1
- package/compiler/index.ts +5 -0
- package/compiler/lowered-program.go +31 -20
- package/compiler/lowering.go +349 -93
- package/compiler/lowering_bench_test.go +1 -0
- package/compiler/override-facts.go +309 -8
- package/compiler/override-parity-verifier.go +45 -1
- package/compiler/override-parity-verifier_test.go +100 -0
- package/compiler/override-registry_test.go +1 -0
- package/compiler/package-graph.go +40 -12
- package/compiler/package-graph_test.go +29 -0
- package/compiler/runtime-contract.go +8 -0
- package/compiler/service.go +98 -11
- package/compiler/skeleton_test.go +110 -14
- package/compiler/typescript-emitter.go +120 -23
- package/dist/compiler/index.d.ts +2 -0
- package/dist/compiler/index.js +3 -0
- package/dist/compiler/index.js.map +1 -1
- package/dist/gs/builtin/builtin.d.ts +24 -33
- package/dist/gs/builtin/builtin.js +54 -61
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/hostio.d.ts +1 -0
- package/dist/gs/builtin/hostio.js +1 -1
- package/dist/gs/builtin/hostio.js.map +1 -1
- package/dist/gs/builtin/index.d.ts +1 -0
- package/dist/gs/builtin/index.js +1 -0
- package/dist/gs/builtin/index.js.map +1 -1
- package/dist/gs/builtin/panic.d.ts +18 -0
- package/dist/gs/builtin/panic.js +98 -0
- package/dist/gs/builtin/panic.js.map +1 -0
- package/dist/gs/builtin/slice.d.ts +10 -0
- package/dist/gs/builtin/slice.js +110 -53
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.js +15 -3
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/builtin/varRef.d.ts +1 -1
- package/dist/gs/builtin/varRef.js +3 -2
- package/dist/gs/builtin/varRef.js.map +1 -1
- package/dist/gs/bytes/bytes.gs.js +51 -38
- package/dist/gs/bytes/bytes.gs.js.map +1 -1
- package/dist/gs/bytes/reader.gs.d.ts +1 -1
- package/dist/gs/bytes/reader.gs.js +6 -7
- package/dist/gs/bytes/reader.gs.js.map +1 -1
- package/dist/gs/cmp/index.d.ts +1 -1
- package/dist/gs/cmp/index.js +43 -10
- package/dist/gs/cmp/index.js.map +1 -1
- package/dist/gs/context/context.d.ts +2 -2
- package/dist/gs/context/context.js +1 -1
- package/dist/gs/context/context.js.map +1 -1
- package/dist/gs/embed/index.js +1 -1
- package/dist/gs/embed/index.js.map +1 -1
- package/dist/gs/encoding/binary/index.js +201 -8
- package/dist/gs/encoding/binary/index.js.map +1 -1
- package/dist/gs/encoding/json/index.d.ts +5 -0
- package/dist/gs/encoding/json/index.js +388 -25
- package/dist/gs/encoding/json/index.js.map +1 -1
- package/dist/gs/errors/errors.js +17 -24
- package/dist/gs/errors/errors.js.map +1 -1
- package/dist/gs/fmt/fmt.js +129 -35
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/golang.org/x/crypto/cryptobyte/index.js +1 -1
- package/dist/gs/golang.org/x/crypto/cryptobyte/index.js.map +1 -1
- package/dist/gs/internal/bytealg/index.js +43 -8
- package/dist/gs/internal/bytealg/index.js.map +1 -1
- package/dist/gs/internal/byteorder/index.d.ts +2 -2
- package/dist/gs/internal/byteorder/index.js +2 -2
- package/dist/gs/internal/byteorder/index.js.map +1 -1
- package/dist/gs/io/fs/format.js +2 -2
- package/dist/gs/io/fs/format.js.map +1 -1
- package/dist/gs/io/fs/fs.d.ts +1 -1
- package/dist/gs/io/fs/fs.js +1 -1
- package/dist/gs/io/fs/fs.js.map +1 -1
- package/dist/gs/io/io.d.ts +21 -21
- package/dist/gs/io/io.js +49 -50
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/math/bits/index.js +26 -8
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/math/copysign.gs.js +10 -17
- package/dist/gs/math/copysign.gs.js.map +1 -1
- package/dist/gs/math/pow.gs.js +5 -0
- package/dist/gs/math/pow.gs.js.map +1 -1
- package/dist/gs/math/signbit.gs.js +6 -2
- package/dist/gs/math/signbit.gs.js.map +1 -1
- package/dist/gs/mime/index.js +1 -0
- package/dist/gs/mime/index.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +6 -6
- package/dist/gs/net/http/index.js +507 -43
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/os/stat.gs.d.ts +2 -2
- package/dist/gs/os/types.gs.d.ts +1 -1
- package/dist/gs/os/types.gs.js +1 -1
- package/dist/gs/os/types.gs.js.map +1 -1
- package/dist/gs/os/types_js.gs.d.ts +1 -1
- package/dist/gs/os/types_js.gs.js +7 -7
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/os/types_unix.gs.d.ts +1 -1
- package/dist/gs/os/types_unix.gs.js +1 -1
- package/dist/gs/os/types_unix.gs.js.map +1 -1
- package/dist/gs/os/zero_copy_posix.gs.d.ts +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/path/filepath/match.js +8 -4
- package/dist/gs/path/filepath/match.js.map +1 -1
- package/dist/gs/path/filepath/path.js +216 -42
- package/dist/gs/path/filepath/path.js.map +1 -1
- package/dist/gs/path/match.js +6 -3
- package/dist/gs/path/match.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +5 -4
- package/dist/gs/reflect/type.js +29 -11
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/slices/slices.js +11 -11
- package/dist/gs/slices/slices.js.map +1 -1
- package/dist/gs/strconv/atof.gs.js +156 -43
- package/dist/gs/strconv/atof.gs.js.map +1 -1
- package/dist/gs/strconv/atoi.gs.d.ts +3 -2
- package/dist/gs/strconv/atoi.gs.js +86 -67
- package/dist/gs/strconv/atoi.gs.js.map +1 -1
- package/dist/gs/strconv/ftoa.gs.js +73 -3
- package/dist/gs/strconv/ftoa.gs.js.map +1 -1
- package/dist/gs/strconv/itoa.gs.d.ts +4 -4
- package/dist/gs/strconv/itoa.gs.js +5 -4
- package/dist/gs/strconv/itoa.gs.js.map +1 -1
- package/dist/gs/strconv/quote.gs.d.ts +1 -1
- package/dist/gs/strconv/quote.gs.js +311 -103
- package/dist/gs/strconv/quote.gs.js.map +1 -1
- package/dist/gs/strings/reader.d.ts +1 -1
- package/dist/gs/strings/reader.js +8 -8
- package/dist/gs/strings/reader.js.map +1 -1
- package/dist/gs/strings/strings.js +87 -61
- package/dist/gs/strings/strings.js.map +1 -1
- package/dist/gs/sync/atomic/doc_64.gs.d.ts +14 -14
- package/dist/gs/sync/atomic/doc_64.gs.js +10 -10
- package/dist/gs/sync/atomic/doc_64.gs.js.map +1 -1
- package/dist/gs/sync/atomic/type.gs.d.ts +22 -22
- package/dist/gs/sync/atomic/type.gs.js +4 -4
- package/dist/gs/sync/atomic/type.gs.js.map +1 -1
- package/dist/gs/sync/sync.js +50 -12
- package/dist/gs/sync/sync.js.map +1 -1
- package/dist/gs/syscall/fs.d.ts +6 -6
- package/dist/gs/syscall/fs.js +1 -1
- package/dist/gs/syscall/fs.js.map +1 -1
- package/dist/gs/time/time.d.ts +18 -18
- package/dist/gs/time/time.js +58 -55
- package/dist/gs/time/time.js.map +1 -1
- package/dist/gs/unicode/tables.d.ts +11 -0
- package/dist/gs/unicode/tables.js +635 -0
- package/dist/gs/unicode/tables.js.map +1 -0
- package/dist/gs/unicode/unicode.d.ts +58 -38
- package/dist/gs/unicode/unicode.js +362 -278
- package/dist/gs/unicode/unicode.js.map +1 -1
- package/go.sum +13 -0
- package/gs/builtin/builtin.ts +83 -93
- package/gs/builtin/hostio.ts +1 -1
- package/gs/builtin/index.ts +1 -0
- package/gs/builtin/panic.test.ts +189 -0
- package/gs/builtin/panic.ts +107 -0
- package/gs/builtin/runtime-contract.test.ts +5 -5
- package/gs/builtin/slice.test.ts +23 -0
- package/gs/builtin/slice.ts +133 -95
- package/gs/builtin/type.ts +16 -3
- package/gs/builtin/varRef.ts +4 -2
- package/gs/builtin/wide-int.test.ts +41 -0
- package/gs/bytes/bytes.gs.ts +54 -41
- package/gs/bytes/bytes.test.ts +18 -1
- package/gs/bytes/reader.gs.ts +7 -8
- package/gs/cmp/index.test.ts +55 -0
- package/gs/cmp/index.ts +45 -9
- package/gs/context/context.ts +3 -3
- package/gs/embed/index.ts +2 -2
- package/gs/encoding/binary/index.test.ts +104 -0
- package/gs/encoding/binary/index.ts +259 -11
- package/gs/encoding/json/index.test.ts +107 -0
- package/gs/encoding/json/index.ts +400 -29
- package/gs/errors/errors.test.ts +44 -1
- package/gs/errors/errors.ts +15 -31
- package/gs/fmt/fmt.test.ts +70 -2
- package/gs/fmt/fmt.ts +128 -34
- package/gs/golang.org/x/crypto/cryptobyte/index.ts +1 -1
- package/gs/internal/bytealg/index.test.ts +26 -1
- package/gs/internal/bytealg/index.ts +44 -8
- package/gs/internal/byteorder/index.ts +6 -4
- package/gs/io/fs/format.ts +2 -2
- package/gs/io/fs/fs.ts +2 -2
- package/gs/io/fs/stat.test.ts +2 -2
- package/gs/io/fs/sub.test.ts +2 -2
- package/gs/io/fs/walk.test.ts +2 -2
- package/gs/io/io.test.ts +47 -5
- package/gs/io/io.ts +73 -73
- package/gs/io/limit.test.ts +103 -0
- package/gs/math/bits/index.test.ts +128 -0
- package/gs/math/bits/index.ts +26 -8
- package/gs/math/copysign.gs.test.ts +3 -1
- package/gs/math/copysign.gs.ts +10 -22
- package/gs/math/pow.gs.test.ts +4 -5
- package/gs/math/pow.gs.ts +5 -0
- package/gs/math/signbit.gs.test.ts +2 -1
- package/gs/math/signbit.gs.ts +6 -3
- package/gs/mime/index.ts +1 -0
- package/gs/net/http/index.test.ts +683 -2
- package/gs/net/http/index.ts +598 -57
- package/gs/net/http/meta.json +3 -0
- package/gs/os/stat.gs.ts +2 -2
- package/gs/os/types.gs.ts +2 -2
- package/gs/os/types_js.gs.ts +9 -9
- package/gs/os/types_unix.gs.ts +2 -2
- package/gs/os/zero_copy_posix.gs.ts +2 -2
- package/gs/path/filepath/match.test.ts +16 -0
- package/gs/path/filepath/match.ts +8 -4
- package/gs/path/filepath/path.test.ts +91 -9
- package/gs/path/filepath/path.ts +223 -49
- package/gs/path/match.test.ts +32 -0
- package/gs/path/match.ts +6 -3
- package/gs/reflect/deepequal.test.ts +1 -1
- package/gs/reflect/field.test.ts +1 -1
- package/gs/reflect/function-types.test.ts +6 -6
- package/gs/reflect/sliceat.test.ts +13 -13
- package/gs/reflect/structof.test.ts +4 -4
- package/gs/reflect/type.ts +34 -14
- package/gs/reflect/typefor.test.ts +5 -5
- package/gs/runtime/pprof/index.test.ts +20 -0
- package/gs/runtime/trace/index.test.ts +3 -0
- package/gs/slices/slices.test.ts +31 -0
- package/gs/slices/slices.ts +11 -11
- package/gs/strconv/append.test.ts +99 -0
- package/gs/strconv/atof.gs.ts +156 -42
- package/gs/strconv/atof.test.ts +45 -0
- package/gs/strconv/atoi.gs.ts +87 -69
- package/gs/strconv/atoi.test.ts +49 -0
- package/gs/strconv/ftoa.gs.ts +85 -10
- package/gs/strconv/ftoa.test.ts +43 -0
- package/gs/strconv/itoa.gs.ts +10 -9
- package/gs/strconv/quote.gs.ts +335 -108
- package/gs/strconv/quote.test.ts +111 -0
- package/gs/strings/reader.test.ts +10 -10
- package/gs/strings/reader.ts +9 -9
- package/gs/strings/strings.test.ts +18 -5
- package/gs/strings/strings.ts +81 -68
- package/gs/sync/atomic/doc_64.gs.ts +24 -24
- package/gs/sync/atomic/doc_64.test.ts +5 -5
- package/gs/sync/atomic/type.gs.ts +28 -28
- package/gs/sync/sync.test.ts +109 -1
- package/gs/sync/sync.ts +46 -12
- package/gs/syscall/fs.ts +8 -8
- package/gs/syscall/net.test.ts +1 -1
- package/gs/time/parse.test.ts +45 -0
- package/gs/time/time.test.ts +46 -23
- package/gs/time/time.ts +69 -66
- package/gs/unicode/gen.go +198 -0
- package/gs/unicode/tables.ts +646 -0
- package/gs/unicode/unicode.test.ts +69 -0
- package/gs/unicode/unicode.ts +396 -312
- package/package.json +1 -1
- package/dist/gs/github.com/aperturerobotics/util/conc/index.d.ts +0 -20
- package/dist/gs/github.com/aperturerobotics/util/conc/index.js +0 -134
- package/dist/gs/github.com/aperturerobotics/util/conc/index.js.map +0 -1
- package/gs/github.com/aperturerobotics/util/conc/index.test.ts +0 -30
- package/gs/github.com/aperturerobotics/util/conc/index.ts +0 -172
- package/gs/github.com/aperturerobotics/util/conc/meta.json +0 -9
package/dist/gs/slices/slices.js
CHANGED
|
@@ -323,7 +323,7 @@ export function Compact(s) {
|
|
|
323
323
|
}
|
|
324
324
|
let w = 1;
|
|
325
325
|
for (let i = 1; i < $.len(s); i++) {
|
|
326
|
-
if (s[i]
|
|
326
|
+
if (!$.comparableEqual(s[i], s[i - 1])) {
|
|
327
327
|
;
|
|
328
328
|
s[w] = s[i];
|
|
329
329
|
w++;
|
|
@@ -373,7 +373,7 @@ export function Equal(s1, s2) {
|
|
|
373
373
|
return false;
|
|
374
374
|
}
|
|
375
375
|
for (let i = 0; i < len1; i++) {
|
|
376
|
-
if (s1[i]
|
|
376
|
+
if (!$.comparableEqual(s1[i], s2[i])) {
|
|
377
377
|
return false;
|
|
378
378
|
}
|
|
379
379
|
}
|
|
@@ -396,7 +396,7 @@ export function EqualFunc(s1, s2, eq) {
|
|
|
396
396
|
}
|
|
397
397
|
export function Index(s, v) {
|
|
398
398
|
for (let i = 0; i < $.len(s); i++) {
|
|
399
|
-
if (s[i]
|
|
399
|
+
if ($.comparableEqual(s[i], v)) {
|
|
400
400
|
return i;
|
|
401
401
|
}
|
|
402
402
|
}
|
|
@@ -588,22 +588,22 @@ export function BinarySearchFunc(x, target, cmp) {
|
|
|
588
588
|
if (cmp == null) {
|
|
589
589
|
throw new Error('slices.BinarySearchFunc: nil comparison function');
|
|
590
590
|
}
|
|
591
|
+
const n = $.len(x);
|
|
591
592
|
let left = 0;
|
|
592
|
-
let right =
|
|
593
|
+
let right = n;
|
|
594
|
+
// Lower-bound search: narrow to the earliest index not less than target so
|
|
595
|
+
// duplicate targets return the first match, matching Go's BinarySearchFunc.
|
|
593
596
|
while (left < right) {
|
|
594
597
|
const mid = Math.floor((left + right) / 2);
|
|
595
|
-
|
|
596
|
-
if (result < 0) {
|
|
598
|
+
if (syncNumber(cmp(x[mid], target)) < 0) {
|
|
597
599
|
left = mid + 1;
|
|
598
600
|
}
|
|
599
|
-
else if (result > 0) {
|
|
600
|
-
right = mid;
|
|
601
|
-
}
|
|
602
601
|
else {
|
|
603
|
-
|
|
602
|
+
right = mid;
|
|
604
603
|
}
|
|
605
604
|
}
|
|
606
|
-
|
|
605
|
+
const found = left < n && syncNumber(cmp(x[left], target)) === 0;
|
|
606
|
+
return [left, found];
|
|
607
607
|
}
|
|
608
608
|
function syncNumber(value) {
|
|
609
609
|
if (value instanceof Promise) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../gs/slices/slices.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAYtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACrB,EAAc,EACd,EAAc;IAEd,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,EAAE,GAAI,EAAU,CAAC,CAAC,CAAM,CAAA;QAC9B,MAAM,EAAE,GAAI,EAAU,CAAC,CAAC,CAAM,CAAA;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAClC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,EAAc,EACd,EAAc,EACd,OAA8B;IAE9B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAE,EAAU,CAAC,CAAC,CAAM,EAAG,EAAU,CAAC,CAAC,CAAM,CAAC,CAAC,CAAA;QAC5E,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAI,CAAa;IACpC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,GAAW,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;IACvC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,GAAG,MAAoB;IAC/C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,SAAS,GAAG,SAAS,IAAI,KAAK,YAAY,UAAU,CAAA;IACtD,CAAC;IACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAI,KAAa,CAAC,CAAC,CAAW,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,GAAiB,CAAA;IAC1B,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAI,IAAI,CAAC,CAAA;IAChC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC;YAAC,GAAW,CAAC,GAAG,EAAE,CAAC,GAAI,KAAa,CAAC,CAAC,CAAM,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACjB,CAAa;IAIb,OAAO,UACL,MAAqD;QAErD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAmC,EAAE;YAC1D,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA,CAAC,2CAA2C;gBAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAClC,IAAI,SAAS,YAAY,OAAO,EAAE,CAAC;oBACjC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7B,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;wBACpB,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,CAAa;IAIb,OAAO,UACL,MAA0E;QAE1E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAmC,EAAE;YAC1D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,EAAG,CAAS,CAAC,CAAC,CAAM,CAAC,CAAA;gBAC/C,IAAI,SAAS,YAAY,OAAO,EAAE,CAAC;oBACjC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7B,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;wBACpB,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,IAAI,CAA4B,CAAa;IAC3D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,QAAQ,CAA4B,CAAa;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,OAAO,CAAE,CAAS,CAAC,CAAC,CAAM,EAAG,CAAS,CAAC,CAAC,GAAG,CAAC,CAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,GAAG,CAAwB,CAAa;IACtD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,GAAG,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;QAChC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,GAAG,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,GAAG,CAAwB,CAAa;IACtD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,GAAG,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;QAChC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,GAAG,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,CAAa,EAAE,OAA2B;IACnE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,GAAG,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,GAAG,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,CAAa,EAAE,OAA2B;IACnE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,GAAG,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,CAAS,CAAC,CAAC,CAAM,CAAA;QAChC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,GAAG,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,GAAuB;IAChD,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,CAAa,EACb,GAAuB;IAEvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,GAAG,CAAC,CAAC,KAAQ,EAAE,EAAE;QACf,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,GAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO,CAAI,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAI,CAAa,EAAE,CAAS,EAAE,CAAS;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAA;IACV,CAAC;IACD,uCAAuC;IACvC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC;QAAC,CAAS,CAAC,CAAC,GAAG,WAAW,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,CAAC;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACvB,CAAC;IACD,0BAA0B;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAAe,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,CAAa,EACb,GAAyB;IAEzB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAM,CAAA;QACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7B,CAAC;YAAC,CAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;YACtB,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAe,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,CAAa,EACb,CAAS,EACT,CAAS,EACT,GAAG,CAAM;IAET,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IACvD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACjC,CAAC;QAAC,GAAW,CAAC,GAAG,EAAE,CAAC,GAAI,CAAS,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,CAAC;QAAC,GAAW,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;IAC9B,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,CAAC;QAAC,GAAW,CAAC,GAAG,EAAE,CAAC,GAAI,CAAS,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,CAAa;IACtC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAK,CAAS,CAAC,CAAC,CAAC,KAAM,CAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,CAAC;YAAC,CAAS,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAA;YAC9B,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAe,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,CAAa,EACb,EAAoB;IAEpB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAE,CAAS,CAAC,CAAC,GAAG,CAAC,CAAM,EAAG,CAAS,CAAC,CAAC,CAAM,CAAC,CAAC,EAAE,CAAC;YACjE,CAAC;YAAC,CAAS,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAA;YAC9B,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAe,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,IAAI,CAAI,CAAa;IACnC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC;QAAC,GAAW,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,EAAc,EAAE,EAAc;IACrD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAK,EAAU,CAAC,CAAC,CAAC,KAAM,EAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,EAAc,EACd,EAAuB;IAEvB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACtB,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAE,EAAU,CAAC,CAAC,CAAM,EAAG,EAAU,CAAC,CAAC,CAAM,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,CAAa,EAAE,CAAI;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAK,CAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,CAAa,EAAE,CAAuB;IACjE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,WAAW,CAAC,CAAC,CAAE,CAAS,CAAC,CAAC,CAAM,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,CAAa,EAAE,CAAI;IAC7C,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,CAAa,EACb,CAAuB;IAEvB,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,CAAa,EAAE,CAAS,EAAE,GAAG,CAAM;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACjC,CAAC;QAAC,GAAW,CAAC,GAAG,CAAC,GAAI,CAAS,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACxC,CAAC;QAAC,GAAW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACtC,CAAC;QAAC,GAAW,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAI,CAAS,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,CAAa;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAI,CAAS,CAAC,CAAC,CAAC,CACxB;QAAC,CAAS,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAC7B;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAI,CAAa,EAAE,CAAS;IAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAA;IAEhC,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,2CAA2C;IAC3C,8DAA8D;IAC9D,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,CAAA;IAC3B,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAI,UAAU,EAAE,MAAM,CAAC,CAAA;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,CAAC;QAAC,QAAgB,CAAC,CAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,CAAa,EACb,GAAuB;IAEvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,OAAM;IACR,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAe,CAAC,EAAE,GAAG,CAAC,CAAA;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC;QAAC,CAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAAW,EACX,GAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,IAAS,EACT,KAAU,EACV,GAAuB;IAEvB,MAAM,GAAG,GAAQ,EAAE,CAAA;IACnB,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,GAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,CAAa,EACb,GAAuB;IAEvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,GAAG,CAAE,CAAS,CAAC,CAAC,CAAM,EAAG,CAAS,CAAC,CAAC,GAAG,CAAC,CAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAa,EACb,GAAuB;IAEvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IACD,CAAC;IAAC,CAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU,CAAI,CAAa;IAClC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAM,CAAA;IACf,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,OAAO,KAAK,EAAE,CAAC;gBACrB,KAAK,QAAQ;oBACX,OAAO,CAAM,CAAA;gBACf,KAAK,QAAQ;oBACX,OAAO,EAAO,CAAA;gBAChB,KAAK,SAAS;oBACZ,OAAO,KAAU,CAAA;YACrB,CAAC;YACD,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,CAAa,EACb,MAAS,EACT,GAA0B;IAE1B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEpB,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAE,CAAS,CAAC,GAAG,CAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAE5D,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,GAAG,GAAG,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,KAAiC;IACnD,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAkC;IACrD,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,CAAa,EACb,MAAS;IAET,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../gs/slices/slices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,164 @@
|
|
|
1
|
-
import { ErrSyntax, ErrRange, NumError } from "./atoi.gs.js";
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
1
|
+
import { ErrSyntax, ErrRange, NumError, underscoreOK } from "./atoi.gs.js";
|
|
2
|
+
const maxFloat32 = 3.4028234663852886e+38;
|
|
3
|
+
// special matches Go's special-value parsing: an optional sign followed by a
|
|
4
|
+
// case-insensitive inf/infinity/nan, with nan rejecting a sign. It returns the
|
|
5
|
+
// value and whether s was a special form.
|
|
6
|
+
function special(s) {
|
|
7
|
+
if (s === "") {
|
|
8
|
+
return [0, false];
|
|
9
|
+
}
|
|
10
|
+
let sign = 1;
|
|
11
|
+
let nsign = 0;
|
|
12
|
+
if (s[0] === '+' || s[0] === '-') {
|
|
13
|
+
if (s[0] === '-') {
|
|
14
|
+
sign = -1;
|
|
15
|
+
}
|
|
16
|
+
nsign = 1;
|
|
17
|
+
}
|
|
18
|
+
const body = s.slice(nsign).toLowerCase();
|
|
19
|
+
if (body === "nan") {
|
|
20
|
+
if (nsign === 1) {
|
|
21
|
+
return [0, false]; // signed NaN is not accepted
|
|
22
|
+
}
|
|
23
|
+
return [NaN, true];
|
|
24
|
+
}
|
|
25
|
+
if (body === "inf" || body === "infinity") {
|
|
26
|
+
return [sign * Infinity, true];
|
|
27
|
+
}
|
|
28
|
+
return [0, false];
|
|
29
|
+
}
|
|
30
|
+
// parseHexFloat parses Go's hexadecimal floating-point syntax
|
|
31
|
+
// (0x1.8p3) into a float64, returning [value, ok]. The exponent letter p and a
|
|
32
|
+
// decimal exponent are mandatory; the value is mantissa * 2^(exp - 4*fracDigits).
|
|
33
|
+
function parseHexFloat(s) {
|
|
34
|
+
let sign = 1;
|
|
35
|
+
let i = 0;
|
|
36
|
+
if (s[0] === '+' || s[0] === '-') {
|
|
37
|
+
if (s[0] === '-') {
|
|
38
|
+
sign = -1;
|
|
39
|
+
}
|
|
40
|
+
i = 1;
|
|
41
|
+
}
|
|
42
|
+
if (i + 1 >= s.length || s[i] !== '0' || s[i + 1].toLowerCase() !== 'x') {
|
|
43
|
+
return [0, false];
|
|
44
|
+
}
|
|
45
|
+
i += 2;
|
|
46
|
+
let intPart = "";
|
|
47
|
+
while (i < s.length && /[0-9a-fA-F]/.test(s[i])) {
|
|
48
|
+
intPart += s[i];
|
|
49
|
+
i++;
|
|
50
|
+
}
|
|
51
|
+
let fracPart = "";
|
|
52
|
+
if (i < s.length && s[i] === '.') {
|
|
53
|
+
i++;
|
|
54
|
+
while (i < s.length && /[0-9a-fA-F]/.test(s[i])) {
|
|
55
|
+
fracPart += s[i];
|
|
56
|
+
i++;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (intPart === "" && fracPart === "") {
|
|
60
|
+
return [0, false];
|
|
61
|
+
}
|
|
62
|
+
if (i >= s.length || s[i].toLowerCase() !== 'p') {
|
|
63
|
+
return [0, false]; // exponent is required for hex floats
|
|
64
|
+
}
|
|
65
|
+
i++;
|
|
66
|
+
let expSign = 1;
|
|
67
|
+
if (i < s.length && (s[i] === '+' || s[i] === '-')) {
|
|
68
|
+
if (s[i] === '-') {
|
|
69
|
+
expSign = -1;
|
|
70
|
+
}
|
|
71
|
+
i++;
|
|
72
|
+
}
|
|
73
|
+
if (i >= s.length) {
|
|
74
|
+
return [0, false];
|
|
75
|
+
}
|
|
76
|
+
let expStr = "";
|
|
77
|
+
while (i < s.length && s[i] >= '0' && s[i] <= '9') {
|
|
78
|
+
expStr += s[i];
|
|
79
|
+
i++;
|
|
80
|
+
}
|
|
81
|
+
if (expStr === "" || i !== s.length) {
|
|
82
|
+
return [0, false];
|
|
83
|
+
}
|
|
84
|
+
const mant = parseInt(intPart + fracPart, 16);
|
|
85
|
+
const exp = expSign * parseInt(expStr, 10) - 4 * fracPart.length;
|
|
86
|
+
return [sign * mant * Math.pow(2, exp), true];
|
|
87
|
+
}
|
|
88
|
+
// decimalSyntaxOK reports whether s is a syntactically valid Go decimal float
|
|
89
|
+
// literal (after underscores are removed): optional sign, a mantissa with digits
|
|
90
|
+
// on at least one side of an optional dot, and an optional decimal exponent.
|
|
91
|
+
function decimalSyntaxOK(s) {
|
|
92
|
+
return /^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/.test(s);
|
|
93
|
+
}
|
|
94
|
+
// hasNonZeroDigit reports whether s contains a digit other than 0, used to tell
|
|
95
|
+
// a true zero from an underflow to zero.
|
|
96
|
+
function hasNonZeroDigit(s) {
|
|
97
|
+
for (const ch of s) {
|
|
98
|
+
if (ch >= '1' && ch <= '9') {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
// ParseFloat converts the string s to a floating-point number with the precision
|
|
105
|
+
// specified by bitSize: 32 for float32 or 64 for float64. The result always has
|
|
106
|
+
// type float64; for bitSize 32 it is rounded to float32 precision and reports
|
|
107
|
+
// ErrRange on overflow to infinity or underflow to zero. Any bitSize other than
|
|
108
|
+
// 32 is treated as float64.
|
|
6
109
|
export function ParseFloat(s, bitSize) {
|
|
110
|
+
const syntax = () => [0, new NumError({ Func: "ParseFloat", Num: s, Err: ErrSyntax })];
|
|
111
|
+
const range = (v) => [v, new NumError({ Func: "ParseFloat", Num: s, Err: ErrRange })];
|
|
7
112
|
if (s === "") {
|
|
8
|
-
return
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
return [
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
// Check for range errors based on bitSize
|
|
113
|
+
return syntax();
|
|
114
|
+
}
|
|
115
|
+
const [sv, isSpecial] = special(s);
|
|
116
|
+
if (isSpecial) {
|
|
117
|
+
return [sv, null];
|
|
118
|
+
}
|
|
119
|
+
let value;
|
|
120
|
+
let nonZero;
|
|
121
|
+
if (/^[+-]?0[xX]/.test(s)) {
|
|
122
|
+
const [hv, ok] = parseHexFloat(s);
|
|
123
|
+
if (!ok) {
|
|
124
|
+
return syntax();
|
|
125
|
+
}
|
|
126
|
+
value = hv;
|
|
127
|
+
nonZero = hv !== 0;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
if (s.includes('_')) {
|
|
131
|
+
if (!underscoreOK(s)) {
|
|
132
|
+
return syntax();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const clean = s.replace(/_/g, '');
|
|
136
|
+
if (!decimalSyntaxOK(clean)) {
|
|
137
|
+
return syntax();
|
|
138
|
+
}
|
|
139
|
+
value = Number(clean);
|
|
140
|
+
nonZero = hasNonZeroDigit(clean);
|
|
141
|
+
}
|
|
39
142
|
if (bitSize === 32) {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
143
|
+
const f = Math.fround(value);
|
|
144
|
+
if (!isFinite(f) && isFinite(value)) {
|
|
145
|
+
return range(value > 0 ? Infinity : -Infinity);
|
|
146
|
+
}
|
|
147
|
+
if (f === 0 && nonZero) {
|
|
148
|
+
return range(0);
|
|
44
149
|
}
|
|
45
|
-
|
|
46
|
-
|
|
150
|
+
// A finite float64 above float32 max also overflows.
|
|
151
|
+
if (isFinite(value) && Math.abs(value) > maxFloat32) {
|
|
152
|
+
return range(value > 0 ? Infinity : -Infinity);
|
|
47
153
|
}
|
|
154
|
+
return [f, null];
|
|
155
|
+
}
|
|
156
|
+
if (!isFinite(value) && nonZero) {
|
|
157
|
+
return range(value > 0 ? Infinity : -Infinity);
|
|
158
|
+
}
|
|
159
|
+
if (value === 0 && nonZero) {
|
|
160
|
+
return range(0);
|
|
48
161
|
}
|
|
49
|
-
return [
|
|
162
|
+
return [value, null];
|
|
50
163
|
}
|
|
51
164
|
//# sourceMappingURL=atof.gs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atof.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atof.gs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"atof.gs.js","sourceRoot":"","sources":["../../../gs/strconv/atof.gs.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare function rangeError(fn: string, str: string): NumError;
|
|
|
28
28
|
export declare function baseError(fn: string, str: string, base: number): NumError;
|
|
29
29
|
export declare function bitSizeError(fn: string, str: string, bitSize: number): NumError;
|
|
30
30
|
export declare let IntSize: number;
|
|
31
|
-
export declare function ParseUint(s: string, base: number, bitSize: number): [
|
|
32
|
-
export declare function ParseInt(s: string, base: number, bitSize: number): [
|
|
31
|
+
export declare function ParseUint(s: string, base: number, bitSize: number): [bigint, $.GoError];
|
|
32
|
+
export declare function ParseInt(s: string, base: number, bitSize: number): [bigint, $.GoError];
|
|
33
33
|
export declare function Atoi(s: string): [number, $.GoError];
|
|
34
|
+
export declare function underscoreOK(s: string): boolean;
|
|
@@ -64,22 +64,30 @@ export function bitSizeError(fn, str, bitSize) {
|
|
|
64
64
|
return new NumError({ Func: fn, Num: str, Err: $.newError("invalid bit size " + bitSize) });
|
|
65
65
|
}
|
|
66
66
|
export let IntSize = 64;
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
// digitValue decodes the value of a single base-36 digit, returning 99 (an
|
|
68
|
+
// invalid sentinel above any legal base) for non-alphanumeric runes so the
|
|
69
|
+
// caller rejects them with a syntax error.
|
|
70
|
+
function digitValue(c) {
|
|
71
|
+
if (c >= '0' && c <= '9') {
|
|
72
|
+
return c.charCodeAt(0) - 48;
|
|
73
|
+
}
|
|
74
|
+
const lc = c.toLowerCase();
|
|
75
|
+
if (lc >= 'a' && lc <= 'z') {
|
|
76
|
+
return lc.charCodeAt(0) - 97 + 10;
|
|
77
|
+
}
|
|
78
|
+
return 99;
|
|
71
79
|
}
|
|
72
80
|
// ParseUint is like ParseInt but for unsigned numbers.
|
|
73
|
-
// A sign prefix is not permitted.
|
|
81
|
+
// A sign prefix is not permitted. It returns the uint64 value as a bigint.
|
|
74
82
|
export function ParseUint(s, base, bitSize) {
|
|
75
83
|
if (s === "") {
|
|
76
|
-
return [
|
|
84
|
+
return [0n, syntaxError("ParseUint", s)];
|
|
77
85
|
}
|
|
78
86
|
const base0 = base === 0;
|
|
79
87
|
const s0 = s;
|
|
80
88
|
// Handle base validation
|
|
81
89
|
if (base < 0 || base === 1 || base > 36) {
|
|
82
|
-
return [
|
|
90
|
+
return [0n, baseError("ParseUint", s0, base)];
|
|
83
91
|
}
|
|
84
92
|
// Handle base inference
|
|
85
93
|
if (base === 0) {
|
|
@@ -115,103 +123,114 @@ export function ParseUint(s, base, bitSize) {
|
|
|
115
123
|
bitSize = 64;
|
|
116
124
|
}
|
|
117
125
|
else if (bitSize < 0 || bitSize > 64) {
|
|
118
|
-
return [
|
|
126
|
+
return [0n, bitSizeError("ParseUint", s0, bitSize)];
|
|
119
127
|
}
|
|
120
|
-
//
|
|
128
|
+
// Underscores are permitted only when the base was auto-detected, and only
|
|
129
|
+
// between digits. Validate against the original string so the base prefix
|
|
130
|
+
// and hex-digit context are visible to underscoreOK.
|
|
121
131
|
if (base0 && s.includes('_')) {
|
|
122
|
-
if (!underscoreOK(
|
|
123
|
-
return [
|
|
132
|
+
if (!underscoreOK(s0)) {
|
|
133
|
+
return [0n, syntaxError("ParseUint", s0)];
|
|
124
134
|
}
|
|
125
135
|
s = s.replace(/_/g, '');
|
|
126
136
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
maxVal = Math.pow(2, bitSize) - 1;
|
|
145
|
-
}
|
|
146
|
-
if (result > maxVal) {
|
|
147
|
-
return [0, rangeError("ParseUint", s0)];
|
|
137
|
+
if (s === "") {
|
|
138
|
+
return [0n, syntaxError("ParseUint", s0)];
|
|
139
|
+
}
|
|
140
|
+
const baseBig = BigInt(base);
|
|
141
|
+
const maxVal = (1n << BigInt(bitSize)) - 1n;
|
|
142
|
+
let n = 0n;
|
|
143
|
+
for (const ch of s) {
|
|
144
|
+
const d = digitValue(ch);
|
|
145
|
+
if (d >= base) {
|
|
146
|
+
return [0n, syntaxError("ParseUint", s0)];
|
|
147
|
+
}
|
|
148
|
+
n = n * baseBig + BigInt(d);
|
|
149
|
+
if (n > maxVal) {
|
|
150
|
+
return [maxVal, rangeError("ParseUint", s0)];
|
|
151
|
+
}
|
|
148
152
|
}
|
|
149
|
-
return [
|
|
153
|
+
return [n, null];
|
|
150
154
|
}
|
|
151
155
|
// ParseInt interprets a string s in the given base (0, 2 to 36) and
|
|
152
|
-
// bit size (0 to 64) and returns the corresponding value i.
|
|
156
|
+
// bit size (0 to 64) and returns the corresponding value i as a bigint.
|
|
153
157
|
export function ParseInt(s, base, bitSize) {
|
|
154
158
|
if (s === "") {
|
|
155
|
-
return [
|
|
159
|
+
return [0n, syntaxError("ParseInt", s)];
|
|
156
160
|
}
|
|
161
|
+
const s0 = s;
|
|
157
162
|
let neg = false;
|
|
158
163
|
if (s[0] === '+' || s[0] === '-') {
|
|
159
164
|
neg = s[0] === '-';
|
|
160
165
|
s = s.slice(1);
|
|
161
166
|
if (s.length < 1) {
|
|
162
|
-
return [
|
|
167
|
+
return [0n, syntaxError("ParseInt", s0)];
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
170
|
// Convert to unsigned first
|
|
166
171
|
const [un, err] = ParseUint(s, base, bitSize);
|
|
167
|
-
if (err !== null) {
|
|
172
|
+
if (err !== null && err.Err !== ErrRange) {
|
|
168
173
|
const numErr = err;
|
|
169
174
|
numErr.Func = "ParseInt";
|
|
170
|
-
|
|
175
|
+
numErr.Num = s0;
|
|
176
|
+
return [0n, numErr];
|
|
171
177
|
}
|
|
172
178
|
if (bitSize === 0) {
|
|
173
179
|
bitSize = 64;
|
|
174
180
|
}
|
|
175
|
-
|
|
176
|
-
// so we use Math.pow() for larger bit sizes
|
|
177
|
-
let cutoff;
|
|
178
|
-
if (bitSize >= 53) {
|
|
179
|
-
// For 53+ bits, use MAX_SAFE_INTEGER as JavaScript can't represent larger integers accurately
|
|
180
|
-
cutoff = Number.MAX_SAFE_INTEGER;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
cutoff = Math.pow(2, bitSize - 1);
|
|
184
|
-
}
|
|
181
|
+
const cutoff = 1n << BigInt(bitSize - 1);
|
|
185
182
|
if (!neg && un >= cutoff) {
|
|
186
|
-
return [
|
|
183
|
+
return [cutoff - 1n, rangeError("ParseInt", s0)];
|
|
187
184
|
}
|
|
188
185
|
if (neg && un > cutoff) {
|
|
189
|
-
return [
|
|
186
|
+
return [-cutoff, rangeError("ParseInt", s0)];
|
|
190
187
|
}
|
|
191
|
-
|
|
192
|
-
return [result, null];
|
|
188
|
+
return [neg ? -un : un, null];
|
|
193
189
|
}
|
|
194
190
|
// Atoi is equivalent to ParseInt(s, 10, 0), converted to type int.
|
|
195
191
|
export function Atoi(s) {
|
|
196
192
|
const [i64, err] = ParseInt(s, 10, 0);
|
|
197
|
-
return [i64, err];
|
|
193
|
+
return [Number(i64), err];
|
|
198
194
|
}
|
|
199
|
-
// underscoreOK reports whether the underscores in s are allowed
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
//
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
195
|
+
// underscoreOK reports whether the underscores in s are allowed, matching Go's
|
|
196
|
+
// strconv.underscoreOK: an underscore must sit directly between two digits (or
|
|
197
|
+
// between a base prefix and a digit), never adjacent to a sign, prefix letter,
|
|
198
|
+
// dot, exponent marker, or another underscore. Used by ParseUint and ParseFloat.
|
|
199
|
+
export function underscoreOK(s) {
|
|
200
|
+
// saw tracks the previous character class: '^' start, '0' digit or prefix,
|
|
201
|
+
// '_' underscore, '!' anything else.
|
|
202
|
+
let saw = '^';
|
|
203
|
+
let i = 0;
|
|
204
|
+
if (s.length >= 1 && (s[0] === '-' || s[0] === '+')) {
|
|
205
|
+
s = s.slice(1);
|
|
206
|
+
}
|
|
207
|
+
let hex = false;
|
|
208
|
+
if (s.length >= 2 &&
|
|
209
|
+
s[0] === '0' &&
|
|
210
|
+
(s[1].toLowerCase() === 'b' || s[1].toLowerCase() === 'o' || s[1].toLowerCase() === 'x')) {
|
|
211
|
+
i = 2;
|
|
212
|
+
saw = '0';
|
|
213
|
+
hex = s[1].toLowerCase() === 'x';
|
|
214
|
+
}
|
|
215
|
+
for (; i < s.length; i++) {
|
|
216
|
+
const c = s[i];
|
|
217
|
+
const lc = c.toLowerCase();
|
|
218
|
+
if ((c >= '0' && c <= '9') || (hex && lc >= 'a' && lc <= 'f')) {
|
|
219
|
+
saw = '0';
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
if (c === '_') {
|
|
223
|
+
if (saw !== '0') {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
saw = '_';
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
if (saw === '_') {
|
|
212
230
|
return false;
|
|
213
231
|
}
|
|
232
|
+
saw = '!';
|
|
214
233
|
}
|
|
215
|
-
return
|
|
234
|
+
return saw !== '_';
|
|
216
235
|
}
|
|
217
236
|
//# sourceMappingURL=atoi.gs.js.map
|