@secondlayer/stacks 6.6.0 → 7.0.0

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 (99) hide show
  1. package/dist/shared/{stacks-esm-p3rrvmd8.js → stacks-esm-0t9vwtwh.js} +9 -9
  2. package/dist/shared/{stacks-esm-75qv0d9h.js → stacks-esm-1f46cr7b.js} +6 -6
  3. package/dist/shared/{stacks-esm-2cac1jn9.js → stacks-esm-2z40q8gs.js} +4 -4
  4. package/dist/shared/{stacks-esm-ev07d2aw.js → stacks-esm-4rjjsz3p.js} +3 -3
  5. package/dist/shared/{stacks-esm-5eq7meyt.js → stacks-esm-8p8xy3dz.js} +16 -4
  6. package/dist/shared/stacks-esm-8p8xy3dz.js.map +12 -0
  7. package/dist/shared/{stacks-esm-h82jj95c.js → stacks-esm-9ptct1c4.js} +3 -3
  8. package/dist/shared/{stacks-esm-qasbsv66.js → stacks-esm-a7apmjbk.js} +2 -2
  9. package/dist/shared/{stacks-esm-1nfzrepv.js → stacks-esm-brtqryjb.js} +4 -4
  10. package/dist/shared/{stacks-esm-pc20c78w.js → stacks-esm-e63kx7dq.js} +3 -3
  11. package/dist/shared/{stacks-esm-tsb8h0yr.js → stacks-esm-eep45e8s.js} +2 -2
  12. package/dist/shared/{stacks-esm-wnxhfx93.js → stacks-esm-fmq4j4ez.js} +2 -2
  13. package/dist/shared/{stacks-esm-7tc40d6t.js → stacks-esm-h60faj2n.js} +2 -2
  14. package/dist/shared/{stacks-esm-6zfssx7v.js → stacks-esm-hcaycch3.js} +3 -3
  15. package/dist/shared/{stacks-esm-cs4419br.js → stacks-esm-jwgtksgq.js} +32 -15
  16. package/dist/shared/stacks-esm-jwgtksgq.js.map +15 -0
  17. package/dist/shared/{stacks-esm-8chm2wtn.js → stacks-esm-m8ph0bvw.js} +7 -7
  18. package/dist/shared/{stacks-esm-hm7kb2cp.js → stacks-esm-mqhwqhq4.js} +4 -4
  19. package/dist/shared/{stacks-esm-tfechw5c.js → stacks-esm-nqkwt2z7.js} +2 -2
  20. package/dist/shared/{stacks-esm-mmvrwreq.js → stacks-esm-wjg9aer9.js} +4 -4
  21. package/dist/shared/{stacks-esm-scq242d9.js → stacks-esm-zsdw7fq3.js} +3 -3
  22. package/dist/src/accounts/index.cjs +14 -2
  23. package/dist/src/accounts/index.cjs.map +3 -3
  24. package/dist/src/accounts/index.js +2 -2
  25. package/dist/src/actions/index.cjs +41 -13
  26. package/dist/src/actions/index.cjs.map +5 -5
  27. package/dist/src/actions/index.js +12 -12
  28. package/dist/src/bitcoin/index.cjs +41 -13
  29. package/dist/src/bitcoin/index.cjs.map +5 -5
  30. package/dist/src/bitcoin/index.js +10 -10
  31. package/dist/src/bns/index.cjs +41 -13
  32. package/dist/src/bns/index.cjs.map +5 -5
  33. package/dist/src/bns/index.js +12 -12
  34. package/dist/src/clarity/index.cjs +41 -13
  35. package/dist/src/clarity/index.cjs.map +5 -5
  36. package/dist/src/clarity/index.js +6 -6
  37. package/dist/src/connect/index.cjs +30 -7
  38. package/dist/src/connect/index.cjs.map +5 -5
  39. package/dist/src/connect/index.js +30 -7
  40. package/dist/src/connect/index.js.map +5 -5
  41. package/dist/src/connect/walletconnect/index.cjs +3 -1
  42. package/dist/src/connect/walletconnect/index.cjs.map +3 -3
  43. package/dist/src/connect/walletconnect/index.js +3 -1
  44. package/dist/src/connect/walletconnect/index.js.map +3 -3
  45. package/dist/src/filters/index.cjs +14 -2
  46. package/dist/src/filters/index.cjs.map +3 -3
  47. package/dist/src/filters/index.d.cts +2 -2
  48. package/dist/src/filters/index.d.ts +2 -2
  49. package/dist/src/filters/index.js +3 -3
  50. package/dist/src/index.cjs +44 -16
  51. package/dist/src/index.cjs.map +5 -5
  52. package/dist/src/index.d.cts +2 -2
  53. package/dist/src/index.d.ts +2 -2
  54. package/dist/src/index.js +11 -11
  55. package/dist/src/postconditions/index.cjs +41 -13
  56. package/dist/src/postconditions/index.cjs.map +5 -5
  57. package/dist/src/postconditions/index.js +5 -5
  58. package/dist/src/pox/index.cjs +41 -13
  59. package/dist/src/pox/index.cjs.map +5 -5
  60. package/dist/src/pox/index.js +12 -12
  61. package/dist/src/pox5/index.cjs +41 -13
  62. package/dist/src/pox5/index.cjs.map +5 -5
  63. package/dist/src/pox5/index.js +14 -14
  64. package/dist/src/sbtc/index.cjs +41 -13
  65. package/dist/src/sbtc/index.cjs.map +5 -5
  66. package/dist/src/sbtc/index.js +12 -12
  67. package/dist/src/simnet/index.cjs +44 -16
  68. package/dist/src/simnet/index.cjs.map +5 -5
  69. package/dist/src/simnet/index.js +44 -16
  70. package/dist/src/simnet/index.js.map +5 -5
  71. package/dist/src/stackingdao/index.cjs +41 -13
  72. package/dist/src/stackingdao/index.cjs.map +5 -5
  73. package/dist/src/stackingdao/index.js +10 -10
  74. package/dist/src/transactions/index.cjs +44 -16
  75. package/dist/src/transactions/index.cjs.map +5 -5
  76. package/dist/src/transactions/index.js +5 -5
  77. package/dist/src/utils/index.cjs +14 -2
  78. package/dist/src/utils/index.cjs.map +3 -3
  79. package/dist/src/utils/index.js +2 -2
  80. package/package.json +1 -1
  81. package/dist/shared/stacks-esm-5eq7meyt.js.map +0 -12
  82. package/dist/shared/stacks-esm-cs4419br.js.map +0 -15
  83. /package/dist/shared/{stacks-esm-p3rrvmd8.js.map → stacks-esm-0t9vwtwh.js.map} +0 -0
  84. /package/dist/shared/{stacks-esm-75qv0d9h.js.map → stacks-esm-1f46cr7b.js.map} +0 -0
  85. /package/dist/shared/{stacks-esm-2cac1jn9.js.map → stacks-esm-2z40q8gs.js.map} +0 -0
  86. /package/dist/shared/{stacks-esm-ev07d2aw.js.map → stacks-esm-4rjjsz3p.js.map} +0 -0
  87. /package/dist/shared/{stacks-esm-h82jj95c.js.map → stacks-esm-9ptct1c4.js.map} +0 -0
  88. /package/dist/shared/{stacks-esm-qasbsv66.js.map → stacks-esm-a7apmjbk.js.map} +0 -0
  89. /package/dist/shared/{stacks-esm-1nfzrepv.js.map → stacks-esm-brtqryjb.js.map} +0 -0
  90. /package/dist/shared/{stacks-esm-pc20c78w.js.map → stacks-esm-e63kx7dq.js.map} +0 -0
  91. /package/dist/shared/{stacks-esm-tsb8h0yr.js.map → stacks-esm-eep45e8s.js.map} +0 -0
  92. /package/dist/shared/{stacks-esm-wnxhfx93.js.map → stacks-esm-fmq4j4ez.js.map} +0 -0
  93. /package/dist/shared/{stacks-esm-7tc40d6t.js.map → stacks-esm-h60faj2n.js.map} +0 -0
  94. /package/dist/shared/{stacks-esm-6zfssx7v.js.map → stacks-esm-hcaycch3.js.map} +0 -0
  95. /package/dist/shared/{stacks-esm-8chm2wtn.js.map → stacks-esm-m8ph0bvw.js.map} +0 -0
  96. /package/dist/shared/{stacks-esm-hm7kb2cp.js.map → stacks-esm-mqhwqhq4.js.map} +0 -0
  97. /package/dist/shared/{stacks-esm-tfechw5c.js.map → stacks-esm-nqkwt2z7.js.map} +0 -0
  98. /package/dist/shared/{stacks-esm-mmvrwreq.js.map → stacks-esm-wjg9aer9.js.map} +0 -0
  99. /package/dist/shared/{stacks-esm-scq242d9.js.map → stacks-esm-zsdw7fq3.js.map} +0 -0
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "type CamelCaseInner<S extends string> =\n\tS extends `${infer P1}-${infer P2}${infer P3}`\n\t\t? `${P1}${Capitalize<CamelCaseInner<`${P2}${P3}`>>}`\n\t\t: S;\n\nexport type ToCamelCase<S extends string> =\n\tCamelCaseInner<S> extends `${number}${string}`\n\t\t? `_${CamelCaseInner<S>}`\n\t\t: CamelCaseInner<S>;\n\nexport function toCamelCase(str: string): string {\n\treturn str\n\t\t.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase())\n\t\t.replace(/-([A-Z])/g, (_, letter) => letter)\n\t\t.replace(/-(\\d)/g, (_, digit) => digit)\n\t\t.replace(/-/g, \"\")\n\t\t.replace(/^\\d/, \"_$&\");\n}\n",
6
6
  "import { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex, hexToBytes } from \"./encoding.ts\";\n\nconst C32 = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\";\nconst HEX = \"0123456789abcdef\";\n\nfunction c32normalize(input: string): string {\n\treturn input.toUpperCase().replace(/O/g, \"0\").replace(/L|I/g, \"1\");\n}\n\nfunction c32encode(inputHex: string): string {\n\tlet hex = inputHex;\n\tif (hex.length % 2 !== 0) hex = `0${hex}`;\n\thex = hex.toLowerCase();\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tfor (let i = hex.length - 1; i >= 0; i--) {\n\t\tif (carry < 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst currentCode = HEX.indexOf(hex[i]!) >> carry;\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tconst nextCode = i !== 0 ? HEX.indexOf(hex[i - 1]!) : 0;\n\t\t\tconst nextBits = 1 + carry;\n\t\t\tconst nextLowBits = (nextCode % (1 << nextBits)) << (5 - nextBits);\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(C32[currentCode + nextLowBits]!);\n\t\t\tcarry = nextBits;\n\t\t} else {\n\t\t\tcarry = 0;\n\t\t}\n\t}\n\n\t// Strip leading c32 zeros\n\tlet leadingZeros = 0;\n\twhile (leadingZeros < res.length && res[leadingZeros] === \"0\") leadingZeros++;\n\tconst stripped = res.slice(leadingZeros);\n\n\t// Preserve leading zero bytes from hex\n\tconst bytes = hexToBytes(hex);\n\tlet zeroBytesCount = 0;\n\twhile (zeroBytesCount < bytes.length && bytes[zeroBytesCount] === 0)\n\t\tzeroBytesCount++;\n\tconst prefix = Array(zeroBytesCount).fill(C32[0]) as string[];\n\n\treturn [...prefix, ...stripped].join(\"\");\n}\n\nfunction c32decode(c32input: string): string {\n\tconst input = c32normalize(c32input);\n\tif (!input.match(`^[${C32}]*$`)) throw new Error(\"Not a c32-encoded string\");\n\n\tconst zeroPrefix = input.match(`^${C32[0]}*`);\n\tconst numLeadingZeroBytes = zeroPrefix ? zeroPrefix[0]?.length : 0;\n\n\tconst res: string[] = [];\n\tlet carry = 0;\n\tlet carryBits = 0;\n\tfor (let i = input.length - 1; i >= 0; i--) {\n\t\tif (carryBits === 4) {\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tres.unshift(HEX[carry]!);\n\t\t\tcarryBits = 0;\n\t\t\tcarry = 0;\n\t\t}\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tconst currentValue = (C32.indexOf(input[i]!) << carryBits) + carry;\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\tres.unshift(HEX[currentValue % 16]!);\n\t\tcarryBits += 1;\n\t\tcarry = currentValue >> 4;\n\t\tif (carry > 1 << carryBits) throw new Error(\"Panic error in c32 decoding\");\n\t}\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tres.unshift(HEX[carry]!);\n\n\tif (res.length % 2 === 1) res.unshift(\"0\");\n\n\t// Strip leading hex zeros\n\tlet hexLeadingZeros = 0;\n\twhile (hexLeadingZeros < res.length && res[hexLeadingZeros] === \"0\")\n\t\thexLeadingZeros++;\n\tlet hexStr = res.slice(hexLeadingZeros - (hexLeadingZeros % 2)).join(\"\");\n\n\tfor (let i = 0; i < numLeadingZeroBytes; i++) hexStr = `00${hexStr}`;\n\n\treturn hexStr;\n}\n\nfunction c32checksum(dataHex: string): string {\n\treturn bytesToHex(sha256(sha256(hexToBytes(dataHex))).slice(0, 4));\n}\n\nfunction c32checkEncode(version: number, data: string): string {\n\tif (version < 0 || version >= 32)\n\t\tthrow new Error(\"Invalid version (must be between 0 and 31)\");\n\tif (!data.match(/^[0-9a-fA-F]*$/))\n\t\tthrow new Error(\"Invalid data (not a hex string)\");\n\n\tlet d = data.toLowerCase();\n\tif (d.length % 2 !== 0) d = `0${d}`;\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tconst checksumHex = c32checksum(`${versionHex}${d}`);\n\treturn `${C32[version]}${c32encode(`${d}${checksumHex}`)}`;\n}\n\nfunction c32checkDecode(c32data: string): [number, string] {\n\tconst normalized = c32normalize(c32data);\n\tconst dataHex = c32decode(normalized.slice(1));\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tconst version = C32.indexOf(normalized[0]!);\n\tconst checksum = dataHex.slice(-8);\n\n\tlet versionHex = version.toString(16);\n\tif (versionHex.length === 1) versionHex = `0${versionHex}`;\n\n\tif (\n\t\tc32checksum(`${versionHex}${dataHex.substring(0, dataHex.length - 8)}`) !==\n\t\tchecksum\n\t) {\n\t\tthrow new Error(\"Invalid c32check string: checksum mismatch\");\n\t}\n\n\treturn [version, dataHex.substring(0, dataHex.length - 8)];\n}\n\nexport function c32address(version: number, hash160hex: string): string {\n\tif (!hash160hex.match(/^[0-9a-fA-F]{40}$/)) {\n\t\tthrow new Error(\"Invalid argument: not a hash160 hex string\");\n\t}\n\treturn `S${c32checkEncode(version, hash160hex)}`;\n}\n\nexport function c32addressDecode(c32addr: string): [number, string] {\n\tif (c32addr.length <= 5)\n\t\tthrow new Error(\"Invalid c32 address: invalid length\");\n\tif (c32addr[0] !== \"S\")\n\t\tthrow new Error('Invalid c32 address: must start with \"S\"');\n\treturn c32checkDecode(c32addr.slice(1));\n}\n",
7
- "const hexes = Array.from({ length: 256 }, (_, i) =>\n\ti.toString(16).padStart(2, \"0\"),\n);\n\nexport function bytesToHex(bytes: Uint8Array): string {\n\tlet hex = \"\";\n\tfor (const b of bytes) {\n\t\thex += hexes[b];\n\t}\n\treturn hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n\tlet h = without0x(hex);\n\tif (h.length % 2) h = `0${h}`;\n\n\tconst array = new Uint8Array(h.length / 2);\n\tfor (let i = 0; i < array.length; i++) {\n\t\tconst j = i * 2;\n\t\tconst byte = Number.parseInt(h.slice(j, j + 2), 16);\n\t\tif (Number.isNaN(byte) || byte < 0)\n\t\t\tthrow new Error(\"Invalid byte sequence\");\n\t\tarray[i] = byte;\n\t}\n\treturn array;\n}\n\nexport function with0x(value: string): string {\n\treturn /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n\treturn /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n\treturn new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n\treturn new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n\tconst bytes = new Uint8Array(str.length);\n\tfor (let i = 0; i < str.length; i++) {\n\t\tbytes[i] = str.charCodeAt(i) & 0xff;\n\t}\n\treturn bytes;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n\treturn String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tif (arrays.length === 1) return arrays[0]!;\n\tconst length = arrays.reduce((a, arr) => a + arr.length, 0);\n\tconst result = new Uint8Array(length);\n\tlet pad = 0;\n\tfor (const arr of arrays) {\n\t\tresult.set(arr, pad);\n\t\tpad += arr.length;\n\t}\n\treturn result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n\tif (typeof value === \"bigint\") return value;\n\tif (typeof value === \"string\") return BigInt(value);\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isInteger(value))\n\t\t\tthrow new RangeError(\"Values of type 'number' must be an integer.\");\n\t\tif (value > Number.MAX_SAFE_INTEGER)\n\t\t\tthrow new RangeError(\n\t\t\t\t`Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`,\n\t\t\t);\n\t\treturn BigInt(value);\n\t}\n\tif (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n\tthrow new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n\treturn bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length = 16): Uint8Array {\n\tconst hex = value.toString(16).padStart(length * 2, \"0\");\n\treturn hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n\tconst value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n\treturn value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n\tconst limit = BigInt(1) << (width - BigInt(1));\n\tif (value < -limit || value > limit - BigInt(1)) {\n\t\tthrow new Error(`Unable to represent integer in width: ${width}`);\n\t}\n\tif (value >= BigInt(0)) return value;\n\treturn value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n\tif (value & (BigInt(1) << (width - BigInt(1)))) {\n\t\treturn value - (BigInt(1) << width);\n\t}\n\treturn value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n\tif (bytes.length === 0) return 0n;\n\tconst hex = bytesToHex(bytes);\n\tif (hex.length === 0) return 0n;\n\treturn fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));\n}\n\nexport function writeUInt32BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(4);\n\tbuf[0] = (value >>> 24) & 0xff;\n\tbuf[1] = (value >>> 16) & 0xff;\n\tbuf[2] = (value >>> 8) & 0xff;\n\tbuf[3] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt32BE(bytes: Uint8Array, offset = 0): number {\n\treturn (\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t((bytes[offset]! << 24) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 1]! << 16) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 2]! << 8) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tbytes[offset + 3]!) >>>\n\t\t0\n\t);\n}\n\nexport function writeUInt16BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(2);\n\tbuf[0] = (value >>> 8) & 0xff;\n\tbuf[1] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt16BE(bytes: Uint8Array, offset = 0): number {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\treturn ((bytes[offset]! << 8) | bytes[offset + 1]!) >>> 0;\n}\n\nexport function writeUInt8(value: number): Uint8Array {\n\treturn new Uint8Array([value & 0xff]);\n}\n",
7
+ "const hexes = Array.from({ length: 256 }, (_, i) =>\n\ti.toString(16).padStart(2, \"0\"),\n);\n\nexport function bytesToHex(bytes: Uint8Array): string {\n\tlet hex = \"\";\n\tfor (const b of bytes) {\n\t\thex += hexes[b];\n\t}\n\treturn hex;\n}\n\nexport function hexToBytes(hex: string): Uint8Array {\n\tlet h = without0x(hex);\n\t// parseInt reads \"1g\" as 1, so the whole string is checked first.\n\tif (!/^[0-9a-fA-F]*$/.test(h)) throw new Error(\"Invalid byte sequence\");\n\tif (h.length % 2) h = `0${h}`;\n\n\tconst array = new Uint8Array(h.length / 2);\n\tfor (let i = 0; i < array.length; i++) {\n\t\tconst j = i * 2;\n\t\tconst byte = Number.parseInt(h.slice(j, j + 2), 16);\n\t\tif (Number.isNaN(byte) || byte < 0)\n\t\t\tthrow new Error(\"Invalid byte sequence\");\n\t\tarray[i] = byte;\n\t}\n\treturn array;\n}\n\nexport function with0x(value: string): string {\n\treturn /^0x/i.test(value) ? value : `0x${value}`;\n}\n\nexport function without0x(value: string): string {\n\treturn /^0x/i.test(value) ? value.slice(2) : value;\n}\n\nexport function utf8ToBytes(str: string): Uint8Array {\n\treturn new TextEncoder().encode(str);\n}\n\nexport function bytesToUtf8(bytes: Uint8Array): string {\n\treturn new TextDecoder().decode(bytes);\n}\n\nexport function asciiToBytes(str: string): Uint8Array {\n\tconst bytes = new Uint8Array(str.length);\n\tfor (let i = 0; i < str.length; i++) {\n\t\tbytes[i] = str.charCodeAt(i) & 0xff;\n\t}\n\treturn bytes;\n}\n\n/** Whether every character is 7-bit ASCII. */\nexport function isAscii(str: string): boolean {\n\tfor (let i = 0; i < str.length; i++) {\n\t\tif (str.charCodeAt(i) > 0x7f) return false;\n\t}\n\treturn true;\n}\n\nexport function bytesToAscii(bytes: Uint8Array): string {\n\treturn String.fromCharCode(...bytes);\n}\n\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\tif (arrays.length === 1) return arrays[0]!;\n\tconst length = arrays.reduce((a, arr) => a + arr.length, 0);\n\tconst result = new Uint8Array(length);\n\tlet pad = 0;\n\tfor (const arr of arrays) {\n\t\tresult.set(arr, pad);\n\t\tpad += arr.length;\n\t}\n\treturn result;\n}\n\nexport type IntegerType = number | string | bigint | Uint8Array;\n\nexport function intToBigInt(value: IntegerType): bigint {\n\tif (typeof value === \"bigint\") return value;\n\tif (typeof value === \"string\") {\n\t\t// BigInt(\"\") is 0n; an empty or blank string is not a number.\n\t\tif (value.trim() === \"\")\n\t\t\tthrow new SyntaxError(\"Cannot convert an empty string to an integer\");\n\t\treturn BigInt(value);\n\t}\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isInteger(value))\n\t\t\tthrow new RangeError(\"Values of type 'number' must be an integer.\");\n\t\tif (value > Number.MAX_SAFE_INTEGER)\n\t\t\tthrow new RangeError(\n\t\t\t\t`Values of type 'number' must be <= ${Number.MAX_SAFE_INTEGER}. Use BigInt instead.`,\n\t\t\t);\n\t\treturn BigInt(value);\n\t}\n\tif (value instanceof Uint8Array) return BigInt(`0x${bytesToHex(value)}`);\n\tthrow new TypeError(\"Must be a number, bigint, string, or Uint8Array.\");\n}\n\nexport function intToBytes(value: IntegerType, byteLength: number): Uint8Array {\n\treturn bigIntToBytes(intToBigInt(value), byteLength);\n}\n\nexport function bigIntToBytes(value: bigint, length = 16): Uint8Array {\n\tconst hex = value.toString(16).padStart(length * 2, \"0\");\n\treturn hexToBytes(hex);\n}\n\nexport function intToHex(integer: IntegerType, byteLength = 8): string {\n\tconst value = typeof integer === \"bigint\" ? integer : intToBigInt(integer);\n\treturn value.toString(16).padStart(byteLength * 2, \"0\");\n}\n\nexport function toTwos(value: bigint, width: bigint): bigint {\n\tconst limit = BigInt(1) << (width - BigInt(1));\n\tif (value < -limit || value > limit - BigInt(1)) {\n\t\tthrow new Error(`Unable to represent integer in width: ${width}`);\n\t}\n\tif (value >= BigInt(0)) return value;\n\treturn value + (BigInt(1) << width);\n}\n\nexport function fromTwos(value: bigint, width: bigint): bigint {\n\tif (value & (BigInt(1) << (width - BigInt(1)))) {\n\t\treturn value - (BigInt(1) << width);\n\t}\n\treturn value;\n}\n\nexport function bytesToTwosBigInt(bytes: Uint8Array): bigint {\n\tif (bytes.length === 0) return 0n;\n\tconst hex = bytesToHex(bytes);\n\tif (hex.length === 0) return 0n;\n\treturn fromTwos(BigInt(`0x${hex}`), BigInt(bytes.byteLength * 8));\n}\n\nexport function writeUInt32BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(4);\n\tbuf[0] = (value >>> 24) & 0xff;\n\tbuf[1] = (value >>> 16) & 0xff;\n\tbuf[2] = (value >>> 8) & 0xff;\n\tbuf[3] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt32BE(bytes: Uint8Array, offset = 0): number {\n\treturn (\n\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t((bytes[offset]! << 24) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 1]! << 16) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\t(bytes[offset + 2]! << 8) |\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\t\t\tbytes[offset + 3]!) >>>\n\t\t0\n\t);\n}\n\nexport function writeUInt16BE(value: number): Uint8Array {\n\tconst buf = new Uint8Array(2);\n\tbuf[0] = (value >>> 8) & 0xff;\n\tbuf[1] = value & 0xff;\n\treturn buf;\n}\n\nexport function readUInt16BE(bytes: Uint8Array, offset = 0): number {\n\t// biome-ignore lint/style/noNonNullAssertion: bit-encoding routine where index is provably bounded by surrounding loop/length checks\n\treturn ((bytes[offset]! << 8) | bytes[offset + 1]!) >>> 0;\n}\n\nexport function writeUInt8(value: number): Uint8Array {\n\treturn new Uint8Array([value & 0xff]);\n}\n",
8
8
  "// Clarity integer bounds\nexport const MAX_U128: bigint = (1n << 128n) - 1n;\nexport const MAX_I128: bigint = (1n << 127n) - 1n;\nexport const MIN_I128: bigint = -(1n << 127n);\n\n/** C32-encoded address version bytes for single-sig and multi-sig on each network. */\nexport const AddressVersion = {\n\tMainnetSingleSig: 22,\n\tMainnetMultiSig: 20,\n\tTestnetSingleSig: 26,\n\tTestnetMultiSig: 21,\n} as const;\nexport type AddressVersion =\n\t(typeof AddressVersion)[keyof typeof AddressVersion];\n\n/** Mainnet burn address (all-zero hash160). */\nexport const ZERO_ADDRESS = \"SP000000000000000000002Q6VF78\";\n/** Testnet burn address (all-zero hash160). */\nexport const TESTNET_ZERO_ADDRESS = \"ST000000000000000000002AMW42H\";\n\n/** Number of microSTX per 1 STX (10^6). */\nexport const MICROSTX_PER_STX = 1_000_000n;\n",
9
9
  "import { ripemd160 } from \"@noble/hashes/legacy.js\";\nimport { sha256 } from \"@noble/hashes/sha2.js\";\nimport { sha512_256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex } from \"./encoding.ts\";\n\nexport { sha256, sha512_256, ripemd160 };\n\n/** RIPEMD160(SHA256(input)) — standard Bitcoin/Stacks address hash */\nexport function hash160(input: Uint8Array): Uint8Array {\n\treturn ripemd160(sha256(input));\n}\n\n/** Hash used for transaction IDs */\nexport function txidFromBytes(data: Uint8Array): string {\n\treturn bytesToHex(sha512_256(data));\n}\n\n/** hash160 as hex — used for P2PKH address derivation */\nexport function hashP2PKH(input: Uint8Array): string {\n\treturn bytesToHex(hash160(input));\n}\n",
10
10
  "import { c32address, c32addressDecode } from \"./c32.ts\";\nimport { AddressVersion } from \"./constants.ts\";\nimport { bytesToHex, hexToBytes, without0x } from \"./encoding.ts\";\nimport { hash160 } from \"./hash.ts\";\n\nexport { c32address, c32addressDecode };\n\n/**\n * Derive the single-sig Stacks address for a compressed public key.\n */\nexport function publicKeyToAddress(\n\tpublicKey: string | Uint8Array,\n\tnetwork: \"mainnet\" | \"testnet\" = \"mainnet\",\n): string {\n\tconst bytes =\n\t\ttypeof publicKey === \"string\"\n\t\t\t? hexToBytes(without0x(publicKey))\n\t\t\t: publicKey;\n\tconst version =\n\t\tnetwork === \"mainnet\"\n\t\t\t? AddressVersion.MainnetSingleSig\n\t\t\t: AddressVersion.TestnetSingleSig;\n\treturn c32address(version, bytesToHex(hash160(bytes)));\n}\n\n/** Clarity contract-name grammar: leading letter, then letters/digits/`-`/`_`.\n * Underscore is legal (SIP-002) and deployed contracts use it — matches the\n * pattern the Index API already accepts for contract ids. */\nexport const CONTRACT_NAME_REGEX: RegExp = /^[a-zA-Z][a-zA-Z0-9_-]{0,127}$/;\n\nexport function validateStacksAddress(address: string): boolean {\n\ttry {\n\t\tc32addressDecode(address);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/** Alias for validateStacksAddress — matches future.md naming. */\nexport const isValidAddress: (address: string) => boolean =\n\tvalidateStacksAddress;\n\n/** Parse a principal into its parts, or null when malformed. The single\n * definition of \"valid principal\" for this package: exactly one optional\n * `.name` segment (never two), a c32-decodable address, and a contract name\n * matching the Clarity grammar. */\nexport function parsePrincipal(\n\tvalue: string,\n): { address: string; contractName?: string } | null {\n\tconst parts = value.split(\".\");\n\tif (parts.length > 2) return null;\n\tconst [address, contractName] = parts as [string, string | undefined];\n\tif (!validateStacksAddress(address)) return null;\n\tif (contractName === undefined) return { address };\n\tif (!CONTRACT_NAME_REGEX.test(contractName)) return null;\n\treturn { address, contractName };\n}\n\n/** Split `address.name` into its parts. Throws on anything `parsePrincipal`\n * rejects, and on a bare address with no contract name. */\nexport function parseContractId(contractId: string): [string, string] {\n\tconst parsed = parsePrincipal(contractId);\n\tif (!parsed?.contractName)\n\t\tthrow new Error(`Invalid contract identifier: ${contractId}`);\n\treturn [parsed.address, parsed.contractName];\n}\n\nexport function isClarityName(name: string): boolean {\n\tconst regex = /^[a-zA-Z]([a-zA-Z0-9]|[-_!?+<>=/*])*$|^[-+=/*]$|^[<>]=?$/;\n\treturn regex.test(name) && name.length < 128;\n}\n\n/**\n * Compare two Stacks addresses for equality (case-insensitive, version-aware).\n * Throws if either address is invalid.\n */\nexport function isAddressEqual(a: string, b: string): boolean {\n\tconst [versionA, hashA] = c32addressDecode(a);\n\tconst [versionB, hashB] = c32addressDecode(b);\n\treturn versionA === versionB && hashA.toLowerCase() === hashB.toLowerCase();\n}\n\n/** Extract the version byte from a Stacks address (22, 20, 26, or 21). */\nexport function addressToVersion(address: string): number {\n\treturn c32addressDecode(address)[0];\n}\n\n/**\n * Build a contract address from deployer + contract name.\n * Validates both parts; returns `deployer.contractName`.\n */\nexport function getContractAddress(\n\tdeployer: string,\n\tcontractName: string,\n): string {\n\tif (!validateStacksAddress(deployer)) {\n\t\tthrow new Error(`Invalid deployer address: ${deployer}`);\n\t}\n\tif (!isClarityName(contractName)) {\n\t\tthrow new Error(`Invalid contract name: ${contractName}`);\n\t}\n\treturn `${deployer}.${contractName}`;\n}\n",
@@ -14,8 +14,8 @@
14
14
  "import { SerializationError } from \"../errors/transaction.ts\";\nimport { bytesToHex } from \"./encoding.ts\";\n\nexport class BytesReader {\n\tprivate data: Uint8Array;\n\tpublic offset = 0;\n\n\tconstructor(data: Uint8Array) {\n\t\tthis.data = data;\n\t}\n\n\t/** Bytes left after the cursor. */\n\tremaining(): number {\n\t\treturn this.data.length - this.offset;\n\t}\n\n\tprivate ensure(length: number): void {\n\t\tif (this.offset + length > this.data.length) {\n\t\t\tthrow new SerializationError(\n\t\t\t\t`Buffer underflow: need ${length} bytes at offset ${this.offset}, have ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\treadUInt8(): number {\n\t\tthis.ensure(1);\n\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\treturn this.data[this.offset++]!;\n\t}\n\n\treadUInt16BE(): number {\n\t\tthis.ensure(2);\n\t\tconst val =\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t((this.data[this.offset]! << 8) | this.data[this.offset + 1]!) >>> 0;\n\t\tthis.offset += 2;\n\t\treturn val;\n\t}\n\n\treadUInt32BE(): number {\n\t\tthis.ensure(4);\n\t\tconst val =\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t((this.data[this.offset]! << 24) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\t(this.data[this.offset + 1]! << 16) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\t(this.data[this.offset + 2]! << 8) |\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: bounds checked by ensure()\n\t\t\t\tthis.data[this.offset + 3]!) >>>\n\t\t\t0;\n\t\tthis.offset += 4;\n\t\treturn val;\n\t}\n\n\treadBytes(length: number): Uint8Array {\n\t\tthis.ensure(length);\n\t\tconst slice = this.data.slice(this.offset, this.offset + length);\n\t\tthis.offset += length;\n\t\treturn slice;\n\t}\n\n\treadBigUInt64BE(): bigint {\n\t\tconst hex = bytesToHex(this.readBytes(8));\n\t\treturn hex.length > 0 ? BigInt(`0x${hex}`) : 0n;\n\t}\n}\n",
15
15
  "export type ClarityType =\n\t| \"int\"\n\t| \"uint\"\n\t| \"buffer\"\n\t| \"true\"\n\t| \"false\"\n\t| \"address\"\n\t| \"contract\"\n\t| \"ok\"\n\t| \"err\"\n\t| \"none\"\n\t| \"some\"\n\t| \"list\"\n\t| \"tuple\"\n\t| \"ascii\"\n\t| \"utf8\";\n\n/** Wire type IDs matching the Stacks binary format (SIP-005) */\nexport const ClarityWireType = {\n\tint: 0x00,\n\tuint: 0x01,\n\tbuffer: 0x02,\n\ttrue: 0x03,\n\tfalse: 0x04,\n\taddress: 0x05,\n\tcontract: 0x06,\n\tok: 0x07,\n\terr: 0x08,\n\tnone: 0x09,\n\tsome: 0x0a,\n\tlist: 0x0b,\n\ttuple: 0x0c,\n\tascii: 0x0d,\n\tutf8: 0x0e,\n} as const satisfies Record<ClarityType, number>;\n\n/** Reverse lookup: wire byte → ClarityType string */\nconst wireTypeToClarity = Object.fromEntries(\n\tObject.entries(ClarityWireType).map(([k, v]) => [v, k]),\n) as Record<number, ClarityType>;\n\nexport function clarityTypeFromByte(byte: number): ClarityType {\n\tconst type = wireTypeToClarity[byte];\n\tif (!type) throw new Error(`Unknown clarity wire type: ${byte}`);\n\treturn type;\n}\n\n// CV types\n\nexport type IntCV = { readonly type: \"int\"; readonly value: bigint };\nexport type UIntCV = { readonly type: \"uint\"; readonly value: bigint };\nexport type BooleanCV = TrueCV | FalseCV;\nexport type TrueCV = { readonly type: \"true\" };\nexport type FalseCV = { readonly type: \"false\" };\nexport type BufferCV = { readonly type: \"buffer\"; readonly value: string }; // hex\nexport type NoneCV = { readonly type: \"none\" };\nexport type SomeCV = {\n\treadonly type: \"some\";\n\treadonly value: ClarityValue;\n};\nexport type OptionalCV = NoneCV | SomeCV;\nexport type ResponseOkCV = {\n\treadonly type: \"ok\";\n\treadonly value: ClarityValue;\n};\nexport type ResponseErrorCV = {\n\treadonly type: \"err\";\n\treadonly value: ClarityValue;\n};\nexport type ResponseCV = ResponseOkCV | ResponseErrorCV;\nexport type StandardPrincipalCV = {\n\treadonly type: \"address\";\n\treadonly value: string;\n};\nexport type ContractPrincipalCV = {\n\treadonly type: \"contract\";\n\treadonly value: string; // \"address.name\"\n};\nexport type PrincipalCV = StandardPrincipalCV | ContractPrincipalCV;\nexport type ListCV = {\n\ttype: \"list\";\n\tvalue: ClarityValue[];\n};\nexport type TupleData = {\n\t[key: string]: ClarityValue;\n};\nexport type TupleCV = {\n\ttype: \"tuple\";\n\tvalue: TupleData;\n};\nexport type StringAsciiCV = {\n\treadonly type: \"ascii\";\n\treadonly value: string;\n};\nexport type StringUtf8CV = {\n\treadonly type: \"utf8\";\n\treadonly value: string;\n};\n\nexport type ClarityValue =\n\t| IntCV\n\t| UIntCV\n\t| BooleanCV\n\t| BufferCV\n\t| NoneCV\n\t| SomeCV\n\t| ResponseOkCV\n\t| ResponseErrorCV\n\t| StandardPrincipalCV\n\t| ContractPrincipalCV\n\t| ListCV\n\t| TupleCV\n\t| StringAsciiCV\n\t| StringUtf8CV;\n",
