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.
Files changed (138) hide show
  1. package/cmd/goscript/cmd_compile.go +28 -8
  2. package/cmd/goscript/cmd_compile_test.go +105 -6
  3. package/compiler/build-flags.go +9 -10
  4. package/compiler/gotest/runner_test.go +127 -0
  5. package/compiler/lowered-program.go +1 -0
  6. package/compiler/lowering.go +1325 -194
  7. package/compiler/lowering_bench_test.go +350 -0
  8. package/compiler/override-registry_test.go +43 -0
  9. package/compiler/package-graph.go +61 -4
  10. package/compiler/package-graph_test.go +30 -0
  11. package/compiler/semantic-model-types.go +8 -0
  12. package/compiler/semantic-model.go +447 -22
  13. package/compiler/semantic-model_test.go +138 -0
  14. package/compiler/skeleton_test.go +1436 -50
  15. package/compiler/typescript-emitter.go +47 -4
  16. package/dist/gs/builtin/builtin.d.ts +2 -2
  17. package/dist/gs/builtin/builtin.js +20 -0
  18. package/dist/gs/builtin/builtin.js.map +1 -1
  19. package/dist/gs/builtin/channel.js +36 -9
  20. package/dist/gs/builtin/channel.js.map +1 -1
  21. package/dist/gs/builtin/slice.js +5 -0
  22. package/dist/gs/builtin/slice.js.map +1 -1
  23. package/dist/gs/builtin/type.d.ts +1 -1
  24. package/dist/gs/builtin/type.js +80 -8
  25. package/dist/gs/builtin/type.js.map +1 -1
  26. package/dist/gs/bytes/bytes.gs.d.ts +7 -5
  27. package/dist/gs/bytes/bytes.gs.js +10 -4
  28. package/dist/gs/bytes/bytes.gs.js.map +1 -1
  29. package/dist/gs/compress/zlib/index.d.ts +3 -3
  30. package/dist/gs/compress/zlib/index.js +88 -26
  31. package/dist/gs/compress/zlib/index.js.map +1 -1
  32. package/dist/gs/crypto/sha1/index.d.ts +5 -0
  33. package/dist/gs/crypto/sha1/index.js +103 -0
  34. package/dist/gs/crypto/sha1/index.js.map +1 -0
  35. package/dist/gs/crypto/sha256/index.js +2 -5
  36. package/dist/gs/crypto/sha256/index.js.map +1 -1
  37. package/dist/gs/crypto/sha512/index.js +2 -5
  38. package/dist/gs/crypto/sha512/index.js.map +1 -1
  39. package/dist/gs/embed/index.d.ts +6 -0
  40. package/dist/gs/embed/index.js +210 -5
  41. package/dist/gs/embed/index.js.map +1 -1
  42. package/dist/gs/fmt/fmt.d.ts +4 -4
  43. package/dist/gs/fmt/fmt.js +93 -19
  44. package/dist/gs/fmt/fmt.js.map +1 -1
  45. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +118 -6
  46. package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -1
  47. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.d.ts +45 -0
  48. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js +229 -0
  49. package/dist/gs/github.com/go-git/go-billy/v6/osfs/index.js.map +1 -0
  50. package/dist/gs/io/fs/readdir.js +5 -3
  51. package/dist/gs/io/fs/readdir.js.map +1 -1
  52. package/dist/gs/io/io.d.ts +18 -11
  53. package/dist/gs/io/io.js +107 -44
  54. package/dist/gs/io/io.js.map +1 -1
  55. package/dist/gs/math/bits/index.d.ts +26 -5
  56. package/dist/gs/math/bits/index.js +13 -24
  57. package/dist/gs/math/bits/index.js.map +1 -1
  58. package/dist/gs/net/http/httptest/index.js +7 -5
  59. package/dist/gs/net/http/httptest/index.js.map +1 -1
  60. package/dist/gs/net/http/index.d.ts +11 -1
  61. package/dist/gs/net/http/index.js +157 -11
  62. package/dist/gs/net/http/index.js.map +1 -1
  63. package/dist/gs/os/types_js.gs.d.ts +6 -2
  64. package/dist/gs/os/types_js.gs.js +169 -8
  65. package/dist/gs/os/types_js.gs.js.map +1 -1
  66. package/dist/gs/os/zero_copy_posix.gs.js +1 -1
  67. package/dist/gs/os/zero_copy_posix.gs.js.map +1 -1
  68. package/dist/gs/reflect/type.d.ts +1 -0
  69. package/dist/gs/reflect/type.js +80 -51
  70. package/dist/gs/reflect/type.js.map +1 -1
  71. package/dist/gs/strings/reader.d.ts +1 -1
  72. package/dist/gs/strings/reader.js +2 -2
  73. package/dist/gs/strings/reader.js.map +1 -1
  74. package/dist/gs/sync/sync.d.ts +2 -1
  75. package/dist/gs/sync/sync.js +37 -16
  76. package/dist/gs/sync/sync.js.map +1 -1
  77. package/dist/gs/syscall/js/index.js +9 -0
  78. package/dist/gs/syscall/js/index.js.map +1 -1
  79. package/dist/gs/testing/testing.js +8 -6
  80. package/dist/gs/testing/testing.js.map +1 -1
  81. package/gs/builtin/builtin.ts +25 -2
  82. package/gs/builtin/channel.ts +47 -9
  83. package/gs/builtin/runtime-contract.test.ts +78 -0
  84. package/gs/builtin/slice.ts +7 -0
  85. package/gs/builtin/type.ts +97 -8
  86. package/gs/bytes/bytes.gs.ts +19 -10
  87. package/gs/bytes/bytes.test.ts +17 -0
  88. package/gs/compress/zlib/index.test.ts +97 -0
  89. package/gs/compress/zlib/index.ts +117 -27
  90. package/gs/compress/zlib/meta.json +4 -1
  91. package/gs/context/context.test.ts +5 -1
  92. package/gs/crypto/sha1/index.test.ts +45 -0
  93. package/gs/crypto/sha1/index.ts +127 -0
  94. package/gs/crypto/sha1/meta.json +8 -0
  95. package/gs/crypto/sha256/index.test.ts +14 -2
  96. package/gs/crypto/sha256/index.ts +3 -6
  97. package/gs/crypto/sha512/index.test.ts +17 -2
  98. package/gs/crypto/sha512/index.ts +3 -6
  99. package/gs/embed/index.test.ts +87 -0
  100. package/gs/embed/index.ts +229 -5
  101. package/gs/fmt/fmt.test.ts +61 -3
  102. package/gs/fmt/fmt.ts +115 -22
  103. package/gs/fmt/meta.json +6 -1
  104. package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +8 -1
  105. package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +139 -11
  106. package/gs/github.com/aperturerobotics/util/conc/index.test.ts +1 -1
  107. package/gs/github.com/go-git/go-billy/v6/osfs/index.test.ts +110 -0
  108. package/gs/github.com/go-git/go-billy/v6/osfs/index.ts +280 -0
  109. package/gs/github.com/go-git/go-billy/v6/osfs/meta.json +8 -0
  110. package/gs/io/fs/readdir.test.ts +38 -0
  111. package/gs/io/fs/readdir.ts +7 -3
  112. package/gs/io/io.test.ts +135 -0
  113. package/gs/io/io.ts +143 -63
  114. package/gs/io/meta.json +7 -1
  115. package/gs/math/bits/index.ts +52 -28
  116. package/gs/net/http/httptest/index.test.ts +34 -2
  117. package/gs/net/http/httptest/index.ts +23 -8
  118. package/gs/net/http/index.test.ts +46 -0
  119. package/gs/net/http/index.ts +178 -12
  120. package/gs/os/file_unix_js.test.ts +52 -0
  121. package/gs/os/meta.json +4 -0
  122. package/gs/os/readdir.test.ts +56 -0
  123. package/gs/os/types_js.gs.ts +169 -8
  124. package/gs/os/zero_copy_posix.gs.ts +1 -2
  125. package/gs/reflect/deepequal.test.ts +10 -1
  126. package/gs/reflect/type.ts +91 -56
  127. package/gs/reflect/typefor.test.ts +31 -1
  128. package/gs/strings/meta.json +5 -2
  129. package/gs/strings/reader.test.ts +2 -2
  130. package/gs/strings/reader.ts +2 -2
  131. package/gs/sync/meta.json +2 -0
  132. package/gs/sync/sync.test.ts +41 -1
  133. package/gs/sync/sync.ts +41 -16
  134. package/gs/syscall/js/index.test.ts +18 -0
  135. package/gs/syscall/js/index.ts +12 -0
  136. package/gs/testing/testing.test.ts +32 -3
  137. package/gs/testing/testing.ts +13 -10
  138. package/package.json +1 -1