16
16
  "import { SerializationError } from \"../errors/transaction.ts\";\nimport { BytesReader } from \"../utils/bytes-reader.ts\";\nimport { c32address } from \"../utils/c32.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\tbytesToUtf8,\n\thexToBytes,\n\twithout0x,\n} from \"../utils/encoding.ts\";\nimport { type ClarityValue, clarityTypeFromByte } from \"./types.ts\";\nimport {\n\tbufferCV,\n\tfalseCV,\n\tintCV,\n\tlistCV,\n\tnoneCV,\n\tresponseErrorCV,\n\tresponseOkCV,\n\tsomeCV,\n\tstringAsciiCV,\n\tstringUtf8CV,\n\ttrueCV,\n\ttupleCV,\n\tuintCV,\n} from \"./values.ts\";\n\nexport function readAddress(reader: BytesReader): string {\n\tconst version = reader.readUInt8();\n\tconst hash160 = bytesToHex(reader.readBytes(20));\n\treturn c32address(version, hash160);\n}\n\nexport function readLPString(reader: BytesReader, prefixBytes = 1): string {\n\tlet length = 0;\n\tfor (let i = 0; i < prefixBytes; i++) {\n\t\tlength = (length << 8) | reader.readUInt8();\n\t}\n\treturn bytesToUtf8(reader.readBytes(length));\n}\n\n/** Deepest nesting the deserializer follows before refusing the input. Clarity\n * itself caps value nesting far below this, so honest data never hits it;\n * hostile bytes that repeat `some`/`ok`/`list` would otherwise blow the stack. */\nexport const MAX_CV_DEPTH = 64;\n\n/** Every list item and tuple entry costs at least this many bytes on the wire\n * (a type byte, plus a name-length byte for tuple entries), so a declared\n * count that outruns the remaining bytes is corrupt before any allocation. */\nconst MIN_LIST_ITEM_BYTES = 1;\nconst MIN_TUPLE_ENTRY_BYTES = 2;\n\nfunction checkCount(reader: BytesReader, count: number, minBytes: number) {\n\tif (count * minBytes > reader.remaining()) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value declares ${count} elements but only ${reader.remaining()} bytes remain`,\n\t\t);\n\t}\n}\n\nexport function readCV(reader: BytesReader, depth = 0): ClarityValue {\n\tif (depth > MAX_CV_DEPTH) {\n\t\tthrow new SerializationError(\n\t\t\t`Clarity value nests deeper than ${MAX_CV_DEPTH} levels`,\n\t\t);\n\t}\n\tconst typeByte = reader.readUInt8();\n\tconst type = clarityTypeFromByte(typeByte);\n\n\tswitch (type) {\n\t\tcase \"int\":\n\t\t\treturn intCV(bytesToTwosBigInt(reader.readBytes(16)));\n\n\t\tcase \"uint\":\n\t\t\treturn uintCV(reader.readBytes(16));\n\n\t\tcase \"true\":\n\t\t\treturn trueCV();\n\n\t\tcase \"false\":\n\t\t\treturn falseCV();\n\n\t\tcase \"buffer\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn bufferCV(reader.readBytes(len));\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn noneCV();\n\n\t\tcase \"some\":\n\t\t\treturn someCV(readCV(reader, depth + 1));\n\n\t\tcase \"ok\":\n\t\t\treturn responseOkCV(readCV(reader, depth + 1));\n\n\t\tcase \"err\":\n\t\t\treturn responseErrorCV(readCV(reader, depth + 1));\n\n\t\t// readAddress c32-encodes canonical bytes, so the address is already\n\t\t// normalized. Building the CV directly skips the constructors'\n\t\t// decode→re-encode round trip (two more double-sha256 checksums per\n\t\t// principal), which dominated print decoding.\n\t\tcase \"address\":\n\t\t\treturn { type: \"address\", value: readAddress(reader) };\n\n\t\tcase \"contract\": {\n\t\t\tconst addr = readAddress(reader);\n\t\t\tconst name = readLPString(reader);\n\t\t\tif (new TextEncoder().encode(name).byteLength >= 128) {\n\t\t\t\tthrow new Error(\"Contract name must be less than 128 bytes\");\n\t\t\t}\n\t\t\treturn { type: \"contract\", value: `${addr}.${name}` };\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_LIST_ITEM_BYTES);\n\t\t\tconst items: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\titems.push(readCV(reader, depth + 1));\n\t\t\t}\n\t\t\treturn listCV(items);\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\tcheckCount(reader, len, MIN_TUPLE_ENTRY_BYTES);\n\t\t\tconst data: Record<string, ClarityValue> = {};\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst key = readLPString(reader);\n\t\t\t\tdata[key] = readCV(reader, depth + 1);\n\t\t\t}\n\t\t\treturn tupleCV(data);\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringAsciiCV(bytesToAscii(reader.readBytes(len)));\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst len = reader.readUInt32BE();\n\t\t\treturn stringUtf8CV(bytesToUtf8(reader.readBytes(len)));\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new SerializationError(\n\t\t\t\t`Cannot deserialize unknown clarity type: ${type}`,\n\t\t\t);\n\t}\n}\n\nexport function deserializeCVBytes<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readCV(new BytesReader(bytes)) as T;\n}\n\nexport function deserializeCV<T extends ClarityValue = ClarityValue>(\n\tinput: Uint8Array | string,\n): T {\n\treturn deserializeCVBytes(input);\n}\n",
17
- "import { c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\tasciiToBytes,\n\tbigIntToBytes,\n\tbytesToHex,\n\tconcatBytes,\n\thexToBytes,\n\tintToHex,\n\ttoTwos,\n\tutf8ToBytes,\n\twriteUInt32BE,\n} from \"../utils/encoding.ts\";\nimport {\n\ttype ClarityType,\n\ttype ClarityValue,\n\tClarityWireType,\n} from \"./types.ts\";\n\nconst CLARITY_INT_SIZE = 128n;\nconst CLARITY_INT_BYTE_SIZE = 16;\n\nfunction typeIdByte(type: ClarityType): number {\n\treturn ClarityWireType[type];\n}\n\nfunction withTypeId(type: ClarityType, bytes: Uint8Array): Uint8Array {\n\treturn concatBytes(new Uint8Array([typeIdByte(type)]), bytes);\n}\n\nfunction serializeAddress(c32Address: string): Uint8Array {\n\tconst [version, hash160] = c32addressDecode(c32Address);\n\treturn concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n\tconst content = utf8ToBytes(str);\n\tconst lengthPrefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n\treturn concatBytes(lengthPrefix, content);\n}\n\nexport function serializeCVBytes(value: ClarityValue): Uint8Array {\n\tswitch (value.type) {\n\t\tcase \"true\":\n\t\tcase \"false\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"int\": {\n\t\t\tconst bytes = bigIntToBytes(\n\t\t\t\ttoTwos(BigInt(value.value), CLARITY_INT_SIZE),\n\t\t\t\tCLARITY_INT_BYTE_SIZE,\n\t\t\t);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"uint\": {\n\t\t\tconst bytes = bigIntToBytes(BigInt(value.value), CLARITY_INT_BYTE_SIZE);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"buffer\": {\n\t\t\tconst bufBytes = hexToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(bufBytes.length), bufBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"some\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"ok\":\n\t\tcase \"err\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"address\":\n\t\t\treturn withTypeId(value.type, serializeAddress(value.value));\n\n\t\tcase \"contract\": {\n\t\t\tconst [addr, name] = value.value.split(\".\");\n\t\t\tif (!addr || !name)\n\t\t\t\tthrow new Error(`Invalid contract principal: ${value.value}`);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(serializeAddress(addr), serializeLPString(name)),\n\t\t\t);\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(value.value.length)];\n\t\t\tfor (const item of value.value) {\n\t\t\t\tparts.push(serializeCVBytes(item));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\t// Clarity orders tuple fields as a BTreeMap over the raw name bytes.\n\t\t\t// Code-unit comparison equals byte order for the ASCII name grammar;\n\t\t\t// localeCompare does not, and would change the SIP-018 hash.\n\t\t\tconst keys = Object.keys(value.value).sort((a, b) =>\n\t\t\t\ta < b ? -1 : a > b ? 1 : 0,\n\t\t\t);\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(keys.length)];\n\t\t\tfor (const key of keys) {\n\t\t\t\tparts.push(serializeLPString(key));\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: value is non-null after preceding check or by construction; TS narrowing limitation\n\t\t\t\tparts.push(serializeCVBytes(value.value[key]!));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tconst strBytes = asciiToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst strBytes = utf8ToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error(\"Cannot serialize unknown clarity type\");\n\t}\n}\n\nexport function serializeCV(value: ClarityValue): string {\n\treturn bytesToHex(serializeCVBytes(value));\n}\n",
18
- "import { isClarityName, parsePrincipal } from \"../utils/address.ts\";\nimport { c32address, c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\ttype IntegerType,\n\tasciiToBytes,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\thexToBytes,\n\tintToBigInt,\n\tutf8ToBytes,\n} from \"../utils/encoding.ts\";\nimport { deserializeCVBytes } from \"./deserialize.ts\";\nimport { serializeCVBytes } from \"./serialize.ts\";\nimport type {\n\tBooleanCV,\n\tBufferCV,\n\tClarityValue,\n\tContractPrincipalCV,\n\tFalseCV,\n\tIntCV,\n\tListCV,\n\tNoneCV,\n\tResponseErrorCV,\n\tResponseOkCV,\n\tSomeCV,\n\tStandardPrincipalCV,\n\tStringAsciiCV,\n\tStringUtf8CV,\n\tTrueCV,\n\tTupleCV,\n\tTupleData,\n\tUIntCV,\n} from \"./types.ts\";\n\nconst MAX_U128 = BigInt(\"0xffffffffffffffffffffffffffffffff\");\nconst MIN_I128 = BigInt(\"-170141183460469231731687303715884105728\");\nconst MAX_I128 = BigInt(\"0x7fffffffffffffffffffffffffffffff\");\n\n// Primitives\n\nexport function intCV(value: IntegerType): IntCV {\n\tlet v: IntegerType = value;\n\tif (typeof v === \"string\" && v.toLowerCase().startsWith(\"0x\")) {\n\t\tv = bytesToTwosBigInt(hexToBytes(v));\n\t}\n\tif (v instanceof Uint8Array) v = bytesToTwosBigInt(v);\n\tconst n = intToBigInt(v);\n\tif (n > MAX_I128) throw new RangeError(`Int exceeds max i128: ${MAX_I128}`);\n\tif (n < MIN_I128) throw new RangeError(`Int below min i128: ${MIN_I128}`);\n\treturn { type: \"int\", value: n };\n}\n\nexport function uintCV(value: IntegerType): UIntCV {\n\tconst n = intToBigInt(value);\n\tif (n < 0n)\n\t\tthrow new RangeError(\"Cannot construct unsigned int from negative value\");\n\tif (n > MAX_U128) throw new RangeError(`UInt exceeds max u128: ${MAX_U128}`);\n\treturn { type: \"uint\", value: n };\n}\n\nexport const trueCV = (): TrueCV => ({ type: \"true\" });\nexport const falseCV = (): FalseCV => ({ type: \"false\" });\nexport const boolCV = (v: boolean): BooleanCV => (v ? trueCV() : falseCV());\n\nexport function bufferCV(buffer: Uint8Array): BufferCV {\n\tif (buffer.byteLength > 1_048_576) {\n\t\tthrow new Error(\"Buffer exceeds max size of 1MB\");\n\t}\n\treturn { type: \"buffer\", value: bytesToHex(buffer) };\n}\n\nexport function standardPrincipalCV(address: string): StandardPrincipalCV {\n\t// Validate by decoding\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\treturn { type: \"address\", value: normalized };\n}\n\nexport function contractPrincipalCV(\n\taddress: string,\n\tcontractName: string,\n): ContractPrincipalCV {\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\tif (utf8ToBytes(contractName).byteLength >= 128) {\n\t\tthrow new Error(\"Contract name must be less than 128 bytes\");\n\t}\n\treturn { type: \"contract\", value: `${normalized}.${contractName}` };\n}\n\nexport function noneCV(): NoneCV {\n\treturn { type: \"none\" };\n}\n\nexport function someCV(value: ClarityValue): SomeCV {\n\treturn { type: \"some\", value };\n}\n\nexport function responseOkCV(value: ClarityValue): ResponseOkCV {\n\treturn { type: \"ok\", value };\n}\n\nexport function responseErrorCV(value: ClarityValue): ResponseErrorCV {\n\treturn { type: \"err\", value };\n}\n\nexport function listCV(values: ClarityValue[]): ListCV {\n\treturn { type: \"list\", value: values };\n}\n\nexport function tupleCV(data: TupleData): TupleCV {\n\tfor (const key in data) {\n\t\tif (!isClarityName(key)) {\n\t\t\tthrow new Error(`\"${key}\" is not a valid Clarity name`);\n\t\t}\n\t}\n\treturn { type: \"tuple\", value: data };\n}\n\nexport function stringAsciiCV(value: string): StringAsciiCV {\n\treturn { type: \"ascii\", value };\n}\n\nexport function stringUtf8CV(value: string): StringUtf8CV {\n\treturn { type: \"utf8\", value };\n}\n\n// Cl namespace — clean API\n\nexport const Cl: {\n\treadonly int: (value: IntegerType) => IntCV;\n\treadonly uint: (value: IntegerType) => UIntCV;\n\treadonly bool: (v: boolean) => BooleanCV;\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\treadonly contractPrincipal: (\n\t\taddress: string,\n\t\tcontractName: string,\n\t) => ContractPrincipalCV;\n\treadonly standardPrincipal: (address: string) => StandardPrincipalCV;\n\treadonly buffer: (buffer: Uint8Array) => BufferCV;\n\treadonly bufferFromHex: (hex: string) => BufferCV;\n\treadonly bufferFromAscii: (ascii: string) => BufferCV;\n\treadonly bufferFromUtf8: (utf8: string) => BufferCV;\n\treadonly none: () => NoneCV;\n\treadonly some: (value: ClarityValue) => SomeCV;\n\treadonly ok: (value: ClarityValue) => ResponseOkCV;\n\treadonly error: (value: ClarityValue) => ResponseErrorCV;\n\treadonly list: (values: ClarityValue[]) => ListCV;\n\treadonly tuple: (data: TupleData) => TupleCV;\n\treadonly stringAscii: (value: string) => StringAsciiCV;\n\treadonly stringUtf8: (value: string) => StringUtf8CV;\n\tserialize(value: ClarityValue): string;\n\treadonly deserialize: (bytes: Uint8Array) => ClarityValue;\n} = {\n\tint: intCV,\n\tuint: uintCV,\n\tbool: boolCV,\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\tconst parsed = parsePrincipal(address);\n\t\tif (!parsed) throw new Error(`Invalid principal: ${address}`);\n\t\treturn parsed.contractName\n\t\t\t? contractPrincipalCV(parsed.address, parsed.contractName)\n\t\t\t: standardPrincipalCV(parsed.address);\n\t},\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\treturn Cl.principal(address);\n\t},\n\tcontractPrincipal: contractPrincipalCV,\n\tstandardPrincipal: standardPrincipalCV,\n\tbuffer: bufferCV,\n\tbufferFromHex: (hex: string): BufferCV => bufferCV(hexToBytes(hex)),\n\tbufferFromAscii: (ascii: string): BufferCV => bufferCV(asciiToBytes(ascii)),\n\tbufferFromUtf8: (utf8: string): BufferCV => bufferCV(utf8ToBytes(utf8)),\n\tnone: noneCV,\n\tsome: someCV,\n\tok: responseOkCV,\n\terror: responseErrorCV,\n\tlist: listCV,\n\ttuple: tupleCV,\n\tstringAscii: stringAsciiCV,\n\tstringUtf8: stringUtf8CV,\n\tserialize(value: ClarityValue): string {\n\t\treturn bytesToHex(serializeCVBytes(value));\n\t},\n\tdeserialize: deserializeCVBytes,\n} as const;\n",
17
+ "import { c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\tasciiToBytes,\n\tbigIntToBytes,\n\tbytesToHex,\n\tconcatBytes,\n\thexToBytes,\n\tintToHex,\n\tisAscii,\n\ttoTwos,\n\tutf8ToBytes,\n\twriteUInt32BE,\n} from \"../utils/encoding.ts\";\nimport {\n\ttype ClarityType,\n\ttype ClarityValue,\n\tClarityWireType,\n} from \"./types.ts\";\n\nconst CLARITY_INT_SIZE = 128n;\nconst CLARITY_INT_BYTE_SIZE = 16;\nconst MAX_U128 = (1n << 128n) - 1n;\nconst MAX_I128 = (1n << 127n) - 1n;\nconst MIN_I128 = -(1n << 127n);\n/** Largest string a Clarity value can hold (MAX_VALUE_SIZE). */\nexport const MAX_STRING_BYTES = 1_048_576;\n\nfunction typeIdByte(type: ClarityType): number {\n\treturn ClarityWireType[type];\n}\n\nfunction withTypeId(type: ClarityType, bytes: Uint8Array): Uint8Array {\n\treturn concatBytes(new Uint8Array([typeIdByte(type)]), bytes);\n}\n\nfunction serializeAddress(c32Address: string): Uint8Array {\n\tconst [version, hash160] = c32addressDecode(c32Address);\n\treturn concatBytes(new Uint8Array([version]), hexToBytes(hash160));\n}\n\nfunction serializeLPString(str: string, prefixBytes = 1): Uint8Array {\n\tconst content = utf8ToBytes(str);\n\tconst lengthPrefix = hexToBytes(intToHex(content.byteLength, prefixBytes));\n\treturn concatBytes(lengthPrefix, content);\n}\n\nexport function serializeCVBytes(value: ClarityValue): Uint8Array {\n\tswitch (value.type) {\n\t\tcase \"true\":\n\t\tcase \"false\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"int\": {\n\t\t\tconst n = BigInt(value.value);\n\t\t\tif (n > MAX_I128 || n < MIN_I128)\n\t\t\t\tthrow new RangeError(`Int is outside i128: ${n}`);\n\t\t\tconst bytes = bigIntToBytes(\n\t\t\t\ttoTwos(n, CLARITY_INT_SIZE),\n\t\t\t\tCLARITY_INT_BYTE_SIZE,\n\t\t\t);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"uint\": {\n\t\t\tconst n = BigInt(value.value);\n\t\t\tif (n < 0n || n > MAX_U128)\n\t\t\t\tthrow new RangeError(`UInt is outside u128: ${n}`);\n\t\t\tconst bytes = bigIntToBytes(n, CLARITY_INT_BYTE_SIZE);\n\t\t\treturn withTypeId(value.type, bytes);\n\t\t}\n\n\t\tcase \"buffer\": {\n\t\t\tconst bufBytes = hexToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(bufBytes.length), bufBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"none\":\n\t\t\treturn new Uint8Array([typeIdByte(value.type)]);\n\n\t\tcase \"some\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"ok\":\n\t\tcase \"err\":\n\t\t\treturn withTypeId(value.type, serializeCVBytes(value.value));\n\n\t\tcase \"address\":\n\t\t\treturn withTypeId(value.type, serializeAddress(value.value));\n\n\t\tcase \"contract\": {\n\t\t\tconst [addr, name] = value.value.split(\".\");\n\t\t\tif (!addr || !name)\n\t\t\t\tthrow new Error(`Invalid contract principal: ${value.value}`);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(serializeAddress(addr), serializeLPString(name)),\n\t\t\t);\n\t\t}\n\n\t\tcase \"list\": {\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(value.value.length)];\n\t\t\tfor (const item of value.value) {\n\t\t\t\tparts.push(serializeCVBytes(item));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"tuple\": {\n\t\t\t// Clarity orders tuple fields as a BTreeMap over the raw name bytes.\n\t\t\t// Code-unit comparison equals byte order for the ASCII name grammar;\n\t\t\t// localeCompare does not, and would change the SIP-018 hash.\n\t\t\tconst keys = Object.keys(value.value).sort((a, b) =>\n\t\t\t\ta < b ? -1 : a > b ? 1 : 0,\n\t\t\t);\n\t\t\tconst parts: Uint8Array[] = [writeUInt32BE(keys.length)];\n\t\t\tfor (const key of keys) {\n\t\t\t\tparts.push(serializeLPString(key));\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: value is non-null after preceding check or by construction; TS narrowing limitation\n\t\t\t\tparts.push(serializeCVBytes(value.value[key]!));\n\t\t\t}\n\t\t\treturn withTypeId(value.type, concatBytes(...parts));\n\t\t}\n\n\t\tcase \"ascii\": {\n\t\t\tif (!isAscii(value.value))\n\t\t\t\tthrow new Error(\"string-ascii holds only ASCII characters\");\n\t\t\tconst strBytes = asciiToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tcase \"utf8\": {\n\t\t\tconst strBytes = utf8ToBytes(value.value);\n\t\t\treturn withTypeId(\n\t\t\t\tvalue.type,\n\t\t\t\tconcatBytes(writeUInt32BE(strBytes.length), strBytes),\n\t\t\t);\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error(\"Cannot serialize unknown clarity type\");\n\t}\n}\n\nexport function serializeCV(value: ClarityValue): string {\n\treturn bytesToHex(serializeCVBytes(value));\n}\n",
18
+ "import { isClarityName, parsePrincipal } from \"../utils/address.ts\";\nimport { c32address, c32addressDecode } from \"../utils/c32.ts\";\nimport {\n\ttype IntegerType,\n\tasciiToBytes,\n\tbytesToHex,\n\tbytesToTwosBigInt,\n\thexToBytes,\n\tintToBigInt,\n\tisAscii,\n\tutf8ToBytes,\n} from \"../utils/encoding.ts\";\nimport { deserializeCVBytes } from \"./deserialize.ts\";\nimport { MAX_STRING_BYTES, serializeCVBytes } from \"./serialize.ts\";\nimport type {\n\tBooleanCV,\n\tBufferCV,\n\tClarityValue,\n\tContractPrincipalCV,\n\tFalseCV,\n\tIntCV,\n\tListCV,\n\tNoneCV,\n\tResponseErrorCV,\n\tResponseOkCV,\n\tSomeCV,\n\tStandardPrincipalCV,\n\tStringAsciiCV,\n\tStringUtf8CV,\n\tTrueCV,\n\tTupleCV,\n\tTupleData,\n\tUIntCV,\n} from \"./types.ts\";\n\nconst MAX_U128 = BigInt(\"0xffffffffffffffffffffffffffffffff\");\nconst MIN_I128 = BigInt(\"-170141183460469231731687303715884105728\");\nconst MAX_I128 = BigInt(\"0x7fffffffffffffffffffffffffffffff\");\n\n// Primitives\n\nexport function intCV(value: IntegerType): IntCV {\n\tlet v: IntegerType = value;\n\tif (typeof v === \"string\" && v.toLowerCase().startsWith(\"0x\")) {\n\t\tv = bytesToTwosBigInt(hexToBytes(v));\n\t}\n\tif (v instanceof Uint8Array) v = bytesToTwosBigInt(v);\n\tconst n = intToBigInt(v);\n\tif (n > MAX_I128) throw new RangeError(`Int exceeds max i128: ${MAX_I128}`);\n\tif (n < MIN_I128) throw new RangeError(`Int below min i128: ${MIN_I128}`);\n\treturn { type: \"int\", value: n };\n}\n\nexport function uintCV(value: IntegerType): UIntCV {\n\tconst n = intToBigInt(value);\n\tif (n < 0n)\n\t\tthrow new RangeError(\"Cannot construct unsigned int from negative value\");\n\tif (n > MAX_U128) throw new RangeError(`UInt exceeds max u128: ${MAX_U128}`);\n\treturn { type: \"uint\", value: n };\n}\n\nexport const trueCV = (): TrueCV => ({ type: \"true\" });\nexport const falseCV = (): FalseCV => ({ type: \"false\" });\nexport const boolCV = (v: boolean): BooleanCV => (v ? trueCV() : falseCV());\n\nexport function bufferCV(buffer: Uint8Array): BufferCV {\n\tif (buffer.byteLength > 1_048_576) {\n\t\tthrow new Error(\"Buffer exceeds max size of 1MB\");\n\t}\n\treturn { type: \"buffer\", value: bytesToHex(buffer) };\n}\n\nexport function standardPrincipalCV(address: string): StandardPrincipalCV {\n\t// Validate by decoding\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\treturn { type: \"address\", value: normalized };\n}\n\nexport function contractPrincipalCV(\n\taddress: string,\n\tcontractName: string,\n): ContractPrincipalCV {\n\tconst [version, hash160] = c32addressDecode(address);\n\tconst normalized = c32address(version, hash160);\n\tif (utf8ToBytes(contractName).byteLength >= 128) {\n\t\tthrow new Error(\"Contract name must be less than 128 bytes\");\n\t}\n\treturn { type: \"contract\", value: `${normalized}.${contractName}` };\n}\n\nexport function noneCV(): NoneCV {\n\treturn { type: \"none\" };\n}\n\nexport function someCV(value: ClarityValue): SomeCV {\n\treturn { type: \"some\", value };\n}\n\nexport function responseOkCV(value: ClarityValue): ResponseOkCV {\n\treturn { type: \"ok\", value };\n}\n\nexport function responseErrorCV(value: ClarityValue): ResponseErrorCV {\n\treturn { type: \"err\", value };\n}\n\nexport function listCV(values: ClarityValue[]): ListCV {\n\treturn { type: \"list\", value: values };\n}\n\nexport function tupleCV(data: TupleData): TupleCV {\n\tfor (const key in data) {\n\t\tif (!isClarityName(key)) {\n\t\t\tthrow new Error(`\"${key}\" is not a valid Clarity name`);\n\t\t}\n\t}\n\treturn { type: \"tuple\", value: data };\n}\n\nexport function stringAsciiCV(value: string): StringAsciiCV {\n\tif (!isAscii(value))\n\t\tthrow new Error(\"string-ascii holds only ASCII characters\");\n\tif (value.length > MAX_STRING_BYTES)\n\t\tthrow new Error(\n\t\t\t`string-ascii exceeds max size of ${MAX_STRING_BYTES} bytes`,\n\t\t);\n\treturn { type: \"ascii\", value };\n}\n\nexport function stringUtf8CV(value: string): StringUtf8CV {\n\treturn { type: \"utf8\", value };\n}\n\n// Cl namespace — clean API\n\nexport const Cl: {\n\treadonly int: (value: IntegerType) => IntCV;\n\treadonly uint: (value: IntegerType) => UIntCV;\n\treadonly bool: (v: boolean) => BooleanCV;\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV;\n\treadonly contractPrincipal: (\n\t\taddress: string,\n\t\tcontractName: string,\n\t) => ContractPrincipalCV;\n\treadonly standardPrincipal: (address: string) => StandardPrincipalCV;\n\treadonly buffer: (buffer: Uint8Array) => BufferCV;\n\treadonly bufferFromHex: (hex: string) => BufferCV;\n\treadonly bufferFromAscii: (ascii: string) => BufferCV;\n\treadonly bufferFromUtf8: (utf8: string) => BufferCV;\n\treadonly none: () => NoneCV;\n\treadonly some: (value: ClarityValue) => SomeCV;\n\treadonly ok: (value: ClarityValue) => ResponseOkCV;\n\treadonly error: (value: ClarityValue) => ResponseErrorCV;\n\treadonly list: (values: ClarityValue[]) => ListCV;\n\treadonly tuple: (data: TupleData) => TupleCV;\n\treadonly stringAscii: (value: string) => StringAsciiCV;\n\treadonly stringUtf8: (value: string) => StringUtf8CV;\n\tserialize(value: ClarityValue): string;\n\treadonly deserialize: (bytes: Uint8Array) => ClarityValue;\n} = {\n\tint: intCV,\n\tuint: uintCV,\n\tbool: boolCV,\n\tprincipal(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\tconst parsed = parsePrincipal(address);\n\t\tif (!parsed) throw new Error(`Invalid principal: ${address}`);\n\t\treturn parsed.contractName\n\t\t\t? contractPrincipalCV(parsed.address, parsed.contractName)\n\t\t\t: standardPrincipalCV(parsed.address);\n\t},\n\taddress(address: string): StandardPrincipalCV | ContractPrincipalCV {\n\t\treturn Cl.principal(address);\n\t},\n\tcontractPrincipal: contractPrincipalCV,\n\tstandardPrincipal: standardPrincipalCV,\n\tbuffer: bufferCV,\n\tbufferFromHex: (hex: string): BufferCV => bufferCV(hexToBytes(hex)),\n\tbufferFromAscii: (ascii: string): BufferCV => bufferCV(asciiToBytes(ascii)),\n\tbufferFromUtf8: (utf8: string): BufferCV => bufferCV(utf8ToBytes(utf8)),\n\tnone: noneCV,\n\tsome: someCV,\n\tok: responseOkCV,\n\terror: responseErrorCV,\n\tlist: listCV,\n\ttuple: tupleCV,\n\tstringAscii: stringAsciiCV,\n\tstringUtf8: stringUtf8CV,\n\tserialize(value: ClarityValue): string {\n\t\treturn bytesToHex(serializeCVBytes(value));\n\t},\n\tdeserialize: deserializeCVBytes,\n} as const;\n",
19
19
  "import {\n\tisAbiBuffer,\n\tisAbiList,\n\tisAbiOptional,\n\tisAbiResponse,\n\tisAbiStringAscii,\n\tisAbiStringUtf8,\n\tisAbiTuple,\n} from \"./abi/guards.ts\";\nimport type { AbiToTS } from \"./abi/mappings.ts\";\nimport type { AbiType } from \"./abi/types.ts\";\nimport { toCamelCase } from \"./abi/utils.ts\";\nimport type { ClarityValue } from \"./types.ts\";\nimport {\n\tboolCV,\n\tbufferCV,\n\tintCV,\n\tlistCV,\n\tnoneCV,\n\tresponseErrorCV,\n\tresponseOkCV,\n\tsomeCV,\n\tstringAsciiCV,\n\tstringUtf8CV,\n\ttupleCV,\n\tuintCV,\n} from \"./values.ts\";\nimport { Cl } from \"./values.ts\";\n\n/** CV type tags — mirrors the discriminants of `ClarityValue`. */\nconst CV_TYPE_TAGS = new Set([\n\t\"int\",\n\t\"uint\",\n\t\"true\",\n\t\"false\",\n\t\"address\",\n\t\"contract\",\n\t\"ascii\",\n\t\"utf8\",\n\t\"buffer\",\n\t\"list\",\n\t\"tuple\",\n\t\"none\",\n\t\"some\",\n\t\"ok\",\n\t\"err\",\n]);\n\n/**\n * Duck-type check: is `value` already a built ClarityValue? Tag-only CVs\n * (`true`/`false`/`none`) have no payload; every other tag carries `value`.\n */\nexport function isClarityValue(value: unknown): value is ClarityValue {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst type = (value as { type?: unknown }).type;\n\tif (typeof type !== \"string\" || !CV_TYPE_TAGS.has(type)) return false;\n\tif (type === \"true\" || type === \"false\" || type === \"none\") return true;\n\treturn \"value\" in value;\n}\n\nconst HEX_PAIRS_REGEX = /^(?:[0-9a-fA-F]{2})+$/;\n\n/**\n * Coerce a flexible buffer input to a BufferCV. Accepts `Uint8Array`, a\n * pre-built `BufferCV`, a tagged `{ type: 'ascii' | 'utf8' | 'hex', value }`\n * object, or a bare string (even-length hex — optionally 0x-prefixed — is\n * decoded as hex; anything else is UTF-8 encoded).\n */\nfunction coerceBuffer(value: unknown): ClarityValue {\n\tif (value instanceof Uint8Array) return bufferCV(value);\n\tif (typeof value === \"object\" && value !== null && \"type\" in value) {\n\t\tconst tagged = value as { type: string; value?: unknown };\n\t\tif (tagged.type === \"buffer\" && isClarityValue(value)) return value;\n\t\tif (typeof tagged.value === \"string\") {\n\t\t\tif (tagged.type === \"ascii\") return Cl.bufferFromAscii(tagged.value);\n\t\t\tif (tagged.type === \"utf8\") return Cl.bufferFromUtf8(tagged.value);\n\t\t\tif (tagged.type === \"hex\") return Cl.bufferFromHex(tagged.value);\n\t\t}\n\t\tthrow new Error(`Unsupported buffer input: ${JSON.stringify(value)}`);\n\t}\n\tif (typeof value === \"string\") {\n\t\tconst hex = value.startsWith(\"0x\") ? value.slice(2) : value;\n\t\tif (HEX_PAIRS_REGEX.test(hex)) return Cl.bufferFromHex(hex);\n\t\treturn Cl.bufferFromUtf8(value);\n\t}\n\tthrow new Error(\n\t\t\"buffer arg expects Uint8Array, hex string, { type, value }, or BufferCV\",\n\t);\n}\n\n/**\n * Convert a JS value to a ClarityValue using ABI type information.\n *\n * Pre-built ClarityValues pass through unchanged (escape hatch for callers\n * that already hold a CV). Buffer args additionally accept hex strings and\n * tagged `{ type, value }` objects — matching the generated-client input\n * contract.\n */\nexport function jsToClarityValue(\n\tabiType: AbiType,\n\tvalue: unknown,\n): ClarityValue {\n\t// Buffers first: the tagged `{ type: 'ascii', value }` input form is\n\t// shape-identical to StringAsciiCV, so buffer coercion wins for buff args.\n\tif (isAbiBuffer(abiType)) return coerceBuffer(value);\n\n\tif (isClarityValue(value)) return value;\n\n\tif (abiType === \"uint128\") return uintCV(value as bigint | number);\n\tif (abiType === \"int128\") return intCV(value as bigint | number);\n\tif (abiType === \"bool\") return boolCV(value as boolean);\n\tif (abiType === \"principal\" || abiType === \"trait_reference\")\n\t\treturn Cl.principal(value as string);\n\n\tif (isAbiStringAscii(abiType)) return stringAsciiCV(value as string);\n\tif (isAbiStringUtf8(abiType)) return stringUtf8CV(value as string);\n\n\tif (isAbiList(abiType)) {\n\t\tconst arr = value as unknown[];\n\t\treturn listCV(arr.map((item) => jsToClarityValue(abiType.list.type, item)));\n\t}\n\n\tif (isAbiTuple(abiType)) {\n\t\tconst obj = value as Record<string, unknown>;\n\t\tconst data: Record<string, ClarityValue> = {};\n\t\tfor (const field of abiType.tuple) {\n\t\t\tconst camelKey = toCamelCase(field.name);\n\t\t\tconst hasOriginal = field.name in obj;\n\t\t\tconst hasCamel = camelKey in obj;\n\t\t\tconst fieldValue = hasOriginal\n\t\t\t\t? obj[field.name]\n\t\t\t\t: hasCamel\n\t\t\t\t\t? obj[camelKey]\n\t\t\t\t\t: undefined;\n\t\t\tif (fieldValue === undefined && !isAbiOptional(field.type)) {\n\t\t\t\tthrow new Error(`Missing tuple field: ${field.name}`);\n\t\t\t}\n\t\t\tdata[field.name] = jsToClarityValue(field.type, fieldValue);\n\t\t}\n\t\treturn tupleCV(data);\n\t}\n\n\tif (isAbiOptional(abiType)) {\n\t\tif (value === null || value === undefined) return noneCV();\n\t\treturn someCV(jsToClarityValue(abiType.optional, value));\n\t}\n\n\tif (isAbiResponse(abiType)) {\n\t\tconst obj = value as Record<string, unknown>;\n\t\tif (\"ok\" in obj && !(\"err\" in obj))\n\t\t\treturn responseOkCV(jsToClarityValue(abiType.response.ok, obj.ok));\n\t\tif (\"err\" in obj && !(\"ok\" in obj))\n\t\t\treturn responseErrorCV(jsToClarityValue(abiType.response.error, obj.err));\n\t\tthrow new Error(\"Response must have exactly 'ok' or 'err' property\");\n\t}\n\n\tthrow new Error(`Unknown ABI type: ${JSON.stringify(abiType)}`);\n}\n\n/**\n * Convert a ClarityValue back to a typed JS value using ABI type information.\n */\nexport function clarityValueToJS<T extends AbiType>(\n\tabiType: T,\n\tcv: ClarityValue,\n): AbiToTS<T> {\n\treturn clarityValueToJSInner(abiType, cv) as AbiToTS<T>;\n}\n\n/** Non-generic version for internal use — avoids deep type instantiation. */\nexport function clarityValueToJSUntyped(\n\tabiType: AbiType,\n\tcv: ClarityValue,\n): unknown {\n\treturn clarityValueToJSInner(abiType, cv);\n}\n\nfunction clarityValueToJSInner(abiType: AbiType, cv: ClarityValue): unknown {\n\tif (abiType === \"uint128\" || abiType === \"int128\") {\n\t\tif (cv.type !== \"int\" && cv.type !== \"uint\")\n\t\t\tthrow new Error(`Expected int/uint CV, got ${cv.type}`);\n\t\treturn cv.value;\n\t}\n\n\tif (abiType === \"bool\") {\n\t\tif (cv.type === \"true\") return true;\n\t\tif (cv.type === \"false\") return false;\n\t\tthrow new Error(`Expected bool CV, got ${cv.type}`);\n\t}\n\n\tif (abiType === \"principal\" || abiType === \"trait_reference\") {\n\t\tif (cv.type !== \"address\" && cv.type !== \"contract\")\n\t\t\tthrow new Error(`Expected principal CV, got ${cv.type}`);\n\t\treturn cv.value;\n\t}\n\n\tif (isAbiStringAscii(abiType) || isAbiStringUtf8(abiType)) {\n\t\tif (cv.type !== \"ascii\" && cv.type !== \"utf8\")\n\t\t\tthrow new Error(`Expected string CV, got ${cv.type}`);\n\t\treturn cv.value;\n\t}\n\n\tif (isAbiBuffer(abiType)) {\n\t\tif (cv.type !== \"buffer\")\n\t\t\tthrow new Error(`Expected buffer CV, got ${cv.type}`);\n\t\t// BufferCV stores hex string; convert back to Uint8Array\n\t\tconst hex = cv.value;\n\t\tconst bytes = new Uint8Array(hex.length / 2);\n\t\tfor (let i = 0; i < bytes.length; i++) {\n\t\t\tbytes[i] = Number.parseInt(hex.substring(i * 2, i * 2 + 2), 16);\n\t\t}\n\t\treturn bytes;\n\t}\n\n\tif (isAbiList(abiType)) {\n\t\tif (cv.type !== \"list\") throw new Error(`Expected list CV, got ${cv.type}`);\n\t\treturn cv.value.map((item) =>\n\t\t\tclarityValueToJSInner(abiType.list.type, item),\n\t\t);\n\t}\n\n\tif (isAbiTuple(abiType)) {\n\t\tif (cv.type !== \"tuple\")\n\t\t\tthrow new Error(`Expected tuple CV, got ${cv.type}`);\n\t\tconst result: Record<string, unknown> = {};\n\t\tfor (const field of abiType.tuple) {\n\t\t\tconst fieldCV = cv.value[field.name];\n\t\t\tif (!fieldCV) throw new Error(`Missing tuple field in CV: ${field.name}`);\n\t\t\tconst camelKey = toCamelCase(field.name);\n\t\t\tresult[camelKey] = clarityValueToJSInner(field.type, fieldCV);\n\t\t}\n\t\treturn result;\n\t}\n\n\tif (isAbiOptional(abiType)) {\n\t\tif (cv.type === \"none\") return null;\n\t\tif (cv.type === \"some\")\n\t\t\treturn clarityValueToJSInner(abiType.optional, cv.value);\n\t\tthrow new Error(`Expected optional CV, got ${cv.type}`);\n\t}\n\n\tif (isAbiResponse(abiType)) {\n\t\tif (cv.type === \"ok\")\n\t\t\treturn { ok: clarityValueToJSInner(abiType.response.ok, cv.value) };\n\t\tif (cv.type === \"err\")\n\t\t\treturn { err: clarityValueToJSInner(abiType.response.error, cv.value) };\n\t\tthrow new Error(`Expected response CV, got ${cv.type}`);\n\t}\n\n\tthrow new Error(`Unknown ABI type: ${JSON.stringify(abiType)}`);\n}\n",