@@ -2,6 +2,7 @@ package compiler
2
2
 
3
3
  import (
4
4
  "context"
5
+ "io"
5
6
  "os"
6
7
  "path/filepath"
7
8
  "slices"
@@ -73,12 +74,12 @@ func (o *TypeScriptEmitOwner) Emit(
73
74
  for _, file := range pkg.files {
74
75
  filePath := "@goscript/" + pkg.pkgPath + "/" + file.outputName
75
76
  path := filepath.Join(req.OutputPath, filepath.FromSlash(filePath))
76
- if err := os.WriteFile(path, []byte(files[filePath]), 0o644); err != nil {
77
+ if err := writeFileString(path, files[filePath], 0o644); err != nil {
77
78
  diagnostics = append(diagnostics, emitError("write TypeScript file", path, err))
78
79
  }
79
80
  }
80
81
  indexPath := "@goscript/" + pkg.pkgPath + "/index.ts"
81
- if err := os.WriteFile(filepath.Join(pkgDir, "index.ts"), []byte(files[indexPath]), 0o644); err != nil {
82
+ if err := writeFileString(filepath.Join(pkgDir, "index.ts"), files[indexPath], 0o644); err != nil {
82
83
  diagnostics = append(diagnostics, emitError("write package index", pkg.pkgPath, err))
83
84
  continue
84
85
  }
@@ -87,6 +88,22 @@ func (o *TypeScriptEmitOwner) Emit(
87
88
  return compiled, diagnostics
88
89
  }
89
90
 
91
+ func writeFileString(path string, contents string, perm os.FileMode) error {
92
+ file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, perm)
93
+ if err != nil {
94
+ return err
95
+ }
96
+ written, writeErr := file.WriteString(contents)
97
+ closeErr := file.Close()
98
+ if writeErr != nil {
99
+ return writeErr
100
+ }
101
+ if written != len(contents) {
102
+ return io.ErrShortWrite
103
+ }
104
+ return closeErr
105
+ }
106
+
90
107
  // EmitToMemory renders a lowered program into deterministic slash-path files.
91
108
  func (o *TypeScriptEmitOwner) EmitToMemory(
92
109
  ctx context.Context,
@@ -126,7 +143,11 @@ func (o *TypeScriptEmitOwner) renderLoweredFile(pkg *loweredPackage, file *lower
126
143
  if idx != 0 {
127
144
  b.WriteString("\n")
128
145
  }
129
- b.WriteString("import * as ")
146
+ b.WriteString("import ")
147
+ if imp.typeOnly {
148
+ b.WriteString("type ")
149
+ }
150
+ b.WriteString("* as ")
130
151
  b.WriteString(imp.alias)
131
152
  b.WriteString(" from \"")
132
153
  b.WriteString(imp.source)
@@ -134,7 +155,7 @@ func (o *TypeScriptEmitOwner) renderLoweredFile(pkg *loweredPackage, file *lower
134
155
  }
135
156
  sideEffectImports := make(map[string]bool)
136
157
  for _, imp := range file.imports {
137
- if !imp.sideEffect || sideEffectImports[imp.source] {
158
+ if imp.typeOnly || !imp.sideEffect || sideEffectImports[imp.source] {
138
159
  continue
139
160
  }
140
161
  sideEffectImports[imp.source] = true
@@ -484,6 +505,7 @@ func renderFunction(b *strings.Builder, fn *loweredFunction) {
484
505
  renderNamedResults(b, fn.namedResults, 1)
485
506
  renderDeferStack(b, fn.deferState, 1)
486
507
  renderStmts(b, fn.body, 1)
508
+ renderUnreachableReturn(b, fn, 1)
487
509
  b.WriteString("}\n")
488
510
  }
489
511
 
@@ -527,10 +549,31 @@ func renderMethod(b *strings.Builder, fn *loweredFunction) {
527
549
  renderNamedResults(b, fn.namedResults, 2)
528
550
  renderDeferStack(b, fn.deferState, 2)
529
551
  renderStmts(b, fn.body, 2)
552
+ renderUnreachableReturn(b, fn, 2)
530
553
  writeIndent(b, 1)
531
554
  b.WriteString("}\n")
532
555
  }
533
556
 
557
+ func renderUnreachableReturn(b *strings.Builder, fn *loweredFunction, indent int) {
558
+ if fn.result == "void" || fn.result == "globalThis.Promise<void>" {
559
+ return
560
+ }
561
+ if loweredStmtsEndWithTerminal(fn.body) {
562
+ return
563
+ }
564
+ writeIndent(b, indent)
565
+ b.WriteString("throw new globalThis.Error(\"goscript: unreachable return\")\n")
566
+ }
567
+
568
+ func loweredStmtsEndWithTerminal(stmts []loweredStmt) bool {
569
+ if len(stmts) == 0 {
570
+ return false
571
+ }
572
+ last := stmts[len(stmts)-1]
573
+ text := strings.TrimSpace(last.text)
574
+ return strings.HasPrefix(text, "return") || strings.HasPrefix(text, "throw ")
575
+ }
576
+
534
577
  func renderFunctionTypeParams(b *strings.Builder, fn *loweredFunction) {
535
578
  if len(fn.typeParams) == 0 {
536
579
  return
@@ -51,8 +51,8 @@ export declare function complex(real: number, imag: number): Complex;
51
51
  export declare function real(value: number | Complex | null | undefined): number;
52
52
  export declare function imag(value: number | Complex | null | undefined): number;
53
53
  export type Bytes = Uint8Array | Slice<number>;
54
- export declare function int(value: number | bigint, bits?: number): number;
55
- export declare function uint(value: number | bigint, bits?: number): number;
54
+ export declare function int(value: number | bigint | string, bits?: number): number;
55
+ export declare function uint(value: number | bigint | string, bits?: number): number;
56
56
  export declare function uint64Shl(value: number | bigint, shift: number | bigint): number;
57
57
  export declare function uint64Shr(value: number | bigint, shift: number | bigint): number;
58
58
  export declare function int64Shl(value: number | bigint, shift: number | bigint): number;
@@ -202,6 +202,9 @@ export function comparableEqual(a, b) {
202
202
  if (a.__isTypedNil || b.__isTypedNil) {
203
203
  return a.__isTypedNil === true && b.__isTypedNil === true;
204
204
  }
205
+ if (a.__goType.startsWith('*')) {
206
+ return false;
207
+ }
205
208
  if (hasGoValue(a) || hasGoValue(b)) {
206
209
  return hasGoValue(a) && hasGoValue(b) && comparableEqual(a.__goValue, b.__goValue);
207
210
  }
@@ -266,22 +269,36 @@ export function complex(real, imag) {
266
269
  return { real, imag };
267
270
  }
268
271
  export function real(value) {
272
+ value = unwrapGoValue(value);
269
273
  if (typeof value === 'number') {
270
274
  return value;
271
275
  }
272
276
  return value?.real ?? 0;
273
277
  }
274
278
  export function imag(value) {
279
+ value = unwrapGoValue(value);
275
280
  if (typeof value === 'number') {
276
281
  return 0;
277
282
  }
278
283
  return value?.imag ?? 0;
279
284
  }
285
+ function unwrapGoValue(value) {
286
+ if (value !== null &&
287
+ value !== undefined &&
288
+ typeof value === 'object' &&
289
+ '__goValue' in value) {
290
+ return value.__goValue;
291
+ }
292
+ return value;
293
+ }
280
294
  const maxSafeBigInt = BigInt(Number.MAX_SAFE_INTEGER);
281
295
  const maxUint64BigInt = 0xffffffffffffffffn;
282
296
  // int converts a value to a Go int type, handling proper signed integer conversion
283
297
  // This ensures that values like 2147483648 (2^31) are properly handled according to Go semantics
284
298
  export function int(value, bits = 0) {
299
+ if (typeof value === 'string') {
300
+ value = BigInt(value);
301
+ }
285
302
  if (typeof value === 'bigint') {
286
303
  if (bits > 0 && bits <= 64) {
287
304
  return Number(BigInt.asIntN(bits, value));
@@ -317,6 +334,9 @@ export function int(value, bits = 0) {
317
334
  }
318
335
  // uint converts a value to an unsigned Go integer width.
319
336
  export function uint(value, bits = 64) {
337
+ if (typeof value === 'string') {
338
+ value = BigInt(value);
339
+ }
320
340
  if (typeof value === 'bigint') {
321
341
  const normalized = BigInt.asUintN(Math.min(bits, 64), value);
322
342
  if (bits >= 64) {
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../gs/builtin/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../gs/builtin/builtin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAe,MAAM,aAAa,CAAA;AAEnD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAClC,mBAAmB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAG,IAAW;IACpC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACzE,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,OAAO,OAAQ,SAAQ,KAAK;IACJ,KAAK;IAAjC,YAA4B,KAAc;QACxC,KAAK,CAAC,UAAU,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;qBADhB,KAAK;IAEjC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,IAAe;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,IAAI,KAAK;QAChB,OAAQ,KAA6B,CAAC,KAAK,KAAK,UAAU,EAC1D,CAAC;QACD,OAAO,MAAM,CAAE,KAA6B,CAAC,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAI,CAA0C;IACjE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC,KAAK,EAAE,CAAA;QACT,OAAM;IACR,CAAC;IACD,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,OAAM;IACR,CAAC;IACD,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACb,CAAC;QACD,OAAM;IACR,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,OAAM;IACR,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAI,CAAM;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,QAAQ,OAAO,IAAI,EAAE,CAAC;gBACpB,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,IAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAI,MAAS,EAAE,MAAS;IAClD,IACE,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,SAAS,EACpB,CAAC;QACD,OAAM;IACR,CAAC;IACD,MAAM,YAAY,GAAI,MAAc,CAAC,OAAO,CAAA;IAC5C,MAAM,YAAY,GAAI,MAAc,CAAC,OAAO,CAAA;IAC5C,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAM;IACR,CAAC;IACD,gDAAgD;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,WAAW,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,KAAuC;IACrE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IACD,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK,CAAC,CAAC;QACnB,KAA0D;QAC7D,CAAC,CAAC,IAAI,CAAA;IACR,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAC9B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC1B,CAAC;QACD,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAuC;IAEvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,KAAU,CAAA;IACzB,CAAC;IACD,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK,CAAC,CAAC;QACnB,KAA0D;QAC7D,CAAC,CAAC,IAAI,CAAA;IACR,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAC9B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC1B,CAAC;QACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAU,EAAE,CAAU;IAC/C,OAAO,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAU,EAAE,CAAU;IACpD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,CACL,cAAc,CAAC,CAAC,CAAC;YACjB,cAAc,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAClB,CAAA;IACH,CAAC;IACD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,CAAA;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,UAAU,CAAA;AAC5D,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAI/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAgC,CAAC,QAAQ,KAAK,QAAQ,CAC/D,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAGhC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,CAAA;AAC5E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,CACL,GAAG,KAAK,UAAU;YAClB,GAAG,KAAK,WAAW;YACnB,GAAG,KAAK,SAAS;YACjB,GAAG,KAAK,UAAU;YAClB,OAAQ,KAAiC,CAAC,GAAG,CAAC,KAAK,UAAU,CAC9D,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IAGnC,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;QAC1C,KAA+B,CAAC,OAAO;QAC1C,CAAC,CAAC,SAAS,CAAA;IACb,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACtC,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAClB,CAAkC,EAClC,CAAkC;IAElC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAOD,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACvD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAA0C;IAC7D,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,EAAE,IAAI,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAA0C;IAC7D,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,KAAK,EAAE,IAAI,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CAAI,KAAQ;IAChC,IACE,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS;QACnB,OAAO,KAAK,KAAK,QAAQ;QACzB,WAAW,IAAI,KAAK,EACpB,CAAC;QACD,OAAQ,KAA0B,CAAC,SAAS,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACrD,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAE3C,mFAAmF;AACnF,iGAAiG;AACjG,MAAM,UAAU,GAAG,CAAC,KAA+B,EAAE,IAAI,GAAG,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,SAAS,IAAI,MAAM,CAAA;QACnB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS,IAAI,MAAM,CAAA;QACrB,CAAC;QACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,SAAS,IAAI,MAAM,CAAA;QACrB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,0FAA0F;IAC1F,wFAAwF;IACxF,6FAA6F;IAC7F,kDAAkD;IAClD,EAAE;IACF,yEAAyE;IACzE,uFAAuF;IACvF,EAAE;IACF,8BAA8B;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,IAAI,CAAC,KAA+B,EAAE,IAAI,GAAG,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC5D,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YACf,OAAO,YAAY,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,KAAK,GAAG,IAAI,CAAA;IACrB,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,GAAG,MAAM,CAAA;IACvB,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,SAAS,IAAI,MAAM,CAAA;IACnB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,SAAS,IAAI,MAAM,CAAA;IACrB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAsB,EACtB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAsB,EACtB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAAsB,EACtB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAAsB,EACtB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,KAAsB,EACtB,KAAsB,EACtB,IAAI,GAAG,EAAE;IAET,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,MAAM,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAqB,EACrB,KAAsB;IAEtB,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,IACE,SAAS,IAAI,MAAM,CAAC,gBAAgB;YACpC,SAAS,IAAI,MAAM,CAAC,gBAAgB,EACpC,CAAC;YACD,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,UAAU,GACd,KAAK,IAAI,CAAC,mBAAmB,IAAI,KAAK,IAAI,mBAAmB;QAC3D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC9B,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAsB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GACd,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7E,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,UAA+B,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAoE;IAEpE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wEAAwE;IACxE,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,KAAK,KAAK,KAAK,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAA4B,CAAW;IAC9D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAM,CAAC,gCAAgC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,CAAC,CAAC,IAAI,EAAE,CAAA;QACR,OAAM;IACR,CAAC;IAED,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAC,IAAI,EAAE,CAAA;QACR,OAAM;IACR,CAAC;IAED,mFAAmF;IACnF,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,CAAkB,CAAA;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1E,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,OAAM;IACR,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,CAAe,EAAE,CAAe;IACzD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAE1C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IACjD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,CAAe,EAAE,CAAe;IAC3D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IACtC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACvB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAA;QACtB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IAC1B,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAQ,KAA4B,CAAC,QAAQ,CAAC,MAAM,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED,SAAS,MAAM,CAAC,KAAe,EAAE,KAAa;IAC5C,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,QAAQ,CAAA;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,KAAK,GAAG,UAAU,CAAC,KAAK,CAAiB,CAAA;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAE7B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAA2B,CAAA;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,KAAK,WAAW,CAAC,CAAA;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAiB,CAAA;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAE5C,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAK,KAA6C,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAgC,CAAC,QAAQ,KAAK,QAAQ;QAC9D,WAAW,IAAI,KAAK,EACpB,CAAC;QACD,OAAO,UAAU,CAAE,KAAgC,CAAC,SAAS,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,QAAsB;IAEtB,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IAElD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACjC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAA;gBACb,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,QAAsB;IAEtB,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IAElD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAErC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAA;IAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAA;gBACb,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB,EAAE,CAAS;IAC3D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IAE7B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,CAAS;IAC/D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAA;IAE7B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAC/B,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAmB,EAAE,GAAiB;IAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,CAAC,CAAA;IAE5C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,uDAAuD;QACvD,qDAAqD;QACrD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,KAAK,GAAG,KAAK,CAAA;gBACb,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,EAAE,CAAA;YACP,GAAG,IAAI,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,CAAA;QACP,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAA6B;IAChE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,uEAAuE;IACvE,OAAO,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;AAC1C,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,OAAO;IACrB,kFAAkF;IAClF,0DAA0D;IAC1D,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,3 +1,26 @@
1
+ function scheduleClosedChannelWake(wake) {
2
+ // Closed-channel wakeups represent goroutine scheduling, not an immediate
3
+ // Promise continuation. Keep them on a task boundary so goroutine work queued
4
+ // around the close can observe state published before the blocked receiver
5
+ // resumes.
6
+ setTimeout(wake, 0);
7
+ }
8
+ function completeUnbufferedReceive(resolveReceive, value) {
9
+ return new Promise((resolve) => {
10
+ queueMicrotask(() => {
11
+ resolveReceive(value);
12
+ queueMicrotask(resolve);
13
+ });
14
+ });
15
+ }
16
+ function completeUnbufferedReceiveWithOk(resolveReceive, result) {
17
+ return new Promise((resolve) => {
18
+ queueMicrotask(() => {
19
+ resolveReceive(result);
20
+ queueMicrotask(resolve);
21
+ });
22
+ });
23
+ }
1
24
  const selectVoidReturnMarker = '__goscriptSelectVoidReturn';
2
25
  export function selectVoidReturn() {
3
26
  return { [selectVoidReturnMarker]: true };
@@ -195,13 +218,14 @@ class BufferedChannel {
195
218
  // Attempt to hand off to a waiting receiver (rendezvous)
196
219
  if (this.receivers.length > 0) {
197
220
  const receiverTask = this.receivers.shift();
198
- queueMicrotask(() => receiverTask.resolveReceive(value));
199
- return;
221
+ return completeUnbufferedReceive(receiverTask.resolveReceive, value);
200
222
  }
201
223
  if (this.receiversWithOk.length > 0) {
202
224
  const receiverTask = this.receiversWithOk.shift();
203
- queueMicrotask(() => receiverTask.resolveReceive({ value, ok: true }));
204
- return;
225
+ return completeUnbufferedReceiveWithOk(receiverTask.resolveReceive, {
226
+ value,
227
+ ok: true,
228
+ });
205
229
  }
206
230
  // If no waiting receivers, try to buffer if space is available
207
231
  if (this.buffer.length < this.capacity) {
@@ -328,12 +352,15 @@ class BufferedChannel {
328
352
  }
329
353
  if (this.receivers.length > 0) {
330
354
  const receiverTask = this.receivers.shift();
331
- queueMicrotask(() => receiverTask.resolveReceive(value));
355
+ await completeUnbufferedReceive(receiverTask.resolveReceive, value);
332
356
  return { value: true, ok: true, id };
333
357
  }
334
358
  if (this.receiversWithOk.length > 0) {
335
359
  const receiverTask = this.receiversWithOk.shift();
336
- queueMicrotask(() => receiverTask.resolveReceive({ value, ok: true }));
360
+ await completeUnbufferedReceiveWithOk(receiverTask.resolveReceive, {
361
+ value,
362
+ ok: true,
363
+ });
337
364
  return { value: true, ok: true, id };
338
365
  }
339
366
  if (this.buffer.length < this.capacity) {
@@ -388,17 +415,17 @@ class BufferedChannel {
388
415
  const sendersToNotify = [...this.senders]; // Shallow copy for iteration
389
416
  this.senders = [];
390
417
  for (const senderTask of sendersToNotify) {
391
- queueMicrotask(() => senderTask.rejectSend(new Error('send on closed channel')));
418
+ scheduleClosedChannelWake(() => senderTask.rejectSend(new Error('send on closed channel')));
392
419
  }
393
420
  const receiversToNotify = [...this.receivers];
394
421
  this.receivers = [];
395
422
  for (const receiverTask of receiversToNotify) {
396
- queueMicrotask(() => receiverTask.resolveReceive(this.zeroValue));
423
+ scheduleClosedChannelWake(() => receiverTask.resolveReceive(this.zeroValue));
397
424
  }
398
425
  const receiversWithOkToNotify = [...this.receiversWithOk];
399
426
  this.receiversWithOk = [];
400
427
  for (const receiverTask of receiversWithOkToNotify) {
401
- queueMicrotask(() => receiverTask.resolveReceive({ value: this.zeroValue, ok: false }));
428
+ scheduleClosedChannelWake(() => receiverTask.resolveReceive({ value: this.zeroValue, ok: false }));
402
429
  }
403
430
  }
404
431
  canReceiveNonBlocking() {
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../gs/builtin/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../gs/builtin/channel.ts"],"names":[],"mappings":"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"}
@@ -1245,6 +1245,11 @@ function collectionValue(value) {
1245
1245
  if (isVarRef(value)) {
1246
1246
  return collectionValue(value.value);
1247
1247
  }
1248
+ if (typeof value === 'object' &&
1249
+ value !== null &&
1250
+ value.__isTypedNil === true) {
1251
+ return null;
1252
+ }
1248
1253
  if (typeof value === 'object' &&
1249
1254
  value !== null &&
1250
1255
  typeof value.__goType === 'string' &&