20
20
  "import type { ClarityValue } from \"../clarity/types.ts\";\n\n// Auth types\nexport const AuthType = {\n\tStandard: 0x04,\n\tSponsored: 0x05,\n} as const;\nexport type AuthType = (typeof AuthType)[keyof typeof AuthType];\n\n// Payload types\nexport const PayloadType = {\n\tTokenTransfer: 0x00,\n\tSmartContract: 0x01,\n\tContractCall: 0x02,\n\tPoisonMicroblock: 0x03,\n\tCoinbase: 0x04,\n\tCoinbaseToAltRecipient: 0x05,\n\tVersionedSmartContract: 0x06,\n\tTenureChange: 0x07,\n\tNakamotoCoinbase: 0x08,\n} as const;\nexport type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];\n\n// Clarity version\nexport const ClarityVersion = {\n\tClarity1: 1,\n\tClarity2: 2,\n\tClarity3: 3,\n\tClarity4: 4,\n\tClarity5: 5,\n\tClarity6: 6, // SIP-044, Epoch 4.0\n} as const;\nexport type ClarityVersion =\n\t(typeof ClarityVersion)[keyof typeof ClarityVersion];\n\n// Anchor mode (deprecated post-Nakamoto, but needed for wire format)\nexport const AnchorMode = {\n\tOnChainOnly: 0x01,\n\tOffChainOnly: 0x02,\n\tAny: 0x03,\n} as const;\nexport type AnchorMode = (typeof AnchorMode)[keyof typeof AnchorMode];\n\n// Post condition mode\nexport const PostConditionModeWire = {\n\tAllow: 0x01,\n\tDeny: 0x02,\n\tOriginator: 0x03, // SIP-040, Epoch 3.4\n} as const;\nexport type PostConditionModeWire =\n\t(typeof PostConditionModeWire)[keyof typeof PostConditionModeWire];\n\n// Address hash modes\nexport const AddressHashMode = {\n\tP2PKH: 0x00,\n\tP2SH: 0x01,\n\tP2WPKH: 0x02,\n\tP2WSH: 0x03,\n\tP2SH_NonSequential: 0x05, // SIP-027\n\tP2WSH_P2SH_NonSequential: 0x07, // SIP-027\n} as const;\nexport type AddressHashMode =\n\t(typeof AddressHashMode)[keyof typeof AddressHashMode];\n\n// Pub key encoding\nexport const PubKeyEncoding = {\n\tCompressed: 0x00,\n\tUncompressed: 0x01,\n} as const;\nexport type PubKeyEncoding =\n\t(typeof PubKeyEncoding)[keyof typeof PubKeyEncoding];\n\n// Fungible condition codes (wire format)\nexport const FungibleConditionCode = {\n\tEqual: 0x01,\n\tGreater: 0x02,\n\tGreaterEqual: 0x03,\n\tLess: 0x04,\n\tLessEqual: 0x05,\n} as const;\n\n// Non-fungible condition codes (wire format)\nexport const NonFungibleConditionCode = {\n\tSends: 0x10,\n\tDoesNotSend: 0x11,\n\tMaybeSent: 0x12, // SIP-040, Epoch 3.4\n} as const;\n\n// PoX condition codes (wire format, SIP-045)\nexport const PoxConditionCode = {\n\tWillNotPerform: 0x30,\n\tMayPerform: 0x31,\n\tWillPerform: 0x32,\n} as const;\nexport type PoxConditionCode =\n\t(typeof PoxConditionCode)[keyof typeof PoxConditionCode];\n\n// Post condition principal types\nexport const PostConditionPrincipalId = {\n\tOrigin: 0x01,\n\tStandard: 0x02,\n\tContract: 0x03,\n} as const;\n\n// Post condition asset types\nexport const AssetType = {\n\tSTX: 0x00,\n\tFungible: 0x01,\n\tNonFungible: 0x02,\n\tStaking: 0x03, // SIP-045\n\tPox: 0x04, // SIP-045\n} as const;\n\n// Auth field types\nexport const AuthFieldType = {\n\tPublicKeyCompressed: 0x00,\n\tPublicKeyUncompressed: 0x01,\n\tSignatureCompressed: 0x02,\n\tSignatureUncompressed: 0x03,\n} as const;\n\nexport const RECOVERABLE_ECDSA_SIG_LENGTH_BYTES = 65;\nexport const MEMO_MAX_LENGTH_BYTES = 34;\nexport const MAX_STRING_LENGTH_BYTES = 128;\nexport const COINBASE_BYTES_LENGTH = 32;\nexport const VRF_PROOF_BYTES_LENGTH = 80;\nexport const MICROBLOCK_HEADER_BYTES_LENGTH = 132; // 1 + 2 + 32 + 32 + 65\n\n// Tenure change cause\nexport const TenureChangeCause = {\n\tBlockFound: 0x00,\n\tExtended: 0x01,\n\tExtendedRuntime: 0x02,\n\tExtendedReadCount: 0x03,\n\tExtendedReadLength: 0x04,\n\tExtendedWriteCount: 0x05,\n\tExtendedWriteLength: 0x06,\n} as const;\nexport type TenureChangeCause =\n\t(typeof TenureChangeCause)[keyof typeof TenureChangeCause];\n\n// Token transfer payload\nexport type TokenTransferPayload = {\n\tpayloadType: typeof PayloadType.TokenTransfer;\n\trecipient: ClarityValue; // PrincipalCV\n\tamount: bigint;\n\tmemo: string;\n};\n\n// Contract call payload\nexport type ContractCallPayload = {\n\tpayloadType: typeof PayloadType.ContractCall;\n\tcontractAddress: string;\n\tcontractName: string;\n\tfunctionName: string;\n\tfunctionArgs: ClarityValue[];\n};\n\n// Smart contract deploy payload\nexport type SmartContractPayload = {\n\tpayloadType:\n\t\t| typeof PayloadType.SmartContract\n\t\t| typeof PayloadType.VersionedSmartContract;\n\tclarityVersion?: ClarityVersion;\n\tcontractName: string;\n\tcodeBody: string;\n};\n\n// Coinbase payload (appears in every pre-Nakamoto block)\nexport type CoinbasePayload = {\n\tpayloadType: typeof PayloadType.Coinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n};\n\n// Coinbase to alt recipient payload\nexport type CoinbaseToAltRecipientPayload = {\n\tpayloadType: typeof PayloadType.CoinbaseToAltRecipient;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue; // PrincipalCV\n};\n\n// Poison microblock payload\nexport type PoisonMicroblockPayload = {\n\tpayloadType: typeof PayloadType.PoisonMicroblock;\n\theader1: string; // 132 bytes hex (raw microblock header)\n\theader2: string; // 132 bytes hex (raw microblock header)\n};\n\n// Tenure change payload (Nakamoto)\nexport type TenureChangePayload = {\n\tpayloadType: typeof PayloadType.TenureChange;\n\ttenureConsensusHash: string; // 20 bytes hex\n\tprevTenureConsensusHash: string; // 20 bytes hex\n\tburnViewConsensusHash: string; // 20 bytes hex\n\tpreviousTenureEnd: string; // 32 bytes hex\n\tpreviousTenureBlocks: number; // u32\n\tcause: TenureChangeCause;\n\tpubkeyHash: string; // 20 bytes hex\n};\n\n// Nakamoto coinbase payload\nexport type NakamotoCoinbasePayload = {\n\tpayloadType: typeof PayloadType.NakamotoCoinbase;\n\tcoinbaseBuffer: string; // 32 bytes hex\n\trecipient: ClarityValue | null; // Optional PrincipalCV\n\tvrfProof: string; // 80 bytes hex\n};\n\nexport type TransactionPayload =\n\t| TokenTransferPayload\n\t| ContractCallPayload\n\t| SmartContractPayload\n\t| CoinbasePayload\n\t| CoinbaseToAltRecipientPayload\n\t| PoisonMicroblockPayload\n\t| TenureChangePayload\n\t| NakamotoCoinbasePayload;\n\n// Spending condition\nexport type SingleSigSpendingCondition = {\n\thashMode: typeof AddressHashMode.P2PKH | typeof AddressHashMode.P2WPKH;\n\tsigner: string; // hash160 hex\n\tnonce: bigint;\n\tfee: bigint;\n\tkeyEncoding: PubKeyEncoding;\n\tsignature: string; // 65-byte recoverable sig hex\n};\n\nexport type TransactionAuthField = {\n\tpubKeyEncoding: PubKeyEncoding;\n\ttype: \"publicKey\" | \"signature\";\n\tdata: string; // hex\n};\n\nexport type MultiSigHashMode =\n\t| typeof AddressHashMode.P2SH\n\t| typeof AddressHashMode.P2WSH\n\t| typeof AddressHashMode.P2SH_NonSequential\n\t| typeof AddressHashMode.P2WSH_P2SH_NonSequential;\n\nexport type MultiSigSpendingCondition = {\n\thashMode: MultiSigHashMode;\n\tsigner: string;\n\tnonce: bigint;\n\tfee: bigint;\n\tfields: TransactionAuthField[];\n\tsignaturesRequired: number;\n};\n\nexport type SpendingCondition =\n\t| SingleSigSpendingCondition\n\t| MultiSigSpendingCondition;\n\nexport type StandardAuthorization = {\n\tauthType: typeof AuthType.Standard;\n\tspendingCondition: SpendingCondition;\n};\n\nexport type SponsoredAuthorization = {\n\tauthType: typeof AuthType.Sponsored;\n\tspendingCondition: SpendingCondition;\n\tsponsorSpendingCondition: SpendingCondition;\n};\n\nexport type Authorization = StandardAuthorization | SponsoredAuthorization;\n\n// Full transaction\nexport type StacksTransaction = {\n\tversion: number;\n\tchainId: number;\n\tauth: Authorization;\n\tanchorMode: AnchorMode;\n\tpostConditionMode: PostConditionModeWire;\n\tpostConditions: PostConditionWire[];\n\tpayload: TransactionPayload;\n\t/** Multi-sig signer metadata — not part of the wire format, preserved\n\t * through serialize/deserialize round-trip for auto-detection. */\n\t_multisig?: { publicKeys: string[] };\n};\n\n// Wire post condition types\nexport type PostConditionWire =\n\t| StxPostConditionWire\n\t| FtPostConditionWire\n\t| NftPostConditionWire\n\t| StakingPostConditionWire\n\t| PoxPostConditionWire;\n\nexport type StxPostConditionWire = {\n\ttype: \"stx\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type FtPostConditionWire = {\n\ttype: \"ft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\nexport type NftPostConditionWire = {\n\ttype: \"nft\";\n\tprincipal: PostConditionPrincipalWire;\n\tasset: AssetInfoWire;\n\tconditionCode: number;\n\tassetId: ClarityValue;\n};\n\n// SIP-045: gates stake/register-for-bond/stake-update; same shape as STX\nexport type StakingPostConditionWire = {\n\ttype: \"staking\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: number;\n\tamount: bigint;\n};\n\n// SIP-045: gates non-locking PoX state changes (unstake, announce-l1-early-exit, …); no amount\nexport type PoxPostConditionWire = {\n\ttype: \"pox\";\n\tprincipal: PostConditionPrincipalWire;\n\tconditionCode: PoxConditionCode;\n};\n\nexport type PostConditionPrincipalWire =\n\t| { type: \"origin\" }\n\t| { type: \"standard\"; address: string }\n\t| { type: \"contract\"; address: string; contractName: string };\n\nexport type AssetInfoWire = {\n\taddress: string;\n\tcontractName: string;\n\tassetName: string;\n};\n",
21
21
  "import {\n\treadAddress,\n\treadCV,\n\treadLPString,\n} from \"../../clarity/deserialize.ts\";\nimport type { ClarityValue } from \"../../clarity/types.ts\";\nimport { BytesReader } from \"../../utils/bytes-reader.ts\";\nimport {\n\tbytesToAscii,\n\tbytesToHex,\n\thexToBytes,\n\twithout0x,\n} from \"../../utils/encoding.ts\";\nimport {\n\tAddressHashMode,\n\ttype AnchorMode,\n\ttype AssetInfoWire,\n\tAssetType,\n\tAuthType,\n\ttype Authorization,\n\tCOINBASE_BYTES_LENGTH,\n\ttype ClarityVersion,\n\tMEMO_MAX_LENGTH_BYTES,\n\tMICROBLOCK_HEADER_BYTES_LENGTH,\n\tPayloadType,\n\ttype PostConditionModeWire,\n\tPostConditionPrincipalId,\n\ttype PostConditionPrincipalWire,\n\ttype PostConditionWire,\n\ttype PoxConditionCode,\n\tRECOVERABLE_ECDSA_SIG_LENGTH_BYTES,\n\ttype SpendingCondition,\n\ttype StacksTransaction,\n\ttype TenureChangeCause,\n\ttype TransactionAuthField,\n\ttype TransactionPayload,\n\tVRF_PROOF_BYTES_LENGTH,\n} from \"../types.ts\";\n\nfunction readSpendingCondition(r: BytesReader): SpendingCondition {\n\tconst hashMode = r.readUInt8();\n\tconst signer = bytesToHex(r.readBytes(20));\n\tconst nonce = r.readBigUInt64BE();\n\tconst fee = r.readBigUInt64BE();\n\n\tif (\n\t\thashMode === AddressHashMode.P2PKH ||\n\t\thashMode === AddressHashMode.P2WPKH\n\t) {\n\t\tconst keyEncoding = r.readUInt8();\n\t\tconst signature = bytesToHex(\n\t\t\tr.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES),\n\t\t);\n\t\treturn {\n\t\t\thashMode,\n\t\t\tsigner,\n\t\t\tnonce,\n\t\t\tfee,\n\t\t\tkeyEncoding,\n\t\t\tsignature,\n\t\t} as SpendingCondition;\n\t}\n\n\tconst fieldCount = r.readUInt32BE();\n\tconst fields: TransactionAuthField[] = [];\n\tfor (let i = 0; i < fieldCount; i++) {\n\t\tconst fieldType = r.readUInt8();\n\t\tif (fieldType <= 0x01) {\n\t\t\t// Keys are always 33 bytes on the wire; 0x01 only flags the\n\t\t\t// uncompressed encoding the sighash uses (StacksPublicKeyBuffer).\n\t\t\tfields.push({\n\t\t\t\ttype: \"publicKey\",\n\t\t\t\tpubKeyEncoding: fieldType as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(33)),\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push({\n\t\t\t\ttype: \"signature\",\n\t\t\t\tpubKeyEncoding: (fieldType === 0x02 ? 0x00 : 0x01) as 0x00 | 0x01,\n\t\t\t\tdata: bytesToHex(r.readBytes(RECOVERABLE_ECDSA_SIG_LENGTH_BYTES)),\n\t\t\t});\n\t\t}\n\t}\n\tconst signaturesRequired = r.readUInt16BE();\n\n\treturn {\n\t\thashMode,\n\t\tsigner,\n\t\tnonce,\n\t\tfee,\n\t\tfields,\n\t\tsignaturesRequired,\n\t} as SpendingCondition;\n}\n\nfunction readAuthorization(r: BytesReader): Authorization {\n\tconst authType = r.readUInt8();\n\tconst spendingCondition = readSpendingCondition(r);\n\n\tif (authType === AuthType.Standard) {\n\t\treturn { authType: AuthType.Standard, spendingCondition };\n\t}\n\n\tconst sponsorSpendingCondition = readSpendingCondition(r);\n\treturn {\n\t\tauthType: AuthType.Sponsored,\n\t\tspendingCondition,\n\t\tsponsorSpendingCondition,\n\t};\n}\n\nfunction readAssetInfo(r: BytesReader): AssetInfoWire {\n\treturn {\n\t\taddress: readAddress(r),\n\t\tcontractName: readLPString(r),\n\t\tassetName: readLPString(r),\n\t};\n}\n\nfunction readPostConditionPrincipal(\n\tr: BytesReader,\n): PostConditionPrincipalWire {\n\tconst type = r.readUInt8();\n\tswitch (type) {\n\t\tcase PostConditionPrincipalId.Origin:\n\t\t\treturn { type: \"origin\" };\n\t\tcase PostConditionPrincipalId.Standard:\n\t\t\treturn { type: \"standard\", address: readAddress(r) };\n\t\tcase PostConditionPrincipalId.Contract:\n\t\t\treturn {\n\t\t\t\ttype: \"contract\",\n\t\t\t\taddress: readAddress(r),\n\t\t\t\tcontractName: readLPString(r),\n\t\t\t};\n\t\tdefault:\n\t\t\t// Some legacy transactions may have unexpected principal types.\n\t\t\t// Treat as origin to allow deserialization to continue.\n\t\t\treturn { type: \"origin\" };\n\t}\n}\n\nfunction readPostCondition(r: BytesReader): PostConditionWire {\n\t// Wire order: asset_type, then principal (per SIP-005 and stacks.js)\n\tconst assetType = r.readUInt8();\n\tconst principal = readPostConditionPrincipal(r);\n\tswitch (assetType) {\n\t\tcase AssetType.STX:\n\t\t\treturn {\n\t\t\t\ttype: \"stx\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Fungible:\n\t\t\treturn {\n\t\t\t\ttype: \"ft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.NonFungible:\n\t\t\treturn {\n\t\t\t\ttype: \"nft\",\n\t\t\t\tprincipal,\n\t\t\t\tasset: readAssetInfo(r),\n\t\t\t\tassetId: readCV(r),\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t};\n\t\tcase AssetType.Staking:\n\t\t\treturn {\n\t\t\t\ttype: \"staking\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8(),\n\t\t\t\tamount: r.readBigUInt64BE(),\n\t\t\t};\n\t\tcase AssetType.Pox:\n\t\t\treturn {\n\t\t\t\ttype: \"pox\",\n\t\t\t\tprincipal,\n\t\t\t\tconditionCode: r.readUInt8() as PoxConditionCode,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown post-condition asset type: 0x${assetType.toString(16).padStart(2, \"0\")}`,\n\t\t\t);\n\t}\n}\n\nfunction readPostConditions(r: BytesReader): PostConditionWire[] {\n\tconst count = r.readUInt32BE();\n\tconst pcs: PostConditionWire[] = [];\n\tfor (let i = 0; i < count; i++) {\n\t\ttry {\n\t\t\tpcs.push(readPostCondition(r));\n\t\t} catch (e) {\n\t\t\tif (\n\t\t\t\te instanceof Error &&\n\t\t\t\te.message.startsWith(\"Unknown post-condition asset type:\")\n\t\t\t) {\n\t\t\t\tthrow new Error(`${e.message} (post-condition ${i + 1}/${count})`);\n\t\t\t}\n\t\t\tthrow e;\n\t\t}\n\t}\n\treturn pcs;\n}\n\nfunction readPayload(r: BytesReader): TransactionPayload {\n\tconst payloadType = r.readUInt8();\n\n\tswitch (payloadType) {\n\t\tcase PayloadType.TokenTransfer: {\n\t\t\tconst recipient = readCV(r);\n\t\t\tconst amount = r.readBigUInt64BE();\n\t\t\t// Memo is a flat 34-byte field (no length prefix) per SIP-005\n\t\t\tconst memoBytes = r.readBytes(MEMO_MAX_LENGTH_BYTES);\n\t\t\tconst memo = bytesToAscii(memoBytes).replace(/\\0+$/, \"\");\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TokenTransfer,\n\t\t\t\trecipient,\n\t\t\t\tamount,\n\t\t\t\tmemo,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.ContractCall: {\n\t\t\tconst contractAddress = readAddress(r);\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst functionName = readLPString(r);\n\t\t\tconst numArgs = r.readUInt32BE();\n\t\t\tconst functionArgs: ClarityValue[] = [];\n\t\t\tfor (let i = 0; i < numArgs; i++) functionArgs.push(readCV(r));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.ContractCall,\n\t\t\t\tcontractAddress,\n\t\t\t\tcontractName,\n\t\t\t\tfunctionName,\n\t\t\t\tfunctionArgs,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.SmartContract: {\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn { payloadType: PayloadType.SmartContract, contractName, codeBody };\n\t\t}\n\t\tcase PayloadType.VersionedSmartContract: {\n\t\t\tconst clarityVersion = r.readUInt8() as ClarityVersion;\n\t\t\tconst contractName = readLPString(r);\n\t\t\tconst codeBody = readLPString(r, 4);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.VersionedSmartContract,\n\t\t\t\tclarityVersion,\n\t\t\t\tcontractName,\n\t\t\t\tcodeBody,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.Coinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.Coinbase, coinbaseBuffer };\n\t\t}\n\t\tcase PayloadType.CoinbaseToAltRecipient: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst recipient = readCV(r);\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.CoinbaseToAltRecipient,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.PoisonMicroblock: {\n\t\t\tconst header1 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\tconst header2 = bytesToHex(r.readBytes(MICROBLOCK_HEADER_BYTES_LENGTH));\n\t\t\treturn { payloadType: PayloadType.PoisonMicroblock, header1, header2 };\n\t\t}\n\t\tcase PayloadType.TenureChange: {\n\t\t\tconst tenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst prevTenureConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst burnViewConsensusHash = bytesToHex(r.readBytes(20));\n\t\t\tconst previousTenureEnd = bytesToHex(r.readBytes(32));\n\t\t\tconst previousTenureBlocks = r.readUInt32BE();\n\t\t\tconst cause = r.readUInt8() as TenureChangeCause;\n\t\t\tconst pubkeyHash = bytesToHex(r.readBytes(20));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.TenureChange,\n\t\t\t\ttenureConsensusHash,\n\t\t\t\tprevTenureConsensusHash,\n\t\t\t\tburnViewConsensusHash,\n\t\t\t\tpreviousTenureEnd,\n\t\t\t\tpreviousTenureBlocks,\n\t\t\t\tcause,\n\t\t\t\tpubkeyHash,\n\t\t\t};\n\t\t}\n\t\tcase PayloadType.NakamotoCoinbase: {\n\t\t\tconst coinbaseBuffer = bytesToHex(r.readBytes(COINBASE_BYTES_LENGTH));\n\t\t\tconst optionalCV = readCV(r);\n\t\t\tconst recipient =\n\t\t\t\toptionalCV.type === \"none\"\n\t\t\t\t\t? null\n\t\t\t\t\t: optionalCV.type === \"some\"\n\t\t\t\t\t\t? optionalCV.value\n\t\t\t\t\t\t: optionalCV;\n\t\t\tconst vrfProof = bytesToHex(r.readBytes(VRF_PROOF_BYTES_LENGTH));\n\t\t\treturn {\n\t\t\t\tpayloadType: PayloadType.NakamotoCoinbase,\n\t\t\t\tcoinbaseBuffer,\n\t\t\t\trecipient,\n\t\t\t\tvrfProof,\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown payload type: ${payloadType}`);\n\t}\n}\n\nexport function deserializePostConditionWire(\n\tinput: string | Uint8Array,\n): PostConditionWire {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readPostCondition(new BytesReader(bytes));\n}\n\nexport function deserializeTransaction(\n\tinput: string | Uint8Array,\n\tmeta?: { _multisig?: { publicKeys: string[] } },\n): StacksTransaction {\n\tconst bytes =\n\t\ttypeof input === \"string\" ? hexToBytes(without0x(input)) : input;\n\treturn readTransaction(new BytesReader(bytes), meta);\n}\n\n/**\n * Split `count` back-to-back consensus-serialized transactions (a block body\n * after its u32 count) into each one's exact bytes, which hash to its txid.\n * Transactions carry no length prefix, so each is parsed to find its end.\n * Throws on a truncated or malformed transaction; bytes past the last one are\n * left for the caller to judge.\n */\nexport function splitTransactions(\n\tbytes: Uint8Array,\n\tcount: number,\n): Uint8Array[] {\n\tconst r = new BytesReader(bytes);\n\tconst out: Uint8Array[] = [];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst start = r.offset;\n\t\treadTransaction(r);\n\t\tout.push(bytes.subarray(start, r.offset));\n\t}\n\treturn out;\n}\n\nfunction readTransaction(\n\tr: BytesReader,\n\tmeta?: { _multisig?: { publicKeys: string[] } },\n): StacksTransaction {\n\tconst tx: StacksTransaction = {\n\t\tversion: r.readUInt8(),\n\t\tchainId: r.readUInt32BE(),\n\t\tauth: readAuthorization(r),\n\t\tanchorMode: r.readUInt8() as AnchorMode,\n\t\tpostConditionMode: r.readUInt8() as PostConditionModeWire,\n\t\tpostConditions: readPostConditions(r),\n\t\tpayload: readPayload(r),\n\t};\n\tif (meta?._multisig) {\n\t\ttx._multisig = meta._multisig;\n\t}\n\treturn tx;\n}\n",
@@ -49,7 +49,7 @@
49
49
  "import { getContract } from \"../actions/getContract.ts\";\nimport { SIP010_ABI } from \"../clarity/abi/standards.ts\";\nimport type { Client } from \"../clients/types.ts\";\nimport { Pc } from \"../postconditions/index.ts\";\nimport {\n\tDATA_CORE_V1_ABI,\n\tDATA_CORE_V3_ABI,\n\tRESERVE_V1_ABI,\n\tSTACKING_DAO_CORE_ABI,\n} from \"./abi.ts\";\nimport { STACKINGDAO_CONTRACTS, TRAIT_CONTRACTS } from \"./constants.ts\";\nimport type {\n\tDepositParams,\n\tExchangeRateInfo,\n\tFeeInfo,\n\tInitWithdrawParams,\n\tWithdrawIdleParams,\n\tWithdrawParams,\n\tWithdrawalInfo,\n} from \"./types.ts\";\n\nfunction assertMainnet(client: Client) {\n\tif (!client.chain) {\n\t\tthrow new Error(\"Client must have a chain configured\");\n\t}\n\tif (client.chain.network !== \"mainnet\") {\n\t\tthrow new Error(\"StackingDAO is only available on mainnet\");\n\t}\n}\n\nfunction getCoreContract(client: Client) {\n\tassertMainnet(client);\n\tconst c = STACKINGDAO_CONTRACTS.core;\n\treturn getContract({\n\t\tclient,\n\t\taddress: c.address,\n\t\tname: c.name,\n\t\tabi: STACKING_DAO_CORE_ABI,\n\t});\n}\n\nfunction getStstxToken(client: Client) {\n\tassertMainnet(client);\n\tconst c = STACKINGDAO_CONTRACTS.ststxToken;\n\treturn getContract({\n\t\tclient,\n\t\taddress: c.address,\n\t\tname: c.name,\n\t\tabi: SIP010_ABI,\n\t});\n}\n\nfunction getDataCoreV1(client: Client) {\n\tassertMainnet(client);\n\tconst c = STACKINGDAO_CONTRACTS.dataCoreV1;\n\treturn getContract({\n\t\tclient,\n\t\taddress: c.address,\n\t\tname: c.name,\n\t\tabi: DATA_CORE_V1_ABI,\n\t});\n}\n\nfunction getDataCoreV3(client: Client) {\n\tassertMainnet(client);\n\tconst c = STACKINGDAO_CONTRACTS.dataCore;\n\treturn getContract({\n\t\tclient,\n\t\taddress: c.address,\n\t\tname: c.name,\n\t\tabi: DATA_CORE_V3_ABI,\n\t});\n}\n\nfunction getReserveContract(client: Client) {\n\tassertMainnet(client);\n\tconst c = STACKINGDAO_CONTRACTS.reserve;\n\treturn getContract({\n\t\tclient,\n\t\taddress: c.address,\n\t\tname: c.name,\n\t\tabi: RESERVE_V1_ABI,\n\t});\n}\n\nconst traits = {\n\treserve: TRAIT_CONTRACTS.reserve,\n\tcommissionContract: TRAIT_CONTRACTS.commission,\n\tstakingContract: TRAIT_CONTRACTS.staking,\n\tdirectHelpers: TRAIT_CONTRACTS.directHelpers,\n};\n\n// ── User Actions ──\n\nexport async function deposit(\n\tclient: Client,\n\tparams: DepositParams,\n): Promise<string> {\n\tconst core = getCoreContract(client);\n\treturn core.call.deposit(\n\t\t{\n\t\t\t...traits,\n\t\t\tstxAmount: params.amount,\n\t\t\treferrer: params.referrer ?? null,\n\t\t\tpool: params.pool ?? null,\n\t\t},\n\t\t{\n\t\t\tpostConditions: client.account?.address\n\t\t\t\t? [\n\t\t\t\t\t\tPc.principal(client.account.address)\n\t\t\t\t\t\t\t.willSendEq(params.amount)\n\t\t\t\t\t\t\t.ustx(),\n\t\t\t\t\t]\n\t\t\t\t: [],\n\t\t},\n\t);\n}\n\nexport async function initWithdraw(\n\tclient: Client,\n\tparams: InitWithdrawParams,\n): Promise<string> {\n\tconst core = getCoreContract(client);\n\tconst ststx = STACKINGDAO_CONTRACTS.ststxToken;\n\treturn core.call.initWithdraw(\n\t\t{\n\t\t\treserve: traits.reserve,\n\t\t\tdirectHelpers: traits.directHelpers,\n\t\t\tststxAmount: params.ststxAmount,\n\t\t},\n\t\t{\n\t\t\tpostConditions: client.account?.address\n\t\t\t\t? [\n\t\t\t\t\t\tPc.principal(client.account.address)\n\t\t\t\t\t\t\t.willSendEq(params.ststxAmount)\n\t\t\t\t\t\t\t.ft(`${ststx.address}.${ststx.name}`, \"ststx\"),\n\t\t\t\t\t]\n\t\t\t\t: [],\n\t\t},\n\t);\n}\n\nexport async function withdraw(\n\tclient: Client,\n\tparams: WithdrawParams,\n): Promise<string> {\n\tconst core = getCoreContract(client);\n\treturn core.call.withdraw({\n\t\treserve: traits.reserve,\n\t\tcommissionContract: traits.commissionContract,\n\t\tstakingContract: traits.stakingContract,\n\t\tnftId: params.nftId,\n\t});\n}\n\nexport async function withdrawIdle(\n\tclient: Client,\n\tparams: WithdrawIdleParams,\n): Promise<string> {\n\tconst core = getCoreContract(client);\n\tconst ststx = STACKINGDAO_CONTRACTS.ststxToken;\n\treturn core.call.withdrawIdle(\n\t\t{\n\t\t\treserve: traits.reserve,\n\t\t\tdirectHelpers: traits.directHelpers,\n\t\t\tcommissionContract: traits.commissionContract,\n\t\t\tstakingContract: traits.stakingContract,\n\t\t\tststxAmount: params.ststxAmount,\n\t\t},\n\t\t{\n\t\t\tpostConditions: client.account?.address\n\t\t\t\t? [\n\t\t\t\t\t\tPc.principal(client.account.address)\n\t\t\t\t\t\t\t.willSendEq(params.ststxAmount)\n\t\t\t\t\t\t\t.ft(`${ststx.address}.${ststx.name}`, \"ststx\"),\n\t\t\t\t\t]\n\t\t\t\t: [],\n\t\t},\n\t);\n}\n\n// ── Read-only Queries ──\n\nexport async function getStSTXBalance(\n\tclient: Client,\n\taddress: string,\n): Promise<bigint> {\n\tconst token = getStstxToken(client);\n\treturn (await token.read.getBalance({ account: address })) as bigint;\n}\n\nexport async function getExchangeRate(\n\tclient: Client,\n): Promise<ExchangeRateInfo> {\n\tconst reserve = getReserveContract(client);\n\tconst dataV3 = getDataCoreV3(client);\n\n\tconst [totalStx, ststxSupply] = await Promise.all([\n\t\treserve.read.getTotalStx({}) as Promise<bigint>,\n\t\tgetTotalSupply(client),\n\t]);\n\n\tconst stxPerStstx = (await dataV3.read.getStxPerStstxHelper({\n\t\tstxAmount: totalStx,\n\t})) as bigint;\n\n\treturn { stxPerStstx, ststxSupply, totalStx };\n}\n\nexport async function getTotalSupply(client: Client): Promise<bigint> {\n\tconst token = getStstxToken(client);\n\treturn (await token.read.getTotalSupply({})) as bigint;\n}\n\nexport async function getWithdrawalInfo(\n\tclient: Client,\n\tnftId: bigint,\n): Promise<WithdrawalInfo> {\n\tconst dataV1 = getDataCoreV1(client);\n\treturn (await dataV1.read.getWithdrawalsByNft({\n\t\tnftId,\n\t})) as WithdrawalInfo;\n}\n\nexport async function getFees(client: Client): Promise<FeeInfo> {\n\tconst core = getCoreContract(client);\n\tconst [stackFee, unstackFee, withdrawIdleFee] = await Promise.all([\n\t\tcore.read.getStackFee({}) as Promise<bigint>,\n\t\tcore.read.getUnstackFee({}) as Promise<bigint>,\n\t\tcore.read.getWithdrawIdleFee({}) as Promise<bigint>,\n\t]);\n\treturn { stackFee, unstackFee, withdrawIdleFee };\n}\n\nexport async function getReserveBalance(client: Client): Promise<bigint> {\n\tconst reserve = getReserveContract(client);\n\treturn (await reserve.read.getTotalStx({})) as bigint;\n}\n\nexport async function getShutdownDeposits(client: Client): Promise<boolean> {\n\tconst core = getCoreContract(client);\n\treturn (await core.read.getShutdownDeposits({})) as boolean;\n}\n",
50
50
  "import type { Client } from \"../clients/types.ts\";\nimport {\n\tdeposit,\n\tgetExchangeRate,\n\tgetFees,\n\tgetReserveBalance,\n\tgetShutdownDeposits,\n\tgetStSTXBalance,\n\tgetTotalSupply,\n\tgetWithdrawalInfo,\n\tinitWithdraw,\n\twithdraw,\n\twithdrawIdle,\n} from \"./actions.ts\";\nimport type {\n\tDepositParams,\n\tExchangeRateInfo,\n\tFeeInfo,\n\tInitWithdrawParams,\n\tWithdrawIdleParams,\n\tWithdrawParams,\n\tWithdrawalInfo,\n} from \"./types.ts\";\n\nexport type {\n\tDepositParams,\n\tInitWithdrawParams,\n\tWithdrawParams,\n\tWithdrawIdleParams,\n\tExchangeRateInfo,\n\tWithdrawalInfo,\n\tFeeInfo,\n};\n/** Actions provided by the StackingDAO extension. */\nexport type StackingDaoActions = {\n\tstackingDao: {\n\t\tdeposit: (params: DepositParams) => Promise<string>;\n\t\tinitWithdraw: (params: InitWithdrawParams) => Promise<string>;\n\t\twithdraw: (params: WithdrawParams) => Promise<string>;\n\t\twithdrawIdle: (params: WithdrawIdleParams) => Promise<string>;\n\t\tgetStSTXBalance: (address: string) => Promise<bigint>;\n\t\tgetExchangeRate: () => Promise<ExchangeRateInfo>;\n\t\tgetTotalSupply: () => Promise<bigint>;\n\t\tgetWithdrawalInfo: (nftId: bigint) => Promise<WithdrawalInfo>;\n\t\tgetFees: () => Promise<FeeInfo>;\n\t\tgetReserveBalance: () => Promise<bigint>;\n\t\tgetShutdownDeposits: () => Promise<boolean>;\n\t};\n};\n\nexport { STACKINGDAO_CONTRACTS, TRAIT_CONTRACTS } from \"./constants.ts\";\n\n/**\n * StackingDAO liquid staking extension.\n * Deposit STX → receive stSTX. Auto-compounding stacking rewards.\n *\n * @example\n * import { createWalletClient, http, mainnet } from \"stacks\";\n * import { stackingDao } from \"stacks/stackingdao\";\n *\n * const client = createWalletClient({ ... }).extend(stackingDao());\n *\n * // Deposit STX for stSTX\n * await client.stackingDao.deposit({ amount: 100_000_000_000n });\n *\n * // Check exchange rate\n * const rate = await client.stackingDao.getExchangeRate();\n */\nexport function stackingDao(): (client: Client) => StackingDaoActions {\n\treturn (client: Client) => ({\n\t\tstackingDao: {\n\t\t\t/** Deposit STX, receive stSTX. */\n\t\t\tdeposit: (params: DepositParams) => deposit(client, params),\n\n\t\t\t/** Initiate withdrawal — burns stSTX, mints NFT receipt. */\n\t\t\tinitWithdraw: (params: InitWithdrawParams) =>\n\t\t\t\tinitWithdraw(client, params),\n\n\t\t\t/** Finalize withdrawal — burns NFT, receive STX. */\n\t\t\twithdraw: (params: WithdrawParams) => withdraw(client, params),\n\n\t\t\t/** Withdraw idle STX instantly (burns stSTX). */\n\t\t\twithdrawIdle: (params: WithdrawIdleParams) =>\n\t\t\t\twithdrawIdle(client, params),\n\n\t\t\t/** Get stSTX balance for an address. */\n\t\t\tgetStSTXBalance: (address: string) => getStSTXBalance(client, address),\n\n\t\t\t/** Get current STX/stSTX exchange rate info. */\n\t\t\tgetExchangeRate: () => getExchangeRate(client),\n\n\t\t\t/** Get total stSTX supply. */\n\t\t\tgetTotalSupply: () => getTotalSupply(client),\n\n\t\t\t/** Get withdrawal NFT info by ID. Returns tuple with amounts and unlock height. */\n\t\t\tgetWithdrawalInfo: (nftId: bigint) => getWithdrawalInfo(client, nftId),\n\n\t\t\t/** Get current fee rates. */\n\t\t\tgetFees: () => getFees(client),\n\n\t\t\t/** Get total STX in reserve. */\n\t\t\tgetReserveBalance: () => getReserveBalance(client),\n\n\t\t\t/** Check if deposits are shut down. */\n\t\t\tgetShutdownDeposits: () => getShutdownDeposits(client),\n\t\t},\n\t});\n}\n"
51
51
  ],
52
- "mappings": "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",
53
- "debugId": "E5206120EEDFD99E64756E2164756E21",
52
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,SAAS,WAAW,CAAC,KAAqB;AAAA,EAChD,OAAO,IACL,QAAQ,aAAa,CAAC,GAAG,WAAW,OAAO,YAAY,CAAC,EACxD,QAAQ,aAAa,CAAC,GAAG,WAAW,MAAM,EAC1C,QAAQ,UAAU,CAAC,GAAG,UAAU,KAAK,EACrC,QAAQ,MAAM,EAAE,EAChB,QAAQ,OAAO,KAAK;AAAA;;;AChBA,IAAvB;;;ACAA,IAAM,QAAQ,MAAM,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,GAAG,MAC7C,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAC/B;AAEO,SAAS,UAAU,CAAC,OAA2B;AAAA,EACrD,IAAI,MAAM;AAAA,EACV,WAAW,KAAK,OAAO;AAAA,IACtB,OAAO,MAAM;AAAA,EACd;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,UAAU,CAAC,KAAyB;AAAA,EACnD,IAAI,IAAI,UAAU,GAAG;AAAA,EAErB,IAAI,CAAC,iBAAiB,KAAK,CAAC;AAAA,IAAG,MAAM,IAAI,MAAM,uBAAuB;AAAA,EACtE,IAAI,EAAE,SAAS;AAAA,IAAG,IAAI,IAAI;AAAA,EAE1B,MAAM,QAAQ,IAAI,WAAW,EAAE,SAAS,CAAC;AAAA,EACzC,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,IACtC,MAAM,IAAI,IAAI;AAAA,IACd,MAAM,OAAO,OAAO,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE;AAAA,IAClD,IAAI,OAAO,MAAM,IAAI,KAAK,OAAO;AAAA,MAChC,MAAM,IAAI,MAAM,uBAAuB;AAAA,IACxC,MAAM,KAAK;AAAA,EACZ;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,MAAM,CAAC,OAAuB;AAAA,EAC7C,OAAO,OAAO,KAAK,KAAK,IAAI,QAAQ,KAAK;AAAA;AAGnC,SAAS,SAAS,CAAC,OAAuB;AAAA,EAChD,OAAO,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC,IAAI;AAAA;AAGvC,SAAS,WAAW,CAAC,KAAyB;AAAA,EACpD,OAAO,IAAI,YAAY,EAAE,OAAO,GAAG;AAAA;AAG7B,SAAS,WAAW,CAAC,OAA2B;AAAA,EACtD,OAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AAAA;AAG/B,SAAS,YAAY,CAAC,KAAyB;AAAA,EACrD,MAAM,QAAQ,IAAI,WAAW,IAAI,MAAM;AAAA,EACvC,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,IACpC,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;AAID,SAAS,OAAO,CAAC,KAAsB;AAAA,EAC7C,SAAS,IAAI,EAAG,IAAI,IAAI,QAAQ,KAAK;AAAA,IACpC,IAAI,IAAI,WAAW,CAAC,IAAI;AAAA,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,YAAY,CAAC,OAA2B;AAAA,EACvD,OAAO,OAAO,aAAa,GAAG,KAAK;AAAA;AAG7B,SAAS,WAAW,IAAI,QAAkC;AAAA,EAEhE,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO,OAAO;AAAA,EACvC,MAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,IAAI,IAAI,QAAQ,CAAC;AAAA,EAC1D,MAAM,SAAS,IAAI,WAAW,MAAM;AAAA,EACpC,IAAI,MAAM;AAAA,EACV,WAAW,OAAO,QAAQ;AAAA,IACzB,OAAO,IAAI,KAAK,GAAG;AAAA,IACnB,OAAO,IAAI;AAAA,EACZ;AAAA,EACA,OAAO;AAAA;AAKD,SAAS,WAAW,CAAC,OAA4B;AAAA,EACvD,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI,OAAO,UAAU,UAAU;AAAA,IAE9B,IAAI,MAAM,KAAK,MAAM;AAAA,MACpB,MAAM,IAAI,YAAY,8CAA8C;AAAA,IACrE,OAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EACA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC9B,IAAI,CAAC,OAAO,UAAU,KAAK;AAAA,MAC1B,MAAM,IAAI,WAAW,6CAA6C;AAAA,IACnE,IAAI,QAAQ,OAAO;AAAA,MAClB,MAAM,IAAI,WACT,sCAAsC,OAAO,uCAC9C;AAAA,IACD,OAAO,OAAO,KAAK;AAAA,EACpB;AAAA,EACA,IAAI,iBAAiB;AAAA,IAAY,OAAO,OAAO,KAAK,WAAW,KAAK,GAAG;AAAA,EACvE,MAAM,IAAI,UAAU,kDAAkD;AAAA;AAGhE,SAAS,UAAU,CAAC,OAAoB,YAAgC;AAAA,EAC9E,OAAO,cAAc,YAAY,KAAK,GAAG,UAAU;AAAA;AAG7C,SAAS,aAAa,CAAC,OAAe,SAAS,IAAgB;AAAA,EACrE,MAAM,MAAM,MAAM,SAAS,EAAE,EAAE,SAAS,SAAS,GAAG,GAAG;AAAA,EACvD,OAAO,WAAW,GAAG;AAAA;AAGf,SAAS,QAAQ,CAAC,SAAsB,aAAa,GAAW;AAAA,EACtE,MAAM,QAAQ,OAAO,YAAY,WAAW,UAAU,YAAY,OAAO;AAAA,EACzE,OAAO,MAAM,SAAS,EAAE,EAAE,SAAS,aAAa,GAAG,GAAG;AAAA;AAGhD,SAAS,MAAM,CAAC,OAAe,OAAuB;AAAA,EAC5D,MAAM,QAAQ,OAAO,CAAC,KAAM,QAAQ,OAAO,CAAC;AAAA,EAC5C,IAAI,QAAQ,CAAC,SAAS,QAAQ,QAAQ,OAAO,CAAC,GAAG;AAAA,IAChD,MAAM,IAAI,MAAM,yCAAyC,OAAO;AAAA,EACjE;AAAA,EACA,IAAI,SAAS,OAAO,CAAC;AAAA,IAAG,OAAO;AAAA,EAC/B,OAAO,SAAS,OAAO,CAAC,KAAK;AAAA;AAGvB,SAAS,QAAQ,CAAC,OAAe,OAAuB;AAAA,EAC9D,IAAI,QAAS,OAAO,CAAC,KAAM,QAAQ,OAAO,CAAC,GAAK;AAAA,IAC/C,OAAO,SAAS,OAAO,CAAC,KAAK;AAAA,EAC9B;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,iBAAiB,CAAC,OAA2B;AAAA,EAC5D,IAAI,MAAM,WAAW;AAAA,IAAG,OAAO;AAAA,EAC/B,MAAM,MAAM,WAAW,KAAK;AAAA,EAC5B,IAAI,IAAI,WAAW;AAAA,IAAG,OAAO;AAAA,EAC7B,OAAO,SAAS,OAAO,KAAK,KAAK,GAAG,OAAO,MAAM,aAAa,CAAC,CAAC;AAAA;AAG1D,SAAS,aAAa,CAAC,OAA2B;AAAA,EACxD,MAAM,MAAM,IAAI,WAAW,CAAC;AAAA,EAC5B,IAAI,KAAM,UAAU,KAAM;AAAA,EAC1B,IAAI,KAAM,UAAU,KAAM;AAAA,EAC1B,IAAI,KAAM,UAAU,IAAK;AAAA,EACzB,IAAI,KAAK,QAAQ;AAAA,EACjB,OAAO;AAAA;AAGD,SAAS,YAAY,CAAC,OAAmB,SAAS,GAAW;AAAA,EACnE,QAEG,MAAM,WAAY,KAElB,MAAM,SAAS,MAAO,KAEtB,MAAM,SAAS,MAAO,IAEvB,MAAM,SAAS,QAChB;AAAA;AAIK,SAAS,aAAa,CAAC,OAA2B;AAAA,EACxD,MAAM,MAAM,IAAI,WAAW,CAAC;AAAA,EAC5B,IAAI,KAAM,UAAU,IAAK;AAAA,EACzB,IAAI,KAAK,QAAQ;AAAA,EACjB,OAAO;AAAA;AAGD,SAAS,YAAY,CAAC,OAAmB,SAAS,GAAW;AAAA,EAEnE,QAAS,MAAM,WAAY,IAAK,MAAM,SAAS,QAAS;AAAA;AAGlD,SAAS,UAAU,CAAC,OAA2B;AAAA,EACrD,OAAO,IAAI,WAAW,CAAC,QAAQ,GAAI,CAAC;AAAA;;;AD3KrC,IAAM,MAAM;AACZ,IAAM,MAAM;AAEZ,SAAS,YAAY,CAAC,OAAuB;AAAA,EAC5C,OAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA;AAGlE,SAAS,SAAS,CAAC,UAA0B;AAAA,EAC5C,IAAI,MAAM;AAAA,EACV,IAAI,IAAI,SAAS,MAAM;AAAA,IAAG,MAAM,IAAI;AAAA,EACpC,MAAM,IAAI,YAAY;AAAA,EAEtB,MAAM,MAAgB,CAAC;AAAA,EACvB,IAAI,QAAQ;AAAA,EACZ,SAAS,IAAI,IAAI,SAAS,EAAG,KAAK,GAAG,KAAK;AAAA,IACzC,IAAI,QAAQ,GAAG;AAAA,MAEd,MAAM,cAAc,IAAI,QAAQ,IAAI,EAAG,KAAK;AAAA,MAE5C,MAAM,WAAW,MAAM,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAG,IAAI;AAAA,MACtD,MAAM,WAAW,IAAI;AAAA,MACrB,MAAM,cAAe,YAAY,KAAK,aAAe,IAAI;AAAA,MAEzD,IAAI,QAAQ,IAAI,cAAc,YAAa;AAAA,MAC3C,QAAQ;AAAA,IACT,EAAO;AAAA,MACN,QAAQ;AAAA;AAAA,EAEV;AAAA,EAGA,IAAI,eAAe;AAAA,EACnB,OAAO,eAAe,IAAI,UAAU,IAAI,kBAAkB;AAAA,IAAK;AAAA,EAC/D,MAAM,WAAW,IAAI,MAAM,YAAY;AAAA,EAGvC,MAAM,QAAQ,WAAW,GAAG;AAAA,EAC5B,IAAI,iBAAiB;AAAA,EACrB,OAAO,iBAAiB,MAAM,UAAU,MAAM,oBAAoB;AAAA,IACjE;AAAA,EACD,MAAM,SAAS,MAAM,cAAc,EAAE,KAAK,IAAI,EAAE;AAAA,EAEhD,OAAO,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE;AAAA;AAGxC,SAAS,SAAS,CAAC,UAA0B;AAAA,EAC5C,MAAM,QAAQ,aAAa,QAAQ;AAAA,EACnC,IAAI,CAAC,MAAM,MAAM,KAAK,QAAQ;AAAA,IAAG,MAAM,IAAI,MAAM,0BAA0B;AAAA,EAE3E,MAAM,aAAa,MAAM,MAAM,IAAI,IAAI,KAAK;AAAA,EAC5C,MAAM,sBAAsB,aAAa,WAAW,IAAI,SAAS;AAAA,EAEjE,MAAM,MAAgB,CAAC;AAAA,EACvB,IAAI,QAAQ;AAAA,EACZ,IAAI,YAAY;AAAA,EAChB,SAAS,IAAI,MAAM,SAAS,EAAG,KAAK,GAAG,KAAK;AAAA,IAC3C,IAAI,cAAc,GAAG;AAAA,MAEpB,IAAI,QAAQ,IAAI,MAAO;AAAA,MACvB,YAAY;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IAEA,MAAM,gBAAgB,IAAI,QAAQ,MAAM,EAAG,KAAK,aAAa;AAAA,IAE7D,IAAI,QAAQ,IAAI,eAAe,GAAI;AAAA,IACnC,aAAa;AAAA,IACb,QAAQ,gBAAgB;AAAA,IACxB,IAAI,QAAQ,KAAK;AAAA,MAAW,MAAM,IAAI,MAAM,6BAA6B;AAAA,EAC1E;AAAA,EAEA,IAAI,QAAQ,IAAI,MAAO;AAAA,EAEvB,IAAI,IAAI,SAAS,MAAM;AAAA,IAAG,IAAI,QAAQ,GAAG;AAAA,EAGzC,IAAI,kBAAkB;AAAA,EACtB,OAAO,kBAAkB,IAAI,UAAU,IAAI,qBAAqB;AAAA,IAC/D;AAAA,EACD,IAAI,SAAS,IAAI,MAAM,kBAAmB,kBAAkB,CAAE,EAAE,KAAK,EAAE;AAAA,EAEvE,SAAS,IAAI,EAAG,IAAI,qBAAqB;AAAA,IAAK,SAAS,KAAK;AAAA,EAE5D,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,SAAyB;AAAA,EAC7C,OAAO,WAAW,mBAAO,mBAAO,WAAW,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;AAAA;AAGlE,SAAS,cAAc,CAAC,SAAiB,MAAsB;AAAA,EAC9D,IAAI,UAAU,KAAK,WAAW;AAAA,IAC7B,MAAM,IAAI,MAAM,4CAA4C;AAAA,EAC7D,IAAI,CAAC,KAAK,MAAM,gBAAgB;AAAA,IAC/B,MAAM,IAAI,MAAM,iCAAiC;AAAA,EAElD,IAAI,IAAI,KAAK,YAAY;AAAA,EACzB,IAAI,EAAE,SAAS,MAAM;AAAA,IAAG,IAAI,IAAI;AAAA,EAEhC,IAAI,aAAa,QAAQ,SAAS,EAAE;AAAA,EACpC,IAAI,WAAW,WAAW;AAAA,IAAG,aAAa,IAAI;AAAA,EAE9C,MAAM,cAAc,YAAY,GAAG,aAAa,GAAG;AAAA,EACnD,OAAO,GAAG,IAAI,WAAW,UAAU,GAAG,IAAI,aAAa;AAAA;AAGxD,SAAS,cAAc,CAAC,SAAmC;AAAA,EAC1D,MAAM,aAAa,aAAa,OAAO;AAAA,EACvC,MAAM,UAAU,UAAU,WAAW,MAAM,CAAC,CAAC;AAAA,EAE7C,MAAM,UAAU,IAAI,QAAQ,WAAW,EAAG;AAAA,EAC1C,MAAM,WAAW,QAAQ,MAAM,EAAE;AAAA,EAEjC,IAAI,aAAa,QAAQ,SAAS,EAAE;AAAA,EACpC,IAAI,WAAW,WAAW;AAAA,IAAG,aAAa,IAAI;AAAA,EAE9C,IACC,YAAY,GAAG,aAAa,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,GAAG,MACtE,UACC;AAAA,IACD,MAAM,IAAI,MAAM,4CAA4C;AAAA,EAC7D;AAAA,EAEA,OAAO,CAAC,SAAS,QAAQ,UAAU,GAAG,QAAQ,SAAS,CAAC,CAAC;AAAA;AAGnD,SAAS,UAAU,CAAC,SAAiB,YAA4B;AAAA,EACvE,IAAI,CAAC,WAAW,MAAM,mBAAmB,GAAG;AAAA,IAC3C,MAAM,IAAI,MAAM,4CAA4C;AAAA,EAC7D;AAAA,EACA,OAAO,IAAI,eAAe,SAAS,UAAU;AAAA;AAGvC,SAAS,gBAAgB,CAAC,SAAmC;AAAA,EACnE,IAAI,QAAQ,UAAU;AAAA,IACrB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD,IAAI,QAAQ,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,0CAA0C;AAAA,EAC3D,OAAO,eAAe,QAAQ,MAAM,CAAC,CAAC;AAAA;;;AE5IhC,IAAM,YAAoB,MAAM,QAAQ;AACxC,IAAM,YAAoB,MAAM,QAAQ;AACxC,IAAM,WAAmB,EAAE,MAAM;AAGjC,IAAM,iBAAiB;AAAA,EAC7B,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,iBAAiB;AAClB;AAKO,IAAM,eAAe;AAErB,IAAM,uBAAuB;AAG7B,IAAM,mBAAmB;;;ACrBN,IAA1B;AACuB,IAAvB;AAC2B,IAA3B;AAMO,SAAS,OAAO,CAAC,OAA+B;AAAA,EACtD,OAAO,wBAAU,oBAAO,KAAK,CAAC;AAAA;AAIxB,SAAS,aAAa,CAAC,MAA0B;AAAA,EACvD,OAAO,WAAW,wBAAW,IAAI,CAAC;AAAA;AAI5B,SAAS,SAAS,CAAC,OAA2B;AAAA,EACpD,OAAO,WAAW,QAAQ,KAAK,CAAC;AAAA;;;ACT1B,SAAS,kBAAkB,CACjC,WACA,UAAiC,WACxB;AAAA,EACT,MAAM,QACL,OAAO,cAAc,WAClB,WAAW,UAAU,SAAS,CAAC,IAC/B;AAAA,EACJ,MAAM,UACL,YAAY,YACT,eAAe,mBACf,eAAe;AAAA,EACnB,OAAO,WAAW,SAAS,WAAW,QAAQ,KAAK,CAAC,CAAC;AAAA;AAM/C,IAAM,sBAA8B;AAEpC,SAAS,qBAAqB,CAAC,SAA0B;AAAA,EAC/D,IAAI;AAAA,IACH,iBAAiB,OAAO;AAAA,IACxB,OAAO;AAAA,IACN,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAKF,IAAM,iBACZ;AAMM,SAAS,cAAc,CAC7B,OACoD;AAAA,EACpD,MAAM,QAAQ,MAAM,MAAM,GAAG;AAAA,EAC7B,IAAI,MAAM,SAAS;AAAA,IAAG,OAAO;AAAA,EAC7B,OAAO,SAAS,gBAAgB;AAAA,EAChC,IAAI,CAAC,sBAAsB,OAAO;AAAA,IAAG,OAAO;AAAA,EAC5C,IAAI,iBAAiB;AAAA,IAAW,OAAO,EAAE,QAAQ;AAAA,EACjD,IAAI,CAAC,oBAAoB,KAAK,YAAY;AAAA,IAAG,OAAO;AAAA,EACpD,OAAO,EAAE,SAAS,aAAa;AAAA;AAKzB,SAAS,eAAe,CAAC,YAAsC;AAAA,EACrE,MAAM,SAAS,eAAe,UAAU;AAAA,EACxC,IAAI,CAAC,QAAQ;AAAA,IACZ,MAAM,IAAI,MAAM,gCAAgC,YAAY;AAAA,EAC7D,OAAO,CAAC,OAAO,SAAS,OAAO,YAAY;AAAA;AAGrC,SAAS,aAAa,CAAC,MAAuB;AAAA,EACpD,MAAM,QAAQ;AAAA,EACd,OAAO,MAAM,KAAK,IAAI,KAAK,KAAK,SAAS;AAAA;AAOnC,SAAS,cAAc,CAAC,GAAW,GAAoB;AAAA,EAC7D,OAAO,UAAU,SAAS,iBAAiB,CAAC;AAAA,EAC5C,OAAO,UAAU,SAAS,iBAAiB,CAAC;AAAA,EAC5C,OAAO,aAAa,YAAY,MAAM,YAAY,MAAM,MAAM,YAAY;AAAA;AAIpE,SAAS,gBAAgB,CAAC,SAAyB;AAAA,EACzD,OAAO,iBAAiB,OAAO,EAAE;AAAA;AAO3B,SAAS,kBAAkB,CACjC,UACA,cACS;AAAA,EACT,IAAI,CAAC,sBAAsB,QAAQ,GAAG;AAAA,IACrC,MAAM,IAAI,MAAM,6BAA6B,UAAU;AAAA,EACxD;AAAA,EACA,IAAI,CAAC,cAAc,YAAY,GAAG;AAAA,IACjC,MAAM,IAAI,MAAM,0BAA0B,cAAc;AAAA,EACzD;AAAA,EACA,OAAO,GAAG,YAAY;AAAA;;ACrFhB,SAAS,SAAS,CAAC,OAAiC;AAAA,EAC1D,OAAO,OAAO,UAAU,YAAY,SAAS,MAAM,SAAS;AAAA;AAGtD,SAAS,QAAQ,CAAC,OAAiC;AAAA,EACzD,OAAO,OAAO,UAAU,YAAY,SAAS,YAAY,SAAS;AAAA;AAG5D,SAAS,MAAM,CAAC,OAAkC;AAAA,EACxD,OAAO,OAAO,UAAU;AAAA;AAGlB,SAAS,WAAW,CAAC,OAAiC;AAAA,EAC5D,OAAO,OAAO,UAAU,YAAY,eAAe,KAAK,MAAM;AAAA;AAGxD,SAAS,mBAAmB,CAAC,OAAiC;AAAA,EACpE,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,MAAM,SAAS,eAAe,KAAK;AAAA,EAEnC,OAAO,WAAW,QAAQ,OAAO,iBAAiB;AAAA;AAG5C,SAAS,mBAAmB,CAAC,OAAiC;AAAA,EACpE,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,MAAM,SAAS,eAAe,KAAK;AAAA,EACnC,OAAO,WAAW,QAAQ,OAAO,iBAAiB;AAAA;AAG5C,SAAS,gBAAgB,CAAC,OAAiC;AAAA,EACjE,OAAO,oBAAoB,KAAK;AAAA;AAG1B,SAAS,QAAQ,CAAC,OAAiC;AAAA,EACzD,OAAO,OAAO,UAAU;AAAA;AAGlB,SAAS,YAAY,CAAC,OAAqC;AAAA,EACjE,OAAO,iBAAiB;AAAA;AAGlB,SAAS,OAAU,CACzB,OACA,WACe;AAAA,EACf,OAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,SAAS;AAAA;AAG9C,SAAS,UAAa,CAC5B,OACA,OACoB;AAAA,EACpB,OAAO,UAAU,QAAQ,MAAM,KAAK;AAAA;AAG9B,SAAS,YAAe,CAE9B,UAC4B;AAAA,EAC5B,OAAO,QAAQ,YAAY,EAAE,SAAS;AAAA;AAGhC,SAAS,aAAgB,CAE/B,UAC6B;AAAA,EAC7B,OAAO,SAAS,YAAY,EAAE,QAAQ;AAAA;AAGhC,SAAS,UAAgB,CAC/B,OACA,SACA,UAC0C;AAAA,EAC1C,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EACxD,MAAM,MAAM;AAAA,EACZ,IAAI,QAAQ,SAAS,EAAE,SAAS;AAAA,IAAQ,OAAO,QAAQ,IAAI,EAAE;AAAA,EAC7D,IAAI,SAAS,SAAS,EAAE,QAAQ;AAAA,IAAQ,OAAO,SAAS,IAAI,GAAG;AAAA,EAC/D,OAAO;AAAA;AAKD,SAAS,SAAS,CAAC,MAAoC;AAAA,EAC7D,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,UAAU;AAAA;AAGxD,SAAS,UAAU,CAAC,MAAqC;AAAA,EAC/D,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,WAAW;AAAA;AAGzD,SAAS,aAAa,CAAC,MAAwC;AAAA,EACrE,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,cAAc;AAAA;AAG5D,SAAS,aAAa,CAAC,MAAwC;AAAA,EACrE,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,cAAc;AAAA;AAG5D,SAAS,WAAW,CAAC,MAAkC;AAAA,EAC7D,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,UAAU;AAAA;AAGxD,SAAS,gBAAgB,CAAC,MAAuC;AAAA,EACvE,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,kBAAkB;AAAA;AAGhE,SAAS,eAAe,CAAC,MAAsC;AAAA,EACrE,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,iBAAiB;AAAA;AAG/D,SAAS,mBAAmB,CAAC,MAA0C;AAAA,EAC7E,OAAO,SAAS;AAAA;;;AC1HjB,SAAS,YAAY,CAAC,MAAsB;AAAA,EAC3C,OAAO,KACL,QAAQ,sBAAsB,OAAO,EACrC,QAAQ,yBAAyB,OAAO,EACxC,YAAY;AAAA;AAAA;AAGR,MAAM,kBAAkB,MAAM;AAAA,EAC3B,OAAO;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EAEA,WAAW,CACV,cACA,SACC;AAAA,IACD,MAAM,UAAU;AAAA,MACf;AAAA,MACA,SAAS,UAAU;AAAA,EAAK,QAAQ,YAAY;AAAA,IAC7C,EAAE,KAAK,EAAE;AAAA,IAET,MAAM,SAAS,EAAE,OAAO,SAAS,MAAM,CAAC;AAAA,IACxC,IAAI,SAAS,SAAS;AAAA,MAAW,KAAK,QAAQ,QAAQ;AAAA,IACtD,KAAK,eAAe;AAAA,IACpB,KAAK,UAAU,SAAS;AAAA;AAAA,MAQrB,IAAI,GAAW;AAAA,IAClB,OAAO,KAAK,SAAS,aAAa,KAAK,IAAI;AAAA;AAAA,MAGxC,IAAI,CAAC,OAAe;AAAA,IACvB,KAAK,QAAQ;AAAA;AAAA,EAGd,MAAM,GAOJ;AAAA,IACD,OAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,cAAc,KAAK;AAAA,MACnB,SAAS,KAAK;AAAA,MACd,OAAO,KAAK,iBAAiB,QAAQ,KAAK,MAAM,UAAU;AAAA,IAC3D;AAAA;AAEF;;;AC/DO,MAAM,yBAAyB,UAAU;AAAA,EACtC,OAAO;AACjB;AAAA;AAmCO,MAAM,uBAAuB,UAAU;AAAA,EACpC,OAAO;AAAA,EAChB;AAAA,EAGA;AAAA,EAEA;AAAA,EAEA,WAAW,CACV,SACA,SAMC;AAAA,IACD,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,SAAS;AAAA,IACrB,KAAK,SAAS,SAAS;AAAA,IACvB,KAAK,aAAa,SAAS;AAAA;AAE7B;AAAA;AAGO,MAAM,gCAAgC,UAAU;AAAA,EAC7C,OAAO;AAAA,EAEhB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA8C;AAAA,IAC1E,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,UAAU,QAAQ;AAAA;AAEzB;AAAA;AAGO,MAAM,gCAAgC,UAAU;AAAA,EAC7C,OAAO;AAAA,EAChB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA0C;AAAA,IACtE,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,QAAQ;AAAA;AAEtB;AAAA;AAGO,MAAM,uCAAuC,UAAU;AAAA,EACpD,OAAO;AAAA,EAChB;AAAA,EAEA,WAAW,CAAC,SAAiB,SAA0C;AAAA,IACtE,MAAM,SAAS,OAAO;AAAA,IACtB,KAAK,OAAO,QAAQ;AAAA;AAEtB;AAAA;AAEO,MAAM,2BAA2B,UAAU;AAAA,EACxC,OAAO;AACjB;AAAA;AAEO,MAAM,qBAAqB,UAAU;AAAA,EAClC,OAAO;AACjB;;;ACrGO,MAAM,YAAY;AAAA,EAChB;AAAA,EACD,SAAS;AAAA,EAEhB,WAAW,CAAC,MAAkB;AAAA,IAC7B,KAAK,OAAO;AAAA;AAAA,EAIb,SAAS,GAAW;AAAA,IACnB,OAAO,KAAK,KAAK,SAAS,KAAK;AAAA;AAAA,EAGxB,MAAM,CAAC,QAAsB;AAAA,IACpC,IAAI,KAAK,SAAS,SAAS,KAAK,KAAK,QAAQ;AAAA,MAC5C,MAAM,IAAI,mBACT,0BAA0B,0BAA0B,KAAK,gBAAgB,KAAK,KAAK,QACpF;AAAA,IACD;AAAA;AAAA,EAGD,SAAS,GAAW;AAAA,IACnB,KAAK,OAAO,CAAC;AAAA,IAEb,OAAO,KAAK,KAAK,KAAK;AAAA;AAAA,EAGvB,YAAY,GAAW;AAAA,IACtB,KAAK,OAAO,CAAC;AAAA,IACb,MAAM,OAEH,KAAK,KAAK,KAAK,WAAY,IAAK,KAAK,KAAK,KAAK,SAAS,QAAS;AAAA,IACpE,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,YAAY,GAAW;AAAA,IACtB,KAAK,OAAO,CAAC;AAAA,IACb,MAAM,OAEH,KAAK,KAAK,KAAK,WAAY,KAE3B,KAAK,KAAK,KAAK,SAAS,MAAO,KAE/B,KAAK,KAAK,KAAK,SAAS,MAAO,IAEhC,KAAK,KAAK,KAAK,SAAS,QACzB;AAAA,IACD,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,SAAS,CAAC,QAA4B;AAAA,IACrC,KAAK,OAAO,MAAM;AAAA,IAClB,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,IAC/D,KAAK,UAAU;AAAA,IACf,OAAO;AAAA;AAAA,EAGR,eAAe,GAAW;AAAA,IACzB,MAAM,MAAM,WAAW,KAAK,UAAU,CAAC,CAAC;AAAA,IACxC,OAAO,IAAI,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI;AAAA;AAE/C;;;AChDO,IAAM,kBAAkB;AAAA,EAC9B,KAAK;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACP;AAGA,IAAM,oBAAoB,OAAO,YAChC,OAAO,QAAQ,eAAe,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CACvD;AAEO,SAAS,mBAAmB,CAAC,MAA2B;AAAA,EAC9D,MAAM,OAAO,kBAAkB;AAAA,EAC/B,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,8BAA8B,MAAM;AAAA,EAC/D,OAAO;AAAA;;;AChBD,SAAS,WAAW,CAAC,QAA6B;AAAA,EACxD,MAAM,UAAU,OAAO,UAAU;AAAA,EACjC,MAAM,UAAU,WAAW,OAAO,UAAU,EAAE,CAAC;AAAA,EAC/C,OAAO,WAAW,SAAS,OAAO;AAAA;AAG5B,SAAS,YAAY,CAAC,QAAqB,cAAc,GAAW;AAAA,EAC1E,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,aAAa,KAAK;AAAA,IACrC,SAAU,UAAU,IAAK,OAAO,UAAU;AAAA,EAC3C;AAAA,EACA,OAAO,YAAY,OAAO,UAAU,MAAM,CAAC;AAAA;AAMrC,IAAM,eAAe;AAK5B,IAAM,sBAAsB;AAC5B,IAAM,wBAAwB;AAE9B,SAAS,UAAU,CAAC,QAAqB,OAAe,UAAkB;AAAA,EACzE,IAAI,QAAQ,WAAW,OAAO,UAAU,GAAG;AAAA,IAC1C,MAAM,IAAI,mBACT,0BAA0B,2BAA2B,OAAO,UAAU,gBACvE;AAAA,EACD;AAAA;AAGM,SAAS,MAAM,CAAC,QAAqB,QAAQ,GAAiB;AAAA,EACpE,IAAI,QAAQ,cAAc;AAAA,IACzB,MAAM,IAAI,mBACT,mCAAmC,qBACpC;AAAA,EACD;AAAA,EACA,MAAM,WAAW,OAAO,UAAU;AAAA,EAClC,MAAM,OAAO,oBAAoB,QAAQ;AAAA,EAEzC,QAAQ;AAAA,SACF;AAAA,MACJ,OAAO,MAAM,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;AAAA,SAEhD;AAAA,MACJ,OAAO,OAAO,OAAO,UAAU,EAAE,CAAC;AAAA,SAE9B;AAAA,MACJ,OAAO,OAAO;AAAA,SAEV;AAAA,MACJ,OAAO,QAAQ;AAAA,SAEX,UAAU;AAAA,MACd,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,SAAS,OAAO,UAAU,GAAG,CAAC;AAAA,IACtC;AAAA,SAEK;AAAA,MACJ,OAAO,OAAO;AAAA,SAEV;AAAA,MACJ,OAAO,OAAO,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAEnC;AAAA,MACJ,OAAO,aAAa,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAEzC;AAAA,MACJ,OAAO,gBAAgB,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,SAM5C;AAAA,MACJ,OAAO,EAAE,MAAM,WAAW,OAAO,YAAY,MAAM,EAAE;AAAA,SAEjD,YAAY;AAAA,MAChB,MAAM,OAAO,YAAY,MAAM;AAAA,MAC/B,MAAM,OAAO,aAAa,MAAM;AAAA,MAChC,IAAI,IAAI,YAAY,EAAE,OAAO,IAAI,EAAE,cAAc,KAAK;AAAA,QACrD,MAAM,IAAI,MAAM,2CAA2C;AAAA,MAC5D;AAAA,MACA,OAAO,EAAE,MAAM,YAAY,OAAO,GAAG,QAAQ,OAAO;AAAA,IACrD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,WAAW,QAAQ,KAAK,mBAAmB;AAAA,MAC3C,MAAM,QAAwB,CAAC;AAAA,MAC/B,SAAS,IAAI,EAAG,IAAI,KAAK,KAAK;AAAA,QAC7B,MAAM,KAAK,OAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,MACrC;AAAA,MACA,OAAO,OAAO,KAAK;AAAA,IACpB;AAAA,SAEK,SAAS;AAAA,MACb,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,WAAW,QAAQ,KAAK,qBAAqB;AAAA,MAC7C,MAAM,OAAqC,CAAC;AAAA,MAC5C,SAAS,IAAI,EAAG,IAAI,KAAK,KAAK;AAAA,QAC7B,MAAM,MAAM,aAAa,MAAM;AAAA,QAC/B,KAAK,OAAO,OAAO,QAAQ,QAAQ,CAAC;AAAA,MACrC;AAAA,MACA,OAAO,QAAQ,IAAI;AAAA,IACpB;AAAA,SAEK,SAAS;AAAA,MACb,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,cAAc,aAAa,OAAO,UAAU,GAAG,CAAC,CAAC;AAAA,IACzD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,MAAM,OAAO,aAAa;AAAA,MAChC,OAAO,aAAa,YAAY,OAAO,UAAU,GAAG,CAAC,CAAC;AAAA,IACvD;AAAA;AAAA,MAGC,MAAM,IAAI,mBACT,4CAA4C,MAC7C;AAAA;AAAA;AAII,SAAS,kBAAyD,CACxE,OACI;AAAA,EACJ,MAAM,QACL,OAAO,UAAU,WAAW,WAAW,UAAU,KAAK,CAAC,IAAI;AAAA,EAC5D,OAAO,OAAO,IAAI,YAAY,KAAK,CAAC;AAAA;AAG9B,SAAS,aAAoD,CACnE,OACI;AAAA,EACJ,OAAO,mBAAmB,KAAK;AAAA;;;AClJhC,IAAM,mBAAmB;AACzB,IAAM,wBAAwB;AAC9B,IAAM,aAAY,MAAM,QAAQ;AAChC,IAAM,aAAY,MAAM,QAAQ;AAChC,IAAM,YAAW,EAAE,MAAM;AAElB,IAAM,mBAAmB;AAEhC,SAAS,UAAU,CAAC,MAA2B;AAAA,EAC9C,OAAO,gBAAgB;AAAA;AAGxB,SAAS,UAAU,CAAC,MAAmB,OAA+B;AAAA,EACrE,OAAO,YAAY,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK;AAAA;AAG7D,SAAS,gBAAgB,CAAC,YAAgC;AAAA,EACzD,OAAO,SAAS,WAAW,iBAAiB,UAAU;AAAA,EACtD,OAAO,YAAY,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,OAAO,CAAC;AAAA;AAGlE,SAAS,iBAAiB,CAAC,KAAa,cAAc,GAAe;AAAA,EACpE,MAAM,UAAU,YAAY,GAAG;AAAA,EAC/B,MAAM,eAAe,WAAW,SAAS,QAAQ,YAAY,WAAW,CAAC;AAAA,EACzE,OAAO,YAAY,cAAc,OAAO;AAAA;AAGlC,SAAS,gBAAgB,CAAC,OAAiC;AAAA,EACjE,QAAQ,MAAM;AAAA,SACR;AAAA,SACA;AAAA,MACJ,OAAO,IAAI,WAAW,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;AAAA,SAE1C,OAAO;AAAA,MACX,MAAM,IAAI,OAAO,MAAM,KAAK;AAAA,MAC5B,IAAI,IAAI,aAAY,IAAI;AAAA,QACvB,MAAM,IAAI,WAAW,wBAAwB,GAAG;AAAA,MACjD,MAAM,QAAQ,cACb,OAAO,GAAG,gBAAgB,GAC1B,qBACD;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,KAAK;AAAA,IACpC;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,IAAI,OAAO,MAAM,KAAK;AAAA,MAC5B,IAAI,IAAI,MAAM,IAAI;AAAA,QACjB,MAAM,IAAI,WAAW,yBAAyB,GAAG;AAAA,MAClD,MAAM,QAAQ,cAAc,GAAG,qBAAqB;AAAA,MACpD,OAAO,WAAW,MAAM,MAAM,KAAK;AAAA,IACpC;AAAA,SAEK,UAAU;AAAA,MACd,MAAM,WAAW,WAAW,MAAM,KAAK;AAAA,MACvC,OAAO,WACN,MAAM,MACN,YAAY,cAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA,SAEK;AAAA,MACJ,OAAO,IAAI,WAAW,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;AAAA,SAE1C;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,iBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD;AAAA,SACA;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,iBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD;AAAA,MACJ,OAAO,WAAW,MAAM,MAAM,iBAAiB,MAAM,KAAK,CAAC;AAAA,SAEvD,YAAY;AAAA,MAChB,OAAO,MAAM,QAAQ,MAAM,MAAM,MAAM,GAAG;AAAA,MAC1C,IAAI,CAAC,QAAQ,CAAC;AAAA,QACb,MAAM,IAAI,MAAM,+BAA+B,MAAM,OAAO;AAAA,MAC7D,OAAO,WACN,MAAM,MACN,YAAY,iBAAiB,IAAI,GAAG,kBAAkB,IAAI,CAAC,CAC5D;AAAA,IACD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,QAAsB,CAAC,cAAc,MAAM,MAAM,MAAM,CAAC;AAAA,MAC9D,WAAW,QAAQ,MAAM,OAAO;AAAA,QAC/B,MAAM,KAAK,iBAAiB,IAAI,CAAC;AAAA,MAClC;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;AAAA,IACpD;AAAA,SAEK,SAAS;AAAA,MAIb,MAAM,OAAO,OAAO,KAAK,MAAM,KAAK,EAAE,KAAK,CAAC,GAAG,MAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAC1B;AAAA,MACA,MAAM,QAAsB,CAAC,cAAc,KAAK,MAAM,CAAC;AAAA,MACvD,WAAW,OAAO,MAAM;AAAA,QACvB,MAAM,KAAK,kBAAkB,GAAG,CAAC;AAAA,QAEjC,MAAM,KAAK,iBAAiB,MAAM,MAAM,IAAK,CAAC;AAAA,MAC/C;AAAA,MACA,OAAO,WAAW,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;AAAA,IACpD;AAAA,SAEK,SAAS;AAAA,MACb,IAAI,CAAC,QAAQ,MAAM,KAAK;AAAA,QACvB,MAAM,IAAI,MAAM,0CAA0C;AAAA,MAC3D,MAAM,WAAW,aAAa,MAAM,KAAK;AAAA,MACzC,OAAO,WACN,MAAM,MACN,YAAY,cAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA,SAEK,QAAQ;AAAA,MACZ,MAAM,WAAW,YAAY,MAAM,KAAK;AAAA,MACxC,OAAO,WACN,MAAM,MACN,YAAY,cAAc,SAAS,MAAM,GAAG,QAAQ,CACrD;AAAA,IACD;AAAA;AAAA,MAGC,MAAM,IAAI,MAAM,uCAAuC;AAAA;AAAA;AAInD,SAAS,WAAW,CAAC,OAA6B;AAAA,EACxD,OAAO,WAAW,iBAAiB,KAAK,CAAC;AAAA;;;ACnH1C,IAAM,YAAW,OAAO,oCAAoC;AAC5D,IAAM,YAAW,OAAO,0CAA0C;AAClE,IAAM,YAAW,OAAO,oCAAoC;AAIrD,SAAS,KAAK,CAAC,OAA2B;AAAA,EAChD,IAAI,IAAiB;AAAA,EACrB,IAAI,OAAO,MAAM,YAAY,EAAE,YAAY,EAAE,WAAW,IAAI,GAAG;AAAA,IAC9D,IAAI,kBAAkB,WAAW,CAAC,CAAC;AAAA,EACpC;AAAA,EACA,IAAI,aAAa;AAAA,IAAY,IAAI,kBAAkB,CAAC;AAAA,EACpD,MAAM,IAAI,YAAY,CAAC;AAAA,EACvB,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,yBAAyB,WAAU;AAAA,EAC1E,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,uBAAuB,WAAU;AAAA,EACxE,OAAO,EAAE,MAAM,OAAO,OAAO,EAAE;AAAA;AAGzB,SAAS,MAAM,CAAC,OAA4B;AAAA,EAClD,MAAM,IAAI,YAAY,KAAK;AAAA,EAC3B,IAAI,IAAI;AAAA,IACP,MAAM,IAAI,WAAW,mDAAmD;AAAA,EACzE,IAAI,IAAI;AAAA,IAAU,MAAM,IAAI,WAAW,0BAA0B,WAAU;AAAA,EAC3E,OAAO,EAAE,MAAM,QAAQ,OAAO,EAAE;AAAA;AAG1B,IAAM,SAAS,OAAe,EAAE,MAAM,OAAO;AAC7C,IAAM,UAAU,OAAgB,EAAE,MAAM,QAAQ;AAChD,IAAM,SAAS,CAAC,MAA2B,IAAI,OAAO,IAAI,QAAQ;AAElE,SAAS,QAAQ,CAAC,QAA8B;AAAA,EACtD,IAAI,OAAO,aAAa,SAAW;AAAA,IAClC,MAAM,IAAI,MAAM,gCAAgC;AAAA,EACjD;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,OAAO,WAAW,MAAM,EAAE;AAAA;AAG7C,SAAS,mBAAmB,CAAC,SAAsC;AAAA,EAEzE,OAAO,SAAS,WAAW,iBAAiB,OAAO;AAAA,EACnD,MAAM,aAAa,WAAW,SAAS,OAAO;AAAA,EAC9C,OAAO,EAAE,MAAM,WAAW,OAAO,WAAW;AAAA;AAGtC,SAAS,mBAAmB,CAClC,SACA,cACsB;AAAA,EACtB,OAAO,SAAS,WAAW,iBAAiB,OAAO;AAAA,EACnD,MAAM,aAAa,WAAW,SAAS,OAAO;AAAA,EAC9C,IAAI,YAAY,YAAY,EAAE,cAAc,KAAK;AAAA,IAChD,MAAM,IAAI,MAAM,2CAA2C;AAAA,EAC5D;AAAA,EACA,OAAO,EAAE,MAAM,YAAY,OAAO,GAAG,cAAc,eAAe;AAAA;AAG5D,SAAS,MAAM,GAAW;AAAA,EAChC,OAAO,EAAE,MAAM,OAAO;AAAA;AAGhB,SAAS,MAAM,CAAC,OAA6B;AAAA,EACnD,OAAO,EAAE,MAAM,QAAQ,MAAM;AAAA;AAGvB,SAAS,YAAY,CAAC,OAAmC;AAAA,EAC/D,OAAO,EAAE,MAAM,MAAM,MAAM;AAAA;AAGrB,SAAS,eAAe,CAAC,OAAsC;AAAA,EACrE,OAAO,EAAE,MAAM,OAAO,MAAM;AAAA;AAGtB,SAAS,MAAM,CAAC,QAAgC;AAAA,EACtD,OAAO,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA;AAG/B,SAAS,OAAO,CAAC,MAA0B;AAAA,EACjD,WAAW,OAAO,MAAM;AAAA,IACvB,IAAI,CAAC,cAAc,GAAG,GAAG;AAAA,MACxB,MAAM,IAAI,MAAM,IAAI,kCAAkC;AAAA,IACvD;AAAA,EACD;AAAA,EACA,OAAO,EAAE,MAAM,SAAS,OAAO,KAAK;AAAA;AAG9B,SAAS,aAAa,CAAC,OAA8B;AAAA,EAC3D,IAAI,CAAC,QAAQ,KAAK;AAAA,IACjB,MAAM,IAAI,MAAM,0CAA0C;AAAA,EAC3D,IAAI,MAAM,SAAS;AAAA,IAClB,MAAM,IAAI,MACT,oCAAoC,wBACrC;AAAA,EACD,OAAO,EAAE,MAAM,SAAS,MAAM;AAAA;AAGxB,SAAS,YAAY,CAAC,OAA6B;AAAA,EACzD,OAAO,EAAE,MAAM,QAAQ,MAAM;AAAA;AAKvB,IAAM,KAyBT;AAAA,EACH,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,CAAC,SAA4D;AAAA,IACrE,MAAM,SAAS,eAAe,OAAO;AAAA,IACrC,IAAI,CAAC;AAAA,MAAQ,MAAM,IAAI,MAAM,sBAAsB,SAAS;AAAA,IAC5D,OAAO,OAAO,eACX,oBAAoB,OAAO,SAAS,OAAO,YAAY,IACvD,oBAAoB,OAAO,OAAO;AAAA;AAAA,EAEtC,OAAO,CAAC,SAA4D;AAAA,IACnE,OAAO,GAAG,UAAU,OAAO;AAAA;AAAA,EAE5B,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,eAAe,CAAC,QAA0B,SAAS,WAAW,GAAG,CAAC;AAAA,EAClE,iBAAiB,CAAC,UAA4B,SAAS,aAAa,KAAK,CAAC;AAAA,EAC1E,gBAAgB,CAAC,SAA2B,SAAS,YAAY,IAAI,CAAC;AAAA,EACtE,MAAM;AAAA,EACN,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS,CAAC,OAA6B;AAAA,IACtC,OAAO,WAAW,iBAAiB,KAAK,CAAC;AAAA;AAAA,EAE1C,aAAa;AACd;;;ACnKA,IAAM,eAAe,IAAI,IAAI;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAMM,SAAS,cAAc,CAAC,OAAuC;AAAA,EACrE,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EACxD,MAAM,OAAQ,MAA6B;AAAA,EAC3C,IAAI,OAAO,SAAS,YAAY,CAAC,aAAa,IAAI,IAAI;AAAA,IAAG,OAAO;AAAA,EAChE,IAAI,SAAS,UAAU,SAAS,WAAW,SAAS;AAAA,IAAQ,OAAO;AAAA,EACnE,OAAO,WAAW;AAAA;AAGnB,IAAM,kBAAkB;AAQxB,SAAS,YAAY,CAAC,OAA8B;AAAA,EACnD,IAAI,iBAAiB;AAAA,IAAY,OAAO,SAAS,KAAK;AAAA,EACtD,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,OAAO;AAAA,IACnE,MAAM,SAAS;AAAA,IACf,IAAI,OAAO,SAAS,YAAY,eAAe,KAAK;AAAA,MAAG,OAAO;AAAA,IAC9D,IAAI,OAAO,OAAO,UAAU,UAAU;AAAA,MACrC,IAAI,OAAO,SAAS;AAAA,QAAS,OAAO,GAAG,gBAAgB,OAAO,KAAK;AAAA,MACnE,IAAI,OAAO,SAAS;AAAA,QAAQ,OAAO,GAAG,eAAe,OAAO,KAAK;AAAA,MACjE,IAAI,OAAO,SAAS;AAAA,QAAO,OAAO,GAAG,cAAc,OAAO,KAAK;AAAA,IAChE;AAAA,IACA,MAAM,IAAI,MAAM,6BAA6B,KAAK,UAAU,KAAK,GAAG;AAAA,EACrE;AAAA,EACA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC9B,MAAM,MAAM,MAAM,WAAW,IAAI,IAAI,MAAM,MAAM,CAAC,IAAI;AAAA,IACtD,IAAI,gBAAgB,KAAK,GAAG;AAAA,MAAG,OAAO,GAAG,cAAc,GAAG;AAAA,IAC1D,OAAO,GAAG,eAAe,KAAK;AAAA,EAC/B;AAAA,EACA,MAAM,IAAI,MACT,yEACD;AAAA;AAWM,SAAS,gBAAgB,CAC/B,SACA,OACe;AAAA,EAGf,IAAI,YAAY,OAAO;AAAA,IAAG,OAAO,aAAa,KAAK;AAAA,EAEnD,IAAI,eAAe,KAAK;AAAA,IAAG,OAAO;AAAA,EAElC,IAAI,YAAY;AAAA,IAAW,OAAO,OAAO,KAAwB;AAAA,EACjE,IAAI,YAAY;AAAA,IAAU,OAAO,MAAM,KAAwB;AAAA,EAC/D,IAAI,YAAY;AAAA,IAAQ,OAAO,OAAO,KAAgB;AAAA,EACtD,IAAI,YAAY,eAAe,YAAY;AAAA,IAC1C,OAAO,GAAG,UAAU,KAAe;AAAA,EAEpC,IAAI,iBAAiB,OAAO;AAAA,IAAG,OAAO,cAAc,KAAe;AAAA,EACnE,IAAI,gBAAgB,OAAO;AAAA,IAAG,OAAO,aAAa,KAAe;AAAA,EAEjE,IAAI,UAAU,OAAO,GAAG;AAAA,IACvB,MAAM,MAAM;AAAA,IACZ,OAAO,OAAO,IAAI,IAAI,CAAC,SAAS,iBAAiB,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC;AAAA,EAC3E;AAAA,EAEA,IAAI,WAAW,OAAO,GAAG;AAAA,IACxB,MAAM,MAAM;AAAA,IACZ,MAAM,OAAqC,CAAC;AAAA,IAC5C,WAAW,SAAS,QAAQ,OAAO;AAAA,MAClC,MAAM,WAAW,YAAY,MAAM,IAAI;AAAA,MACvC,MAAM,cAAc,MAAM,QAAQ;AAAA,MAClC,MAAM,WAAW,YAAY;AAAA,MAC7B,MAAM,aAAa,cAChB,IAAI,MAAM,QACV,WACC,IAAI,YACJ;AAAA,MACJ,IAAI,eAAe,aAAa,CAAC,cAAc,MAAM,IAAI,GAAG;AAAA,QAC3D,MAAM,IAAI,MAAM,wBAAwB,MAAM,MAAM;AAAA,MACrD;AAAA,MACA,KAAK,MAAM,QAAQ,iBAAiB,MAAM,MAAM,UAAU;AAAA,IAC3D;AAAA,IACA,OAAO,QAAQ,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,cAAc,OAAO,GAAG;AAAA,IAC3B,IAAI,UAAU,QAAQ,UAAU;AAAA,MAAW,OAAO,OAAO;AAAA,IACzD,OAAO,OAAO,iBAAiB,QAAQ,UAAU,KAAK,CAAC;AAAA,EACxD;AAAA,EAEA,IAAI,cAAc,OAAO,GAAG;AAAA,IAC3B,MAAM,MAAM;AAAA,IACZ,IAAI,QAAQ,OAAO,EAAE,SAAS;AAAA,MAC7B,OAAO,aAAa,iBAAiB,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AAAA,IAClE,IAAI,SAAS,OAAO,EAAE,QAAQ;AAAA,MAC7B,OAAO,gBAAgB,iBAAiB,QAAQ,SAAS,OAAO,IAAI,GAAG,CAAC;AAAA,IACzE,MAAM,IAAI,MAAM,mDAAmD;AAAA,EACpE;AAAA,EAEA,MAAM,IAAI,MAAM,qBAAqB,KAAK,UAAU,OAAO,GAAG;AAAA;AAMxD,SAAS,gBAAmC,CAClD,SACA,IACa;AAAA,EACb,OAAO,sBAAsB,SAAS,EAAE;AAAA;AAIlC,SAAS,uBAAuB,CACtC,SACA,IACU;AAAA,EACV,OAAO,sBAAsB,SAAS,EAAE;AAAA;AAGzC,SAAS,qBAAqB,CAAC,SAAkB,IAA2B;AAAA,EAC3E,IAAI,YAAY,aAAa,YAAY,UAAU;AAAA,IAClD,IAAI,GAAG,SAAS,SAAS,GAAG,SAAS;AAAA,MACpC,MAAM,IAAI,MAAM,6BAA6B,GAAG,MAAM;AAAA,IACvD,OAAO,GAAG;AAAA,EACX;AAAA,EAEA,IAAI,YAAY,QAAQ;AAAA,IACvB,IAAI,GAAG,SAAS;AAAA,MAAQ,OAAO;AAAA,IAC/B,IAAI,GAAG,SAAS;AAAA,MAAS,OAAO;AAAA,IAChC,MAAM,IAAI,MAAM,yBAAyB,GAAG,MAAM;AAAA,EACnD;AAAA,EAEA,IAAI,YAAY,eAAe,YAAY,mBAAmB;AAAA,IAC7D,IAAI,GAAG,SAAS,aAAa,GAAG,SAAS;AAAA,MACxC,MAAM,IAAI,MAAM,8BAA8B,GAAG,MAAM;AAAA,IACxD,OAAO,GAAG;AAAA,EACX;AAAA,EAEA,IAAI,iBAAiB,OAAO,KAAK,gBAAgB,OAAO,GAAG;AAAA,IAC1D,IAAI,GAAG,SAAS,WAAW,GAAG,SAAS;AAAA,MACtC,MAAM,IAAI,MAAM,2BAA2B,GAAG,MAAM;AAAA,IACrD,OAAO,GAAG;AAAA,EACX;AAAA,EAEA,IAAI,YAAY,OAAO,GAAG;AAAA,IACzB,IAAI,GAAG,SAAS;AAAA,MACf,MAAM,IAAI,MAAM,2BAA2B,GAAG,MAAM;AAAA,IAErD,MAAM,MAAM,GAAG;AAAA,IACf,MAAM,QAAQ,IAAI,WAAW,IAAI,SAAS,CAAC;AAAA,IAC3C,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,MACtC,MAAM,KAAK,OAAO,SAAS,IAAI,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;AAAA,IAC/D;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,UAAU,OAAO,GAAG;AAAA,IACvB,IAAI,GAAG,SAAS;AAAA,MAAQ,MAAM,IAAI,MAAM,yBAAyB,GAAG,MAAM;AAAA,IAC1E,OAAO,GAAG,MAAM,IAAI,CAAC,SACpB,sBAAsB,QAAQ,KAAK,MAAM,IAAI,CAC9C;AAAA,EACD;AAAA,EAEA,IAAI,WAAW,OAAO,GAAG;AAAA,IACxB,IAAI,GAAG,SAAS;AAAA,MACf,MAAM,IAAI,MAAM,0BAA0B,GAAG,MAAM;AAAA,IACpD,MAAM,SAAkC,CAAC;AAAA,IACzC,WAAW,SAAS,QAAQ,OAAO;AAAA,MAClC,MAAM,UAAU,GAAG,MAAM,MAAM;AAAA,MAC/B,IAAI,CAAC;AAAA,QAAS,MAAM,IAAI,MAAM,8BAA8B,MAAM,MAAM;AAAA,MACxE,MAAM,WAAW,YAAY,MAAM,IAAI;AAAA,MACvC,OAAO,YAAY,sBAAsB,MAAM,MAAM,OAAO;AAAA,IAC7D;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,cAAc,OAAO,GAAG;AAAA,IAC3B,IAAI,GAAG,SAAS;AAAA,MAAQ,OAAO;AAAA,IAC/B,IAAI,GAAG,SAAS;AAAA,MACf,OAAO,sBAAsB,QAAQ,UAAU,GAAG,KAAK;AAAA,IACxD,MAAM,IAAI,MAAM,6BAA6B,GAAG,MAAM;AAAA,EACvD;AAAA,EAEA,IAAI,cAAc,OAAO,GAAG;AAAA,IAC3B,IAAI,GAAG,SAAS;AAAA,MACf,OAAO,EAAE,IAAI,sBAAsB,QAAQ,SAAS,IAAI,GAAG,KAAK,EAAE;AAAA,IACnE,IAAI,GAAG,SAAS;AAAA,MACf,OAAO,EAAE,KAAK,sBAAsB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAAE;AAAA,IACvE,MAAM,IAAI,MAAM,6BAA6B,GAAG,MAAM;AAAA,EACvD;AAAA,EAEA,MAAM,IAAI,MAAM,qBAAqB,KAAK,UAAU,OAAO,GAAG;AAAA;;;ACtPxD,IAAM,WAAW;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AACZ;AAIO,IAAM,cAAc;AAAA,EAC1B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,kBAAkB;AACnB;AAIO,IAAM,iBAAiB;AAAA,EAC7B,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACX;AAKO,IAAM,aAAa;AAAA,EACzB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,KAAK;AACN;AAIO,IAAM,wBAAwB;AAAA,EACpC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AACb;AAKO,IAAM,kBAAkB;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,oBAAoB;AAAA,EACpB,0BAA0B;AAC3B;AAKO,IAAM,iBAAiB;AAAA,EAC7B,YAAY;AAAA,EACZ,cAAc;AACf;AAKO,IAAM,wBAAwB;AAAA,EACpC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,cAAc;AAAA,EACd,MAAM;AAAA,EACN,WAAW;AACZ;AAGO,IAAM,2BAA2B;AAAA,EACvC,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AACZ;AAGO,IAAM,mBAAmB;AAAA,EAC/B,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,aAAa;AACd;AAKO,IAAM,2BAA2B;AAAA,EACvC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AACX;AAGO,IAAM,YAAY;AAAA,EACxB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,KAAK;AACN;AAGO,IAAM,gBAAgB;AAAA,EAC5B,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,uBAAuB;AACxB;AAEO,IAAM,qCAAqC;AAC3C,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,IAAM,wBAAwB;AAC9B,IAAM,yBAAyB;AAC/B,IAAM,iCAAiC;AAGvC,IAAM,oBAAoB;AAAA,EAChC,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,qBAAqB;AACtB;;;AClGA,SAAS,qBAAqB,CAAC,GAAmC;AAAA,EACjE,MAAM,WAAW,EAAE,UAAU;AAAA,EAC7B,MAAM,SAAS,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,EACzC,MAAM,QAAQ,EAAE,gBAAgB;AAAA,EAChC,MAAM,MAAM,EAAE,gBAAgB;AAAA,EAE9B,IACC,aAAa,gBAAgB,SAC7B,aAAa,gBAAgB,QAC5B;AAAA,IACD,MAAM,cAAc,EAAE,UAAU;AAAA,IAChC,MAAM,YAAY,WACjB,EAAE,UAAU,kCAAkC,CAC/C;AAAA,IACA,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,aAAa,EAAE,aAAa;AAAA,EAClC,MAAM,SAAiC,CAAC;AAAA,EACxC,SAAS,IAAI,EAAG,IAAI,YAAY,KAAK;AAAA,IACpC,MAAM,YAAY,EAAE,UAAU;AAAA,IAC9B,IAAI,aAAa,GAAM;AAAA,MAGtB,OAAO,KAAK;AAAA,QACX,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,MAAM,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MACjC,CAAC;AAAA,IACF,EAAO;AAAA,MACN,OAAO,KAAK;AAAA,QACX,MAAM;AAAA,QACN,gBAAiB,cAAc,IAAO,IAAO;AAAA,QAC7C,MAAM,WAAW,EAAE,UAAU,kCAAkC,CAAC;AAAA,MACjE,CAAC;AAAA;AAAA,EAEH;AAAA,EACA,MAAM,qBAAqB,EAAE,aAAa;AAAA,EAE1C,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAGD,SAAS,iBAAiB,CAAC,GAA+B;AAAA,EACzD,MAAM,WAAW,EAAE,UAAU;AAAA,EAC7B,MAAM,oBAAoB,sBAAsB,CAAC;AAAA,EAEjD,IAAI,aAAa,SAAS,UAAU;AAAA,IACnC,OAAO,EAAE,UAAU,SAAS,UAAU,kBAAkB;AAAA,EACzD;AAAA,EAEA,MAAM,2BAA2B,sBAAsB,CAAC;AAAA,EACxD,OAAO;AAAA,IACN,UAAU,SAAS;AAAA,IACnB;AAAA,IACA;AAAA,EACD;AAAA;AAGD,SAAS,aAAa,CAAC,GAA+B;AAAA,EACrD,OAAO;AAAA,IACN,SAAS,YAAY,CAAC;AAAA,IACtB,cAAc,aAAa,CAAC;AAAA,IAC5B,WAAW,aAAa,CAAC;AAAA,EAC1B;AAAA;AAGD,SAAS,0BAA0B,CAClC,GAC6B;AAAA,EAC7B,MAAM,OAAO,EAAE,UAAU;AAAA,EACzB,QAAQ;AAAA,SACF,yBAAyB;AAAA,MAC7B,OAAO,EAAE,MAAM,SAAS;AAAA,SACpB,yBAAyB;AAAA,MAC7B,OAAO,EAAE,MAAM,YAAY,SAAS,YAAY,CAAC,EAAE;AAAA,SAC/C,yBAAyB;AAAA,MAC7B,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,YAAY,CAAC;AAAA,QACtB,cAAc,aAAa,CAAC;AAAA,MAC7B;AAAA;AAAA,MAIA,OAAO,EAAE,MAAM,SAAS;AAAA;AAAA;AAI3B,SAAS,iBAAiB,CAAC,GAAmC;AAAA,EAE7D,MAAM,YAAY,EAAE,UAAU;AAAA,EAC9B,MAAM,YAAY,2BAA2B,CAAC;AAAA,EAC9C,QAAQ;AAAA,SACF,UAAU;AAAA,MACd,OAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,eAAe,EAAE,UAAU;AAAA,QAC3B,QAAQ,EAAE,gBAAgB;AAAA,MAC3B;AAAA,SACI,UAAU;AAAA,MACd,OAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,OAAO,cAAc,CAAC;AAAA,QACtB,eAAe,EAAE,UAAU;AAAA,QAC3B,QAAQ,EAAE,gBAAgB;AAAA,MAC3B;AAAA,SACI,UAAU;AAAA,MACd,OAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,OAAO,cAAc,CAAC;AAAA,QACtB,SAAS,OAAO,CAAC;AAAA,QACjB,eAAe,EAAE,UAAU;AAAA,MAC5B;AAAA,SACI,UAAU;AAAA,MACd,OAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,eAAe,EAAE,UAAU;AAAA,QAC3B,QAAQ,EAAE,gBAAgB;AAAA,MAC3B;AAAA,SACI,UAAU;AAAA,MACd,OAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,eAAe,EAAE,UAAU;AAAA,MAC5B;AAAA;AAAA,MAEA,MAAM,IAAI,MACT,wCAAwC,UAAU,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,GAC/E;AAAA;AAAA;AAIH,SAAS,kBAAkB,CAAC,GAAqC;AAAA,EAChE,MAAM,QAAQ,EAAE,aAAa;AAAA,EAC7B,MAAM,MAA2B,CAAC;AAAA,EAClC,SAAS,IAAI,EAAG,IAAI,OAAO,KAAK;AAAA,IAC/B,IAAI;AAAA,MACH,IAAI,KAAK,kBAAkB,CAAC,CAAC;AAAA,MAC5B,OAAO,GAAG;AAAA,MACX,IACC,aAAa,SACb,EAAE,QAAQ,WAAW,oCAAoC,GACxD;AAAA,QACD,MAAM,IAAI,MAAM,GAAG,EAAE,2BAA2B,IAAI,KAAK,QAAQ;AAAA,MAClE;AAAA,MACA,MAAM;AAAA;AAAA,EAER;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,GAAoC;AAAA,EACxD,MAAM,cAAc,EAAE,UAAU;AAAA,EAEhC,QAAQ;AAAA,SACF,YAAY,eAAe;AAAA,MAC/B,MAAM,YAAY,OAAO,CAAC;AAAA,MAC1B,MAAM,SAAS,EAAE,gBAAgB;AAAA,MAEjC,MAAM,YAAY,EAAE,UAAU,qBAAqB;AAAA,MACnD,MAAM,OAAO,aAAa,SAAS,EAAE,QAAQ,QAAQ,EAAE;AAAA,MACvD,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,SACK,YAAY,cAAc;AAAA,MAC9B,MAAM,kBAAkB,YAAY,CAAC;AAAA,MACrC,MAAM,eAAe,aAAa,CAAC;AAAA,MACnC,MAAM,eAAe,aAAa,CAAC;AAAA,MACnC,MAAM,UAAU,EAAE,aAAa;AAAA,MAC/B,MAAM,eAA+B,CAAC;AAAA,MACtC,SAAS,IAAI,EAAG,IAAI,SAAS;AAAA,QAAK,aAAa,KAAK,OAAO,CAAC,CAAC;AAAA,MAC7D,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,SACK,YAAY,eAAe;AAAA,MAC/B,MAAM,eAAe,aAAa,CAAC;AAAA,MACnC,MAAM,WAAW,aAAa,GAAG,CAAC;AAAA,MAClC,OAAO,EAAE,aAAa,YAAY,eAAe,cAAc,SAAS;AAAA,IACzE;AAAA,SACK,YAAY,wBAAwB;AAAA,MACxC,MAAM,iBAAiB,EAAE,UAAU;AAAA,MACnC,MAAM,eAAe,aAAa,CAAC;AAAA,MACnC,MAAM,WAAW,aAAa,GAAG,CAAC;AAAA,MAClC,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,SACK,YAAY,UAAU;AAAA,MAC1B,MAAM,iBAAiB,WAAW,EAAE,UAAU,qBAAqB,CAAC;AAAA,MACpE,OAAO,EAAE,aAAa,YAAY,UAAU,eAAe;AAAA,IAC5D;AAAA,SACK,YAAY,wBAAwB;AAAA,MACxC,MAAM,iBAAiB,WAAW,EAAE,UAAU,qBAAqB,CAAC;AAAA,MACpE,MAAM,YAAY,OAAO,CAAC;AAAA,MAC1B,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,SACK,YAAY,kBAAkB;AAAA,MAClC,MAAM,UAAU,WAAW,EAAE,UAAU,8BAA8B,CAAC;AAAA,MACtE,MAAM,UAAU,WAAW,EAAE,UAAU,8BAA8B,CAAC;AAAA,MACtE,OAAO,EAAE,aAAa,YAAY,kBAAkB,SAAS,QAAQ;AAAA,IACtE;AAAA,SACK,YAAY,cAAc;AAAA,MAC9B,MAAM,sBAAsB,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MACtD,MAAM,0BAA0B,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MAC1D,MAAM,wBAAwB,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MACxD,MAAM,oBAAoB,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MACpD,MAAM,uBAAuB,EAAE,aAAa;AAAA,MAC5C,MAAM,QAAQ,EAAE,UAAU;AAAA,MAC1B,MAAM,aAAa,WAAW,EAAE,UAAU,EAAE,CAAC;AAAA,MAC7C,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,SACK,YAAY,kBAAkB;AAAA,MAClC,MAAM,iBAAiB,WAAW,EAAE,UAAU,qBAAqB,CAAC;AAAA,MACpE,MAAM,aAAa,OAAO,CAAC;AAAA,MAC3B,MAAM,YACL,WAAW,SAAS,SACjB,OACA,WAAW,SAAS,SACnB,WAAW,QACX;AAAA,MACL,MAAM,WAAW,WAAW,EAAE,UAAU,sBAAsB,CAAC;AAAA,MAC/D,OAAO;AAAA,QACN,aAAa,YAAY;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA;AAAA,MAEC,MAAM,IAAI,MAAM,yBAAyB,aAAa;AAAA;AAAA;AAIlD,SAAS,4BAA4B,CAC3C,OACoB;AAAA,EACpB,MAAM,QACL,OAAO,UAAU,WAAW,WAAW,UAAU,KAAK,CAAC,IAAI;AAAA,EAC5D,OAAO,kBAAkB,IAAI,YAAY,KAAK,CAAC;AAAA;AAGzC,SAAS,sBAAsB,CACrC,OACA,MACoB;AAAA,EACpB,MAAM,QACL,OAAO,UAAU,WAAW,WAAW,UAAU,KAAK,CAAC,IAAI;AAAA,EAC5D,OAAO,gBAAgB,IAAI,YAAY,KAAK,GAAG,IAAI;AAAA;AAU7C,SAAS,iBAAiB,CAChC,OACA,OACe;AAAA,EACf,MAAM,IAAI,IAAI,YAAY,KAAK;AAAA,EAC/B,MAAM,MAAoB,CAAC;AAAA,EAC3B,SAAS,IAAI,EAAG,IAAI,OAAO,KAAK;AAAA,IAC/B,MAAM,QAAQ,EAAE;AAAA,IAChB,gBAAgB,CAAC;AAAA,IACjB,IAAI,KAAK,MAAM,SAAS,OAAO,EAAE,MAAM,CAAC;AAAA,EACzC;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,eAAe,CACvB,GACA,MACoB;AAAA,EACpB,MAAM,KAAwB;AAAA,IAC7B,SAAS,EAAE,UAAU;AAAA,IACrB,SAAS,EAAE,aAAa;AAAA,IACxB,MAAM,kBAAkB,CAAC;AAAA,IACzB,YAAY,EAAE,UAAU;AAAA,IACxB,mBAAmB,EAAE,UAAU;AAAA,IAC/B,gBAAgB,mBAAmB,CAAC;AAAA,IACpC,SAAS,YAAY,CAAC;AAAA,EACvB;AAAA,EACA,IAAI,MAAM,WAAW;AAAA,IACpB,GAAG,YAAY,KAAK;AAAA,EACrB;AAAA,EACA,OAAO;AAAA;;;AC3UR,SAAS,iBAAgB,CAAC,YAAgC;AAAA,EACzD,OAAO,SAAS,WAAW,iBAAiB,UAAU;AAAA,EACtD,OAAO,YAAY,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,OAAO,CAAC;AAAA;AAIlE,SAAS,kBAAiB,CAAC,KAAa,cAAc,GAAe;AAAA,EACpE,MAAM,UAAU,YAAY,GAAG;AAAA,EAC/B,MAAM,SAAS,WAAW,SAAS,QAAQ,YAAY,WAAW,CAAC;AAAA,EACnE,OAAO,YAAY,QAAQ,OAAO;AAAA;AAInC,SAAS,qBAAqB,CAAC,KAAyB;AAAA,EACvD,OAAO,mBAAkB,KAAK,CAAC;AAAA;AAIhC,SAAS,aAAa,CAAC,MAA0B;AAAA,EAChD,MAAM,UAAU,aAAa,IAAI;AAAA,EACjC,MAAM,SAAS,IAAI,WAAW,qBAAqB;AAAA,EACnD,OAAO,IAAI,QAAQ,MAAM,GAAG,qBAAqB,CAAC;AAAA,EAClD,OAAO;AAAA;AAGR,SAAS,0BAA0B,CAAC,WAA0C;AAAA,EAC7E,MAAM,QAAsB;AAAA,IAC3B,WAAW,UAAU,QAAQ;AAAA,IAC7B,WAAW,UAAU,MAAM;AAAA,IAC3B,WAAW,UAAU,OAAO,CAAC;AAAA,IAC7B,WAAW,UAAU,KAAK,CAAC;AAAA,EAC5B;AAAA,EAEA,IAAI,eAAe,WAAW;AAAA,IAE7B,MAAM,KAAK;AAAA,IACX,MAAM,KAAK,WAAW,GAAG,WAAW,CAAC;AAAA,IACrC,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;AAAA,EACpC,EAAO;AAAA,IAEN,MAAM,KAAK;AAAA,IAEX,MAAM,KAAK,cAAc,GAAG,OAAO,MAAM,CAAC;AAAA,IAC1C,WAAW,SAAS,GAAG,QAAQ;AAAA,MAC9B,MAAM,KAAK,mBAAmB,KAAK,CAAC;AAAA,IACrC;AAAA,IACA,MAAM,KAAK,cAAc,GAAG,kBAAkB,CAAC;AAAA;AAAA,EAGhD,OAAO,YAAY,GAAG,KAAK;AAAA;AAG5B,SAAS,kBAAkB,CAAC,OAAyC;AAAA,EACpE,IAAI,MAAM,SAAS,aAAa;AAAA,IAC/B,MAAM,SAAS,MAAM,mBAAmB,IAAO,IAAO;AAAA,IACtD,OAAO,YAAY,WAAW,MAAM,GAAG,WAAW,MAAM,IAAI,CAAC;AAAA,EAC9D;AAAA,EACA,MAAM,SAAS,MAAM,mBAAmB,IAAO,IAAO;AAAA,EACtD,OAAO,YAAY,WAAW,MAAM,GAAG,WAAW,MAAM,IAAI,CAAC;AAAA;AAG9D,SAAS,sBAAsB,CAAC,MAAiC;AAAA,EAChE,MAAM,QAAsB,CAAC,WAAW,KAAK,QAAQ,CAAC;AAAA,EACtD,MAAM,KAAK,2BAA2B,KAAK,iBAAiB,CAAC;AAAA,EAC7D,IAAI,KAAK,aAAa,SAAS,WAAW;AAAA,IACzC,MAAM,KAAK,2BAA2B,KAAK,wBAAwB,CAAC;AAAA,EACrE;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAG5B,SAAS,kBAAkB,CAAC,WAAmD;AAAA,EAC9E,QAAQ,UAAU;AAAA,SACZ;AAAA,MACJ,OAAO,WAAW,yBAAyB,MAAM;AAAA,SAC7C;AAAA,MACJ,OAAO,YACN,WAAW,yBAAyB,QAAQ,GAC5C,kBAAiB,UAAU,OAAO,CACnC;AAAA,SACI;AAAA,MACJ,OAAO,YACN,WAAW,yBAAyB,QAAQ,GAC5C,kBAAiB,UAAU,OAAO,GAClC,mBAAkB,UAAU,YAAY,CACzC;AAAA;AAAA;AAIH,SAAS,kBAAkB,CAAC,OAAkC;AAAA,EAC7D,OAAO,YACN,kBAAiB,MAAM,OAAO,GAC9B,mBAAkB,MAAM,YAAY,GACpC,mBAAkB,MAAM,SAAS,CAClC;AAAA;AAGM,SAAS,0BAA0B,CAAC,IAAmC;AAAA,EAE7E,MAAM,QAAsB,CAAC;AAAA,EAE7B,QAAQ,GAAG;AAAA,SACL;AAAA,MACJ,MAAM,KAAK,WAAW,UAAU,GAAG,CAAC;AAAA,MACpC,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAAA,MAC3C,MAAM,KAAK,WAAW,GAAG,aAAa,CAAC;AAAA,MACvC,MAAM,KAAK,WAAW,GAAG,QAAQ,CAAC,CAAC;AAAA,MACnC;AAAA,SACI;AAAA,MACJ,MAAM,KAAK,WAAW,UAAU,QAAQ,CAAC;AAAA,MACzC,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAAA,MAC3C,MAAM,KAAK,mBAAmB,GAAG,KAAK,CAAC;AAAA,MACvC,MAAM,KAAK,WAAW,GAAG,aAAa,CAAC;AAAA,MACvC,MAAM,KAAK,WAAW,GAAG,QAAQ,CAAC,CAAC;AAAA,MACnC;AAAA,SACI;AAAA,MACJ,MAAM,KAAK,WAAW,UAAU,WAAW,CAAC;AAAA,MAC5C,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAAA,MAC3C,MAAM,KAAK,mBAAmB,GAAG,KAAK,CAAC;AAAA,MACvC,MAAM,KAAK,iBAAiB,GAAG,OAAO,CAAC;AAAA,MACvC,MAAM,KAAK,WAAW,GAAG,aAAa,CAAC;AAAA,MACvC;AAAA,SACI;AAAA,MAEJ,MAAM,KAAK,WAAW,UAAU,OAAO,CAAC;AAAA,MACxC,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAAA,MAC3C,MAAM,KAAK,WAAW,GAAG,aAAa,CAAC;AAAA,MACvC,MAAM,KAAK,WAAW,GAAG,QAAQ,CAAC,CAAC;AAAA,MACnC;AAAA,SACI;AAAA,MAEJ,MAAM,KAAK,WAAW,UAAU,GAAG,CAAC;AAAA,MACpC,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;AAAA,MAC3C,MAAM,KAAK,WAAW,GAAG,aAAa,CAAC;AAAA,MACvC;AAAA;AAAA,EAGF,OAAO,YAAY,GAAG,KAAK;AAAA;AAG5B,SAAS,uBAAuB,CAAC,KAAsC;AAAA,EACtE,MAAM,QAAsB,CAAC,cAAc,IAAI,MAAM,CAAC;AAAA,EACtD,WAAW,MAAM;AAAA,IAAK,MAAM,KAAK,2BAA2B,EAAE,CAAC;AAAA,EAC/D,OAAO,YAAY,GAAG,KAAK;AAAA;AAGrB,SAAS,gBAAgB,CAAC,SAAyC;AAAA,EACzE,MAAM,QAAsB,CAAC,WAAW,QAAQ,WAAW,CAAC;AAAA,EAE5D,QAAQ,QAAQ;AAAA,SACV,YAAY;AAAA,MAChB,MAAM,KAAK,iBAAiB,QAAQ,SAAS,CAAC;AAAA,MAC9C,MAAM,KAAK,WAAW,QAAQ,QAAQ,CAAC,CAAC;AAAA,MACxC,MAAM,KAAK,cAAc,QAAQ,IAAI,CAAC;AAAA,MACtC;AAAA,SAEI,YAAY;AAAA,MAChB,MAAM,KAAK,kBAAiB,QAAQ,eAAe,CAAC;AAAA,MACpD,MAAM,KAAK,mBAAkB,QAAQ,YAAY,CAAC;AAAA,MAClD,MAAM,KAAK,mBAAkB,QAAQ,YAAY,CAAC;AAAA,MAClD,MAAM,KAAK,cAAc,QAAQ,aAAa,MAAM,CAAC;AAAA,MACrD,WAAW,OAAO,QAAQ,cAAc;AAAA,QACvC,MAAM,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACjC;AAAA,MACA;AAAA,SAEI,YAAY;AAAA,MAChB,MAAM,KAAK,mBAAkB,QAAQ,YAAY,CAAC;AAAA,MAClD,MAAM,KAAK,sBAAsB,QAAQ,QAAQ,CAAC;AAAA,MAClD;AAAA,SAEI,YAAY;AAAA,MAChB,MAAM,KAAK,WAAW,QAAQ,kBAAkB,CAAC,CAAC;AAAA,MAClD,MAAM,KAAK,mBAAkB,QAAQ,YAAY,CAAC;AAAA,MAClD,MAAM,KAAK,sBAAsB,QAAQ,QAAQ,CAAC;AAAA,MAClD;AAAA,SAEI,YAAY;AAAA,MAChB,MAAM,KAAK,WAAY,QAA4B,cAAc,CAAC;AAAA,MAClE;AAAA,SAEI,YAAY,wBAAwB;AAAA,MACxC,MAAM,QAAQ;AAAA,MACd,MAAM,KAAK,WAAW,MAAM,cAAc,CAAC;AAAA,MAC3C,MAAM,KAAK,iBAAiB,MAAM,SAAS,CAAC;AAAA,MAC5C;AAAA,IACD;AAAA,SAEK,YAAY,kBAAkB;AAAA,MAClC,MAAM,KAAK;AAAA,MACX,MAAM,KAAK,WAAW,GAAG,OAAO,CAAC;AAAA,MACjC,MAAM,KAAK,WAAW,GAAG,OAAO,CAAC;AAAA,MACjC;AAAA,IACD;AAAA,SAEK,YAAY,cAAc;AAAA,MAC9B,MAAM,KAAK;AAAA,MACX,MAAM,KAAK,WAAW,GAAG,mBAAmB,CAAC;AAAA,MAC7C,MAAM,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAAA,MACjD,MAAM,KAAK,WAAW,GAAG,qBAAqB,CAAC;AAAA,MAC/C,MAAM,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAAA,MAC3C,MAAM,KAAK,cAAc,GAAG,oBAAoB,CAAC;AAAA,MACjD,MAAM,KAAK,WAAW,GAAG,KAAK,CAAC;AAAA,MAC/B,MAAM,KAAK,WAAW,GAAG,UAAU,CAAC;AAAA,MACpC;AAAA,IACD;AAAA,SAEK,YAAY,kBAAkB;AAAA,MAClC,MAAM,KAAK;AAAA,MACX,MAAM,KAAK,WAAW,GAAG,cAAc,CAAC;AAAA,MACxC,IAAI,GAAG,WAAW;AAAA,QACjB,MAAM,KAAK,iBAAiB,EAAE,MAAM,QAAQ,OAAO,GAAG,UAAU,CAAC,CAAC;AAAA,MACnE,EAAO;AAAA,QACN,MAAM,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA,MAE9C,MAAM,KAAK,WAAW,GAAG,QAAQ,CAAC;AAAA,MAClC;AAAA,IACD;AAAA;AAAA,EAGD,OAAO,YAAY,GAAG,KAAK;AAAA;AAQ5B,IAAM,WAAW,IAAI;AAGd,SAAS,YAAY,CAAC,IAA6B;AAAA,EACzD,SAAS,OAAO,EAAE;AAAA;AAGZ,SAAS,oBAAoB,CAAC,IAAmC;AAAA,EACvE,MAAM,SAAS,SAAS,IAAI,EAAE;AAAA,EAC9B,IAAI;AAAA,IAAQ,OAAO;AAAA,EACnB,MAAM,QAAQ,YACb,WAAW,GAAG,OAAO,GACrB,cAAc,GAAG,OAAO,GACxB,uBAAuB,GAAG,IAAI,GAC9B,WAAW,GAAG,UAAU,GACxB,WAAW,GAAG,iBAAiB,GAC/B,wBAAwB,GAAG,cAAc,GACzC,iBAAiB,GAAG,OAAO,CAC5B;AAAA,EACA,SAAS,IAAI,IAAI,KAAK;AAAA,EACtB,OAAO;AAAA;AAGD,SAAS,uBAAuB,CAAC,IAA+B;AAAA,EACtE,OAAO,WAAW,qBAAqB,EAAE,CAAC;AAAA;;;AC3Q3C,IAAM,UAAU;AAGT,SAAS,wBAAwB,CAAC,QAA6B;AAAA,EACrE,MAAM,QAAQ,YAAY,MAAM;AAAA,EAChC,IAAI,QAAQ,MAAM,QAAQ,SAAS;AAAA,IAClC,MAAM,IAAI,WACT,+CAA+C,gCAAgC,OAChF;AAAA,EACD;AAAA,EACA,OAAO;AAAA;AAGD,IAAM,oBAAwD;AAAA,EACpE,IAAI,sBAAsB;AAAA,EAC1B,IAAI,sBAAsB;AAAA,EAC1B,KAAK,sBAAsB;AAAA,EAC3B,IAAI,sBAAsB;AAAA,EAC1B,KAAK,sBAAsB;AAC5B;AAEA,IAAM,wBAA4D;AAAA,GAChE,sBAAsB,QAAQ;AAAA,GAC9B,sBAAsB,UAAU;AAAA,GAChC,sBAAsB,eAAe;AAAA,GACrC,sBAAsB,OAAO;AAAA,GAC7B,sBAAsB,YAAY;AACpC;AAEO,IAAM,eAAsD;AAAA,EAClE,MAAM,yBAAyB;AAAA,EAC/B,YAAY,yBAAyB;AAAA,EACrC,cAAc,yBAAyB;AACxC;AAEA,IAAM,mBAA0D;AAAA,GAC9D,yBAAyB,QAAQ;AAAA,GACjC,yBAAyB,cAAc;AAAA,GACvC,yBAAyB,YAAY;AACvC;AAEO,IAAM,eAAwD;AAAA,EACpE,oBAAoB,iBAAiB;AAAA,EACrC,eAAe,iBAAiB;AAAA,EAChC,gBAAgB,iBAAiB;AAClC;AAEA,IAAM,mBAAkD;AAAA,GACtD,iBAAiB,iBAAiB;AAAA,GAClC,iBAAiB,aAAa;AAAA,GAC9B,iBAAiB,cAAc;AACjC;AAEO,SAAS,gBAAgB,CAAC,SAA6C;AAAA,EAC7E,IAAI,YAAY;AAAA,IAAU,OAAO,EAAE,MAAM,SAAS;AAAA,EAClD,OAAO,MAAM,QAAQ,QAAQ,MAAM,GAAG;AAAA,EACtC,IAAI,MAAM;AAAA,IAET,OAAO,EAAE,MAAM,YAAY,SAAS,MAAO,cAAc,KAAK;AAAA,EAC/D;AAAA,EAEA,OAAO,EAAE,MAAM,YAAY,SAAS,KAAM;AAAA;AAG3C,SAAS,iBAAiB,CAAC,WAA+C;AAAA,EACzE,IAAI,UAAU,SAAS;AAAA,IAAU,OAAO;AAAA,EACxC,IAAI,UAAU,SAAS,YAAY;AAAA,IAClC,OAAO,GAAG,UAAU,WAAW,UAAU;AAAA,EAC1C;AAAA,EACA,OAAO,UAAU;AAAA;AAGlB,SAAS,aAAa,CAAC,OAIZ;AAAA,EACV,OAAO,GAAG,MAAM,WAAW,MAAM,iBAAiB,MAAM;AAAA;AAGzD,SAAS,UAAU,CAAC,OAIlB;AAAA,EACD,OAAO,YAAY,aAAa,MAAM,MAAM,IAAI;AAAA,EAEhD,OAAO,MAAM,QAAQ,gBAAgB,UAAW;AAAA,EAEhD,OAAO,EAAE,SAAS,MAAM,cAAc,MAAM,WAAW,UAAW;AAAA;AAG5D,SAAS,oBAAoB,CAAC,IAAsC;AAAA,EAC1E,QAAQ,GAAG;AAAA,SACL;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW,iBAAiB,GAAG,OAAO;AAAA,QACtC,eAAe,kBAAkB,GAAG;AAAA,QACpC,QAAQ,yBAAyB,GAAG,MAAM;AAAA,MAC3C;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW,iBAAiB,GAAG,OAAO;AAAA,QACtC,OAAO,WAAW,GAAG,KAAK;AAAA,QAC1B,eAAe,kBAAkB,GAAG;AAAA,QACpC,QAAQ,yBAAyB,GAAG,MAAM;AAAA,MAC3C;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW,iBAAiB,GAAG,OAAO;AAAA,QACtC,OAAO,WAAW,GAAG,KAAK;AAAA,QAC1B,eAAe,aAAa,GAAG;AAAA,QAC/B,SAAS,GAAG;AAAA,MACb;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW,iBAAiB,GAAG,OAAO;AAAA,QACtC,eAAe,kBAAkB,GAAG;AAAA,QACpC,QAAQ,yBAAyB,GAAG,MAAM;AAAA,MAC3C;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW,iBAAiB,GAAG,OAAO;AAAA,QACtC,eAAe,aAAa,GAAG;AAAA,MAChC;AAAA;AAAA;AAII,SAAS,mBAAmB,CAAC,MAAwC;AAAA,EAC3E,QAAQ,KAAK;AAAA,SACP;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,kBAAkB,KAAK,SAAS;AAAA,QACzC,WAAW,aAAa,KAAK,aAAa;AAAA,QAC1C,QAAQ,KAAK,OAAO,SAAS;AAAA,MAC9B;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,kBAAkB,KAAK,SAAS;AAAA,QACzC,WAAW,aAAa,KAAK,aAAa;AAAA,QAC1C,QAAQ,KAAK,OAAO,SAAS;AAAA,QAC7B,OAAO,cAAc,KAAK,KAAK;AAAA,MAChC;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,kBAAkB,KAAK,SAAS;AAAA,QACzC,WAAW,QAAQ,KAAK,aAAa;AAAA,QACrC,OAAO,cAAc,KAAK,KAAK;AAAA,QAC/B,SAAS,KAAK;AAAA,MACf;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,kBAAkB,KAAK,SAAS;AAAA,QACzC,WAAW,aAAa,KAAK,aAAa;AAAA,QAC1C,QAAQ,KAAK,OAAO,SAAS;AAAA,MAC9B;AAAA,SACI;AAAA,MACJ,OAAO;AAAA,QACN,MAAM;AAAA,QACN,SAAS,kBAAkB,KAAK,SAAS;AAAA,QACzC,WAAW,QAAQ,KAAK,aAAa;AAAA,MACtC;AAAA;AAAA;AAIH,SAAS,YAAY,CAAC,MAAkC;AAAA,EACvD,MAAM,OAAO,sBAAsB;AAAA,EACnC,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,yCAAyC,MAAM;AAAA,EAC1E,OAAO;AAAA;AAGR,SAAS,OAAO,CAAC,MAAqC;AAAA,EACrD,MAAM,OAAO,iBAAiB;AAAA,EAC9B,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,oCAAoC,MAAM;AAAA,EACrE,OAAO;AAAA;AAGR,SAAS,OAAO,CAAC,MAA6B;AAAA,EAC7C,MAAM,OAAO,iBAAiB;AAAA,EAC9B,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,oCAAoC,MAAM;AAAA,EACrE,OAAO;AAAA;AAID,SAAS,OAAO,CAAC,KAA4B;AAAA,EACnD,OAAO,oBAAoB,6BAA6B,GAAG,CAAC;AAAA;AAItD,SAAS,kBAAkB,CAAC,IAA2B;AAAA,EAC7D,OAAO,WAAW,2BAA2B,qBAAqB,EAAE,CAAC,CAAC;AAAA;;;AC7NlD,IAArB;AACuB,IAAvB;AAC6D,IAA7D;AAsBA,qBAAI,iBAAiB,CAAC,QAAoB,SAAuB;AAAA,EAChE,MAAM,IAAI,iBAAK,OAAO,qBAAQ,GAAG;AAAA,EACjC,WAAW,OAAO;AAAA,IAAM,EAAE,OAAO,GAAG;AAAA,EACpC,OAAO,EAAE,OAAO;AAAA;AAGjB,IAAM,YAAY,WACjB,IAAI,WAAW,kCAAkC,CAClD;AAEO,SAAS,gCAAgC,CAC/C,WACA,OACA,KAC6B;AAAA,EAC7B,MAAM,cAAc,WAAW,SAAS;AAAA,EACxC,MAAM,SAAS,UAAU,WAAW;AAAA,EACpC,MAAM,eAAe,YAAY,WAAW;AAAA,EAE5C,OAAO;AAAA,IACN,UAAU,gBAAgB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,eACV,eAAe,aACf,eAAe;AAAA,IAClB,WAAW;AAAA,EACZ;AAAA;AAGM,SAAS,kBAAkB,CACjC,mBACwB;AAAA,EACxB,OAAO,EAAE,UAAU,SAAS,UAAU,kBAAkB;AAAA;AAGlD,SAAS,mBAAmB,CAClC,mBACA,0BACyB;AAAA,EACzB,OAAO;AAAA,IACN,UAAU,SAAS;AAAA,IACnB;AAAA,IACA,0BACC,4BACA,iCAAiC,IAAI,OAAO,EAAE,GAAG,IAAI,EAAE;AAAA,EACzD;AAAA;AAGD,SAAS,cAAc,CAAC,WAAiD;AAAA,EACxE,IAAI,eAAe,WAAW;AAAA,IAC7B,OAAO;AAAA,SACH;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,MACL,WAAW;AAAA,IACZ;AAAA,EACD;AAAA,EACA,OAAO;AAAA,OACH;AAAA,IACH,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ,CAAC;AAAA,EACV;AAAA;AAWD,SAAS,sBAAsB,GAA+B;AAAA,EAC7D,OAAO;AAAA,IACN,UAAU,gBAAgB;AAAA,IAC1B,QAAQ,KAAK,OAAO,EAAE;AAAA,IACtB,OAAO;AAAA,IACP,KAAK;AAAA,IACL,aAAa,eAAe;AAAA,IAC5B,WAAW;AAAA,EACZ;AAAA;AAGM,SAAS,sBAAsB,CAAC,MAAoC;AAAA,EAC1E,IAAI,KAAK,aAAa,SAAS,UAAU;AAAA,IACxC,OAAO,mBAAmB,eAAe,KAAK,iBAAiB,CAAC;AAAA,EACjE;AAAA,EACA,OAAO,oBACN,eAAe,KAAK,iBAAiB,GACrC,uBAAuB,CACxB;AAAA;AAIM,SAAS,cAAc,CAC7B,YACA,UACA,KACA,OACS;AAAA,EACT,MAAM,OAAO,YACZ,WAAW,UAAU,GACrB,IAAI,WAAW,CAAC,QAAQ,CAAC,GACzB,WAAW,KAAK,CAAC,GACjB,WAAW,OAAO,CAAC,CACpB;AAAA,EACA,OAAO,cAAc,IAAI;AAAA;AAInB,SAAS,eAAe,CAC9B,YACA,gBACA,WACS;AAAA,EACT,MAAM,OAAO,YACZ,WAAW,UAAU,GACrB,IAAI,WAAW,CAAC,cAAc,CAAC,GAC/B,WAAW,SAAS,CACrB;AAAA,EACA,OAAO,cAAc,IAAI;AAAA;AAI1B,SAAS,WAAW,CAAC,YAAoB,aAA6B;AAAA,EACrE,MAAM,WAAW,WAAW,UAAU,EAAE,MAAM,GAAG,EAAE;AAAA,EACnD,MAAM,MAAM,sBAAK,aAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,EACtD,MAAM,gBAAgB,SAAS,IAAI,UAAU,CAAC;AAAA,EAC9C,OAAO,gBAAgB,IAAI,aAAa;AAAA;AAGlC,SAAS,aAAa,CAC5B,YACA,UACA,KACA,OACA,YAC2C;AAAA,EAC3C,MAAM,aAAa,eAAe,YAAY,UAAU,KAAK,KAAK;AAAA,EAElE,MAAM,WAAW,WAAW,UAAU,EAAE,MAAM,GAAG,EAAE;AAAA,EACnD,MAAM,SAAS,8BAAkB,UAAU,IAAI;AAAA,EAC/C,MAAM,eAAe,OAAO,WAAW;AAAA,EACvC,MAAM,iBAAiB,eACpB,eAAe,aACf,eAAe;AAAA,EAElB,MAAM,UAAU,YAAY,YAAY,UAAU;AAAA,EAClD,MAAM,cAAc,gBAAgB,YAAY,gBAAgB,OAAO;AAAA,EAEvE,OAAO,EAAE,SAAS,YAAY;AAAA;;;AC9KxB,IAHP;AAiCA,IAAM,mBAAmB;AAGlB,SAAS,eAAe,CAAC,UAA2B;AAAA,EAC1D,QAAQ,WAAW,OAAU;AAAA;AAI9B,SAAS,gBAAgB,CACxB,YACA,oBACa;AAAA,EACb,MAAM,QAAsB,CAAC;AAAA,EAC7B,MAAM,KAAK,IAAI,WAAW,CAAC,KAAO,kBAAkB,CAAC,CAAC;AAAA,EACtD,WAAW,MAAM,YAAY;AAAA,IAC5B,MAAM,UAAU,WAAW,EAAE;AAAA,IAC7B,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC3C,MAAM,KAAK,OAAO;AAAA,EACnB;AAAA,EACA,MAAM,KAAK,IAAI,WAAW,CAAC,KAAO,WAAW,MAAM,CAAC,CAAC;AAAA,EACrD,MAAM,KAAK,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAAA,EAC7C,OAAO,YAAY,GAAG,KAAK;AAAA;AAIrB,SAAS,mBAAmB,CAClC,YACA,oBACA,OACS;AAAA,EACT,IAAI,qBAAqB,KAAK,qBAAqB,WAAW,QAAQ;AAAA,IACrE,MAAM,IAAI,MACT,4CAA4C,WAAW,QACxD;AAAA,EACD;AAAA,EACA,MAAM,eAAe,iBAAiB,YAAY,kBAAkB;AAAA,EACpE,MAAM,SAAS,QAAQ,YAAY;AAAA,EACnC,MAAM,UAAU,OAAO,gBAAgB,YAAY;AAAA,EACnD,OAAO,WAAW,SAAS,WAAW,MAAM,CAAC;AAAA;AAIvC,SAAS,+BAA+B,CAC9C,YACA,oBACA,OACA,KACA,WAA6B,gBAAgB,MACjB;AAAA,EAC5B,MAAM,eAAe,iBAAiB,YAAY,kBAAkB;AAAA,EACpE,MAAM,SAAS,WAAW,QAAQ,YAAY,CAAC;AAAA,EAE/C,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,CAAC;AAAA,IACT;AAAA,EACD;AAAA;AAID,SAAS,cAAc,CAAC,IAA+B;AAAA,EACtD,MAAM,UAA6B;AAAA,OAC/B;AAAA,IACH,MAAM,uBAAuB,GAAG,IAAI;AAAA,EACrC;AAAA,EACA,OAAO,cAAc,qBAAqB,OAAO,CAAC;AAAA;AAInD,SAAS,wBAAwB,CAAC,IAA+B;AAAA,EAChE,MAAM,YAAY,GAAG,KAAK;AAAA,EAC1B,MAAM,WAAW,eAAe,EAAE;AAAA,EAClC,OAAO,eACN,UACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA;AAIM,SAAS,qBAAqB,CAAC,IAA+B;AAAA,EACpE,MAAM,YAAY,GAAG,KAAK;AAAA,EAG1B,IAAI,gBAAgB,UAAU,QAAQ,GAAG;AAAA,IACxC,MAAM,UAAU,yBAAyB,EAAE;AAAA,IAE3C,IAAI,aAAa;AAAA,IACjB,WAAW,SAAS,UAAU,QAAQ;AAAA,MACrC,aAAa,gBACZ,YACA,MAAM,gBACN,MAAM,IACP;AAAA,IACD;AAAA,IACA,OAAO;AAAA,EACR;AAAA,EAGA,IAAI,aAAa,eAAe,EAAE;AAAA,EAClC,WAAW,SAAS,UAAU,QAAQ;AAAA,IACrC,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,aAAa,gBAAgB,SAAS,MAAM,gBAAgB,MAAM,IAAI;AAAA,EACvE;AAAA,EACA,OAAO;AAAA;AAID,SAAS,YAAY,CAC3B,IACA,YACA,YACoB;AAAA,EACpB,MAAM,WAAW,WAAW,UAAU,EAAE,MAAM,GAAG,EAAE;AAAA,EACnD,MAAM,eAAe,WAAW,+BAAkB,UAAU,IAAI,CAAC;AAAA,EAEjE,MAAM,cAAc,WAAW,UAAU,CAAC,OAAO,OAAO,YAAY;AAAA,EACpE,IAAI,gBAAgB,IAAI;AAAA,IACvB,MAAM,IAAI,MACT,gEACD;AAAA,EACD;AAAA,EAEA,MAAM,YAAY;AAAA,OACb,GAAG,KAAK;AAAA,EACb;AAAA,EAGA,IAAI,gBAAgB,UAAU,QAAQ,GAAG;AAAA,IACxC,OAAO,kBAAkB,IAAI,WAAW,UAAU;AAAA,EACnD;AAAA,EAGA,OAAO,eAAe,IAAI,WAAW,YAAY,YAAY,WAAW;AAAA;AAIzE,SAAS,iBAAiB,CACzB,IACA,WACA,YACoB;AAAA,EACpB,MAAM,SAAS,CAAC,GAAG,UAAU,MAAM;AAAA,EACnC,MAAM,cAAc,yBAAyB,EAAE;AAAA,EAG/C,MAAM,WAAW,WAAW,UAAU,EAAE,MAAM,GAAG,EAAE;AAAA,EACnD,MAAM,MAAM,uBAAU,aAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,EAC3D,MAAM,gBAAgB,SAAS,IAAI,UAAU,CAAC;AAAA,EAC9C,MAAM,UAAU,gBAAgB,IAAI,aAAa;AAAA,EAEjD,OAAO,KAAK;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB,eAAe;AAAA,IAC/B,MAAM;AAAA,EACP,CAAC;AAAA,EAED,MAAM,eAA0C,KAAK,WAAW,OAAO;AAAA,EACvE,MAAM,WAAW,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE;AAAA,EAG9D,IAAI,YAAY,UAAU,oBAAoB;AAAA,IAC7C,OAAO;AAAA,SACH;AAAA,MACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,aAAa;AAAA,IACrD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,aAAa;AAAA,EACrD;AAAA;AAID,SAAS,cAAc,CACtB,IACA,WACA,YACA,YACA,aACoB;AAAA,EACpB,MAAM,SAAS,CAAC,GAAG,UAAU,MAAM;AAAA,EAGnC,IAAI,aAAa,eAAe,EAAE;AAAA,EAClC,WAAW,SAAS,QAAQ;AAAA,IAC3B,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,aAAa,gBAAgB,SAAS,MAAM,gBAAgB,MAAM,IAAI;AAAA,EACvE;AAAA,EAGA,SAAS,IAAI,OAAO,OAAQ,IAAI,aAAa,KAAK;AAAA,IACjD,MAAM,cAAoC;AAAA,MACzC,MAAM;AAAA,MACN,gBAAgB,eAAe;AAAA,MAE/B,MAAM,WAAW;AAAA,IAClB;AAAA,IACA,OAAO,KAAK,WAAW;AAAA,IACvB,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,aAAa,gBACZ,SACA,YAAY,gBACZ,YAAY,IACb;AAAA,EACD;AAAA,EAGA,QAAQ,SAAS,gBAAgB,cAChC,YACA,SAAS,UACT,UAAU,KACV,UAAU,OACV,UACD;AAAA,EAEA,OAAO,KAAK;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB,eAAe;AAAA,IAC/B,MAAM;AAAA,EACP,CAAC;AAAA,EACD,aAAa;AAAA,EAEb,MAAM,eAA0C,KAAK,WAAW,OAAO;AAAA,EAGvE,MAAM,WAAW,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE;AAAA,EAC9D,IAAI,iBAAiB;AAAA,EAGrB,IAAI,YAAY,UAAU,oBAAoB;AAAA,IAC7C,iBAAiB,0BAChB,cACA,YACA,UACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF,GAAG;AAAA,MACN,mBAAmB;AAAA,IACpB;AAAA,EACD;AAAA;AAID,eAAsB,uBAAuB,CAC5C,IACA,SACA,YAC6B;AAAA,EAC7B,MAAM,eAAe,QAAQ;AAAA,EAE7B,MAAM,cAAc,WAAW,UAAU,CAAC,OAAO,OAAO,YAAY;AAAA,EACpE,IAAI,gBAAgB,IAAI;AAAA,IACvB,MAAM,IAAI,MACT,4DACD;AAAA,EACD;AAAA,EAEA,MAAM,YAAY;AAAA,OACb,GAAG,KAAK;AAAA,EACb;AAAA,EAGA,IAAI,gBAAgB,UAAU,QAAQ,GAAG;AAAA,IACxC,OAAO,6BAA6B,IAAI,WAAW,OAAO;AAAA,EAC3D;AAAA,EAGA,OAAO,0BACN,IACA,WACA,SACA,YACA,WACD;AAAA;AAID,eAAe,4BAA4B,CAC1C,IACA,WACA,SAC6B;AAAA,EAC7B,MAAM,SAAS,CAAC,GAAG,UAAU,MAAM;AAAA,EACnC,MAAM,cAAc,yBAAyB,EAAE;AAAA,EAE/C,MAAM,WAAW,MAAM,QAAQ,KAAK,WAAW,WAAW,CAAC;AAAA,EAC3D,MAAM,UAAU,WAAW,QAAQ;AAAA,EAEnC,OAAO,KAAK;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB,eAAe;AAAA,IAC/B,MAAM;AAAA,EACP,CAAC;AAAA,EAED,MAAM,eAA0C,KAAK,WAAW,OAAO;AAAA,EAEvE,OAAO;AAAA,OACH;AAAA,IACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,aAAa;AAAA,EACrD;AAAA;AAID,eAAe,yBAAyB,CACvC,IACA,WACA,SACA,YACA,aAC6B;AAAA,EAC7B,MAAM,SAAS,CAAC,GAAG,UAAU,MAAM;AAAA,EAGnC,IAAI,aAAa,eAAe,EAAE;AAAA,EAClC,WAAW,SAAS,QAAQ;AAAA,IAC3B,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,aAAa,gBAAgB,SAAS,MAAM,gBAAgB,MAAM,IAAI;AAAA,EACvE;AAAA,EAGA,SAAS,IAAI,OAAO,OAAQ,IAAI,aAAa,KAAK;AAAA,IACjD,MAAM,cAAoC;AAAA,MACzC,MAAM;AAAA,MACN,gBAAgB,eAAe;AAAA,MAE/B,MAAM,WAAW;AAAA,IAClB;AAAA,IACA,OAAO,KAAK,WAAW;AAAA,IACvB,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,aAAa,gBACZ,SACA,YAAY,gBACZ,YAAY,IACb;AAAA,EACD;AAAA,EAGA,MAAM,UAAU,eACf,YACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,EACA,MAAM,WAAW,MAAM,QAAQ,KAAK,WAAW,OAAO,CAAC;AAAA,EACvD,MAAM,UAAU,WAAW,QAAQ;AAAA,EACnC,MAAM,cAAc,gBACnB,SACA,eAAe,YACf,OACD;AAAA,EAEA,OAAO,KAAK;AAAA,IACX,MAAM;AAAA,IACN,gBAAgB,eAAe;AAAA,IAC/B,MAAM;AAAA,EACP,CAAC;AAAA,EACD,aAAa;AAAA,EAEb,MAAM,eAA0C,KAAK,WAAW,OAAO;AAAA,EAGvE,MAAM,WAAW,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE;AAAA,EAC9D,IAAI,iBAAiB;AAAA,EAGrB,IAAI,YAAY,UAAU,oBAAoB;AAAA,IAC7C,iBAAiB,0BAChB,cACA,YACA,UACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF,GAAG;AAAA,MACN,mBAAmB;AAAA,IACpB;AAAA,EACD;AAAA;AAIM,SAAS,gBAAgB,CAC/B,IACA,YACoB;AAAA,EACpB,MAAM,YAAY,GAAG,KAAK;AAAA,EAG1B,IAAI,gBAAgB,UAAU,QAAQ,GAAG;AAAA,IACxC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,aAAa,sBAAsB,EAAE;AAAA,EAC3C,MAAM,iBAAiB,0BACtB,WACA,YACA,UACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF,GAAG;AAAA,MACN,mBAAmB;AAAA,IACpB;AAAA,EACD;AAAA;AAID,SAAS,yBAAyB,CACjC,WACA,YACA,YAC4B;AAAA,EAC5B,MAAM,SAAS,CAAC,GAAG,UAAU,MAAM;AAAA,EACnC,IAAI,UAAU;AAAA,EAGd,SAAS,IAAI,OAAO,OAAQ,IAAI,WAAW,QAAQ,KAAK;AAAA,IACvD,MAAM,cAAoC;AAAA,MACzC,MAAM;AAAA,MACN,gBAAgB,eAAe;AAAA,MAE/B,MAAM,WAAW;AAAA,IAClB;AAAA,IACA,OAAO,KAAK,WAAW;AAAA,IACvB,MAAM,UAAU,eACf,SACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,IACA,UAAU,gBACT,SACA,YAAY,gBACZ,YAAY,IACb;AAAA,EACD;AAAA,EAEA,OAAO,KAAK,WAAW,OAAO;AAAA;AAIxB,SAAS,yBAAyB,CACxC,QACA,WACoB;AAAA,EACpB,MAAM,YAAY,OAAO,KAAK;AAAA,EAE9B,IAAI,CAAC,gBAAgB,UAAU,QAAQ,GAAG;AAAA,IACzC,MAAM,IAAI,MACT,+EACD;AAAA,EACD;AAAA,EAGA,MAAM,WAAW,IAAI;AAAA,EACrB,MAAM,aAAqC,CAAC;AAAA,EAE5C,WAAW,OAAO,WAAW;AAAA,IAC5B,MAAM,eAAe,IAAI,KACvB;AAAA,IACF,WAAW,SAAS,aAAa,QAAQ;AAAA,MACxC,IAAI,MAAM,SAAS,eAAe,CAAC,SAAS,IAAI,MAAM,IAAI,GAAG;AAAA,QAC5D,SAAS,IAAI,MAAM,IAAI;AAAA,QACvB,WAAW,KAAK,KAAK;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,IAAI,WAAW,WAAW,GAAG;AAAA,IAC5B,MAAM,IAAI,MAAM,kDAAkD;AAAA,EACnE;AAAA,EAEA,MAAM,eAA0C;AAAA,OAC5C;AAAA,IACH,QAAQ;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM,KAAK,OAAO,MAAM,mBAAmB,aAAa;AAAA,EACzD;AAAA;;;ACleD,SAAS,aAAa,CAAC,MAAiD;AAAA,EACvE,IAAI,SAAS;AAAA,IAAS,OAAO,sBAAsB;AAAA,EACnD,IAAI,SAAS;AAAA,IAAc,OAAO,sBAAsB;AAAA,EACxD,OAAO,sBAAsB;AAAA;AAG9B,SAAS,qBAAqB,CAC7B,KAC4C;AAAA,EAC5C,IAAI,CAAC,OAAO,IAAI,WAAW;AAAA,IAAG,OAAO,CAAC;AAAA,EACtC,OAAO,IAAI,IAAI,CAAC,OACf,qBAAqB,OAAO,OAAO,WAAW,QAAQ,EAAE,IAAI,EAAE,CAC/D;AAAA;AAKD,SAAS,wBAAwB,CAChC,MACA,OACA,KACoB;AAAA,EACpB,IAAI,KAAK,YAAY;AAAA,IACpB,OAAO,gCACN,KAAK,YAEL,KAAK,oBACL,OACA,KACA,KAAK,QACN;AAAA,EACD;AAAA,EAEA,OAAO,iCAAiC,KAAK,WAAY,OAAO,GAAG;AAAA;AAGpE,SAAS,WAAW,CAEnB,mBACA,WACgB;AAAA,EAChB,OAAO,YACJ,oBAAoB,iBAAiB,IACrC,mBAAmB,iBAAiB;AAAA;AAGxC,SAAS,wBAAwB,CAAC,OAGhC;AAAA,EACD,IAAI,CAAC;AAAA,IAAO,OAAO,EAAE,SAAS,GAAM,SAAS,EAAW;AAAA,EACxD,OAAO,EAAE,SAAS,MAAM,oBAAoB,SAAS,MAAM,GAAG;AAAA;AAGxD,SAAS,kBAAkB,CACjC,SACoB;AAAA,EACpB,QAAQ,SAAS,YAAY,yBAAyB,QAAQ,KAAK;AAAA,EACnE,MAAM,MAAM,YAAY,QAAQ,GAAG;AAAA,EACnC,MAAM,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAEvC,MAAM,oBAAoB,yBAAyB,SAAS,OAAO,GAAG;AAAA,EACtE,MAAM,YAAY,GAAG,UAAU,QAAQ,SAAS;AAAA,EAEhD,MAAM,KAAwB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,MAAM,YAAY,mBAAmB,QAAQ,SAAS;AAAA,IACtD,YAAY,WAAW;AAAA,IACvB,mBAAmB,cAAc,QAAQ,iBAAiB;AAAA,IAC1D,gBAAgB,sBAAsB,QAAQ,cAAc;AAAA,IAC5D,SAAS;AAAA,MACR,aAAa,YAAY;AAAA,MACzB;AAAA,MACA,QAAQ,YAAY,QAAQ,MAAM;AAAA,MAClC,MAAM,QAAQ,QAAQ;AAAA,IACvB;AAAA,EACD;AAAA,EAEA,IAAI,QAAQ,YAAY;AAAA,IACvB,GAAG,YAAY,EAAE,YAAY,QAAQ,WAAW;AAAA,EACjD;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,iBAAiB,CAChC,SACoB;AAAA,EACpB,QAAQ,SAAS,YAAY,yBAAyB,QAAQ,KAAK;AAAA,EACnE,MAAM,MAAM,YAAY,QAAQ,GAAG;AAAA,EACnC,MAAM,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAEvC,MAAM,oBAAoB,yBAAyB,SAAS,OAAO,GAAG;AAAA,EAEtE,MAAM,KAAwB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,MAAM,YAAY,mBAAmB,QAAQ,SAAS;AAAA,IACtD,YAAY,WAAW;AAAA,IACvB,mBAAmB,cAAc,QAAQ,iBAAiB;AAAA,IAC1D,gBAAgB,sBAAsB,QAAQ,cAAc;AAAA,IAC5D,SAAS;AAAA,MACR,aAAa,YAAY;AAAA,MACzB,iBAAiB,QAAQ;AAAA,MACzB,cAAc,QAAQ;AAAA,MACtB,cAAc,QAAQ;AAAA,MACtB,cAAc,QAAQ;AAAA,IACvB;AAAA,EACD;AAAA,EAEA,IAAI,QAAQ,YAAY;AAAA,IACvB,GAAG,YAAY,EAAE,YAAY,QAAQ,WAAW;AAAA,EACjD;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,mBAAmB,CAClC,SACoB;AAAA,EACpB,QAAQ,SAAS,YAAY,yBAAyB,QAAQ,KAAK;AAAA,EACnE,MAAM,MAAM,YAAY,QAAQ,GAAG;AAAA,EACnC,MAAM,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAEvC,MAAM,oBAAoB,yBAAyB,SAAS,OAAO,GAAG;AAAA,EACtE,MAAM,iBAAiB,QAAQ,kBAAkB,eAAe;AAAA,EAEhE,MAAM,KAAwB;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,MAAM,YAAY,mBAAmB,QAAQ,SAAS;AAAA,IACtD,YAAY,WAAW;AAAA,IACvB,mBAAmB,cAAc,QAAQ,iBAAiB;AAAA,IAC1D,gBAAgB,sBAAsB,QAAQ,cAAc;AAAA,IAC5D,SAAS;AAAA,MACR,aAAa,YAAY;AAAA,MACzB;AAAA,MACA,cAAc,QAAQ;AAAA,MACtB,UAAU,QAAQ;AAAA,IACnB;AAAA,EACD;AAAA,EAEA,IAAI,QAAQ,YAAY;AAAA,IACvB,GAAG,YAAY,EAAE,YAAY,QAAQ,WAAW;AAAA,EACjD;AAAA,EACA,OAAO;AAAA;;;ACnND,MAAM,+BAA+B,UAAU;AAAA,EAC5C,OAAO;AACjB;AAAA;AAGO,MAAM,0BAA0B,UAAU;AAAA,EACvC,OAAO;AACjB;;;ACIA,eAAsB,WAAkD,CACvE,QACA,QACa;AAAA,EACb,OAAO,SAAS,QAAQ,gBAAgB,OAAO,QAAQ;AAAA,EACvD,MAAM,gBAAgB,OAAO,WAAW,iBAAiB,OAAO,GAAG,CAAC,CAAC;AAAA,EAErE,MAAM,OAAO,MAAM,OAAO,QACzB,iBAAiB,WAAW,QAAQ,OAAO,WAC3C;AAAA,IACC,QAAQ;AAAA,IACR,MAAM;AAAA,EACP,CACD;AAAA,EAEA,IAAI,OAAO,MAAM,SAAS,UAAU;AAAA,IACnC,MAAM,IAAI,uBACT,8BAA8B,WAAW,QAAQ,OAAO,oCACzD;AAAA,EACD;AAAA,EACA,OAAO,mBAAsB,KAAK,IAAI;AAAA;;;ACtBvC,eAAsB,QAAQ,CAC7B,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,MAAM,OAAO,QACzB,gBAAgB,mBAAmB,OAAO,OAAO,KACjD,EAAE,QAAQ,MAAM,CACjB;AAAA,EACA,MAAM,QAAS,MAA8B;AAAA,EAC7C,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;AAAA,IAC3D,MAAM,IAAI,uBACT,0BAA0B,OAAO,qCAClC;AAAA,EACD;AAAA,EACA,OAAO,OAAO,KAAK;AAAA;;;ACFpB,eAAsB,YAAmD,CACxE,QACA,QACa;AAAA,EACb,OAAO,SAAS,QAAQ,gBAAgB,OAAO,QAAQ;AAAA,EACvD,MAAM,SAAS,OAAO,UAAU;AAAA,EAEhC,MAAM,kBAAkB,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,QAC/C,OAAO,WAAW,iBAAiB,GAAG,CAAC,CAAC,CACzC;AAAA,EAEA,MAAM,OAAO,2BAA2B,mBAAmB,OAAO,KAAK,mBAAmB,IAAI,KAAK,mBAAmB,OAAO,YAAY;AAAA,EACzI,MAAM,OAAO,MAAM,OAAO,QACzB,OAAO,MAAM,GAAG,YAAY,mBAAmB,OAAO,GAAG,MAAM,MAC/D;AAAA,IACC,QAAQ;AAAA,IACR,MAAM;AAAA,MACL;AAAA,MACA,WAAW;AAAA,IACZ;AAAA,EACD,CACD;AAAA,EAEA,IAAI,KAAK,MAAM;AAAA,IACd,IAAI,OAAO,KAAK,WAAW,UAAU;AAAA,MACpC,MAAM,IAAI,uBACT,oEACD;AAAA,IACD;AAAA,IACA,OAAO,mBAAsB,KAAK,MAAM;AAAA,EACzC;AAAA,EACA,MAAM,IAAI,kBAAkB,KAAK,SAAS,uBAAuB;AAAA;;;ACrClE,SAAS,IAAI,CAAC,IAA+B;AAAA,EAC5C,OAAO,cAAc,qBAAqB,EAAE,CAAC;AAAA;AAIvC,SAAS,SAAS,CAAC,IAA+B;AAAA,EACxD,MAAM,UAA6B;AAAA,OAC/B;AAAA,IACH,MAAM,uBAAuB,GAAG,IAAI;AAAA,EACrC;AAAA,EACA,OAAO,KAAK,OAAO;AAAA;AAIb,SAAS,eAAe,CAC9B,IACA,YACoB;AAAA,EACpB,MAAM,UAAU,UAAU,EAAE;AAAA,EAC5B,MAAM,YAAY,GAAG,KAAK;AAAA,EAG1B,QAAQ,YAAY,cACnB,SACA,SAAS,UACT,UAAU,KACV,UAAU,OACV,UACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF,GAAG;AAAA,MACN,mBAAmB;AAAA,WACf;AAAA,QACH,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAAA;AAID,eAAsB,0BAA0B,CAC/C,IACA,SAC6B;AAAA,EAC7B,MAAM,UAAU,UAAU,EAAE;AAAA,EAC5B,MAAM,YAAY,GAAG,KAAK;AAAA,EAG1B,MAAM,aAAa,eAClB,SACA,SAAS,UACT,UAAU,KACV,UAAU,KACX;AAAA,EAGA,MAAM,WAAW,MAAM,QAAQ,KAAK,WAAW,UAAU,CAAC;AAAA,EAC1D,MAAM,UAAU,WAAW,QAAQ;AAAA,EAEnC,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF,GAAG;AAAA,MACN,mBAAmB;AAAA,WACf;AAAA,QACH,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAAA;AAIM,SAAS,gBAAgB,CAAC,IAA+B;AAAA,EAC/D,OAAO,KAAK,EAAE;AAAA;AAIR,SAAS,gBAAgB,CAAC,IAA+B;AAAA,EAC/D,MAAM,YAAY,GAAG,KAAK;AAAA,EAG1B,IAAI,YAAY,WAAW;AAAA,IAC1B,OAAO,sBAAsB,EAAE;AAAA,EAChC;AAAA,EAGA,MAAM,iBAAiB,UAAU,EAAE;AAAA,EACnC,MAAM,KAAK;AAAA,EACX,MAAM,UAAU,eACf,gBACA,SAAS,UACT,GAAG,KACH,GAAG,KACJ;AAAA,EACA,OAAO,gBAAgB,SAAS,GAAG,aAAa,GAAG,SAAS;AAAA;AAItD,SAAS,WAAW,CAC1B,IACA,YACoB;AAAA,EACpB,IAAI,GAAG,KAAK,aAAa,SAAS,WAAW;AAAA,IAC5C,MAAM,IAAI,MAAM,+BAA+B;AAAA,EAChD;AAAA,EACA,MAAM,OAAO,GAAG;AAAA,EAChB,MAAM,mBACL,KAAK;AAAA,EACN,MAAM,gBAAgB,iBAAiB,EAAE;AAAA,EAEzC,QAAQ,YAAY,cACnB,eACA,SAAS,WACT,iBAAiB,KACjB,iBAAiB,OACjB,UACD;AAAA,EAEA,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF;AAAA,MACH,0BAA0B;AAAA,WACtB;AAAA,QACH,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAAA;AAID,eAAsB,sBAAsB,CAC3C,IACA,SAC6B;AAAA,EAC7B,IAAI,GAAG,KAAK,aAAa,SAAS,WAAW;AAAA,IAC5C,MAAM,IAAI,MAAM,+BAA+B;AAAA,EAChD;AAAA,EACA,MAAM,OAAO,GAAG;AAAA,EAChB,MAAM,mBACL,KAAK;AAAA,EACN,MAAM,gBAAgB,iBAAiB,EAAE;AAAA,EAEzC,MAAM,aAAa,eAClB,eACA,SAAS,WACT,iBAAiB,KACjB,iBAAiB,KAClB;AAAA,EAEA,MAAM,WAAW,MAAM,QAAQ,KAAK,WAAW,UAAU,CAAC;AAAA,EAC1D,MAAM,UAAU,WAAW,QAAQ;AAAA,EAEnC,OAAO;AAAA,OACH;AAAA,IACH,MAAM;AAAA,SACF;AAAA,MACH,0BAA0B;AAAA,WACtB;AAAA,QACH,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAAA;;;ACpLM,MAAM,yBAAyB,UAAU;AAAA,EACtC,OAAO;AAAA,EAChB;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,WAAW,CACV,QACA,SAMC;AAAA,IACD,MAAM,QACL,SAAS,QAAQ,YACd,KAAK,QAAQ,UAAU,SAAS,QAAQ,SACxC;AAAA,IACJ,MAAM,mCAAmC,SAAS,SAAS,OAAO;AAAA,IAClE,KAAK,SAAS;AAAA,IACd,KAAK,MAAM,SAAS;AAAA,IACpB,KAAK,SAAS,SAAS;AAAA;AAEzB;;;ACrBO,MAAM,qBAAqB,UAAU;AAAA,EAClC,OAAO;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,WAAW,CAAC,QAKT;AAAA,IACF,MACC,GAAG,OAAO,UAAU,OAAO,+BAA+B,OAAO,sBAAsB,OAAO,UAAU,IACzG;AAAA,IACA,KAAK,SAAS,OAAO;AAAA,IACrB,KAAK,MAAM,OAAO;AAAA,IAClB,KAAK,UAAU,OAAO;AAAA,IACtB,KAAK,UAAU,OAAO;AAAA;AAExB;;;AClBO,SAAS,eAAe,CAC9B,MACA,QACY;AAAA,EACZ,QAAQ,SAAS,QAAQ,YAAY,YAAY;AAAA,EACjD,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACT;AAAA;AAMM,IAAM,0BAA0B;AAEvC,SAAS,UAAU,CAAC,MAA8C;AAAA,EACjE,IAAI,SAAS;AAAA,IAAW;AAAA,EACxB,MAAM,QAAQ,IAAI,YAAY,EAAE,OAAO,IAAI;AAAA,EAC3C,IAAI,MAAM,UAAU;AAAA,IAAyB,OAAO;AAAA,EACpD,MAAM,OAAO,IAAI,YAAY,EAAE,OAC9B,MAAM,SAAS,GAAG,uBAAuB,CAC1C;AAAA,EACA,OAAO,GAAG,sBAAsB,MAAM,SAAS;AAAA;AAIhD,SAAS,iBAAiB,CAAC,QAAyB;AAAA,EACnD,OAAO,WAAW,OAAO,UAAU;AAAA;AAKpC,IAAM,qBAAqB;AAI3B,SAAS,YAAY,CAAC,UAAwC;AAAA,EAC7D,MAAM,QAAQ,SAAS,QAAQ,IAAI,aAAa;AAAA,EAChD,IAAI,CAAC;AAAA,IAAO;AAAA,EACZ,MAAM,UAAU,OAAO,KAAK;AAAA,EAC5B,MAAM,KAAK,OAAO,SAAS,OAAO,IAC/B,UAAU,OACV,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI;AAAA,EAChC,IAAI,CAAC,OAAO,SAAS,EAAE,KAAK,KAAK,KAAK,KAAK;AAAA,IAC1C;AAAA,EACD,OAAO;AAAA;AAGR,SAAS,WAAW,CAAC,QAA4B;AAAA,EAChD,MAAM,SAAS,OAAO;AAAA,EACtB,IAAI,kBAAkB;AAAA,IAAO,OAAO;AAAA,EACpC,OAAO,IAAI,aACV,OAAO,WAAW,WAAW,SAAS,6BACtC,YACD;AAAA;AAID,SAAS,KAAK,CAAC,IAAY,QAAqC;AAAA,EAC/D,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,IACvC,IAAI,QAAQ;AAAA,MAAS,OAAO,OAAO,YAAY,MAAM,CAAC;AAAA,IACtD,MAAM,UAAU,MAAM;AAAA,MACrB,aAAa,EAAE;AAAA,MACf,OAAO,YAAY,MAAqB,CAAC;AAAA;AAAA,IAE1C,MAAM,KAAK,WAAW,MAAM;AAAA,MAC3B,QAAQ,oBAAoB,SAAS,OAAO;AAAA,MAC5C,QAAQ;AAAA,OACN,EAAE;AAAA,IACL,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,GACzD;AAAA;AAyBF,eAAsB,cAA4B,CACjD,KACA,SACA,YACA,YACA,SACA,QAAkC,CAAC,GACtB;AAAA,EACb,QAAQ,WAAW;AAAA,EACnB,MAAM,OACL,MAAM,SAAS,OAAO,aAAuB;AAAA,EAC9C,MAAM,SAAS,QAAQ,UAAU;AAAA,EACjC,IAAI;AAAA,EAEJ,SAAS,UAAU,EAAG,WAAW,YAAY,WAAW;AAAA,IACvD,IAAI,QAAQ;AAAA,MAAS,MAAM,YAAY,MAAM;AAAA,IAE7C,MAAM,aAAa,IAAI;AAAA,IACvB,IAAI,WAAW;AAAA,IACf,MAAM,YAAY,WAAW,MAAM;AAAA,MAClC,WAAW;AAAA,MACX,WAAW,MAAM,IAAI,aAAa,EAAE,QAAQ,KAAK,SAAS,QAAQ,CAAC,CAAC;AAAA,OAClE,OAAO;AAAA,IACV,MAAM,gBAAgB,MACrB,WAAW,MAAM,YAAY,MAAqB,CAAC;AAAA,IACpD,QAAQ,iBAAiB,SAAS,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,IAK/D,MAAM,UAAU,IAAI,QAAe,CAAC,GAAG,WAAW;AAAA,MACjD,IAAI,WAAW,OAAO;AAAA,QAAS,OAAO,OAAO,WAAW,OAAO,MAAM;AAAA,MACrE,WAAW,OAAO,iBACjB,SACA,MAAM,OAAO,WAAW,OAAO,MAAM,GACrC,EAAE,MAAM,KAAK,CACd;AAAA,KACA;AAAA,IAED,IAAI;AAAA,IACJ,IAAI;AAAA,MACH,IAAI;AAAA,QACH,WAAW,MAAM,QAAQ,KAAK;AAAA,UAC7B,MAAM,KAAK,KAAK,SAAS,QAAQ,WAAW,OAAO,CAAC;AAAA,UACpD;AAAA,QACD,CAAC;AAAA,QACA,OAAO,OAAO;AAAA,QACf,IAAI,QAAQ;AAAA,UAAS,MAAM,YAAY,MAAM;AAAA,QAC7C,YAAY,WACT,IAAI,aAAa,EAAE,QAAQ,KAAK,SAAS,QAAQ,CAAC,IAClD,iBAAiB,QAChB,QACA,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,QAC3B,IAAI,UAAU,YAAY;AAAA,UACzB,aAAa,SAAS;AAAA,UACtB,MAAM,MAAM,cAAc,UAAU,IAAI,MAAM;AAAA,UAC9C;AAAA,QACD;AAAA,QACA,MAAM;AAAA;AAAA,MAGP,IAAI,SAAS,IAAI;AAAA,QAChB,IAAI;AAAA,UACH,OAAO,MAAM,QAAQ,KAAK,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC;AAAA,UAClD,OAAO,OAAO;AAAA,UACf,SAAS,MAAM,OAAO,EAAE,MAAM,MAAM,EAAE;AAAA,UACtC,IAAI,QAAQ;AAAA,YAAS,MAAM,YAAY,MAAM;AAAA,UAC7C,IAAI,CAAC;AAAA,YAAU,MAAM;AAAA,UACrB,YAAY,IAAI,aAAa,EAAE,QAAQ,KAAK,SAAS,QAAQ,CAAC;AAAA,UAC9D,IAAI,UAAU,YAAY;AAAA,YACzB,aAAa,SAAS;AAAA,YACtB,MAAM,MAAM,cAAc,UAAU,IAAI,MAAM;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,MAAM;AAAA;AAAA,MAER;AAAA,MAEA,MAAM,YAAY,kBAAkB,SAAS,MAAM;AAAA,MACnD,IAAI,CAAC,aAAa,YAAY,YAAY;AAAA,QACzC,MAAM,OAAO,MAAM,QAAQ,KAAK;AAAA,UAC/B,SAAS,KAAK,EAAE,MAAM,MAAG;AAAA,YAAG;AAAA,WAAS;AAAA,UACrC,QAAQ,MAAM,MAAG;AAAA,YAAG;AAAA,WAAS;AAAA,QAC9B,CAAC;AAAA,QACD,MAAM,IAAI,iBAAiB,SAAS,QAAQ;AAAA,UAC3C,SAAS,WAAW,IAAI;AAAA,UACxB;AAAA,UACA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MAEA,YAAY,IAAI,iBAAiB,SAAS,QAAQ,EAAE,KAAK,OAAO,CAAC;AAAA,MAEjE,MAAM,QAAQ,aAAa,QAAQ,KAAK,cAAc,UAAU;AAAA,MAChE,SAAS,MAAM,OAAO,EAAE,MAAM,MAAM,EAAE;AAAA,MAItC,aAAa,SAAS;AAAA,MACtB,MAAM,MAAM,OAAO,MAAM;AAAA,cACxB;AAAA,MACD,aAAa,SAAS;AAAA,MACtB,QAAQ,oBAAoB,SAAS,aAAa;AAAA;AAAA,EAEpD;AAAA,EAEA,MAAM,aAAa,IAAI,MAAM,gBAAgB;AAAA;AAI9C,eAAsB,QAAQ,CAAC,UAAsC;AAAA,EACpE,MAAM,cAAc,SAAS,QAAQ,IAAI,cAAc,KAAK;AAAA,EAC5D,IAAI,YAAY,SAAS,kBAAkB,GAAG;AAAA,IAC7C,OAAO,SAAS,KAAK;AAAA,EACtB;AAAA,EACA,OAAO,SAAS,KAAK;AAAA;AAGf,SAAS,cAAc,CAC7B,SACA,QACY;AAAA,EACZ;AAAA,IACC,UAAU;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe,CAAC;AAAA,IAChB;AAAA,MACG;AAAA,EAEJ,OAAO,OAAO,MAAc,YAA6B;AAAA,IACxD,MAAM,MAAM,GAAG,QAAQ,QAAQ,OAAO,EAAE,IAAI;AAAA,IAC5C,MAAM,UAAkC;AAAA,MACvC,gBAAgB;AAAA,SACZ,aAAa;AAAA,SACd,SAAS;AAAA,IACb;AAAA,IAEA,IAAI,QAAQ;AAAA,MACX,QAAQ,eAAe;AAAA,IACxB;AAAA,IAEA,MAAM,OAAoB;AAAA,SACtB;AAAA,MACH,QAAQ,SAAS,UAAU;AAAA,MAC3B;AAAA,IACD;AAAA,IAEA,IAAI,SAAS,SAAS,WAAW;AAAA,MAChC,KAAK,OAAO,KAAK,UAAU,QAAQ,IAAI;AAAA,IACxC;AAAA,IAEA,OAAO,eACN,KACA,MACA,SAAS,cAAc,YACvB,YACA,SACA,EAAE,QAAQ,SAAS,QAAQ,MAAM,SAAS,CAC3C;AAAA;AAAA;;;ACzMK,MAAM,+BAA+B,MAAM;AAAA,EACxC,OAAO;AACjB;AAGA,SAAS,UAAU,CAAC,KAAa,QAAyB;AAAA,EACzD,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,WAAW,IAAI,IAAI,GAAG,EAAE;AAAA,IACvB,MAAM;AAAA,IACP,OAAO;AAAA;AAAA,EAER,IAAI,aAAa,aAAa,SAAS,SAAS,UAAU;AAAA,IAAG,OAAO;AAAA,EACpE,MAAM,WAAW,OAAO,OAAO,SAAS,SAAS,QAAQ,CAAC;AAAA,EAC1D,OAAO,SAAS,KAAK,CAAC,MAAM;AAAA,IAC3B,IAAI;AAAA,MACH,OAAO,IAAI,IAAI,CAAC,EAAE,aAAa,YAAY,aAAa;AAAA,MACvD,MAAM;AAAA,MACP,OAAO;AAAA;AAAA,GAER;AAAA;AAaK,SAAS,cAAc,CAC7B,QACA,SACA,YACY;AAAA,EACZ,MAAM,eAAe,OAAO,UAAU,OAAO,KAAK,QAAQ,OAAO,EAAE;AAAA,EACnE,IAAI,YAAY,WAAW;AAAA,IAC1B,IAAI,CAAC,cAAc;AAAA,MAClB,MAAM,IAAI,uBACT,GAAG,yHACJ;AAAA,IACD;AAAA,IACA,IAAI,WAAW,cAAc,MAAM,GAAG;AAAA,MACrC,MAAM,IAAI,uBACT,GAAG,6DAA6D,yEACjE;AAAA,IACD;AAAA,IACA,OAAO,OAAO;AAAA,EACf;AAAA,EACA,MAAM,SAAS,QAAQ,QAAQ,OAAO,EAAE;AAAA,EACxC,IAAI,WAAW;AAAA,IAAc,OAAO,OAAO;AAAA,EAC3C,QAAQ,SAAS,YAAY,eAAe,OAAO,UAAU;AAAA,EAC7D,OAAO,eAAe,QAAQ,EAAE,SAAS,YAAY,WAAW,CAAC;AAAA;AAS3D,SAAS,aAAa,CAC5B,OACA,YAC4B;AAAA,EAC5B,IAAI,EAAE,iBAAiB,qBAAqB,MAAM,WAAW,KAAK;AAAA,IACjE,OAAO;AAAA,EACR;AAAA,EACA,MAAM,OAAO,MAAM;AAAA,EACnB,IAAI,SAAS,WAAW;AAAA,IACvB,IAAI;AAAA,MACH,KAAK,MAAM,IAAI;AAAA,MACd,MAAM;AAAA,MACP,MAAM,IAAI,uBACT,GAAG,sCAAsC,MAAM,OAAO,6GACtD,EAAE,OAAO,MAAM,CAChB;AAAA;AAAA,EAEF;AAAA,EACA,OAAO;AAAA;AAGR,SAAS,aAAa,CAAC,MAAsB;AAAA,EAC5C,OAAO,KAAK,WAAW,IAAI,IAAI,OAAO,KAAK;AAAA;AAG5C,SAAS,eAAe,CAAC,KAGvB;AAAA,EACD,IAAI,CAAC;AAAA,IAAK,OAAO,CAAC;AAAA,EAClB,IAAI;AAAA,IACH,OAAO,EAAE,QAAQ,mBAAmB,GAAG,GAAG,WAAW,IAAI;AAAA,IACxD,MAAM;AAAA,IACP,OAAO,EAAE,WAAW,IAAI;AAAA;AAAA;AAK1B,SAAS,eAAe,CAAC,UAAiD;AAAA,EACzE,QAAQ;AAAA,SACF;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA;AAAA,MAEP,OAAO,SAAS,WAAW,SAAS,IAAI,YAAY;AAAA;AAAA;AAUhD,SAAS,iBAAiB,GAA4B;AAAA,EAC5D,OAAO;AAAA,SACA,IAAG,GAAG,QAAQ,QAAQ;AAAA,MAC3B,IAAI;AAAA,MACJ,IAAI;AAAA,QACH,OAAO,MAAM,OAAO,QACnB,mBAAmB,mBAAmB,cAAc,IAAI,CAAC,KACzD,EAAE,QAAQ,MAAM,CACjB;AAAA,QACC,OAAO,OAAO;AAAA,QACf,IAAI,iBAAiB,oBAAoB,MAAM,WAAW,KAAK;AAAA,UAC9D,OAAO,EAAE,SAAS,KAAK;AAAA,QACxB;AAAA,QACA,MAAM;AAAA;AAAA,MAGP,MAAM,WACL,OAAO,MAAM,cAAc,WAAW,KAAK,YAAY;AAAA,MACxD,IAAI,CAAC;AAAA,QAAU,OAAO,EAAE,SAAS,KAAK;AAAA,MAEtC,MAAM,SAAS,gBAAgB,QAAQ;AAAA,MACvC,IAAI,CAAC;AAAA,QAAQ,OAAO,EAAE,SAAS,KAAK;AAAA,MAEpC,OAAO;AAAA,QACN,SAAS;AAAA,UACR,MAAM,cAAc,IAAI;AAAA,UACxB;AAAA,UACA,aACC,OAAO,KAAK,iBAAiB,YAAY,KAAK,eAAe,IAC1D,KAAK,eACL;AAAA,UACJ,WAAW,KAAK,cAAc;AAAA,aAC3B,gBAAgB,KAAK,WAAW,GAAG;AAAA,UACtC,QAAQ,MAAM,QAAQ,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC;AAAA,UACpD,KAAK;AAAA,QACN;AAAA,MACD;AAAA;AAAA,EAEF;AAAA;AAyBM,SAAS,aAAa,CAC5B,SAA8B,CAAC,GACL;AAAA,EAC1B,MAAM,UAAU,OAAO,SACpB,EAAE,eAAe,UAAU,OAAO,SAAS,IAC3C;AAAA,EAEH,OAAO;AAAA,IACN,eAAe;AAAA,SACT,IAAG,GAAG,QAAQ,QAAQ;AAAA,MAC3B,MAAM,UAAU,eAAe,QAAQ,OAAO,SAAS,eAAe;AAAA,MACtE,IAAI;AAAA,MASJ,IAAI;AAAA,QACH,OAAO,MAAM,QAAQ,0BAA0B,cAAc,IAAI,KAAK;AAAA,UACrE,QAAQ;AAAA,UACR;AAAA,QACD,CAAC;AAAA,QACA,OAAO,OAAO;AAAA,QACf,IAAI,cAAc,OAAO,eAAe;AAAA,UAAG,OAAO,EAAE,SAAS,KAAK;AAAA,QAClE,MAAM;AAAA;AAAA,MAEP,MAAM,KAAK,KAAK;AAAA,MAChB,MAAM,MAAM,KAAK,KAAK;AAAA,MACtB,IAAI,CAAC;AAAA,QAAI,OAAO,EAAE,SAAS,MAAM,IAAI;AAAA,MAErC,MAAM,SAAS,gBAAgB,GAAG,MAAM,KAAK;AAAA,MAC7C,OAAO;AAAA,QACN,SAAS;AAAA,UACR,MAAM,cAAc,GAAG,KAAK;AAAA,UAC5B;AAAA,UACA,aAAa,GAAG;AAAA,aACb,gBAAgB,GAAG,eAAe,UAAU;AAAA,UAC/C,QAAQ,CAAC;AAAA,UACT,KAAK;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA;AAAA,EAEF;AAAA;;;ACvRD,eAAsB,cAAc,CACnC,QACA,QACqC;AAAA,EACrC,MAAM,SAAS,OAAO,UAAU,kBAAkB;AAAA,EAClD,QAAQ,YAAY,MAAM,OAAO,IAAI,EAAE,QAAQ,MAAM,OAAO,KAAK,CAAC;AAAA,EAClE,OAAO;AAAA;;;ACpBR,eAAsB,cAAc,CAAC,QAAiC;AAAA,EACrE,MAAM,OAAO,MAAM,OAAO,QAAQ,YAAY,EAAE,QAAQ,MAAM,CAAC;AAAA,EAC/D,IAAI,OAAO,MAAM,sBAAsB,UAAU;AAAA,IAChD,MAAM,IAAI,uBACT,kEACD;AAAA,EACD;AAAA,EACA,OAAO,KAAK;AAAA;;;ACsBb,IAAM,SAAQ,CAAC,OAAe,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAelE,eAAsB,yBAAyB,CAC9C,QACA,QAC8B;AAAA,EAC9B;AAAA,IACC;AAAA,IACA,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,kBAAkB;AAAA,MACf;AAAA,EACJ,MAAM,SAAS,OAAO,UAAU,kBAAkB;AAAA,EAClD,MAAM,qBACL,OAAO,uBAAuB,OAAO,gBAAgB,UAAU;AAAA,EAEhE,MAAM,YAAY,KAAK,IAAI;AAAA,EAC3B,IAAI,eAA8B;AAAA,EAClC,IAAI,cAAc;AAAA,EAElB,OAAO,MAAM;AAAA,IACZ,MAAM,WAAW,MAAM,OAAO,IAAI,EAAE,QAAQ,KAAK,CAAC;AAAA,IAClD,MAAM,UAAU,SAAS;AAAA,IAEzB,IAAI,YAAY,MAAM;AAAA,MAIrB,iBAAiB,KAAK,IAAI;AAAA,MAC1B,IAAI,KAAK,IAAI,IAAI,gBAAgB,oBAAoB;AAAA,QACpD,MAAM,IAAI,wBACT,cACG,eAAe,8CACf,eAAe,gDAClB,EAAE,KAAK,CACR;AAAA,MACD;AAAA,IACD,EAAO;AAAA,MACN,eAAe;AAAA,MAEf,QAAQ,QAAQ;AAAA,aACV;AAAA,UACJ,MAAM,IAAI,wBACT,eAAe,qCACf,EAAE,KAAK,CACR;AAAA,aACI;AAAA,aACA;AAAA,UACJ,MAAM,IAAI,wBACT,eAAe,iBAAiB,QAAQ,WACxC,EAAE,QAAQ,CACX;AAAA,aACI;AAAA,UACJ,cAAc;AAAA,UACd;AAAA,aACI,WAAW;AAAA,UACf,IAAI,iBAAiB;AAAA,YAAG,OAAO;AAAA,UAC/B,IAAI,QAAQ,gBAAgB,WAAW;AAAA,YACtC,MAAM,MAAM,SAAS,OAAQ,MAAM,eAAe,MAAM;AAAA,YACxD,IAAI,MAAM,QAAQ,cAAc,KAAK;AAAA,cAAe,OAAO;AAAA,UAC5D;AAAA,UACA;AAAA,QACD;AAAA;AAAA;AAAA,IAIF,IAAI,KAAK,IAAI,IAAI,aAAa,SAAS;AAAA,MACtC,MAAM,IAAI,+BACT,mBAAmB,qCAAqC,QACxD,EAAE,KAAK,CACR;AAAA,IACD;AAAA,IACA,MAAM,OAAM,eAAe;AAAA,EAC5B;AAAA;;;ACxFD,eAAsB,eAAe,CACpC,QACA,QACiC;AAAA,EACjC,MAAM,MAAM,WAAW,qBAAqB,OAAO,WAAW,CAAC;AAAA,EAE/D,MAAM,OAA+B,EAAE,IAAI,IAAI;AAAA,EAC/C,IAAI,OAAO,YAAY;AAAA,IACtB,KAAK,aACJ,OAAO,OAAO,eAAe,WAC1B,OAAO,aACP,WAAW,OAAO,UAAU;AAAA,EACjC;AAAA,EAOA,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,OAAO,MAAM,OAAO,QAAQ,oBAAoB;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,MACA,YAAY;AAAA,IACb,CAAC;AAAA,IACA,OAAO,OAAO;AAAA,IACf,IAAI,iBAAiB,oBAAoB,MAAM,SAAS;AAAA,MACvD,IAAI;AAAA,QACH,OAAO,KAAK,MAAM,MAAM,OAAO;AAAA,QAC9B,MAAM;AAAA,QACP,MAAM;AAAA;AAAA,IAER,EAAO,SAAI,iBAAiB,cAAc;AAAA,MAGzC,MAAM,OAAO,iBAAiB,OAAO,WAAW;AAAA,MAChD,MAAM,UAAU,MAAM,eAAe,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,IAAI;AAAA,MACvE,IAAI,YAAY;AAAA,QAAM,MAAM;AAAA,MAC5B,OAAO,EAAE,KAAK;AAAA,IACf,EAAO;AAAA,MACN,MAAM;AAAA;AAAA;AAAA,EAIR,IAAI,KAAK,OAAO;AAAA,IACf,MAAM,IAAI,eAAe,KAAK,UAAU,KAAK,OAAO;AAAA,MACnD,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,MAAM,KAAK,QAAQ,iBAAiB,OAAO,WAAW;AAAA,IACvD,CAAC;AAAA,EACF;AAAA,EAEA,MAAM,OACL,OAAO,SAAS,WACb,KAAK,QAAQ,MAAM,EAAE,IACpB,KAAK,QAAQ,iBAAiB,OAAO,WAAW;AAAA,EAErD,IAAI,OAAO,MAAM;AAAA,IAChB,MAAM,gBAAgB,OAAO,SAAS,OAAO,IAAI,OAAO;AAAA,IACxD,MAAM,UAAU,MAAM,0BAA0B,QAAQ;AAAA,MACvD;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,OAAO,EAAE,MAAM,QAAQ;AAAA,EACxB;AAAA,EAEA,OAAO,EAAE,KAAK;AAAA;;;ACnBR,SAAS,aAAa,GAAuB;AAAA,EACnD,OAAO;AAAA,IACN,KAAK,GAAG,QAAQ,cAAc,SAAS,QAAQ,EAAE,QAAQ,CAAC;AAAA,EAC3D;AAAA;AAUM,SAAS,WAAW,GAAe;AAAA,EACzC,MAAM,OAAO,IAAI;AAAA,EACjB,MAAM,QAAQ,IAAI;AAAA,EAElB,SAAS,QAAW,CAAC,KAAa,IAAkC;AAAA,IACnE,MAAM,OAAO,MAAM,IAAI,GAAG,KAAK,QAAQ,QAAQ;AAAA,IAG/C,MAAM,MAAM,KAAK,KAAK,IAAI,EAAE;AAAA,IAC5B,MAAM,IACL,KACA,IAAI,MAAM,MAAM,EAAE,CACnB;AAAA,IACA,OAAO;AAAA;AAAA,EAGR,OAAO;AAAA,IACN,OAAO,CAAC,KAAK,UAAU;AAAA,MACtB,OAAO,SAAS,KAAK,YAAY;AAAA,QAChC,IAAI,UAAU,KAAK,IAAI,GAAG;AAAA,QAC1B,IAAI,YAAY;AAAA,UAAW,UAAU,MAAM,SAAS;AAAA,QACpD,KAAK,IAAI,KAAK,UAAU,EAAE;AAAA,QAC1B,OAAO;AAAA,OACP;AAAA;AAAA,IAEF,KAAK,CAAC,KAAK;AAAA,MACV,KAAK,OAAO,GAAG;AAAA;AAAA,IAEhB,OAAO,CAAC,KAAK,OAAO;AAAA,MACnB,OAAO,SAAS,KAAK,YAAY;AAAA,QAChC,IAAI,KAAK,IAAI,GAAG,MAAM,QAAQ;AAAA,UAAI,KAAK,IAAI,KAAK,KAAK;AAAA,OACrD;AAAA;AAAA,IAEF,IAAI,CAAC,KAAK;AAAA,MACT,OAAO,KAAK,IAAI,GAAG;AAAA;AAAA,EAErB;AAAA;AAGD,SAAS,QAAQ,CAAC,QAAgB,SAAyB;AAAA,EAC1D,OAAO,GAAG,OAAO,OAAO,MAAM,YAAY;AAAA;AAUpC,SAAS,kBAAkB,CACjC,SAAmC,CAAC,GACrB;AAAA,EACf,MAAM,SAAS,OAAO,UAAU,cAAc;AAAA,EAC9C,MAAM,QAAQ,OAAO,SAAS,YAAY;AAAA,EAE1C,OAAO;AAAA,IACN,OAAO,GAAG,QAAQ,WAAW;AAAA,MAC5B,OAAO,MAAM,QAAQ,SAAS,QAAQ,OAAO,GAAG,MAC/C,OAAO,IAAI,EAAE,QAAQ,QAAQ,CAAC,CAC/B;AAAA;AAAA,IAED,KAAK,GAAG,QAAQ,WAAW;AAAA,MAC1B,OAAO,MAAM,MAAM,SAAS,QAAQ,OAAO,CAAC;AAAA;AAAA,IAE7C,OAAO,GAAG,QAAQ,SAAS,SAAS;AAAA,MACnC,OAAO,MAAM,UAAU,SAAS,QAAQ,OAAO,GAAG,KAAK;AAAA;AAAA,SAElD,KAAI,GAAG,QAAQ,WAAW;AAAA,MAC/B,OAAO,MAAM,OAAO,SAAS,QAAQ,OAAO,CAAC;AAAA;AAAA,EAE/C;AAAA;AAID,eAAsB,YAAY,CACjC,QACA,SACkB;AAAA,EAClB,IAAI,OAAO;AAAA,IACV,OAAO,OAAO,aAAa,QAAQ,EAAE,QAAQ,QAAQ,CAAC;AAAA,EACvD,OAAO,SAAS,QAAQ,EAAE,QAAQ,CAAC;AAAA;AAQpC,eAAsB,YAAY,CACjC,QACA,SACA,OACgB;AAAA,EAChB,IAAI,CAAC,OAAO;AAAA,IAAc;AAAA,EAC1B,IAAI;AAAA,IACH,MAAM,OAAO,aAAa,QAAQ,EAAE,QAAQ,SAAS,MAAM,CAAC;AAAA,IAC3D,MAAM;AAAA;AAyCT,eAAsB,cAAc,CACnC,SACA,QACgC;AAAA,EAChC,QAAQ,QAAQ,SAAS,WAAW;AAAA,EACpC,MAAM,WAAW,OAAO,YAAY;AAAA,EAEpC,MAAM,gBAAgB,MAAM,OAAO,IAAI,EAAE,QAAQ,QAAQ,CAAC;AAAA,EAC1D,MAAM,UAAU,MAAM,QAAQ,KAAK,EAAE,QAAQ,QAAQ,CAAC;AAAA,EAEtD,IAAI,YAAY,aAAa,kBAAkB,SAAS;AAAA,IACvD,OAAO,EAAE,OAAO,OAAO,eAAe,QAAQ;AAAA,EAC/C;AAAA,EACA,IAAI,gBAAgB,WAAW,CAAC,UAAU;AAAA,IACzC,OAAO,EAAE,OAAO,OAAO,eAAe,QAAQ;AAAA,EAC/C;AAAA,EAEA,MAAM,QAAQ,MAAM,EAAE,QAAQ,QAAQ,CAAC;AAAA,EACvC,OAAO,EAAE,OAAO,MAAM,eAAe,QAAQ;AAAA;AA+BvC,SAAS,oBAAoB,CACnC,SACA,QACuB;AAAA,EACvB,QAAQ,QAAQ,WAAW,QAAQ,UAAU;AAAA,EAC7C,MAAM,aAAa,OAAO,cAAc;AAAA,EACxC,IAAI,UAAU;AAAA,EAEd,MAAM,OAAO,YAAY;AAAA,IACxB,IAAI,CAAC;AAAA,MAAS;AAAA,IACd,WAAW,WAAW,WAAW;AAAA,MAChC,IAAI;AAAA,QACH,MAAM,SAAS,MAAM,eAAe,SAAS;AAAA,UAC5C;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QAClB,CAAC;AAAA,QACD,OAAO,cAAc,SAAS,MAAM;AAAA,QACnC,OAAO,OAAO;AAAA,QACf,IAAI;AAAA,UACH,OAAO,UAAU,SAAS,KAAK;AAAA,UAC9B,MAAM;AAAA;AAAA,IAKV;AAAA,IACA,IAAI,WAAW,OAAO;AAAA,MACrB,MAAM,MAAM,QAAQ,UAAU;AAAA,MAC9B,KAAK;AAAA,IACN;AAAA;AAAA,EAGD,IAAI,OAAO;AAAA,IACV,KAAK;AAAA,IACL,OAAO;AAAA,MACN,MAAM,MAAM;AAAA,QACX,UAAU;AAAA;AAAA,IAEZ;AAAA,EACD;AAAA,EAEA,MAAM,QAAQ,YAAY,MAAM,UAAU;AAAA,EAEzC,MAAiC,QAAQ;AAAA,EAE1C,OAAO;AAAA,IACN,MAAM,MAAM,cAAc,KAAK;AAAA,EAChC;AAAA;AAIM,SAAS,oBAAoB,CAAC,OAAyB;AAAA,EAC7D,IAAI,EAAE,iBAAiB;AAAA,IAAiB,OAAO;AAAA,EAC/C,IACC,MAAM,WAAW,+BACjB,MAAM,WAAW,YAChB;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EAGA,IAAI,MAAM,WAAW;AAAA,IAAW,OAAO;AAAA,EAEvC,OAAO,MAAM,QAAQ,YAAY,EAAE,SAAS,OAAO;AAAA;AAOpD,eAAsB,uBAAuB,CAC5C,QACA,QACkB;AAAA,EAClB,IAAI;AAAA,IACH,MAAM,SAAS,MAAM,gBAAgB,QAAQ;AAAA,MAC5C,aAAa,OAAO;AAAA,IACrB,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACb,OAAO,OAAO;AAAA,IACf,IAAI,OAAO,gBAAgB,qBAAqB,KAAK,GAAG;AAAA,MACvD,MAAM,OAAO,aAAa,MAAM,EAAE,QAAQ,SAAS,OAAO,QAAQ,CAAC;AAAA,IACpE;AAAA,IACA,MAAM;AAAA;AAAA;;;ACzVR,SAAS,iBAAiB,CACzB,GAC2D;AAAA,EAC3D,OACC,OAAO,MAAM,YACb,MAAM,QACN,cAAc,KACd,SAAS,MACR,OAAQ,EAA8B,aAAa,YACnD,OAAQ,EAA8B,aAAa,cACnD,OAAQ,EAA8B,QAAQ,YAC9C,OAAQ,EAA8B,QAAQ;AAAA;AAIjD,eAAsB,WAAW,CAChC,QACA,QAC2B;AAAA,EAC3B,MAAM,aAAa,WAAW,iBAAiB,OAAO,YAAY,OAAO,CAAC;AAAA,EAC1E,MAAM,QAAQ,WAAW,qBAAqB,OAAO,WAAW,CAAC;AAAA,EAEjE,MAAM,OAAO,MAAM,OAAO,QAAQ,wBAAwB;AAAA,IACzD,QAAQ;AAAA,IACR,MAAM;AAAA,MACL,eAAe,KAAK,KAAK,MAAM,SAAS,CAAC;AAAA,MACzC,qBAAqB,KAAK;AAAA,IAC3B;AAAA,EACD,CAAC;AAAA,EAED,MAAM,MAAO,MAAsC,eAAe,CAAC;AAAA,EACnE,OAAO,IAAI,IAAI,CAAC,MAAM;AAAA,IACrB,IAAI,CAAC,kBAAkB,CAAC,GAAG;AAAA,MAC1B,MAAM,IAAI,uBACT,kEACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,MACN,SAAS,OAAO,EAAE,QAAQ;AAAA,MAC1B,KAAK,OAAO,EAAE,GAAG;AAAA,IAClB;AAAA,GACA;AAAA;;;AC9CK,SAAS,iBAAiB,CAChC,SAC6B;AAAA,EAC7B,OAAO,QAAQ,SAAS;AAAA;AAazB,IAAM,YAAgC,CAAC,OAAO,OAAO,OAAO,MAAM;AAClE,IAAM,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,EAAE;AAEtC,SAAS,SAAS,CAAC,KAA2C;AAAA,EACpE,OAAO,OAAO,QAAQ,YAAY,UAAU,SAAS,GAAc;AAAA;AAQ7D,SAAS,UAAU,CAAC,aAAwC;AAAA,EAClE,OAAO,OAAO,qBAAqB,WAAW,EAAE,MAAM;AAAA;AAoBhD,SAAS,qBAAqB,CAAC,OAAyB;AAAA,EAC9D,OACC,iBAAiB,oBACjB,MAAM,WAAW,QAChB,MAAM,SAAS,SAAS,qBAAqB,KAAK;AAAA;AAerD,eAAsB,UAAU,CAC/B,QACA,aACA,KACuB;AAAA,EACvB,IAAI,QAAQ,aAAa,CAAC,UAAU,GAAG;AAAA,IAAG,OAAO,EAAE,KAAK,YAAY,GAAG,EAAE;AAAA,EAEzE,MAAM,OAAO,OAAO;AAAA,EACpB,IAAI,SAAS;AAAA,IAAO,OAAO,EAAE,KAAK,WAAW,WAAW,GAAG,KAAK;AAAA,EAEhE,IAAI;AAAA,EACJ,IAAI;AAAA,IACH,YAAY,MAAM,YAAY,QAAQ,EAAE,YAAY,CAAC;AAAA,IACpD,OAAO,OAAO;AAAA,IACf,IAAI,CAAC,sBAAsB,KAAK;AAAA,MAAG,MAAM;AAAA,IACzC,OAAO,EAAE,KAAK,WAAW,WAAW,GAAG,MAAM,MAAM;AAAA;AAAA,EAEpD,MAAM,OAAO,UAAU,WAAW,UAAU,UAAU,UAAU,SAAS;AAAA,EACzE,IAAI;AAAA,IAAM,OAAO,EAAE,KAAK,OAAO,KAAK,GAAG,GAAG,KAAK;AAAA,EAC/C,OAAO,EAAE,KAAK,WAAW,WAAW,GAAG,MAAM,MAAM;AAAA;AAI7C,SAAS,cAAc,CAC7B,aACA,KACO;AAAA,EAEN,YAAY,KAAK,kBAA0B,MAAM;AAAA,EAGlD,aAAa,WAAW;AAAA;AAIlB,SAAS,0BAA0B,CAAC,KAAiC;AAAA,EAC3E,IAAI,UAAU,GAAG,GAAG;AAAA,IACnB,MAAM,IAAI,MACT,aAAa,2EACd;AAAA,EACD;AAAA;AAIM,SAAS,eAAe,CAAC,QAGb;AAAA,EAClB,QAAQ,MAAM,iBAAiB;AAAA,EAC/B,IAAI,SAAS,aAAa,iBAAiB,WAAW;AAAA,IACrD,MAAM,IAAI,MACT,kEACD;AAAA,EACD;AAAA,EACA,OAAO,QAAQ,gBAAgB,CAAC;AAAA;;;ACjGjC,eAAsB,YAAY,CACjC,QACA,QACkB;AAAA,EAClB,MAAM,UAAU,OAAO;AAAA,EACvB,IAAI,CAAC;AAAA,IAAS,MAAM,IAAI,MAAM,kBAAkB;AAAA,EAIhD,OAAO,iBAAiB,gBAAgB,gBAAgB,OAAO,QAAQ;AAAA,EACvE,MAAM,OAAO,gBAAgB,MAAM;AAAA,EAGnC,IAAI,kBAAkB,OAAO,GAAG;AAAA,IAC/B,2BAA2B,OAAO,GAAG;AAAA,IACrC,MAAM,SAAS,MAAM,QAAQ,SAAS,QAAQ,oBAAoB;AAAA,MACjE,UAAU,OAAO;AAAA,MACjB,cAAc,OAAO;AAAA,MACrB,cAAc;AAAA,IACf,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,EACf;AAAA,EAGA,MAAM,UACL,OAAO,UAAU,aAAa,OAAO,iBAAiB;AAAA,EACvD,MAAM,QAAQ,OAAO,SAAU,MAAM,aAAa,QAAQ,QAAQ,OAAO;AAAA,EAEzE,IAAI;AAAA,IACH,MAAM,qBACL,OAAO,QAAQ,aAAa,UAAU,OAAO,GAAG;AAAA,IAEjD,MAAM,WAAW,kBAAkB;AAAA,MAClC;AAAA,MACA;AAAA,MACA,cAAc,OAAO;AAAA,MACrB,cAAc;AAAA,MACd,KAAK,qBAAqB,KAAM,OAAO;AAAA,MACvC;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,OAAO,OAAO;AAAA,MACd,mBAAmB,OAAO;AAAA,MAC1B,gBAAgB,OAAO;AAAA,IACxB,CAAC;AAAA,IAED,IAAI,oBAAoB;AAAA,MACvB,QAAQ,QAAQ,MAAM,WAAW,QAAQ,UAAU,OAAO,GAAG;AAAA,MAC7D,eAAe,UAAU,GAAG;AAAA,IAC7B;AAAA,IAEA,MAAM,SAAS,MAAM,2BAA2B,UAAU,OAAO;AAAA,IACjE,OAAO,MAAM,wBAAwB,QAAQ;AAAA,MAC5C,aAAa;AAAA,MACb,SAAS,QAAQ;AAAA,IAClB,CAAC;AAAA,IACA,OAAO,OAAO;AAAA,IAIf,IAAI;AAAA,MAAS,MAAM,aAAa,QAAQ,QAAQ,SAAS,KAAe;AAAA,IACxE,MAAM;AAAA;AAAA;;;AC0FD,SAAS,WAA2C,CAC1D,QACyB;AAAA,EACzB,QAAQ,QAAQ,SAAS,MAAM,cAAc,QAAQ;AAAA,EACrD,MAAM,aAAa,GAAG,WAAW;AAAA,EAGjC,MAAM,WAAW,IAAI;AAAA,EACrB,WAAW,MAAM,IAAI,WAAW;AAAA,IAC/B,SAAS,IAAI,GAAG,MAAM,EAAiB;AAAA,EACxC;AAAA,EAEA,MAAM,YAAY,IAAI;AAAA,EACtB,IAAI,IAAI,MAAM;AAAA,IACb,WAAW,KAAK,IAAI,MAAM;AAAA,MACzB,UAAU,IAAI,EAAE,MAAM,CAAW;AAAA,IAClC;AAAA,EACD;AAAA,EAGA,MAAM,eAAe,IAAI;AAAA,EACzB,WAAW,MAAM,IAAI,WAAW;AAAA,IAC/B,aAAa,IAAI,YAAY,GAAG,IAAI,GAAG,GAAG,IAAI;AAAA,EAC/C;AAAA,EACA,IAAI,IAAI,MAAM;AAAA,IACb,WAAW,KAAK,IAAI,MAAM;AAAA,MACzB,aAAa,IAAI,YAAY,EAAE,IAAI,GAAG,EAAE,IAAI;AAAA,IAC7C;AAAA,EACD;AAAA,EAEA,MAAM,OAAO,IAAI,MAAM,CAAC,GAAwB;AAAA,IAC/C,GAAG,CAAC,SAAS,MAAc;AAAA,MAC1B,MAAM,SAAS,aAAa,IAAI,IAAI,KAAK;AAAA,MACzC,MAAM,KAAK,SAAS,IAAI,MAAM;AAAA,MAC9B,IAAI,CAAC,MAAM,GAAG,WAAW;AAAA,QAAa;AAAA,MAEtC,OAAO,OAAO,OAAgC,CAAC,MAAM;AAAA,QACpD,MAAM,cAAc,kBAAkB,IAAI,IAAI;AAAA,QAC9C,MAAM,SAAS,MAAM,aAAa,QAAQ;AAAA,UACzC,UAAU;AAAA,UACV,cAAc,GAAG;AAAA,UACjB,MAAM;AAAA,QACP,CAAC;AAAA,QAED,MAAM,UAAU,wBAAwB,GAAG,SAAoB,MAAM;AAAA,QAGrE,IAAI,iBAAiB,GAAG,OAAkB,GAAG;AAAA,UAC5C,MAAM,OAAO;AAAA,UACb,IAAI,QAAQ;AAAA,YAAM,OAAO,KAAK;AAAA,UAC9B,MAAM,IAAI,sBACT,GAAG,eAAe,GAAG,sBAAsB,eAAe,KAAK,GAAG,MAClE,KAAK,GACN;AAAA,QACD;AAAA,QAEA,OAAO;AAAA;AAAA;AAAA,EAGV,CAAC;AAAA,EAED,MAAM,OAAO,IAAI,MAAM,CAAC,GAAwB;AAAA,IAC/C,GAAG,CAAC,SAAS,MAAc;AAAA,MAC1B,MAAM,SAAS,aAAa,IAAI,IAAI,KAAK;AAAA,MACzC,MAAM,KAAK,SAAS,IAAI,MAAM;AAAA,MAC9B,IAAI,CAAC,MAAM,GAAG,WAAW;AAAA,QAAU;AAAA,MAEnC,OAAO,OACN,OAAgC,CAAC,GACjC,YACI;AAAA,QACJ,MAAM,cAAc,kBAAkB,IAAI,IAAI;AAAA,QAC9C,OAAO,aAAa,QAAQ;AAAA,UAC3B,UAAU;AAAA,UACV,cAAc,GAAG;AAAA,UACjB,MAAM;AAAA,aACH;AAAA,QACJ,CAAC;AAAA;AAAA;AAAA,EAGJ,CAAC;AAAA,EAED,MAAM,YAAY,IAAI,MAAM,CAAC,GAA6B;AAAA,IACzD,GAAG,CAAC,SAAS,MAAc;AAAA,MAC1B,MAAM,SAAS,aAAa,IAAI,IAAI,KAAK;AAAA,MACzC,MAAM,KAAK,SAAS,IAAI,MAAM;AAAA,MAC9B,IAAI,CAAC,MAAM,GAAG,WAAW;AAAA,QAAU;AAAA,MAEnC,OAAO,OACN,OAAgC,CAAC,GACjC,YACI;AAAA,QACJ,MAAM,YAAY,SAAS,aAAa,OAAO,SAAS;AAAA,QACxD,IAAI,CAAC,WAAW;AAAA,UACf,MAAM,IAAI,MACT,uFACD;AAAA,QACD;AAAA,QAEA,MAAM,eAAe,kBAAkB,IAAI,IAAI;AAAA,QAC/C,MAAM,UAAU,OAAO,OAAO,WAAW;AAAA,QACzC,MAAM,QACL,SAAS,SACR,MAAM,SAAS,QAAQ;AAAA,UACvB,SAAS,mBAAmB,WAAW,OAAO;AAAA,QAC/C,CAAC;AAAA,QAEF,MAAM,WAAW,kBAAkB;AAAA,UAClC,iBAAiB;AAAA,UACjB;AAAA,UACA,cAAc,GAAG;AAAA,UACjB;AAAA,UACA,KAAK,SAAS,OAAO;AAAA,UACrB;AAAA,UACA;AAAA,UACA,OAAO,OAAO;AAAA,UACd,mBAAmB,SAAS;AAAA,UAC5B,gBAAgB,SAAS;AAAA,UACzB,WAAW,SAAS;AAAA,QACrB,CAAC;AAAA,QAED,IAAI,SAAS,QAAQ,WAAW;AAAA,UAC/B,QAAQ,QAAQ,MAAM,WAAW,QAAQ,UAAU,SAAS;AAAA,UAC5D,eAAe,UAAU,GAAG;AAAA,QAC7B;AAAA,QAEA,OAAO;AAAA;AAAA;AAAA,EAGV,CAAC;AAAA,EAED,MAAM,OAAO,IAAI,MAAM,CAAC,GAAuB;AAAA,IAC9C,GAAG,CAAC,SAAS,MAAc;AAAA,MAC1B,MAAM,UAAU,aAAa,IAAI,IAAI,KAAK;AAAA,MAC1C,MAAM,MAAM,UAAU,IAAI,OAAO;AAAA,MACjC,IAAI,CAAC;AAAA,QAAK;AAAA,MAEV,OAAO,OAAO,QAAiB;AAAA,QAC9B,MAAM,aAAa,iBAAiB,IAAI,KAAgB,GAAG;AAAA,QAC3D,MAAM,SAAS,MAAM,YAAY,QAAQ;AAAA,UACxC,UAAU;AAAA,UACV,SAAS,IAAI;AAAA,UACb,KAAK;AAAA,QACN,CAAC;AAAA,QAGD,IAAI,OAAO,SAAS;AAAA,UAAQ,OAAO;AAAA,QACnC,IAAI,OAAO,SAAS,QAAQ;AAAA,UAC3B,OAAO,wBAAwB,IAAI,OAAkB,OAAO,KAAK;AAAA,QAClE;AAAA,QAEA,OAAO,wBAAwB,IAAI,OAAkB,MAAM;AAAA;AAAA;AAAA,EAG9D,CAAC;AAAA,EAED,OAAO,EAAE,MAAM,MAAM,WAAW,KAAK;AAAA;AAQ/B,SAAS,sBAEf,CAAC,QAAgB,WAA2C;AAAA,EAC5D,IAAI,CAAC,OAAO,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AAAA,EACA,OAAO,UAAU,OAAO,MAAM;AAAA;AAWxB,SAAS,iBAAiB,CAChC,IACA,OAAgC,CAAC,GAChB;AAAA,EACjB,OAAO,GAAG,KAAK,IAAI,CAAC,QAAQ;AAAA,IAC3B,MAAM,WAAW,YAAY,IAAI,IAAI;AAAA,IACrC,MAAM,cAAc,IAAI,QAAQ;AAAA,IAChC,MAAM,WAAW,YAAY;AAAA,IAC7B,MAAM,QAAQ,cACX,KAAK,IAAI,QACT,WACC,KAAK,YACL;AAAA,IACJ,IAAI,UAAU;AAAA,MAAW,MAAM,IAAI,MAAM,qBAAqB,IAAI,MAAM;AAAA,IACxE,OAAO,iBAAiB,IAAI,MAAiB,KAAK;AAAA,GAClD;AAAA;AAIK,SAAS,gBAAgB,CAAC,MAAwB;AAAA,EACxD,OAAO,OAAO,SAAS,YAAY,SAAS,QAAQ,cAAc;AAAA;AAGnE,SAAS,cAAc,CAAC,OAAwB;AAAA,EAC/C,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,MAAM,SAAS;AAAA,EACrD,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,IAAI;AAAA,EAC1C,OAAO,OAAO,KAAK;AAAA;AAAA;AAGb,MAAM,8BAA8B,MAAM;AAAA,EAI/B;AAAA,EAHR,OAAO;AAAA,EAChB,WAAW,CACV,SACgB,YACf;AAAA,IACD,MAAM,OAAO;AAAA,IAFG;AAAA;AAIlB;;;ACpZO,IAAM,aAAa;AAAA,EACzB,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,QAClC,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,QACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,QACvC,EAAE,MAAM,QAAQ,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE;AAAA,MAC9D;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,WAAW,MAAM,YAAY,CAAC;AAAA,MAC7C,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,gBAAgB,EAAE,QAAQ,GAAG,EAAE;AAAA,UACrC,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,gBAAgB,EAAE,QAAQ,GAAG,EAAE;AAAA,UACrC,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,IAAI,EAAE,EAAE;AAAA,UACnD,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,iBAAiB,CAAC,EAAE,MAAM,QAAQ,CAAC;AACpC;AAEO,IAAM,aAAa;AAAA,EACzB,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,MAAM,MAAM,UAAU;AAAA,QAC9B,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,QACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,MACxC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,CAAC;AAAA,MACtC,SAAS;AAAA,QACR,UAAU,EAAE,IAAI,EAAE,UAAU,YAAY,GAAG,OAAO,UAAU;AAAA,MAC7D;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,CAAC;AAAA,MACtC,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,IAAI,EAAE,EAAE;AAAA,UACnD,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,qBAAqB,CAAC,EAAE,MAAM,OAAO,MAAM,UAAU,CAAC;AACvD;AAEO,IAAM,aAAa;AAAA,EACzB,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,QACpC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,QAClC,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,QACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,MACxC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,QACpC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,QAClC,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,QACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,QACvC,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,MAChD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,YACL,MAAM;AAAA,cACL,MAAM;AAAA,gBACL,OAAO;AAAA,kBACN,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,kBACpC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,kBAClC,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,kBACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,gBACxC;AAAA,cACD;AAAA,cACA,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,YACL,MAAM;AAAA,cACL,MAAM;AAAA,gBACL,OAAO;AAAA,kBACN,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,kBACpC,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,kBAClC,EAAE,MAAM,UAAU,MAAM,YAAY;AAAA,kBACpC,EAAE,MAAM,aAAa,MAAM,YAAY;AAAA,kBACvC,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE;AAAA,gBAChD;AAAA,cACD;AAAA,cACA,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,QAAQ,OAAO,UAAU,EAAE;AAAA,IACvD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,QACpC,EAAE,MAAM,WAAW,MAAM,YAAY;AAAA,MACtC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,WAAW,MAAM,YAAY,CAAC;AAAA,MAC7C,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,YAAY,MAAM,UAAU,CAAC;AAAA,MAC5C,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,YAAY,MAAM,UAAU,CAAC;AAAA,MAC5C,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,YAAY,MAAM,UAAU,CAAC;AAAA,MAC5C,SAAS;AAAA,QACR,UAAU;AAAA,UACT,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,IAAI,EAAE,EAAE;AAAA,UACnD,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB,qBAAqB,CAAC;AACvB;AAGO,IAAM,YAAyB;AAC/B,IAAM,YAAyB;AAC/B,IAAM,YAAyB;;;AC5NtC,MAAM,uBAAuB;AAAA,EACR;AAAA,EAApB,WAAW,CAAS,SAAiB;AAAA,IAAjB;AAAA;AAAA,EAEpB,UAAU,CAAC,QAAqB;AAAA,IAC/B,OAAO,IAAI,oBAAoB,KAAK,SAAS,QAAQ,IAAI;AAAA;AAAA,EAE1D,WAAW,CAAC,QAAqB;AAAA,IAChC,OAAO,IAAI,oBAAoB,KAAK,SAAS,QAAQ,KAAK;AAAA;AAAA,EAE3D,UAAU,CAAC,QAAqB;AAAA,IAC/B,OAAO,IAAI,oBAAoB,KAAK,SAAS,QAAQ,IAAI;AAAA;AAAA,EAE1D,WAAW,CAAC,QAAqB;AAAA,IAChC,OAAO,IAAI,oBAAoB,KAAK,SAAS,QAAQ,KAAK;AAAA;AAAA,EAE3D,UAAU,CAAC,QAAqB;AAAA,IAC/B,OAAO,IAAI,oBAAoB,KAAK,SAAS,QAAQ,IAAI;AAAA;AAAA,EAE1D,aAAa,GAAG;AAAA,IACf,OAAO,IAAI,qBAAqB,KAAK,SAAS,MAAM;AAAA;AAAA,EAErD,gBAAgB,GAAG;AAAA,IAClB,OAAO,IAAI,qBAAqB,KAAK,SAAS,UAAU;AAAA;AAAA,EAEzD,kBAAkB,GAAG;AAAA,IACpB,OAAO,IAAI,qBAAqB,KAAK,SAAS,YAAY;AAAA;AAAA,EAE3D,cAAc,GAAqB;AAAA,IAClC,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW;AAAA,IACZ;AAAA;AAAA,EAED,iBAAiB,GAAqB;AAAA,IACrC,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW;AAAA,IACZ;AAAA;AAAA,EAED,aAAa,GAAqB;AAAA,IACjC,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW;AAAA,IACZ;AAAA;AAEF;AAAA;AAEA,MAAM,oBAAoB;AAAA,EAEhB;AAAA,EACA;AAAA,EACA;AAAA,EAHT,WAAW,CACF,SACA,QACA,MACP;AAAA,IAHO;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGT,IAAI,GAAqB;AAAA,IACxB,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,QAAQ,yBAAyB,KAAK,MAAM,EAAE,SAAS;AAAA,IACxD;AAAA;AAAA,EAGD,UAAU,GAAyB;AAAA,IAClC,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,QAAQ,yBAAyB,KAAK,MAAM,EAAE,SAAS;AAAA,IACxD;AAAA;AAAA,EAGD,EAAE,CAAC,YAAoB,WAAoC;AAAA,IAC1D,OAAO,SAAS,QAAQ,WAAW,MAAM,GAAG;AAAA,IAC5C,IAAI,CAAC,WAAW,CAAC,sBAAsB,OAAO,KAAK,CAAC,MAAM;AAAA,MACzD,MAAM,IAAI,MAAM,wBAAwB,YAAY;AAAA,IACrD;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,QAAQ,yBAAyB,KAAK,MAAM,EAAE,SAAS;AAAA,MACvD,OAAO,GAAG,eAAe;AAAA,IAC1B;AAAA;AAEF;AAAA;AAEA,MAAM,qBAAqB;AAAA,EAEjB;AAAA,EACA;AAAA,EAFT,WAAW,CACF,SACA,MACP;AAAA,IAFO;AAAA,IACA;AAAA;AAAA,EAGT,GAAG,CACF,mBACA,oBACA,SACmB;AAAA,IACnB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,IAAI,YAAY,WAAW;AAAA,MAE1B,CAAC,iBAAiB,YAAY,IAAI,gBAAgB,iBAAiB;AAAA,MACnE,YAAY;AAAA,MACZ,KAAK;AAAA,IACN,EAAO;AAAA,MAEN,OAAO,WAAW,SAAS,kBAAkB,MAAM,IAAI;AAAA,MACvD,IAAI,CAAC,aAAa,CAAC;AAAA,QAClB,MAAM,IAAI,MAAM,uBAAuB,mBAAmB;AAAA,MAC3D,CAAC,iBAAiB,YAAY,IAAI,gBAAgB,SAAS;AAAA,MAC3D,YAAY;AAAA,MACZ,KAAK;AAAA;AAAA,IAGN,IAAI,CAAC,sBAAsB,eAAe,GAAG;AAAA,MAC5C,MAAM,IAAI,MAAM,6BAA6B,iBAAiB;AAAA,IAC/D;AAAA,IAEA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,OAAO,GAAG,mBAAmB,iBAAiB;AAAA,MAC9C,SAAS;AAAA,IACV;AAAA;AAEF;AAEO,IAAM,KAAK;AAAA,EACjB,SAAS,CAAC,SAAiB;AAAA,IAC1B,OAAO,MAAM,QAAQ,QAAQ,MAAM,GAAG;AAAA,IACtC,IACC,CAAC,QACD,CAAC,sBAAsB,IAAI,KAC1B,OAAO,SAAS,YAAY,CAAC,MAC7B;AAAA,MACD,MAAM,IAAI,MAAM,sBAAsB,SAAS;AAAA,IAChD;AAAA,IACA,OAAO,IAAI,uBAAuB,OAAO;AAAA;AAAA,EAE1C,MAAM,GAAG;AAAA,IACR,OAAO,IAAI,uBAAuB,QAAQ;AAAA;AAAA,EAE3C,SAAS,CAAC,QAA+B,QAAQ,GAAG;AACrD;;ACpKA,IAAM,gBAAgB;AAAA,EACrB,OAAO;AAAA,IACN,EAAE,MAAM,kBAAkB,MAAM,UAAU;AAAA,IAC1C,EAAE,MAAM,mBAAmB,MAAM,UAAU;AAAA,EAC5C;AACD;AAEO,IAAM,wBAAwB;AAAA,EACpC,WAAW;AAAA,IAEV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,QAC3C,EAAE,MAAM,uBAAuB,MAAM,kBAAkB;AAAA,QACvD,EAAE,MAAM,oBAAoB,MAAM,kBAAkB;AAAA,QACpD,EAAE,MAAM,kBAAkB,MAAM,kBAAkB;AAAA,QAClD,EAAE,MAAM,cAAc,MAAM,UAAU;AAAA,QACtC,EAAE,MAAM,YAAY,MAAM,EAAE,UAAU,YAAY,EAAE;AAAA,QACpD,EAAE,MAAM,QAAQ,MAAM,EAAE,UAAU,YAAY,EAAE;AAAA,MACjD;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IAEA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,QAC3C,EAAE,MAAM,kBAAkB,MAAM,kBAAkB;AAAA,QAClD,EAAE,MAAM,gBAAgB,MAAM,UAAU;AAAA,MACzC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,UAAU,EAAE;AAAA,IAC1D;AAAA,IAEA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,QAC3C,EAAE,MAAM,uBAAuB,MAAM,kBAAkB;AAAA,QACvD,EAAE,MAAM,oBAAoB,MAAM,kBAAkB;AAAA,QACpD,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,MACnC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,eAAe,OAAO,UAAU,EAAE;AAAA,IAC9D;AAAA,IAEA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,QACL,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,QAC3C,EAAE,MAAM,kBAAkB,MAAM,kBAAkB;AAAA,QAClD,EAAE,MAAM,uBAAuB,MAAM,kBAAkB;AAAA,QACvD,EAAE,MAAM,oBAAoB,MAAM,kBAAkB;AAAA,QACpD,EAAE,MAAM,gBAAgB,MAAM,UAAU;AAAA,MACzC;AAAA,MACA,SAAS,EAAE,UAAU,EAAE,IAAI,eAAe,OAAO,UAAU,EAAE;AAAA,IAC9D;AAAA,IAEA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IAEA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS;AAAA,IACV;AAAA,EACD;AACD;AAEO,IAAM,mBAAmB;AAAA,EAC/B,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,UAAU,MAAM,UAAU,CAAC;AAAA,MAC1C,SAAS;AAAA,QACR,OAAO;AAAA,UACN,EAAE,MAAM,gBAAgB,MAAM,UAAU;AAAA,UACxC,EAAE,MAAM,cAAc,MAAM,UAAU;AAAA,UACtC,EAAE,MAAM,sBAAsB,MAAM,UAAU;AAAA,QAC/C;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,mBAAmB;AAAA,EAC/B,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC,EAAE,MAAM,cAAc,MAAM,UAAU,CAAC;AAAA,MAC9C,SAAS;AAAA,IACV;AAAA,EACD;AACD;AAEO,IAAM,iBAAiB;AAAA,EAC7B,WAAW;AAAA,IACV;AAAA,MACC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM,CAAC;AAAA,MACP,SAAS,EAAE,UAAU,EAAE,IAAI,WAAW,OAAO,OAAO,EAAE;AAAA,IACvD;AAAA,EACD;AACD;;;AChIA,IAAM,WAAmB;AAElB,IAAM,wBAOT;AAAA,EACH,MAAM,EAAE,SAAS,UAAU,MAAM,uBAAuB;AAAA,EACxD,YAAY,EAAE,SAAS,UAAU,MAAM,cAAc;AAAA,EACrD,aAAa,EAAE,SAAS,UAAU,MAAM,wBAAwB;AAAA,EAChE,SAAS,EAAE,SAAS,UAAU,MAAM,aAAa;AAAA,EACjD,UAAU,EAAE,SAAS,UAAU,MAAM,eAAe;AAAA,EACpD,YAAY,EAAE,SAAS,UAAU,MAAM,eAAe;AACvD;AAGO,IAAM,kBAKT;AAAA,EACH,SAAS,GAAG;AAAA,EACZ,YAAY,GAAG;AAAA,EACf,eAAe,GAAG;AAAA,EAClB,SAAS,GAAG;AACb;;;ACRA,SAAS,aAAa,CAAC,QAAgB;AAAA,EACtC,IAAI,CAAC,OAAO,OAAO;AAAA,IAClB,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACtD;AAAA,EACA,IAAI,OAAO,MAAM,YAAY,WAAW;AAAA,IACvC,MAAM,IAAI,MAAM,0CAA0C;AAAA,EAC3D;AAAA;AAGD,SAAS,eAAe,CAAC,QAAgB;AAAA,EACxC,cAAc,MAAM;AAAA,EACpB,MAAM,IAAI,sBAAsB;AAAA,EAChC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAE;AAAA,IACX,MAAM,EAAE;AAAA,IACR,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,aAAa,CAAC,QAAgB;AAAA,EACtC,cAAc,MAAM;AAAA,EACpB,MAAM,IAAI,sBAAsB;AAAA,EAChC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAE;AAAA,IACX,MAAM,EAAE;AAAA,IACR,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,aAAa,CAAC,QAAgB;AAAA,EACtC,cAAc,MAAM;AAAA,EACpB,MAAM,IAAI,sBAAsB;AAAA,EAChC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAE;AAAA,IACX,MAAM,EAAE;AAAA,IACR,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,aAAa,CAAC,QAAgB;AAAA,EACtC,cAAc,MAAM;AAAA,EACpB,MAAM,IAAI,sBAAsB;AAAA,EAChC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAE;AAAA,IACX,MAAM,EAAE;AAAA,IACR,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,SAAS,kBAAkB,CAAC,QAAgB;AAAA,EAC3C,cAAc,MAAM;AAAA,EACpB,MAAM,IAAI,sBAAsB;AAAA,EAChC,OAAO,YAAY;AAAA,IAClB;AAAA,IACA,SAAS,EAAE;AAAA,IACX,MAAM,EAAE;AAAA,IACR,KAAK;AAAA,EACN,CAAC;AAAA;AAGF,IAAM,SAAS;AAAA,EACd,SAAS,gBAAgB;AAAA,EACzB,oBAAoB,gBAAgB;AAAA,EACpC,iBAAiB,gBAAgB;AAAA,EACjC,eAAe,gBAAgB;AAChC;AAIA,eAAsB,OAAO,CAC5B,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,OAAO,KAAK,KAAK,QAChB;AAAA,OACI;AAAA,IACH,WAAW,OAAO;AAAA,IAClB,UAAU,OAAO,YAAY;AAAA,IAC7B,MAAM,OAAO,QAAQ;AAAA,EACtB,GACA;AAAA,IACC,gBAAgB,OAAO,SAAS,UAC7B;AAAA,MACA,GAAG,UAAU,OAAO,QAAQ,OAAO,EACjC,WAAW,OAAO,MAAM,EACxB,KAAK;AAAA,IACR,IACC,CAAC;AAAA,EACL,CACD;AAAA;AAGD,eAAsB,YAAY,CACjC,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,MAAM,QAAQ,sBAAsB;AAAA,EACpC,OAAO,KAAK,KAAK,aAChB;AAAA,IACC,SAAS,OAAO;AAAA,IAChB,eAAe,OAAO;AAAA,IACtB,aAAa,OAAO;AAAA,EACrB,GACA;AAAA,IACC,gBAAgB,OAAO,SAAS,UAC7B;AAAA,MACA,GAAG,UAAU,OAAO,QAAQ,OAAO,EACjC,WAAW,OAAO,WAAW,EAC7B,GAAG,GAAG,MAAM,WAAW,MAAM,QAAQ,OAAO;AAAA,IAC/C,IACC,CAAC;AAAA,EACL,CACD;AAAA;AAGD,eAAsB,QAAQ,CAC7B,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,OAAO,KAAK,KAAK,SAAS;AAAA,IACzB,SAAS,OAAO;AAAA,IAChB,oBAAoB,OAAO;AAAA,IAC3B,iBAAiB,OAAO;AAAA,IACxB,OAAO,OAAO;AAAA,EACf,CAAC;AAAA;AAGF,eAAsB,YAAY,CACjC,QACA,QACkB;AAAA,EAClB,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,MAAM,QAAQ,sBAAsB;AAAA,EACpC,OAAO,KAAK,KAAK,aAChB;AAAA,IACC,SAAS,OAAO;AAAA,IAChB,eAAe,OAAO;AAAA,IACtB,oBAAoB,OAAO;AAAA,IAC3B,iBAAiB,OAAO;AAAA,IACxB,aAAa,OAAO;AAAA,EACrB,GACA;AAAA,IACC,gBAAgB,OAAO,SAAS,UAC7B;AAAA,MACA,GAAG,UAAU,OAAO,QAAQ,OAAO,EACjC,WAAW,OAAO,WAAW,EAC7B,GAAG,GAAG,MAAM,WAAW,MAAM,QAAQ,OAAO;AAAA,IAC/C,IACC,CAAC;AAAA,EACL,CACD;AAAA;AAKD,eAAsB,eAAe,CACpC,QACA,SACkB;AAAA,EAClB,MAAM,QAAQ,cAAc,MAAM;AAAA,EAClC,OAAQ,MAAM,MAAM,KAAK,WAAW,EAAE,SAAS,QAAQ,CAAC;AAAA;AAGzD,eAAsB,eAAe,CACpC,QAC4B;AAAA,EAC5B,MAAM,UAAU,mBAAmB,MAAM;AAAA,EACzC,MAAM,SAAS,cAAc,MAAM;AAAA,EAEnC,OAAO,UAAU,eAAe,MAAM,QAAQ,IAAI;AAAA,IACjD,QAAQ,KAAK,YAAY,CAAC,CAAC;AAAA,IAC3B,eAAe,MAAM;AAAA,EACtB,CAAC;AAAA,EAED,MAAM,cAAe,MAAM,OAAO,KAAK,qBAAqB;AAAA,IAC3D,WAAW;AAAA,EACZ,CAAC;AAAA,EAED,OAAO,EAAE,aAAa,aAAa,SAAS;AAAA;AAG7C,eAAsB,cAAc,CAAC,QAAiC;AAAA,EACrE,MAAM,QAAQ,cAAc,MAAM;AAAA,EAClC,OAAQ,MAAM,MAAM,KAAK,eAAe,CAAC,CAAC;AAAA;AAG3C,eAAsB,iBAAiB,CACtC,QACA,OAC0B;AAAA,EAC1B,MAAM,SAAS,cAAc,MAAM;AAAA,EACnC,OAAQ,MAAM,OAAO,KAAK,oBAAoB;AAAA,IAC7C;AAAA,EACD,CAAC;AAAA;AAGF,eAAsB,OAAO,CAAC,QAAkC;AAAA,EAC/D,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,OAAO,UAAU,YAAY,mBAAmB,MAAM,QAAQ,IAAI;AAAA,IACjE,KAAK,KAAK,YAAY,CAAC,CAAC;AAAA,IACxB,KAAK,KAAK,cAAc,CAAC,CAAC;AAAA,IAC1B,KAAK,KAAK,mBAAmB,CAAC,CAAC;AAAA,EAChC,CAAC;AAAA,EACD,OAAO,EAAE,UAAU,YAAY,gBAAgB;AAAA;AAGhD,eAAsB,iBAAiB,CAAC,QAAiC;AAAA,EACxE,MAAM,UAAU,mBAAmB,MAAM;AAAA,EACzC,OAAQ,MAAM,QAAQ,KAAK,YAAY,CAAC,CAAC;AAAA;AAG1C,eAAsB,mBAAmB,CAAC,QAAkC;AAAA,EAC3E,MAAM,OAAO,gBAAgB,MAAM;AAAA,EACnC,OAAQ,MAAM,KAAK,KAAK,oBAAoB,CAAC,CAAC;AAAA;;;AC7KxC,SAAS,WAAW,GAA2C;AAAA,EACrE,OAAO,CAAC,YAAoB;AAAA,IAC3B,aAAa;AAAA,MAEZ,SAAS,CAAC,WAA0B,QAAQ,QAAQ,MAAM;AAAA,MAG1D,cAAc,CAAC,WACd,aAAa,QAAQ,MAAM;AAAA,MAG5B,UAAU,CAAC,WAA2B,SAAS,QAAQ,MAAM;AAAA,MAG7D,cAAc,CAAC,WACd,aAAa,QAAQ,MAAM;AAAA,MAG5B,iBAAiB,CAAC,YAAoB,gBAAgB,QAAQ,OAAO;AAAA,MAGrE,iBAAiB,MAAM,gBAAgB,MAAM;AAAA,MAG7C,gBAAgB,MAAM,eAAe,MAAM;AAAA,MAG3C,mBAAmB,CAAC,UAAkB,kBAAkB,QAAQ,KAAK;AAAA,MAGrE,SAAS,MAAM,QAAQ,MAAM;AAAA,MAG7B,mBAAmB,MAAM,kBAAkB,MAAM;AAAA,MAGjD,qBAAqB,MAAM,oBAAoB,MAAM;AAAA,IACtD;AAAA,EACD;AAAA;",
53
+ "debugId": "98F13FDBF703CF4164756E2164756E21",
54
54
  "names": []
55
55
  }