@bloopjs/toodle 0.1.2 → 0.1.3

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 (49) hide show
  1. package/dist/Toodle.d.ts +1 -1
  2. package/dist/Toodle.d.ts.map +1 -1
  3. package/dist/backends/ITextShader.d.ts +15 -0
  4. package/dist/backends/ITextShader.d.ts.map +1 -0
  5. package/dist/backends/mod.d.ts +1 -0
  6. package/dist/backends/mod.d.ts.map +1 -1
  7. package/dist/backends/webgl2/WebGLTextShader.d.ts +20 -0
  8. package/dist/backends/webgl2/WebGLTextShader.d.ts.map +1 -0
  9. package/dist/backends/webgl2/mod.d.ts +1 -0
  10. package/dist/backends/webgl2/mod.d.ts.map +1 -1
  11. package/dist/{text → backends/webgpu}/FontPipeline.d.ts +1 -1
  12. package/dist/backends/webgpu/FontPipeline.d.ts.map +1 -0
  13. package/dist/{text/TextShader.d.ts → backends/webgpu/WebGPUTextShader.d.ts} +7 -7
  14. package/dist/backends/webgpu/WebGPUTextShader.d.ts.map +1 -0
  15. package/dist/backends/webgpu/mod.d.ts +2 -0
  16. package/dist/backends/webgpu/mod.d.ts.map +1 -1
  17. package/dist/backends/webgpu/wgsl/text.wgsl.d.ts.map +1 -0
  18. package/dist/mod.d.ts +1 -1
  19. package/dist/mod.d.ts.map +1 -1
  20. package/dist/mod.js +1795 -1777
  21. package/dist/mod.js.map +15 -14
  22. package/dist/{text → scene}/TextNode.d.ts +5 -5
  23. package/dist/scene/TextNode.d.ts.map +1 -0
  24. package/dist/scene/mod.d.ts +1 -0
  25. package/dist/scene/mod.d.ts.map +1 -1
  26. package/dist/text/mod.d.ts +1 -3
  27. package/dist/text/mod.d.ts.map +1 -1
  28. package/dist/textures/AssetManager.d.ts +9 -6
  29. package/dist/textures/AssetManager.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/Toodle.ts +1 -1
  32. package/src/backends/ITextShader.ts +15 -0
  33. package/src/backends/mod.ts +1 -0
  34. package/src/backends/webgl2/WebGLTextShader.ts +35 -0
  35. package/src/backends/webgl2/mod.ts +1 -0
  36. package/src/{text → backends/webgpu}/FontPipeline.ts +2 -2
  37. package/src/{text/TextShader.ts → backends/webgpu/WebGPUTextShader.ts} +14 -10
  38. package/src/backends/webgpu/mod.ts +2 -0
  39. package/src/mod.ts +1 -1
  40. package/src/{text → scene}/TextNode.ts +6 -6
  41. package/src/scene/mod.ts +1 -0
  42. package/src/text/mod.ts +1 -4
  43. package/src/textures/AssetManager.ts +38 -31
  44. package/dist/text/FontPipeline.d.ts.map +0 -1
  45. package/dist/text/TextNode.d.ts.map +0 -1
  46. package/dist/text/TextShader.d.ts.map +0 -1
  47. package/dist/text/text.wgsl.d.ts.map +0 -1
  48. /package/dist/{text → backends/webgpu/wgsl}/text.wgsl.d.ts +0 -0
  49. /package/src/{text → backends/webgpu/wgsl}/text.wgsl.ts +0 -0
package/dist/mod.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/limits.ts", "../node_modules/wgpu-matrix/dist/3.x/wgpu-matrix.module.js", "../src/backends/detection.ts", "../src/backends/webgl2/glsl/quad.glsl.ts", "../src/utils/assert.ts", "../src/backends/webgl2/WebGLQuadShader.ts", "../src/backends/webgl2/WebGLBackend.ts", "../src/backends/webgpu/postprocess/mod.ts", "../node_modules/webgpu-utils/dist/1.x/webgpu-utils.module.js", "../node_modules/wgsl_reflect/wgsl_reflect.module.js", "../src/utils/boilerplate.ts", "../src/backends/webgpu/parser.ts", "../src/backends/webgpu/samplers.ts", "../src/backends/webgpu/wgsl/quad.wgsl.ts", "../src/backends/webgpu/WebGPUQuadShader.ts", "../src/backends/webgpu/WebGPUBackend.ts", "../src/math/matrix.ts", "../src/scene/Batcher.ts", "../src/math/angle.ts", "../src/scene/Camera.ts", "../src/scene/SceneNode.ts", "../src/scene/QuadNode.ts", "../src/scene/JumboQuadNode.ts", "../src/utils/error.ts", "../src/text/MsdfFont.ts", "../src/text/shaping.ts", "../src/text/TextNode.ts", "../src/backends/webgpu/wgsl/pixel-scraping.wgsl.ts", "../src/backends/webgpu/TextureComputeShader.ts", "../src/text/text.wgsl.ts", "../src/text/FontPipeline.ts", "../src/text/TextShader.ts", "../src/textures/Bundles.ts", "../src/textures/util.ts", "../src/textures/AssetManager.ts", "../src/utils/pool.ts", "../src/Toodle.ts", "../src/colors/mod.ts"],
3
+ "sources": ["../src/limits.ts", "../node_modules/wgpu-matrix/dist/3.x/wgpu-matrix.module.js", "../src/backends/detection.ts", "../src/backends/webgl2/glsl/quad.glsl.ts", "../src/utils/assert.ts", "../src/backends/webgl2/WebGLQuadShader.ts", "../src/backends/webgl2/WebGLBackend.ts", "../src/backends/webgpu/postprocess/mod.ts", "../node_modules/webgpu-utils/dist/1.x/webgpu-utils.module.js", "../node_modules/wgsl_reflect/wgsl_reflect.module.js", "../src/utils/boilerplate.ts", "../src/backends/webgpu/parser.ts", "../src/backends/webgpu/samplers.ts", "../src/backends/webgpu/wgsl/quad.wgsl.ts", "../src/backends/webgpu/WebGPUQuadShader.ts", "../src/backends/webgpu/WebGPUBackend.ts", "../src/backends/webgl2/WebGLTextShader.ts", "../src/backends/webgpu/wgsl/text.wgsl.ts", "../src/backends/webgpu/FontPipeline.ts", "../src/utils/error.ts", "../src/text/MsdfFont.ts", "../src/text/shaping.ts", "../src/math/angle.ts", "../src/math/matrix.ts", "../src/scene/SceneNode.ts", "../src/scene/TextNode.ts", "../src/backends/webgpu/WebGPUTextShader.ts", "../src/scene/Batcher.ts", "../src/scene/Camera.ts", "../src/scene/QuadNode.ts", "../src/scene/JumboQuadNode.ts", "../src/backends/webgpu/wgsl/pixel-scraping.wgsl.ts", "../src/backends/webgpu/TextureComputeShader.ts", "../src/textures/Bundles.ts", "../src/textures/util.ts", "../src/textures/AssetManager.ts", "../src/utils/pool.ts", "../src/Toodle.ts", "../src/colors/mod.ts"],
4
4
  "sourcesContent": [
5
5
  "export const DEFAULT_LIMITS = {\n /** Maximum number of rendered instances in the scene per frame */\n instanceCount: 1024 * 2,\n /** Maximum number of unique z-indexes in the scene */\n zIndex: 32,\n /** Maximum number of vfx shaders */\n shaderCount: 32,\n /** Maximum dimensions of a single texture */\n textureSize: 1024 * 4,\n /** Maximum number of layers in a texture array */\n textureArrayLayers: 64,\n /** Maximum size of uniforms buffer */\n uniformBufferSize: 1024 * 64,\n /** Maximum number of instance buffer fields - 16 minus the vertex locations used by the engine */\n instanceBufferFields: 16 - 6,\n /** Maximum size of instance buffer */\n instanceBufferSize: Float32Array.BYTES_PER_ELEMENT * 4 * (16 - 6),\n /** Maximum length of a single piece of text */\n maxTextLength: 256,\n};\n\nexport type Limits = typeof DEFAULT_LIMITS;\nexport type LimitsOptions = Partial<Limits>;\n",
6
6
  "/* wgpu-matrix@3.4.0, license MIT */\nfunction wrapConstructor(OriginalConstructor, modifier) {\n return class extends OriginalConstructor {\n constructor(...args) {\n super(...args);\n modifier(this);\n }\n }; // Type assertion is necessary here\n}\nconst ZeroArray = wrapConstructor((Array), a => a.fill(0));\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\nlet EPSILON = 0.000001;\n/**\n * Set the value for EPSILON for various checks\n * @param v - Value to use for EPSILON.\n * @returns previous value of EPSILON;\n */\nfunction setEpsilon(v) {\n const old = EPSILON;\n EPSILON = v;\n return old;\n}\n/**\n * Convert degrees to radians\n * @param degrees - Angle in degrees\n * @returns angle converted to radians\n */\nfunction degToRad(degrees) {\n return degrees * Math.PI / 180;\n}\n/**\n * Convert radians to degrees\n * @param radians - Angle in radians\n * @returns angle converted to degrees\n */\nfunction radToDeg(radians) {\n return radians * 180 / Math.PI;\n}\n/**\n * Lerps between a and b via t\n * @param a - starting value\n * @param b - ending value\n * @param t - value where 0 = a and 1 = b\n * @returns a + (b - a) * t\n */\nfunction lerp(a, b, t) {\n return a + (b - a) * t;\n}\n/**\n * Compute the opposite of lerp. Given a and b and a value between\n * a and b returns a value between 0 and 1. 0 if a, 1 if b.\n * Note: no clamping is done.\n * @param a - start value\n * @param b - end value\n * @param v - value between a and b\n * @returns (v - a) / (b - a)\n */\nfunction inverseLerp(a, b, v) {\n const d = b - a;\n return (Math.abs(b - a) < EPSILON)\n ? a\n : (v - a) / d;\n}\n/**\n * Compute the euclidean modulo\n *\n * ```\n * // table for n / 3\n * -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 <- n\n * ------------------------------------\n * -2 -1 -0 -2 -1 0, 1, 2, 0, 1, 2 <- n % 3\n * 1 2 0 1 2 0, 1, 2, 0, 1, 2 <- euclideanModule(n, 3)\n * ```\n *\n * @param n - dividend\n * @param m - divisor\n * @returns the euclidean modulo of n / m\n */\nfunction euclideanModulo(n, m) {\n return ((n % m) + m) % m;\n}\n\nvar utils = {\n __proto__: null,\n get EPSILON () { return EPSILON; },\n degToRad: degToRad,\n euclideanModulo: euclideanModulo,\n inverseLerp: inverseLerp,\n lerp: lerp,\n radToDeg: radToDeg,\n setEpsilon: setEpsilon\n};\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n/**\n * Generates am typed API for Vec3\n */\nfunction getAPIImpl$5(Ctor) {\n /**\n * Creates a Vec2; may be called with x, y, z to set initial values.\n *\n * Note: Since passing in a raw JavaScript array\n * is valid in all circumstances, if you want to\n * force a JavaScript array into a Vec2's specified type\n * it would be faster to use\n *\n * ```\n * const v = vec2.clone(someJSArray);\n * ```\n *\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @returns the created vector\n */\n function create(x = 0, y = 0) {\n const newDst = new Ctor(2);\n if (x !== undefined) {\n newDst[0] = x;\n if (y !== undefined) {\n newDst[1] = y;\n }\n }\n return newDst;\n }\n /**\n * Creates a Vec2; may be called with x, y, z to set initial values. (same as create)\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @returns the created vector\n */\n const fromValues = create;\n /**\n * Sets the values of a Vec2\n * Also see {@link vec2.create} and {@link vec2.copy}\n *\n * @param x first value\n * @param y second value\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector with its elements set.\n */\n function set(x, y, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = x;\n newDst[1] = y;\n return newDst;\n }\n /**\n * Applies Math.ceil to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the ceil of each element of v.\n */\n function ceil(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.ceil(v[0]);\n newDst[1] = Math.ceil(v[1]);\n return newDst;\n }\n /**\n * Applies Math.floor to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the floor of each element of v.\n */\n function floor(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.floor(v[0]);\n newDst[1] = Math.floor(v[1]);\n return newDst;\n }\n /**\n * Applies Math.round to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the round of each element of v.\n */\n function round(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.round(v[0]);\n newDst[1] = Math.round(v[1]);\n return newDst;\n }\n /**\n * Clamp each element of vector between min and max\n * @param v - Operand vector.\n * @param max - Min value, default 0\n * @param min - Max value, default 1\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that the clamped value of each element of v.\n */\n function clamp(v, min = 0, max = 1, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.min(max, Math.max(min, v[0]));\n newDst[1] = Math.min(max, Math.max(min, v[1]));\n return newDst;\n }\n /**\n * Adds two vectors; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a and b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n return newDst;\n }\n /**\n * Adds two vectors, scaling the 2nd; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param scale - Amount to scale b\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a + b * scale.\n */\n function addScaled(a, b, scale, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] + b[0] * scale;\n newDst[1] = a[1] + b[1] * scale;\n return newDst;\n }\n /**\n * Returns the angle in radians between two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns The angle in radians between the 2 vectors.\n */\n function angle(a, b) {\n const ax = a[0];\n const ay = a[1];\n const bx = b[0];\n const by = b[1];\n const mag1 = Math.sqrt(ax * ax + ay * ay);\n const mag2 = Math.sqrt(bx * bx + by * by);\n const mag = mag1 * mag2;\n const cosine = mag && dot(a, b) / mag;\n return Math.acos(cosine);\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n function subtract(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] - b[0];\n newDst[1] = a[1] - b[1];\n return newDst;\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n const sub = subtract;\n /**\n * Check if 2 vectors are approximately equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON;\n }\n /**\n * Check if 2 vectors are exactly equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] && a[1] === b[1];\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficient.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The linear interpolated result.\n */\n function lerp(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] + t * (b[0] - a[0]);\n newDst[1] = a[1] + t * (b[1] - a[1]);\n return newDst;\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient vector t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficients vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns the linear interpolated result.\n */\n function lerpV(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] + t[0] * (b[0] - a[0]);\n newDst[1] = a[1] + t[1] * (b[1] - a[1]);\n return newDst;\n }\n /**\n * Return max values of two vectors.\n * Given vectors a and b returns\n * [max(a[0], b[0]), max(a[1], b[1]), max(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The max components vector.\n */\n function max(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.max(a[0], b[0]);\n newDst[1] = Math.max(a[1], b[1]);\n return newDst;\n }\n /**\n * Return min values of two vectors.\n * Given vectors a and b returns\n * [min(a[0], b[0]), min(a[1], b[1]), min(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The min components vector.\n */\n function min(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = Math.min(a[0], b[0]);\n newDst[1] = Math.min(a[1], b[1]);\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function mulScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = v[0] * k;\n newDst[1] = v[1] * k;\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar. (same as mulScalar)\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n const scale = mulScalar;\n /**\n * Divides a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function divScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = v[0] / k;\n newDst[1] = v[1] / k;\n return newDst;\n }\n /**\n * Inverse a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n function inverse(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = 1 / v[0];\n newDst[1] = 1 / v[1];\n return newDst;\n }\n /**\n * Invert a vector. (same as inverse)\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n const invert = inverse;\n /**\n * Computes the cross product of two vectors; assumes both vectors have\n * three entries.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of a cross b.\n */\n function cross(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n const z = a[0] * b[1] - a[1] * b[0];\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = z;\n return newDst;\n }\n /**\n * Computes the dot product of two vectors; assumes both vectors have\n * three entries.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns dot product\n */\n function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n /**\n * Computes the length of vector\n * @param v - vector.\n * @returns length of vector.\n */\n function length(v) {\n const v0 = v[0];\n const v1 = v[1];\n return Math.sqrt(v0 * v0 + v1 * v1);\n }\n /**\n * Computes the length of vector (same as length)\n * @param v - vector.\n * @returns length of vector.\n */\n const len = length;\n /**\n * Computes the square of the length of vector\n * @param v - vector.\n * @returns square of the length of vector.\n */\n function lengthSq(v) {\n const v0 = v[0];\n const v1 = v[1];\n return v0 * v0 + v1 * v1;\n }\n /**\n * Computes the square of the length of vector (same as lengthSq)\n * @param v - vector.\n * @returns square of the length of vector.\n */\n const lenSq = lengthSq;\n /**\n * Computes the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n function distance(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n return Math.sqrt(dx * dx + dy * dy);\n }\n /**\n * Computes the distance between 2 points (same as distance)\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n const dist = distance;\n /**\n * Computes the square of the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n function distanceSq(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n return dx * dx + dy * dy;\n }\n /**\n * Computes the square of the distance between 2 points (same as distanceSq)\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n const distSq = distanceSq;\n /**\n * Divides a vector by its Euclidean length and returns the quotient.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The normalized vector.\n */\n function normalize(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n const v0 = v[0];\n const v1 = v[1];\n const len = Math.sqrt(v0 * v0 + v1 * v1);\n if (len > 0.00001) {\n newDst[0] = v0 / len;\n newDst[1] = v1 / len;\n }\n else {\n newDst[0] = 0;\n newDst[1] = 0;\n }\n return newDst;\n }\n /**\n * Negates a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns -v.\n */\n function negate(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = -v[0];\n newDst[1] = -v[1];\n return newDst;\n }\n /**\n * Copies a vector. (same as {@link vec2.clone})\n * Also see {@link vec2.create} and {@link vec2.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n function copy(v, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = v[0];\n newDst[1] = v[1];\n return newDst;\n }\n /**\n * Clones a vector. (same as {@link vec2.copy})\n * Also see {@link vec2.create} and {@link vec2.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n const clone = copy;\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] * b[0];\n newDst[1] = a[1] * b[1];\n return newDst;\n }\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as mul)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n const mul = multiply;\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n function divide(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = a[0] / b[0];\n newDst[1] = a[1] / b[1];\n return newDst;\n }\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as divide)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n const div = divide;\n /**\n * Creates a random unit vector * scale\n * @param scale - Default 1\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The random vector.\n */\n function random(scale = 1, dst) {\n const newDst = (dst ?? new Ctor(2));\n const angle = Math.random() * 2 * Math.PI;\n newDst[0] = Math.cos(angle) * scale;\n newDst[1] = Math.sin(angle) * scale;\n return newDst;\n }\n /**\n * Zero's a vector\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The zeroed vector.\n */\n function zero(dst) {\n const newDst = (dst ?? new Ctor(2));\n newDst[0] = 0;\n newDst[1] = 0;\n return newDst;\n }\n /**\n * Transform Vec2 by 4x4 matrix\n * @param v - the vector\n * @param m - The matrix.\n * @param dst - optional Vec2 to store result. If not passed a new one is created.\n * @returns the transformed vector\n */\n function transformMat4(v, m, dst) {\n const newDst = (dst ?? new Ctor(2));\n const x = v[0];\n const y = v[1];\n newDst[0] = x * m[0] + y * m[4] + m[12];\n newDst[1] = x * m[1] + y * m[5] + m[13];\n return newDst;\n }\n /**\n * Transform Vec2 by 3x3 matrix\n *\n * @param v - the vector\n * @param m - The matrix.\n * @param dst - optional Vec2 to store result. If not passed a new one is created.\n * @returns the transformed vector\n */\n function transformMat3(v, m, dst) {\n const newDst = (dst ?? new Ctor(2));\n const x = v[0];\n const y = v[1];\n newDst[0] = m[0] * x + m[4] * y + m[8];\n newDst[1] = m[1] * x + m[5] * y + m[9];\n return newDst;\n }\n /**\n * Rotate a 2D vector\n *\n * @param a The vec2 point to rotate\n * @param b The origin of the rotation\n * @param rad The angle of rotation in radians\n * @returns the rotated vector\n */\n function rotate(a, b, rad, dst) {\n const newDst = (dst ?? new Ctor(2));\n // Translate point to the origin\n const p0 = a[0] - b[0];\n const p1 = a[1] - b[1];\n const sinC = Math.sin(rad);\n const cosC = Math.cos(rad);\n //perform rotation and translate to correct position\n newDst[0] = p0 * cosC - p1 * sinC + b[0];\n newDst[1] = p0 * sinC + p1 * cosC + b[1];\n return newDst;\n }\n /**\n * Treat a 2D vector as a direction and set it's length\n *\n * @param a The vec2 to lengthen\n * @param len The length of the resulting vector\n * @returns The lengthened vector\n */\n function setLength(a, len, dst) {\n const newDst = (dst ?? new Ctor(2));\n normalize(a, newDst);\n return mulScalar(newDst, len, newDst);\n }\n /**\n * Ensure a vector is not longer than a max length\n *\n * @param a The vec2 to limit\n * @param maxLen The longest length of the resulting vector\n * @returns The vector, shortened to maxLen if it's too long\n */\n function truncate(a, maxLen, dst) {\n const newDst = (dst ?? new Ctor(2));\n if (length(a) > maxLen) {\n return setLength(a, maxLen, newDst);\n }\n return copy(a, newDst);\n }\n /**\n * Return the vector exactly between 2 endpoint vectors\n *\n * @param a Endpoint 1\n * @param b Endpoint 2\n * @returns The vector exactly residing between endpoints 1 and 2\n */\n function midpoint(a, b, dst) {\n const newDst = (dst ?? new Ctor(2));\n return lerp(a, b, 0.5, newDst);\n }\n return {\n create,\n fromValues,\n set,\n ceil,\n floor,\n round,\n clamp,\n add,\n addScaled,\n angle,\n subtract,\n sub,\n equalsApproximately,\n equals,\n lerp,\n lerpV,\n max,\n min,\n mulScalar,\n scale,\n divScalar,\n inverse,\n invert,\n cross,\n dot,\n length,\n len,\n lengthSq,\n lenSq,\n distance,\n dist,\n distanceSq,\n distSq,\n normalize,\n negate,\n copy,\n clone,\n multiply,\n mul,\n divide,\n div,\n random,\n zero,\n transformMat4,\n transformMat3,\n rotate,\n setLength,\n truncate,\n midpoint,\n };\n}\nconst cache$5 = new Map();\nfunction getAPI$5(Ctor) {\n let api = cache$5.get(Ctor);\n if (!api) {\n api = getAPIImpl$5(Ctor);\n cache$5.set(Ctor, api);\n }\n return api;\n}\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n/**\n * Generates am typed API for Vec3\n * */\nfunction getAPIImpl$4(Ctor) {\n /**\n * Creates a vec3; may be called with x, y, z to set initial values.\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @returns the created vector\n */\n function create(x, y, z) {\n const newDst = new Ctor(3);\n if (x !== undefined) {\n newDst[0] = x;\n if (y !== undefined) {\n newDst[1] = y;\n if (z !== undefined) {\n newDst[2] = z;\n }\n }\n }\n return newDst;\n }\n /**\n * Creates a vec3; may be called with x, y, z to set initial values. (same as create)\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @returns the created vector\n */\n const fromValues = create;\n /**\n * Sets the values of a Vec3\n * Also see {@link vec3.create} and {@link vec3.copy}\n *\n * @param x first value\n * @param y second value\n * @param z third value\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector with its elements set.\n */\n function set(x, y, z, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = x;\n newDst[1] = y;\n newDst[2] = z;\n return newDst;\n }\n /**\n * Applies Math.ceil to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the ceil of each element of v.\n */\n function ceil(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.ceil(v[0]);\n newDst[1] = Math.ceil(v[1]);\n newDst[2] = Math.ceil(v[2]);\n return newDst;\n }\n /**\n * Applies Math.floor to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the floor of each element of v.\n */\n function floor(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.floor(v[0]);\n newDst[1] = Math.floor(v[1]);\n newDst[2] = Math.floor(v[2]);\n return newDst;\n }\n /**\n * Applies Math.round to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the round of each element of v.\n */\n function round(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.round(v[0]);\n newDst[1] = Math.round(v[1]);\n newDst[2] = Math.round(v[2]);\n return newDst;\n }\n /**\n * Clamp each element of vector between min and max\n * @param v - Operand vector.\n * @param max - Min value, default 0\n * @param min - Max value, default 1\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that the clamped value of each element of v.\n */\n function clamp(v, min = 0, max = 1, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.min(max, Math.max(min, v[0]));\n newDst[1] = Math.min(max, Math.max(min, v[1]));\n newDst[2] = Math.min(max, Math.max(min, v[2]));\n return newDst;\n }\n /**\n * Adds two vectors; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a and b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n newDst[2] = a[2] + b[2];\n return newDst;\n }\n /**\n * Adds two vectors, scaling the 2nd; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param scale - Amount to scale b\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a + b * scale.\n */\n function addScaled(a, b, scale, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] + b[0] * scale;\n newDst[1] = a[1] + b[1] * scale;\n newDst[2] = a[2] + b[2] * scale;\n return newDst;\n }\n /**\n * Returns the angle in radians between two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns The angle in radians between the 2 vectors.\n */\n function angle(a, b) {\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const bx = b[0];\n const by = b[1];\n const bz = b[2];\n const mag1 = Math.sqrt(ax * ax + ay * ay + az * az);\n const mag2 = Math.sqrt(bx * bx + by * by + bz * bz);\n const mag = mag1 * mag2;\n const cosine = mag && dot(a, b) / mag;\n return Math.acos(cosine);\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n function subtract(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] - b[0];\n newDst[1] = a[1] - b[1];\n newDst[2] = a[2] - b[2];\n return newDst;\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n const sub = subtract;\n /**\n * Check if 2 vectors are approximately equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON &&\n Math.abs(a[2] - b[2]) < EPSILON;\n }\n /**\n * Check if 2 vectors are exactly equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficient.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The linear interpolated result.\n */\n function lerp(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] + t * (b[0] - a[0]);\n newDst[1] = a[1] + t * (b[1] - a[1]);\n newDst[2] = a[2] + t * (b[2] - a[2]);\n return newDst;\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient vector t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficients vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns the linear interpolated result.\n */\n function lerpV(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] + t[0] * (b[0] - a[0]);\n newDst[1] = a[1] + t[1] * (b[1] - a[1]);\n newDst[2] = a[2] + t[2] * (b[2] - a[2]);\n return newDst;\n }\n /**\n * Return max values of two vectors.\n * Given vectors a and b returns\n * [max(a[0], b[0]), max(a[1], b[1]), max(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The max components vector.\n */\n function max(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.max(a[0], b[0]);\n newDst[1] = Math.max(a[1], b[1]);\n newDst[2] = Math.max(a[2], b[2]);\n return newDst;\n }\n /**\n * Return min values of two vectors.\n * Given vectors a and b returns\n * [min(a[0], b[0]), min(a[1], b[1]), min(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The min components vector.\n */\n function min(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = Math.min(a[0], b[0]);\n newDst[1] = Math.min(a[1], b[1]);\n newDst[2] = Math.min(a[2], b[2]);\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function mulScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = v[0] * k;\n newDst[1] = v[1] * k;\n newDst[2] = v[2] * k;\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar. (same as mulScalar)\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n const scale = mulScalar;\n /**\n * Divides a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function divScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = v[0] / k;\n newDst[1] = v[1] / k;\n newDst[2] = v[2] / k;\n return newDst;\n }\n /**\n * Inverse a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n function inverse(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = 1 / v[0];\n newDst[1] = 1 / v[1];\n newDst[2] = 1 / v[2];\n return newDst;\n }\n /**\n * Invert a vector. (same as inverse)\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n const invert = inverse;\n /**\n * Computes the cross product of two vectors; assumes both vectors have\n * three entries.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of a cross b.\n */\n function cross(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n const t1 = a[2] * b[0] - a[0] * b[2];\n const t2 = a[0] * b[1] - a[1] * b[0];\n newDst[0] = a[1] * b[2] - a[2] * b[1];\n newDst[1] = t1;\n newDst[2] = t2;\n return newDst;\n }\n /**\n * Computes the dot product of two vectors; assumes both vectors have\n * three entries.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns dot product\n */\n function dot(a, b) {\n return (a[0] * b[0]) + (a[1] * b[1]) + (a[2] * b[2]);\n }\n /**\n * Computes the length of vector\n * @param v - vector.\n * @returns length of vector.\n */\n function length(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n return Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2);\n }\n /**\n * Computes the length of vector (same as length)\n * @param v - vector.\n * @returns length of vector.\n */\n const len = length;\n /**\n * Computes the square of the length of vector\n * @param v - vector.\n * @returns square of the length of vector.\n */\n function lengthSq(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n return v0 * v0 + v1 * v1 + v2 * v2;\n }\n /**\n * Computes the square of the length of vector (same as lengthSq)\n * @param v - vector.\n * @returns square of the length of vector.\n */\n const lenSq = lengthSq;\n /**\n * Computes the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n function distance(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n const dz = a[2] - b[2];\n return Math.sqrt(dx * dx + dy * dy + dz * dz);\n }\n /**\n * Computes the distance between 2 points (same as distance)\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n const dist = distance;\n /**\n * Computes the square of the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n function distanceSq(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n const dz = a[2] - b[2];\n return dx * dx + dy * dy + dz * dz;\n }\n /**\n * Computes the square of the distance between 2 points (same as distanceSq)\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n const distSq = distanceSq;\n /**\n * Divides a vector by its Euclidean length and returns the quotient.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The normalized vector.\n */\n function normalize(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const len = Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2);\n if (len > 0.00001) {\n newDst[0] = v0 / len;\n newDst[1] = v1 / len;\n newDst[2] = v2 / len;\n }\n else {\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n }\n return newDst;\n }\n /**\n * Negates a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns -v.\n */\n function negate(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = -v[0];\n newDst[1] = -v[1];\n newDst[2] = -v[2];\n return newDst;\n }\n /**\n * Copies a vector. (same as {@link vec3.clone})\n * Also see {@link vec3.create} and {@link vec3.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n function copy(v, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = v[0];\n newDst[1] = v[1];\n newDst[2] = v[2];\n return newDst;\n }\n /**\n * Clones a vector. (same as {@link vec3.copy})\n * Also see {@link vec3.create} and {@link vec3.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n const clone = copy;\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] * b[0];\n newDst[1] = a[1] * b[1];\n newDst[2] = a[2] * b[2];\n return newDst;\n }\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as mul)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n const mul = multiply;\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n function divide(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = a[0] / b[0];\n newDst[1] = a[1] / b[1];\n newDst[2] = a[2] / b[2];\n return newDst;\n }\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as divide)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n const div = divide;\n /**\n * Creates a random vector\n * @param scale - Default 1\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The random vector.\n */\n function random(scale = 1, dst) {\n const newDst = (dst ?? new Ctor(3));\n const angle = Math.random() * 2 * Math.PI;\n const z = Math.random() * 2 - 1;\n const zScale = Math.sqrt(1 - z * z) * scale;\n newDst[0] = Math.cos(angle) * zScale;\n newDst[1] = Math.sin(angle) * zScale;\n newDst[2] = z * scale;\n return newDst;\n }\n /**\n * Zero's a vector\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The zeroed vector.\n */\n function zero(dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n return newDst;\n }\n /**\n * transform vec3 by 4x4 matrix\n * @param v - the vector\n * @param m - The matrix.\n * @param dst - optional vec3 to store result. If not passed a new one is created.\n * @returns the transformed vector\n */\n function transformMat4(v, m, dst) {\n const newDst = (dst ?? new Ctor(3));\n const x = v[0];\n const y = v[1];\n const z = v[2];\n const w = (m[3] * x + m[7] * y + m[11] * z + m[15]) || 1;\n newDst[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;\n newDst[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;\n newDst[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;\n return newDst;\n }\n /**\n * Transform vec3 by upper 3x3 matrix inside 4x4 matrix.\n * @param v - The direction.\n * @param m - The matrix.\n * @param dst - optional vec3 to store result. If not passed a new one is created.\n * @returns The transformed vector.\n */\n function transformMat4Upper3x3(v, m, dst) {\n const newDst = (dst ?? new Ctor(3));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n newDst[0] = v0 * m[0 * 4 + 0] + v1 * m[1 * 4 + 0] + v2 * m[2 * 4 + 0];\n newDst[1] = v0 * m[0 * 4 + 1] + v1 * m[1 * 4 + 1] + v2 * m[2 * 4 + 1];\n newDst[2] = v0 * m[0 * 4 + 2] + v1 * m[1 * 4 + 2] + v2 * m[2 * 4 + 2];\n return newDst;\n }\n /**\n * Transforms vec3 by 3x3 matrix\n *\n * @param v - the vector\n * @param m - The matrix.\n * @param dst - optional vec3 to store result. If not passed a new one is created.\n * @returns the transformed vector\n */\n function transformMat3(v, m, dst) {\n const newDst = (dst ?? new Ctor(3));\n const x = v[0];\n const y = v[1];\n const z = v[2];\n newDst[0] = x * m[0] + y * m[4] + z * m[8];\n newDst[1] = x * m[1] + y * m[5] + z * m[9];\n newDst[2] = x * m[2] + y * m[6] + z * m[10];\n return newDst;\n }\n /**\n * Transforms vec3 by Quaternion\n * @param v - the vector to transform\n * @param q - the quaternion to transform by\n * @param dst - optional vec3 to store result. If not passed a new one is created.\n * @returns the transformed\n */\n function transformQuat(v, q, dst) {\n const newDst = (dst ?? new Ctor(3));\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const w2 = q[3] * 2;\n const x = v[0];\n const y = v[1];\n const z = v[2];\n const uvX = qy * z - qz * y;\n const uvY = qz * x - qx * z;\n const uvZ = qx * y - qy * x;\n newDst[0] = x + uvX * w2 + (qy * uvZ - qz * uvY) * 2;\n newDst[1] = y + uvY * w2 + (qz * uvX - qx * uvZ) * 2;\n newDst[2] = z + uvZ * w2 + (qx * uvY - qy * uvX) * 2;\n return newDst;\n }\n /**\n * Returns the translation component of a 4-by-4 matrix as a vector with 3\n * entries.\n * @param m - The matrix.\n * @param dst - vector to hold result. If not passed a new one is created.\n * @returns The translation component of m.\n */\n function getTranslation(m, dst) {\n const newDst = (dst ?? new Ctor(3));\n newDst[0] = m[12];\n newDst[1] = m[13];\n newDst[2] = m[14];\n return newDst;\n }\n /**\n * Returns an axis of a 4x4 matrix as a vector with 3 entries\n * @param m - The matrix.\n * @param axis - The axis 0 = x, 1 = y, 2 = z;\n * @returns The axis component of m.\n */\n function getAxis(m, axis, dst) {\n const newDst = (dst ?? new Ctor(3));\n const off = axis * 4;\n newDst[0] = m[off + 0];\n newDst[1] = m[off + 1];\n newDst[2] = m[off + 2];\n return newDst;\n }\n /**\n * Returns the scaling component of the matrix\n * @param m - The Matrix\n * @param dst - The vector to set. If not passed a new one is created.\n */\n function getScaling(m, dst) {\n const newDst = (dst ?? new Ctor(3));\n const xx = m[0];\n const xy = m[1];\n const xz = m[2];\n const yx = m[4];\n const yy = m[5];\n const yz = m[6];\n const zx = m[8];\n const zy = m[9];\n const zz = m[10];\n newDst[0] = Math.sqrt(xx * xx + xy * xy + xz * xz);\n newDst[1] = Math.sqrt(yx * yx + yy * yy + yz * yz);\n newDst[2] = Math.sqrt(zx * zx + zy * zy + zz * zz);\n return newDst;\n }\n /**\n * Rotate a 3D vector around the x-axis\n *\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @param dst - The vector to set. If not passed a new one is created.\n * @returns the rotated vector\n */\n function rotateX(a, b, rad, dst) {\n const newDst = (dst ?? new Ctor(3));\n const p = [];\n const r = [];\n //Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n //perform rotation\n r[0] = p[0];\n r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);\n r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad);\n //translate to correct position\n newDst[0] = r[0] + b[0];\n newDst[1] = r[1] + b[1];\n newDst[2] = r[2] + b[2];\n return newDst;\n }\n /**\n * Rotate a 3D vector around the y-axis\n *\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @param dst - The vector to set. If not passed a new one is created.\n * @returns the rotated vector\n */\n function rotateY(a, b, rad, dst) {\n const newDst = (dst ?? new Ctor(3));\n const p = [];\n const r = [];\n // translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n // perform rotation\n r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);\n r[1] = p[1];\n r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad);\n // translate to correct position\n newDst[0] = r[0] + b[0];\n newDst[1] = r[1] + b[1];\n newDst[2] = r[2] + b[2];\n return newDst;\n }\n /**\n * Rotate a 3D vector around the z-axis\n *\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @param dst - The vector to set. If not passed a new one is created.\n * @returns {vec3} out\n */\n function rotateZ(a, b, rad, dst) {\n const newDst = (dst ?? new Ctor(3));\n const p = [];\n const r = [];\n // translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n // perform rotation\n r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);\n r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);\n r[2] = p[2];\n // translate to correct position\n newDst[0] = r[0] + b[0];\n newDst[1] = r[1] + b[1];\n newDst[2] = r[2] + b[2];\n return newDst;\n }\n /**\n * Treat a 3D vector as a direction and set it's length\n *\n * @param a The vec3 to lengthen\n * @param len The length of the resulting vector\n * @returns The lengthened vector\n */\n function setLength(a, len, dst) {\n const newDst = (dst ?? new Ctor(3));\n normalize(a, newDst);\n return mulScalar(newDst, len, newDst);\n }\n /**\n * Ensure a vector is not longer than a max length\n *\n * @param a The vec3 to limit\n * @param maxLen The longest length of the resulting vector\n * @returns The vector, shortened to maxLen if it's too long\n */\n function truncate(a, maxLen, dst) {\n const newDst = (dst ?? new Ctor(3));\n if (length(a) > maxLen) {\n return setLength(a, maxLen, newDst);\n }\n return copy(a, newDst);\n }\n /**\n * Return the vector exactly between 2 endpoint vectors\n *\n * @param a Endpoint 1\n * @param b Endpoint 2\n * @returns The vector exactly residing between endpoints 1 and 2\n */\n function midpoint(a, b, dst) {\n const newDst = (dst ?? new Ctor(3));\n return lerp(a, b, 0.5, newDst);\n }\n return {\n create,\n fromValues,\n set,\n ceil,\n floor,\n round,\n clamp,\n add,\n addScaled,\n angle,\n subtract,\n sub,\n equalsApproximately,\n equals,\n lerp,\n lerpV,\n max,\n min,\n mulScalar,\n scale,\n divScalar,\n inverse,\n invert,\n cross,\n dot,\n length,\n len,\n lengthSq,\n lenSq,\n distance,\n dist,\n distanceSq,\n distSq,\n normalize,\n negate,\n copy,\n clone,\n multiply,\n mul,\n divide,\n div,\n random,\n zero,\n transformMat4,\n transformMat4Upper3x3,\n transformMat3,\n transformQuat,\n getTranslation,\n getAxis,\n getScaling,\n rotateX,\n rotateY,\n rotateZ,\n setLength,\n truncate,\n midpoint,\n };\n}\nconst cache$4 = new Map();\nfunction getAPI$4(Ctor) {\n let api = cache$4.get(Ctor);\n if (!api) {\n api = getAPIImpl$4(Ctor);\n cache$4.set(Ctor, api);\n }\n return api;\n}\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n/**\n * Generates a typed API for Mat3\n * */\nfunction getAPIImpl$3(Ctor) {\n const vec2 = getAPI$5(Ctor);\n const vec3 = getAPI$4(Ctor);\n /**\n * Create a Mat3 from values\n *\n * Note: Since passing in a raw JavaScript array\n * is valid in all circumstances, if you want to\n * force a JavaScript array into a Mat3's specified type\n * it would be faster to use\n *\n * ```\n * const m = mat3.clone(someJSArray);\n * ```\n *\n * @param v0 - value for element 0\n * @param v1 - value for element 1\n * @param v2 - value for element 2\n * @param v3 - value for element 3\n * @param v4 - value for element 4\n * @param v5 - value for element 5\n * @param v6 - value for element 6\n * @param v7 - value for element 7\n * @param v8 - value for element 8\n * @returns matrix created from values.\n */\n function create(v0, v1, v2, v3, v4, v5, v6, v7, v8) {\n const newDst = new Ctor(12);\n // to make the array homogenous\n newDst[3] = 0;\n newDst[7] = 0;\n newDst[11] = 0;\n if (v0 !== undefined) {\n newDst[0] = v0;\n if (v1 !== undefined) {\n newDst[1] = v1;\n if (v2 !== undefined) {\n newDst[2] = v2;\n if (v3 !== undefined) {\n newDst[4] = v3;\n if (v4 !== undefined) {\n newDst[5] = v4;\n if (v5 !== undefined) {\n newDst[6] = v5;\n if (v6 !== undefined) {\n newDst[8] = v6;\n if (v7 !== undefined) {\n newDst[9] = v7;\n if (v8 !== undefined) {\n newDst[10] = v8;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n return newDst;\n }\n /**\n * Sets the values of a Mat3\n * Also see {@link mat3.create} and {@link mat3.copy}\n *\n * @param v0 - value for element 0\n * @param v1 - value for element 1\n * @param v2 - value for element 2\n * @param v3 - value for element 3\n * @param v4 - value for element 4\n * @param v5 - value for element 5\n * @param v6 - value for element 6\n * @param v7 - value for element 7\n * @param v8 - value for element 8\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat3 set from values.\n */\n function set(v0, v1, v2, v3, v4, v5, v6, v7, v8, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = v0;\n newDst[1] = v1;\n newDst[2] = v2;\n newDst[3] = 0;\n newDst[4] = v3;\n newDst[5] = v4;\n newDst[6] = v5;\n newDst[7] = 0;\n newDst[8] = v6;\n newDst[9] = v7;\n newDst[10] = v8;\n newDst[11] = 0;\n return newDst;\n }\n /**\n * Creates a Mat3 from the upper left 3x3 part of a Mat4\n * @param m4 - source matrix\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat3 made from m4\n */\n function fromMat4(m4, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = m4[0];\n newDst[1] = m4[1];\n newDst[2] = m4[2];\n newDst[3] = 0;\n newDst[4] = m4[4];\n newDst[5] = m4[5];\n newDst[6] = m4[6];\n newDst[7] = 0;\n newDst[8] = m4[8];\n newDst[9] = m4[9];\n newDst[10] = m4[10];\n newDst[11] = 0;\n return newDst;\n }\n /**\n * Creates a Mat3 rotation matrix from a quaternion\n * @param q - quaternion to create matrix from\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat3 made from q\n */\n function fromQuat(q, dst) {\n const newDst = (dst ?? new Ctor(12));\n const x = q[0];\n const y = q[1];\n const z = q[2];\n const w = q[3];\n const x2 = x + x;\n const y2 = y + y;\n const z2 = z + z;\n const xx = x * x2;\n const yx = y * x2;\n const yy = y * y2;\n const zx = z * x2;\n const zy = z * y2;\n const zz = z * z2;\n const wx = w * x2;\n const wy = w * y2;\n const wz = w * z2;\n newDst[0] = 1 - yy - zz;\n newDst[1] = yx + wz;\n newDst[2] = zx - wy;\n newDst[3] = 0;\n newDst[4] = yx - wz;\n newDst[5] = 1 - xx - zz;\n newDst[6] = zy + wx;\n newDst[7] = 0;\n newDst[8] = zx + wy;\n newDst[9] = zy - wx;\n newDst[10] = 1 - xx - yy;\n newDst[11] = 0;\n return newDst;\n }\n /**\n * Negates a matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns -m.\n */\n function negate(m, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = -m[0];\n newDst[1] = -m[1];\n newDst[2] = -m[2];\n newDst[4] = -m[4];\n newDst[5] = -m[5];\n newDst[6] = -m[6];\n newDst[8] = -m[8];\n newDst[9] = -m[9];\n newDst[10] = -m[10];\n return newDst;\n }\n /**\n * multiply a matrix by a scalar matrix.\n * @param m - The matrix.\n * @param s - the scalar\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns m * s.\n */\n function multiplyScalar(m, s, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = m[0] * s;\n newDst[1] = m[1] * s;\n newDst[2] = m[2] * s;\n newDst[4] = m[4] * s;\n newDst[5] = m[5] * s;\n newDst[6] = m[6] * s;\n newDst[8] = m[8] * s;\n newDst[9] = m[9] * s;\n newDst[10] = m[10] * s;\n return newDst;\n }\n /**\n * multiply a matrix by a scalar matrix.\n * @param m - The matrix.\n * @param s - the scalar\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns m * s.\n */\n const mulScalar = multiplyScalar;\n /**\n * add 2 matrices.\n * @param a - matrix 1.\n * @param b - matrix 2.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns a + b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n newDst[2] = a[2] + b[2];\n newDst[4] = a[4] + b[4];\n newDst[5] = a[5] + b[5];\n newDst[6] = a[6] + b[6];\n newDst[8] = a[8] + b[8];\n newDst[9] = a[9] + b[9];\n newDst[10] = a[10] + b[10];\n return newDst;\n }\n /**\n * Copies a matrix. (same as {@link mat3.clone})\n * Also see {@link mat3.create} and {@link mat3.set}\n * @param m - The matrix.\n * @param dst - The matrix. If not passed a new one is created.\n * @returns A copy of m.\n */\n function copy(m, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = m[0];\n newDst[1] = m[1];\n newDst[2] = m[2];\n newDst[4] = m[4];\n newDst[5] = m[5];\n newDst[6] = m[6];\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n return newDst;\n }\n /**\n * Copies a matrix (same as {@link mat3.copy})\n * Also see {@link mat3.create} and {@link mat3.set}\n * @param m - The matrix.\n * @param dst - The matrix. If not passed a new one is created.\n * @returns A copy of m.\n */\n const clone = copy;\n /**\n * Check if 2 matrices are approximately equal\n * @param a Operand matrix.\n * @param b Operand matrix.\n * @returns true if matrices are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON &&\n Math.abs(a[2] - b[2]) < EPSILON &&\n Math.abs(a[4] - b[4]) < EPSILON &&\n Math.abs(a[5] - b[5]) < EPSILON &&\n Math.abs(a[6] - b[6]) < EPSILON &&\n Math.abs(a[8] - b[8]) < EPSILON &&\n Math.abs(a[9] - b[9]) < EPSILON &&\n Math.abs(a[10] - b[10]) < EPSILON;\n }\n /**\n * Check if 2 matrices are exactly equal\n * @param a Operand matrix.\n * @param b Operand matrix.\n * @returns true if matrices are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] &&\n a[1] === b[1] &&\n a[2] === b[2] &&\n a[4] === b[4] &&\n a[5] === b[5] &&\n a[6] === b[6] &&\n a[8] === b[8] &&\n a[9] === b[9] &&\n a[10] === b[10];\n }\n /**\n * Creates a 3-by-3 identity matrix.\n *\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns A 3-by-3 identity matrix.\n */\n function identity(dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Takes the transpose of a matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The transpose of m.\n */\n function transpose(m, dst) {\n const newDst = (dst ?? new Ctor(12));\n if (newDst === m) {\n let t;\n // 0 1 2\n // 4 5 6\n // 8 9 10\n t = m[1];\n m[1] = m[4];\n m[4] = t;\n t = m[2];\n m[2] = m[8];\n m[8] = t;\n t = m[6];\n m[6] = m[9];\n m[9] = t;\n return newDst;\n }\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n newDst[0] = m00;\n newDst[1] = m10;\n newDst[2] = m20;\n newDst[4] = m01;\n newDst[5] = m11;\n newDst[6] = m21;\n newDst[8] = m02;\n newDst[9] = m12;\n newDst[10] = m22;\n return newDst;\n }\n /**\n * Computes the inverse of a 3-by-3 matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The inverse of m.\n */\n function inverse(m, dst) {\n const newDst = (dst ?? new Ctor(12));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const b01 = m22 * m11 - m12 * m21;\n const b11 = -m22 * m10 + m12 * m20;\n const b21 = m21 * m10 - m11 * m20;\n const invDet = 1 / (m00 * b01 + m01 * b11 + m02 * b21);\n newDst[0] = b01 * invDet;\n newDst[1] = (-m22 * m01 + m02 * m21) * invDet;\n newDst[2] = (m12 * m01 - m02 * m11) * invDet;\n newDst[4] = b11 * invDet;\n newDst[5] = (m22 * m00 - m02 * m20) * invDet;\n newDst[6] = (-m12 * m00 + m02 * m10) * invDet;\n newDst[8] = b21 * invDet;\n newDst[9] = (-m21 * m00 + m01 * m20) * invDet;\n newDst[10] = (m11 * m00 - m01 * m10) * invDet;\n return newDst;\n }\n /**\n * Compute the determinant of a matrix\n * @param m - the matrix\n * @returns the determinant\n */\n function determinant(m) {\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n return m00 * (m11 * m22 - m21 * m12) -\n m10 * (m01 * m22 - m21 * m02) +\n m20 * (m01 * m12 - m11 * m02);\n }\n /**\n * Computes the inverse of a 3-by-3 matrix. (same as inverse)\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The inverse of m.\n */\n const invert = inverse;\n /**\n * Multiplies two 3-by-3 matrices with a on the left and b on the right\n * @param a - The matrix on the left.\n * @param b - The matrix on the right.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix product of a and b.\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(12));\n const a00 = a[0];\n const a01 = a[1];\n const a02 = a[2];\n const a10 = a[4 + 0];\n const a11 = a[4 + 1];\n const a12 = a[4 + 2];\n const a20 = a[8 + 0];\n const a21 = a[8 + 1];\n const a22 = a[8 + 2];\n const b00 = b[0];\n const b01 = b[1];\n const b02 = b[2];\n const b10 = b[4 + 0];\n const b11 = b[4 + 1];\n const b12 = b[4 + 2];\n const b20 = b[8 + 0];\n const b21 = b[8 + 1];\n const b22 = b[8 + 2];\n newDst[0] = a00 * b00 + a10 * b01 + a20 * b02;\n newDst[1] = a01 * b00 + a11 * b01 + a21 * b02;\n newDst[2] = a02 * b00 + a12 * b01 + a22 * b02;\n newDst[4] = a00 * b10 + a10 * b11 + a20 * b12;\n newDst[5] = a01 * b10 + a11 * b11 + a21 * b12;\n newDst[6] = a02 * b10 + a12 * b11 + a22 * b12;\n newDst[8] = a00 * b20 + a10 * b21 + a20 * b22;\n newDst[9] = a01 * b20 + a11 * b21 + a21 * b22;\n newDst[10] = a02 * b20 + a12 * b21 + a22 * b22;\n return newDst;\n }\n /**\n * Multiplies two 3-by-3 matrices with a on the left and b on the right (same as multiply)\n * @param a - The matrix on the left.\n * @param b - The matrix on the right.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix product of a and b.\n */\n const mul = multiply;\n /**\n * Sets the translation component of a 3-by-3 matrix to the given\n * vector.\n * @param a - The matrix.\n * @param v - The vector.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix with translation set.\n */\n function setTranslation(a, v, dst) {\n const newDst = (dst ?? identity());\n if (a !== newDst) {\n newDst[0] = a[0];\n newDst[1] = a[1];\n newDst[2] = a[2];\n newDst[4] = a[4];\n newDst[5] = a[5];\n newDst[6] = a[6];\n }\n newDst[8] = v[0];\n newDst[9] = v[1];\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Returns the translation component of a 3-by-3 matrix as a vector with 3\n * entries.\n * @param m - The matrix.\n * @param dst - vector to hold result. If not passed a new one is created.\n * @returns The translation component of m.\n */\n function getTranslation(m, dst) {\n const newDst = (dst ?? vec2.create());\n newDst[0] = m[8];\n newDst[1] = m[9];\n return newDst;\n }\n /**\n * Returns an axis of a 3x3 matrix as a vector with 2 entries\n * @param m - The matrix.\n * @param axis - The axis 0 = x, 1 = y,\n * @returns The axis component of m.\n */\n function getAxis(m, axis, dst) {\n const newDst = (dst ?? vec2.create());\n const off = axis * 4;\n newDst[0] = m[off + 0];\n newDst[1] = m[off + 1];\n return newDst;\n }\n /**\n * Sets an axis of a 3x3 matrix as a vector with 2 entries\n * @param m - The matrix.\n * @param v - the axis vector\n * @param axis - The axis 0 = x, 1 = y;\n * @param dst - The matrix to set. If not passed a new one is created.\n * @returns The matrix with axis set.\n */\n function setAxis(m, v, axis, dst) {\n const newDst = (dst === m ? m : copy(m, dst));\n const off = axis * 4;\n newDst[off + 0] = v[0];\n newDst[off + 1] = v[1];\n return newDst;\n }\n /**\n * Returns the \"2d\" scaling component of the matrix\n * @param m - The Matrix\n * @param dst - The vector to set. If not passed a new one is created.\n */\n function getScaling(m, dst) {\n const newDst = (dst ?? vec2.create());\n const xx = m[0];\n const xy = m[1];\n const yx = m[4];\n const yy = m[5];\n newDst[0] = Math.sqrt(xx * xx + xy * xy);\n newDst[1] = Math.sqrt(yx * yx + yy * yy);\n return newDst;\n }\n /**\n * Returns the \"3d\" scaling component of the matrix\n * @param m - The Matrix\n * @param dst - The vector to set. If not passed a new one is created.\n */\n function get3DScaling(m, dst) {\n const newDst = (dst ?? vec3.create());\n const xx = m[0];\n const xy = m[1];\n const xz = m[2];\n const yx = m[4];\n const yy = m[5];\n const yz = m[6];\n const zx = m[8];\n const zy = m[9];\n const zz = m[10];\n newDst[0] = Math.sqrt(xx * xx + xy * xy + xz * xz);\n newDst[1] = Math.sqrt(yx * yx + yy * yy + yz * yz);\n newDst[2] = Math.sqrt(zx * zx + zy * zy + zz * zz);\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which translates by the given vector v.\n * @param v - The vector by which to translate.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The translation matrix.\n */\n function translation(v, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[8] = v[0];\n newDst[9] = v[1];\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Translates the given 3-by-3 matrix by the given vector v.\n * @param m - The matrix.\n * @param v - The vector by which to translate.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The translated matrix.\n */\n function translate(m, v, dst) {\n const newDst = (dst ?? new Ctor(12));\n const v0 = v[0];\n const v1 = v[1];\n const m00 = m[0];\n const m01 = m[1];\n const m02 = m[2];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n if (m !== newDst) {\n newDst[0] = m00;\n newDst[1] = m01;\n newDst[2] = m02;\n newDst[4] = m10;\n newDst[5] = m11;\n newDst[6] = m12;\n }\n newDst[8] = m00 * v0 + m10 * v1 + m20;\n newDst[9] = m01 * v0 + m11 * v1 + m21;\n newDst[10] = m02 * v0 + m12 * v1 + m22;\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which rotates by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotation(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c;\n newDst[1] = s;\n newDst[2] = 0;\n newDst[4] = -s;\n newDst[5] = c;\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Rotates the given 3-by-3 matrix by the given angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotate(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c * m00 + s * m10;\n newDst[1] = c * m01 + s * m11;\n newDst[2] = c * m02 + s * m12;\n newDst[4] = c * m10 - s * m00;\n newDst[5] = c * m11 - s * m01;\n newDst[6] = c * m12 - s * m02;\n if (m !== newDst) {\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n }\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which rotates around the x-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotationX(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = c;\n newDst[6] = s;\n newDst[8] = 0;\n newDst[9] = -s;\n newDst[10] = c;\n return newDst;\n }\n /**\n * Rotates the given 3-by-3 matrix around the x-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotateX(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const m10 = m[4];\n const m11 = m[5];\n const m12 = m[6];\n const m20 = m[8];\n const m21 = m[9];\n const m22 = m[10];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[4] = c * m10 + s * m20;\n newDst[5] = c * m11 + s * m21;\n newDst[6] = c * m12 + s * m22;\n newDst[8] = c * m20 - s * m10;\n newDst[9] = c * m21 - s * m11;\n newDst[10] = c * m22 - s * m12;\n if (m !== newDst) {\n newDst[0] = m[0];\n newDst[1] = m[1];\n newDst[2] = m[2];\n }\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which rotates around the y-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotationY(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c;\n newDst[1] = 0;\n newDst[2] = -s;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[8] = s;\n newDst[9] = 0;\n newDst[10] = c;\n return newDst;\n }\n /**\n * Rotates the given 3-by-3 matrix around the y-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotateY(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(12));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c * m00 - s * m20;\n newDst[1] = c * m01 - s * m21;\n newDst[2] = c * m02 - s * m22;\n newDst[8] = c * m20 + s * m00;\n newDst[9] = c * m21 + s * m01;\n newDst[10] = c * m22 + s * m02;\n if (m !== newDst) {\n newDst[4] = m[4];\n newDst[5] = m[5];\n newDst[6] = m[6];\n }\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which rotates around the z-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n const rotationZ = rotation;\n /**\n * Rotates the given 3-by-3 matrix around the z-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n const rotateZ = rotate;\n /**\n * Creates a 3-by-3 matrix which scales in each dimension by an amount given by\n * the corresponding entry in the given vector; assumes the vector has two\n * entries.\n * @param v - A vector of\n * 2 entries specifying the factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function scaling(v, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = v[0];\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = v[1];\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Scales the given 3-by-3 matrix in each dimension by an amount\n * given by the corresponding entry in the given vector; assumes the vector has\n * two entries.\n * @param m - The matrix to be modified.\n * @param v - A vector of 2 entries specifying the\n * factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function scale(m, v, dst) {\n const newDst = (dst ?? new Ctor(12));\n const v0 = v[0];\n const v1 = v[1];\n newDst[0] = v0 * m[0 * 4 + 0];\n newDst[1] = v0 * m[0 * 4 + 1];\n newDst[2] = v0 * m[0 * 4 + 2];\n newDst[4] = v1 * m[1 * 4 + 0];\n newDst[5] = v1 * m[1 * 4 + 1];\n newDst[6] = v1 * m[1 * 4 + 2];\n if (m !== newDst) {\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n }\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which scales in each dimension by an amount given by\n * the corresponding entry in the given vector; assumes the vector has three\n * entries.\n * @param v - A vector of\n * 3 entries specifying the factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function scaling3D(v, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = v[0];\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = v[1];\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = v[2];\n return newDst;\n }\n /**\n * Scales the given 3-by-3 matrix in each dimension by an amount\n * given by the corresponding entry in the given vector; assumes the vector has\n * three entries.\n * @param m - The matrix to be modified.\n * @param v - A vector of 3 entries specifying the\n * factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function scale3D(m, v, dst) {\n const newDst = (dst ?? new Ctor(12));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n newDst[0] = v0 * m[0 * 4 + 0];\n newDst[1] = v0 * m[0 * 4 + 1];\n newDst[2] = v0 * m[0 * 4 + 2];\n newDst[4] = v1 * m[1 * 4 + 0];\n newDst[5] = v1 * m[1 * 4 + 1];\n newDst[6] = v1 * m[1 * 4 + 2];\n newDst[8] = v2 * m[2 * 4 + 0];\n newDst[9] = v2 * m[2 * 4 + 1];\n newDst[10] = v2 * m[2 * 4 + 2];\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which scales uniformly in the X and Y dimensions\n * @param s - Amount to scale\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function uniformScaling(s, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = s;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = s;\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n return newDst;\n }\n /**\n * Scales the given 3-by-3 matrix in the X and Y dimension by an amount\n * given.\n * @param m - The matrix to be modified.\n * @param s - Amount to scale.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function uniformScale(m, s, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = s * m[0 * 4 + 0];\n newDst[1] = s * m[0 * 4 + 1];\n newDst[2] = s * m[0 * 4 + 2];\n newDst[4] = s * m[1 * 4 + 0];\n newDst[5] = s * m[1 * 4 + 1];\n newDst[6] = s * m[1 * 4 + 2];\n if (m !== newDst) {\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n }\n return newDst;\n }\n /**\n * Creates a 3-by-3 matrix which scales uniformly in each dimension\n * @param s - Amount to scale\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function uniformScaling3D(s, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = s;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[4] = 0;\n newDst[5] = s;\n newDst[6] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = s;\n return newDst;\n }\n /**\n * Scales the given 3-by-3 matrix in each dimension by an amount\n * given.\n * @param m - The matrix to be modified.\n * @param s - Amount to scale.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function uniformScale3D(m, s, dst) {\n const newDst = (dst ?? new Ctor(12));\n newDst[0] = s * m[0 * 4 + 0];\n newDst[1] = s * m[0 * 4 + 1];\n newDst[2] = s * m[0 * 4 + 2];\n newDst[4] = s * m[1 * 4 + 0];\n newDst[5] = s * m[1 * 4 + 1];\n newDst[6] = s * m[1 * 4 + 2];\n newDst[8] = s * m[2 * 4 + 0];\n newDst[9] = s * m[2 * 4 + 1];\n newDst[10] = s * m[2 * 4 + 2];\n return newDst;\n }\n return {\n add,\n clone,\n copy,\n create,\n determinant,\n equals,\n equalsApproximately,\n fromMat4,\n fromQuat,\n get3DScaling,\n getAxis,\n getScaling,\n getTranslation,\n identity,\n inverse,\n invert,\n mul,\n mulScalar,\n multiply,\n multiplyScalar,\n negate,\n rotate,\n rotateX,\n rotateY,\n rotateZ,\n rotation,\n rotationX,\n rotationY,\n rotationZ,\n scale,\n scale3D,\n scaling,\n scaling3D,\n set,\n setAxis,\n setTranslation,\n translate,\n translation,\n transpose,\n uniformScale,\n uniformScale3D,\n uniformScaling,\n uniformScaling3D,\n };\n}\nconst cache$3 = new Map();\nfunction getAPI$3(Ctor) {\n let api = cache$3.get(Ctor);\n if (!api) {\n api = getAPIImpl$3(Ctor);\n cache$3.set(Ctor, api);\n }\n return api;\n}\n\n/**\n * Generates a typed API for Mat4\n * */\nfunction getAPIImpl$2(Ctor) {\n const vec3 = getAPI$4(Ctor);\n /**\n * 4x4 Matrix math math functions.\n *\n * Almost all functions take an optional `newDst` argument. If it is not passed in the\n * functions will create a new matrix. In other words you can do this\n *\n * const mat = mat4.translation([1, 2, 3]); // Creates a new translation matrix\n *\n * or\n *\n * const mat = mat4.create();\n * mat4.translation([1, 2, 3], mat); // Puts translation matrix in mat.\n *\n * The first style is often easier but depending on where it's used it generates garbage where\n * as there is almost never allocation with the second style.\n *\n * It is always save to pass any matrix as the destination. So for example\n *\n * const mat = mat4.identity();\n * const trans = mat4.translation([1, 2, 3]);\n * mat4.multiply(mat, trans, mat); // Multiplies mat * trans and puts result in mat.\n *\n */\n /**\n * Create a Mat4 from values\n *\n * Note: Since passing in a raw JavaScript array\n * is valid in all circumstances, if you want to\n * force a JavaScript array into a Mat4's specified type\n * it would be faster to use\n *\n * ```\n * const m = mat4.clone(someJSArray);\n * ```\n *\n * @param v0 - value for element 0\n * @param v1 - value for element 1\n * @param v2 - value for element 2\n * @param v3 - value for element 3\n * @param v4 - value for element 4\n * @param v5 - value for element 5\n * @param v6 - value for element 6\n * @param v7 - value for element 7\n * @param v8 - value for element 8\n * @param v9 - value for element 9\n * @param v10 - value for element 10\n * @param v11 - value for element 11\n * @param v12 - value for element 12\n * @param v13 - value for element 13\n * @param v14 - value for element 14\n * @param v15 - value for element 15\n * @returns created from values.\n */\n function create(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {\n const newDst = new Ctor(16);\n if (v0 !== undefined) {\n newDst[0] = v0;\n if (v1 !== undefined) {\n newDst[1] = v1;\n if (v2 !== undefined) {\n newDst[2] = v2;\n if (v3 !== undefined) {\n newDst[3] = v3;\n if (v4 !== undefined) {\n newDst[4] = v4;\n if (v5 !== undefined) {\n newDst[5] = v5;\n if (v6 !== undefined) {\n newDst[6] = v6;\n if (v7 !== undefined) {\n newDst[7] = v7;\n if (v8 !== undefined) {\n newDst[8] = v8;\n if (v9 !== undefined) {\n newDst[9] = v9;\n if (v10 !== undefined) {\n newDst[10] = v10;\n if (v11 !== undefined) {\n newDst[11] = v11;\n if (v12 !== undefined) {\n newDst[12] = v12;\n if (v13 !== undefined) {\n newDst[13] = v13;\n if (v14 !== undefined) {\n newDst[14] = v14;\n if (v15 !== undefined) {\n newDst[15] = v15;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n return newDst;\n }\n /**\n * Sets the values of a Mat4\n * Also see {@link mat4.create} and {@link mat4.copy}\n *\n * @param v0 - value for element 0\n * @param v1 - value for element 1\n * @param v2 - value for element 2\n * @param v3 - value for element 3\n * @param v4 - value for element 4\n * @param v5 - value for element 5\n * @param v6 - value for element 6\n * @param v7 - value for element 7\n * @param v8 - value for element 8\n * @param v9 - value for element 9\n * @param v10 - value for element 10\n * @param v11 - value for element 11\n * @param v12 - value for element 12\n * @param v13 - value for element 13\n * @param v14 - value for element 14\n * @param v15 - value for element 15\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat4 created from values.\n */\n function set(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = v0;\n newDst[1] = v1;\n newDst[2] = v2;\n newDst[3] = v3;\n newDst[4] = v4;\n newDst[5] = v5;\n newDst[6] = v6;\n newDst[7] = v7;\n newDst[8] = v8;\n newDst[9] = v9;\n newDst[10] = v10;\n newDst[11] = v11;\n newDst[12] = v12;\n newDst[13] = v13;\n newDst[14] = v14;\n newDst[15] = v15;\n return newDst;\n }\n /**\n * Creates a Mat4 from a Mat3\n * @param m3 - source matrix\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat4 made from m3\n */\n function fromMat3(m3, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = m3[0];\n newDst[1] = m3[1];\n newDst[2] = m3[2];\n newDst[3] = 0;\n newDst[4] = m3[4];\n newDst[5] = m3[5];\n newDst[6] = m3[6];\n newDst[7] = 0;\n newDst[8] = m3[8];\n newDst[9] = m3[9];\n newDst[10] = m3[10];\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Creates a Mat4 rotation matrix from a quaternion\n * @param q - quaternion to create matrix from\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns Mat4 made from q\n */\n function fromQuat(q, dst) {\n const newDst = (dst ?? new Ctor(16));\n const x = q[0];\n const y = q[1];\n const z = q[2];\n const w = q[3];\n const x2 = x + x;\n const y2 = y + y;\n const z2 = z + z;\n const xx = x * x2;\n const yx = y * x2;\n const yy = y * y2;\n const zx = z * x2;\n const zy = z * y2;\n const zz = z * z2;\n const wx = w * x2;\n const wy = w * y2;\n const wz = w * z2;\n newDst[0] = 1 - yy - zz;\n newDst[1] = yx + wz;\n newDst[2] = zx - wy;\n newDst[3] = 0;\n newDst[4] = yx - wz;\n newDst[5] = 1 - xx - zz;\n newDst[6] = zy + wx;\n newDst[7] = 0;\n newDst[8] = zx + wy;\n newDst[9] = zy - wx;\n newDst[10] = 1 - xx - yy;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Negates a matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns -m.\n */\n function negate(m, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = -m[0];\n newDst[1] = -m[1];\n newDst[2] = -m[2];\n newDst[3] = -m[3];\n newDst[4] = -m[4];\n newDst[5] = -m[5];\n newDst[6] = -m[6];\n newDst[7] = -m[7];\n newDst[8] = -m[8];\n newDst[9] = -m[9];\n newDst[10] = -m[10];\n newDst[11] = -m[11];\n newDst[12] = -m[12];\n newDst[13] = -m[13];\n newDst[14] = -m[14];\n newDst[15] = -m[15];\n return newDst;\n }\n /**\n * add 2 matrices.\n * @param a - matrix 1.\n * @param b - matrix 2.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns a + b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n newDst[2] = a[2] + b[2];\n newDst[3] = a[3] + b[3];\n newDst[4] = a[4] + b[4];\n newDst[5] = a[5] + b[5];\n newDst[6] = a[6] + b[6];\n newDst[7] = a[7] + b[7];\n newDst[8] = a[8] + b[8];\n newDst[9] = a[9] + b[9];\n newDst[10] = a[10] + b[10];\n newDst[11] = a[11] + b[11];\n newDst[12] = a[12] + b[12];\n newDst[13] = a[13] + b[13];\n newDst[14] = a[14] + b[14];\n newDst[15] = a[15] + b[15];\n return newDst;\n }\n /**\n * Multiplies a matrix by a scalar\n * @param m - The matrix.\n * @param s - The scalar\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns m * s.\n */\n function multiplyScalar(m, s, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = m[0] * s;\n newDst[1] = m[1] * s;\n newDst[2] = m[2] * s;\n newDst[3] = m[3] * s;\n newDst[4] = m[4] * s;\n newDst[5] = m[5] * s;\n newDst[6] = m[6] * s;\n newDst[7] = m[7] * s;\n newDst[8] = m[8] * s;\n newDst[9] = m[9] * s;\n newDst[10] = m[10] * s;\n newDst[11] = m[11] * s;\n newDst[12] = m[12] * s;\n newDst[13] = m[13] * s;\n newDst[14] = m[14] * s;\n newDst[15] = m[15] * s;\n return newDst;\n }\n /**\n * Multiplies a matrix by a scalar\n * @param m - The matrix.\n * @param s - The scalar\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns m * s.\n */\n const mulScalar = multiplyScalar;\n /**\n * Copies a matrix. (same as {@link mat4.clone})\n * Also see {@link mat4.create} and {@link mat4.set}\n * @param m - The matrix.\n * @param dst - The matrix. If not passed a new one is created.\n * @returns A copy of m.\n */\n function copy(m, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = m[0];\n newDst[1] = m[1];\n newDst[2] = m[2];\n newDst[3] = m[3];\n newDst[4] = m[4];\n newDst[5] = m[5];\n newDst[6] = m[6];\n newDst[7] = m[7];\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n newDst[11] = m[11];\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n return newDst;\n }\n /**\n * Copies a matrix (same as {@link mat4.copy})\n * Also see {@link mat4.create} and {@link mat4.set}\n * @param m - The matrix.\n * @param dst - The matrix. If not passed a new one is created.\n * @returns A copy of m.\n */\n const clone = copy;\n /**\n * Check if 2 matrices are approximately equal\n * @param a - Operand matrix.\n * @param b - Operand matrix.\n * @returns true if matrices are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON &&\n Math.abs(a[2] - b[2]) < EPSILON &&\n Math.abs(a[3] - b[3]) < EPSILON &&\n Math.abs(a[4] - b[4]) < EPSILON &&\n Math.abs(a[5] - b[5]) < EPSILON &&\n Math.abs(a[6] - b[6]) < EPSILON &&\n Math.abs(a[7] - b[7]) < EPSILON &&\n Math.abs(a[8] - b[8]) < EPSILON &&\n Math.abs(a[9] - b[9]) < EPSILON &&\n Math.abs(a[10] - b[10]) < EPSILON &&\n Math.abs(a[11] - b[11]) < EPSILON &&\n Math.abs(a[12] - b[12]) < EPSILON &&\n Math.abs(a[13] - b[13]) < EPSILON &&\n Math.abs(a[14] - b[14]) < EPSILON &&\n Math.abs(a[15] - b[15]) < EPSILON;\n }\n /**\n * Check if 2 matrices are exactly equal\n * @param a - Operand matrix.\n * @param b - Operand matrix.\n * @returns true if matrices are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] &&\n a[1] === b[1] &&\n a[2] === b[2] &&\n a[3] === b[3] &&\n a[4] === b[4] &&\n a[5] === b[5] &&\n a[6] === b[6] &&\n a[7] === b[7] &&\n a[8] === b[8] &&\n a[9] === b[9] &&\n a[10] === b[10] &&\n a[11] === b[11] &&\n a[12] === b[12] &&\n a[13] === b[13] &&\n a[14] === b[14] &&\n a[15] === b[15];\n }\n /**\n * Creates a 4-by-4 identity matrix.\n *\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns A 4-by-4 identity matrix.\n */\n function identity(dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Takes the transpose of a matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The transpose of m.\n */\n function transpose(m, dst) {\n const newDst = (dst ?? new Ctor(16));\n if (newDst === m) {\n let t;\n t = m[1];\n m[1] = m[4];\n m[4] = t;\n t = m[2];\n m[2] = m[8];\n m[8] = t;\n t = m[3];\n m[3] = m[12];\n m[12] = t;\n t = m[6];\n m[6] = m[9];\n m[9] = t;\n t = m[7];\n m[7] = m[13];\n m[13] = t;\n t = m[11];\n m[11] = m[14];\n m[14] = t;\n return newDst;\n }\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m03 = m[0 * 4 + 3];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m13 = m[1 * 4 + 3];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const m23 = m[2 * 4 + 3];\n const m30 = m[3 * 4 + 0];\n const m31 = m[3 * 4 + 1];\n const m32 = m[3 * 4 + 2];\n const m33 = m[3 * 4 + 3];\n newDst[0] = m00;\n newDst[1] = m10;\n newDst[2] = m20;\n newDst[3] = m30;\n newDst[4] = m01;\n newDst[5] = m11;\n newDst[6] = m21;\n newDst[7] = m31;\n newDst[8] = m02;\n newDst[9] = m12;\n newDst[10] = m22;\n newDst[11] = m32;\n newDst[12] = m03;\n newDst[13] = m13;\n newDst[14] = m23;\n newDst[15] = m33;\n return newDst;\n }\n /**\n * Computes the inverse of a 4-by-4 matrix.\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The inverse of m.\n */\n function inverse(m, dst) {\n const newDst = (dst ?? new Ctor(16));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m03 = m[0 * 4 + 3];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m13 = m[1 * 4 + 3];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const m23 = m[2 * 4 + 3];\n const m30 = m[3 * 4 + 0];\n const m31 = m[3 * 4 + 1];\n const m32 = m[3 * 4 + 2];\n const m33 = m[3 * 4 + 3];\n const tmp0 = m22 * m33;\n const tmp1 = m32 * m23;\n const tmp2 = m12 * m33;\n const tmp3 = m32 * m13;\n const tmp4 = m12 * m23;\n const tmp5 = m22 * m13;\n const tmp6 = m02 * m33;\n const tmp7 = m32 * m03;\n const tmp8 = m02 * m23;\n const tmp9 = m22 * m03;\n const tmp10 = m02 * m13;\n const tmp11 = m12 * m03;\n const tmp12 = m20 * m31;\n const tmp13 = m30 * m21;\n const tmp14 = m10 * m31;\n const tmp15 = m30 * m11;\n const tmp16 = m10 * m21;\n const tmp17 = m20 * m11;\n const tmp18 = m00 * m31;\n const tmp19 = m30 * m01;\n const tmp20 = m00 * m21;\n const tmp21 = m20 * m01;\n const tmp22 = m00 * m11;\n const tmp23 = m10 * m01;\n const t0 = (tmp0 * m11 + tmp3 * m21 + tmp4 * m31) -\n (tmp1 * m11 + tmp2 * m21 + tmp5 * m31);\n const t1 = (tmp1 * m01 + tmp6 * m21 + tmp9 * m31) -\n (tmp0 * m01 + tmp7 * m21 + tmp8 * m31);\n const t2 = (tmp2 * m01 + tmp7 * m11 + tmp10 * m31) -\n (tmp3 * m01 + tmp6 * m11 + tmp11 * m31);\n const t3 = (tmp5 * m01 + tmp8 * m11 + tmp11 * m21) -\n (tmp4 * m01 + tmp9 * m11 + tmp10 * m21);\n const d = 1 / (m00 * t0 + m10 * t1 + m20 * t2 + m30 * t3);\n newDst[0] = d * t0;\n newDst[1] = d * t1;\n newDst[2] = d * t2;\n newDst[3] = d * t3;\n newDst[4] = d * ((tmp1 * m10 + tmp2 * m20 + tmp5 * m30) -\n (tmp0 * m10 + tmp3 * m20 + tmp4 * m30));\n newDst[5] = d * ((tmp0 * m00 + tmp7 * m20 + tmp8 * m30) -\n (tmp1 * m00 + tmp6 * m20 + tmp9 * m30));\n newDst[6] = d * ((tmp3 * m00 + tmp6 * m10 + tmp11 * m30) -\n (tmp2 * m00 + tmp7 * m10 + tmp10 * m30));\n newDst[7] = d * ((tmp4 * m00 + tmp9 * m10 + tmp10 * m20) -\n (tmp5 * m00 + tmp8 * m10 + tmp11 * m20));\n newDst[8] = d * ((tmp12 * m13 + tmp15 * m23 + tmp16 * m33) -\n (tmp13 * m13 + tmp14 * m23 + tmp17 * m33));\n newDst[9] = d * ((tmp13 * m03 + tmp18 * m23 + tmp21 * m33) -\n (tmp12 * m03 + tmp19 * m23 + tmp20 * m33));\n newDst[10] = d * ((tmp14 * m03 + tmp19 * m13 + tmp22 * m33) -\n (tmp15 * m03 + tmp18 * m13 + tmp23 * m33));\n newDst[11] = d * ((tmp17 * m03 + tmp20 * m13 + tmp23 * m23) -\n (tmp16 * m03 + tmp21 * m13 + tmp22 * m23));\n newDst[12] = d * ((tmp14 * m22 + tmp17 * m32 + tmp13 * m12) -\n (tmp16 * m32 + tmp12 * m12 + tmp15 * m22));\n newDst[13] = d * ((tmp20 * m32 + tmp12 * m02 + tmp19 * m22) -\n (tmp18 * m22 + tmp21 * m32 + tmp13 * m02));\n newDst[14] = d * ((tmp18 * m12 + tmp23 * m32 + tmp15 * m02) -\n (tmp22 * m32 + tmp14 * m02 + tmp19 * m12));\n newDst[15] = d * ((tmp22 * m22 + tmp16 * m02 + tmp21 * m12) -\n (tmp20 * m12 + tmp23 * m22 + tmp17 * m02));\n return newDst;\n }\n /**\n * Compute the determinant of a matrix\n * @param m - the matrix\n * @returns the determinant\n */\n function determinant(m) {\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m03 = m[0 * 4 + 3];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m13 = m[1 * 4 + 3];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const m23 = m[2 * 4 + 3];\n const m30 = m[3 * 4 + 0];\n const m31 = m[3 * 4 + 1];\n const m32 = m[3 * 4 + 2];\n const m33 = m[3 * 4 + 3];\n const tmp0 = m22 * m33;\n const tmp1 = m32 * m23;\n const tmp2 = m12 * m33;\n const tmp3 = m32 * m13;\n const tmp4 = m12 * m23;\n const tmp5 = m22 * m13;\n const tmp6 = m02 * m33;\n const tmp7 = m32 * m03;\n const tmp8 = m02 * m23;\n const tmp9 = m22 * m03;\n const tmp10 = m02 * m13;\n const tmp11 = m12 * m03;\n const t0 = (tmp0 * m11 + tmp3 * m21 + tmp4 * m31) -\n (tmp1 * m11 + tmp2 * m21 + tmp5 * m31);\n const t1 = (tmp1 * m01 + tmp6 * m21 + tmp9 * m31) -\n (tmp0 * m01 + tmp7 * m21 + tmp8 * m31);\n const t2 = (tmp2 * m01 + tmp7 * m11 + tmp10 * m31) -\n (tmp3 * m01 + tmp6 * m11 + tmp11 * m31);\n const t3 = (tmp5 * m01 + tmp8 * m11 + tmp11 * m21) -\n (tmp4 * m01 + tmp9 * m11 + tmp10 * m21);\n return m00 * t0 + m10 * t1 + m20 * t2 + m30 * t3;\n }\n /**\n * Computes the inverse of a 4-by-4 matrix. (same as inverse)\n * @param m - The matrix.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The inverse of m.\n */\n const invert = inverse;\n /**\n * Multiplies two 4-by-4 matrices with a on the left and b on the right\n * @param a - The matrix on the left.\n * @param b - The matrix on the right.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix product of a and b.\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(16));\n const a00 = a[0];\n const a01 = a[1];\n const a02 = a[2];\n const a03 = a[3];\n const a10 = a[4 + 0];\n const a11 = a[4 + 1];\n const a12 = a[4 + 2];\n const a13 = a[4 + 3];\n const a20 = a[8 + 0];\n const a21 = a[8 + 1];\n const a22 = a[8 + 2];\n const a23 = a[8 + 3];\n const a30 = a[12 + 0];\n const a31 = a[12 + 1];\n const a32 = a[12 + 2];\n const a33 = a[12 + 3];\n const b00 = b[0];\n const b01 = b[1];\n const b02 = b[2];\n const b03 = b[3];\n const b10 = b[4 + 0];\n const b11 = b[4 + 1];\n const b12 = b[4 + 2];\n const b13 = b[4 + 3];\n const b20 = b[8 + 0];\n const b21 = b[8 + 1];\n const b22 = b[8 + 2];\n const b23 = b[8 + 3];\n const b30 = b[12 + 0];\n const b31 = b[12 + 1];\n const b32 = b[12 + 2];\n const b33 = b[12 + 3];\n newDst[0] = a00 * b00 + a10 * b01 + a20 * b02 + a30 * b03;\n newDst[1] = a01 * b00 + a11 * b01 + a21 * b02 + a31 * b03;\n newDst[2] = a02 * b00 + a12 * b01 + a22 * b02 + a32 * b03;\n newDst[3] = a03 * b00 + a13 * b01 + a23 * b02 + a33 * b03;\n newDst[4] = a00 * b10 + a10 * b11 + a20 * b12 + a30 * b13;\n newDst[5] = a01 * b10 + a11 * b11 + a21 * b12 + a31 * b13;\n newDst[6] = a02 * b10 + a12 * b11 + a22 * b12 + a32 * b13;\n newDst[7] = a03 * b10 + a13 * b11 + a23 * b12 + a33 * b13;\n newDst[8] = a00 * b20 + a10 * b21 + a20 * b22 + a30 * b23;\n newDst[9] = a01 * b20 + a11 * b21 + a21 * b22 + a31 * b23;\n newDst[10] = a02 * b20 + a12 * b21 + a22 * b22 + a32 * b23;\n newDst[11] = a03 * b20 + a13 * b21 + a23 * b22 + a33 * b23;\n newDst[12] = a00 * b30 + a10 * b31 + a20 * b32 + a30 * b33;\n newDst[13] = a01 * b30 + a11 * b31 + a21 * b32 + a31 * b33;\n newDst[14] = a02 * b30 + a12 * b31 + a22 * b32 + a32 * b33;\n newDst[15] = a03 * b30 + a13 * b31 + a23 * b32 + a33 * b33;\n return newDst;\n }\n /**\n * Multiplies two 4-by-4 matrices with a on the left and b on the right (same as multiply)\n * @param a - The matrix on the left.\n * @param b - The matrix on the right.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix product of a and b.\n */\n const mul = multiply;\n /**\n * Sets the translation component of a 4-by-4 matrix to the given\n * vector.\n * @param a - The matrix.\n * @param v - The vector.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The matrix with translation set.\n */\n function setTranslation(a, v, dst) {\n const newDst = (dst ?? identity());\n if (a !== newDst) {\n newDst[0] = a[0];\n newDst[1] = a[1];\n newDst[2] = a[2];\n newDst[3] = a[3];\n newDst[4] = a[4];\n newDst[5] = a[5];\n newDst[6] = a[6];\n newDst[7] = a[7];\n newDst[8] = a[8];\n newDst[9] = a[9];\n newDst[10] = a[10];\n newDst[11] = a[11];\n }\n newDst[12] = v[0];\n newDst[13] = v[1];\n newDst[14] = v[2];\n newDst[15] = 1;\n return newDst;\n }\n ///**\n // * Returns the translation component of a 4-by-4 matrix as a vector with 3\n // * entries.\n // * @param m - The matrix.\n // * @param dst - vector to hold result. If not passed a new one is created.\n // * @returns The translation component of m.\n // */\n function getTranslation(m, dst) {\n const newDst = (dst ?? vec3.create());\n newDst[0] = m[12];\n newDst[1] = m[13];\n newDst[2] = m[14];\n return newDst;\n }\n /**\n * Returns an axis of a 4x4 matrix as a vector with 3 entries\n * @param m - The matrix.\n * @param axis - The axis 0 = x, 1 = y, 2 = z;\n * @returns The axis component of m.\n */\n function getAxis(m, axis, dst) {\n const newDst = (dst ?? vec3.create());\n const off = axis * 4;\n newDst[0] = m[off + 0];\n newDst[1] = m[off + 1];\n newDst[2] = m[off + 2];\n return newDst;\n }\n /**\n * Sets an axis of a 4x4 matrix as a vector with 3 entries\n * @param m - The matrix.\n * @param v - the axis vector\n * @param axis - The axis 0 = x, 1 = y, 2 = z;\n * @param dst - The matrix to set. If not passed a new one is created.\n * @returns The matrix with axis set.\n */\n function setAxis(m, v, axis, dst) {\n const newDst = (dst === m) ? dst : copy(m, dst);\n const off = axis * 4;\n newDst[off + 0] = v[0];\n newDst[off + 1] = v[1];\n newDst[off + 2] = v[2];\n return newDst;\n }\n /**\n * Returns the \"3d\" scaling component of the matrix\n * @param m - The Matrix\n * @param dst - The vector to set. If not passed a new one is created.\n */\n function getScaling(m, dst) {\n const newDst = (dst ?? vec3.create());\n const xx = m[0];\n const xy = m[1];\n const xz = m[2];\n const yx = m[4];\n const yy = m[5];\n const yz = m[6];\n const zx = m[8];\n const zy = m[9];\n const zz = m[10];\n newDst[0] = Math.sqrt(xx * xx + xy * xy + xz * xz);\n newDst[1] = Math.sqrt(yx * yx + yy * yy + yz * yz);\n newDst[2] = Math.sqrt(zx * zx + zy * zy + zz * zz);\n return newDst;\n }\n /**\n * Computes a 4-by-4 perspective transformation matrix given the angular height\n * of the frustum, the aspect ratio, and the near and far clipping planes. The\n * arguments define a frustum extending in the negative z direction. The given\n * angle is the vertical angle of the frustum, and the horizontal angle is\n * determined to produce the given aspect ratio. The arguments near and far are\n * the distances to the near and far clipping planes. Note that near and far\n * are not z coordinates, but rather they are distances along the negative\n * z-axis. The matrix generated sends the viewing frustum to the unit box.\n * We assume a unit box extending from -1 to 1 in the x and y dimensions and\n * from 0 to 1 in the z dimension.\n *\n * Note: If you pass `Infinity` for zFar then it will produce a projection matrix\n * returns -Infinity for Z when transforming coordinates with Z <= 0 and +Infinity for Z\n * otherwise.\n *\n * @param fieldOfViewYInRadians - The camera angle from top to bottom (in radians).\n * @param aspect - The aspect ratio width / height.\n * @param zNear - The depth (negative z coordinate)\n * of the near clipping plane.\n * @param zFar - The depth (negative z coordinate)\n * of the far clipping plane.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The perspective matrix.\n */\n function perspective(fieldOfViewYInRadians, aspect, zNear, zFar, dst) {\n const newDst = (dst ?? new Ctor(16));\n const f = Math.tan(Math.PI * 0.5 - 0.5 * fieldOfViewYInRadians);\n newDst[0] = f / aspect;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = f;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[11] = -1;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[15] = 0;\n if (Number.isFinite(zFar)) {\n const rangeInv = 1 / (zNear - zFar);\n newDst[10] = zFar * rangeInv;\n newDst[14] = zFar * zNear * rangeInv;\n }\n else {\n newDst[10] = -1;\n newDst[14] = -zNear;\n }\n return newDst;\n }\n /**\n * Computes a 4-by-4 reverse-z perspective transformation matrix given the angular height\n * of the frustum, the aspect ratio, and the near and far clipping planes. The\n * arguments define a frustum extending in the negative z direction. The given\n * angle is the vertical angle of the frustum, and the horizontal angle is\n * determined to produce the given aspect ratio. The arguments near and far are\n * the distances to the near and far clipping planes. Note that near and far\n * are not z coordinates, but rather they are distances along the negative\n * z-axis. The matrix generated sends the viewing frustum to the unit box.\n * We assume a unit box extending from -1 to 1 in the x and y dimensions and\n * from 1 (at -zNear) to 0 (at -zFar) in the z dimension.\n *\n * @param fieldOfViewYInRadians - The camera angle from top to bottom (in radians).\n * @param aspect - The aspect ratio width / height.\n * @param zNear - The depth (negative z coordinate)\n * of the near clipping plane.\n * @param zFar - The depth (negative z coordinate)\n * of the far clipping plane. (default = Infinity)\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The perspective matrix.\n */ function perspectiveReverseZ(fieldOfViewYInRadians, aspect, zNear, zFar = Infinity, dst) {\n const newDst = (dst ?? new Ctor(16));\n const f = 1 / Math.tan(fieldOfViewYInRadians * 0.5);\n newDst[0] = f / aspect;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = f;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[11] = -1;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[15] = 0;\n if (zFar === Infinity) {\n newDst[10] = 0;\n newDst[14] = zNear;\n }\n else {\n const rangeInv = 1 / (zFar - zNear);\n newDst[10] = zNear * rangeInv;\n newDst[14] = zFar * zNear * rangeInv;\n }\n return newDst;\n }\n /**\n * Computes a 4-by-4 orthogonal transformation matrix that transforms from\n * the given the left, right, bottom, and top dimensions to -1 +1 in x, and y\n * and 0 to +1 in z.\n * @param left - Left side of the near clipping plane viewport.\n * @param right - Right side of the near clipping plane viewport.\n * @param bottom - Bottom of the near clipping plane viewport.\n * @param top - Top of the near clipping plane viewport.\n * @param near - The depth (negative z coordinate)\n * of the near clipping plane.\n * @param far - The depth (negative z coordinate)\n * of the far clipping plane.\n * @param dst - Output matrix. If not passed a new one is created.\n * @returns The orthographic projection matrix.\n */\n function ortho(left, right, bottom, top, near, far, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = 2 / (right - left);\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 2 / (top - bottom);\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1 / (near - far);\n newDst[11] = 0;\n newDst[12] = (right + left) / (left - right);\n newDst[13] = (top + bottom) / (bottom - top);\n newDst[14] = near / (near - far);\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Computes a 4-by-4 perspective transformation matrix given the left, right,\n * top, bottom, near and far clipping planes. The arguments define a frustum\n * extending in the negative z direction. The arguments near and far are the\n * distances to the near and far clipping planes. Note that near and far are not\n * z coordinates, but rather they are distances along the negative z-axis. The\n * matrix generated sends the viewing frustum to the unit box. We assume a unit\n * box extending from -1 to 1 in the x and y dimensions and from 0 to 1 in the z\n * dimension.\n * @param left - The x coordinate of the left plane of the box.\n * @param right - The x coordinate of the right plane of the box.\n * @param bottom - The y coordinate of the bottom plane of the box.\n * @param top - The y coordinate of the right plane of the box.\n * @param near - The negative z coordinate of the near plane of the box.\n * @param far - The negative z coordinate of the far plane of the box.\n * @param dst - Output matrix. If not passed a new one is created.\n * @returns The perspective projection matrix.\n */\n function frustum(left, right, bottom, top, near, far, dst) {\n const newDst = (dst ?? new Ctor(16));\n const dx = (right - left);\n const dy = (top - bottom);\n const dz = (near - far);\n newDst[0] = 2 * near / dx;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 2 * near / dy;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = (left + right) / dx;\n newDst[9] = (top + bottom) / dy;\n newDst[10] = far / dz;\n newDst[11] = -1;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = near * far / dz;\n newDst[15] = 0;\n return newDst;\n }\n /**\n * Computes a 4-by-4 reverse-z perspective transformation matrix given the left, right,\n * top, bottom, near and far clipping planes. The arguments define a frustum\n * extending in the negative z direction. The arguments near and far are the\n * distances to the near and far clipping planes. Note that near and far are not\n * z coordinates, but rather they are distances along the negative z-axis. The\n * matrix generated sends the viewing frustum to the unit box. We assume a unit\n * box extending from -1 to 1 in the x and y dimensions and from 1 (-near) to 0 (-far) in the z\n * dimension.\n * @param left - The x coordinate of the left plane of the box.\n * @param right - The x coordinate of the right plane of the box.\n * @param bottom - The y coordinate of the bottom plane of the box.\n * @param top - The y coordinate of the right plane of the box.\n * @param near - The negative z coordinate of the near plane of the box.\n * @param far - The negative z coordinate of the far plane of the box.\n * @param dst - Output matrix. If not passed a new one is created.\n * @returns The perspective projection matrix.\n */\n function frustumReverseZ(left, right, bottom, top, near, far = Infinity, dst) {\n const newDst = (dst ?? new Ctor(16));\n const dx = (right - left);\n const dy = (top - bottom);\n newDst[0] = 2 * near / dx;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 2 * near / dy;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = (left + right) / dx;\n newDst[9] = (top + bottom) / dy;\n newDst[11] = -1;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[15] = 0;\n if (far === Infinity) {\n newDst[10] = 0;\n newDst[14] = near;\n }\n else {\n const rangeInv = 1 / (far - near);\n newDst[10] = near * rangeInv;\n newDst[14] = far * near * rangeInv;\n }\n return newDst;\n }\n const xAxis = vec3.create();\n const yAxis = vec3.create();\n const zAxis = vec3.create();\n /**\n * Computes a 4-by-4 aim transformation.\n *\n * This is a matrix which positions an object aiming down positive Z.\n * toward the target.\n *\n * Note: this is **NOT** the inverse of lookAt as lookAt looks at negative Z.\n *\n * @param position - The position of the object.\n * @param target - The position meant to be aimed at.\n * @param up - A vector pointing up.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The aim matrix.\n */\n function aim(position, target, up, dst) {\n const newDst = (dst ?? new Ctor(16));\n vec3.normalize(vec3.subtract(target, position, zAxis), zAxis);\n vec3.normalize(vec3.cross(up, zAxis, xAxis), xAxis);\n vec3.normalize(vec3.cross(zAxis, xAxis, yAxis), yAxis);\n newDst[0] = xAxis[0];\n newDst[1] = xAxis[1];\n newDst[2] = xAxis[2];\n newDst[3] = 0;\n newDst[4] = yAxis[0];\n newDst[5] = yAxis[1];\n newDst[6] = yAxis[2];\n newDst[7] = 0;\n newDst[8] = zAxis[0];\n newDst[9] = zAxis[1];\n newDst[10] = zAxis[2];\n newDst[11] = 0;\n newDst[12] = position[0];\n newDst[13] = position[1];\n newDst[14] = position[2];\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Computes a 4-by-4 camera aim transformation.\n *\n * This is a matrix which positions an object aiming down negative Z.\n * toward the target.\n *\n * Note: this is the inverse of `lookAt`\n *\n * @param eye - The position of the object.\n * @param target - The position meant to be aimed at.\n * @param up - A vector pointing up.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The aim matrix.\n */\n function cameraAim(eye, target, up, dst) {\n const newDst = (dst ?? new Ctor(16));\n vec3.normalize(vec3.subtract(eye, target, zAxis), zAxis);\n vec3.normalize(vec3.cross(up, zAxis, xAxis), xAxis);\n vec3.normalize(vec3.cross(zAxis, xAxis, yAxis), yAxis);\n newDst[0] = xAxis[0];\n newDst[1] = xAxis[1];\n newDst[2] = xAxis[2];\n newDst[3] = 0;\n newDst[4] = yAxis[0];\n newDst[5] = yAxis[1];\n newDst[6] = yAxis[2];\n newDst[7] = 0;\n newDst[8] = zAxis[0];\n newDst[9] = zAxis[1];\n newDst[10] = zAxis[2];\n newDst[11] = 0;\n newDst[12] = eye[0];\n newDst[13] = eye[1];\n newDst[14] = eye[2];\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Computes a 4-by-4 view transformation.\n *\n * This is a view matrix which transforms all other objects\n * to be in the space of the view defined by the parameters.\n *\n * @param eye - The position of the object.\n * @param target - The position meant to be aimed at.\n * @param up - A vector pointing up.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The look-at matrix.\n */\n function lookAt(eye, target, up, dst) {\n const newDst = (dst ?? new Ctor(16));\n vec3.normalize(vec3.subtract(eye, target, zAxis), zAxis);\n vec3.normalize(vec3.cross(up, zAxis, xAxis), xAxis);\n vec3.normalize(vec3.cross(zAxis, xAxis, yAxis), yAxis);\n newDst[0] = xAxis[0];\n newDst[1] = yAxis[0];\n newDst[2] = zAxis[0];\n newDst[3] = 0;\n newDst[4] = xAxis[1];\n newDst[5] = yAxis[1];\n newDst[6] = zAxis[1];\n newDst[7] = 0;\n newDst[8] = xAxis[2];\n newDst[9] = yAxis[2];\n newDst[10] = zAxis[2];\n newDst[11] = 0;\n newDst[12] = -(xAxis[0] * eye[0] + xAxis[1] * eye[1] + xAxis[2] * eye[2]);\n newDst[13] = -(yAxis[0] * eye[0] + yAxis[1] * eye[1] + yAxis[2] * eye[2]);\n newDst[14] = -(zAxis[0] * eye[0] + zAxis[1] * eye[1] + zAxis[2] * eye[2]);\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which translates by the given vector v.\n * @param v - The vector by\n * which to translate.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The translation matrix.\n */\n function translation(v, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n newDst[11] = 0;\n newDst[12] = v[0];\n newDst[13] = v[1];\n newDst[14] = v[2];\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Translates the given 4-by-4 matrix by the given vector v.\n * @param m - The matrix.\n * @param v - The vector by\n * which to translate.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The translated matrix.\n */\n function translate(m, v, dst) {\n const newDst = (dst ?? new Ctor(16));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const m00 = m[0];\n const m01 = m[1];\n const m02 = m[2];\n const m03 = m[3];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m13 = m[1 * 4 + 3];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const m23 = m[2 * 4 + 3];\n const m30 = m[3 * 4 + 0];\n const m31 = m[3 * 4 + 1];\n const m32 = m[3 * 4 + 2];\n const m33 = m[3 * 4 + 3];\n if (m !== newDst) {\n newDst[0] = m00;\n newDst[1] = m01;\n newDst[2] = m02;\n newDst[3] = m03;\n newDst[4] = m10;\n newDst[5] = m11;\n newDst[6] = m12;\n newDst[7] = m13;\n newDst[8] = m20;\n newDst[9] = m21;\n newDst[10] = m22;\n newDst[11] = m23;\n }\n newDst[12] = m00 * v0 + m10 * v1 + m20 * v2 + m30;\n newDst[13] = m01 * v0 + m11 * v1 + m21 * v2 + m31;\n newDst[14] = m02 * v0 + m12 * v1 + m22 * v2 + m32;\n newDst[15] = m03 * v0 + m13 * v1 + m23 * v2 + m33;\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which rotates around the x-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotationX(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = c;\n newDst[6] = s;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = -s;\n newDst[10] = c;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Rotates the given 4-by-4 matrix around the x-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotateX(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const m10 = m[4];\n const m11 = m[5];\n const m12 = m[6];\n const m13 = m[7];\n const m20 = m[8];\n const m21 = m[9];\n const m22 = m[10];\n const m23 = m[11];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[4] = c * m10 + s * m20;\n newDst[5] = c * m11 + s * m21;\n newDst[6] = c * m12 + s * m22;\n newDst[7] = c * m13 + s * m23;\n newDst[8] = c * m20 - s * m10;\n newDst[9] = c * m21 - s * m11;\n newDst[10] = c * m22 - s * m12;\n newDst[11] = c * m23 - s * m13;\n if (m !== newDst) {\n newDst[0] = m[0];\n newDst[1] = m[1];\n newDst[2] = m[2];\n newDst[3] = m[3];\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which rotates around the y-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotationY(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c;\n newDst[1] = 0;\n newDst[2] = -s;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = 1;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = s;\n newDst[9] = 0;\n newDst[10] = c;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Rotates the given 4-by-4 matrix around the y-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotateY(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m03 = m[0 * 4 + 3];\n const m20 = m[2 * 4 + 0];\n const m21 = m[2 * 4 + 1];\n const m22 = m[2 * 4 + 2];\n const m23 = m[2 * 4 + 3];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c * m00 - s * m20;\n newDst[1] = c * m01 - s * m21;\n newDst[2] = c * m02 - s * m22;\n newDst[3] = c * m03 - s * m23;\n newDst[8] = c * m20 + s * m00;\n newDst[9] = c * m21 + s * m01;\n newDst[10] = c * m22 + s * m02;\n newDst[11] = c * m23 + s * m03;\n if (m !== newDst) {\n newDst[4] = m[4];\n newDst[5] = m[5];\n newDst[6] = m[6];\n newDst[7] = m[7];\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which rotates around the z-axis by the given angle.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotation matrix.\n */\n function rotationZ(angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c;\n newDst[1] = s;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = -s;\n newDst[5] = c;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = 1;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Rotates the given 4-by-4 matrix around the z-axis by the given\n * angle.\n * @param m - The matrix.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function rotateZ(m, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n const m00 = m[0 * 4 + 0];\n const m01 = m[0 * 4 + 1];\n const m02 = m[0 * 4 + 2];\n const m03 = m[0 * 4 + 3];\n const m10 = m[1 * 4 + 0];\n const m11 = m[1 * 4 + 1];\n const m12 = m[1 * 4 + 2];\n const m13 = m[1 * 4 + 3];\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n newDst[0] = c * m00 + s * m10;\n newDst[1] = c * m01 + s * m11;\n newDst[2] = c * m02 + s * m12;\n newDst[3] = c * m03 + s * m13;\n newDst[4] = c * m10 - s * m00;\n newDst[5] = c * m11 - s * m01;\n newDst[6] = c * m12 - s * m02;\n newDst[7] = c * m13 - s * m03;\n if (m !== newDst) {\n newDst[8] = m[8];\n newDst[9] = m[9];\n newDst[10] = m[10];\n newDst[11] = m[11];\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which rotates around the given axis by the given\n * angle.\n * @param axis - The axis\n * about which to rotate.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns A matrix which rotates angle radians\n * around the axis.\n */\n function axisRotation(axis, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n let x = axis[0];\n let y = axis[1];\n let z = axis[2];\n const n = Math.sqrt(x * x + y * y + z * z);\n x /= n;\n y /= n;\n z /= n;\n const xx = x * x;\n const yy = y * y;\n const zz = z * z;\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n const oneMinusCosine = 1 - c;\n newDst[0] = xx + (1 - xx) * c;\n newDst[1] = x * y * oneMinusCosine + z * s;\n newDst[2] = x * z * oneMinusCosine - y * s;\n newDst[3] = 0;\n newDst[4] = x * y * oneMinusCosine - z * s;\n newDst[5] = yy + (1 - yy) * c;\n newDst[6] = y * z * oneMinusCosine + x * s;\n newDst[7] = 0;\n newDst[8] = x * z * oneMinusCosine + y * s;\n newDst[9] = y * z * oneMinusCosine - x * s;\n newDst[10] = zz + (1 - zz) * c;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which rotates around the given axis by the given\n * angle. (same as axisRotation)\n * @param axis - The axis\n * about which to rotate.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns A matrix which rotates angle radians\n * around the axis.\n */\n const rotation = axisRotation;\n /**\n * Rotates the given 4-by-4 matrix around the given axis by the\n * given angle.\n * @param m - The matrix.\n * @param axis - The axis\n * about which to rotate.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n function axisRotate(m, axis, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(16));\n let x = axis[0];\n let y = axis[1];\n let z = axis[2];\n const n = Math.sqrt(x * x + y * y + z * z);\n x /= n;\n y /= n;\n z /= n;\n const xx = x * x;\n const yy = y * y;\n const zz = z * z;\n const c = Math.cos(angleInRadians);\n const s = Math.sin(angleInRadians);\n const oneMinusCosine = 1 - c;\n const r00 = xx + (1 - xx) * c;\n const r01 = x * y * oneMinusCosine + z * s;\n const r02 = x * z * oneMinusCosine - y * s;\n const r10 = x * y * oneMinusCosine - z * s;\n const r11 = yy + (1 - yy) * c;\n const r12 = y * z * oneMinusCosine + x * s;\n const r20 = x * z * oneMinusCosine + y * s;\n const r21 = y * z * oneMinusCosine - x * s;\n const r22 = zz + (1 - zz) * c;\n const m00 = m[0];\n const m01 = m[1];\n const m02 = m[2];\n const m03 = m[3];\n const m10 = m[4];\n const m11 = m[5];\n const m12 = m[6];\n const m13 = m[7];\n const m20 = m[8];\n const m21 = m[9];\n const m22 = m[10];\n const m23 = m[11];\n newDst[0] = r00 * m00 + r01 * m10 + r02 * m20;\n newDst[1] = r00 * m01 + r01 * m11 + r02 * m21;\n newDst[2] = r00 * m02 + r01 * m12 + r02 * m22;\n newDst[3] = r00 * m03 + r01 * m13 + r02 * m23;\n newDst[4] = r10 * m00 + r11 * m10 + r12 * m20;\n newDst[5] = r10 * m01 + r11 * m11 + r12 * m21;\n newDst[6] = r10 * m02 + r11 * m12 + r12 * m22;\n newDst[7] = r10 * m03 + r11 * m13 + r12 * m23;\n newDst[8] = r20 * m00 + r21 * m10 + r22 * m20;\n newDst[9] = r20 * m01 + r21 * m11 + r22 * m21;\n newDst[10] = r20 * m02 + r21 * m12 + r22 * m22;\n newDst[11] = r20 * m03 + r21 * m13 + r22 * m23;\n if (m !== newDst) {\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n /**\n * Rotates the given 4-by-4 matrix around the given axis by the\n * given angle. (same as rotate)\n * @param m - The matrix.\n * @param axis - The axis\n * about which to rotate.\n * @param angleInRadians - The angle by which to rotate (in radians).\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The rotated matrix.\n */\n const rotate = axisRotate;\n /**\n * Creates a 4-by-4 matrix which scales in each dimension by an amount given by\n * the corresponding entry in the given vector; assumes the vector has three\n * entries.\n * @param v - A vector of\n * three entries specifying the factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function scaling(v, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = v[0];\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = v[1];\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = v[2];\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Scales the given 4-by-4 matrix in each dimension by an amount\n * given by the corresponding entry in the given vector; assumes the vector has\n * three entries.\n * @param m - The matrix to be modified.\n * @param v - A vector of three entries specifying the\n * factor by which to scale in each dimension.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function scale(m, v, dst) {\n const newDst = (dst ?? new Ctor(16));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n newDst[0] = v0 * m[0 * 4 + 0];\n newDst[1] = v0 * m[0 * 4 + 1];\n newDst[2] = v0 * m[0 * 4 + 2];\n newDst[3] = v0 * m[0 * 4 + 3];\n newDst[4] = v1 * m[1 * 4 + 0];\n newDst[5] = v1 * m[1 * 4 + 1];\n newDst[6] = v1 * m[1 * 4 + 2];\n newDst[7] = v1 * m[1 * 4 + 3];\n newDst[8] = v2 * m[2 * 4 + 0];\n newDst[9] = v2 * m[2 * 4 + 1];\n newDst[10] = v2 * m[2 * 4 + 2];\n newDst[11] = v2 * m[2 * 4 + 3];\n if (m !== newDst) {\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n /**\n * Creates a 4-by-4 matrix which scales a uniform amount in each dimension.\n * @param s - the amount to scale\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaling matrix.\n */\n function uniformScaling(s, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = s;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n newDst[4] = 0;\n newDst[5] = s;\n newDst[6] = 0;\n newDst[7] = 0;\n newDst[8] = 0;\n newDst[9] = 0;\n newDst[10] = s;\n newDst[11] = 0;\n newDst[12] = 0;\n newDst[13] = 0;\n newDst[14] = 0;\n newDst[15] = 1;\n return newDst;\n }\n /**\n * Scales the given 4-by-4 matrix in each dimension by a uniform scale.\n * @param m - The matrix to be modified.\n * @param s - The amount to scale.\n * @param dst - matrix to hold result. If not passed a new one is created.\n * @returns The scaled matrix.\n */\n function uniformScale(m, s, dst) {\n const newDst = (dst ?? new Ctor(16));\n newDst[0] = s * m[0 * 4 + 0];\n newDst[1] = s * m[0 * 4 + 1];\n newDst[2] = s * m[0 * 4 + 2];\n newDst[3] = s * m[0 * 4 + 3];\n newDst[4] = s * m[1 * 4 + 0];\n newDst[5] = s * m[1 * 4 + 1];\n newDst[6] = s * m[1 * 4 + 2];\n newDst[7] = s * m[1 * 4 + 3];\n newDst[8] = s * m[2 * 4 + 0];\n newDst[9] = s * m[2 * 4 + 1];\n newDst[10] = s * m[2 * 4 + 2];\n newDst[11] = s * m[2 * 4 + 3];\n if (m !== newDst) {\n newDst[12] = m[12];\n newDst[13] = m[13];\n newDst[14] = m[14];\n newDst[15] = m[15];\n }\n return newDst;\n }\n return {\n add,\n aim,\n axisRotate,\n axisRotation,\n cameraAim,\n clone,\n copy,\n create,\n determinant,\n equals,\n equalsApproximately,\n fromMat3,\n fromQuat,\n frustum,\n frustumReverseZ,\n getAxis,\n getScaling,\n getTranslation,\n identity,\n inverse,\n invert,\n lookAt,\n mul,\n mulScalar,\n multiply,\n multiplyScalar,\n negate,\n ortho,\n perspective,\n perspectiveReverseZ,\n rotate,\n rotateX,\n rotateY,\n rotateZ,\n rotation,\n rotationX,\n rotationY,\n rotationZ,\n scale,\n scaling,\n set,\n setAxis,\n setTranslation,\n translate,\n translation,\n transpose,\n uniformScale,\n uniformScaling,\n };\n}\nconst cache$2 = new Map();\nfunction getAPI$2(Ctor) {\n let api = cache$2.get(Ctor);\n if (!api) {\n api = getAPIImpl$2(Ctor);\n cache$2.set(Ctor, api);\n }\n return api;\n}\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n/**\n * Generates am typed API for Qud\n * */\nfunction getAPIImpl$1(Ctor) {\n const vec3 = getAPI$4(Ctor);\n /**\n * Creates a quat4; may be called with x, y, z to set initial values.\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @param w - Initial w value.\n * @returns the created vector\n */\n function create(x, y, z, w) {\n const newDst = new Ctor(4);\n if (x !== undefined) {\n newDst[0] = x;\n if (y !== undefined) {\n newDst[1] = y;\n if (z !== undefined) {\n newDst[2] = z;\n if (w !== undefined) {\n newDst[3] = w;\n }\n }\n }\n }\n return newDst;\n }\n /**\n * Creates a Quat; may be called with x, y, z to set initial values. (same as create)\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @param z - Initial w value.\n * @returns the created vector\n */\n const fromValues = create;\n /**\n * Sets the values of a Quat\n * Also see {@link quat.create} and {@link quat.copy}\n *\n * @param x first value\n * @param y second value\n * @param z third value\n * @param w fourth value\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector with its elements set.\n */\n function set(x, y, z, w, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = x;\n newDst[1] = y;\n newDst[2] = z;\n newDst[3] = w;\n return newDst;\n }\n /**\n * Sets a quaternion from the given angle and axis,\n * then returns it.\n *\n * @param axis - the axis to rotate around\n * @param angleInRadians - the angle\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The quaternion that represents the given axis and angle\n **/\n function fromAxisAngle(axis, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(4));\n const halfAngle = angleInRadians * 0.5;\n const s = Math.sin(halfAngle);\n newDst[0] = s * axis[0];\n newDst[1] = s * axis[1];\n newDst[2] = s * axis[2];\n newDst[3] = Math.cos(halfAngle);\n return newDst;\n }\n /**\n * Gets the rotation axis and angle\n * @param q - quaternion to compute from\n * @param dst - Vec3 to hold result. If not passed in a new one is created.\n * @return angle and axis\n */\n function toAxisAngle(q, dst) {\n const newDst = (dst ?? vec3.create(3));\n const angle = Math.acos(q[3]) * 2;\n const s = Math.sin(angle * 0.5);\n if (s > EPSILON) {\n newDst[0] = q[0] / s;\n newDst[1] = q[1] / s;\n newDst[2] = q[2] / s;\n }\n else {\n newDst[0] = 1;\n newDst[1] = 0;\n newDst[2] = 0;\n }\n return { angle, axis: newDst };\n }\n /**\n * Returns the angle in degrees between two rotations a and b.\n * @param a - quaternion a\n * @param b - quaternion b\n * @return angle in radians between the two quaternions\n */\n function angle(a, b) {\n const d = dot(a, b);\n return Math.acos(2 * d * d - 1);\n }\n /**\n * Multiplies two quaternions\n *\n * @param a - the first quaternion\n * @param b - the second quaternion\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const aw = a[3];\n const bx = b[0];\n const by = b[1];\n const bz = b[2];\n const bw = b[3];\n newDst[0] = ax * bw + aw * bx + ay * bz - az * by;\n newDst[1] = ay * bw + aw * by + az * bx - ax * bz;\n newDst[2] = az * bw + aw * bz + ax * by - ay * bx;\n newDst[3] = aw * bw - ax * bx - ay * by - az * bz;\n return newDst;\n }\n /**\n * Multiplies two quaternions\n *\n * @param a - the first quaternion\n * @param b - the second quaternion\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n const mul = multiply;\n /**\n * Rotates the given quaternion around the X axis by the given angle.\n * @param q - quaternion to rotate\n * @param angleInRadians - The angle by which to rotate\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n function rotateX(q, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(4));\n const halfAngle = angleInRadians * 0.5;\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const qw = q[3];\n const bx = Math.sin(halfAngle);\n const bw = Math.cos(halfAngle);\n newDst[0] = qx * bw + qw * bx;\n newDst[1] = qy * bw + qz * bx;\n newDst[2] = qz * bw - qy * bx;\n newDst[3] = qw * bw - qx * bx;\n return newDst;\n }\n /**\n * Rotates the given quaternion around the Y axis by the given angle.\n * @param q - quaternion to rotate\n * @param angleInRadians - The angle by which to rotate\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n function rotateY(q, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(4));\n const halfAngle = angleInRadians * 0.5;\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const qw = q[3];\n const by = Math.sin(halfAngle);\n const bw = Math.cos(halfAngle);\n newDst[0] = qx * bw - qz * by;\n newDst[1] = qy * bw + qw * by;\n newDst[2] = qz * bw + qx * by;\n newDst[3] = qw * bw - qy * by;\n return newDst;\n }\n /**\n * Rotates the given quaternion around the Z axis by the given angle.\n * @param q - quaternion to rotate\n * @param angleInRadians - The angle by which to rotate\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n function rotateZ(q, angleInRadians, dst) {\n const newDst = (dst ?? new Ctor(4));\n const halfAngle = angleInRadians * 0.5;\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const qw = q[3];\n const bz = Math.sin(halfAngle);\n const bw = Math.cos(halfAngle);\n newDst[0] = qx * bw + qy * bz;\n newDst[1] = qy * bw - qx * bz;\n newDst[2] = qz * bw + qw * bz;\n newDst[3] = qw * bw - qz * bz;\n return newDst;\n }\n /**\n * Spherically linear interpolate between two quaternions\n *\n * @param a - starting value\n * @param b - ending value\n * @param t - value where 0 = a and 1 = b\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the result of a * b\n */\n function slerp(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(4));\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const aw = a[3];\n let bx = b[0];\n let by = b[1];\n let bz = b[2];\n let bw = b[3];\n let cosOmega = ax * bx + ay * by + az * bz + aw * bw;\n if (cosOmega < 0) {\n cosOmega = -cosOmega;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n let scale0;\n let scale1;\n if (1.0 - cosOmega > EPSILON) {\n const omega = Math.acos(cosOmega);\n const sinOmega = Math.sin(omega);\n scale0 = Math.sin((1 - t) * omega) / sinOmega;\n scale1 = Math.sin(t * omega) / sinOmega;\n }\n else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n newDst[0] = scale0 * ax + scale1 * bx;\n newDst[1] = scale0 * ay + scale1 * by;\n newDst[2] = scale0 * az + scale1 * bz;\n newDst[3] = scale0 * aw + scale1 * bw;\n return newDst;\n }\n /**\n * Compute the inverse of a quaternion\n *\n * @param q - quaternion to compute the inverse of\n * @returns A quaternion that is the result of a * b\n */\n function inverse(q, dst) {\n const newDst = (dst ?? new Ctor(4));\n const a0 = q[0];\n const a1 = q[1];\n const a2 = q[2];\n const a3 = q[3];\n const dot = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3;\n const invDot = dot ? 1 / dot : 0;\n newDst[0] = -a0 * invDot;\n newDst[1] = -a1 * invDot;\n newDst[2] = -a2 * invDot;\n newDst[3] = a3 * invDot;\n return newDst;\n }\n /**\n * Compute the conjugate of a quaternion\n * For quaternions with a magnitude of 1 (a unit quaternion)\n * this returns the same as the inverse but is faster to calculate.\n *\n * @param q - quaternion to compute the conjugate of.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The conjugate of q\n */\n function conjugate(q, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = -q[0];\n newDst[1] = -q[1];\n newDst[2] = -q[2];\n newDst[3] = q[3];\n return newDst;\n }\n /**\n * Creates a quaternion from the given rotation matrix.\n *\n * The created quaternion is not normalized.\n *\n * @param m - rotation matrix\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns the result\n */\n function fromMat(m, dst) {\n const newDst = (dst ?? new Ctor(4));\n /*\n 0 1 2\n 3 4 5\n 6 7 8\n \n 0 1 2\n 4 5 6\n 8 9 10\n */\n // Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes\n // article \"Quaternion Calculus and Fast Animation\".\n const trace = m[0] + m[5] + m[10];\n if (trace > 0.0) {\n // |w| > 1/2, may as well choose w > 1/2\n const root = Math.sqrt(trace + 1); // 2w\n newDst[3] = 0.5 * root;\n const invRoot = 0.5 / root; // 1/(4w)\n newDst[0] = (m[6] - m[9]) * invRoot;\n newDst[1] = (m[8] - m[2]) * invRoot;\n newDst[2] = (m[1] - m[4]) * invRoot;\n }\n else {\n // |w| <= 1/2\n let i = 0;\n if (m[5] > m[0]) {\n i = 1;\n }\n if (m[10] > m[i * 4 + i]) {\n i = 2;\n }\n const j = (i + 1) % 3;\n const k = (i + 2) % 3;\n const root = Math.sqrt(m[i * 4 + i] - m[j * 4 + j] - m[k * 4 + k] + 1.0);\n newDst[i] = 0.5 * root;\n const invRoot = 0.5 / root;\n newDst[3] = (m[j * 4 + k] - m[k * 4 + j]) * invRoot;\n newDst[j] = (m[j * 4 + i] + m[i * 4 + j]) * invRoot;\n newDst[k] = (m[k * 4 + i] + m[i * 4 + k]) * invRoot;\n }\n return newDst;\n }\n /**\n * Creates a quaternion from the given euler angle x, y, z using the provided intrinsic order for the conversion.\n *\n * @param xAngleInRadians - angle to rotate around X axis in radians.\n * @param yAngleInRadians - angle to rotate around Y axis in radians.\n * @param zAngleInRadians - angle to rotate around Z axis in radians.\n * @param order - order to apply euler angles\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion representing the same rotation as the euler angles applied in the given order\n */\n function fromEuler(xAngleInRadians, yAngleInRadians, zAngleInRadians, order, dst) {\n const newDst = (dst ?? new Ctor(4));\n const xHalfAngle = xAngleInRadians * 0.5;\n const yHalfAngle = yAngleInRadians * 0.5;\n const zHalfAngle = zAngleInRadians * 0.5;\n const sx = Math.sin(xHalfAngle);\n const cx = Math.cos(xHalfAngle);\n const sy = Math.sin(yHalfAngle);\n const cy = Math.cos(yHalfAngle);\n const sz = Math.sin(zHalfAngle);\n const cz = Math.cos(zHalfAngle);\n switch (order) {\n case 'xyz':\n newDst[0] = sx * cy * cz + cx * sy * sz;\n newDst[1] = cx * sy * cz - sx * cy * sz;\n newDst[2] = cx * cy * sz + sx * sy * cz;\n newDst[3] = cx * cy * cz - sx * sy * sz;\n break;\n case 'xzy':\n newDst[0] = sx * cy * cz - cx * sy * sz;\n newDst[1] = cx * sy * cz - sx * cy * sz;\n newDst[2] = cx * cy * sz + sx * sy * cz;\n newDst[3] = cx * cy * cz + sx * sy * sz;\n break;\n case 'yxz':\n newDst[0] = sx * cy * cz + cx * sy * sz;\n newDst[1] = cx * sy * cz - sx * cy * sz;\n newDst[2] = cx * cy * sz - sx * sy * cz;\n newDst[3] = cx * cy * cz + sx * sy * sz;\n break;\n case 'yzx':\n newDst[0] = sx * cy * cz + cx * sy * sz;\n newDst[1] = cx * sy * cz + sx * cy * sz;\n newDst[2] = cx * cy * sz - sx * sy * cz;\n newDst[3] = cx * cy * cz - sx * sy * sz;\n break;\n case 'zxy':\n newDst[0] = sx * cy * cz - cx * sy * sz;\n newDst[1] = cx * sy * cz + sx * cy * sz;\n newDst[2] = cx * cy * sz + sx * sy * cz;\n newDst[3] = cx * cy * cz - sx * sy * sz;\n break;\n case 'zyx':\n newDst[0] = sx * cy * cz - cx * sy * sz;\n newDst[1] = cx * sy * cz + sx * cy * sz;\n newDst[2] = cx * cy * sz - sx * sy * cz;\n newDst[3] = cx * cy * cz + sx * sy * sz;\n break;\n default:\n throw new Error(`Unknown rotation order: ${order}`);\n }\n return newDst;\n }\n /**\n * Copies a quaternion. (same as {@link quat.clone})\n * Also see {@link quat.create} and {@link quat.set}\n * @param q - The quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is a copy of q\n */\n function copy(q, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = q[0];\n newDst[1] = q[1];\n newDst[2] = q[2];\n newDst[3] = q[3];\n return newDst;\n }\n /**\n * Clones a quaternion. (same as {@link quat.copy})\n * Also see {@link quat.create} and {@link quat.set}\n * @param q - The quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A copy of q.\n */\n const clone = copy;\n /**\n * Adds two quaternions; assumes a and b have the same dimension.\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the sum of a and b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n newDst[2] = a[2] + b[2];\n newDst[3] = a[3] + b[3];\n return newDst;\n }\n /**\n * Subtracts two quaternions.\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the difference of a and b.\n */\n function subtract(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] - b[0];\n newDst[1] = a[1] - b[1];\n newDst[2] = a[2] - b[2];\n newDst[3] = a[3] - b[3];\n return newDst;\n }\n /**\n * Subtracts two quaternions.\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns A quaternion that is the difference of a and b.\n */\n const sub = subtract;\n /**\n * Multiplies a quaternion by a scalar.\n * @param v - The quaternion.\n * @param k - The scalar.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The scaled quaternion.\n */\n function mulScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = v[0] * k;\n newDst[1] = v[1] * k;\n newDst[2] = v[2] * k;\n newDst[3] = v[3] * k;\n return newDst;\n }\n /**\n * Multiplies a quaternion by a scalar. (same as mulScalar)\n * @param v - The quaternion.\n * @param k - The scalar.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The scaled quaternion.\n */\n const scale = mulScalar;\n /**\n * Divides a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The scaled quaternion.\n */\n function divScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = v[0] / k;\n newDst[1] = v[1] / k;\n newDst[2] = v[2] / k;\n newDst[3] = v[3] / k;\n return newDst;\n }\n /**\n * Computes the dot product of two quaternions\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @returns dot product\n */\n function dot(a, b) {\n return (a[0] * b[0]) + (a[1] * b[1]) + (a[2] * b[2]) + (a[3] * b[3]);\n }\n /**\n * Performs linear interpolation on two quaternions.\n * Given quaternions a and b and interpolation coefficient t, returns\n * a + t * (b - a).\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @param t - Interpolation coefficient.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The linear interpolated result.\n */\n function lerp(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + t * (b[0] - a[0]);\n newDst[1] = a[1] + t * (b[1] - a[1]);\n newDst[2] = a[2] + t * (b[2] - a[2]);\n newDst[3] = a[3] + t * (b[3] - a[3]);\n return newDst;\n }\n /**\n * Computes the length of quaternion\n * @param v - quaternion.\n * @returns length of quaternion.\n */\n function length(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n return Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3);\n }\n /**\n * Computes the length of quaternion (same as length)\n * @param v - quaternion.\n * @returns length of quaternion.\n */\n const len = length;\n /**\n * Computes the square of the length of quaternion\n * @param v - quaternion.\n * @returns square of the length of quaternion.\n */\n function lengthSq(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n return v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3;\n }\n /**\n * Computes the square of the length of quaternion (same as lengthSq)\n * @param v - quaternion.\n * @returns square of the length of quaternion.\n */\n const lenSq = lengthSq;\n /**\n * Divides a quaternion by its Euclidean length and returns the quotient.\n * @param v - The quaternion.\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns The normalized quaternion.\n */\n function normalize(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n const len = Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3);\n if (len > 0.00001) {\n newDst[0] = v0 / len;\n newDst[1] = v1 / len;\n newDst[2] = v2 / len;\n newDst[3] = v3 / len;\n }\n else {\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 1;\n }\n return newDst;\n }\n /**\n * Check if 2 quaternions are approximately equal\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @returns true if quaternions are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON &&\n Math.abs(a[2] - b[2]) < EPSILON &&\n Math.abs(a[3] - b[3]) < EPSILON;\n }\n /**\n * Check if 2 quaternions are exactly equal\n * @param a - Operand quaternion.\n * @param b - Operand quaternion.\n * @returns true if quaternions are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n }\n /**\n * Creates an identity quaternion\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns an identity quaternion\n */\n function identity(dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 1;\n return newDst;\n }\n const tempVec3 = vec3.create();\n const xUnitVec3 = vec3.create();\n const yUnitVec3 = vec3.create();\n /**\n * Computes a quaternion to represent the shortest rotation from one vector to another.\n *\n * @param aUnit - the start vector\n * @param bUnit - the end vector\n * @param dst - quaternion to hold result. If not passed in a new one is created.\n * @returns the result\n */\n function rotationTo(aUnit, bUnit, dst) {\n const newDst = (dst ?? new Ctor(4));\n const dot = vec3.dot(aUnit, bUnit);\n if (dot < -0.999999) {\n vec3.cross(xUnitVec3, aUnit, tempVec3);\n if (vec3.len(tempVec3) < 0.000001) {\n vec3.cross(yUnitVec3, aUnit, tempVec3);\n }\n vec3.normalize(tempVec3, tempVec3);\n fromAxisAngle(tempVec3, Math.PI, newDst);\n return newDst;\n }\n else if (dot > 0.999999) {\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 1;\n return newDst;\n }\n else {\n vec3.cross(aUnit, bUnit, tempVec3);\n newDst[0] = tempVec3[0];\n newDst[1] = tempVec3[1];\n newDst[2] = tempVec3[2];\n newDst[3] = 1 + dot;\n return normalize(newDst, newDst);\n }\n }\n const tempQuat1 = new Ctor(4);\n const tempQuat2 = new Ctor(4);\n /**\n * Performs a spherical linear interpolation with two control points\n *\n * @param a - the first quaternion\n * @param b - the second quaternion\n * @param c - the third quaternion\n * @param d - the fourth quaternion\n * @param t - Interpolation coefficient 0 to 1\n * @returns result\n */\n function sqlerp(a, b, c, d, t, dst) {\n const newDst = (dst ?? new Ctor(4));\n slerp(a, d, t, tempQuat1);\n slerp(b, c, t, tempQuat2);\n slerp(tempQuat1, tempQuat2, 2 * t * (1 - t), newDst);\n return newDst;\n }\n return {\n create,\n fromValues,\n set,\n fromAxisAngle,\n toAxisAngle,\n angle,\n multiply,\n mul,\n rotateX,\n rotateY,\n rotateZ,\n slerp,\n inverse,\n conjugate,\n fromMat,\n fromEuler,\n copy,\n clone,\n add,\n subtract,\n sub,\n mulScalar,\n scale,\n divScalar,\n dot,\n lerp,\n length,\n len,\n lengthSq,\n lenSq,\n normalize,\n equalsApproximately,\n equals,\n identity,\n rotationTo,\n sqlerp,\n };\n}\nconst cache$1 = new Map();\n/**\n *\n * Quat4 math functions.\n *\n * Almost all functions take an optional `newDst` argument. If it is not passed in the\n * functions will create a new `Quat4`. In other words you can do this\n *\n * const v = quat4.cross(v1, v2); // Creates a new Quat4 with the cross product of v1 x v2.\n *\n * or\n *\n * const v = quat4.create();\n * quat4.cross(v1, v2, v); // Puts the cross product of v1 x v2 in v\n *\n * The first style is often easier but depending on where it's used it generates garbage where\n * as there is almost never allocation with the second style.\n *\n * It is always safe to pass any vector as the destination. So for example\n *\n * quat4.cross(v1, v2, v1); // Puts the cross product of v1 x v2 in v1\n *\n */\nfunction getAPI$1(Ctor) {\n let api = cache$1.get(Ctor);\n if (!api) {\n api = getAPIImpl$1(Ctor);\n cache$1.set(Ctor, api);\n }\n return api;\n}\n\n/*\n * Copyright 2022 Gregg Tavares\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n */\n/**\n * Generates am typed API for Vec4\n * */\nfunction getAPIImpl(Ctor) {\n /**\n * Creates a vec4; may be called with x, y, z to set initial values.\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @param w - Initial w value.\n * @returns the created vector\n */\n function create(x, y, z, w) {\n const newDst = new Ctor(4);\n if (x !== undefined) {\n newDst[0] = x;\n if (y !== undefined) {\n newDst[1] = y;\n if (z !== undefined) {\n newDst[2] = z;\n if (w !== undefined) {\n newDst[3] = w;\n }\n }\n }\n }\n return newDst;\n }\n /**\n * Creates a vec4; may be called with x, y, z to set initial values. (same as create)\n * @param x - Initial x value.\n * @param y - Initial y value.\n * @param z - Initial z value.\n * @param z - Initial w value.\n * @returns the created vector\n */\n const fromValues = create;\n /**\n * Sets the values of a Vec4\n * Also see {@link vec4.create} and {@link vec4.copy}\n *\n * @param x first value\n * @param y second value\n * @param z third value\n * @param w fourth value\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector with its elements set.\n */\n function set(x, y, z, w, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = x;\n newDst[1] = y;\n newDst[2] = z;\n newDst[3] = w;\n return newDst;\n }\n /**\n * Applies Math.ceil to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the ceil of each element of v.\n */\n function ceil(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.ceil(v[0]);\n newDst[1] = Math.ceil(v[1]);\n newDst[2] = Math.ceil(v[2]);\n newDst[3] = Math.ceil(v[3]);\n return newDst;\n }\n /**\n * Applies Math.floor to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the floor of each element of v.\n */\n function floor(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.floor(v[0]);\n newDst[1] = Math.floor(v[1]);\n newDst[2] = Math.floor(v[2]);\n newDst[3] = Math.floor(v[3]);\n return newDst;\n }\n /**\n * Applies Math.round to each element of vector\n * @param v - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the round of each element of v.\n */\n function round(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.round(v[0]);\n newDst[1] = Math.round(v[1]);\n newDst[2] = Math.round(v[2]);\n newDst[3] = Math.round(v[3]);\n return newDst;\n }\n /**\n * Clamp each element of vector between min and max\n * @param v - Operand vector.\n * @param max - Min value, default 0\n * @param min - Max value, default 1\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that the clamped value of each element of v.\n */\n function clamp(v, min = 0, max = 1, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.min(max, Math.max(min, v[0]));\n newDst[1] = Math.min(max, Math.max(min, v[1]));\n newDst[2] = Math.min(max, Math.max(min, v[2]));\n newDst[3] = Math.min(max, Math.max(min, v[3]));\n return newDst;\n }\n /**\n * Adds two vectors; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a and b.\n */\n function add(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + b[0];\n newDst[1] = a[1] + b[1];\n newDst[2] = a[2] + b[2];\n newDst[3] = a[3] + b[3];\n return newDst;\n }\n /**\n * Adds two vectors, scaling the 2nd; assumes a and b have the same dimension.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param scale - Amount to scale b\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the sum of a + b * scale.\n */\n function addScaled(a, b, scale, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + b[0] * scale;\n newDst[1] = a[1] + b[1] * scale;\n newDst[2] = a[2] + b[2] * scale;\n newDst[3] = a[3] + b[3] * scale;\n return newDst;\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n function subtract(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] - b[0];\n newDst[1] = a[1] - b[1];\n newDst[2] = a[2] - b[2];\n newDst[3] = a[3] - b[3];\n return newDst;\n }\n /**\n * Subtracts two vectors.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A vector that is the difference of a and b.\n */\n const sub = subtract;\n /**\n * Check if 2 vectors are approximately equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are approximately equal\n */\n function equalsApproximately(a, b) {\n return Math.abs(a[0] - b[0]) < EPSILON &&\n Math.abs(a[1] - b[1]) < EPSILON &&\n Math.abs(a[2] - b[2]) < EPSILON &&\n Math.abs(a[3] - b[3]) < EPSILON;\n }\n /**\n * Check if 2 vectors are exactly equal\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns true if vectors are exactly equal\n */\n function equals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficient.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The linear interpolated result.\n */\n function lerp(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + t * (b[0] - a[0]);\n newDst[1] = a[1] + t * (b[1] - a[1]);\n newDst[2] = a[2] + t * (b[2] - a[2]);\n newDst[3] = a[3] + t * (b[3] - a[3]);\n return newDst;\n }\n /**\n * Performs linear interpolation on two vectors.\n * Given vectors a and b and interpolation coefficient vector t, returns\n * a + t * (b - a).\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param t - Interpolation coefficients vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns the linear interpolated result.\n */\n function lerpV(a, b, t, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] + t[0] * (b[0] - a[0]);\n newDst[1] = a[1] + t[1] * (b[1] - a[1]);\n newDst[2] = a[2] + t[2] * (b[2] - a[2]);\n newDst[3] = a[3] + t[3] * (b[3] - a[3]);\n return newDst;\n }\n /**\n * Return max values of two vectors.\n * Given vectors a and b returns\n * [max(a[0], b[0]), max(a[1], b[1]), max(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The max components vector.\n */\n function max(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.max(a[0], b[0]);\n newDst[1] = Math.max(a[1], b[1]);\n newDst[2] = Math.max(a[2], b[2]);\n newDst[3] = Math.max(a[3], b[3]);\n return newDst;\n }\n /**\n * Return min values of two vectors.\n * Given vectors a and b returns\n * [min(a[0], b[0]), min(a[1], b[1]), min(a[2], b[2])].\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The min components vector.\n */\n function min(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = Math.min(a[0], b[0]);\n newDst[1] = Math.min(a[1], b[1]);\n newDst[2] = Math.min(a[2], b[2]);\n newDst[3] = Math.min(a[3], b[3]);\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function mulScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = v[0] * k;\n newDst[1] = v[1] * k;\n newDst[2] = v[2] * k;\n newDst[3] = v[3] * k;\n return newDst;\n }\n /**\n * Multiplies a vector by a scalar. (same as mulScalar)\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n const scale = mulScalar;\n /**\n * Divides a vector by a scalar.\n * @param v - The vector.\n * @param k - The scalar.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The scaled vector.\n */\n function divScalar(v, k, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = v[0] / k;\n newDst[1] = v[1] / k;\n newDst[2] = v[2] / k;\n newDst[3] = v[3] / k;\n return newDst;\n }\n /**\n * Inverse a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n function inverse(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = 1 / v[0];\n newDst[1] = 1 / v[1];\n newDst[2] = 1 / v[2];\n newDst[3] = 1 / v[3];\n return newDst;\n }\n /**\n * Invert a vector. (same as inverse)\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The inverted vector.\n */\n const invert = inverse;\n /**\n * Computes the dot product of two vectors\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @returns dot product\n */\n function dot(a, b) {\n return (a[0] * b[0]) + (a[1] * b[1]) + (a[2] * b[2]) + (a[3] * b[3]);\n }\n /**\n * Computes the length of vector\n * @param v - vector.\n * @returns length of vector.\n */\n function length(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n return Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3);\n }\n /**\n * Computes the length of vector (same as length)\n * @param v - vector.\n * @returns length of vector.\n */\n const len = length;\n /**\n * Computes the square of the length of vector\n * @param v - vector.\n * @returns square of the length of vector.\n */\n function lengthSq(v) {\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n return v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3;\n }\n /**\n * Computes the square of the length of vector (same as lengthSq)\n * @param v - vector.\n * @returns square of the length of vector.\n */\n const lenSq = lengthSq;\n /**\n * Computes the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n function distance(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n const dz = a[2] - b[2];\n const dw = a[3] - b[3];\n return Math.sqrt(dx * dx + dy * dy + dz * dz + dw * dw);\n }\n /**\n * Computes the distance between 2 points (same as distance)\n * @param a - vector.\n * @param b - vector.\n * @returns distance between a and b\n */\n const dist = distance;\n /**\n * Computes the square of the distance between 2 points\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n function distanceSq(a, b) {\n const dx = a[0] - b[0];\n const dy = a[1] - b[1];\n const dz = a[2] - b[2];\n const dw = a[3] - b[3];\n return dx * dx + dy * dy + dz * dz + dw * dw;\n }\n /**\n * Computes the square of the distance between 2 points (same as distanceSq)\n * @param a - vector.\n * @param b - vector.\n * @returns square of the distance between a and b\n */\n const distSq = distanceSq;\n /**\n * Divides a vector by its Euclidean length and returns the quotient.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The normalized vector.\n */\n function normalize(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n const v0 = v[0];\n const v1 = v[1];\n const v2 = v[2];\n const v3 = v[3];\n const len = Math.sqrt(v0 * v0 + v1 * v1 + v2 * v2 + v3 * v3);\n if (len > 0.00001) {\n newDst[0] = v0 / len;\n newDst[1] = v1 / len;\n newDst[2] = v2 / len;\n newDst[3] = v3 / len;\n }\n else {\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n }\n return newDst;\n }\n /**\n * Negates a vector.\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns -v.\n */\n function negate(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = -v[0];\n newDst[1] = -v[1];\n newDst[2] = -v[2];\n newDst[3] = -v[3];\n return newDst;\n }\n /**\n * Copies a vector. (same as {@link vec4.clone})\n * Also see {@link vec4.create} and {@link vec4.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n function copy(v, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = v[0];\n newDst[1] = v[1];\n newDst[2] = v[2];\n newDst[3] = v[3];\n return newDst;\n }\n /**\n * Clones a vector. (same as {@link vec4.copy})\n * Also see {@link vec4.create} and {@link vec4.set}\n * @param v - The vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns A copy of v.\n */\n const clone = copy;\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n function multiply(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] * b[0];\n newDst[1] = a[1] * b[1];\n newDst[2] = a[2] * b[2];\n newDst[3] = a[3] * b[3];\n return newDst;\n }\n /**\n * Multiplies a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as mul)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of products of entries of a and b.\n */\n const mul = multiply;\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length.\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n function divide(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = a[0] / b[0];\n newDst[1] = a[1] / b[1];\n newDst[2] = a[2] / b[2];\n newDst[3] = a[3] / b[3];\n return newDst;\n }\n /**\n * Divides a vector by another vector (component-wise); assumes a and\n * b have the same length. (same as divide)\n * @param a - Operand vector.\n * @param b - Operand vector.\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The vector of quotients of entries of a and b.\n */\n const div = divide;\n /**\n * Zero's a vector\n * @param dst - vector to hold result. If not passed in a new one is created.\n * @returns The zeroed vector.\n */\n function zero(dst) {\n const newDst = (dst ?? new Ctor(4));\n newDst[0] = 0;\n newDst[1] = 0;\n newDst[2] = 0;\n newDst[3] = 0;\n return newDst;\n }\n /**\n * transform vec4 by 4x4 matrix\n * @param v - the vector\n * @param m - The matrix.\n * @param dst - optional vec4 to store result. If not passed a new one is created.\n * @returns the transformed vector\n */\n function transformMat4(v, m, dst) {\n const newDst = (dst ?? new Ctor(4));\n const x = v[0];\n const y = v[1];\n const z = v[2];\n const w = v[3];\n newDst[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;\n newDst[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;\n newDst[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;\n newDst[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;\n return newDst;\n }\n /**\n * Treat a 4D vector as a direction and set it's length\n *\n * @param a The vec4 to lengthen\n * @param len The length of the resulting vector\n * @returns The lengthened vector\n */\n function setLength(a, len, dst) {\n const newDst = (dst ?? new Ctor(4));\n normalize(a, newDst);\n return mulScalar(newDst, len, newDst);\n }\n /**\n * Ensure a vector is not longer than a max length\n *\n * @param a The vec4 to limit\n * @param maxLen The longest length of the resulting vector\n * @returns The vector, shortened to maxLen if it's too long\n */\n function truncate(a, maxLen, dst) {\n const newDst = (dst ?? new Ctor(4));\n if (length(a) > maxLen) {\n return setLength(a, maxLen, newDst);\n }\n return copy(a, newDst);\n }\n /**\n * Return the vector exactly between 2 endpoint vectors\n *\n * @param a Endpoint 1\n * @param b Endpoint 2\n * @returns The vector exactly residing between endpoints 1 and 2\n */\n function midpoint(a, b, dst) {\n const newDst = (dst ?? new Ctor(4));\n return lerp(a, b, 0.5, newDst);\n }\n return {\n create,\n fromValues,\n set,\n ceil,\n floor,\n round,\n clamp,\n add,\n addScaled,\n subtract,\n sub,\n equalsApproximately,\n equals,\n lerp,\n lerpV,\n max,\n min,\n mulScalar,\n scale,\n divScalar,\n inverse,\n invert,\n dot,\n length,\n len,\n lengthSq,\n lenSq,\n distance,\n dist,\n distanceSq,\n distSq,\n normalize,\n negate,\n copy,\n clone,\n multiply,\n mul,\n divide,\n div,\n zero,\n transformMat4,\n setLength,\n truncate,\n midpoint,\n };\n}\nconst cache = new Map();\n/**\n *\n * Vec4 math functions.\n *\n * Almost all functions take an optional `newDst` argument. If it is not passed in the\n * functions will create a new `Vec4`. In other words you can do this\n *\n * const v = vec4.cross(v1, v2); // Creates a new Vec4 with the cross product of v1 x v2.\n *\n * or\n *\n * const v = vec4.create();\n * vec4.cross(v1, v2, v); // Puts the cross product of v1 x v2 in v\n *\n * The first style is often easier but depending on where it's used it generates garbage where\n * as there is almost never allocation with the second style.\n *\n * It is always safe to pass any vector as the destination. So for example\n *\n * vec4.cross(v1, v2, v1); // Puts the cross product of v1 x v2 in v1\n *\n */\nfunction getAPI(Ctor) {\n let api = cache.get(Ctor);\n if (!api) {\n api = getAPIImpl(Ctor);\n cache.set(Ctor, api);\n }\n return api;\n}\n\n/**\n * Some docs\n * @namespace wgpu-matrix\n */\n/**\n * Generate wgpu-matrix API for type\n */\nfunction wgpuMatrixAPI(Mat3Ctor, Mat4Ctor, QuatCtor, Vec2Ctor, Vec3Ctor, Vec4Ctor) {\n return {\n /** @namespace mat3 */\n mat3: getAPI$3(Mat3Ctor),\n /** @namespace mat4 */\n mat4: getAPI$2(Mat4Ctor),\n /** @namespace quat */\n quat: getAPI$1(QuatCtor),\n /** @namespace vec2 */\n vec2: getAPI$5(Vec2Ctor),\n /** @namespace vec3 */\n vec3: getAPI$4(Vec3Ctor),\n /** @namespace vec4 */\n vec4: getAPI(Vec4Ctor),\n };\n}\nconst { \n/**\n * 3x3 Matrix functions that default to returning `Float32Array`\n * @namespace\n */\nmat3, \n/**\n * 4x4 Matrix functions that default to returning `Float32Array`\n * @namespace\n */\nmat4, \n/**\n * Quaternion functions that default to returning `Float32Array`\n * @namespace\n */\nquat, \n/**\n * Vec2 functions that default to returning `Float32Array`\n * @namespace\n */\nvec2, \n/**\n * Vec3 functions that default to returning `Float32Array`\n * @namespace\n */\nvec3, \n/**\n * Vec3 functions that default to returning `Float32Array`\n * @namespace\n */\nvec4, } = wgpuMatrixAPI(Float32Array, Float32Array, Float32Array, Float32Array, Float32Array, Float32Array);\nconst { \n/**\n * 3x3 Matrix functions that default to returning `Float64Array`\n * @namespace\n */\nmat3: mat3d, \n/**\n * 4x4 Matrix functions that default to returning `Float64Array`\n * @namespace\n */\nmat4: mat4d, \n/**\n * Quaternion functions that default to returning `Float64Array`\n * @namespace\n */\nquat: quatd, \n/**\n * Vec2 functions that default to returning `Float64Array`\n * @namespace\n */\nvec2: vec2d, \n/**\n * Vec3 functions that default to returning `Float64Array`\n * @namespace\n */\nvec3: vec3d, \n/**\n * Vec3 functions that default to returning `Float64Array`\n * @namespace\n */\nvec4: vec4d, } = wgpuMatrixAPI(Float64Array, Float64Array, Float64Array, Float64Array, Float64Array, Float64Array);\nconst { \n/**\n * 3x3 Matrix functions that default to returning `number[]`\n * @namespace\n */\nmat3: mat3n, \n/**\n * 4x4 Matrix functions that default to returning `number[]`\n * @namespace\n */\nmat4: mat4n, \n/**\n * Quaternion functions that default to returning `number[]`\n * @namespace\n */\nquat: quatn, \n/**\n * Vec2 functions that default to returning `number[]`\n * @namespace\n */\nvec2: vec2n, \n/**\n * Vec3 functions that default to returning `number[]`\n * @namespace\n */\nvec3: vec3n, \n/**\n * Vec3 functions that default to returning `number[]`\n * @namespace\n */\nvec4: vec4n, } = wgpuMatrixAPI(ZeroArray, Array, Array, Array, Array, Array);\n\nexport { mat3, mat3d, mat3n, mat4, mat4d, mat4n, quat, quatd, quatn, utils, vec2, vec2d, vec2n, vec3, vec3d, vec3n, vec4, vec4d, vec4n };\n//# sourceMappingURL=wgpu-matrix.module.js.map\n",
@@ -18,30 +18,31 @@
18
18
  "export default /*wgsl*/ `\nstruct InstanceData {\n // location 0-2 are the model matrix for this instanced quad\n @location(0) model0: vec4<f32>,\n @location(1) model1: vec4<f32>,\n @location(2) model2: vec4<f32>,\n // location 3 is the tint - the color will be multiplied by the texture color to determine the pixel color\n @location(3) engine_tint: vec4<f32>,\n // location 4 are the uv offset and scale used to sample the texture atlas. these are in normalized texel coordinates.\n @location(4) uvOffsetAndScale: vec4<f32>,\n // location 5 is the crop offset from center and scale. These are ratios applied to the unit quad.\n @location(5) cropOffsetAndScale: vec4<f32>,\n // location 6 is the atlas index\n @location(6) atlasIndex: u32,\n // @INSTANCE_DATA SNIPPET\n}\n\nstruct VertexInput {\n @builtin(vertex_index) VertexIndex: u32,\n @builtin(instance_index) InstanceIndex: u32,\n instance: InstanceData\n}\n\nstruct VertexOutput {\n @builtin(position) engine_clip_position : vec4<f32>,\n // uv coordinates are stored as two vec2s:\n // [0,1] = atlas uv coords\n // [2,3] = uv scale\n @location(0) engine_uv: vec4<f32>,\n @location(1) @interpolate(flat) engine_tint: vec4<f32>,\n @location(2) @interpolate(flat) engine_atlasIndex: u32,\n // @VERTEX_OUTPUT SNIPPET\n}\n\nstruct EngineUniform {\n viewProjection: mat3x3<f32>,\n resolution: vec2f,\n};\n\n// we can't divide by 2 in the projection matrix because\n// it will affect the positioning as well as the geometry scale\n// so we need to divide by 2 for the initial position scale.\n// for eg a 10x10 quad in the top left of a 100x100 logical canvas with a 200x200 natural size\n// will be passed in as\n// position=[-45, 45]\n// scale=[10,10]\n// so the top left corner will be: (-0.5 * 10 - 45) * 2 / 100 = -1\n// if the top left vertex was -1, it would be: (-1 * 10 - 45) * 2 / 100 = -1.1\nconst enginePosLookup = array(vec2f(-0.5, 0.5), vec2f(-0.5, -0.5), vec2f(0.5, 0.5), vec2f(0.5, -0.5));\nconst engineUvLookup = array(vec2f(0, 0), vec2f(0, 1), vec2f(1, 0), vec2f(1, 1));\n\n@group(0) @binding(0) var<uniform> engineUniform: EngineUniform;\n@group(0) @binding(1) var linearSampler: sampler;\n@group(0) @binding(2) var nearestSampler: sampler;\n\n@group(1) @binding(0) var textureArray: texture_2d_array<f32>;\n\n@vertex\nfn engine_vs(\n @builtin(vertex_index) VertexIndex: u32,\n @builtin(instance_index) InstanceIndex: u32,\n instance: InstanceData\n) -> VertexOutput {\n var output = default_vertex_shader(VertexIndex, InstanceIndex,instance);\n return output;\n}\n\n@fragment\nfn engine_fs(vertex: VertexOutput) -> @location(0) vec4<f32> {\n return default_fragment_shader(vertex, nearestSampler);\n}\n\nfn default_vertex_shader(\n VertexIndex: u32,\n InstanceIndex: u32,\n instance: InstanceData\n) -> VertexOutput {\n var output : VertexOutput;\n output.engine_tint = instance.engine_tint;\n\n // reconstruct the model matrix from the instance data\n // bc we can't pass a mat3x3 as instance data\n let modelMatrix = mat3x3(instance.model0.xyz, instance.model1.xyz, instance.model2.xyz);\n\n // transform the vertex position\n let localPosition = enginePosLookup[VertexIndex];\n let cropOffset = instance.cropOffsetAndScale.xy;\n let cropScale = instance.cropOffsetAndScale.zw;\n let croppedPosition = localPosition * cropScale + cropOffset;\n let worldPosition = modelMatrix * vec3f(croppedPosition, 1.0);\n let clipPosition = engineUniform.viewProjection * worldPosition;\n output.engine_clip_position = vec4f(clipPosition, 1.0);\n\n // set the uv coordinates in the texture atlas.\n let original_uv = engineUvLookup[VertexIndex];\n // uvOffsetAndScale is a vec4 with the following values:\n // [0,1] = uv offset\n // [2,3] = uv scale\n let atlas_uv = original_uv * instance.uvOffsetAndScale.zw * cropScale + instance.uvOffsetAndScale.xy;\n // we also pack the original uv coordinates in the w and z components\n // since these can be useful in the fragment shader\n output.engine_uv = vec4f(atlas_uv, original_uv);\n output.engine_atlasIndex = u32(instance.atlasIndex);\n // @PASSTHROUGH_SNIPPET\n\n return output;\n}\n\nfn default_fragment_shader(vertex: VertexOutput, samp: sampler) -> vec4<f32> {\n let atlas_uv = vertex.engine_uv.xy;\n let original_uv = vertex.engine_uv.zw;\n\n // Force both samplers to be referenced without assignment\n // This prevents WGSLReflect from optimizing them away\n var nope: bool = false;\n if (nope) {\n _ = linearSampler;\n _ = nearestSampler;\n }\n\n let color = textureSample(textureArray, samp, atlas_uv, vertex.engine_atlasIndex);\n\n if (vertex.engine_atlasIndex == 1000u) {\n // rectangle - return a solid color\n return vec4f(1,1,1,1) * vertex.engine_tint;\n } else if (vertex.engine_atlasIndex == 1001u) {\n // circle:\n // edge width is 4 logical pixels\n let edgeWidth = 4. / max(engineUniform.resolution.x, engineUniform.resolution.y);\n // distance from center of the quad ranging from [0,1]\n let centerDistance = 2 * distance(vec2f(0.5, 0.5), original_uv);\n // alpha is 1 before edgeWidth and 0 after edgeWidth\n let alpha = 1. - smoothstep(1. - edgeWidth, 1. + edgeWidth, centerDistance);\n return vec4f(vertex.engine_tint.rgb, alpha * vertex.engine_tint.a);\n } else {\n // texture:\n return color * vertex.engine_tint;\n }\n}\n`;\n",
19
19
  "import {\n makeShaderDataDefinitions,\n makeStructuredView,\n type StructuredView,\n} from \"webgpu-utils\";\nimport { WgslReflect } from \"wgsl_reflect\";\nimport type { EngineUniform } from \"../../coreTypes/EngineUniform\";\nimport type { SceneNode } from \"../../scene/SceneNode\";\nimport { assert } from \"../../utils/assert\";\nimport {\n createGpuPipeline,\n getGpuPipelineDescriptor,\n setVertexInstanceBufferLayout,\n} from \"../../utils/boilerplate\";\nimport type { IBackendShader } from \"../IBackendShader\";\nimport type { BlendMode } from \"../IRenderBackend\";\nimport type { ITextureAtlas } from \"../ITextureAtlas\";\nimport {\n codeWithLineNumbers,\n combineShaderCode,\n struct2BufferLayout,\n} from \"./parser\";\nimport { pixelArtSampler, smoothSampler } from \"./samplers\";\nimport type { WebGPUBackend } from \"./WebGPUBackend\";\nimport quadWgsl from \"./wgsl/quad.wgsl\";\n\ntype InstanceData = {\n cpuBuffer: Float32Array<ArrayBuffer>;\n gpuBuffer: GPUBuffer;\n bufferLayout: GPUVertexBufferLayout;\n};\n\n/**\n * WebGPU implementation of quad shader for instanced rendering.\n */\nexport class WebGPUQuadShader implements IBackendShader {\n readonly label: string;\n readonly code: string;\n\n #backend: WebGPUBackend;\n #atlas: ITextureAtlas;\n #uniformValues: StructuredView;\n #instanceData: InstanceData;\n #instanceIndex = 0;\n #instanceCount: number;\n\n #pipeline: GPURenderPipeline;\n #bindGroups: GPUBindGroup[] = [];\n #uniformBuffer: GPUBuffer;\n\n constructor(\n label: string,\n backend: WebGPUBackend,\n instanceCount: number,\n userCode?: string,\n blendMode?: BlendMode,\n atlasId?: string,\n ) {\n const atlas = backend.getTextureAtlas(atlasId ?? \"default\");\n if (!atlas) {\n throw new Error(`Atlas \"${atlasId ?? \"default\"}\" not found`);\n }\n this.#atlas = atlas;\n this.label = label;\n this.#backend = backend;\n this.#instanceCount = instanceCount;\n\n const device = backend.device;\n const presentationFormat = backend.presentationFormat;\n\n // Combine user code with base quad shader code\n const effectiveUserCode =\n userCode ??\n /*wgsl*/ `\n\t\t\t@fragment\n\t\t\tfn frag(vertex: VertexOutput) -> @location(0) vec4f {\n\t\t\t\tlet color = default_fragment_shader(vertex, linearSampler);\n\t\t\t\treturn color;\n\t\t\t}\n\t\t`;\n\n const shaderDescriptor = combineShaderCode(\n label,\n quadWgsl,\n effectiveUserCode,\n );\n\n // Create shader module from combined code\n let module: GPUShaderModule;\n try {\n module = device.createShaderModule({\n label,\n code: shaderDescriptor.code,\n });\n } catch (e) {\n console.error(codeWithLineNumbers(shaderDescriptor.code));\n throw e;\n }\n\n // Store combined code for debugging\n this.code = shaderDescriptor.code;\n\n // Create blend state\n const blend = blendMode\n ? convertBlendMode(blendMode)\n : {\n color: {\n srcFactor: \"src-alpha\" as GPUBlendFactor,\n dstFactor: \"one-minus-src-alpha\" as GPUBlendFactor,\n operation: \"add\" as GPUBlendOperation,\n },\n alpha: {\n srcFactor: \"one\" as GPUBlendFactor,\n dstFactor: \"one-minus-src-alpha\" as GPUBlendFactor,\n operation: \"add\" as GPUBlendOperation,\n },\n };\n\n // Create instance data from shader code\n const ast = new WgslReflect(shaderDescriptor.code);\n const instanceStruct = ast.structs.find((s) =>\n s.name.endsWith(\"InstanceData\"),\n );\n if (!instanceStruct) {\n console.error(codeWithLineNumbers(shaderDescriptor.code));\n throw new Error(\n \"Quad shader has no instance struct. The wgsl is required to contain a struct ending in InstanceData.\",\n );\n }\n const bufferLayout = struct2BufferLayout(instanceStruct);\n this.#instanceData = {\n bufferLayout,\n cpuBuffer: new Float32Array(\n (bufferLayout.arrayStride * instanceCount) /\n Float32Array.BYTES_PER_ELEMENT,\n ),\n gpuBuffer: device.createBuffer({\n size: bufferLayout.arrayStride * instanceCount,\n usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,\n label: `${label} instance data`,\n }),\n };\n\n // Create pipeline descriptor\n const pipelineDescriptor = getGpuPipelineDescriptor(\n shaderDescriptor,\n module,\n presentationFormat,\n blend,\n );\n\n // Set vertex instance buffer layout\n setVertexInstanceBufferLayout(\n pipelineDescriptor,\n this.#instanceData.bufferLayout,\n );\n\n // Create pipeline\n this.#pipeline = createGpuPipeline(\n device,\n shaderDescriptor,\n pipelineDescriptor,\n );\n\n // Create uniform buffer for engine uniforms (mat3x3 viewProjection)\n const defs = makeShaderDataDefinitions(this.code);\n this.#uniformValues = makeStructuredView(defs.uniforms.engineUniform);\n this.#uniformBuffer = device.createBuffer({\n label: `${label} engine uniform buffer`,\n size: this.#uniformValues.arrayBuffer.byteLength,\n usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,\n });\n\n // Create bind groups\n this.#bindGroups = this.#createBindGroups(device);\n }\n\n startFrame(uniform: EngineUniform): void {\n this.#instanceIndex = 0;\n\n this.#uniformValues.set(uniform);\n this.#uniformValues.set({\n viewProjection: uniform.viewProjectionMatrix,\n resolution: [uniform.resolution.width, uniform.resolution.height],\n });\n\n // Write view projection matrix to uniform buffer\n const device = this.#backend.device;\n device.queue.writeBuffer(\n this.#uniformBuffer,\n 0,\n this.#uniformValues.arrayBuffer,\n );\n }\n\n processBatch(nodes: SceneNode[]): number {\n const device = this.#backend.device;\n const renderPass = this.#backend.renderPass;\n\n renderPass.setPipeline(this.#pipeline);\n const batchStartInstanceIndex = this.#instanceIndex;\n\n let instanceCount = 0;\n\n if (nodes.length > this.#instanceCount) {\n throw new Error(\n `ToodleInstanceCap: ${nodes.length} instances enqueued, max is ${this.#instanceCount} for ${this.label} shader`,\n );\n }\n\n for (let i = 0; i < nodes.length; i++) {\n if (!this.#instanceData) {\n continue;\n }\n const instance = nodes[i];\n assert(instance.renderComponent, \"instance has no render component\");\n const floatOffset =\n ((batchStartInstanceIndex + instanceCount) *\n this.#instanceData.bufferLayout.arrayStride) /\n Float32Array.BYTES_PER_ELEMENT;\n\n instanceCount += instance.renderComponent.writeInstance(\n instance,\n this.#instanceData.cpuBuffer,\n floatOffset,\n );\n }\n\n if (this.#instanceData) {\n const byteOffset =\n batchStartInstanceIndex * this.#instanceData.bufferLayout.arrayStride;\n const byteLength =\n instanceCount * this.#instanceData.bufferLayout.arrayStride;\n\n device.queue.writeBuffer(\n this.#instanceData.gpuBuffer,\n byteOffset,\n this.#instanceData.cpuBuffer,\n byteOffset / Float32Array.BYTES_PER_ELEMENT,\n byteLength / Float32Array.BYTES_PER_ELEMENT,\n );\n\n renderPass.setVertexBuffer(0, this.#instanceData.gpuBuffer);\n\n for (let i = 0; i < this.#bindGroups.length; i++) {\n renderPass.setBindGroup(i, this.#bindGroups[i]);\n }\n }\n\n this.#instanceIndex += instanceCount;\n\n renderPass.draw(4, instanceCount, 0, batchStartInstanceIndex);\n return 1;\n }\n\n endFrame(): void {\n // Nothing to do\n }\n\n #createBindGroups(device: GPUDevice): GPUBindGroup[] {\n const textureAtlas = this.#atlas.handle as GPUTexture;\n\n const bindGroup = device.createBindGroup({\n label: `${this.label} engine bind group`,\n layout: this.#pipeline.getBindGroupLayout(0),\n entries: [\n {\n binding: 0,\n resource: {\n buffer: this.#uniformBuffer,\n },\n },\n {\n binding: 1,\n resource: device.createSampler(smoothSampler),\n },\n {\n binding: 2,\n resource: device.createSampler(pixelArtSampler),\n },\n ],\n });\n\n const atlasBindGroup = device.createBindGroup({\n label: `${this.label} atlas bind group`,\n layout: this.#pipeline.getBindGroupLayout(1),\n entries: [\n {\n binding: 0,\n resource: textureAtlas.createView({\n dimension: \"2d-array\",\n arrayLayerCount: textureAtlas.depthOrArrayLayers,\n }),\n },\n ],\n });\n\n return [bindGroup, atlasBindGroup];\n }\n}\n\nfunction convertBlendMode(mode: BlendMode): GPUBlendState {\n const convertFactor = (f: string): GPUBlendFactor => {\n const map: Record<string, GPUBlendFactor> = {\n one: \"one\",\n zero: \"zero\",\n \"src-alpha\": \"src-alpha\",\n \"one-minus-src-alpha\": \"one-minus-src-alpha\",\n \"dst-alpha\": \"dst-alpha\",\n \"one-minus-dst-alpha\": \"one-minus-dst-alpha\",\n };\n const result = map[f];\n if (!result) {\n throw new Error(`Unknown blend factor: ${f}`);\n }\n return result;\n };\n\n const convertOp = (o: string): GPUBlendOperation => {\n const map: Record<string, GPUBlendOperation> = {\n add: \"add\",\n subtract: \"subtract\",\n \"reverse-subtract\": \"reverse-subtract\",\n };\n const result = map[o];\n if (!result) {\n throw new Error(`Unknown blend operation: ${o}`);\n }\n return result;\n };\n\n return {\n color: {\n srcFactor: convertFactor(mode.color.srcFactor),\n dstFactor: convertFactor(mode.color.dstFactor),\n operation: convertOp(mode.color.operation),\n },\n alpha: {\n srcFactor: convertFactor(mode.alpha.srcFactor),\n dstFactor: convertFactor(mode.alpha.dstFactor),\n operation: convertOp(mode.alpha.operation),\n },\n };\n}\n",
20
20
  "import type { Color } from \"../../coreTypes/Color\";\nimport type { EngineUniform } from \"../../coreTypes/EngineUniform\";\nimport type { Size } from \"../../coreTypes/Size\";\nimport type { Limits, LimitsOptions } from \"../../limits\";\nimport { DEFAULT_LIMITS } from \"../../limits\";\nimport type { CpuTextureAtlas } from \"../../textures/types\";\nimport { assert } from \"../../utils/assert\";\nimport type { IBackendShader, QuadShaderCreationOpts } from \"../IBackendShader\";\nimport type { IRenderBackend } from \"../IRenderBackend\";\nimport type {\n ITextureAtlas,\n TextureAtlasFormat,\n TextureAtlasOptions,\n} from \"../ITextureAtlas\";\nimport type { PostProcess } from \"./postprocess/mod\";\nimport { WebGPUQuadShader } from \"./WebGPUQuadShader\";\n\nexport type WebGPUBackendOptions = {\n limits?: LimitsOptions;\n format?: \"rgba8unorm\" | \"rg8unorm\";\n};\n\n/**\n * WebGPU implementation of the render backend.\n */\nexport class WebGPUBackend implements IRenderBackend {\n readonly type = \"webgpu\" as const;\n readonly limits: Limits;\n readonly atlasSize: Size;\n readonly defaultAtlasId = \"default\";\n\n #atlases = new Map<string, ITextureAtlas>();\n\n #device: GPUDevice;\n #context: GPUCanvasContext;\n #presentationFormat: GPUTextureFormat;\n #encoder: GPUCommandEncoder | null = null;\n #renderPass: GPURenderPassEncoder | null = null;\n #postprocess: PostProcess | null = null;\n #pingpong: [GPUTexture, GPUTexture] | null = null;\n #canvas: HTMLCanvasElement;\n\n private constructor(\n device: GPUDevice,\n context: GPUCanvasContext,\n presentationFormat: GPUTextureFormat,\n limits: Limits,\n canvas: HTMLCanvasElement,\n ) {\n this.#device = device;\n this.#context = context;\n this.#presentationFormat = presentationFormat;\n this.limits = limits;\n this.atlasSize = {\n width: limits.textureSize,\n height: limits.textureSize,\n };\n this.#canvas = canvas;\n }\n\n /**\n * Create a WebGPU backend attached to a canvas.\n */\n static async create(\n canvas: HTMLCanvasElement,\n options: WebGPUBackendOptions = {},\n ): Promise<WebGPUBackend> {\n const adapter = await navigator.gpu.requestAdapter();\n if (!adapter) {\n throw new Error(\"WebGPU not supported: no adapter found\");\n }\n\n const device = await adapter.requestDevice();\n device.lost.then((info) => {\n console.error(\"GPU Device lost\", info);\n });\n\n const context = canvas.getContext(\"webgpu\");\n assert(context, \"Could not get WebGPU context from canvas\");\n\n const presentationFormat = navigator.gpu.getPreferredCanvasFormat();\n\n context.configure({\n device,\n format: presentationFormat,\n });\n\n const limits: Limits = {\n ...DEFAULT_LIMITS,\n ...options.limits,\n };\n\n const backend = new WebGPUBackend(\n device,\n context,\n presentationFormat,\n limits,\n canvas,\n );\n\n // Create the default texture atlas\n backend.createTextureAtlas(\"default\", {\n format: options.format ?? \"rgba8unorm\",\n layers: limits.textureArrayLayers,\n size: limits.textureSize,\n });\n\n return backend;\n }\n\n startFrame(clearColor: Color, loadOp: \"clear\" | \"load\"): void {\n this.#encoder = this.#device.createCommandEncoder();\n\n // If postprocessing, render to ping-pong texture; otherwise render to canvas\n const target = this.#postprocess\n ? this.#pingpong![0]\n : this.#context.getCurrentTexture();\n\n this.#renderPass = this.#encoder.beginRenderPass({\n label: \"toodle frame\",\n colorAttachments: [\n {\n view: target.createView(),\n clearValue: clearColor,\n loadOp,\n storeOp: \"store\",\n },\n ],\n });\n }\n\n endFrame(): void {\n assert(this.#renderPass, \"No render pass - did you call startFrame?\");\n assert(this.#encoder, \"No encoder - did you call startFrame?\");\n\n this.#renderPass.end();\n\n // Run postprocessing if set\n if (this.#postprocess && this.#pingpong) {\n this.#postprocess.process(\n this.#device.queue,\n this.#encoder,\n this.#pingpong,\n this.#context.getCurrentTexture(),\n );\n }\n\n this.#device.queue.submit([this.#encoder.finish()]);\n\n this.#renderPass = null;\n this.#encoder = null;\n }\n\n updateEngineUniform(_uniform: EngineUniform): void {\n // Uniforms are updated per-shader in WebGPU, not at the backend level\n // This is handled in WebGPUQuadShader.startFrame\n }\n\n async uploadAtlas(\n atlas: CpuTextureAtlas,\n layerIndex: number,\n atlasId?: string,\n ): Promise<void> {\n const targetAtlas = this.getTextureAtlas(atlasId ?? \"default\");\n assert(targetAtlas, `Atlas \"${atlasId ?? \"default\"}\" not found`);\n const texture = targetAtlas.handle as GPUTexture;\n\n if (atlas.rg8Bytes) {\n const w = texture.width;\n const h = texture.height;\n\n // WebGPU requires 256-byte bytesPerRow\n const rowBytes = w * 2;\n assert(rowBytes % 256 === 0, \"rowBytes must be a multiple of 256\");\n\n this.#device.queue.writeTexture(\n {\n texture,\n origin: { x: 0, y: 0, z: layerIndex },\n },\n atlas.rg8Bytes,\n { bytesPerRow: rowBytes, rowsPerImage: h },\n { width: w, height: h, depthOrArrayLayers: 1 },\n );\n } else {\n this.#device.queue.copyExternalImageToTexture(\n {\n source: atlas.texture,\n },\n {\n texture,\n origin: [0, 0, layerIndex],\n },\n [atlas.texture.width, atlas.texture.height, 1],\n );\n }\n }\n\n createQuadShader(opts: QuadShaderCreationOpts): IBackendShader {\n return new WebGPUQuadShader(\n opts.label,\n this,\n opts.instanceCount,\n opts.userCode,\n opts.blendMode,\n opts.atlasId,\n );\n }\n\n createTextureAtlas(id: string, options?: TextureAtlasOptions): ITextureAtlas {\n if (this.#atlases.has(id)) {\n throw new Error(`Atlas \"${id}\" already exists`);\n }\n\n const format: TextureAtlasFormat = options?.format ?? \"rgba8unorm\";\n const layers = options?.layers ?? this.limits.textureArrayLayers;\n const size = options?.size ?? this.limits.textureSize;\n\n const texture = this.#device.createTexture({\n label: `Toodle Atlas \"${id}\"`,\n size: [size, size, layers],\n format,\n usage:\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n\n const atlas: ITextureAtlas = { id, format, layers, size, handle: texture };\n this.#atlases.set(id, atlas);\n return atlas;\n }\n\n getTextureAtlas(id?: string): ITextureAtlas | null {\n return this.#atlases.get(id ?? \"default\") ?? null;\n }\n\n destroyTextureAtlas(id: string): void {\n const atlas = this.#atlases.get(id);\n if (atlas) {\n (atlas.handle as GPUTexture).destroy();\n this.#atlases.delete(id);\n }\n }\n\n resize(_width: number, _height: number): void {\n // Canvas resize is handled automatically by WebGPU context\n // The presentation size updates on next getCurrentTexture()\n\n // Recreate ping-pong textures if postprocessing is active\n if (this.#postprocess && this.#pingpong) {\n this.#destroyPingPongTextures();\n this.#createPingPongTextures();\n }\n }\n\n destroy(): void {\n this.#destroyPingPongTextures();\n // Destroy all atlases\n for (const atlas of this.#atlases.values()) {\n (atlas.handle as GPUTexture).destroy();\n }\n this.#atlases.clear();\n this.#device.destroy();\n }\n\n /**\n * Set a post-processor for screen effects.\n * Setting a post-processor will cause the main render to go to an offscreen texture.\n * Note: Ping-pong textures are not destroyed when setting to null to avoid\n * race conditions with in-flight command buffers. They are cleaned up on destroy().\n */\n setPostprocess(processor: PostProcess | null): void {\n this.#postprocess = processor;\n if (processor && !this.#pingpong) {\n this.#createPingPongTextures();\n }\n // Don't destroy pingpong textures when setting to null - they may still be\n // referenced by in-flight command buffers. They'll be cleaned up on destroy().\n }\n\n /**\n * Get the current post-processor.\n */\n getPostprocess(): PostProcess | null {\n return this.#postprocess;\n }\n\n #createPingPongTextures(): void {\n const width = this.#canvas.width;\n const height = this.#canvas.height;\n\n const createTexture = (label: string) =>\n this.#device.createTexture({\n label,\n size: [width, height],\n format: this.#presentationFormat,\n usage:\n GPUTextureUsage.RENDER_ATTACHMENT |\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_SRC,\n });\n\n this.#pingpong = [\n createTexture(\"toodle pingpong 0\"),\n createTexture(\"toodle pingpong 1\"),\n ];\n }\n\n #destroyPingPongTextures(): void {\n if (this.#pingpong) {\n this.#pingpong[0].destroy();\n this.#pingpong[1].destroy();\n this.#pingpong = null;\n }\n }\n\n /**\n * Get the GPU device for advanced operations.\n */\n get device(): GPUDevice {\n return this.#device;\n }\n\n /**\n * Get the canvas context.\n */\n get context(): GPUCanvasContext {\n return this.#context;\n }\n\n /**\n * Get the presentation format.\n */\n get presentationFormat(): GPUTextureFormat {\n return this.#presentationFormat;\n }\n\n /**\n * Get the current render pass encoder.\n * Only available between startFrame() and endFrame().\n */\n get renderPass(): GPURenderPassEncoder {\n assert(\n this.#renderPass,\n \"No render pass available - did you call startFrame?\",\n );\n return this.#renderPass;\n }\n}\n",
21
+ "import type { EngineUniform } from \"../../coreTypes/EngineUniform\";\nimport type { SceneNode } from \"../../scene/SceneNode\";\nimport type { MsdfFont } from \"../../text/MsdfFont\";\nimport type { ITextShader } from \"../ITextShader\";\n\n/**\n * WebGL text shader that supports font loading for measurement but not rendering.\n *\n * This allows text measurement (via MsdfFont) on WebGL backend, but throws\n * an error if text rendering is attempted. For text rendering, use the WebGPU backend.\n */\nexport class WebGLTextShader implements ITextShader {\n readonly label = \"text\";\n readonly font: MsdfFont;\n readonly maxCharCount: number;\n\n constructor(font: MsdfFont, maxCharCount: number) {\n this.font = font;\n this.maxCharCount = maxCharCount;\n }\n\n startFrame(_uniform: EngineUniform): void {\n // No-op for measurement-only shader\n }\n\n processBatch(_nodes: SceneNode[]): number {\n throw new Error(\n \"Text rendering is not supported in WebGL mode. Use WebGPU backend for text rendering.\",\n );\n }\n\n endFrame(): void {\n // No-op for measurement-only shader\n }\n}\n",
22
+ "export default /*wgsl*/ `\n// Adapted from: https://webgpu.github.io/webgpu-samples/?sample=textRenderingMsdf\n\n// Quad vertex positions for a character\nconst pos = array(\n vec2f(0, -1),\n vec2f(1, -1),\n vec2f(0, 0),\n vec2f(1, 0),\n);\n\n// Debug colors for visualization\nconst debugColors = array(\n vec4f(1, 0, 0, 1),\n vec4f(0, 1, 0, 1),\n vec4f(0, 0, 1, 1),\n vec4f(1, 1, 1, 1),\n);\n\n// Vertex input from GPU\nstruct VertexInput {\n @builtin(vertex_index) vertex: u32,\n @builtin(instance_index) instance: u32,\n};\n\n// Output from vertex shader to fragment shader\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n @location(1) debugColor: vec4f,\n @location(2) @interpolate(flat) instanceIndex: u32,\n};\n\n// Metadata for a single character glyph\nstruct Char {\n texOffset: vec2f, // Offset to top-left in MSDF texture (pixels)\n texExtent: vec2f, // Size in texture (pixels)\n size: vec2f, // Glyph size in ems\n offset: vec2f, // Position offset in ems\n};\n\n// Metadata for a text block\nstruct TextBlockDescriptor {\n transform: mat3x3f, // Text transform matrix (model matrix)\n color: vec4f, // Text color\n fontSize: f32, // Font size\n blockWidth: f32, // Total width of text block\n blockHeight: f32, // Total height of text block\n bufferPosition: f32 // Index and length in textBuffer\n};\n\n// Font bindings\n@group(0) @binding(0) var fontTexture: texture_2d<f32>;\n@group(0) @binding(1) var fontSampler: sampler;\n@group(0) @binding(2) var<storage> chars: array<Char>;\n@group(0) @binding(3) var<uniform> fontData: vec4f; // Contains line height (x)\n\n// Text bindings\n@group(1) @binding(0) var<storage> texts: array<TextBlockDescriptor>;\n@group(1) @binding(1) var<storage> textBuffer: array<vec4f>; // Each vec4: xy = glyph pos, z = char index\n\n// Global uniforms\n@group(2) @binding(0) var<uniform> viewProjectionMatrix: mat3x3f;\n\n// Vertex shader\n@vertex\nfn vertexMain(input: VertexInput) -> VertexOutput {\n // Because the instance index is used for character indexing, we are\n // overloading the vertex index to store the instance of the text metadata.\n //\n // I.e...\n // Vertex 0-4 = Instance 0, Vertex 0-4\n // Vertex 4-8 = Instance 1, Vertex 0-4\n // Vertex 8-12 = Instance 2, Vertex 0-4\n let vertexIndex = input.vertex % 4;\n let textIndex = input.vertex / 4;\n\n let text = texts[textIndex];\n let textElement = textBuffer[u32(text.bufferPosition) + input.instance];\n let char = chars[u32(textElement.z)];\n\n let lineHeight = fontData.x;\n let textWidth = text.blockWidth;\n let textHeight = text.blockHeight;\n\n // Center text vertically; origin is mid-height\n let offset = vec2f(0, -textHeight / 2);\n\n // Glyph position in ems (quad pos * size + per-char offset)\n let emPos = pos[vertexIndex] * char.size + char.offset + textElement.xy - offset;\n let charPos = emPos * (text.fontSize / lineHeight);\n\n var output: VertexOutput;\n let transformedPosition = viewProjectionMatrix * text.transform * vec3f(charPos, 1);\n\n output.position = vec4f(transformedPosition, 1);\n output.texcoord = pos[vertexIndex] * vec2f(1, -1);\n output.texcoord *= char.texExtent;\n output.texcoord += char.texOffset;\n output.debugColor = debugColors[vertexIndex];\n output.instanceIndex = textIndex;\n return output;\n\n // To debug - hardcode quad in bottom right quarter of the screen:\n // output.position = vec4f(pos[input.vertex], 0, 1);\n}\n\n// Signed distance function sampling for MSDF font rendering\nfn sampleMsdf(texcoord: vec2f) -> f32 {\n let c = textureSample(fontTexture, fontSampler, texcoord);\n return max(min(c.r, c.g), min(max(c.r, c.g), c.b));\n}\n\n// Fragment shader\n// Anti-aliasing technique by Paul Houx\n// more details here:\n// https://github.com/Chlumsky/msdfgen/issues/22#issuecomment-234958005\n@fragment\nfn fragmentMain(input: VertexOutput) -> @location(0) vec4f {\n let text = texts[input.instanceIndex];\n\n // pxRange (AKA distanceRange) comes from the msdfgen tool.\n let pxRange = 4.0;\n let texSize = vec2f(textureDimensions(fontTexture, 0));\n\n let dx = texSize.x * length(vec2f(dpdxFine(input.texcoord.x), dpdyFine(input.texcoord.x)));\n let dy = texSize.y * length(vec2f(dpdxFine(input.texcoord.y), dpdyFine(input.texcoord.y)));\n\n let toPixels = pxRange * inverseSqrt(dx * dx + dy * dy);\n let sigDist = sampleMsdf(input.texcoord) - 0.5;\n let pxDist = sigDist * toPixels;\n\n let edgeWidth = 0.5;\n let alpha = smoothstep(-edgeWidth, edgeWidth, pxDist);\n\n if (alpha < 0.001) {\n discard;\n }\n\n let msdfColor = vec4f(text.color.rgb, text.color.a * alpha);\n return msdfColor;\n\n // Debug options:\n // return text.color;\n // return input.debugColor;\n // return vec4f(1, 0, 1, 1); // hardcoded magenta\n // return textureSample(fontTexture, fontSampler, input.texcoord);\n}\n`;\n",
23
+ "import type { MsdfFont } from \"../../text/MsdfFont\";\nimport msdfShader from \"./wgsl/text.wgsl\";\n\n/**\n * A webgpu pipeline for rendering blocks of text with a given font.\n */\nexport class FontPipeline {\n constructor(\n public pipeline: GPURenderPipeline,\n public font: MsdfFont,\n public fontBindGroup: GPUBindGroup,\n public maxCharCount: number,\n ) {}\n\n static async create(\n device: GPUDevice,\n font: MsdfFont,\n colorFormat: GPUTextureFormat,\n maxCharCount: number,\n ): Promise<FontPipeline> {\n const pipeline = await pipelinePromise(device, colorFormat, font.name);\n const texture = device.createTexture({\n label: `MSDF font ${font.name}`,\n size: [font.imageBitmap.width, font.imageBitmap.height, 1],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n device.queue.copyExternalImageToTexture(\n { source: font.imageBitmap },\n { texture },\n [font.imageBitmap.width, font.imageBitmap.height],\n );\n\n const charsGpuBuffer = device.createBuffer({\n label: `MSDF font ${font.name} character layout buffer`,\n size: font.charCount * Float32Array.BYTES_PER_ELEMENT * 8,\n usage: GPUBufferUsage.STORAGE,\n mappedAtCreation: true,\n });\n\n const charsArray = new Float32Array(charsGpuBuffer.getMappedRange());\n // todo: don't double copy this\n charsArray.set(font.charBuffer, 0);\n charsGpuBuffer.unmap();\n\n const fontDataBuffer = device.createBuffer({\n label: `MSDF font ${font.name} metadata buffer`,\n size: Float32Array.BYTES_PER_ELEMENT * 4,\n usage: GPUBufferUsage.UNIFORM,\n mappedAtCreation: true,\n });\n const fontDataArray = new Float32Array(fontDataBuffer.getMappedRange());\n fontDataArray[0] = font.lineHeight;\n fontDataBuffer.unmap();\n\n // create a texture view\n const fontBindGroup = device.createBindGroup({\n layout: pipeline.getBindGroupLayout(0),\n entries: [\n // msdf texture\n {\n binding: 0,\n resource: texture.createView(),\n },\n // msdf texture sampler\n {\n binding: 1,\n resource: device.createSampler(sampler),\n },\n // buffer of character uv and offset data\n {\n binding: 2,\n resource: {\n buffer: charsGpuBuffer,\n },\n },\n // buffer of font metadata, e.g. line height\n {\n binding: 3,\n resource: {\n buffer: fontDataBuffer,\n },\n },\n ],\n });\n return new FontPipeline(pipeline, font, fontBindGroup, maxCharCount);\n }\n}\n\nexport function pipelinePromise(\n device: GPUDevice,\n colorFormat: GPUTextureFormat,\n label: string,\n) {\n const shader = device.createShaderModule({\n label: `${label} shader`,\n code: msdfShader,\n });\n\n return device.createRenderPipelineAsync({\n label: `${label} pipeline`,\n layout: device.createPipelineLayout({\n bindGroupLayouts: [\n device.createBindGroupLayout(fontBindGroupLayout),\n device.createBindGroupLayout(textUniformBindGroupLayout),\n device.createBindGroupLayout(engineUniformBindGroupLayout),\n ],\n }),\n vertex: {\n module: shader,\n entryPoint: \"vertexMain\",\n },\n fragment: {\n module: shader,\n entryPoint: \"fragmentMain\",\n targets: [\n {\n format: colorFormat,\n blend: {\n color: {\n srcFactor: \"src-alpha\",\n dstFactor: \"one-minus-src-alpha\",\n },\n alpha: {\n srcFactor: \"one\",\n dstFactor: \"one\",\n },\n },\n },\n ],\n },\n primitive: {\n topology: \"triangle-strip\",\n stripIndexFormat: \"uint32\",\n },\n });\n}\n\nif (typeof GPUShaderStage === \"undefined\") {\n // polyfill GPUShaderStage so that toodle can be imported in non-browser environments\n // eg for automated testing\n globalThis.GPUShaderStage = {\n VERTEX: 1,\n FRAGMENT: 2,\n COMPUTE: 4,\n };\n}\n\nconst fontBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"MSDF font group layout\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.FRAGMENT,\n texture: {},\n },\n {\n binding: 1,\n visibility: GPUShaderStage.FRAGMENT,\n sampler: {},\n },\n {\n binding: 2,\n visibility: GPUShaderStage.VERTEX,\n buffer: { type: \"read-only-storage\" },\n },\n {\n binding: 3,\n visibility: GPUShaderStage.VERTEX,\n buffer: {},\n },\n ],\n};\n\nconst engineUniformBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"Uniform bind group\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.VERTEX,\n buffer: {},\n },\n ],\n};\n\nconst sampler: GPUSamplerDescriptor = {\n label: \"MSDF text sampler\",\n minFilter: \"linear\",\n magFilter: \"linear\",\n mipmapFilter: \"linear\",\n maxAnisotropy: 16,\n};\n\nconst textUniformBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"MSDF text block uniform\",\n entries: [\n {\n // text data - matrix, color, font size, characters\n binding: 0,\n visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,\n buffer: { type: \"read-only-storage\" },\n },\n {\n binding: 1,\n visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,\n buffer: { type: \"read-only-storage\" },\n },\n ],\n};\n",
24
+ "const warnings: Map<string, boolean> = new Map<string, boolean>();\n/**\n * Useful for warning in a function run every frame if you only want to warn once\n *\n * @param key a unique key to tag the warning\n * @param msg message to console.warn\n */\nexport function warnOnce(key: string, msg?: string) {\n if (warnings.has(key)) {\n return;\n }\n warnings.set(key, true);\n console.warn(msg ?? key);\n}\n",
25
+ "// MsdfFont has the cpu data for a font\n\n// The kerning map stores a spare map of character ID pairs with an associated\n// X offset that should be applied to the character spacing when the second\n// character ID is rendered after the first.\nimport { warnOnce } from \"../utils/error\";\n\nexport type KerningMap = Map<number, Map<number, number>>;\n\nexport interface MsdfChar {\n id: number;\n index: number;\n char: string;\n width: number;\n height: number;\n xoffset: number;\n yoffset: number;\n xadvance: number;\n chnl: number;\n x: number;\n y: number;\n page: number;\n charIndex: number;\n}\n\nexport class MsdfFont {\n /** the name of the font */\n name: string;\n /** the set of available characters in the font texture */\n charset: string[];\n charCount: number;\n lineHeight: number;\n\n /** a binary buffer of character data for loading into the gpu */\n charBuffer: Float32Array;\n\n #kernings: KerningMap;\n #chars: Map<number, MsdfChar>;\n #fallbackCharCode?: number;\n\n constructor(\n public id: string,\n public json: MsdfFontJson,\n public imageBitmap: ImageBitmap,\n ) {\n const charArray = Object.values(json.chars);\n this.charCount = charArray.length;\n this.lineHeight = json.common.lineHeight;\n this.charset = json.info.charset;\n this.name = json.info.face;\n\n this.#kernings = new Map();\n if (json.kernings) {\n for (const kearning of json.kernings) {\n let charKerning = this.#kernings.get(kearning.first);\n if (!charKerning) {\n charKerning = new Map<number, number>();\n this.#kernings.set(kearning.first, charKerning);\n }\n charKerning.set(kearning.second, kearning.amount);\n }\n }\n\n this.#chars = new Map<number, MsdfChar>();\n const charCount = Object.values(json.chars).length;\n this.charBuffer = new Float32Array(charCount * 8);\n let offset = 0;\n const u = 1 / json.common.scaleW;\n const v = 1 / json.common.scaleH;\n\n for (const [i, char] of json.chars.entries()) {\n this.#chars.set(char.id, char);\n this.#chars.get(char.id)!.charIndex = i;\n this.charBuffer[offset] = char.x * u; // texOffset.x\n this.charBuffer[offset + 1] = char.y * v; // texOffset.y\n this.charBuffer[offset + 2] = char.width * u; // texExtent.x\n this.charBuffer[offset + 3] = char.height * v; // texExtent.y\n this.charBuffer[offset + 4] = char.width; // size.x\n this.charBuffer[offset + 5] = char.height; // size.y\n this.charBuffer[offset + 6] = char.xoffset; // offset.x\n this.charBuffer[offset + 7] = -char.yoffset; // offset.y\n offset += 8;\n }\n }\n\n getChar(charCode: number): MsdfChar {\n const char = this.#chars.get(charCode)!;\n if (!char) {\n const fallbackCharacter = this.#chars.get(\n this.#fallbackCharCode ?? this.#chars.keys().toArray()[0],\n )!;\n warnOnce(\n `unknown_char_${this.name}`,\n `Couldn't find character ${charCode} in characters for font ${this.name} -- defaulting to first available character \"${fallbackCharacter.char}\"`,\n );\n return fallbackCharacter;\n }\n return char;\n }\n\n // Gets the distance in pixels a line should advance for a given character code. If the upcoming\n // character code is given any kerning between the two characters will be taken into account.\n getXAdvance(charCode: number, nextCharCode = -1): number {\n const char = this.getChar(charCode);\n if (nextCharCode >= 0) {\n const kerning = this.#kernings.get(charCode);\n if (kerning) {\n return char.xadvance + (kerning.get(nextCharCode) ?? 0);\n }\n }\n return char.xadvance;\n }\n\n static async create(id: string, fontJsonUrl: URL): Promise<MsdfFont> {\n const response = await fetch(fontJsonUrl);\n const json = (await response.json()) as MsdfFontJson;\n\n const i = fontJsonUrl.href.lastIndexOf(\"/\");\n const baseUrl = i !== -1 ? fontJsonUrl.href.substring(0, i + 1) : undefined;\n\n if (json.pages.length < 1) {\n throw new Error(\n `Can't create an msdf font without a reference to the page url in the json`,\n );\n }\n if (json.pages.length > 1) {\n throw new Error(`Can't create an msdf font with more than one page`);\n }\n\n const textureUrl = baseUrl + json.pages[0];\n const textureResponse = await fetch(textureUrl);\n const bitmap = await createImageBitmap(await textureResponse.blob());\n\n return new MsdfFont(id, json, bitmap);\n }\n\n set fallbackCharacter(character: string) {\n const charCode: number = character.charCodeAt(0);\n if (this.#chars.has(charCode)) {\n this.#fallbackCharCode = charCode;\n } else {\n const fallbackCode = this.#chars.keys().toArray()[0];\n console.warn(\n `${character} character does not exist in font ${this.name} defaulting to \"${this.#chars.get(fallbackCode)?.char}\".`,\n );\n this.#fallbackCharCode = fallbackCode;\n }\n }\n}\n\ntype MsdfFontJson = {\n pages: string[];\n chars: MsdfChar[];\n info: {\n face: string;\n size: string;\n bold: number;\n italic: number;\n charset: string[];\n unicode: number;\n stretchH: number;\n smooth: number;\n aa: number;\n padding: number[];\n spacing: number[];\n };\n common: {\n lineHeight: number;\n base: number;\n scaleW: number;\n scaleH: number;\n pages: number;\n packed: number;\n alphaChnl: number;\n redChnl: number;\n greenChnl: number;\n blueChnl: number;\n };\n distanceField: { fieldType: string; distanceRange: number };\n kernings: Kerning[];\n};\n\ntype Kerning = { first: number; second: number; amount: number };\n\nexport enum WhitespaceKeyCodes {\n HorizontalTab = 9,\n Newline = 10,\n CarriageReturn = 13,\n Space = 32,\n}\n",
26
+ "import type { Size } from \"../coreTypes/Size\";\nimport { type MsdfChar, type MsdfFont, WhitespaceKeyCodes } from \"./MsdfFont\";\nimport type { TextFormatting, WordWrapOptions } from \"./TextFormatting\";\n\n// shaping is responsible for cpu-side text shaping:\n// - measuring a text block\n// - calculating the glyph quads for the text block\n// - applying word wrap, shrink-to-fit, justification and other formatting options\n// - returning the text measurements and glyph quads\nconst TAB_SPACES = 4;\n\nexport interface MsdfTextMeasurements {\n /** The width of the text block in em units. */\n width: number;\n /** The height of the text block in em units. */\n height: number;\n /** The width of each line in em units. */\n lineWidths: number[];\n /** The number of lines in the text block. */\n lineCount: number;\n /** The number of characters printed in the text block. */\n printedCharCount: number;\n\n /** All words in the text block */\n words: Word[];\n}\n\nexport type Glyph = {\n char: MsdfChar;\n offset: [number, number];\n line: number;\n};\n\nexport type Word = {\n glyphs: Glyph[];\n width: number;\n startX: number;\n startY: number;\n};\n\nexport function shapeText(\n font: MsdfFont,\n text: string,\n blockSize: Size,\n fontSize: number,\n formatting: TextFormatting,\n textArray: Float32Array,\n initialFloatOffset = 0,\n debug = false,\n) {\n let offset = initialFloatOffset;\n\n const measurements = measureText(font, text, formatting.wordWrap);\n const alignment = formatting.align || \"left\";\n const em2px = fontSize / font.lineHeight;\n // currently there is a code path that sets blockSize.width to measurements.width (em)\n // if blockSize is not explicitly set (px)\n const hackHasExplicitBlock = blockSize.width !== measurements.width;\n\n let debugData: any[] | null = null;\n if (debug) {\n debugData = [];\n }\n\n for (const word of measurements.words) {\n for (const glyph of word.glyphs) {\n let lineOffset = 0;\n if (alignment === \"center\") {\n lineOffset =\n measurements.width * -0.5 -\n (measurements.width - measurements.lineWidths[glyph.line]) * -0.5;\n } else if (alignment === \"right\") {\n const blockSizeEm = blockSize.width / em2px;\n\n const delta = measurements.width - measurements.lineWidths[glyph.line];\n\n lineOffset =\n (hackHasExplicitBlock ? blockSizeEm / 2 : measurements.width / 2) -\n measurements.width +\n delta;\n } else if (alignment === \"left\") {\n const blockSizeEm = blockSize.width / em2px;\n\n lineOffset = hackHasExplicitBlock\n ? -blockSizeEm / 2\n : -measurements.width / 2;\n }\n\n if (debug && debugData) {\n debugData.push({\n line: glyph.line,\n word: word.glyphs.map((g) => g.char.char).join(\"\"),\n glyph: glyph.char.char,\n startX: word.startX,\n glyphX: glyph.offset[0],\n advance: glyph.char.xadvance,\n lineOffset,\n startY: word.startY,\n glyphY: glyph.offset[1],\n });\n }\n textArray[offset] = word.startX + glyph.offset[0] + lineOffset;\n textArray[offset + 1] = word.startY + glyph.offset[1];\n textArray[offset + 2] = glyph.char.charIndex;\n\n offset += 4;\n }\n }\n\n if (debug && debugData) {\n console.table(debugData);\n }\n}\n\n/**\n * Measure the text and return measurements for block + each glyph.\n * @param font - The font to use.\n * @param text - The text to measure\n * @param wordWrap - Maximum word length before word wrapping\n * @returns The measurements of the text in em units.\n */\nexport function measureText(\n font: MsdfFont,\n text: string,\n wordWrap?: WordWrapOptions,\n): MsdfTextMeasurements {\n let maxWidth = 0;\n const lineWidths: number[] = [];\n\n let textOffsetX = 0;\n let textOffsetY = 0;\n let line = 0;\n let printedCharCount = 0;\n let nextCharCode = text.charCodeAt(0);\n let word: Word = { glyphs: [], width: 0, startX: 0, startY: 0 };\n\n const words: Word[] = [];\n\n for (let i = 0; i < text.length; i++) {\n const isLastLetter = i === text.length - 1;\n\n const charCode = nextCharCode;\n nextCharCode = i < text.length - 1 ? text.charCodeAt(i + 1) : -1;\n\n switch (charCode) {\n case WhitespaceKeyCodes.HorizontalTab:\n insertSpaces(TAB_SPACES);\n break;\n case WhitespaceKeyCodes.Newline:\n flushLine();\n flushWord();\n break;\n case WhitespaceKeyCodes.CarriageReturn:\n break;\n case WhitespaceKeyCodes.Space:\n insertSpaces(1);\n break;\n default: {\n const advance = font.getXAdvance(charCode, nextCharCode);\n if (\n wordWrap &&\n wordWrap.breakOn === \"character\" &&\n textOffsetX + advance > wordWrap.emWidth\n ) {\n if (word.startX === 0) {\n flushWord();\n } else {\n lineWidths.push(textOffsetX - word.width);\n line++;\n maxWidth = Math.max(maxWidth, textOffsetX);\n textOffsetX = word.width;\n textOffsetY -= font.lineHeight;\n word.startX = 0;\n word.startY = textOffsetY;\n word.glyphs.forEach((g) => {\n g.line = line;\n });\n }\n }\n word.glyphs.push({\n char: font.getChar(charCode),\n offset: [word.width, 0],\n line,\n });\n\n if (isLastLetter) {\n flushWord();\n }\n\n word.width += advance;\n textOffsetX += advance;\n }\n }\n }\n\n lineWidths.push(textOffsetX);\n maxWidth = Math.max(maxWidth, textOffsetX);\n\n const lineCount = lineWidths.length;\n\n return {\n width: maxWidth,\n height: lineCount * font.lineHeight,\n lineWidths,\n lineCount,\n printedCharCount,\n words,\n };\n\n function flushWord() {\n printedCharCount += word.glyphs.length;\n words.push(word);\n word = {\n glyphs: [],\n width: 0,\n startX: textOffsetX,\n startY: textOffsetY,\n };\n }\n\n function flushLine() {\n lineWidths.push(textOffsetX);\n line++;\n maxWidth = Math.max(maxWidth, textOffsetX);\n textOffsetX = 0;\n textOffsetY -= font.lineHeight;\n }\n\n function insertSpaces(spaces: number) {\n if (spaces < 1) spaces = 1;\n textOffsetX += font.getXAdvance(WhitespaceKeyCodes.Space) * spaces;\n if (wordWrap?.breakOn === \"word\" && textOffsetX >= wordWrap.emWidth) {\n flushLine();\n }\n flushWord();\n }\n}\nexport function findLargestFontSize(\n font: MsdfFont,\n text: string,\n size: Size,\n formatting: TextFormatting,\n): number | undefined {\n if (!formatting.fontSize) {\n throw new Error(\"fontSize is required for shrinkToFit\");\n }\n if (!formatting.shrinkToFit) {\n throw new Error(\"shrinkToFit is required for findLargestFontSize\");\n }\n // Binary search to find largest font size that fits\n const minSize = formatting.shrinkToFit.minFontSize;\n const maxSize = formatting.shrinkToFit.maxFontSize ?? formatting.fontSize;\n const maxLines = formatting.shrinkToFit.maxLines ?? Number.POSITIVE_INFINITY;\n\n const threshold = 0.5;\n let low = minSize;\n let high = maxSize;\n\n while (high - low > threshold) {\n // Stop when we get close enough\n const testSize = (low + high) / 2;\n const testMeasure = measureText(font, text, formatting.wordWrap);\n\n const padding = formatting.shrinkToFit.padding ?? 0;\n\n const scaledWidth = testMeasure.width * (testSize / font.lineHeight);\n const scaledHeight = testMeasure.height * (testSize / font.lineHeight);\n const fitsWidth = scaledWidth <= size.width - size.width * padding;\n const fitsHeight = scaledHeight <= size.height - size.height * padding;\n const fitsLines = testMeasure.lineCount <= maxLines;\n\n if (fitsWidth && fitsHeight && fitsLines) {\n low = testSize;\n } else {\n high = testSize;\n }\n }\n\n return low;\n}\n",
27
+ "/**\n * Convert degrees to radians\n * @param degrees Angle in degrees\n * @returns Angle in radians\n */\nexport function deg2rad(degrees: number): number {\n return degrees * (Math.PI / 180);\n}\n\n/**\n * Convert radians to degrees\n * @param radians Angle in radians\n * @returns Angle in degrees\n */\nexport function rad2deg(radians: number): number {\n return radians * (180 / Math.PI);\n}\n",
21
28
  "import { type Mat3, mat3, vec2 } from \"wgpu-matrix\";\nimport type { Point } from \"../coreTypes/Point\";\nimport type { Transform } from \"../coreTypes/Transform\";\nimport type { Camera } from \"../scene/Camera\";\nimport type { Resolution } from \"../screen/resolution\";\n\n/**\n * Creates a projection matrix for the given resolution.\n * The matrix is a 3x3 matrix that converts screen coordinates centered at the origin ranging from:\n *\n * (-resolution.width / 2, resolution.height / 2) = top left corner to (resolution.width / 2, -resolution.height / 2) = bottom right corner\n *\n * into clip space centered at the originranging from:\n *\n * (-1, 1) = top left corner to (1, -1) = bottom right corner\n *\n * @param resolution - The resolution of the screen in logical pixels.\n * @param dst - The destination matrix.\n * @returns The projection matrix.\n */\nexport function createProjectionMatrix(resolution: Resolution, dst?: Mat3) {\n const { width, height } = resolution;\n\n // origin is always the same\n // (0,0) => (0 * 2 / 1920, 0 * 2 / 1080) => (0,0)\n //\n // top left corner is (-1, 1) in clip space, (-width / 2, height / 2) in screen space e.g.\n // (-960, 540) => (-960 * 2 / 1920, 540 * 2 / 1080) => (-1, 1)\n return mat3.scaling([2 / width, 2 / height], dst);\n}\n\nexport function createViewMatrix(camera: Camera, target: Mat3) {\n const matrix = mat3.identity(target);\n\n // Apply scaling\n mat3.scale(matrix, [camera.zoom, camera.zoom], matrix);\n\n // Apply rotation\n mat3.rotate(matrix, camera.rotationRadians, matrix);\n\n // Apply translation\n mat3.translate(matrix, [-camera.x, -camera.y], matrix);\n\n return matrix;\n}\n\nexport function createModelMatrix(transform: Transform, base: Mat3) {\n // Apply translation\n mat3.translate(base, [transform.position.x, transform.position.y], base);\n // Apply rotation\n mat3.rotate(base, transform.rotation, base);\n\n // Apply scaling\n mat3.scale(base, [transform.scale.x, transform.scale.y], base);\n\n return base;\n}\n\nexport function convertScreenToWorld(\n screenCoordinates: Point,\n camera: Camera,\n projectionMatrix: Mat3,\n resolution: Resolution,\n): Point {\n const inverseViewProjectionMatrix = mat3.mul(\n mat3.inverse(camera.matrix),\n mat3.inverse(projectionMatrix),\n );\n const normalizedDeviceCoordinates = {\n x: (2 * screenCoordinates.x) / resolution.width - 1,\n y: 1 - (2 * screenCoordinates.y) / resolution.height,\n };\n return transformPoint(\n normalizedDeviceCoordinates,\n inverseViewProjectionMatrix,\n );\n}\n\nexport function convertWorldToScreen(\n worldCoordinates: Point,\n camera: Camera,\n projectionMatrix: Mat3,\n resolution: Resolution,\n): Point {\n const viewProjectionMatrix = mat3.mul(projectionMatrix, camera.matrix);\n const ndcPoint = transformPoint(worldCoordinates, viewProjectionMatrix);\n return {\n x: ((ndcPoint.x + 1) * resolution.width) / 2,\n y: ((1 - ndcPoint.y) * resolution.height) / 2,\n };\n}\n\nexport function transformPoint(point: Point, matrix: Mat3): Point {\n const result = vec2.transformMat3([point.x, point.y], matrix);\n return {\n x: result[0],\n y: result[1],\n };\n}\n",
29
+ "import { type Mat3, mat3, vec2 } from \"wgpu-matrix\";\nimport type { Point } from \"../coreTypes/Point\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Transform } from \"../coreTypes/Transform\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport { deg2rad, rad2deg } from \"../math/angle\";\nimport { createModelMatrix } from \"../math/matrix\";\nimport type { RenderComponent } from \"./RenderComponent\";\n\n/**\n * A node in the scene graph.\n *\n * This is a base class and is fairly low level. You will probably want to interact with\n * the wrapper classes {@link Toodle['Node']} or {@link Toodle['Quad']} instead.\n */\nexport class SceneNode {\n static nextId = 1;\n\n id: number;\n label?: string;\n\n #isActive = true;\n #layer: null | number = null;\n #parent: SceneNode | null = null;\n #key: string | null = null;\n #kids: SceneNode[] = [];\n #transform: Transform;\n #matrix: Mat3 = mat3.identity();\n #renderComponent: RenderComponent | null = null;\n #size: Size | null = null;\n #positionProxy: Point;\n #scaleProxy: Vec2;\n\n #cache: RenderLayoutCache | null = null;\n\n constructor(opts?: NodeOptions) {\n this.id = opts?.id ?? SceneNode.nextId++;\n\n if (opts?.rotation && opts?.rotationRadians) {\n throw new Error(\n `Cannot set both rotation and rotationRadians for node ${opts?.label ?? this.id}`,\n );\n }\n\n this.#transform = {\n position: opts?.position ?? { x: 0, y: 0 },\n scale: { x: 1, y: 1 },\n size: opts?.size ?? { width: 1, height: 1 },\n rotation: opts?.rotationRadians ?? 0,\n };\n if (opts?.scale) this.scale = opts.scale;\n if (opts?.rotation) this.rotation = opts.rotation;\n\n this.#matrix = mat3.identity();\n this.#renderComponent = opts?.render ?? null;\n this.#layer = opts?.layer ?? null;\n this.#isActive = opts?.isActive ?? true;\n this.label = opts?.label ?? undefined;\n this.#size = opts?.size ?? null;\n this.#key = opts?.key ?? null;\n\n for (const kid of opts?.kids ?? []) {\n this.add(kid);\n }\n\n const self = this;\n this.#positionProxy = {\n get x() {\n return self.#transform.position.x;\n },\n set x(value: number) {\n self.#transform.position.x = value;\n self.setDirty();\n },\n get y() {\n return self.#transform.position.y;\n },\n set y(value: number) {\n self.#transform.position.y = value;\n self.setDirty();\n },\n };\n\n this.#scaleProxy = {\n get x() {\n return self.#transform.scale.x;\n },\n set x(value: number) {\n self.#transform.scale.x = value;\n self.setDirty();\n },\n get y() {\n return self.#transform.scale.y;\n },\n set y(value: number) {\n self.#transform.scale.y = value;\n self.setDirty();\n },\n };\n }\n\n /**\n * Add a child node and return the child node with this node set as its parent.\n */\n add<T extends SceneNode>(kid: T, index?: number) {\n kid.#parent = this;\n if (index === undefined) {\n this.#kids.push(kid);\n } else {\n this.#kids.splice(index, 0, kid);\n }\n kid.setDirty();\n return kid;\n }\n\n /**\n * Returns an array of the node's immediate kids.\n *\n * Note that these will be returned with a `SceneNode` type, but can be narrowed if you know the type of them,\n * for eg:\n *\n * ```ts\n * for (const kid of node.kids) {\n * if (kid instanceof Scene.QuadNode) {\n * console.log(kid.color)\n * }\n *\n * if (kid instanceof Text.TextNode) {\n * console.log(kid.text)\n * }\n * }\n * ```\n */\n get kids() {\n return this.#kids;\n }\n\n /**\n * The children of the node. Alias for {@link SceneNode.kids}.\n */\n get children() {\n return this.#kids;\n }\n\n /**\n * Returns a reference to the node's transform.\n *\n * Do not edit this transform directly as it won't invalidate cache's correctly.\n * Instead, use convenience properties {@link SceneNode.position}, {@link SceneNode.scale}, and {@link SceneNode.rotation}.\n */\n get transform(): Transform {\n return this.#transform;\n }\n\n /**\n * Returns the key of the node as set when the node was created.\n *\n * This key can be used to reference the node from an external lookup system.\n */\n get key() {\n return this.#key ?? \"\";\n }\n\n /**\n * Returns the parent node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/transforms.html\n */\n get parent() {\n return this.#parent;\n }\n\n set position(value: Point) {\n this.#transform.position = value;\n this.setDirty();\n }\n\n /**\n * Position of the node in local space. For world space, use {@link SceneNode.bounds}.\n */\n get position() {\n return this.#positionProxy;\n }\n\n set x(value: number) {\n this.#transform.position.x = value;\n this.setDirty();\n }\n\n /**\n * The local x coordinate of the node.\n */\n get x() {\n return this.#transform.position.x;\n }\n\n set y(value: number) {\n this.#transform.position.y = value;\n this.setDirty();\n }\n\n /**\n * The local y coordinate of the node.\n */\n get y() {\n return this.#transform.position.y;\n }\n\n set rotation(value: number) {\n this.#transform.rotation = deg2rad(value);\n this.setDirty();\n }\n\n /**\n * The rotation of the node in degrees.\n * For radians, see {@link SceneNode.rotationRadians}.\n */\n get rotation() {\n return rad2deg(this.#transform.rotation);\n }\n\n /**\n * The rotation of the node in radians.\n * For degrees, see {@link SceneNode.rotation}.\n */\n get rotationRadians() {\n return this.#transform.rotation;\n }\n\n set rotationRadians(value: number) {\n this.#transform.rotation = value;\n this.setDirty();\n }\n\n /**\n * The scale of the node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/quad-size-scale.html\n */\n get scale(): Vec2 {\n return this.#scaleProxy;\n }\n\n set scale(value: Vec2 | number) {\n if (typeof value === \"number\") {\n this.#transform.scale = { x: value, y: value };\n } else {\n this.#transform.scale = value;\n }\n this.setDirty();\n }\n\n /**\n * The size of the node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/quad-size-scale.html\n */\n set size(value: Size | null) {\n this.#size = value;\n this.setDirty();\n }\n\n get size() {\n return this.#size;\n }\n\n /**\n * The aspect ratio of the node.\n * If the node has no defined size, the aspect ratio will be 1.\n */\n get aspectRatio() {\n if (!this.#size) {\n console.warn(\n \"Attempted to get aspect ratio of a node with no ideal size\",\n );\n return 1;\n }\n return this.#size.width / this.#size.height;\n }\n\n /**\n * isActive is a boolean that determines if the node is active.\n * If a node is not active, it will not be drawn.\n * If any of a node's ancestors are not active, the node will not be active.\n */\n get isActive() {\n if (!this.#cache?.isActive) {\n this.#cache ??= {};\n\n let parent = this as SceneNode;\n let isActive = this.#isActive;\n while (isActive && parent.#parent) {\n parent = parent.#parent;\n isActive = isActive && parent.#isActive;\n }\n this.#cache.isActive = isActive;\n }\n return this.#cache.isActive;\n }\n\n set isActive(value: boolean) {\n this.#isActive = value;\n this.setDirty();\n }\n\n /**\n * Nodes are batched for drawing based on their layer. Each layer will submit a separate draw call.\n * Nodes with the same layer will be drawn in the order they are drawn with toodle.Draw\n * Nodes with a higher layer will be drawn on top of nodes with a lower layer.\n */\n get layer() {\n if (this.#layer != null) {\n return this.#layer;\n }\n\n if (!this.#cache?.layer) {\n this.#cache ??= {};\n\n let parent = this as SceneNode;\n while (parent.#parent) {\n parent = parent.#parent;\n if (parent.hasExplicitLayer) {\n this.#cache.layer = parent.#layer!;\n return this.#cache.layer;\n }\n }\n\n this.#cache.layer = 0;\n }\n\n return this.#cache.layer;\n }\n\n /**\n * Returns true if the node has an explicit layer set.\n *\n * If the node does not have an explicit layer but one of its ancestors does,\n * its layer will be inherited from its parent.\n */\n get hasExplicitLayer() {\n return this.#layer != null;\n }\n\n set layer(value: number) {\n this.#layer = value;\n this.setDirty();\n }\n\n get renderComponent() {\n return this.#renderComponent;\n }\n\n /**\n * This is the model matrix of the node. See https://webgpufundamentals.org/webgpu/lessons/webgpu-matrix-math.html for more information.\n *\n * Do not edit this matrix directly as it is derived from the node's transform and will be overwritten.\n */\n get matrix(): Float32Array {\n if (!this.#cache?.matrix) {\n this.#cache ??= {};\n\n if (this.#parent) {\n mat3.clone(this.#parent.matrix, this.#matrix);\n } else {\n mat3.identity(this.#matrix);\n }\n this.#cache.matrix = createModelMatrix(this.transform, this.#matrix);\n }\n return this.#cache.matrix;\n }\n\n /**\n * Get the bounds of the node in world space\n */\n get bounds(): Bounds {\n if (!this.#cache?.bounds) {\n this.#cache ??= {};\n\n const height = this.size?.height ?? 0;\n const width = this.size?.width ?? 0;\n\n // we don't need to add the node's position to the points\n // because the points are relative to the node's center\n // and the matrix already applies the node's position\n const corners = [\n vec2.transformMat3([-width / 2, height / 2], this.matrix),\n vec2.transformMat3([width / 2, height / 2], this.matrix),\n vec2.transformMat3([-width / 2, -height / 2], this.matrix),\n vec2.transformMat3([width / 2, -height / 2], this.matrix),\n ];\n const center = vec2.transformMat3([0, 0], this.matrix);\n\n const xValues = corners.map((c) => c[0]);\n const yValues = corners.map((c) => c[1]);\n\n this.#cache.bounds = {\n x: center[0],\n y: center[1],\n left: Math.min(xValues[0], xValues[1], xValues[2], xValues[3]),\n right: Math.max(xValues[0], xValues[1], xValues[2], xValues[3]),\n top: Math.max(yValues[0], yValues[1], yValues[2], yValues[3]),\n bottom: Math.min(yValues[0], yValues[1], yValues[2], yValues[3]),\n };\n }\n return this.#cache.bounds;\n }\n\n /**\n * Set the bounds of the node in world space.\n */\n setBounds(bounds: Partial<Bounds>) {\n if (bounds.left !== undefined) this.left = bounds.left;\n if (bounds.right !== undefined) this.right = bounds.right;\n if (bounds.top !== undefined) this.top = bounds.top;\n if (bounds.bottom !== undefined) this.bottom = bounds.bottom;\n if (bounds.x !== undefined) this.centerX = bounds.x;\n if (bounds.y !== undefined) this.centerY = bounds.y;\n\n return this;\n }\n\n /**\n * Set the left edge of the node in world space.\n */\n set left(value: number) {\n this.#adjustWorldPosition([value - this.bounds.left, 0]);\n }\n\n /**\n * Set the bottom edge of the node in world space.\n */\n set bottom(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.bottom]);\n }\n\n /**\n * Set the top edge of the node in world space.\n */\n set top(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.top]);\n }\n\n /**\n * Set the right edge of the node in world space.\n */\n set right(value: number) {\n this.#adjustWorldPosition([value - this.bounds.right, 0]);\n }\n\n /**\n * Set the center x of the node in world space.\n */\n set centerX(value: number) {\n this.#adjustWorldPosition([value - this.bounds.x, 0]);\n }\n\n /**\n * Set the center y of the node in world space.\n */\n set centerY(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.y]);\n }\n\n /**\n * Removes references to this node and all of its children.\n *\n * Call this to remove a node from a parent's tree and before garbage collection to prevent a node from being retained.\n *\n * @example\n *\n * const parent = toodle.Node();\n * const child = toodle.Quad();\n * const grandchild = toodle.Quad();\n *\n * parent.add(child);\n * child.add(grandchild);\n *\n * // Will delete `child` and `grandchild`\n * child.delete();\n */\n delete() {\n this.#parent?.remove(this);\n for (const child of this.#kids) {\n child.delete();\n }\n this.#kids = [];\n this.#isActive = false;\n this.#layer = null;\n this.#renderComponent = null;\n }\n\n /**\n * Remove any child node from this node. Warns if the child is not found.\n *\n * The node will still exist as an orphaned node and can still be passed to toodle.Draw or added to another parent.\n *\n * Alternatively, calling `node.delete()` on the child will remove it and set it to inactive.\n *\n * @example\n * const parent = toodle.Node();\n * const child = toodle.Quad();\n * const grandchild = toodle.Quad();\n *\n * parent.add(child);\n * child.add(grandchild);\n *\n * parent.remove(child);\n */\n remove(kid: SceneNode) {\n const childIndex = this.#kids.findIndex((child) => child.id === kid.id);\n if (childIndex <= -1) {\n throw new Error(\n `${kid.label ?? kid.id} is not a child of ${this.label ?? this.id}`,\n );\n }\n this.#kids.splice(childIndex, 1);\n kid.#parent = null;\n kid.setDirty();\n }\n\n #adjustWorldPosition(delta: [number, number]) {\n const inverseMatrix = mat3.inverse(this.#parent?.matrix ?? mat3.identity());\n\n // zero out the translation part of the matrix since we're transforming a delta\n // and not a point in space\n inverseMatrix[8] = inverseMatrix[9] = 0;\n\n const localDelta = vec2.transformMat3(delta, inverseMatrix);\n\n this.#transform.position.x += localDelta[0];\n this.#transform.position.y += localDelta[1];\n\n this.setDirty();\n }\n\n /**\n * This marks the node as dirty, invalidating its cache and causing its matrix to be recalculated.\n * This should not be necessary to call directly, but is available for advanced use cases.\n */\n setDirty() {\n this.#cache = null;\n this.#kids.forEach((kid) => kid.setDirty());\n }\n\n /**\n * Parse a node and its descendants from a JSON string.\n * Can be used for deserialization from a file or other source.\n *\n * @example\n *\n * const node = new Node();\n * const json = JSON.stringify(node);\n * const clonedNode = Node.parse(json);\n */\n static parse(json: string) {\n const obj = JSON.parse(json, reviver);\n return new SceneNode(obj);\n }\n\n /**\n * This method usually is not called directly. It will be called automatically by `JSON.stringify`,\n * see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description\n * and {@link SceneNode.parse}.\n *\n * @example\n *\n * const node = new Node();\n * const json = JSON.stringify(node); // calls toJSON()\n * console.log(json)\n */\n toJSON() {\n return {\n id: this.id,\n label: this.label,\n transform: this.#transform,\n layer: this.#layer,\n isActive: this.#isActive,\n kids: this.#kids,\n render: this.#renderComponent,\n };\n }\n}\n\nexport type NodeOptions = {\n /** The unique identifier for the node. */\n id?: number;\n /** The label for the node. */\n label?: string;\n /** The layer for the node. */\n layer?: number;\n /** The rotation for the node in degrees. Cannot be used with `rotationRadians`. */\n rotation?: number;\n /** The rotation for the node in radians. Cannot be used with `rotation`. */\n rotationRadians?: number;\n /** The position for the node. */\n position?: Point;\n /** The scale for the node. */\n scale?: Vec2 | number;\n /** The desired size for the node. */\n size?: Size;\n /** The active state for the node. */\n isActive?: boolean;\n /** The kids for the node. */\n kids?: SceneNode[];\n /** The render component for the node. */\n render?: RenderComponent;\n /** Flip the node horizontally. */\n flipX?: boolean;\n /** Flip the node vertically. */\n flipY?: boolean;\n /** A string key for the node - can be used to reference the node from an external lookup system */\n key?: string;\n};\n\nfunction reviver(key: string, value: any) {\n if (key === \"kids\") {\n return value.map((kid: any) => new SceneNode(kid));\n }\n\n if (Array.isArray(value) && value.every((v) => typeof v === \"number\")) {\n if (value.length === 2) {\n return value as [number, number];\n }\n if (value.length === 3) {\n return value as [number, number, number];\n }\n if (value.length === 4) {\n return value as [number, number, number, number];\n }\n }\n return value;\n}\n\ntype RenderLayoutCache = {\n layer?: number;\n isActive?: boolean;\n matrix?: Mat3;\n bounds?: Bounds;\n};\n\n/**\n * Bounds represent a bounding box of a rectangle in world space\n */\nexport type Bounds = {\n /**\n * for an axis-aligned rectangle, top is the top edge.\n * for a rotated rectangle, it is the topmost point\n */\n top: number;\n /**\n * for an axis-aligned rectangle, left is the left edge.\n * for a rotated rectangle, it is the leftmost point\n */\n left: number;\n /**\n * for an axis-aligned rectangle, right is the right edge.\n * for a rotated rectangle, it is the rightmost point\n */\n right: number;\n /**\n * for an axis-aligned rectangle, bottom is the bottom edge.\n * for a rotated rectangle, it is the bottommost point\n */\n bottom: number;\n /**\n * the center x of the node in world space\n */\n x: number;\n /**\n * the center y of the node in world space\n */\n y: number;\n};\n",
30
+ "import type { ITextShader } from \"../backends/ITextShader\";\nimport type { Color } from \"../coreTypes/Color\";\nimport type { MsdfFont } from \"../text/MsdfFont\";\nimport { measureText } from \"../text/shaping\";\nimport type { TextFormatting } from \"../text/TextFormatting\";\nimport { type NodeOptions, SceneNode } from \"./SceneNode\";\n\nexport const DEFAULT_FONT_SIZE = 14;\n\nexport class TextNode extends SceneNode {\n #text: string;\n #formatting: TextFormatting;\n #font: MsdfFont;\n\n constructor(shader: ITextShader, text: string, opts: TextOptions = {}) {\n const { width, height } = measureText(shader.font, text, opts.wordWrap);\n\n if (text.length > shader.maxCharCount) {\n throw new Error(\n `Text: ${text} exceeds ${shader.maxCharCount} characters. Try using fewer characters or increase the limit in Toodle.attach.`,\n );\n }\n\n const em2px = shader.font.lineHeight / (opts.fontSize ?? DEFAULT_FONT_SIZE);\n\n if (!opts.shrinkToFit && !opts.size) {\n opts.size = { width: width / em2px, height: height / em2px };\n }\n\n super({\n ...opts,\n render: {\n shader,\n writeInstance: (_node, _array, _offset) => {\n throw new Error(\n \"not implemented - needs access to text uniform buffer, dimensions and a model matrix\",\n );\n },\n },\n });\n\n this.#font = shader.font;\n this.#text = text;\n this.#formatting = opts;\n }\n\n get text() {\n return this.#text;\n }\n\n get formatting() {\n return this.#formatting;\n }\n\n get font() {\n return this.#font;\n }\n\n set text(text: string) {\n if (!text) {\n throw new Error(\"text cannot be empty\");\n }\n this.#text = text;\n this.setDirty();\n }\n\n get tint() {\n return this.#formatting.color || { r: 1, g: 1, b: 1, a: 1 };\n }\n\n set tint(tint: Color) {\n this.#formatting.color = tint;\n this.setDirty();\n }\n\n set formatting(formatting: TextFormatting) {\n this.#formatting = formatting;\n this.setDirty();\n }\n}\n\nexport type TextOptions = Omit<NodeOptions, \"render\"> & TextFormatting;\n",
31
+ "import { WgslReflect } from \"wgsl_reflect\";\nimport type { EngineUniform } from \"../../coreTypes/EngineUniform\";\nimport type { SceneNode } from \"../../scene/SceneNode\";\nimport { DEFAULT_FONT_SIZE, TextNode } from \"../../scene/TextNode\";\nimport type { MsdfFont } from \"../../text/MsdfFont\";\nimport {\n findLargestFontSize,\n measureText,\n shapeText,\n} from \"../../text/shaping\";\nimport type { ITextShader } from \"../ITextShader\";\nimport type { FontPipeline } from \"./FontPipeline\";\nimport type { WebGPUBackend } from \"./WebGPUBackend\";\nimport msdfShader from \"./wgsl/text.wgsl\";\n\nconst deets = new WgslReflect(msdfShader);\nconst struct = deets.structs.find((s) => s.name === \"TextBlockDescriptor\");\nif (!struct) {\n throw new Error(\"FormattedText struct not found\");\n}\nconst textDescriptorInstanceSize = struct.size;\n\nexport class WebGPUTextShader implements ITextShader {\n readonly label = \"text\";\n\n #backend: WebGPUBackend;\n #pipeline: GPURenderPipeline;\n #bindGroups: GPUBindGroup[] = [];\n #font: MsdfFont;\n #maxCharCount: number;\n #engineUniformsBuffer: GPUBuffer;\n #descriptorBuffer: GPUBuffer;\n #textBlockBuffer: GPUBuffer;\n #cpuDescriptorBuffer: Float32Array;\n #cpuTextBlockBuffer: Float32Array;\n #instanceIndex = 0;\n #textBlockOffset = 0;\n\n constructor(\n backend: WebGPUBackend,\n pipeline: FontPipeline,\n font: MsdfFont,\n _colorFormat: GPUTextureFormat,\n instanceCount: number,\n ) {\n this.#backend = backend;\n const device = backend.device;\n this.#font = font;\n this.#pipeline = pipeline.pipeline;\n this.#maxCharCount = pipeline.maxCharCount;\n\n this.#descriptorBuffer = device.createBuffer({\n label: \"msdf text descriptor buffer\",\n size: textDescriptorInstanceSize * instanceCount,\n usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,\n });\n\n this.#cpuDescriptorBuffer = new Float32Array(\n (instanceCount * textDescriptorInstanceSize) /\n Float32Array.BYTES_PER_ELEMENT,\n );\n\n this.#cpuTextBlockBuffer = new Float32Array(\n instanceCount * this.maxCharCount * 4,\n );\n\n this.#engineUniformsBuffer = device.createBuffer({\n label: \"msdf view projection matrix\",\n size: Float32Array.BYTES_PER_ELEMENT * 12,\n usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,\n });\n\n this.#textBlockBuffer = device.createBuffer({\n label: \"msdf text buffer\",\n size:\n instanceCount * this.maxCharCount * 4 * Float32Array.BYTES_PER_ELEMENT,\n usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,\n });\n\n // create uniform bind groups\n this.#bindGroups.push(pipeline.fontBindGroup);\n\n this.#bindGroups.push(\n device.createBindGroup({\n label: \"msdf text bind group\",\n layout: pipeline.pipeline.getBindGroupLayout(1),\n entries: [\n {\n binding: 0,\n resource: { buffer: this.#descriptorBuffer },\n },\n {\n binding: 1,\n resource: { buffer: this.#textBlockBuffer },\n },\n ],\n }),\n );\n\n const engineUniformsBindGroup = device.createBindGroup({\n label: \"msdf text uniforms bind group\",\n layout: pipeline.pipeline.getBindGroupLayout(2),\n entries: [\n {\n binding: 0,\n resource: { buffer: this.#engineUniformsBuffer },\n },\n ],\n });\n this.#bindGroups.push(engineUniformsBindGroup);\n }\n\n startFrame(uniform: EngineUniform): void {\n const device = this.#backend.device;\n device.queue.writeBuffer(\n this.#engineUniformsBuffer,\n 0,\n uniform.viewProjectionMatrix as Float32Array,\n );\n this.#instanceIndex = 0;\n this.#textBlockOffset = 0;\n }\n\n processBatch(nodes: SceneNode[]): number {\n if (nodes.length === 0) return 0;\n\n const renderPass = this.#backend.renderPass;\n renderPass.setPipeline(this.#pipeline);\n for (let i = 0; i < this.#bindGroups.length; i++) {\n renderPass.setBindGroup(i, this.#bindGroups[i]);\n }\n\n for (const node of nodes) {\n if (!(node instanceof TextNode)) {\n console.error(node);\n throw new Error(\n `Tried to use WebGPUTextShader on something that isn't a TextNode: ${node}`,\n );\n }\n const text = node.text;\n const formatting = node.formatting;\n const measurements = measureText(this.#font, text, formatting.wordWrap);\n\n const textBlockSize = 4 * text.length;\n\n // Calculate the buffer offset to get the current TextBlockDescriptor\n const textDescriptorOffset =\n (this.#instanceIndex * textDescriptorInstanceSize) /\n Float32Array.BYTES_PER_ELEMENT;\n\n // Shape text and pack to the buffer...\n this.#cpuDescriptorBuffer.set(node.matrix, textDescriptorOffset);\n\n // Color\n this.#cpuDescriptorBuffer.set(\n [node.tint.r, node.tint.g, node.tint.b, node.tint.a],\n textDescriptorOffset + 12,\n );\n\n // Font Size\n const size = node.size ?? measurements;\n const fontSize = formatting.shrinkToFit\n ? findLargestFontSize(this.#font, text, size, formatting)\n : formatting.fontSize;\n const actualFontSize = fontSize || DEFAULT_FONT_SIZE;\n this.#cpuDescriptorBuffer[textDescriptorOffset + 16] = actualFontSize;\n\n // Alignment and dimensions\n this.#cpuDescriptorBuffer[textDescriptorOffset + 17] =\n formatting.align === \"center\" ? 0 : measurements.width;\n this.#cpuDescriptorBuffer[textDescriptorOffset + 18] =\n measurements.height;\n\n // Text block buffer offset\n // the shader at text.wgsl.ts is expecting an index into the text block buffer,\n // which is an array<vec4f> hence the division by 4\n this.#cpuDescriptorBuffer[textDescriptorOffset + 19] =\n this.#textBlockOffset / 4;\n\n shapeText(\n this.#font,\n text,\n size,\n actualFontSize,\n formatting,\n this.#cpuTextBlockBuffer,\n this.#textBlockOffset,\n );\n\n // Write instance data\n this.#backend.device.queue.writeBuffer(\n this.#descriptorBuffer,\n textDescriptorOffset * Float32Array.BYTES_PER_ELEMENT,\n this.#cpuDescriptorBuffer,\n textDescriptorOffset,\n textDescriptorInstanceSize / Float32Array.BYTES_PER_ELEMENT,\n );\n\n this.#backend.device.queue.writeBuffer(\n this.#textBlockBuffer,\n this.#textBlockOffset * Float32Array.BYTES_PER_ELEMENT,\n this.#cpuTextBlockBuffer,\n this.#textBlockOffset,\n textBlockSize,\n );\n\n this.#textBlockOffset += textBlockSize;\n\n // Draw text\n renderPass.draw(\n 4,\n measurements.printedCharCount,\n 4 * this.#instanceIndex,\n 0,\n );\n this.#instanceIndex++;\n }\n\n return nodes.length;\n }\n\n endFrame(): void {\n // No cleanup needed\n }\n\n get font() {\n return this.#font;\n }\n\n get maxCharCount() {\n return this.#maxCharCount;\n }\n}\n",
22
32
  "import type { IBackendShader } from \"../backends/IBackendShader\";\nimport type { SceneNode } from \"./SceneNode\";\n\ntype Layer = {\n z: number;\n pipelines: Pipeline[];\n};\n\nexport type Pipeline<TNode extends SceneNode = SceneNode> = {\n shader: IBackendShader;\n nodes: TNode[];\n};\n\nexport class Batcher {\n nodes: SceneNode[] = [];\n layers: Layer[] = [];\n pipelines: Pipeline[] = [];\n\n enqueue(node: SceneNode) {\n if (node.renderComponent && node.isActive) {\n this.nodes.push(node);\n const z = node.layer;\n const layer = this.#findOrCreateLayer(z);\n const pipeline = this.#findOrCreatePipeline(\n layer,\n node.renderComponent.shader,\n );\n pipeline.nodes.push(node);\n }\n\n for (const kid of node.kids) {\n this.enqueue(kid);\n }\n }\n\n flush() {\n this.nodes = [];\n this.layers = [];\n this.pipelines = [];\n }\n\n #findOrCreateLayer(z: number) {\n let layer = this.layers.find((l) => l.z === z);\n if (!layer) {\n layer = { z, pipelines: [] };\n this.layers.push(layer);\n this.layers.sort((a, b) => a.z - b.z);\n }\n return layer;\n }\n\n #findOrCreatePipeline(layer: Layer, shader: IBackendShader) {\n let pipeline = layer.pipelines.find((p) => p.shader === shader);\n if (!pipeline) {\n pipeline = { shader, nodes: [] };\n layer.pipelines.push(pipeline);\n this.pipelines.push(pipeline);\n }\n return pipeline;\n }\n}\n",
23
- "/**\n * Convert degrees to radians\n * @param degrees Angle in degrees\n * @returns Angle in radians\n */\nexport function deg2rad(degrees: number): number {\n return degrees * (Math.PI / 180);\n}\n\n/**\n * Convert radians to degrees\n * @param radians Angle in radians\n * @returns Angle in degrees\n */\nexport function rad2deg(radians: number): number {\n return radians * (180 / Math.PI);\n}\n",
24
33
  "import { mat3 } from \"wgpu-matrix\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport { deg2rad, rad2deg } from \"../math/angle\";\nimport { createViewMatrix } from \"../math/matrix\";\n\nexport class Camera {\n #position: Vec2 = { x: 0, y: 0 };\n #zoom = 1;\n #rotation = 0;\n #isDirty = true;\n #matrix = mat3.create();\n\n get zoom() {\n return this.#zoom;\n }\n\n set zoom(value: number) {\n this.#zoom = value;\n this.setDirty();\n }\n\n get rotation() {\n return rad2deg(this.#rotation);\n }\n\n set rotation(value: number) {\n this.#rotation = deg2rad(value);\n this.setDirty();\n }\n\n get rotationRadians() {\n return this.#rotation;\n }\n\n set rotationRadians(value: number) {\n this.#rotation = value;\n this.setDirty();\n }\n\n get x() {\n return this.#position.x;\n }\n\n get y() {\n return this.#position.y;\n }\n\n set x(value: number) {\n this.#position.x = value;\n this.setDirty();\n }\n\n set y(value: number) {\n this.#position.y = value;\n this.setDirty();\n }\n\n get matrix() {\n if (this.#isDirty) {\n this.#isDirty = false;\n this.#matrix = createViewMatrix(this, this.#matrix);\n }\n return this.#matrix;\n }\n\n setDirty() {\n this.#isDirty = true;\n }\n}\n",
25
- "import { type Mat3, mat3, vec2 } from \"wgpu-matrix\";\nimport type { Point } from \"../coreTypes/Point\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Transform } from \"../coreTypes/Transform\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport { deg2rad, rad2deg } from \"../math/angle\";\nimport { createModelMatrix } from \"../math/matrix\";\nimport type { RenderComponent } from \"./RenderComponent\";\n\n/**\n * A node in the scene graph.\n *\n * This is a base class and is fairly low level. You will probably want to interact with\n * the wrapper classes {@link Toodle['Node']} or {@link Toodle['Quad']} instead.\n */\nexport class SceneNode {\n static nextId = 1;\n\n id: number;\n label?: string;\n\n #isActive = true;\n #layer: null | number = null;\n #parent: SceneNode | null = null;\n #key: string | null = null;\n #kids: SceneNode[] = [];\n #transform: Transform;\n #matrix: Mat3 = mat3.identity();\n #renderComponent: RenderComponent | null = null;\n #size: Size | null = null;\n #positionProxy: Point;\n #scaleProxy: Vec2;\n\n #cache: RenderLayoutCache | null = null;\n\n constructor(opts?: NodeOptions) {\n this.id = opts?.id ?? SceneNode.nextId++;\n\n if (opts?.rotation && opts?.rotationRadians) {\n throw new Error(\n `Cannot set both rotation and rotationRadians for node ${opts?.label ?? this.id}`,\n );\n }\n\n this.#transform = {\n position: opts?.position ?? { x: 0, y: 0 },\n scale: { x: 1, y: 1 },\n size: opts?.size ?? { width: 1, height: 1 },\n rotation: opts?.rotationRadians ?? 0,\n };\n if (opts?.scale) this.scale = opts.scale;\n if (opts?.rotation) this.rotation = opts.rotation;\n\n this.#matrix = mat3.identity();\n this.#renderComponent = opts?.render ?? null;\n this.#layer = opts?.layer ?? null;\n this.#isActive = opts?.isActive ?? true;\n this.label = opts?.label ?? undefined;\n this.#size = opts?.size ?? null;\n this.#key = opts?.key ?? null;\n\n for (const kid of opts?.kids ?? []) {\n this.add(kid);\n }\n\n const self = this;\n this.#positionProxy = {\n get x() {\n return self.#transform.position.x;\n },\n set x(value: number) {\n self.#transform.position.x = value;\n self.setDirty();\n },\n get y() {\n return self.#transform.position.y;\n },\n set y(value: number) {\n self.#transform.position.y = value;\n self.setDirty();\n },\n };\n\n this.#scaleProxy = {\n get x() {\n return self.#transform.scale.x;\n },\n set x(value: number) {\n self.#transform.scale.x = value;\n self.setDirty();\n },\n get y() {\n return self.#transform.scale.y;\n },\n set y(value: number) {\n self.#transform.scale.y = value;\n self.setDirty();\n },\n };\n }\n\n /**\n * Add a child node and return the child node with this node set as its parent.\n */\n add<T extends SceneNode>(kid: T, index?: number) {\n kid.#parent = this;\n if (index === undefined) {\n this.#kids.push(kid);\n } else {\n this.#kids.splice(index, 0, kid);\n }\n kid.setDirty();\n return kid;\n }\n\n /**\n * Returns an array of the node's immediate kids.\n *\n * Note that these will be returned with a `SceneNode` type, but can be narrowed if you know the type of them,\n * for eg:\n *\n * ```ts\n * for (const kid of node.kids) {\n * if (kid instanceof Scene.QuadNode) {\n * console.log(kid.color)\n * }\n *\n * if (kid instanceof Text.TextNode) {\n * console.log(kid.text)\n * }\n * }\n * ```\n */\n get kids() {\n return this.#kids;\n }\n\n /**\n * The children of the node. Alias for {@link SceneNode.kids}.\n */\n get children() {\n return this.#kids;\n }\n\n /**\n * Returns a reference to the node's transform.\n *\n * Do not edit this transform directly as it won't invalidate cache's correctly.\n * Instead, use convenience properties {@link SceneNode.position}, {@link SceneNode.scale}, and {@link SceneNode.rotation}.\n */\n get transform(): Transform {\n return this.#transform;\n }\n\n /**\n * Returns the key of the node as set when the node was created.\n *\n * This key can be used to reference the node from an external lookup system.\n */\n get key() {\n return this.#key ?? \"\";\n }\n\n /**\n * Returns the parent node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/transforms.html\n */\n get parent() {\n return this.#parent;\n }\n\n set position(value: Point) {\n this.#transform.position = value;\n this.setDirty();\n }\n\n /**\n * Position of the node in local space. For world space, use {@link SceneNode.bounds}.\n */\n get position() {\n return this.#positionProxy;\n }\n\n set x(value: number) {\n this.#transform.position.x = value;\n this.setDirty();\n }\n\n /**\n * The local x coordinate of the node.\n */\n get x() {\n return this.#transform.position.x;\n }\n\n set y(value: number) {\n this.#transform.position.y = value;\n this.setDirty();\n }\n\n /**\n * The local y coordinate of the node.\n */\n get y() {\n return this.#transform.position.y;\n }\n\n set rotation(value: number) {\n this.#transform.rotation = deg2rad(value);\n this.setDirty();\n }\n\n /**\n * The rotation of the node in degrees.\n * For radians, see {@link SceneNode.rotationRadians}.\n */\n get rotation() {\n return rad2deg(this.#transform.rotation);\n }\n\n /**\n * The rotation of the node in radians.\n * For degrees, see {@link SceneNode.rotation}.\n */\n get rotationRadians() {\n return this.#transform.rotation;\n }\n\n set rotationRadians(value: number) {\n this.#transform.rotation = value;\n this.setDirty();\n }\n\n /**\n * The scale of the node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/quad-size-scale.html\n */\n get scale(): Vec2 {\n return this.#scaleProxy;\n }\n\n set scale(value: Vec2 | number) {\n if (typeof value === \"number\") {\n this.#transform.scale = { x: value, y: value };\n } else {\n this.#transform.scale = value;\n }\n this.setDirty();\n }\n\n /**\n * The size of the node. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/quad-size-scale.html\n */\n set size(value: Size | null) {\n this.#size = value;\n this.setDirty();\n }\n\n get size() {\n return this.#size;\n }\n\n /**\n * The aspect ratio of the node.\n * If the node has no defined size, the aspect ratio will be 1.\n */\n get aspectRatio() {\n if (!this.#size) {\n console.warn(\n \"Attempted to get aspect ratio of a node with no ideal size\",\n );\n return 1;\n }\n return this.#size.width / this.#size.height;\n }\n\n /**\n * isActive is a boolean that determines if the node is active.\n * If a node is not active, it will not be drawn.\n * If any of a node's ancestors are not active, the node will not be active.\n */\n get isActive() {\n if (!this.#cache?.isActive) {\n this.#cache ??= {};\n\n let parent = this as SceneNode;\n let isActive = this.#isActive;\n while (isActive && parent.#parent) {\n parent = parent.#parent;\n isActive = isActive && parent.#isActive;\n }\n this.#cache.isActive = isActive;\n }\n return this.#cache.isActive;\n }\n\n set isActive(value: boolean) {\n this.#isActive = value;\n this.setDirty();\n }\n\n /**\n * Nodes are batched for drawing based on their layer. Each layer will submit a separate draw call.\n * Nodes with the same layer will be drawn in the order they are drawn with toodle.Draw\n * Nodes with a higher layer will be drawn on top of nodes with a lower layer.\n */\n get layer() {\n if (this.#layer != null) {\n return this.#layer;\n }\n\n if (!this.#cache?.layer) {\n this.#cache ??= {};\n\n let parent = this as SceneNode;\n while (parent.#parent) {\n parent = parent.#parent;\n if (parent.hasExplicitLayer) {\n this.#cache.layer = parent.#layer!;\n return this.#cache.layer;\n }\n }\n\n this.#cache.layer = 0;\n }\n\n return this.#cache.layer;\n }\n\n /**\n * Returns true if the node has an explicit layer set.\n *\n * If the node does not have an explicit layer but one of its ancestors does,\n * its layer will be inherited from its parent.\n */\n get hasExplicitLayer() {\n return this.#layer != null;\n }\n\n set layer(value: number) {\n this.#layer = value;\n this.setDirty();\n }\n\n get renderComponent() {\n return this.#renderComponent;\n }\n\n /**\n * This is the model matrix of the node. See https://webgpufundamentals.org/webgpu/lessons/webgpu-matrix-math.html for more information.\n *\n * Do not edit this matrix directly as it is derived from the node's transform and will be overwritten.\n */\n get matrix(): Float32Array {\n if (!this.#cache?.matrix) {\n this.#cache ??= {};\n\n if (this.#parent) {\n mat3.clone(this.#parent.matrix, this.#matrix);\n } else {\n mat3.identity(this.#matrix);\n }\n this.#cache.matrix = createModelMatrix(this.transform, this.#matrix);\n }\n return this.#cache.matrix;\n }\n\n /**\n * Get the bounds of the node in world space\n */\n get bounds(): Bounds {\n if (!this.#cache?.bounds) {\n this.#cache ??= {};\n\n const height = this.size?.height ?? 0;\n const width = this.size?.width ?? 0;\n\n // we don't need to add the node's position to the points\n // because the points are relative to the node's center\n // and the matrix already applies the node's position\n const corners = [\n vec2.transformMat3([-width / 2, height / 2], this.matrix),\n vec2.transformMat3([width / 2, height / 2], this.matrix),\n vec2.transformMat3([-width / 2, -height / 2], this.matrix),\n vec2.transformMat3([width / 2, -height / 2], this.matrix),\n ];\n const center = vec2.transformMat3([0, 0], this.matrix);\n\n const xValues = corners.map((c) => c[0]);\n const yValues = corners.map((c) => c[1]);\n\n this.#cache.bounds = {\n x: center[0],\n y: center[1],\n left: Math.min(xValues[0], xValues[1], xValues[2], xValues[3]),\n right: Math.max(xValues[0], xValues[1], xValues[2], xValues[3]),\n top: Math.max(yValues[0], yValues[1], yValues[2], yValues[3]),\n bottom: Math.min(yValues[0], yValues[1], yValues[2], yValues[3]),\n };\n }\n return this.#cache.bounds;\n }\n\n /**\n * Set the bounds of the node in world space.\n */\n setBounds(bounds: Partial<Bounds>) {\n if (bounds.left !== undefined) this.left = bounds.left;\n if (bounds.right !== undefined) this.right = bounds.right;\n if (bounds.top !== undefined) this.top = bounds.top;\n if (bounds.bottom !== undefined) this.bottom = bounds.bottom;\n if (bounds.x !== undefined) this.centerX = bounds.x;\n if (bounds.y !== undefined) this.centerY = bounds.y;\n\n return this;\n }\n\n /**\n * Set the left edge of the node in world space.\n */\n set left(value: number) {\n this.#adjustWorldPosition([value - this.bounds.left, 0]);\n }\n\n /**\n * Set the bottom edge of the node in world space.\n */\n set bottom(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.bottom]);\n }\n\n /**\n * Set the top edge of the node in world space.\n */\n set top(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.top]);\n }\n\n /**\n * Set the right edge of the node in world space.\n */\n set right(value: number) {\n this.#adjustWorldPosition([value - this.bounds.right, 0]);\n }\n\n /**\n * Set the center x of the node in world space.\n */\n set centerX(value: number) {\n this.#adjustWorldPosition([value - this.bounds.x, 0]);\n }\n\n /**\n * Set the center y of the node in world space.\n */\n set centerY(value: number) {\n this.#adjustWorldPosition([0, value - this.bounds.y]);\n }\n\n /**\n * Removes references to this node and all of its children.\n *\n * Call this to remove a node from a parent's tree and before garbage collection to prevent a node from being retained.\n *\n * @example\n *\n * const parent = toodle.Node();\n * const child = toodle.Quad();\n * const grandchild = toodle.Quad();\n *\n * parent.add(child);\n * child.add(grandchild);\n *\n * // Will delete `child` and `grandchild`\n * child.delete();\n */\n delete() {\n this.#parent?.remove(this);\n for (const child of this.#kids) {\n child.delete();\n }\n this.#kids = [];\n this.#isActive = false;\n this.#layer = null;\n this.#renderComponent = null;\n }\n\n /**\n * Remove any child node from this node. Warns if the child is not found.\n *\n * The node will still exist as an orphaned node and can still be passed to toodle.Draw or added to another parent.\n *\n * Alternatively, calling `node.delete()` on the child will remove it and set it to inactive.\n *\n * @example\n * const parent = toodle.Node();\n * const child = toodle.Quad();\n * const grandchild = toodle.Quad();\n *\n * parent.add(child);\n * child.add(grandchild);\n *\n * parent.remove(child);\n */\n remove(kid: SceneNode) {\n const childIndex = this.#kids.findIndex((child) => child.id === kid.id);\n if (childIndex <= -1) {\n throw new Error(\n `${kid.label ?? kid.id} is not a child of ${this.label ?? this.id}`,\n );\n }\n this.#kids.splice(childIndex, 1);\n kid.#parent = null;\n kid.setDirty();\n }\n\n #adjustWorldPosition(delta: [number, number]) {\n const inverseMatrix = mat3.inverse(this.#parent?.matrix ?? mat3.identity());\n\n // zero out the translation part of the matrix since we're transforming a delta\n // and not a point in space\n inverseMatrix[8] = inverseMatrix[9] = 0;\n\n const localDelta = vec2.transformMat3(delta, inverseMatrix);\n\n this.#transform.position.x += localDelta[0];\n this.#transform.position.y += localDelta[1];\n\n this.setDirty();\n }\n\n /**\n * This marks the node as dirty, invalidating its cache and causing its matrix to be recalculated.\n * This should not be necessary to call directly, but is available for advanced use cases.\n */\n setDirty() {\n this.#cache = null;\n this.#kids.forEach((kid) => kid.setDirty());\n }\n\n /**\n * Parse a node and its descendants from a JSON string.\n * Can be used for deserialization from a file or other source.\n *\n * @example\n *\n * const node = new Node();\n * const json = JSON.stringify(node);\n * const clonedNode = Node.parse(json);\n */\n static parse(json: string) {\n const obj = JSON.parse(json, reviver);\n return new SceneNode(obj);\n }\n\n /**\n * This method usually is not called directly. It will be called automatically by `JSON.stringify`,\n * see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#description\n * and {@link SceneNode.parse}.\n *\n * @example\n *\n * const node = new Node();\n * const json = JSON.stringify(node); // calls toJSON()\n * console.log(json)\n */\n toJSON() {\n return {\n id: this.id,\n label: this.label,\n transform: this.#transform,\n layer: this.#layer,\n isActive: this.#isActive,\n kids: this.#kids,\n render: this.#renderComponent,\n };\n }\n}\n\nexport type NodeOptions = {\n /** The unique identifier for the node. */\n id?: number;\n /** The label for the node. */\n label?: string;\n /** The layer for the node. */\n layer?: number;\n /** The rotation for the node in degrees. Cannot be used with `rotationRadians`. */\n rotation?: number;\n /** The rotation for the node in radians. Cannot be used with `rotation`. */\n rotationRadians?: number;\n /** The position for the node. */\n position?: Point;\n /** The scale for the node. */\n scale?: Vec2 | number;\n /** The desired size for the node. */\n size?: Size;\n /** The active state for the node. */\n isActive?: boolean;\n /** The kids for the node. */\n kids?: SceneNode[];\n /** The render component for the node. */\n render?: RenderComponent;\n /** Flip the node horizontally. */\n flipX?: boolean;\n /** Flip the node vertically. */\n flipY?: boolean;\n /** A string key for the node - can be used to reference the node from an external lookup system */\n key?: string;\n};\n\nfunction reviver(key: string, value: any) {\n if (key === \"kids\") {\n return value.map((kid: any) => new SceneNode(kid));\n }\n\n if (Array.isArray(value) && value.every((v) => typeof v === \"number\")) {\n if (value.length === 2) {\n return value as [number, number];\n }\n if (value.length === 3) {\n return value as [number, number, number];\n }\n if (value.length === 4) {\n return value as [number, number, number, number];\n }\n }\n return value;\n}\n\ntype RenderLayoutCache = {\n layer?: number;\n isActive?: boolean;\n matrix?: Mat3;\n bounds?: Bounds;\n};\n\n/**\n * Bounds represent a bounding box of a rectangle in world space\n */\nexport type Bounds = {\n /**\n * for an axis-aligned rectangle, top is the top edge.\n * for a rotated rectangle, it is the topmost point\n */\n top: number;\n /**\n * for an axis-aligned rectangle, left is the left edge.\n * for a rotated rectangle, it is the leftmost point\n */\n left: number;\n /**\n * for an axis-aligned rectangle, right is the right edge.\n * for a rotated rectangle, it is the rightmost point\n */\n right: number;\n /**\n * for an axis-aligned rectangle, bottom is the bottom edge.\n * for a rotated rectangle, it is the bottommost point\n */\n bottom: number;\n /**\n * the center x of the node in world space\n */\n x: number;\n /**\n * the center y of the node in world space\n */\n y: number;\n};\n",
26
34
  "import { type Mat3, mat3 } from \"wgpu-matrix\";\nimport type { IBackendShader } from \"../backends/IBackendShader\";\nimport type { Color } from \"../coreTypes/Color\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport type { Toodle } from \"../Toodle\";\nimport type { AssetManager, TextureId } from \"../textures/AssetManager\";\nimport type { AtlasCoords, TexelRegion } from \"../textures/types\";\nimport { assert } from \"../utils/assert\";\nimport type { Pool } from \"../utils/pool\";\nimport { type NodeOptions, SceneNode } from \"./SceneNode\";\n\nconst PRIMITIVE_TEXTURE = \"__primitive__\";\nconst RESERVED_PRIMITIVE_INDEX_START = 1000;\n// this must match the circle index in the default fragment shader of quad.wgsl.ts\nconst CIRCLE_INDEX = 1001;\n\n// a default region used for shapes\nconst DEFAULT_REGION: TexelRegion = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n};\n\n/**\n * A node in the scene graph that renders a textured quad.\n *\n * This is a base class and is fairly low level. You will probably want to interact with\n * the wrapper class {@link Toodle.Quad} instead.\n */\nexport class QuadNode extends SceneNode {\n assetManager: AssetManager;\n\n #color: Color;\n #atlasCoords: AtlasCoords;\n #region: TexelRegion;\n #matrixPool: Pool<Mat3>;\n #flip: Vec2;\n /**\n * The offset of the cropped texture from the original texture\n * If uncropped, this will be 0,0\n */\n #cropOffset: Vec2;\n /**\n * The ratio of the cropped texture width and height to the original texture width and height\n * If uncropped, this will be 1,1\n */\n #cropRatio: Size;\n #atlasSize: Size;\n\n #textureId: TextureId;\n #writeInstance?: (array: Float32Array, offset: number) => void;\n\n constructor(options: QuadOptions, matrixPool: Pool<Mat3>) {\n assert(\n options.shader,\n \"QuadNode requires a shader to be explicitly provided\",\n );\n assert(options.size, \"QuadNode requires a size to be explicitly provided\");\n\n assert(\n options.atlasCoords,\n \"QuadNode requires atlas coords to be explicitly provided\",\n );\n\n options.render ??= {\n shader: options.shader,\n writeInstance: writeQuadInstance,\n };\n\n super(options);\n\n assert(options.assetManager, \"QuadNode requires an asset manager\");\n this.assetManager = options.assetManager;\n\n if (\n options.atlasCoords &&\n options.atlasCoords.atlasIndex >= RESERVED_PRIMITIVE_INDEX_START\n ) {\n this.#textureId = PRIMITIVE_TEXTURE;\n this.#region = DEFAULT_REGION;\n this.#atlasSize = DEFAULT_REGION;\n } else {\n assert(\n options.textureId,\n \"QuadNode requires texture id to be explicitly provided\",\n );\n this.#textureId = options.textureId;\n\n assert(\n options.region,\n \"QuadNode requires a region to be explicitly provided\",\n );\n this.#region = options.region;\n\n assert(\n options.atlasSize,\n \"QuadNode requires atlas size to be explicitly provided\",\n );\n this.#atlasSize = options.atlasSize;\n }\n\n this.#atlasCoords = options.atlasCoords;\n this.#color = options.color ?? { r: 1, g: 1, b: 1, a: 1 };\n this.#matrixPool = matrixPool;\n this.#flip = { x: options.flipX ? -1 : 1, y: options.flipY ? -1 : 1 };\n this.#cropOffset = options.cropOffset ?? { x: 0, y: 0 };\n this.#cropRatio = !this.#atlasCoords.uvScaleCropped\n ? { width: 1, height: 1 }\n : {\n width:\n this.#atlasCoords.uvScaleCropped.width /\n this.#atlasCoords.uvScale.width,\n height:\n this.#atlasCoords.uvScaleCropped.height /\n this.#atlasCoords.uvScale.height,\n };\n this.#writeInstance = options.writeInstance;\n }\n\n /**\n * The tint color of the quad.\n * When drawing shapes, this will be the fill color.\n * When drawing textures, this will be the color multiplier by default.\n * You can also use this value in fragment shaders by referencing `vertex.engine_tint`\n */\n get color() {\n return this.#color;\n }\n\n set color(value: Color) {\n this.#color = value;\n }\n\n /**\n * The size of the quad. See https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/quad-size-scale.html\n */\n get size() {\n const size = super.size;\n if (!size) {\n throw new Error(\"QuadNode requires a size\");\n }\n return size;\n }\n\n set size(val: Size) {\n super.size = val;\n }\n\n /**\n * This is the final model matrix used to render the quad, which\n * may differ from the matrix passed down to the node's children.\n * Properties like `flipX` and `flipY` or `size` are applied here but not inherited by children.\n */\n get matrixWithSize() {\n const matrix = mat3.clone(this.matrix, this.#matrixPool.get());\n mat3.scale(\n matrix,\n [this.size.width * this.#flip.x, this.size.height * this.#flip.y],\n matrix,\n );\n\n return matrix;\n }\n\n /**\n * The atlas coordinates for the quad. These determine the region in the texture atlas\n * that is sampled for rendering in normalized uv space.\n */\n get atlasCoords() {\n return this.#atlasCoords;\n }\n\n /**\n * A subregion of the texture to render.\n * This is useful for rendering a single sprite from a spritesheet for instance.\n * It defaults to the full texture.\n */\n get region() {\n return this.#region;\n }\n\n get writeInstance() {\n return this.#writeInstance;\n }\n\n /**\n * Whether the image is mirrored horizontally.\n *\n * `true` means the image is mirrored (equivalent to a scale.x of -1),\n * `false` means it is not mirrored.\n */\n get flipX(): boolean {\n return this.#flip.x === -1;\n }\n\n /**\n * Sets whether the image is mirrored horizontally.\n *\n * `true` mirrors the image (equivalent to a scale.x of -1),\n * `false` restores normal orientation.\n */\n set flipX(value: boolean) {\n this.#flip.x = value ? -1 : 1;\n this.setDirty();\n }\n\n /**\n * Whether the image is mirrored vertically.\n *\n * `true` means the image is mirrored (equivalent to a scale.y of -1),\n * `false` means it is not mirrored.\n */\n get flipY(): boolean {\n return this.#flip.y === -1;\n }\n\n /**\n * Sets whether the image is mirrored vertically.\n *\n * `true` mirrors the image (equivalent to a scale.y of -1),\n * `false` restores normal orientation.\n */\n set flipY(value: boolean) {\n this.#flip.y = value ? -1 : 1;\n this.setDirty();\n }\n\n /**\n * The drawing offset of the texture.\n * This can be used to offset the texture from the origin of the quad.\n */\n get cropOffset(): Vec2 {\n return this.#cropOffset;\n }\n\n /**\n * The drawing offset of the texture.\n * This can be used to offset the texture from the origin of the quad.\n */\n set cropOffset(value: Vec2) {\n this.#cropOffset = value;\n }\n\n get textureId() {\n return this.#textureId;\n }\n\n /**\n * Whether this quad is rendering a primitive shape like a line or a circle/rect.\n */\n get isPrimitive() {\n return this.#textureId === PRIMITIVE_TEXTURE;\n }\n\n /**\n * Whether this quad is rendering a circle.\n */\n get isCircle() {\n return this.#atlasCoords.atlasIndex === CIRCLE_INDEX;\n }\n\n extra = {\n /**\n * Sets the atlas coords for the quad. This is for advanced use cases and by default these are\n * set automatically to reference the right texture atlas region.\n * @param value - The new atlas coords.\n */\n setAtlasCoords: (value: AtlasCoords) => {\n this.#atlasCoords = value;\n },\n\n /**\n * Returns the crop ratio for the quad. This is the relative difference in size\n * between the cropped and uncropped texture, and will be 1 if the quad has no transparent pixels\n * or if it is loaded without cropping..\n */\n cropRatio: () => {\n return this.#cropRatio;\n },\n\n /**\n * Returns the size of the texture atlas in texels, by default this is 4096x4096\n */\n atlasSize: () => {\n return this.#atlasSize;\n },\n };\n}\n\nexport type QuadOptions = NodeOptions & {\n textureId?: TextureId;\n /**\n * A subregion of the texture to render.\n * This is useful for rendering a single sprite from a spritesheet for instance.\n * It defaults to the full texture.\n */\n region?: TexelRegion;\n /**\n * Atlas coordinates are almost always set by toodle and the asset manager.\n * For advanced use cases, you can set these yourself to control what uvs are sampled\n * from the texture atlas.\n */\n atlasCoords?: AtlasCoords;\n\n assetManager?: AssetManager;\n\n shader?: IBackendShader;\n writeInstance?: (array: Float32Array, offset: number) => void;\n color?: Color;\n /**\n * flipX mirrors the image horizontally (equivalent to a scale.x multiplication\n * by -1) but allows for independent scaling\n */\n flipX?: boolean;\n /**\n * flipY mirrors the image vertically (equivalent to a scale.y multiplication\n * by -1) but allows for independent scaling\n */\n flipY?: boolean;\n /**\n * The offset of the cropped texture from the original texture\n * If uncropped, this will be 0,0\n */\n cropOffset?: Vec2;\n\n /**\n * The size of the texture atlas in texels. This is almost always set by toodle.\n */\n atlasSize?: Size;\n\n /**\n * The matrix pool to use for the quad.\n * This is used to avoid creating new matrices for each quad.\n */\n matrixPool?: Pool<Mat3>;\n};\n\nfunction writeQuadInstance(\n node: SceneNode,\n array: Float32Array,\n offset: number,\n) {\n if (!(node instanceof QuadNode)) {\n throw new Error(\"QuadNode.writeInstance can only be called on QuadNodes\");\n }\n\n array.set(node.matrixWithSize, offset);\n\n array.set(\n [node.color.r, node.color.g, node.color.b, node.color.a],\n offset + 12,\n );\n\n const region = node.region;\n if (node.textureId === PRIMITIVE_TEXTURE) {\n array.set(\n [\n node.atlasCoords.uvOffset.x,\n node.atlasCoords.uvOffset.y,\n node.atlasCoords.uvScale.width,\n node.atlasCoords.uvScale.height,\n ],\n offset + 16,\n );\n } else {\n const atlasSize = node.extra.atlasSize();\n array.set(\n [\n node.atlasCoords.uvOffset.x + region.x / atlasSize.width,\n node.atlasCoords.uvOffset.y + region.y / atlasSize.height,\n region.width / atlasSize.width,\n region.height / atlasSize.height,\n ],\n offset + 16,\n );\n }\n\n array.set(\n [\n // convert the offset in world space to the offset in the local space of the quad\n // this offset is applied to the unit quad _before_ the model matrix is applied\n // we divide by 2 because we want the center of the remaining region and not the full shift.\n // for example, if we crop the leftmost 90px of a 100px wide texture\n // we want the offset to be 45px and not 90px\n node.cropOffset.x / 2 / (node.atlasCoords.originalSize.width || 1),\n node.cropOffset.y / 2 / (node.atlasCoords.originalSize.height || 1),\n node.extra.cropRatio().width,\n node.extra.cropRatio().height,\n ],\n offset + 20,\n );\n\n new DataView(array.buffer).setUint32(\n array.byteOffset + (offset + 24) * Float32Array.BYTES_PER_ELEMENT,\n node.atlasCoords.atlasIndex,\n true,\n );\n\n node.writeInstance?.(array, offset + 28);\n\n return 1;\n}\n",
27
35
  "import { type Mat3, mat3 } from \"wgpu-matrix\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport type { TextureId } from \"../textures/AssetManager\";\nimport type { AtlasCoords } from \"../textures/types\";\nimport { assert } from \"../utils/assert\";\nimport type { Pool } from \"../utils/pool\";\nimport { QuadNode, type QuadOptions } from \"./QuadNode\";\nimport type { SceneNode } from \"./SceneNode\";\n\nconst MAT3_SIZE = 12;\nconst VEC4F_SIZE = 4;\n\nexport type JumboTileDef = Required<JumboTileOptions>;\n\nexport type JumboTileOptions = {\n /** Texture id of the tile */\n textureId: TextureId;\n /** The offset of this tile in texels from the top left of the full texture */\n offset: Vec2;\n /** The size of the tile in texels. If not provided, the size will be inferred from the texture atlas. */\n size?: Size;\n /** The coordinates of the tile in the texture atlas. If not provided, the size will be read from the loaded texture. */\n atlasCoords?: AtlasCoords;\n};\n\nexport type JumboQuadOptions = Omit<QuadOptions, \"atlasCoords\"> & {\n tiles: JumboTileOptions[];\n};\n\nexport class JumboQuadNode extends QuadNode {\n #tiles: Required<JumboTileOptions>[];\n #matrixPool: Pool<Mat3>;\n\n constructor(options: JumboQuadOptions, matrixPool: Pool<Mat3>) {\n assert(\n options.shader,\n \"JumboQuadNode requires a shader to be explicitly provided\",\n );\n\n assert(\n options.tiles && options.tiles.length > 0,\n \"JumboQuadNode requires at least one tile to be provided\",\n );\n\n options.render ??= {\n shader: options.shader,\n writeInstance: writeJumboQuadInstance,\n };\n\n super(\n {\n ...options,\n atlasCoords: options.tiles[0].atlasCoords,\n },\n matrixPool,\n );\n\n this.#matrixPool = matrixPool;\n\n this.#tiles = [];\n\n for (const tile of options.tiles) {\n assert(\n tile.atlasCoords,\n \"JumboQuadNode requires atlas coords to be provided\",\n );\n\n assert(tile.size, \"JumboQuadNode requires a size to be provided\");\n\n this.#tiles.push({\n textureId: tile.textureId,\n offset: tile.offset,\n size: tile.size,\n atlasCoords: tile.atlasCoords,\n });\n }\n }\n\n get atlasCoords(): AtlasCoords {\n throw new Error(\"JumboQuadNode does not have a single atlas coords\");\n }\n\n get tiles(): JumboTileDef[] {\n return this.#tiles;\n }\n\n getTileMatrix(tile: JumboTileDef) {\n const matrix = mat3.clone(this.matrix, this.#matrixPool.get());\n\n // Find maximum dimensions across all tiles\n const originalSize = {\n width: Math.max(...this.#tiles.map((t) => t.offset.x + t.size.width)),\n height: Math.max(...this.#tiles.map((t) => t.offset.y + t.size.height)),\n };\n\n const proportionalSize = {\n width: this.size.width / originalSize.width,\n height: this.size.height / originalSize.height,\n };\n\n // Apply translation\n // calculate the offset of the tile's center from the center of the jumbo quad\n // eg if the tile is at (0,0) in texels and is 4000x4000 and the whole texture is 5000x5000 this would give us\n // (2000 - 2500) / 2 = -250, -(2000 - 2500) / 2 = 250\n const centerOffset = {\n x: tile.offset.x + tile.size.width / 2 - originalSize.width / 2,\n y: -(tile.offset.y + tile.size.height / 2 - originalSize.height / 2),\n };\n mat3.translate(\n matrix,\n [\n centerOffset.x * proportionalSize.width,\n centerOffset.y * proportionalSize.height,\n ],\n matrix,\n );\n\n // Scale proportionally by size of the jumbo quad\n mat3.scale(\n matrix,\n [\n tile.size.width * proportionalSize.width * (this.flipX ? -1 : 1),\n tile.size.height * proportionalSize.height * (this.flipY ? -1 : 1),\n ],\n matrix,\n );\n\n return matrix;\n }\n}\n\nfunction writeJumboQuadInstance(\n node: SceneNode,\n array: Float32Array,\n offset: number,\n): number {\n if (!(node instanceof JumboQuadNode)) {\n throw new Error(\n \"JumboQuadNode.writeJumboQuadInstance can only be called on JumboQuadNodes\",\n );\n }\n\n // Initialize the local offset for each tile to render...\n let tileOffset = 0;\n\n // Iterate through each AtlasCoords found in the coords...\n for (const tile of node.tiles) {\n const coord = tile.atlasCoords;\n\n // write model matrix\n const matrix = node.getTileMatrix(tile);\n array.set(matrix, offset + tileOffset);\n tileOffset += MAT3_SIZE;\n\n // write tint color\n array.set(\n [node.color.r, node.color.g, node.color.b, node.color.a],\n offset + tileOffset,\n );\n //...increment the local offset by the size of our color vector\n tileOffset += VEC4F_SIZE;\n\n // write uv offset and scale\n // location 4 are the uv offset and scale used to sample the texture atlas. these are in normalized texel coordinates.\n // @location(4) uvOffsetAndScale: vec4<f32>,\n array.set(\n [\n coord.uvOffset.x,\n coord.uvOffset.y,\n coord.uvScale.width,\n coord.uvScale.height,\n ],\n offset + tileOffset,\n );\n tileOffset += VEC4F_SIZE;\n\n const cropRatio = !coord.uvScaleCropped\n ? { width: 1, height: 1 }\n : {\n width: coord.uvScaleCropped.width / coord.uvScale.width,\n height: coord.uvScaleCropped.height / coord.uvScale.height,\n };\n // write crop offset and scale\n // location 5 is the crop offset from center and scale. These are ratios applied to the unit quad.\n // @location(5) cropOffsetAndScale: vec4<f32>,\n array.set(\n [\n // convert the offset in world space to the offset in the local space of the quad\n // this offset is applied to the unit quad _before_ the model matrix is applied\n // we divide by 2 because we want the center of the remaining region and not the full shift.\n // for example, if we crop the leftmost 90px of a 100px wide texture\n // we want the offset to be 45px and not 90px\n tile.atlasCoords.cropOffset.x /\n 2 /\n (tile.atlasCoords.originalSize.width || 1),\n tile.atlasCoords.cropOffset.y /\n 2 /\n (tile.atlasCoords.originalSize.height || 1),\n cropRatio.width,\n cropRatio.height,\n ],\n offset + tileOffset,\n );\n tileOffset += VEC4F_SIZE;\n\n // write atlas index\n new DataView(array.buffer).setUint32(\n array.byteOffset + (offset + tileOffset) * Float32Array.BYTES_PER_ELEMENT,\n coord.atlasIndex,\n true,\n );\n tileOffset += VEC4F_SIZE;\n }\n\n // Write our instance and return the number of sprites added to the buffer...\n node.writeInstance?.(array, offset + tileOffset);\n return node.tiles.length;\n}\n",
28
- "const warnings: Map<string, boolean> = new Map<string, boolean>();\n/**\n * Useful for warning in a function run every frame if you only want to warn once\n *\n * @param key a unique key to tag the warning\n * @param msg message to console.warn\n */\nexport function warnOnce(key: string, msg?: string) {\n if (warnings.has(key)) {\n return;\n }\n warnings.set(key, true);\n console.warn(msg ?? key);\n}\n",
29
- "// MsdfFont has the cpu data for a font\n\n// The kerning map stores a spare map of character ID pairs with an associated\n// X offset that should be applied to the character spacing when the second\n// character ID is rendered after the first.\nimport { warnOnce } from \"../utils/error\";\n\nexport type KerningMap = Map<number, Map<number, number>>;\n\nexport interface MsdfChar {\n id: number;\n index: number;\n char: string;\n width: number;\n height: number;\n xoffset: number;\n yoffset: number;\n xadvance: number;\n chnl: number;\n x: number;\n y: number;\n page: number;\n charIndex: number;\n}\n\nexport class MsdfFont {\n /** the name of the font */\n name: string;\n /** the set of available characters in the font texture */\n charset: string[];\n charCount: number;\n lineHeight: number;\n\n /** a binary buffer of character data for loading into the gpu */\n charBuffer: Float32Array;\n\n #kernings: KerningMap;\n #chars: Map<number, MsdfChar>;\n #fallbackCharCode?: number;\n\n constructor(\n public id: string,\n public json: MsdfFontJson,\n public imageBitmap: ImageBitmap,\n ) {\n const charArray = Object.values(json.chars);\n this.charCount = charArray.length;\n this.lineHeight = json.common.lineHeight;\n this.charset = json.info.charset;\n this.name = json.info.face;\n\n this.#kernings = new Map();\n if (json.kernings) {\n for (const kearning of json.kernings) {\n let charKerning = this.#kernings.get(kearning.first);\n if (!charKerning) {\n charKerning = new Map<number, number>();\n this.#kernings.set(kearning.first, charKerning);\n }\n charKerning.set(kearning.second, kearning.amount);\n }\n }\n\n this.#chars = new Map<number, MsdfChar>();\n const charCount = Object.values(json.chars).length;\n this.charBuffer = new Float32Array(charCount * 8);\n let offset = 0;\n const u = 1 / json.common.scaleW;\n const v = 1 / json.common.scaleH;\n\n for (const [i, char] of json.chars.entries()) {\n this.#chars.set(char.id, char);\n this.#chars.get(char.id)!.charIndex = i;\n this.charBuffer[offset] = char.x * u; // texOffset.x\n this.charBuffer[offset + 1] = char.y * v; // texOffset.y\n this.charBuffer[offset + 2] = char.width * u; // texExtent.x\n this.charBuffer[offset + 3] = char.height * v; // texExtent.y\n this.charBuffer[offset + 4] = char.width; // size.x\n this.charBuffer[offset + 5] = char.height; // size.y\n this.charBuffer[offset + 6] = char.xoffset; // offset.x\n this.charBuffer[offset + 7] = -char.yoffset; // offset.y\n offset += 8;\n }\n }\n\n getChar(charCode: number): MsdfChar {\n const char = this.#chars.get(charCode)!;\n if (!char) {\n const fallbackCharacter = this.#chars.get(\n this.#fallbackCharCode ?? this.#chars.keys().toArray()[0],\n )!;\n warnOnce(\n `unknown_char_${this.name}`,\n `Couldn't find character ${charCode} in characters for font ${this.name} -- defaulting to first available character \"${fallbackCharacter.char}\"`,\n );\n return fallbackCharacter;\n }\n return char;\n }\n\n // Gets the distance in pixels a line should advance for a given character code. If the upcoming\n // character code is given any kerning between the two characters will be taken into account.\n getXAdvance(charCode: number, nextCharCode = -1): number {\n const char = this.getChar(charCode);\n if (nextCharCode >= 0) {\n const kerning = this.#kernings.get(charCode);\n if (kerning) {\n return char.xadvance + (kerning.get(nextCharCode) ?? 0);\n }\n }\n return char.xadvance;\n }\n\n static async create(id: string, fontJsonUrl: URL): Promise<MsdfFont> {\n const response = await fetch(fontJsonUrl);\n const json = (await response.json()) as MsdfFontJson;\n\n const i = fontJsonUrl.href.lastIndexOf(\"/\");\n const baseUrl = i !== -1 ? fontJsonUrl.href.substring(0, i + 1) : undefined;\n\n if (json.pages.length < 1) {\n throw new Error(\n `Can't create an msdf font without a reference to the page url in the json`,\n );\n }\n if (json.pages.length > 1) {\n throw new Error(`Can't create an msdf font with more than one page`);\n }\n\n const textureUrl = baseUrl + json.pages[0];\n const textureResponse = await fetch(textureUrl);\n const bitmap = await createImageBitmap(await textureResponse.blob());\n\n return new MsdfFont(id, json, bitmap);\n }\n\n set fallbackCharacter(character: string) {\n const charCode: number = character.charCodeAt(0);\n if (this.#chars.has(charCode)) {\n this.#fallbackCharCode = charCode;\n } else {\n const fallbackCode = this.#chars.keys().toArray()[0];\n console.warn(\n `${character} character does not exist in font ${this.name} defaulting to \"${this.#chars.get(fallbackCode)?.char}\".`,\n );\n this.#fallbackCharCode = fallbackCode;\n }\n }\n}\n\ntype MsdfFontJson = {\n pages: string[];\n chars: MsdfChar[];\n info: {\n face: string;\n size: string;\n bold: number;\n italic: number;\n charset: string[];\n unicode: number;\n stretchH: number;\n smooth: number;\n aa: number;\n padding: number[];\n spacing: number[];\n };\n common: {\n lineHeight: number;\n base: number;\n scaleW: number;\n scaleH: number;\n pages: number;\n packed: number;\n alphaChnl: number;\n redChnl: number;\n greenChnl: number;\n blueChnl: number;\n };\n distanceField: { fieldType: string; distanceRange: number };\n kernings: Kerning[];\n};\n\ntype Kerning = { first: number; second: number; amount: number };\n\nexport enum WhitespaceKeyCodes {\n HorizontalTab = 9,\n Newline = 10,\n CarriageReturn = 13,\n Space = 32,\n}\n",
30
- "import type { Size } from \"../coreTypes/Size\";\nimport { type MsdfChar, type MsdfFont, WhitespaceKeyCodes } from \"./MsdfFont\";\nimport type { TextFormatting, WordWrapOptions } from \"./TextFormatting\";\n\n// shaping is responsible for cpu-side text shaping:\n// - measuring a text block\n// - calculating the glyph quads for the text block\n// - applying word wrap, shrink-to-fit, justification and other formatting options\n// - returning the text measurements and glyph quads\nconst TAB_SPACES = 4;\n\nexport interface MsdfTextMeasurements {\n /** The width of the text block in em units. */\n width: number;\n /** The height of the text block in em units. */\n height: number;\n /** The width of each line in em units. */\n lineWidths: number[];\n /** The number of lines in the text block. */\n lineCount: number;\n /** The number of characters printed in the text block. */\n printedCharCount: number;\n\n /** All words in the text block */\n words: Word[];\n}\n\nexport type Glyph = {\n char: MsdfChar;\n offset: [number, number];\n line: number;\n};\n\nexport type Word = {\n glyphs: Glyph[];\n width: number;\n startX: number;\n startY: number;\n};\n\nexport function shapeText(\n font: MsdfFont,\n text: string,\n blockSize: Size,\n fontSize: number,\n formatting: TextFormatting,\n textArray: Float32Array,\n initialFloatOffset = 0,\n debug = false,\n) {\n let offset = initialFloatOffset;\n\n const measurements = measureText(font, text, formatting.wordWrap);\n const alignment = formatting.align || \"left\";\n const em2px = fontSize / font.lineHeight;\n // currently there is a code path that sets blockSize.width to measurements.width (em)\n // if blockSize is not explicitly set (px)\n const hackHasExplicitBlock = blockSize.width !== measurements.width;\n\n let debugData: any[] | null = null;\n if (debug) {\n debugData = [];\n }\n\n for (const word of measurements.words) {\n for (const glyph of word.glyphs) {\n let lineOffset = 0;\n if (alignment === \"center\") {\n lineOffset =\n measurements.width * -0.5 -\n (measurements.width - measurements.lineWidths[glyph.line]) * -0.5;\n } else if (alignment === \"right\") {\n const blockSizeEm = blockSize.width / em2px;\n\n const delta = measurements.width - measurements.lineWidths[glyph.line];\n\n lineOffset =\n (hackHasExplicitBlock ? blockSizeEm / 2 : measurements.width / 2) -\n measurements.width +\n delta;\n } else if (alignment === \"left\") {\n const blockSizeEm = blockSize.width / em2px;\n\n lineOffset = hackHasExplicitBlock\n ? -blockSizeEm / 2\n : -measurements.width / 2;\n }\n\n if (debug && debugData) {\n debugData.push({\n line: glyph.line,\n word: word.glyphs.map((g) => g.char.char).join(\"\"),\n glyph: glyph.char.char,\n startX: word.startX,\n glyphX: glyph.offset[0],\n advance: glyph.char.xadvance,\n lineOffset,\n startY: word.startY,\n glyphY: glyph.offset[1],\n });\n }\n textArray[offset] = word.startX + glyph.offset[0] + lineOffset;\n textArray[offset + 1] = word.startY + glyph.offset[1];\n textArray[offset + 2] = glyph.char.charIndex;\n\n offset += 4;\n }\n }\n\n if (debug && debugData) {\n console.table(debugData);\n }\n}\n\n/**\n * Measure the text and return measurements for block + each glyph.\n * @param font - The font to use.\n * @param text - The text to measure\n * @param wordWrap - Maximum word length before word wrapping\n * @returns The measurements of the text in em units.\n */\nexport function measureText(\n font: MsdfFont,\n text: string,\n wordWrap?: WordWrapOptions,\n): MsdfTextMeasurements {\n let maxWidth = 0;\n const lineWidths: number[] = [];\n\n let textOffsetX = 0;\n let textOffsetY = 0;\n let line = 0;\n let printedCharCount = 0;\n let nextCharCode = text.charCodeAt(0);\n let word: Word = { glyphs: [], width: 0, startX: 0, startY: 0 };\n\n const words: Word[] = [];\n\n for (let i = 0; i < text.length; i++) {\n const isLastLetter = i === text.length - 1;\n\n const charCode = nextCharCode;\n nextCharCode = i < text.length - 1 ? text.charCodeAt(i + 1) : -1;\n\n switch (charCode) {\n case WhitespaceKeyCodes.HorizontalTab:\n insertSpaces(TAB_SPACES);\n break;\n case WhitespaceKeyCodes.Newline:\n flushLine();\n flushWord();\n break;\n case WhitespaceKeyCodes.CarriageReturn:\n break;\n case WhitespaceKeyCodes.Space:\n insertSpaces(1);\n break;\n default: {\n const advance = font.getXAdvance(charCode, nextCharCode);\n if (\n wordWrap &&\n wordWrap.breakOn === \"character\" &&\n textOffsetX + advance > wordWrap.emWidth\n ) {\n if (word.startX === 0) {\n flushWord();\n } else {\n lineWidths.push(textOffsetX - word.width);\n line++;\n maxWidth = Math.max(maxWidth, textOffsetX);\n textOffsetX = word.width;\n textOffsetY -= font.lineHeight;\n word.startX = 0;\n word.startY = textOffsetY;\n word.glyphs.forEach((g) => {\n g.line = line;\n });\n }\n }\n word.glyphs.push({\n char: font.getChar(charCode),\n offset: [word.width, 0],\n line,\n });\n\n if (isLastLetter) {\n flushWord();\n }\n\n word.width += advance;\n textOffsetX += advance;\n }\n }\n }\n\n lineWidths.push(textOffsetX);\n maxWidth = Math.max(maxWidth, textOffsetX);\n\n const lineCount = lineWidths.length;\n\n return {\n width: maxWidth,\n height: lineCount * font.lineHeight,\n lineWidths,\n lineCount,\n printedCharCount,\n words,\n };\n\n function flushWord() {\n printedCharCount += word.glyphs.length;\n words.push(word);\n word = {\n glyphs: [],\n width: 0,\n startX: textOffsetX,\n startY: textOffsetY,\n };\n }\n\n function flushLine() {\n lineWidths.push(textOffsetX);\n line++;\n maxWidth = Math.max(maxWidth, textOffsetX);\n textOffsetX = 0;\n textOffsetY -= font.lineHeight;\n }\n\n function insertSpaces(spaces: number) {\n if (spaces < 1) spaces = 1;\n textOffsetX += font.getXAdvance(WhitespaceKeyCodes.Space) * spaces;\n if (wordWrap?.breakOn === \"word\" && textOffsetX >= wordWrap.emWidth) {\n flushLine();\n }\n flushWord();\n }\n}\nexport function findLargestFontSize(\n font: MsdfFont,\n text: string,\n size: Size,\n formatting: TextFormatting,\n): number | undefined {\n if (!formatting.fontSize) {\n throw new Error(\"fontSize is required for shrinkToFit\");\n }\n if (!formatting.shrinkToFit) {\n throw new Error(\"shrinkToFit is required for findLargestFontSize\");\n }\n // Binary search to find largest font size that fits\n const minSize = formatting.shrinkToFit.minFontSize;\n const maxSize = formatting.shrinkToFit.maxFontSize ?? formatting.fontSize;\n const maxLines = formatting.shrinkToFit.maxLines ?? Number.POSITIVE_INFINITY;\n\n const threshold = 0.5;\n let low = minSize;\n let high = maxSize;\n\n while (high - low > threshold) {\n // Stop when we get close enough\n const testSize = (low + high) / 2;\n const testMeasure = measureText(font, text, formatting.wordWrap);\n\n const padding = formatting.shrinkToFit.padding ?? 0;\n\n const scaledWidth = testMeasure.width * (testSize / font.lineHeight);\n const scaledHeight = testMeasure.height * (testSize / font.lineHeight);\n const fitsWidth = scaledWidth <= size.width - size.width * padding;\n const fitsHeight = scaledHeight <= size.height - size.height * padding;\n const fitsLines = testMeasure.lineCount <= maxLines;\n\n if (fitsWidth && fitsHeight && fitsLines) {\n low = testSize;\n } else {\n high = testSize;\n }\n }\n\n return low;\n}\n",
31
- "import type { Color } from \"../coreTypes/Color\";\nimport { type NodeOptions, SceneNode } from \"../scene/SceneNode\";\nimport type { MsdfFont } from \"./MsdfFont\";\nimport { measureText } from \"./shaping\";\nimport type { TextFormatting } from \"./TextFormatting\";\nimport type { TextShader } from \"./TextShader\";\n\nexport const DEFAULT_FONT_SIZE = 14;\n\nexport class TextNode extends SceneNode {\n #text: string;\n #formatting: TextFormatting;\n #font: MsdfFont;\n\n constructor(shader: TextShader, text: string, opts: TextOptions = {}) {\n const { width, height } = measureText(shader.font, text, opts.wordWrap);\n\n if (text.length > shader.maxCharCount) {\n throw new Error(\n `Text: ${text} exceeds ${shader.maxCharCount} characters. Try using fewer characters or increase the limit in Toodle.attach.`,\n );\n }\n\n const em2px = shader.font.lineHeight / (opts.fontSize ?? DEFAULT_FONT_SIZE);\n\n if (!opts.shrinkToFit && !opts.size) {\n opts.size = { width: width / em2px, height: height / em2px };\n }\n\n super({\n ...opts,\n render: {\n shader,\n writeInstance: (_node, _array, _offset) => {\n throw new Error(\n \"not implemented - needs access to text uniform buffer, dimensions and a model matrix\",\n );\n },\n },\n });\n\n this.#font = shader.font;\n this.#text = text;\n this.#formatting = opts;\n }\n\n get text() {\n return this.#text;\n }\n\n get formatting() {\n return this.#formatting;\n }\n\n get font() {\n return this.#font;\n }\n\n set text(text: string) {\n if (!text) {\n throw new Error(\"text cannot be empty\");\n }\n this.#text = text;\n this.setDirty();\n }\n\n get tint() {\n return this.#formatting.color || { r: 1, g: 1, b: 1, a: 1 };\n }\n\n set tint(tint: Color) {\n this.#formatting.color = tint;\n this.setDirty();\n }\n\n set formatting(formatting: TextFormatting) {\n this.#formatting = formatting;\n this.setDirty();\n }\n}\n\nexport type TextOptions = Omit<NodeOptions, \"render\"> & TextFormatting;\n",
32
36
  "export default /*wgsl*/ `\n// ==============================\n// === BOUNDING BOX PASS =======\n// ==============================\n\n// Input texture from which to compute the non-transparent bounding box\n@group(0) @binding(0)\nvar input_texture: texture_2d<f32>;\n\n// Atomic bounding box storage structure\nstruct bounding_box_atomic {\n min_x: atomic<u32>,\n min_y: atomic<u32>,\n max_x: atomic<u32>,\n max_y: atomic<u32>,\n};\n\n// Storage buffer to hold atomic bounding box updates\n@group(0) @binding(1)\nvar<storage, read_write> bounds: bounding_box_atomic;\n\n// Compute shader to find the bounding box of non-transparent pixels\n@compute @workgroup_size(8, 8)\nfn find_bounds(@builtin(global_invocation_id) gid: vec3<u32>) {\n let size = textureDimensions(input_texture).xy;\n if (gid.x >= size.x || gid.y >= size.y) {\n return;\n }\n\n let pixel = textureLoad(input_texture, vec2<i32>(gid.xy), 0);\n if (pixel.a > 0.0) {\n atomicMin(&bounds.min_x, gid.x);\n atomicMin(&bounds.min_y, gid.y);\n atomicMax(&bounds.max_x, gid.x);\n atomicMax(&bounds.max_y, gid.y);\n }\n}\n\n// ==============================\n// === CROP + OUTPUT PASS ======\n// ==============================\n\n// Input texture from which cropped data is read\n@group(0) @binding(0)\nvar input_texture_crop: texture_2d<f32>;\n\n// Output texture where cropped image is written\n@group(0) @binding(1)\nvar output_texture: texture_storage_2d<rgba8unorm, write>;\n\n// Bounding box passed in as a uniform (not atomic anymore)\nstruct bounding_box_uniform {\n min_x: u32,\n min_y: u32,\n max_x: u32,\n max_y: u32,\n};\n\n@group(0) @binding(2)\nvar<uniform> bounds_uniform: bounding_box_uniform;\n\n// Struct to store both original and cropped texture dimensions\nstruct image_dimensions {\n original_width: u32,\n original_height: u32,\n cropped_width: u32,\n cropped_height: u32,\n};\n\n// Storage buffer to output the result dimensions\n@group(0) @binding(3)\nvar<storage, read_write> dimensions_out: image_dimensions;\n\n// Compute shader to crop the input texture to the bounding box and output it\n@compute @workgroup_size(8, 8)\nfn crop_and_output(@builtin(global_invocation_id) gid: vec3<u32>) {\n let size = textureDimensions(input_texture_crop).xy;\n\n let crop_width = bounds_uniform.max_x - bounds_uniform.min_x + 1u;\n let crop_height = bounds_uniform.max_y - bounds_uniform.min_y + 1u;\n\n if (gid.x >= crop_width || gid.y >= crop_height) {\n return;\n }\n\n let src_coord = vec2<i32>(\n i32(bounds_uniform.min_x + gid.x),\n i32(bounds_uniform.min_y + gid.y)\n );\n\n let dst_coord = vec2<i32>(i32(gid.x), i32(gid.y));\n let pixel = textureLoad(input_texture_crop, src_coord, 0);\n textureStore(output_texture, dst_coord, pixel);\n\n // Output dimensions from workgroup (0,0) only\n if (gid.x == 0u && gid.y == 0u) {\n dimensions_out.original_width = size.x;\n dimensions_out.original_height = size.y;\n dimensions_out.cropped_width = crop_width;\n dimensions_out.cropped_height = crop_height;\n }\n}\n\n// ==============================\n// === MISSING TEXTURE FILL ====\n// ==============================\n\n// Output texture to draw a fallback checkerboard\n@group(0) @binding(0)\nvar checker_texture: texture_storage_2d<rgba8unorm, write>;\n\n// Compute shader to fill a texture with a purple & green checkerboard\n@compute @workgroup_size(8, 8)\nfn missing_texture(@builtin(global_invocation_id) id: vec3<u32>) {\n let size = textureDimensions(checker_texture);\n if (id.x >= size.x || id.y >= size.y) {\n return;\n }\n\n let checker_size = 25u;\n let on_color = ((id.x / checker_size + id.y / checker_size) % 2u) == 0u;\n\n let color = select(\n vec4<f32>(0.5, 0.0, 0.5, 1.0), // Purple\n vec4<f32>(0.0, 1.0, 0.0, 1.0), // Green\n on_color\n );\n\n textureStore(checker_texture, vec2<i32>(id.xy), color);\n}\n`;\n",
33
37
  "import type { TextureWithMetadata } from \"../../textures/types\";\nimport computeShader from \"./wgsl/pixel-scraping.wgsl\";\n\n// Constants\nconst BOUNDING_BOX_SIZE = 4 * Uint32Array.BYTES_PER_ELEMENT;\nconst WORKGROUP_SIZE = 8;\nconst MAX_BOUND = 0xffffffff;\nconst MIN_BOUND = 0x00000000;\n\n/**\n * The data returned by the compute shader that represents the opaque pixels in a texture.\n * Texel coordinates start at 0,0 in the top-left corner of the texture.\n */\ntype OpaqueRect = {\n /** The leftmost texel coordinate of the bounding box. */\n texelX: number;\n /** The topmost texel coordinate of the bounding box. */\n texelY: number;\n /** The width of the bounding box in texels. */\n texelWidth: number;\n /** The height of the bounding box in texels. */\n texelHeight: number;\n};\n\n/**\n * A GPU-based texture processor that uses compute shaders to:\n * 1. Find the non-transparent bounding box in a texture.\n * 2. Crop the texture to that bounding box.\n * 3. Create a fallback texture if no non-transparent pixels are found.\n */\nexport class TextureComputeShader {\n #device: GPUDevice;\n #boundingBuffer: GPUBuffer;\n #cropPipeline: GPUComputePipeline;\n #boundPipeline: GPUComputePipeline;\n #missingTexturePipeline: GPUComputePipeline;\n\n constructor(\n device: GPUDevice,\n cropPipeline: GPUComputePipeline,\n boundPipeline: GPUComputePipeline,\n missingTexturePipeline: GPUComputePipeline,\n ) {\n this.#device = device;\n this.#boundPipeline = boundPipeline;\n this.#cropPipeline = cropPipeline;\n this.#missingTexturePipeline = missingTexturePipeline;\n\n // Buffer to store the computed bounding box [minX, minY, maxX, maxY]\n this.#boundingBuffer = this.#device.createBuffer({\n size: BOUNDING_BOX_SIZE,\n usage:\n GPUBufferUsage.STORAGE |\n GPUBufferUsage.COPY_SRC |\n GPUBufferUsage.COPY_DST,\n });\n }\n\n /**\n * Factory method to initialize pipelines and return an instance of TextureComputeShader.\n */\n static create(device: GPUDevice) {\n const pipelines = createPipelines(device, \"TextureComputeShader\");\n return new TextureComputeShader(\n device,\n pipelines.cropPipeline,\n pipelines.boundPipeline,\n pipelines.missingTexturePipeline,\n );\n }\n\n /**\n * Main entry point to process a texture.\n * Returns a cropped ImageBitmap and metadata.\n */\n async processTexture(\n textureWrapper: TextureWithMetadata,\n ): Promise<TextureWithMetadata> {\n const boundsBindGroup = this.#boundsBindGroup(textureWrapper.texture);\n\n const commandEncoder = this.#device.createCommandEncoder();\n const passEncoder = commandEncoder.beginComputePass();\n\n const dispatchX = Math.ceil(textureWrapper.texture.width / WORKGROUP_SIZE);\n const dispatchY = Math.ceil(textureWrapper.texture.height / WORKGROUP_SIZE);\n\n // Initialize bounding box with max/min values\n const boundsInit = new Uint32Array([\n MAX_BOUND,\n MAX_BOUND,\n MIN_BOUND,\n MIN_BOUND,\n ]);\n this.#device.queue.writeBuffer(\n this.#boundingBuffer,\n 0,\n boundsInit.buffer,\n 0,\n BOUNDING_BOX_SIZE,\n );\n\n // Run bounds detection compute shader\n passEncoder.setPipeline(this.#boundPipeline);\n passEncoder.setBindGroup(0, boundsBindGroup);\n passEncoder.dispatchWorkgroups(dispatchX, dispatchY);\n passEncoder.end();\n this.#device.queue.submit([commandEncoder.finish()]);\n\n const { texelX, texelY, texelWidth, texelHeight, computeBuffer } =\n await this.#getBoundingBox();\n\n // If no non-transparent pixels were found\n if (texelX === MAX_BOUND || texelY === MAX_BOUND) {\n return await this.#createMissingTexture(textureWrapper.texture);\n }\n\n // Crop the texture to the computed bounds\n const croppedTexture = await this.#cropTexture(\n texelWidth,\n texelHeight,\n computeBuffer,\n textureWrapper.texture,\n );\n\n const leftCrop = texelX;\n const rightCrop = textureWrapper.originalSize.width - texelX - texelWidth;\n const topCrop = texelY;\n const bottomCrop =\n textureWrapper.originalSize.height - texelY - texelHeight;\n\n textureWrapper = {\n texture: croppedTexture,\n cropOffset: { x: leftCrop - rightCrop, y: bottomCrop - topCrop },\n originalSize: textureWrapper.originalSize,\n };\n\n return textureWrapper;\n }\n\n /**\n * Reads the GPU buffer containing the bounding box.\n */\n async #getBoundingBox(): Promise<\n OpaqueRect & { computeBuffer: Uint32Array }\n > {\n const readBuffer = this.#device.createBuffer({\n label: \"AABB Compute Buffer\",\n size: BOUNDING_BOX_SIZE,\n usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,\n });\n\n const copyEncoder = this.#device.createCommandEncoder();\n copyEncoder.copyBufferToBuffer(\n this.#boundingBuffer,\n 0,\n readBuffer,\n 0,\n BOUNDING_BOX_SIZE,\n );\n this.#device.queue.submit([copyEncoder.finish()]);\n\n await readBuffer.mapAsync(GPUMapMode.READ);\n const computeBuffer = new Uint32Array(readBuffer.getMappedRange().slice(0));\n readBuffer.unmap();\n\n const [minX, minY, maxX, maxY] = computeBuffer;\n return {\n texelX: minX,\n texelY: minY,\n texelWidth: maxX - minX + 1,\n texelHeight: maxY - minY + 1,\n\n computeBuffer,\n };\n }\n\n /**\n * Crops the original texture to the specified bounds using a compute shader.\n */\n async #cropTexture(\n croppedWidth: number,\n croppedHeight: number,\n computeBuffer: Uint32Array,\n inputTexture: GPUTexture,\n ) {\n const boundsUniform = this.#device.createBuffer({\n label: \"Cropping Bounds Uniform Buffer\",\n size: BOUNDING_BOX_SIZE,\n usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,\n });\n this.#device.queue.writeBuffer(boundsUniform, 0, computeBuffer);\n\n const outputTexture = this.#device.createTexture({\n label: \"Cropped Texture\",\n size: [croppedWidth, croppedHeight],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.STORAGE_BINDING |\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_SRC,\n });\n\n const dimensionsOutBuffer = this.#device.createBuffer({\n label: \"Cropping Dimensions Output Buffer\",\n size: BOUNDING_BOX_SIZE,\n usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,\n });\n\n const bindGroup = this.#croppingBindGroup(\n inputTexture,\n outputTexture,\n boundsUniform,\n dimensionsOutBuffer,\n );\n\n const encoder = this.#device.createCommandEncoder();\n const pass = encoder.beginComputePass();\n pass.setPipeline(this.#cropPipeline);\n pass.setBindGroup(0, bindGroup);\n pass.dispatchWorkgroups(\n Math.ceil(croppedWidth / WORKGROUP_SIZE),\n Math.ceil(croppedHeight / WORKGROUP_SIZE),\n );\n pass.end();\n this.#device.queue.submit([encoder.finish()]);\n\n return outputTexture;\n }\n\n /**\n * Creates a fallback placeholder texture if the input is fully transparent.\n */\n async #createMissingTexture(\n inputTexture: GPUTexture,\n ): Promise<TextureWithMetadata> {\n const placeholder = this.#device.createTexture({\n label: \"Missing Placeholder Texture\",\n size: [inputTexture.width, inputTexture.height],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.COPY_SRC |\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.STORAGE_BINDING |\n GPUTextureUsage.TEXTURE_BINDING,\n });\n\n const encoder = this.#device.createCommandEncoder();\n const pass = encoder.beginComputePass();\n pass.setPipeline(this.#missingTexturePipeline);\n pass.setBindGroup(0, this.#missingTextureBindGroup(placeholder));\n pass.dispatchWorkgroups(placeholder.width / 8, placeholder.height / 8);\n pass.end();\n this.#device.queue.submit([encoder.finish()]);\n\n return {\n texture: placeholder,\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: inputTexture.width, height: inputTexture.height },\n };\n }\n\n // Bind group helpers\n\n #boundsBindGroup(inputTexture: GPUTexture): GPUBindGroup {\n return this.#device.createBindGroup({\n layout: this.#boundPipeline.getBindGroupLayout(0),\n entries: [\n { binding: 0, resource: inputTexture.createView() },\n { binding: 1, resource: { buffer: this.#boundingBuffer } },\n ],\n });\n }\n\n #croppingBindGroup(\n inputTexture: GPUTexture,\n outputTexture: GPUTexture,\n boundsUniform: GPUBuffer,\n dimensionsOutBuffer: GPUBuffer,\n ): GPUBindGroup {\n return this.#device.createBindGroup({\n layout: this.#cropPipeline.getBindGroupLayout(0),\n entries: [\n { binding: 0, resource: inputTexture.createView() },\n { binding: 1, resource: outputTexture.createView() },\n { binding: 2, resource: { buffer: boundsUniform } },\n { binding: 3, resource: { buffer: dimensionsOutBuffer } },\n ],\n });\n }\n\n #missingTextureBindGroup(outputTexture: GPUTexture): GPUBindGroup {\n return this.#device.createBindGroup({\n layout: this.#missingTexturePipeline.getBindGroupLayout(0),\n entries: [{ binding: 0, resource: outputTexture.createView() }],\n });\n }\n}\n\n/**\n * Creates compute pipelines for bounding box detection, cropping, and fallback texture generation.\n */\nfunction createPipelines(device: GPUDevice, label: string) {\n const shader = device.createShaderModule({\n label: `${label} Shader`,\n code: computeShader,\n });\n\n const findBoundsBindGroupLayout = device.createBindGroupLayout({\n label: \"Bounds Detection Layout\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.COMPUTE,\n texture: { sampleType: \"float\", viewDimension: \"2d\" },\n },\n {\n binding: 1,\n visibility: GPUShaderStage.COMPUTE,\n buffer: { type: \"storage\" },\n },\n ],\n });\n\n const cropBindGroupLayout = device.createBindGroupLayout({\n label: \"Cropping Layout\",\n entries: [\n { binding: 0, visibility: GPUShaderStage.COMPUTE, texture: {} },\n {\n binding: 1,\n visibility: GPUShaderStage.COMPUTE,\n storageTexture: {\n access: \"write-only\",\n format: \"rgba8unorm\",\n viewDimension: \"2d\",\n },\n },\n {\n binding: 2,\n visibility: GPUShaderStage.COMPUTE,\n buffer: { type: \"uniform\" },\n },\n {\n binding: 3,\n visibility: GPUShaderStage.COMPUTE,\n buffer: { type: \"storage\" },\n },\n ],\n });\n\n const missingTextureBindGroupLayout = device.createBindGroupLayout({\n label: \"Missing Texture Layout\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.COMPUTE,\n storageTexture: {\n access: \"write-only\",\n format: \"rgba8unorm\",\n viewDimension: \"2d\",\n },\n },\n ],\n });\n\n return {\n boundPipeline: device.createComputePipeline({\n label: `${label} - Find Bounds Pipeline`,\n layout: device.createPipelineLayout({\n bindGroupLayouts: [findBoundsBindGroupLayout],\n }),\n compute: { module: shader, entryPoint: \"find_bounds\" },\n }),\n cropPipeline: device.createComputePipeline({\n label: `${label} - Crop Pipeline`,\n layout: device.createPipelineLayout({\n bindGroupLayouts: [cropBindGroupLayout],\n }),\n compute: { module: shader, entryPoint: \"crop_and_output\" },\n }),\n missingTexturePipeline: device.createComputePipeline({\n label: `${label} - Missing Texture Pipeline`,\n layout: device.createPipelineLayout({\n bindGroupLayouts: [missingTextureBindGroupLayout],\n }),\n compute: { module: shader, entryPoint: \"missing_texture\" },\n }),\n };\n}\n",
34
- "export default /*wgsl*/ `\n// Adapted from: https://webgpu.github.io/webgpu-samples/?sample=textRenderingMsdf\n\n// Quad vertex positions for a character\nconst pos = array(\n vec2f(0, -1),\n vec2f(1, -1),\n vec2f(0, 0),\n vec2f(1, 0),\n);\n\n// Debug colors for visualization\nconst debugColors = array(\n vec4f(1, 0, 0, 1),\n vec4f(0, 1, 0, 1),\n vec4f(0, 0, 1, 1),\n vec4f(1, 1, 1, 1),\n);\n\n// Vertex input from GPU\nstruct VertexInput {\n @builtin(vertex_index) vertex: u32,\n @builtin(instance_index) instance: u32,\n};\n\n// Output from vertex shader to fragment shader\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n @location(1) debugColor: vec4f,\n @location(2) @interpolate(flat) instanceIndex: u32,\n};\n\n// Metadata for a single character glyph\nstruct Char {\n texOffset: vec2f, // Offset to top-left in MSDF texture (pixels)\n texExtent: vec2f, // Size in texture (pixels)\n size: vec2f, // Glyph size in ems\n offset: vec2f, // Position offset in ems\n};\n\n// Metadata for a text block\nstruct TextBlockDescriptor {\n transform: mat3x3f, // Text transform matrix (model matrix)\n color: vec4f, // Text color\n fontSize: f32, // Font size\n blockWidth: f32, // Total width of text block\n blockHeight: f32, // Total height of text block\n bufferPosition: f32 // Index and length in textBuffer\n};\n\n// Font bindings\n@group(0) @binding(0) var fontTexture: texture_2d<f32>;\n@group(0) @binding(1) var fontSampler: sampler;\n@group(0) @binding(2) var<storage> chars: array<Char>;\n@group(0) @binding(3) var<uniform> fontData: vec4f; // Contains line height (x)\n\n// Text bindings\n@group(1) @binding(0) var<storage> texts: array<TextBlockDescriptor>;\n@group(1) @binding(1) var<storage> textBuffer: array<vec4f>; // Each vec4: xy = glyph pos, z = char index\n\n// Global uniforms\n@group(2) @binding(0) var<uniform> viewProjectionMatrix: mat3x3f;\n\n// Vertex shader\n@vertex\nfn vertexMain(input: VertexInput) -> VertexOutput {\n // Because the instance index is used for character indexing, we are\n // overloading the vertex index to store the instance of the text metadata.\n //\n // I.e...\n // Vertex 0-4 = Instance 0, Vertex 0-4\n // Vertex 4-8 = Instance 1, Vertex 0-4\n // Vertex 8-12 = Instance 2, Vertex 0-4\n let vertexIndex = input.vertex % 4;\n let textIndex = input.vertex / 4;\n\n let text = texts[textIndex];\n let textElement = textBuffer[u32(text.bufferPosition) + input.instance];\n let char = chars[u32(textElement.z)];\n\n let lineHeight = fontData.x;\n let textWidth = text.blockWidth;\n let textHeight = text.blockHeight;\n\n // Center text vertically; origin is mid-height\n let offset = vec2f(0, -textHeight / 2);\n\n // Glyph position in ems (quad pos * size + per-char offset)\n let emPos = pos[vertexIndex] * char.size + char.offset + textElement.xy - offset;\n let charPos = emPos * (text.fontSize / lineHeight);\n\n var output: VertexOutput;\n let transformedPosition = viewProjectionMatrix * text.transform * vec3f(charPos, 1);\n\n output.position = vec4f(transformedPosition, 1);\n output.texcoord = pos[vertexIndex] * vec2f(1, -1);\n output.texcoord *= char.texExtent;\n output.texcoord += char.texOffset;\n output.debugColor = debugColors[vertexIndex];\n output.instanceIndex = textIndex;\n return output;\n\n // To debug - hardcode quad in bottom right quarter of the screen:\n // output.position = vec4f(pos[input.vertex], 0, 1);\n}\n\n// Signed distance function sampling for MSDF font rendering\nfn sampleMsdf(texcoord: vec2f) -> f32 {\n let c = textureSample(fontTexture, fontSampler, texcoord);\n return max(min(c.r, c.g), min(max(c.r, c.g), c.b));\n}\n\n// Fragment shader\n// Anti-aliasing technique by Paul Houx\n// more details here:\n// https://github.com/Chlumsky/msdfgen/issues/22#issuecomment-234958005\n@fragment\nfn fragmentMain(input: VertexOutput) -> @location(0) vec4f {\n let text = texts[input.instanceIndex];\n\n // pxRange (AKA distanceRange) comes from the msdfgen tool.\n let pxRange = 4.0;\n let texSize = vec2f(textureDimensions(fontTexture, 0));\n\n let dx = texSize.x * length(vec2f(dpdxFine(input.texcoord.x), dpdyFine(input.texcoord.x)));\n let dy = texSize.y * length(vec2f(dpdxFine(input.texcoord.y), dpdyFine(input.texcoord.y)));\n\n let toPixels = pxRange * inverseSqrt(dx * dx + dy * dy);\n let sigDist = sampleMsdf(input.texcoord) - 0.5;\n let pxDist = sigDist * toPixels;\n\n let edgeWidth = 0.5;\n let alpha = smoothstep(-edgeWidth, edgeWidth, pxDist);\n\n if (alpha < 0.001) {\n discard;\n }\n\n let msdfColor = vec4f(text.color.rgb, text.color.a * alpha);\n return msdfColor;\n\n // Debug options:\n // return text.color;\n // return input.debugColor;\n // return vec4f(1, 0, 1, 1); // hardcoded magenta\n // return textureSample(fontTexture, fontSampler, input.texcoord);\n}\n`;\n",
35
- "import type { MsdfFont } from \"./MsdfFont\";\nimport msdfShader from \"./text.wgsl\";\n\n/**\n * A webgpu pipeline for rendering blocks of text with a given font.\n */\nexport class FontPipeline {\n constructor(\n public pipeline: GPURenderPipeline,\n public font: MsdfFont,\n public fontBindGroup: GPUBindGroup,\n public maxCharCount: number,\n ) {}\n\n static async create(\n device: GPUDevice,\n font: MsdfFont,\n colorFormat: GPUTextureFormat,\n maxCharCount: number,\n ): Promise<FontPipeline> {\n const pipeline = await pipelinePromise(device, colorFormat, font.name);\n const texture = device.createTexture({\n label: `MSDF font ${font.name}`,\n size: [font.imageBitmap.width, font.imageBitmap.height, 1],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n device.queue.copyExternalImageToTexture(\n { source: font.imageBitmap },\n { texture },\n [font.imageBitmap.width, font.imageBitmap.height],\n );\n\n const charsGpuBuffer = device.createBuffer({\n label: `MSDF font ${font.name} character layout buffer`,\n size: font.charCount * Float32Array.BYTES_PER_ELEMENT * 8,\n usage: GPUBufferUsage.STORAGE,\n mappedAtCreation: true,\n });\n\n const charsArray = new Float32Array(charsGpuBuffer.getMappedRange());\n // todo: don't double copy this\n charsArray.set(font.charBuffer, 0);\n charsGpuBuffer.unmap();\n\n const fontDataBuffer = device.createBuffer({\n label: `MSDF font ${font.name} metadata buffer`,\n size: Float32Array.BYTES_PER_ELEMENT * 4,\n usage: GPUBufferUsage.UNIFORM,\n mappedAtCreation: true,\n });\n const fontDataArray = new Float32Array(fontDataBuffer.getMappedRange());\n fontDataArray[0] = font.lineHeight;\n fontDataBuffer.unmap();\n\n // create a texture view\n const fontBindGroup = device.createBindGroup({\n layout: pipeline.getBindGroupLayout(0),\n entries: [\n // msdf texture\n {\n binding: 0,\n resource: texture.createView(),\n },\n // msdf texture sampler\n {\n binding: 1,\n resource: device.createSampler(sampler),\n },\n // buffer of character uv and offset data\n {\n binding: 2,\n resource: {\n buffer: charsGpuBuffer,\n },\n },\n // buffer of font metadata, e.g. line height\n {\n binding: 3,\n resource: {\n buffer: fontDataBuffer,\n },\n },\n ],\n });\n return new FontPipeline(pipeline, font, fontBindGroup, maxCharCount);\n }\n}\n\nexport function pipelinePromise(\n device: GPUDevice,\n colorFormat: GPUTextureFormat,\n label: string,\n) {\n const shader = device.createShaderModule({\n label: `${label} shader`,\n code: msdfShader,\n });\n\n return device.createRenderPipelineAsync({\n label: `${label} pipeline`,\n layout: device.createPipelineLayout({\n bindGroupLayouts: [\n device.createBindGroupLayout(fontBindGroupLayout),\n device.createBindGroupLayout(textUniformBindGroupLayout),\n device.createBindGroupLayout(engineUniformBindGroupLayout),\n ],\n }),\n vertex: {\n module: shader,\n entryPoint: \"vertexMain\",\n },\n fragment: {\n module: shader,\n entryPoint: \"fragmentMain\",\n targets: [\n {\n format: colorFormat,\n blend: {\n color: {\n srcFactor: \"src-alpha\",\n dstFactor: \"one-minus-src-alpha\",\n },\n alpha: {\n srcFactor: \"one\",\n dstFactor: \"one\",\n },\n },\n },\n ],\n },\n primitive: {\n topology: \"triangle-strip\",\n stripIndexFormat: \"uint32\",\n },\n });\n}\n\nif (typeof GPUShaderStage === \"undefined\") {\n // polyfill GPUShaderStage so that toodle can be imported in non-browser environments\n // eg for automated testing\n globalThis.GPUShaderStage = {\n VERTEX: 1,\n FRAGMENT: 2,\n COMPUTE: 4,\n };\n}\n\nconst fontBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"MSDF font group layout\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.FRAGMENT,\n texture: {},\n },\n {\n binding: 1,\n visibility: GPUShaderStage.FRAGMENT,\n sampler: {},\n },\n {\n binding: 2,\n visibility: GPUShaderStage.VERTEX,\n buffer: { type: \"read-only-storage\" },\n },\n {\n binding: 3,\n visibility: GPUShaderStage.VERTEX,\n buffer: {},\n },\n ],\n};\n\nconst engineUniformBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"Uniform bind group\",\n entries: [\n {\n binding: 0,\n visibility: GPUShaderStage.VERTEX,\n buffer: {},\n },\n ],\n};\n\nconst sampler: GPUSamplerDescriptor = {\n label: \"MSDF text sampler\",\n minFilter: \"linear\",\n magFilter: \"linear\",\n mipmapFilter: \"linear\",\n maxAnisotropy: 16,\n};\n\nconst textUniformBindGroupLayout: GPUBindGroupLayoutDescriptor = {\n label: \"MSDF text block uniform\",\n entries: [\n {\n // text data - matrix, color, font size, characters\n binding: 0,\n visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,\n buffer: { type: \"read-only-storage\" },\n },\n {\n binding: 1,\n visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,\n buffer: { type: \"read-only-storage\" },\n },\n ],\n};\n",
36
- "import { WgslReflect } from \"wgsl_reflect\";\nimport type { IBackendShader } from \"../backends/IBackendShader\";\nimport type { WebGPUBackend } from \"../backends/webgpu/WebGPUBackend\";\nimport type { EngineUniform } from \"../coreTypes/EngineUniform\";\nimport type { SceneNode } from \"../scene/SceneNode\";\nimport type { FontPipeline } from \"./FontPipeline\";\nimport type { MsdfFont } from \"./MsdfFont\";\nimport { findLargestFontSize, measureText, shapeText } from \"./shaping\";\nimport { DEFAULT_FONT_SIZE, TextNode } from \"./TextNode\";\nimport msdfShader from \"./text.wgsl\";\n\nconst deets = new WgslReflect(msdfShader);\nconst struct = deets.structs.find((s) => s.name === \"TextBlockDescriptor\");\nif (!struct) {\n throw new Error(\"FormattedText struct not found\");\n}\nconst textDescriptorInstanceSize = struct.size;\n\nexport class TextShader implements IBackendShader {\n readonly label = \"text\";\n\n #backend: WebGPUBackend;\n #pipeline: GPURenderPipeline;\n #bindGroups: GPUBindGroup[] = [];\n #font: MsdfFont;\n #maxCharCount: number;\n #engineUniformsBuffer: GPUBuffer;\n #descriptorBuffer: GPUBuffer;\n #textBlockBuffer: GPUBuffer;\n #cpuDescriptorBuffer: Float32Array;\n #cpuTextBlockBuffer: Float32Array;\n #instanceIndex = 0;\n #textBlockOffset = 0;\n\n constructor(\n backend: WebGPUBackend,\n pipeline: FontPipeline,\n font: MsdfFont,\n _colorFormat: GPUTextureFormat,\n instanceCount: number,\n ) {\n this.#backend = backend;\n const device = backend.device;\n this.#font = font;\n this.#pipeline = pipeline.pipeline;\n this.#maxCharCount = pipeline.maxCharCount;\n\n this.#descriptorBuffer = device.createBuffer({\n label: \"msdf text descriptor buffer\",\n size: textDescriptorInstanceSize * instanceCount,\n usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,\n });\n\n this.#cpuDescriptorBuffer = new Float32Array(\n (instanceCount * textDescriptorInstanceSize) /\n Float32Array.BYTES_PER_ELEMENT,\n );\n\n this.#cpuTextBlockBuffer = new Float32Array(\n instanceCount * this.maxCharCount * 4,\n );\n\n this.#engineUniformsBuffer = device.createBuffer({\n label: \"msdf view projection matrix\",\n size: Float32Array.BYTES_PER_ELEMENT * 12,\n usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST,\n });\n\n this.#textBlockBuffer = device.createBuffer({\n label: \"msdf text buffer\",\n size:\n instanceCount * this.maxCharCount * 4 * Float32Array.BYTES_PER_ELEMENT,\n usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,\n });\n\n // create uniform bind groups\n this.#bindGroups.push(pipeline.fontBindGroup);\n\n this.#bindGroups.push(\n device.createBindGroup({\n label: \"msdf text bind group\",\n layout: pipeline.pipeline.getBindGroupLayout(1),\n entries: [\n {\n binding: 0,\n resource: { buffer: this.#descriptorBuffer },\n },\n {\n binding: 1,\n resource: { buffer: this.#textBlockBuffer },\n },\n ],\n }),\n );\n\n const engineUniformsBindGroup = device.createBindGroup({\n label: \"msdf text uniforms bind group\",\n layout: pipeline.pipeline.getBindGroupLayout(2),\n entries: [\n {\n binding: 0,\n resource: { buffer: this.#engineUniformsBuffer },\n },\n ],\n });\n this.#bindGroups.push(engineUniformsBindGroup);\n }\n\n startFrame(uniform: EngineUniform): void {\n const device = this.#backend.device;\n device.queue.writeBuffer(\n this.#engineUniformsBuffer,\n 0,\n uniform.viewProjectionMatrix as Float32Array,\n );\n this.#instanceIndex = 0;\n this.#textBlockOffset = 0;\n }\n\n processBatch(nodes: SceneNode[]): number {\n if (nodes.length === 0) return 0;\n\n const renderPass = this.#backend.renderPass;\n renderPass.setPipeline(this.#pipeline);\n for (let i = 0; i < this.#bindGroups.length; i++) {\n renderPass.setBindGroup(i, this.#bindGroups[i]);\n }\n\n for (const node of nodes) {\n if (!(node instanceof TextNode)) {\n console.error(node);\n throw new Error(\n `Tried to use TextShader on something that isn't a TextNode: ${node}`,\n );\n }\n const text = node.text;\n const formatting = node.formatting;\n const measurements = measureText(this.#font, text, formatting.wordWrap);\n\n const textBlockSize = 4 * text.length;\n\n // Calculate the buffer offset to get the current TextBlockDescriptor\n const textDescriptorOffset =\n (this.#instanceIndex * textDescriptorInstanceSize) /\n Float32Array.BYTES_PER_ELEMENT;\n\n // Shape text and pack to the buffer...\n this.#cpuDescriptorBuffer.set(node.matrix, textDescriptorOffset);\n\n // Color\n this.#cpuDescriptorBuffer.set(\n [node.tint.r, node.tint.g, node.tint.b, node.tint.a],\n textDescriptorOffset + 12,\n );\n\n // Font Size\n const size = node.size ?? measurements;\n const fontSize = formatting.shrinkToFit\n ? findLargestFontSize(this.#font, text, size, formatting)\n : formatting.fontSize;\n const actualFontSize = fontSize || DEFAULT_FONT_SIZE;\n this.#cpuDescriptorBuffer[textDescriptorOffset + 16] = actualFontSize;\n\n // Alignment and dimensions\n this.#cpuDescriptorBuffer[textDescriptorOffset + 17] =\n formatting.align === \"center\" ? 0 : measurements.width;\n this.#cpuDescriptorBuffer[textDescriptorOffset + 18] =\n measurements.height;\n\n // Text block buffer offset\n // the shader at text.wgsl.ts is expecting an index into the text block buffer,\n // which is an array<vec4f> hence the division by 4\n this.#cpuDescriptorBuffer[textDescriptorOffset + 19] =\n this.#textBlockOffset / 4;\n\n shapeText(\n this.#font,\n text,\n size,\n actualFontSize,\n formatting,\n this.#cpuTextBlockBuffer,\n this.#textBlockOffset,\n );\n\n // Write instance data\n this.#backend.device.queue.writeBuffer(\n this.#descriptorBuffer,\n textDescriptorOffset * Float32Array.BYTES_PER_ELEMENT,\n this.#cpuDescriptorBuffer,\n textDescriptorOffset,\n textDescriptorInstanceSize / Float32Array.BYTES_PER_ELEMENT,\n );\n\n this.#backend.device.queue.writeBuffer(\n this.#textBlockBuffer,\n this.#textBlockOffset * Float32Array.BYTES_PER_ELEMENT,\n this.#cpuTextBlockBuffer,\n this.#textBlockOffset,\n textBlockSize,\n );\n\n this.#textBlockOffset += textBlockSize;\n\n // Draw text\n renderPass.draw(\n 4,\n measurements.printedCharCount,\n 4 * this.#instanceIndex,\n 0,\n );\n this.#instanceIndex++;\n }\n\n return nodes.length;\n }\n\n endFrame(): void {\n // No cleanup needed\n }\n\n get font() {\n return this.#font;\n }\n\n get maxCharCount() {\n return this.#maxCharCount;\n }\n}\n",
37
38
  "/**\n * Bundles - A renderer-agnostic class for managing texture bundles and atlas coordinates.\n *\n * This class can be used standalone (without WebGPU) for:\n * - Registering pre-baked texture atlases (Pixi/AssetPack format)\n * - Looking up texture regions and UV coordinates\n * - Managing bundle state\n *\n * For WebGPU rendering, use AssetManager which wraps this class and handles GPU operations.\n */\n\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport type {\n AtlasBundleOpts,\n AtlasCoords,\n CpuTextureAtlas,\n PixiRegion,\n TextureRegion,\n} from \"./types\";\n\nexport type TextureId = string;\nexport type BundleId = string;\n\ntype CpuBundle = {\n atlases: CpuTextureAtlas[];\n isLoaded: boolean;\n atlasIndices: number[];\n};\n\n/**\n * Options for creating a Bundles instance\n */\nexport type BundlesOptions = {\n /** The size of the texture atlas (default: 4096) */\n atlasSize?: number;\n};\n\n/**\n * Bundles manages texture bundle registration and atlas coordinate lookups.\n *\n * This is a pure TypeScript class with no WebGPU dependencies, suitable for\n * use with custom renderers (e.g., WebGL fallbacks).\n */\nexport class Bundles {\n #bundles: Map<BundleId, CpuBundle> = new Map();\n #textures: Map<TextureId, AtlasCoords[]> = new Map();\n #atlasSize: number;\n\n constructor(options: BundlesOptions = {}) {\n this.#atlasSize = options.atlasSize ?? 4096;\n }\n\n /**\n * Register a bundle of pre-baked texture atlases.\n *\n * @param bundleId - Unique identifier for this bundle\n * @param opts - Atlas bundle options containing atlas definitions\n * @returns The bundle ID\n */\n async registerAtlasBundle(\n bundleId: BundleId,\n opts: AtlasBundleOpts,\n ): Promise<BundleId> {\n const atlases: CpuTextureAtlas[] = [];\n\n for (const atlas of opts.atlases) {\n const jsonUrl =\n atlas.json ??\n new URL(\n atlas.png!.toString().replace(\".png\", \".json\"),\n atlas.png!.origin,\n );\n const pngUrl =\n atlas.png ??\n new URL(\n atlas.json!.toString().replace(\".json\", \".png\"),\n atlas.json!.origin,\n );\n\n const atlasDef = await (await fetch(jsonUrl)).json();\n\n // For CPU-only usage, we may not need the actual bitmap\n // but we fetch it for compatibility and to get dimensions\n const bitmap = !opts.rg8\n ? await this.#getBitmapFromUrl(pngUrl)\n : await createImageBitmap(new ImageData(1, 1)); // placeholder if using rg8\n\n let rg8Bytes: Uint8Array<ArrayBuffer> | undefined;\n if (opts.rg8) {\n const rg8url = new URL(\n pngUrl.toString().replace(\".png\", \".rg8.gz\"),\n pngUrl.origin,\n );\n rg8Bytes = await this.#fetchRg8Bytes(rg8url);\n }\n\n const cpuTextureAtlas: CpuTextureAtlas = {\n texture: bitmap,\n rg8Bytes,\n textureRegions: new Map(),\n width: opts.rg8 ? this.#atlasSize : bitmap.width,\n height: opts.rg8 ? this.#atlasSize : bitmap.height,\n };\n\n // Parse Pixi JSON format into TextureRegions\n for (const [assetId, frame] of Object.entries(atlasDef.frames) as [\n string,\n PixiRegion,\n ][]) {\n const textureRegion = this.#parsePixiFrame(\n frame,\n cpuTextureAtlas.width,\n cpuTextureAtlas.height,\n );\n cpuTextureAtlas.textureRegions.set(assetId, textureRegion);\n }\n\n atlases.push(cpuTextureAtlas);\n }\n\n this.#bundles.set(bundleId, {\n atlases,\n atlasIndices: [],\n isLoaded: false,\n });\n\n return bundleId;\n }\n\n /**\n * Register a bundle with pre-built CPU texture atlases.\n * Used internally by AssetManager for texture bundles that require GPU packing.\n *\n * @param bundleId - Unique identifier for this bundle\n * @param atlases - Pre-built CPU texture atlases\n */\n registerDynamicBundle(bundleId: BundleId, atlases: CpuTextureAtlas[]): void {\n this.#bundles.set(bundleId, {\n atlases,\n atlasIndices: [],\n isLoaded: false,\n });\n }\n\n /**\n * Check if a bundle is registered.\n *\n * @param bundleId - The bundle ID to check\n */\n hasBundle(bundleId: BundleId): boolean {\n return this.#bundles.has(bundleId);\n }\n\n /**\n * Check if a bundle is loaded.\n *\n * @param bundleId - The bundle ID to check\n */\n isBundleLoaded(bundleId: BundleId): boolean {\n const bundle = this.#bundles.get(bundleId);\n return bundle?.isLoaded ?? false;\n }\n\n /**\n * Get the atlas indices for a loaded bundle.\n *\n * @param bundleId - The bundle ID\n * @returns Array of atlas indices, or empty array if not loaded\n */\n getBundleAtlasIndices(bundleId: BundleId): number[] {\n const bundle = this.#bundles.get(bundleId);\n return bundle?.atlasIndices ?? [];\n }\n\n /**\n * Mark a bundle as loaded without populating texture lookups.\n * Used when texture lookups are already populated via loadAtlas.\n *\n * @param bundleId - The bundle to mark as loaded\n * @param atlasIndices - Array of atlas indices, one per atlas\n */\n setBundleLoaded(bundleId: BundleId, atlasIndices: number[]): void {\n const bundle = this.#bundles.get(bundleId);\n if (!bundle) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n bundle.atlasIndices = atlasIndices;\n bundle.isLoaded = true;\n }\n\n /**\n * Mark a bundle as loaded and populate texture lookups.\n * For standalone usage (without AssetManager).\n *\n * @param bundleId - The bundle to mark as loaded\n * @param atlasIndices - Array of atlas indices, one per atlas. If not provided, indices are auto-assigned sequentially.\n */\n markBundleLoaded(bundleId: BundleId, atlasIndices?: number[]): void {\n const bundle = this.#bundles.get(bundleId);\n if (!bundle) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (bundle.isLoaded) {\n console.warn(`Bundle ${bundleId} is already loaded.`);\n return;\n }\n\n // Use provided indices or auto-assign sequential ones\n const indices =\n atlasIndices ?? bundle.atlases.map(() => this.#getNextAtlasIndex());\n\n if (indices.length !== bundle.atlases.length) {\n throw new Error(\n `Expected ${bundle.atlases.length} atlas indices, got ${indices.length}`,\n );\n }\n\n for (let i = 0; i < bundle.atlases.length; i++) {\n const atlas = bundle.atlases[i];\n const atlasIndex = indices[i];\n bundle.atlasIndices.push(atlasIndex);\n\n for (const [id, region] of atlas.textureRegions) {\n const coords: AtlasCoords = { ...region, atlasIndex };\n const existing = this.#textures.get(id);\n if (existing) {\n existing.push(coords);\n } else {\n this.#textures.set(id, [coords]);\n }\n }\n }\n\n bundle.isLoaded = true;\n }\n\n /**\n * Unmark a bundle as loaded and remove texture lookups.\n *\n * @param bundleId - The bundle to unload\n */\n unloadBundle(bundleId: BundleId): void {\n const bundle = this.#bundles.get(bundleId);\n if (!bundle) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (!bundle.isLoaded) {\n console.warn(`Bundle ${bundleId} is not loaded.`);\n return;\n }\n\n // Remove texture entries for this bundle's atlas indices\n for (const atlasIndex of bundle.atlasIndices) {\n for (const [id, coords] of this.#textures.entries()) {\n const indexToRemove = coords.findIndex(\n (coord) => coord.atlasIndex === atlasIndex,\n );\n if (indexToRemove !== -1) {\n coords.splice(indexToRemove, 1);\n }\n if (!coords.length) {\n this.#textures.delete(id);\n }\n }\n }\n\n bundle.isLoaded = false;\n bundle.atlasIndices = [];\n }\n\n /**\n * A read-only map of all currently loaded textures.\n */\n get textures(): ReadonlyMap<TextureId, AtlasCoords[]> {\n return this.#textures;\n }\n\n /**\n * A read-only array of all currently loaded texture ids.\n */\n get textureIds(): TextureId[] {\n return Array.from(this.#textures.keys());\n }\n\n /**\n * Get the atlas coordinates for a texture.\n *\n * @param id - The texture ID\n * @returns Array of atlas coordinates (may have multiple if texture exists in multiple atlases)\n */\n getAtlasCoords(id: TextureId): AtlasCoords[] {\n const coords = this.#textures.get(id);\n if (!coords) {\n throw new Error(\n `Texture ${id} not found. Have you registered and loaded a bundle containing this texture?`,\n );\n }\n return coords;\n }\n\n /**\n * Set the atlas coordinates for a texture.\n * This allows for UV precision adjustments.\n *\n * @param id - The texture ID\n * @param coords - The atlas coordinates to set\n */\n setAtlasCoords(id: TextureId, coords: AtlasCoords): void {\n const oldCoords = this.#textures.get(id);\n if (!oldCoords) return;\n const indexToModify = oldCoords.findIndex(\n (coord) => coord.atlasIndex === coords.atlasIndex,\n );\n if (indexToModify === -1) return;\n oldCoords[indexToModify] = coords;\n this.#textures.set(id, oldCoords);\n }\n\n /**\n * Add atlas coordinates for a texture entry.\n * Used by AssetManager.loadAtlas for textures loaded outside of bundles.\n *\n * @param id - The texture ID\n * @param coords - The atlas coordinates to add\n */\n addTextureEntry(id: TextureId, coords: AtlasCoords): void {\n const existing = this.#textures.get(id);\n if (existing) {\n existing.push(coords);\n } else {\n this.#textures.set(id, [coords]);\n }\n }\n\n /**\n * Remove texture entries for a specific atlas index.\n * Used by AssetManager.unloadAtlas.\n *\n * @param atlasIndex - The atlas index to remove entries for\n */\n removeTextureEntriesForAtlas(atlasIndex: number): void {\n for (const [id, coords] of this.#textures.entries()) {\n const indexToRemove = coords.findIndex(\n (coord) => coord.atlasIndex === atlasIndex,\n );\n if (indexToRemove !== -1) {\n coords.splice(indexToRemove, 1);\n }\n if (!coords.length) {\n this.#textures.delete(id);\n }\n }\n }\n\n /**\n * Get the texture region (without atlas index) for a texture.\n *\n * @param id - The texture ID\n * @returns The texture region, or undefined if not found\n */\n getTextureRegion(id: TextureId): TextureRegion | undefined {\n const coords = this.#textures.get(id);\n if (!coords || coords.length === 0) return undefined;\n\n const { atlasIndex: _, ...region } = coords[0];\n return region;\n }\n\n /**\n * Get the crop offset for a texture.\n *\n * @param id - The texture ID\n * @returns The crop offset vector\n */\n getTextureOffset(id: TextureId): Vec2 {\n const coords = this.#textures.get(id);\n if (!coords) {\n throw new Error(\n `Texture ${id} not found. Have you registered and loaded a bundle containing this texture?`,\n );\n }\n return coords[0].cropOffset;\n }\n\n /**\n * Get the original (uncropped) size of a texture.\n *\n * @param id - The texture ID\n * @returns The original size in pixels\n */\n getSize(id: TextureId): Size {\n const coords = this.getAtlasCoords(id);\n const uvScale = coords[0].uvScale;\n return {\n width: uvScale.width * this.#atlasSize,\n height: uvScale.height * this.#atlasSize,\n };\n }\n\n /**\n * Get the cropped size of a texture.\n *\n * @param id - The texture ID\n * @returns The cropped size in pixels\n */\n getCroppedSize(id: TextureId): Size {\n const coords = this.getAtlasCoords(id);\n const uvScaleCropped = coords[0].uvScaleCropped;\n if (uvScaleCropped) {\n return {\n width: uvScaleCropped.width * this.#atlasSize,\n height: uvScaleCropped.height * this.#atlasSize,\n };\n }\n return this.getSize(id);\n }\n\n /**\n * Check if a texture exists.\n *\n * @param id - The texture ID\n * @returns True if the texture is registered\n */\n hasTexture(id: TextureId): boolean {\n return this.#textures.has(id);\n }\n\n /**\n * Get all registered bundle IDs.\n */\n getRegisteredBundleIds(): BundleId[] {\n return Array.from(this.#bundles.keys());\n }\n\n /**\n * Get all loaded bundle IDs.\n */\n getLoadedBundleIds(): BundleId[] {\n return Array.from(this.#bundles.entries())\n .filter(([, bundle]) => bundle.isLoaded)\n .map(([id]) => id);\n }\n\n /**\n * Get the CPU-side atlas data for a bundle.\n * Useful for custom renderers that need access to the raw atlas data.\n *\n * @param bundleId - The bundle ID\n * @returns Array of CPU texture atlases\n */\n getBundleAtlases(bundleId: BundleId): CpuTextureAtlas[] {\n const bundle = this.#bundles.get(bundleId);\n if (!bundle) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n return bundle.atlases;\n }\n\n /**\n * The atlas size used for coordinate calculations.\n */\n get atlasSize(): number {\n return this.#atlasSize;\n }\n\n // --- Private helpers ---\n\n #parsePixiFrame(\n frame: PixiRegion,\n atlasWidth: number,\n atlasHeight: number,\n ): TextureRegion {\n const leftCrop = frame.spriteSourceSize.x;\n const rightCrop =\n frame.sourceSize.w - frame.spriteSourceSize.x - frame.spriteSourceSize.w;\n const topCrop = frame.spriteSourceSize.y;\n const bottomCrop =\n frame.sourceSize.h - frame.spriteSourceSize.y - frame.spriteSourceSize.h;\n\n return {\n cropOffset: {\n x: leftCrop - rightCrop,\n y: bottomCrop - topCrop,\n },\n originalSize: {\n width: frame.sourceSize.w,\n height: frame.sourceSize.h,\n },\n uvOffset: {\n x: frame.frame.x / atlasWidth,\n y: frame.frame.y / atlasHeight,\n },\n uvScale: {\n width: frame.sourceSize.w / atlasWidth,\n height: frame.sourceSize.h / atlasHeight,\n },\n uvScaleCropped: {\n width: frame.frame.w / atlasWidth,\n height: frame.frame.h / atlasHeight,\n },\n };\n }\n\n async #getBitmapFromUrl(url: URL): Promise<ImageBitmap> {\n const response = await fetch(url);\n const blob = await response.blob();\n return createImageBitmap(blob);\n }\n\n async #fetchRg8Bytes(url: URL): Promise<Uint8Array<ArrayBuffer>> {\n const response = await fetch(url);\n const enc = (response.headers.get(\"content-encoding\") || \"\").toLowerCase();\n\n // If server/CDN already set Content-Encoding, Fetch returns decompressed bytes\n if (enc.includes(\"gzip\") || enc.includes(\"br\") || enc.includes(\"deflate\")) {\n return new Uint8Array(await response.arrayBuffer());\n }\n\n if (!response.body) {\n throw new Error(\"Response body of rg8 file is null\");\n }\n\n const ds = new DecompressionStream(\"gzip\");\n const ab = await new Response(response.body.pipeThrough(ds)).arrayBuffer();\n return new Uint8Array(ab);\n }\n\n #getNextAtlasIndex(): number {\n // Find the highest used atlas index and return the next one\n let maxIndex = -1;\n for (const bundle of this.#bundles.values()) {\n for (const idx of bundle.atlasIndices) {\n if (idx > maxIndex) maxIndex = idx;\n }\n }\n return maxIndex + 1;\n }\n}\n",
38
39
  "import type {\n CpuTextureAtlas,\n TextureRegion,\n TextureWithMetadata,\n} from \"./types\";\n\nexport async function getBitmapFromUrl(url: URL): Promise<ImageBitmap> {\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n return await createImageBitmap(blob);\n } catch (e) {\n console.error(`Failed to load texture from ${url.href}`, e);\n throw e;\n }\n}\n\nexport async function packBitmapsToAtlas(\n images: Map<string, TextureWithMetadata>,\n textureSize: number,\n device: GPUDevice,\n): Promise<CpuTextureAtlas[]> {\n const cpuTextureAtlases: CpuTextureAtlas[] = [];\n const packed: PackedTexture[] = [];\n const spaces: Rectangle[] = [\n { x: 0, y: 0, width: textureSize, height: textureSize },\n ];\n\n let atlasRegionMap = new Map<string, TextureRegion>();\n\n for (const [id, { texture, cropOffset: offset, originalSize }] of images) {\n // Find best fitting space using guillotine method\n let bestSpace = -1;\n let bestScore = Number.POSITIVE_INFINITY;\n\n for (let i = 0; i < spaces.length; i++) {\n const space = spaces[i];\n if (texture.width <= space.width && texture.height <= space.height) {\n // Score based on how well it fits (smaller score is better)\n const score = Math.abs(\n space.width * space.height - texture.width * texture.height,\n );\n if (score < bestScore) {\n bestScore = score;\n bestSpace = i;\n }\n }\n }\n\n if (bestSpace === -1) {\n const tex = await createTextureAtlasTexture(device, packed, textureSize);\n cpuTextureAtlases.push({\n texture: tex,\n textureRegions: atlasRegionMap,\n width: tex.width,\n height: tex.height,\n });\n\n atlasRegionMap = new Map<string, TextureRegion>();\n packed.length = 0;\n\n spaces.length = 0;\n spaces.push({\n x: 0,\n y: 0,\n width: textureSize,\n height: textureSize,\n });\n bestSpace = 0;\n }\n\n const space = spaces[bestSpace];\n\n // Pack the image\n packed.push(<PackedTexture>{\n texture: await textureToBitmap(\n device,\n texture,\n texture.width,\n texture.height,\n ),\n x: space.x,\n y: space.y,\n width: texture.width,\n height: texture.height,\n });\n\n texture.destroy();\n\n // Split remaining space into two new spaces\n spaces.splice(bestSpace, 1);\n\n if (space.width - texture.width > 0) {\n spaces.push({\n x: space.x + texture.width,\n y: space.y,\n width: space.width - texture.width,\n height: texture.height,\n });\n }\n\n if (space.height - texture.height > 0) {\n spaces.push({\n x: space.x,\n y: space.y + texture.height,\n width: space.width,\n height: space.height - texture.height,\n });\n }\n\n // Create atlas coords\n atlasRegionMap.set(id, {\n uvOffset: {\n x: space.x / textureSize,\n y: space.y / textureSize,\n },\n uvScale: {\n width: originalSize.width / textureSize,\n height: originalSize.height / textureSize,\n },\n uvScaleCropped: {\n width: texture.width / textureSize,\n height: texture.height / textureSize,\n },\n cropOffset: offset,\n originalSize,\n });\n }\n const tex = await createTextureAtlasTexture(device, packed, textureSize);\n\n cpuTextureAtlases.push({\n texture: tex,\n textureRegions: atlasRegionMap,\n width: tex.width,\n height: tex.height,\n });\n\n return cpuTextureAtlases;\n}\n\nasync function createTextureAtlasTexture(\n device: GPUDevice,\n packed: PackedTexture[],\n atlasSize: number,\n) {\n const encoder: GPUCommandEncoder = device.createCommandEncoder();\n const atlasTexture: GPUTexture = device.createTexture({\n label: \"Texture Atlas Texture Holder\",\n size: [atlasSize, atlasSize, 1],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.COPY_SRC |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n\n for (const texture of packed) {\n device.queue.copyExternalImageToTexture(\n {\n source: texture.texture,\n },\n {\n texture: atlasTexture,\n origin: [texture.x, texture.y, 0],\n },\n [texture.width, texture.height, 1],\n );\n }\n device.queue.submit([encoder.finish()]);\n const atlasBitmap: ImageBitmap = await textureToBitmap(\n device,\n atlasTexture,\n atlasTexture.width,\n atlasTexture.height,\n );\n atlasTexture.destroy();\n return atlasBitmap;\n}\n\n/**\n * Converts a WebGPU GPUTexture into an ImageBitmap.\n *\n * @param {GPUDevice} device - The WebGPU device used to create GPU resources.\n * @param {GPUTexture} texture - The GPUTexture to convert. Must be in `rgba8unorm` format.\n * @param {number} width - The width of the texture in pixels.\n * @param {number} height - The height of the texture in pixels.\n * @returns {Promise<ImageBitmap>} A promise that resolves to an ImageBitmap containing the texture's contents.\n *\n * @example\n * const bitmap = await textureToBitmap(device, queue, myTexture, 256, 256);\n * const canvas = document.createElement(\"canvas\");\n * const ctx = canvas.getContext(\"2d\");\n * ctx.drawImage(bitmap, 0, 0);\n */\nasync function textureToBitmap(\n device: GPUDevice,\n texture: GPUTexture,\n width: number,\n height: number,\n): Promise<ImageBitmap> {\n const bytesPerPixel = 4;\n const bytesPerRow = Math.ceil((width * bytesPerPixel) / 256) * 256;\n const bufferSize = bytesPerRow * height;\n\n const readBuffer = device.createBuffer({\n size: bufferSize,\n usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,\n });\n\n const commandEncoder = device.createCommandEncoder();\n commandEncoder.copyTextureToBuffer(\n { texture: texture },\n {\n buffer: readBuffer,\n bytesPerRow: bytesPerRow,\n rowsPerImage: height,\n },\n {\n width: width,\n height: height,\n depthOrArrayLayers: 1,\n },\n );\n\n const commands = commandEncoder.finish();\n device.queue.submit([commands]);\n\n await readBuffer.mapAsync(GPUMapMode.READ);\n const arrayBuffer = readBuffer.getMappedRange();\n const data = new Uint8ClampedArray(arrayBuffer);\n\n const imageData = new Uint8ClampedArray(width * height * 4);\n for (let y = 0; y < height; y++) {\n const rowStart = y * bytesPerRow;\n const rowEnd = rowStart + width * 4;\n imageData.set(data.subarray(rowStart, rowEnd), y * width * 4);\n }\n\n const image = new ImageData(imageData, width, height);\n const bitmap = await createImageBitmap(image);\n\n readBuffer.unmap();\n return bitmap;\n}\n\ntype PackedTexture = {\n texture: ImageBitmap;\n x: number;\n y: number;\n width: number;\n height: number;\n};\n\ntype Rectangle = {\n x: number;\n y: number;\n width: number;\n height: number;\n};\n",
39
- "import type { IRenderBackend } from \"../backends/IRenderBackend\";\nimport { TextureComputeShader } from \"../backends/webgpu/TextureComputeShader\";\nimport type { WebGPUBackend } from \"../backends/webgpu/WebGPUBackend\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport { JumboQuadNode } from \"../scene/JumboQuadNode\";\nimport { QuadNode } from \"../scene/QuadNode\";\nimport type { SceneNode } from \"../scene/SceneNode\";\nimport { FontPipeline } from \"../text/FontPipeline\";\nimport { MsdfFont } from \"../text/MsdfFont\";\nimport { TextShader } from \"../text/TextShader\";\nimport { Bundles } from \"./Bundles\";\nimport type {\n AtlasBundleOpts,\n AtlasCoords,\n CpuTextureAtlas,\n TextureBundleOpts,\n TextureWithMetadata,\n} from \"./types\";\nimport { getBitmapFromUrl, packBitmapsToAtlas } from \"./util\";\n\nexport type TextureId = string;\nexport type BundleId = string;\nexport type FontId = string;\n\nexport type AssetManagerOptions = {\n /** Existing Bundles instance to use for CPU-side storage. If not provided, a new one is created. */\n bundles?: Bundles;\n /** Which texture atlas to use (default: \"default\") */\n atlasId?: string;\n};\n\nexport class AssetManager {\n readonly bundles: Bundles;\n #backend: IRenderBackend;\n #atlasId: string;\n #fonts: Map<string, TextShader> = new Map();\n #cropComputeShader: TextureComputeShader | null = null;\n #availableIndices: Set<number> = new Set();\n\n constructor(backend: IRenderBackend, options: AssetManagerOptions = {}) {\n this.#backend = backend;\n this.#atlasId = options.atlasId ?? \"default\";\n\n const atlas = backend.getTextureAtlas(this.#atlasId);\n if (!atlas) {\n throw new Error(`Atlas \"${this.#atlasId}\" not found`);\n }\n\n this.bundles = options.bundles ?? new Bundles({ atlasSize: atlas.size });\n\n // Initialize compute shader only for WebGPU backend\n if (backend.type === \"webgpu\") {\n const device = (backend as WebGPUBackend).device;\n this.#cropComputeShader = TextureComputeShader.create(device);\n }\n\n this.#availableIndices = new Set(\n Array.from({ length: atlas.layers }, (_, i) => i),\n );\n }\n\n /**\n * Get the atlas ID this asset manager uses.\n */\n get atlasId(): string {\n return this.#atlasId;\n }\n\n /**\n * Get the GPU texture atlas. For WebGPU, returns GPUTexture.\n * @deprecated Access via backend.getTextureAtlas(atlasId).handle instead\n */\n get textureAtlas(): GPUTexture {\n return this.#backend.getTextureAtlas(this.#atlasId)!.handle as GPUTexture;\n }\n\n /**\n * Get the atlas dimensions\n */\n get atlasSize(): Size {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n return { width: atlas!.size, height: atlas!.size };\n }\n\n /**\n * True dimensions of a loaded texture, prior to any transparent pixel cropping.\n *\n * @param id - The id of the texture to get the size of\n * @returns The size of the texture\n */\n getSize(id: TextureId): Size {\n const coords = this.extra.getAtlasCoords(id);\n const originalScale = coords[0].uvScale;\n // Use atlasSize instead of textureAtlas.width/height for WebGL2 compatibility\n return {\n width: originalScale.width * this.atlasSize.width,\n height: originalScale.height * this.atlasSize.height,\n };\n }\n\n /**\n * Dimensions of a loaded texture, cropped to a minimal bounding box.\n *\n * @param id - The id of the texture to get the size of\n * @returns The size of the texture\n */\n getCroppedSize(id: TextureId): Size {\n const scaledUvs = this.extra.getAtlasCoords(id)[0].uvScaleCropped;\n if (scaledUvs) {\n // Use atlasSize instead of textureAtlas.width/height for WebGL2 compatibility\n return {\n width: scaledUvs.width * this.atlasSize.width,\n height: scaledUvs.height * this.atlasSize.height,\n };\n }\n return this.getSize(id);\n }\n\n /**\n * Whether the texture has been cropped for extra transparency.\n *\n * @param id - The id of the texture to be checked\n * @returns Whether the image has been cropped (i.e. if it has uvScaledCropped)\n */\n isCropped(id: TextureId): boolean {\n if (!this.bundles.hasTexture(id)) {\n throw new Error(\n `Texture ${id} not found in atlas. Have you called toodle.loadTextures with this id or toodle.loadBundle with a bundle that contains it?`,\n );\n }\n\n return this.bundles.getAtlasCoords(id)[0].uvScaleCropped === undefined;\n }\n\n /**\n * A read-only map of all currently loaded textures.\n */\n get textures() {\n return this.bundles.textures;\n }\n\n /**\n * A read-only array of all currently loaded texture ids.\n */\n get textureIds() {\n return this.bundles.textureIds;\n }\n\n /**\n * Debug method to load a set of textures from a record of URLS.\n *\n * @param textures Collection of strings and URLs representing the texture name and target file\n * @param options LoadingOptions used to modify the loading process\n *\n * Note: this will consume one texture atlas per texture.\n * For more efficient loading of multiple textures, consider {@link loadBundle}\n *\n * @example\n *\n * await toodle.assets.loadTextures({\n * \"myImage\": new URL(\"assets/image.png\", \"https://mywebsite.com\"),\n * });\n *\n * @deprecated use {@link registerBundle} instead. or {@link loadTexture} for debugging\n */\n async loadTextures(opts: TextureBundleOpts[\"textures\"]): Promise<void> {\n await Promise.all(\n Object.entries(opts).map(([id, url]) => this.loadTexture(id, url, opts)),\n );\n }\n\n /**\n * Debug method to load a single texture.\n *\n * @param id ID used to name the texture\n * @param url URL or ImageBitmap target for the image\n * @param options LoadingOptions used to modify the loading process\n *\n * Note: this will consume one texture atlas per texture.\n * For more efficient loading of multiple textures, consider {@link loadBundle}\n *\n * @throws Error if using WebGL backend (use registerBundle instead)\n */\n async loadTexture(\n id: TextureId,\n url: URL | ImageBitmap,\n options?: Partial<TextureBundleOpts>,\n ) {\n if (this.#backend.type !== \"webgpu\") {\n throw new Error(\n \"loadTexture is only supported with WebGPU backend. Use registerBundle with prebaked atlases instead.\",\n );\n }\n\n const bitmap =\n url instanceof ImageBitmap ? url : await getBitmapFromUrl(url);\n\n let textureWrapper: TextureWithMetadata = this.#wrapBitmapToTexture(\n bitmap,\n id,\n );\n const atlasIndex = this.extra.nextAvailableAtlasIndex();\n\n if (options?.cropTransparentPixels && this.#cropComputeShader) {\n textureWrapper =\n await this.#cropComputeShader.processTexture(textureWrapper);\n }\n\n this.#copyTextureToAtlas(textureWrapper.texture, atlasIndex);\n\n const { width: atlasWidth, height: atlasHeight } = this.atlasSize;\n const coords: AtlasCoords = {\n uvOffset: { x: 0, y: 0 },\n cropOffset: textureWrapper.cropOffset,\n uvScale: {\n width: textureWrapper.texture.width / atlasWidth,\n height: textureWrapper.texture.height / atlasHeight,\n },\n originalSize: textureWrapper.originalSize,\n uvScaleCropped: {\n width: textureWrapper.texture.width / atlasWidth,\n height: textureWrapper.texture.height / atlasHeight,\n },\n atlasIndex,\n };\n\n this.bundles.addTextureEntry(id, coords);\n this.#availableIndices.delete(atlasIndex);\n\n textureWrapper.texture.destroy();\n return { id, coords };\n }\n\n /**\n * Register a bundle of textures.\n *\n * @param bundleId ID used to name the bundle\n * @param bundle Collection of strings and URLs representing the texture name and target file\n * @param options LoadingOptions used to modify the loading process\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/texture-bundles.html\n */\n async registerBundle(\n bundleId: BundleId,\n opts: TextureBundleOpts | AtlasBundleOpts,\n ): Promise<BundleId> {\n if (\"textures\" in opts) {\n await this.#registerBundleFromTextures(bundleId, opts);\n } else {\n await this.#registerBundleFromAtlases(bundleId, opts);\n }\n\n const autoLoad = opts.autoLoad ?? true;\n if (autoLoad) {\n await this.loadBundle(bundleId);\n }\n return bundleId;\n }\n\n /**\n * Load a bundle of textures to the gpu\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/texture-bundles.html\n */\n async loadBundle(bundleId: BundleId) {\n if (!this.bundles.hasBundle(bundleId)) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (this.bundles.isBundleLoaded(bundleId)) {\n console.warn(`Bundle ${bundleId} is already loaded.`);\n return;\n }\n\n const atlases = this.bundles.getBundleAtlases(bundleId);\n const atlasIndices: number[] = [];\n\n for (const atlas of atlases) {\n const atlasIndex = await this.extra.loadAtlas(atlas);\n atlasIndices.push(atlasIndex);\n }\n\n // Use setBundleLoaded (not markBundleLoaded) since loadAtlas already populated textures\n this.bundles.setBundleLoaded(bundleId, atlasIndices);\n }\n\n /**\n * Unload a bundle of textures from the gpu - this marks the gpu-side texture atlas\n * as available for future texture loading.\n *\n * @param bundleId - The id of the bundle to unload\n */\n async unloadBundle(bundleId: BundleId) {\n if (!this.bundles.hasBundle(bundleId)) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (!this.bundles.isBundleLoaded(bundleId)) {\n console.warn(`Bundle ${bundleId} is not loaded.`);\n return;\n }\n\n const atlasIndices = this.bundles.getBundleAtlasIndices(bundleId);\n await Promise.all(\n atlasIndices.map((atlasIndex) => this.extra.unloadAtlas(atlasIndex)),\n );\n\n this.bundles.unloadBundle(bundleId);\n }\n\n /**\n * Load a font to the gpu\n *\n * @param id - The id of the font to load\n * @param url - The url of the font to load\n * @param fallbackCharacter - The character to use as a fallback if the font does not contain a character to be rendererd\n *\n * @throws Error if using WebGL backend (fonts not supported in WebGL mode)\n */\n async loadFont(id: string, url: URL, fallbackCharacter = \"_\") {\n if (this.#backend.type !== \"webgpu\") {\n throw new Error(\n \"loadFont is only supported with WebGPU backend. Text rendering is not available in WebGL mode.\",\n );\n }\n\n const webgpuBackend = this.#backend as WebGPUBackend;\n const device = webgpuBackend.device;\n const presentationFormat = webgpuBackend.presentationFormat;\n const limits = this.#backend.limits;\n\n const font = await MsdfFont.create(id, url);\n font.fallbackCharacter = fallbackCharacter;\n const fontPipeline = await FontPipeline.create(\n device,\n font,\n presentationFormat,\n limits.maxTextLength,\n );\n\n const textShader = new TextShader(\n this.#backend as WebGPUBackend,\n fontPipeline,\n font,\n presentationFormat,\n limits.instanceCount,\n );\n this.#fonts.set(id, textShader);\n return id;\n }\n\n getFont(id: string) {\n if (!this.#fonts.has(id)) {\n throw new Error(\n `Font ${id} not found in atlas. Have you called toodle.loadFont with this id?`,\n );\n }\n return this.#fonts.get(id)!;\n }\n\n validateTextureReference(node: SceneNode | QuadNode) {\n if (\n !(node instanceof QuadNode) ||\n node.isPrimitive ||\n node instanceof JumboQuadNode\n )\n return;\n\n if (!this.bundles.hasTexture(node.textureId)) {\n throw new Error(\n `Node ${node.id} references an invalid texture ${node.textureId}.`,\n );\n }\n\n const coords = this.bundles.getAtlasCoords(node.textureId);\n if (\n coords.find((coord) => coord.atlasIndex === node.atlasCoords.atlasIndex)\n )\n return;\n\n node.extra.setAtlasCoords(coords[0]);\n }\n\n /**\n *\n * @param bitmap - `ImageBitmap` to be processed into a `GPUTexture` for storage and manipulation\n * @param name - Used to name the new `GPUTexture` via labeling.\n * @private\n */\n #createTextureFromImageBitmap(bitmap: ImageBitmap, name: string): GPUTexture {\n const device = (this.#backend as WebGPUBackend).device;\n const texture = device.createTexture({\n label: `${name} Intermediary Texture`,\n size: [bitmap.width, bitmap.height],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.COPY_SRC |\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n\n device.queue.copyExternalImageToTexture(\n {\n source: bitmap,\n },\n {\n texture,\n },\n [bitmap.width, bitmap.height],\n );\n return texture;\n }\n\n async #registerBundleFromTextures(\n bundleId: BundleId,\n opts: TextureBundleOpts,\n ) {\n if (this.#backend.type !== \"webgpu\") {\n throw new Error(\n \"Dynamic texture bundle registration is only supported with WebGPU backend. Use prebaked atlases instead.\",\n );\n }\n\n const device = (this.#backend as WebGPUBackend).device;\n const images = new Map<string, TextureWithMetadata>();\n\n let _networkLoadTime = 0;\n await Promise.all(\n Object.entries(opts.textures).map(async ([id, url]) => {\n const now = performance.now();\n const bitmap = await getBitmapFromUrl(url);\n _networkLoadTime += performance.now() - now;\n let textureWrapper: TextureWithMetadata = this.#wrapBitmapToTexture(\n bitmap,\n id,\n );\n\n if (opts.cropTransparentPixels && this.#cropComputeShader) {\n textureWrapper =\n await this.#cropComputeShader.processTexture(textureWrapper);\n }\n images.set(id, textureWrapper);\n }),\n );\n\n const atlases = await packBitmapsToAtlas(\n images,\n this.#backend.limits.textureSize,\n device,\n );\n\n this.bundles.registerDynamicBundle(bundleId, atlases);\n }\n\n async #registerBundleFromAtlases(bundleId: BundleId, opts: AtlasBundleOpts) {\n // Delegate to the Bundles instance for atlas parsing\n await this.bundles.registerAtlasBundle(bundleId, opts);\n }\n\n /**\n * Advanced and niche features\n */\n extra = {\n // Get an array of all currently registered bundle ids.\n getRegisteredBundleIds: (): string[] => {\n return this.bundles.getRegisteredBundleIds();\n },\n\n // Get an array of all currently loaded bundle ids.\n getLoadedBundleIds: (): string[] => {\n return this.bundles.getLoadedBundleIds();\n },\n\n /**\n * Set the atlas coordinates for a texture.\n *\n * This should not be necessary for most use cases. This allows for UV precision\n *\n * @param id - The id of the texture to set the atlas coordinates for\n * @param coords - The atlas coordinates to set\n */\n setAtlasCoords: (id: TextureId, coords: AtlasCoords) => {\n this.bundles.setAtlasCoords(id, coords);\n },\n\n /**\n * Get the atlas coordinates for a texture.\n *\n * @param id - The id of the texture to get the atlas coordinates for\n * @returns An array of the atlas coordinates for the texture\n */\n getAtlasCoords: (id: TextureId): AtlasCoords[] => {\n return this.bundles.getAtlasCoords(id);\n },\n\n /**\n * Get the texture default offset\n *\n * @param id - The id of the texture to get the atlas coordinates for\n * @returns Point of the texture's associated X,Y offset\n */\n getTextureOffset: (id: TextureId): Vec2 => {\n return this.bundles.getTextureOffset(id);\n },\n\n /**\n * Get diagnostics on texture atlas usage\n *\n * @returns Usage stats for texture atlases\n */\n getAtlasUsage: () => {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n const totalLayers = atlas?.layers ?? 0;\n return {\n /**\n * The number of texture atlases that are currently unused\n * and available to load textures into.\n */\n available: this.#availableIndices.size,\n /**\n * The number of texture atlases that are currently in use.\n */\n used: totalLayers - this.#availableIndices.size,\n /**\n * The total number of texture atlases that can be loaded.\n */\n total: totalLayers,\n };\n },\n\n /**\n * Consume the next available atlas index.\n *\n */\n nextAvailableAtlasIndex: () => {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n const totalLayers = atlas?.layers ?? 0;\n for (let i = 0; i < totalLayers; i++) {\n if (this.#availableIndices.has(i)) {\n this.#availableIndices.delete(i);\n return i;\n }\n }\n throw new Error(\"Texture atlas is full - too many textures loaded.\");\n },\n\n /**\n * Load a texture atlas from a CpuTextureAtlas.\n *\n * @param atlas - The texture atlas to load\n * @returns The index of the atlas\n */\n loadAtlas: async (atlas: CpuTextureAtlas) => {\n const atlasIndex = this.extra.nextAvailableAtlasIndex();\n\n // Delegate to backend for actual GPU upload\n await this.#backend.uploadAtlas(atlas, atlasIndex, this.#atlasId);\n\n for (const [id, region] of atlas.textureRegions) {\n this.bundles.addTextureEntry(id, { ...region, atlasIndex });\n }\n return atlasIndex;\n },\n\n /**\n * Unload an atlas from the texture atlas.\n *\n * @param atlasIndex - The index of the atlas to unload\n */\n unloadAtlas: async (atlasIndex: number) => {\n this.#availableIndices.add(atlasIndex);\n this.bundles.removeTextureEntriesForAtlas(atlasIndex);\n },\n };\n\n #wrapBitmapToTexture(\n bitmap: ImageBitmap,\n name = \"Unknown\",\n ): TextureWithMetadata {\n const texture: GPUTexture = this.#createTextureFromImageBitmap(\n bitmap,\n name,\n );\n return {\n texture,\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: texture.width, height: texture.height },\n };\n }\n\n #copyTextureToAtlas(texture: GPUTexture, atlasIndex: number) {\n const device = (this.#backend as WebGPUBackend).device;\n const copyEncoder: GPUCommandEncoder = device.createCommandEncoder();\n copyEncoder.copyTextureToTexture(\n {\n texture: texture,\n mipLevel: 0,\n origin: [0, 0, 0],\n },\n {\n texture: this.textureAtlas,\n mipLevel: 0,\n origin: [0, 0, atlasIndex],\n },\n [texture.width, texture.height, 1],\n );\n\n device.queue.submit([copyEncoder.finish()]);\n }\n\n /**\n * Destroy the texture atlas. This should free up ~4gb of gpu memory (and make all draw calls fail)\n */\n destroy() {\n this.#backend.destroy();\n }\n}\n",
40
+ "import type { IRenderBackend } from \"../backends/IRenderBackend\";\nimport type { ITextShader } from \"../backends/ITextShader\";\nimport { WebGLTextShader } from \"../backends/webgl2/WebGLTextShader\";\nimport { FontPipeline } from \"../backends/webgpu/FontPipeline\";\nimport { TextureComputeShader } from \"../backends/webgpu/TextureComputeShader\";\nimport type { WebGPUBackend } from \"../backends/webgpu/WebGPUBackend\";\nimport { WebGPUTextShader } from \"../backends/webgpu/WebGPUTextShader\";\nimport type { Size } from \"../coreTypes/Size\";\nimport type { Vec2 } from \"../coreTypes/Vec2\";\nimport { JumboQuadNode } from \"../scene/JumboQuadNode\";\nimport { QuadNode } from \"../scene/QuadNode\";\nimport type { SceneNode } from \"../scene/SceneNode\";\nimport { MsdfFont } from \"../text/MsdfFont\";\nimport { Bundles } from \"./Bundles\";\nimport type {\n AtlasBundleOpts,\n AtlasCoords,\n CpuTextureAtlas,\n TextureBundleOpts,\n TextureWithMetadata,\n} from \"./types\";\nimport { getBitmapFromUrl, packBitmapsToAtlas } from \"./util\";\n\nexport type TextureId = string;\nexport type BundleId = string;\nexport type FontId = string;\n\nexport type AssetManagerOptions = {\n /** Existing Bundles instance to use for CPU-side storage. If not provided, a new one is created. */\n bundles?: Bundles;\n /** Which texture atlas to use (default: \"default\") */\n atlasId?: string;\n};\n\nexport class AssetManager {\n readonly bundles: Bundles;\n #backend: IRenderBackend;\n #atlasId: string;\n #fonts: Map<string, ITextShader> = new Map();\n #cropComputeShader: TextureComputeShader | null = null;\n #availableIndices: Set<number> = new Set();\n\n constructor(backend: IRenderBackend, options: AssetManagerOptions = {}) {\n this.#backend = backend;\n this.#atlasId = options.atlasId ?? \"default\";\n\n const atlas = backend.getTextureAtlas(this.#atlasId);\n if (!atlas) {\n throw new Error(`Atlas \"${this.#atlasId}\" not found`);\n }\n\n this.bundles = options.bundles ?? new Bundles({ atlasSize: atlas.size });\n\n // Initialize compute shader only for WebGPU backend\n if (backend.type === \"webgpu\") {\n const device = (backend as WebGPUBackend).device;\n this.#cropComputeShader = TextureComputeShader.create(device);\n }\n\n this.#availableIndices = new Set(\n Array.from({ length: atlas.layers }, (_, i) => i),\n );\n }\n\n /**\n * Get the atlas ID this asset manager uses.\n */\n get atlasId(): string {\n return this.#atlasId;\n }\n\n /**\n * Get the GPU texture atlas. For WebGPU, returns GPUTexture.\n * @deprecated Access via backend.getTextureAtlas(atlasId).handle instead\n */\n get textureAtlas(): GPUTexture {\n return this.#backend.getTextureAtlas(this.#atlasId)!.handle as GPUTexture;\n }\n\n /**\n * Get the atlas dimensions\n */\n get atlasSize(): Size {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n return { width: atlas!.size, height: atlas!.size };\n }\n\n /**\n * True dimensions of a loaded texture, prior to any transparent pixel cropping.\n *\n * @param id - The id of the texture to get the size of\n * @returns The size of the texture\n */\n getSize(id: TextureId): Size {\n const coords = this.extra.getAtlasCoords(id);\n const originalScale = coords[0].uvScale;\n // Use atlasSize instead of textureAtlas.width/height for WebGL2 compatibility\n return {\n width: originalScale.width * this.atlasSize.width,\n height: originalScale.height * this.atlasSize.height,\n };\n }\n\n /**\n * Dimensions of a loaded texture, cropped to a minimal bounding box.\n *\n * @param id - The id of the texture to get the size of\n * @returns The size of the texture\n */\n getCroppedSize(id: TextureId): Size {\n const scaledUvs = this.extra.getAtlasCoords(id)[0].uvScaleCropped;\n if (scaledUvs) {\n // Use atlasSize instead of textureAtlas.width/height for WebGL2 compatibility\n return {\n width: scaledUvs.width * this.atlasSize.width,\n height: scaledUvs.height * this.atlasSize.height,\n };\n }\n return this.getSize(id);\n }\n\n /**\n * Whether the texture has been cropped for extra transparency.\n *\n * @param id - The id of the texture to be checked\n * @returns Whether the image has been cropped (i.e. if it has uvScaledCropped)\n */\n isCropped(id: TextureId): boolean {\n if (!this.bundles.hasTexture(id)) {\n throw new Error(\n `Texture ${id} not found in atlas. Have you called toodle.loadTextures with this id or toodle.loadBundle with a bundle that contains it?`,\n );\n }\n\n return this.bundles.getAtlasCoords(id)[0].uvScaleCropped === undefined;\n }\n\n /**\n * A read-only map of all currently loaded textures.\n */\n get textures() {\n return this.bundles.textures;\n }\n\n /**\n * A read-only array of all currently loaded texture ids.\n */\n get textureIds() {\n return this.bundles.textureIds;\n }\n\n /**\n * Debug method to load a set of textures from a record of URLS.\n *\n * @param textures Collection of strings and URLs representing the texture name and target file\n * @param options LoadingOptions used to modify the loading process\n *\n * Note: this will consume one texture atlas per texture.\n * For more efficient loading of multiple textures, consider {@link loadBundle}\n *\n * @example\n *\n * await toodle.assets.loadTextures({\n * \"myImage\": new URL(\"assets/image.png\", \"https://mywebsite.com\"),\n * });\n *\n * @deprecated use {@link registerBundle} instead. or {@link loadTexture} for debugging\n */\n async loadTextures(opts: TextureBundleOpts[\"textures\"]): Promise<void> {\n await Promise.all(\n Object.entries(opts).map(([id, url]) => this.loadTexture(id, url, opts)),\n );\n }\n\n /**\n * Debug method to load a single texture.\n *\n * @param id ID used to name the texture\n * @param url URL or ImageBitmap target for the image\n * @param options LoadingOptions used to modify the loading process\n *\n * Note: this will consume one texture atlas per texture.\n * For more efficient loading of multiple textures, consider {@link loadBundle}\n *\n * @throws Error if using WebGL backend (use registerBundle instead)\n */\n async loadTexture(\n id: TextureId,\n url: URL | ImageBitmap,\n options?: Partial<TextureBundleOpts>,\n ) {\n if (this.#backend.type !== \"webgpu\") {\n throw new Error(\n \"loadTexture is only supported with WebGPU backend. Use registerBundle with prebaked atlases instead.\",\n );\n }\n\n const bitmap =\n url instanceof ImageBitmap ? url : await getBitmapFromUrl(url);\n\n let textureWrapper: TextureWithMetadata = this.#wrapBitmapToTexture(\n bitmap,\n id,\n );\n const atlasIndex = this.extra.nextAvailableAtlasIndex();\n\n if (options?.cropTransparentPixels && this.#cropComputeShader) {\n textureWrapper =\n await this.#cropComputeShader.processTexture(textureWrapper);\n }\n\n this.#copyTextureToAtlas(textureWrapper.texture, atlasIndex);\n\n const { width: atlasWidth, height: atlasHeight } = this.atlasSize;\n const coords: AtlasCoords = {\n uvOffset: { x: 0, y: 0 },\n cropOffset: textureWrapper.cropOffset,\n uvScale: {\n width: textureWrapper.texture.width / atlasWidth,\n height: textureWrapper.texture.height / atlasHeight,\n },\n originalSize: textureWrapper.originalSize,\n uvScaleCropped: {\n width: textureWrapper.texture.width / atlasWidth,\n height: textureWrapper.texture.height / atlasHeight,\n },\n atlasIndex,\n };\n\n this.bundles.addTextureEntry(id, coords);\n this.#availableIndices.delete(atlasIndex);\n\n textureWrapper.texture.destroy();\n return { id, coords };\n }\n\n /**\n * Register a bundle of textures.\n *\n * @param bundleId ID used to name the bundle\n * @param bundle Collection of strings and URLs representing the texture name and target file\n * @param options LoadingOptions used to modify the loading process\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/texture-bundles.html\n */\n async registerBundle(\n bundleId: BundleId,\n opts: TextureBundleOpts | AtlasBundleOpts,\n ): Promise<BundleId> {\n if (\"textures\" in opts) {\n await this.#registerBundleFromTextures(bundleId, opts);\n } else {\n await this.#registerBundleFromAtlases(bundleId, opts);\n }\n\n const autoLoad = opts.autoLoad ?? true;\n if (autoLoad) {\n await this.loadBundle(bundleId);\n }\n return bundleId;\n }\n\n /**\n * Load a bundle of textures to the gpu\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/examples/texture-bundles.html\n */\n async loadBundle(bundleId: BundleId) {\n if (!this.bundles.hasBundle(bundleId)) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (this.bundles.isBundleLoaded(bundleId)) {\n console.warn(`Bundle ${bundleId} is already loaded.`);\n return;\n }\n\n const atlases = this.bundles.getBundleAtlases(bundleId);\n const atlasIndices: number[] = [];\n\n for (const atlas of atlases) {\n const atlasIndex = await this.extra.loadAtlas(atlas);\n atlasIndices.push(atlasIndex);\n }\n\n // Use setBundleLoaded (not markBundleLoaded) since loadAtlas already populated textures\n this.bundles.setBundleLoaded(bundleId, atlasIndices);\n }\n\n /**\n * Unload a bundle of textures from the gpu - this marks the gpu-side texture atlas\n * as available for future texture loading.\n *\n * @param bundleId - The id of the bundle to unload\n */\n async unloadBundle(bundleId: BundleId) {\n if (!this.bundles.hasBundle(bundleId)) {\n throw new Error(`Bundle ${bundleId} not found`);\n }\n\n if (!this.bundles.isBundleLoaded(bundleId)) {\n console.warn(`Bundle ${bundleId} is not loaded.`);\n return;\n }\n\n const atlasIndices = this.bundles.getBundleAtlasIndices(bundleId);\n await Promise.all(\n atlasIndices.map((atlasIndex) => this.extra.unloadAtlas(atlasIndex)),\n );\n\n this.bundles.unloadBundle(bundleId);\n }\n\n /**\n * Load a font for text rendering (WebGPU) or measurement only (WebGL).\n *\n * @param id - The id of the font to load\n * @param url - The url of the font JSON to load\n * @param fallbackCharacter - The character to use as a fallback if the font does not contain a character to be rendered\n *\n * @remarks\n * On WebGPU backend, loads the full font for rendering.\n * On WebGL backend, loads the font for text measurement only. Attempting to\n * render text on WebGL will throw an error.\n */\n async loadFont(id: string, url: URL, fallbackCharacter = \"_\") {\n const limits = this.#backend.limits;\n const font = await MsdfFont.create(id, url);\n font.fallbackCharacter = fallbackCharacter;\n\n if (this.#backend.type === \"webgpu\") {\n const webgpuBackend = this.#backend as WebGPUBackend;\n const device = webgpuBackend.device;\n const presentationFormat = webgpuBackend.presentationFormat;\n\n const fontPipeline = await FontPipeline.create(\n device,\n font,\n presentationFormat,\n limits.maxTextLength,\n );\n\n const textShader = new WebGPUTextShader(\n webgpuBackend,\n fontPipeline,\n font,\n presentationFormat,\n limits.instanceCount,\n );\n this.#fonts.set(id, textShader);\n } else {\n // WebGL: font loaded for measurement, but rendering will throw\n const textShader = new WebGLTextShader(font, limits.maxTextLength);\n this.#fonts.set(id, textShader);\n }\n\n return id;\n }\n\n getFont(id: string) {\n if (!this.#fonts.has(id)) {\n throw new Error(\n `Font ${id} not found in atlas. Have you called toodle.loadFont with this id?`,\n );\n }\n return this.#fonts.get(id)!;\n }\n\n validateTextureReference(node: SceneNode | QuadNode) {\n if (\n !(node instanceof QuadNode) ||\n node.isPrimitive ||\n node instanceof JumboQuadNode\n )\n return;\n\n if (!this.bundles.hasTexture(node.textureId)) {\n throw new Error(\n `Node ${node.id} references an invalid texture ${node.textureId}.`,\n );\n }\n\n const coords = this.bundles.getAtlasCoords(node.textureId);\n if (\n coords.find((coord) => coord.atlasIndex === node.atlasCoords.atlasIndex)\n )\n return;\n\n node.extra.setAtlasCoords(coords[0]);\n }\n\n /**\n *\n * @param bitmap - `ImageBitmap` to be processed into a `GPUTexture` for storage and manipulation\n * @param name - Used to name the new `GPUTexture` via labeling.\n * @private\n */\n #createTextureFromImageBitmap(bitmap: ImageBitmap, name: string): GPUTexture {\n const device = (this.#backend as WebGPUBackend).device;\n const texture = device.createTexture({\n label: `${name} Intermediary Texture`,\n size: [bitmap.width, bitmap.height],\n format: \"rgba8unorm\",\n usage:\n GPUTextureUsage.COPY_DST |\n GPUTextureUsage.COPY_SRC |\n GPUTextureUsage.TEXTURE_BINDING |\n GPUTextureUsage.RENDER_ATTACHMENT,\n });\n\n device.queue.copyExternalImageToTexture(\n {\n source: bitmap,\n },\n {\n texture,\n },\n [bitmap.width, bitmap.height],\n );\n return texture;\n }\n\n async #registerBundleFromTextures(\n bundleId: BundleId,\n opts: TextureBundleOpts,\n ) {\n if (this.#backend.type !== \"webgpu\") {\n throw new Error(\n \"Dynamic texture bundle registration is only supported with WebGPU backend. Use prebaked atlases instead.\",\n );\n }\n\n const device = (this.#backend as WebGPUBackend).device;\n const images = new Map<string, TextureWithMetadata>();\n\n let _networkLoadTime = 0;\n await Promise.all(\n Object.entries(opts.textures).map(async ([id, url]) => {\n const now = performance.now();\n const bitmap = await getBitmapFromUrl(url);\n _networkLoadTime += performance.now() - now;\n let textureWrapper: TextureWithMetadata = this.#wrapBitmapToTexture(\n bitmap,\n id,\n );\n\n if (opts.cropTransparentPixels && this.#cropComputeShader) {\n textureWrapper =\n await this.#cropComputeShader.processTexture(textureWrapper);\n }\n images.set(id, textureWrapper);\n }),\n );\n\n const atlases = await packBitmapsToAtlas(\n images,\n this.#backend.limits.textureSize,\n device,\n );\n\n this.bundles.registerDynamicBundle(bundleId, atlases);\n }\n\n async #registerBundleFromAtlases(bundleId: BundleId, opts: AtlasBundleOpts) {\n // Delegate to the Bundles instance for atlas parsing\n await this.bundles.registerAtlasBundle(bundleId, opts);\n }\n\n /**\n * Advanced and niche features\n */\n extra = {\n // Get an array of all currently registered bundle ids.\n getRegisteredBundleIds: (): string[] => {\n return this.bundles.getRegisteredBundleIds();\n },\n\n // Get an array of all currently loaded bundle ids.\n getLoadedBundleIds: (): string[] => {\n return this.bundles.getLoadedBundleIds();\n },\n\n /**\n * Set the atlas coordinates for a texture.\n *\n * This should not be necessary for most use cases. This allows for UV precision\n *\n * @param id - The id of the texture to set the atlas coordinates for\n * @param coords - The atlas coordinates to set\n */\n setAtlasCoords: (id: TextureId, coords: AtlasCoords) => {\n this.bundles.setAtlasCoords(id, coords);\n },\n\n /**\n * Get the atlas coordinates for a texture.\n *\n * @param id - The id of the texture to get the atlas coordinates for\n * @returns An array of the atlas coordinates for the texture\n */\n getAtlasCoords: (id: TextureId): AtlasCoords[] => {\n return this.bundles.getAtlasCoords(id);\n },\n\n /**\n * Get the texture default offset\n *\n * @param id - The id of the texture to get the atlas coordinates for\n * @returns Point of the texture's associated X,Y offset\n */\n getTextureOffset: (id: TextureId): Vec2 => {\n return this.bundles.getTextureOffset(id);\n },\n\n /**\n * Get diagnostics on texture atlas usage\n *\n * @returns Usage stats for texture atlases\n */\n getAtlasUsage: () => {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n const totalLayers = atlas?.layers ?? 0;\n return {\n /**\n * The number of texture atlases that are currently unused\n * and available to load textures into.\n */\n available: this.#availableIndices.size,\n /**\n * The number of texture atlases that are currently in use.\n */\n used: totalLayers - this.#availableIndices.size,\n /**\n * The total number of texture atlases that can be loaded.\n */\n total: totalLayers,\n };\n },\n\n /**\n * Consume the next available atlas index.\n *\n */\n nextAvailableAtlasIndex: () => {\n const atlas = this.#backend.getTextureAtlas(this.#atlasId);\n const totalLayers = atlas?.layers ?? 0;\n for (let i = 0; i < totalLayers; i++) {\n if (this.#availableIndices.has(i)) {\n this.#availableIndices.delete(i);\n return i;\n }\n }\n throw new Error(\"Texture atlas is full - too many textures loaded.\");\n },\n\n /**\n * Load a texture atlas from a CpuTextureAtlas.\n *\n * @param atlas - The texture atlas to load\n * @returns The index of the atlas\n */\n loadAtlas: async (atlas: CpuTextureAtlas) => {\n const atlasIndex = this.extra.nextAvailableAtlasIndex();\n\n // Delegate to backend for actual GPU upload\n await this.#backend.uploadAtlas(atlas, atlasIndex, this.#atlasId);\n\n for (const [id, region] of atlas.textureRegions) {\n this.bundles.addTextureEntry(id, { ...region, atlasIndex });\n }\n return atlasIndex;\n },\n\n /**\n * Unload an atlas from the texture atlas.\n *\n * @param atlasIndex - The index of the atlas to unload\n */\n unloadAtlas: async (atlasIndex: number) => {\n this.#availableIndices.add(atlasIndex);\n this.bundles.removeTextureEntriesForAtlas(atlasIndex);\n },\n };\n\n #wrapBitmapToTexture(\n bitmap: ImageBitmap,\n name = \"Unknown\",\n ): TextureWithMetadata {\n const texture: GPUTexture = this.#createTextureFromImageBitmap(\n bitmap,\n name,\n );\n return {\n texture,\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: texture.width, height: texture.height },\n };\n }\n\n #copyTextureToAtlas(texture: GPUTexture, atlasIndex: number) {\n const device = (this.#backend as WebGPUBackend).device;\n const copyEncoder: GPUCommandEncoder = device.createCommandEncoder();\n copyEncoder.copyTextureToTexture(\n {\n texture: texture,\n mipLevel: 0,\n origin: [0, 0, 0],\n },\n {\n texture: this.textureAtlas,\n mipLevel: 0,\n origin: [0, 0, atlasIndex],\n },\n [texture.width, texture.height, 1],\n );\n\n device.queue.submit([copyEncoder.finish()]);\n }\n\n /**\n * Destroy the texture atlas. This should free up ~4gb of gpu memory (and make all draw calls fail)\n */\n destroy() {\n this.#backend.destroy();\n }\n}\n",
40
41
  "/**\n * A simple pool for creating and reusing objects to avoid allocation between frames\n *\n * @example\n *\n * const pool = new Pool(() => new SomeObject(), 10);\n *\n * function animate() {\n * const obj = pool.get();\n * console.log(obj);\n * pool.free();\n * requestAnimationFrame(animate);\n * }\n *\n * requestAnimationFrame(animate);\n */\nexport class Pool<T> {\n #items: T[] = [];\n #create: () => T;\n #index = 0;\n\n constructor(create: () => T, initialSize = 0) {\n this.#create = create;\n if (initialSize > 0) {\n this.#items = Array.from({ length: initialSize })\n .fill(null)\n .map(() => this.#create());\n }\n }\n\n get() {\n if (this.#index >= this.#items.length) {\n this.#items.push(this.#create());\n }\n\n return this.#items[this.#index++];\n }\n\n free() {\n this.#index = 0;\n }\n}\n",
41
- "import { type Mat3, mat3 } from \"wgpu-matrix\";\nimport type { IBackendShader } from \"./backends/IBackendShader\";\nimport type { BlendMode } from \"./backends/IRenderBackend\";\nimport type { BackendType, IRenderBackend } from \"./backends/mod\";\nimport { detectBackend } from \"./backends/mod\";\nimport { WebGLBackend } from \"./backends/webgl2/mod\";\nimport { WebGPUBackend } from \"./backends/webgpu/mod\";\nimport type { PostProcess } from \"./backends/webgpu/postprocess/mod\";\nimport type { Color } from \"./coreTypes/Color\";\nimport type { EngineUniform } from \"./coreTypes/EngineUniform\";\nimport type { Point } from \"./coreTypes/Point\";\nimport type { Size } from \"./coreTypes/Size\";\nimport type { Limits, LimitsOptions } from \"./limits\";\nimport {\n convertScreenToWorld,\n convertWorldToScreen,\n createProjectionMatrix,\n} from \"./math/matrix\";\nimport { Batcher } from \"./scene/Batcher\";\nimport { Camera } from \"./scene/Camera\";\nimport { JumboQuadNode, type JumboQuadOptions } from \"./scene/JumboQuadNode\";\nimport { QuadNode, type QuadOptions } from \"./scene/QuadNode\";\nimport { type NodeOptions, SceneNode } from \"./scene/SceneNode\";\nimport type { Resolution } from \"./screen/resolution\";\nimport { TextNode, type TextOptions } from \"./text/TextNode\";\nimport { AssetManager, type TextureId } from \"./textures/AssetManager\";\nimport { Pool } from \"./utils/mod\";\n\nexport class Toodle {\n /**\n * Asset manager. Use toodle.assets.loadTexture to load texture assets.\n */\n assets: AssetManager;\n\n /**\n * diagnostics can be used as a rough gauge for performance.\n * besides frames, these stats are reset at the beginning of each frame.\n */\n diagnostics = {\n /** number of instanced draw calls issued last frame. lower is better */\n drawCalls: 0,\n /** number of pipeline switches last frame. lower is better. to reduce pipeline switches, use fewer z-indexes or fewer custom shaders */\n pipelineSwitches: 0,\n /** number of frames rendered */\n frames: 0,\n /** number of instances enqueued last frame */\n instancesEnqueued: 0,\n };\n\n /** The render backend (WebGPU or WebGL2) */\n #backend: IRenderBackend;\n\n /**\n * Camera. This applies a 2d perspective projection matrix to any nodes drawn with toodle.draw\n */\n camera = new Camera();\n\n /**\n * clearColor is the color that will be used to clear the screen at the beginning of each frame\n * you can also think of this as the background color of the canvas\n */\n clearColor: Color = { r: 1, g: 1, b: 1, a: 1 };\n\n #resolution: Resolution;\n #resizeObserver: ResizeObserver;\n #engineUniform: EngineUniform;\n #projectionMatrix: Mat3 = mat3.identity();\n #batcher = new Batcher();\n #defaultFilter: GPUFilterMode;\n #matrixPool: Pool<Mat3>;\n #atlasSize: Size;\n\n /**\n * it's unlikely that you want to use the constructor directly.\n * see {@link Toodle.attach} for creating a Toodle instance that draws to a canvas.\n */\n constructor(\n backend: IRenderBackend,\n canvas: HTMLCanvasElement,\n resolution: Resolution,\n options: ToodleOptions,\n ) {\n this.#backend = backend;\n this.#matrixPool = new Pool<Mat3>(\n () => mat3.identity(),\n backend.limits.instanceCount,\n );\n this.#defaultFilter = options.filter ?? \"linear\";\n\n // Create AssetManager with the backend\n this.assets = new AssetManager(backend);\n\n this.#atlasSize = backend.atlasSize;\n this.#engineUniform = {\n resolution,\n camera: this.camera,\n viewProjectionMatrix: mat3.identity(),\n };\n this.#resolution = resolution;\n\n this.resize(this.#resolution);\n this.#resizeObserver = this.#createResizeObserver(canvas);\n }\n\n /**\n * Screen shader is an optional slot for post-processing effects.\n * Note that this will do the main render pass to an offscreen texture, which may impact performance.\n * Currently only supported in WebGPU mode.\n */\n get postprocess(): PostProcess | null {\n if (this.#backend.type !== \"webgpu\") return null;\n return (this.#backend as WebGPUBackend).getPostprocess();\n }\n\n set postprocess(value: PostProcess | null) {\n if (value !== null && this.#backend.type !== \"webgpu\") {\n throw new Error(\"Post-processing is only supported in WebGPU mode\");\n }\n if (this.#backend.type === \"webgpu\") {\n (this.#backend as WebGPUBackend).setPostprocess(value);\n }\n }\n\n /**\n * call resize when the canvas is resized.\n * this will update the projection matrix and the resolution.\n *\n * @param resolution - the resolution of the canvas in logical pixels.\n * this should be `canvas.clientWidth x canvas.clientHeight` and NOT `canvas.width * canvas.height`\n *\n * @example\n *\n * const canvas = document.querySelector(\"canvas\")!\n *\n * const observer = new ResizeObserver((entries) => {\n * if (entries.length === 0) return\n * toodle.resize({ width: canvas.clientWidth, height: canvas.clientHeight })\n * })\n *\n * observer.observe(canvas)\n */\n resize(resolution: Resolution) {\n createProjectionMatrix(resolution, this.#projectionMatrix);\n this.#resolution = resolution;\n this.#backend.resize(resolution.width, resolution.height);\n }\n\n #createResizeObserver(canvas: HTMLCanvasElement) {\n // see https://webgpufundamentals.org/webgpu/lessons/webgpu-resizing-the-canvas.html\n // for explanation of incorporating devicePixelRatio\n const resizeObserver = new ResizeObserver((entries) => {\n if (!entries || !entries.length) return;\n for (const entry of entries) {\n const width =\n entry.devicePixelContentBoxSize?.[0].inlineSize ||\n entry.contentBoxSize[0].inlineSize * devicePixelRatio;\n const height =\n entry.devicePixelContentBoxSize?.[0].blockSize ||\n entry.contentBoxSize[0].blockSize * devicePixelRatio;\n\n // uncomment these lines to debug issues with high dpi monitors\n // and OS zoom\n //\n // const rect = entry.target.getBoundingClientRect();\n // console.table({\n // width,\n // clientWidth: canvas.clientWidth,\n // contentBoxInlineSize: entry.contentBoxSize[0].inlineSize,\n // rectWidth: rect.width,\n // height,\n // clientHeight: canvas.clientHeight,\n // contentBoxBlockSize: entry.contentBoxSize[0].blockSize,\n // rectHeight: rect.height,\n // });\n\n if (canvas.width !== width || canvas.height !== height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n }\n this.resize({ width: canvas.clientWidth, height: canvas.clientHeight });\n }\n });\n try {\n resizeObserver.observe(canvas, { box: \"device-pixel-content-box\" });\n } catch {\n resizeObserver.observe(canvas);\n }\n return resizeObserver;\n }\n\n /**\n * The resolution of the canvas in css or logical pixels.\n *\n * @example\n *\n * // devicePixelRatio is 1, resolution is 200x200\n * <canvas width=\"200\" height=\"200\" style=\"width: 200px; height: 200px;\"></canvas>\n * // devicePixelRatio is 2, resolution is 100x100\n * <canvas width=\"200\" height=\"200\" style=\"width: 100px; height: 100px;\"></canvas>\n */\n get resolution() {\n return this.#resolution;\n }\n\n /**\n * Returns the currently configured Toodle engine limits\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/limits.html\n *\n * @example\n *\n * const instanceLimit: number = toodle.limits.instanceCount;\n */\n get limits(): Limits {\n return this.#backend.limits;\n }\n\n get batcher(): Batcher {\n return this.#batcher;\n }\n\n /**\n * The maximum number of pixels that can be loaded into texture atlases for this toodle instance.\n */\n get maxPixels() {\n return (\n this.limits.textureSize *\n this.limits.textureSize *\n this.limits.textureArrayLayers\n );\n }\n\n /**\n * The maximum amount of GPU memory that will be used by the Toodle instance.\n * This is a rough estimate and may not be exact. This will be allocated up front when calling Toodle.attach, and freed when calling toodle.destroy.\n */\n get maxGpuMemory() {\n return (\n this.limits.instanceCount *\n this.limits.instanceBufferSize *\n this.limits.shaderCount\n );\n }\n\n /**\n * call startFrame before drawing anything.\n * this will create a new encoder and render pass.\n *\n * @example\n *\n * toodle.startFrame();\n * // draw stuff\n * toodle.endFrame();\n */\n startFrame(options?: StartFrameOptions) {\n this.#backend.startFrame(this.clearColor, options?.loadOp ?? \"clear\");\n\n this.diagnostics.drawCalls =\n this.diagnostics.pipelineSwitches =\n this.diagnostics.instancesEnqueued =\n 0;\n }\n\n /**\n * call draw in between start frame and end frame to enqueue an instanced draw call.\n *\n * @example\n *\n * toodle.assets.loadTexture(\"myImage\", \"assets/image.png\");\n * const quad = toodle.Quad(\"myImage\");\n *\n * toodle.startFrame();\n * toodle.draw(quad);\n * toodle.endFrame();\n */\n draw(node: SceneNode) {\n if (node instanceof QuadNode) {\n node.assetManager.validateTextureReference(node);\n } else {\n this.assets.validateTextureReference(node);\n }\n this.#batcher.enqueue(node);\n }\n\n /**\n * call end frame to run through enqueued draw calls and submit them to the GPU.\n *\n * @example\n *\n * toodle.startFrame();\n * // draw stuff\n * toodle.endFrame();\n */\n endFrame() {\n try {\n mat3.mul(\n this.#projectionMatrix,\n this.camera.matrix,\n this.#engineUniform.viewProjectionMatrix,\n );\n this.#engineUniform.resolution = this.#resolution;\n\n // Update engine uniforms on the backend\n this.#backend.updateEngineUniform(this.#engineUniform);\n\n for (const pipeline of this.#batcher.pipelines) {\n pipeline.shader.startFrame(this.#engineUniform);\n }\n\n this.diagnostics.instancesEnqueued = this.#batcher.nodes.length;\n if (this.#batcher.nodes.length > this.limits.instanceCount) {\n const err = new Error(\n `ToodleInstanceCap: ${this.batcher.nodes.length} instances enqueued, max is ${this.limits.instanceCount}`,\n );\n err.name = \"ToodleInstanceCap\";\n throw err;\n }\n\n for (const layer of this.#batcher.layers) {\n for (const pipeline of layer.pipelines) {\n this.diagnostics.pipelineSwitches++;\n this.diagnostics.drawCalls += pipeline.shader.processBatch(\n pipeline.nodes,\n );\n }\n }\n\n for (const pipeline of this.#batcher.pipelines) {\n pipeline.shader.endFrame();\n }\n\n this.#backend.endFrame();\n } finally {\n this.#batcher.flush();\n this.#matrixPool.free();\n this.diagnostics.frames++;\n }\n }\n\n /**\n * Convert a point from one coordinate space to another.\n *\n * @param point - The point to convert.\n * @param options - The options for the conversion.\n * @returns The converted point.\n */\n convertSpace(\n point: Point,\n options: { from: \"screen\" | \"world\"; to: \"world\" | \"screen\" },\n ): Point {\n if (options.from === \"screen\" && options.to === \"world\") {\n return convertScreenToWorld(\n point,\n this.camera,\n this.#projectionMatrix,\n this.#resolution,\n );\n }\n\n if (options.from === \"world\" && options.to === \"screen\") {\n return convertWorldToScreen(\n point,\n this.camera,\n this.#projectionMatrix,\n this.#resolution,\n );\n }\n\n if (options.from === options.to) {\n return point;\n }\n\n throw new Error(\n `Unknown conversion from: ${options.from} to: ${options.to}`,\n );\n }\n\n /**\n * The number of frames rendered since this Toodle instance was created.\n */\n get frameCount() {\n return this.diagnostics.frames;\n }\n\n /**\n * Create a custom shader for quad instances. In some engines, this might be called a material.\n *\n * @param label Debug name of the shader\n * @param instanceCount - The maximum number of instances that will be processed by the shader. Note that a worst-case buffer of this many instances will be immediately allocated.\n * @param userCode - The WGSL code to be used for the shader (WebGPU only).\n * @param blendMode - The blend mode to be used for the shader.\n *\n * @example\n *\n *\n */\n QuadShader(\n label: string,\n instanceCount: number,\n userCode: string,\n shaderOpts?: QuadShaderOpts,\n ): IBackendShader {\n return this.#backend.createQuadShader({\n label,\n instanceCount,\n userCode,\n blendMode: shaderOpts?.blendMode,\n atlasId: shaderOpts?.atlasId,\n });\n }\n\n /**\n * Create a new quad node.\n *\n * @param assetId - The ID of the asset to use for the quad. This must have been loaded with toodle.assets.loadBundle.\n *\n * @param options - QuadOptions for Quad creation\n * @param options\n * @example\n *\n * await toodle.assets.loadTextures({\n * \"myImage\": new URL(\"assets/image.png\"),\n * });\n * const quad = toodle.Quad(\"myImage\");\n *\n * toodle.startFrame();\n * toodle.draw(quad);\n * toodle.endFrame();\n */\n Quad(assetId: TextureId, options: QuadOptions = {}) {\n const assetManager = options.assetManager ?? this.assets;\n options.size ??= assetManager.getSize(assetId);\n options.shader ??= this.#defaultQuadShader();\n options.atlasCoords ??= assetManager.extra.getAtlasCoords(assetId)[0];\n options.textureId ??= assetId;\n options.cropOffset ??= assetManager.extra.getTextureOffset(assetId);\n options.assetManager = assetManager;\n\n options.atlasSize = this.#atlasSize;\n options.region ??= {\n x: 0,\n y: 0,\n width: options.atlasCoords.uvScale.width * this.#atlasSize.width,\n height: options.atlasCoords.uvScale.height * this.#atlasSize.height,\n };\n\n options.assetManager = assetManager;\n const quad = new QuadNode(options, this.#matrixPool);\n return quad;\n }\n\n /**\n * Create a jumbo quad node. This contains multiple tiles for a single texture.\n *\n * @param assetId - The ID of the asset to use for the jumbo quad. This must have been loaded with toodle.assets.loadTextures.\n *\n * @param options - QuadOptions for Quad creation\n *\n */\n JumboQuad(assetId: TextureId, options: JumboQuadOptions) {\n options.shader ??= this.#defaultQuadShader();\n options.textureId ??= assetId;\n options.cropOffset ??= {\n x: 0,\n y: 0,\n };\n options.tiles ??= [];\n\n // this holds the size of the full texture based on all of its tiles\n const originalSize = {\n width: 0,\n height: 0,\n };\n\n for (const tile of options.tiles) {\n if (!tile.size) {\n tile.size = this.assets.getSize(tile.textureId);\n }\n\n if (!tile.atlasCoords) {\n tile.atlasCoords = this.assets.extra.getAtlasCoords(tile.textureId)[0];\n }\n\n if (tile.offset.x + tile.size!.width > originalSize.width) {\n originalSize.width = tile.offset.x + tile.size!.width;\n }\n\n if (tile.offset.y + tile.size!.height > originalSize.height) {\n originalSize.height = tile.offset.y + tile.size!.height;\n }\n }\n\n options.region ??= {\n x: 0,\n y: 0,\n width: originalSize.width,\n height: originalSize.height,\n };\n\n options.size ??= {\n width: originalSize.width,\n height: originalSize.height,\n };\n\n options.atlasSize = this.#atlasSize;\n\n options.assetManager = this.assets;\n\n return new JumboQuadNode(options, this.#matrixPool);\n }\n\n /**\n * Create a new container node.\n *\n * @example\n *\n * const node = toodle.Node();\n * const child = node.add(toodle.Node());\n * node.position = [100, 100];\n * console.log(child.matrix);\n */\n Node(nodeOpts?: NodeOptions) {\n return new SceneNode(nodeOpts);\n }\n\n Text(fontId: string, text: string, textOpts?: TextOptions) {\n const shader = this.assets.getFont(fontId);\n\n return new TextNode(shader, text, textOpts);\n }\n\n shapes = {\n Rect: (options: QuadOptions = {}) => {\n options.size ??= { width: 1, height: 1 };\n options.shader ??= this.#defaultQuadShader();\n options.atlasCoords ??= {\n atlasIndex: 1000,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n };\n options.assetManager = this.assets;\n\n const quad = new QuadNode(options, this.#matrixPool);\n\n if (options?.position) {\n quad.position = options.position;\n }\n\n if (options?.rotation) {\n quad.rotation = options.rotation;\n }\n\n if (options?.scale) {\n quad.scale = options.scale;\n }\n\n return quad;\n },\n\n Circle: (options: CircleOptions = { radius: 50 }) => {\n const radius = options.radius ?? 50;\n const diameter = radius * 2;\n\n const quadOptions: QuadOptions = {\n ...options,\n size: { width: diameter, height: diameter },\n shader: options.shader ?? this.#defaultQuadShader(),\n atlasCoords: options.atlasCoords ?? {\n atlasIndex: 1001,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n },\n assetManager: this.assets,\n };\n\n const quad = new QuadNode(quadOptions, this.#matrixPool);\n\n if (options?.position) {\n quad.position = options.position;\n }\n\n if (options?.rotation) {\n quad.rotation = options.rotation;\n }\n\n if (options?.scale) {\n quad.scale = options.scale;\n }\n\n return quad;\n },\n\n Line: (options: LineOptions) => {\n const center = {\n x: (options.start.x + options.end.x) / 2,\n y: (options.start.y + options.end.y) / 2,\n };\n const angle = Math.atan2(\n options.end.y - options.start.y,\n options.end.x - options.start.x,\n );\n const length = Math.sqrt(\n (options.end.x - options.start.x) ** 2 +\n (options.end.y - options.start.y) ** 2,\n );\n\n const line = new QuadNode(\n {\n color: options.color,\n atlasCoords: {\n atlasIndex: 1000,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n },\n shader: options.shader ?? this.#defaultQuadShader(),\n size: { width: 1, height: 1 },\n layer: options.layer,\n key: options.key,\n rotationRadians: angle,\n assetManager: this.assets,\n scale: {\n x: length,\n y: options.thickness ?? 1,\n },\n position: center,\n },\n this.#matrixPool,\n );\n\n return line;\n },\n };\n\n #quadShader: IBackendShader | null = null;\n\n #defaultQuadShader(): IBackendShader {\n if (this.#quadShader) {\n return this.#quadShader;\n }\n\n // For WebGPU, we can provide custom WGSL shader code\n // For WebGL, the backend will use its default shader\n const userCode =\n this.#backend.type === \"webgpu\"\n ? /*wgsl*/ `\n @fragment\n fn frag(vertex: VertexOutput) -> @location(0) vec4f {\n let color = default_fragment_shader(vertex, ${\n this.#defaultFilter === \"nearest\"\n ? \"nearestSampler\"\n : \"linearSampler\"\n });\n return color;\n }\n `\n : undefined;\n\n const shader = this.#backend.createQuadShader({\n label: \"default quad shader\",\n instanceCount: this.limits.instanceCount,\n userCode,\n });\n\n this.#quadShader = shader;\n return shader;\n }\n\n /**\n * Attach toodle to a canvas.\n *\n * @param canvas - The canvas to attach toodle to.\n * @param options - ToodleOptions for the creation of the toodle instance\n * @returns A promise that resolves to a Toodle instance.\n *\n * @example\n *\n * const canvas = document.createElement(\"canvas\");\n *\n * const toodle = await Toodle.attach(canvas);\n */\n static async attach(canvas: HTMLCanvasElement, options?: ToodleOptions) {\n canvas.width = canvas.clientWidth * devicePixelRatio;\n canvas.height = canvas.clientHeight * devicePixelRatio;\n\n const backendOption = options?.backend ?? \"auto\";\n let backendType: BackendType;\n\n if (backendOption === \"auto\") {\n backendType = await detectBackend();\n } else {\n backendType = backendOption;\n }\n\n let backend: IRenderBackend;\n if (backendType === \"webgpu\") {\n backend = await WebGPUBackend.create(canvas, {\n limits: options?.limits,\n });\n } else {\n backend = await WebGLBackend.create(canvas, {\n limits: options?.limits,\n });\n }\n\n return new Toodle(\n backend,\n canvas,\n {\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n },\n options || {},\n );\n }\n\n /**\n * Destroy the toodle instance and release its gpu and cpu resources.\n *\n * Note that calling any methods on the instance after this result in undefined behavior.\n */\n destroy() {\n this.#resizeObserver.disconnect();\n this.#backend.destroy();\n this.assets.destroy();\n }\n\n /**\n * Get the render backend instance.\n * Cast to WebGPUBackend or WebGLBackend to access backend-specific properties.\n *\n * @example\n * if (toodle.backend instanceof WebGPUBackend) {\n * const device = toodle.backend.device;\n * }\n */\n get backend(): WebGPUBackend | WebGLBackend {\n return this.#backend as WebGPUBackend | WebGLBackend;\n }\n}\n\nexport type StartFrameOptions = {\n /**\n * The load operation to use for the render pass.\n *\n * **clear**: clear the current texture to the clear color. necessary if you're using toodle without another renderer.\n *\n * **load**: blend the render pass with the current canvas contents. useful if you're using toodle alongside another renderer like painter or pixi.js\n *\n * @default \"clear\"\n *\n */\n loadOp?: \"load\" | \"clear\";\n};\n\nexport type ToodleOptions = {\n /**\n * The filter mode to use for the default quad shader.\n * see: https://webgpufundamentals.org/webgpu/lessons/webgpu-textures.html#a-mag-filter\n *\n * **nearest**: nearest neighbor sampling. makes pixel art look sharp and vector art look jaggy.\n *\n * **linear**: linear sampling. makes vector art look smooth and pixel art look blurry.\n *\n * @default \"linear\"\n */\n filter?: \"nearest\" | \"linear\";\n limits?: LimitsOptions;\n /**\n * The rendering backend to use.\n *\n * **auto**: Automatically detect the best available backend (WebGPU > WebGL).\n *\n * **webgpu**: Use WebGPU backend. Throws if WebGPU is not available.\n *\n * **webgl2**: Use WebGL 2 backend (fallback for older browsers).\n *\n * @default \"auto\"\n */\n backend?: BackendType | \"auto\";\n};\n\nexport type CircleOptions = Omit<QuadOptions, \"size\"> & {\n /**\n * The radius of the circle in pixels.\n * The diameter will be radius * 2.\n * @default 50\n */\n radius?: number;\n};\n\nexport type LineOptions = {\n /**\n * The start position of the line.\n */\n start: Point;\n /**\n * The end position of the line.\n */\n end: Point;\n /**\n * The color of the line.\n */\n color: Color;\n /**\n * The thickness of the line.\n */\n thickness?: number;\n /**\n * The shader to use for the line.\n */\n shader?: IBackendShader;\n /**\n * The layer to draw the line on.\n */\n layer?: number;\n /**\n * A unique identifier for the line.\n */\n key?: string;\n};\n\nexport type QuadShaderOpts = {\n /**\n * Blend mode for alpha compositing.\n */\n blendMode?: BlendMode;\n /**\n * Which texture atlas to bind (default: \"default\").\n */\n atlasId?: string;\n};\n",
42
+ "import { type Mat3, mat3 } from \"wgpu-matrix\";\nimport type { IBackendShader } from \"./backends/IBackendShader\";\nimport type { BlendMode } from \"./backends/IRenderBackend\";\nimport type { BackendType, IRenderBackend } from \"./backends/mod\";\nimport { detectBackend } from \"./backends/mod\";\nimport { WebGLBackend } from \"./backends/webgl2/mod\";\nimport { WebGPUBackend } from \"./backends/webgpu/mod\";\nimport type { PostProcess } from \"./backends/webgpu/postprocess/mod\";\nimport type { Color } from \"./coreTypes/Color\";\nimport type { EngineUniform } from \"./coreTypes/EngineUniform\";\nimport type { Point } from \"./coreTypes/Point\";\nimport type { Size } from \"./coreTypes/Size\";\nimport type { Limits, LimitsOptions } from \"./limits\";\nimport {\n convertScreenToWorld,\n convertWorldToScreen,\n createProjectionMatrix,\n} from \"./math/matrix\";\nimport { Batcher } from \"./scene/Batcher\";\nimport { Camera } from \"./scene/Camera\";\nimport { JumboQuadNode, type JumboQuadOptions } from \"./scene/JumboQuadNode\";\nimport { QuadNode, type QuadOptions } from \"./scene/QuadNode\";\nimport { type NodeOptions, SceneNode } from \"./scene/SceneNode\";\nimport { TextNode, type TextOptions } from \"./scene/TextNode\";\nimport type { Resolution } from \"./screen/resolution\";\nimport { AssetManager, type TextureId } from \"./textures/AssetManager\";\nimport { Pool } from \"./utils/mod\";\n\nexport class Toodle {\n /**\n * Asset manager. Use toodle.assets.loadTexture to load texture assets.\n */\n assets: AssetManager;\n\n /**\n * diagnostics can be used as a rough gauge for performance.\n * besides frames, these stats are reset at the beginning of each frame.\n */\n diagnostics = {\n /** number of instanced draw calls issued last frame. lower is better */\n drawCalls: 0,\n /** number of pipeline switches last frame. lower is better. to reduce pipeline switches, use fewer z-indexes or fewer custom shaders */\n pipelineSwitches: 0,\n /** number of frames rendered */\n frames: 0,\n /** number of instances enqueued last frame */\n instancesEnqueued: 0,\n };\n\n /** The render backend (WebGPU or WebGL2) */\n #backend: IRenderBackend;\n\n /**\n * Camera. This applies a 2d perspective projection matrix to any nodes drawn with toodle.draw\n */\n camera = new Camera();\n\n /**\n * clearColor is the color that will be used to clear the screen at the beginning of each frame\n * you can also think of this as the background color of the canvas\n */\n clearColor: Color = { r: 1, g: 1, b: 1, a: 1 };\n\n #resolution: Resolution;\n #resizeObserver: ResizeObserver;\n #engineUniform: EngineUniform;\n #projectionMatrix: Mat3 = mat3.identity();\n #batcher = new Batcher();\n #defaultFilter: GPUFilterMode;\n #matrixPool: Pool<Mat3>;\n #atlasSize: Size;\n\n /**\n * it's unlikely that you want to use the constructor directly.\n * see {@link Toodle.attach} for creating a Toodle instance that draws to a canvas.\n */\n constructor(\n backend: IRenderBackend,\n canvas: HTMLCanvasElement,\n resolution: Resolution,\n options: ToodleOptions,\n ) {\n this.#backend = backend;\n this.#matrixPool = new Pool<Mat3>(\n () => mat3.identity(),\n backend.limits.instanceCount,\n );\n this.#defaultFilter = options.filter ?? \"linear\";\n\n // Create AssetManager with the backend\n this.assets = new AssetManager(backend);\n\n this.#atlasSize = backend.atlasSize;\n this.#engineUniform = {\n resolution,\n camera: this.camera,\n viewProjectionMatrix: mat3.identity(),\n };\n this.#resolution = resolution;\n\n this.resize(this.#resolution);\n this.#resizeObserver = this.#createResizeObserver(canvas);\n }\n\n /**\n * Screen shader is an optional slot for post-processing effects.\n * Note that this will do the main render pass to an offscreen texture, which may impact performance.\n * Currently only supported in WebGPU mode.\n */\n get postprocess(): PostProcess | null {\n if (this.#backend.type !== \"webgpu\") return null;\n return (this.#backend as WebGPUBackend).getPostprocess();\n }\n\n set postprocess(value: PostProcess | null) {\n if (value !== null && this.#backend.type !== \"webgpu\") {\n throw new Error(\"Post-processing is only supported in WebGPU mode\");\n }\n if (this.#backend.type === \"webgpu\") {\n (this.#backend as WebGPUBackend).setPostprocess(value);\n }\n }\n\n /**\n * call resize when the canvas is resized.\n * this will update the projection matrix and the resolution.\n *\n * @param resolution - the resolution of the canvas in logical pixels.\n * this should be `canvas.clientWidth x canvas.clientHeight` and NOT `canvas.width * canvas.height`\n *\n * @example\n *\n * const canvas = document.querySelector(\"canvas\")!\n *\n * const observer = new ResizeObserver((entries) => {\n * if (entries.length === 0) return\n * toodle.resize({ width: canvas.clientWidth, height: canvas.clientHeight })\n * })\n *\n * observer.observe(canvas)\n */\n resize(resolution: Resolution) {\n createProjectionMatrix(resolution, this.#projectionMatrix);\n this.#resolution = resolution;\n this.#backend.resize(resolution.width, resolution.height);\n }\n\n #createResizeObserver(canvas: HTMLCanvasElement) {\n // see https://webgpufundamentals.org/webgpu/lessons/webgpu-resizing-the-canvas.html\n // for explanation of incorporating devicePixelRatio\n const resizeObserver = new ResizeObserver((entries) => {\n if (!entries || !entries.length) return;\n for (const entry of entries) {\n const width =\n entry.devicePixelContentBoxSize?.[0].inlineSize ||\n entry.contentBoxSize[0].inlineSize * devicePixelRatio;\n const height =\n entry.devicePixelContentBoxSize?.[0].blockSize ||\n entry.contentBoxSize[0].blockSize * devicePixelRatio;\n\n // uncomment these lines to debug issues with high dpi monitors\n // and OS zoom\n //\n // const rect = entry.target.getBoundingClientRect();\n // console.table({\n // width,\n // clientWidth: canvas.clientWidth,\n // contentBoxInlineSize: entry.contentBoxSize[0].inlineSize,\n // rectWidth: rect.width,\n // height,\n // clientHeight: canvas.clientHeight,\n // contentBoxBlockSize: entry.contentBoxSize[0].blockSize,\n // rectHeight: rect.height,\n // });\n\n if (canvas.width !== width || canvas.height !== height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n }\n this.resize({ width: canvas.clientWidth, height: canvas.clientHeight });\n }\n });\n try {\n resizeObserver.observe(canvas, { box: \"device-pixel-content-box\" });\n } catch {\n resizeObserver.observe(canvas);\n }\n return resizeObserver;\n }\n\n /**\n * The resolution of the canvas in css or logical pixels.\n *\n * @example\n *\n * // devicePixelRatio is 1, resolution is 200x200\n * <canvas width=\"200\" height=\"200\" style=\"width: 200px; height: 200px;\"></canvas>\n * // devicePixelRatio is 2, resolution is 100x100\n * <canvas width=\"200\" height=\"200\" style=\"width: 100px; height: 100px;\"></canvas>\n */\n get resolution() {\n return this.#resolution;\n }\n\n /**\n * Returns the currently configured Toodle engine limits\n *\n * See: https://toodle.gg/f849595b3ed13fc956fc1459a5cb5f0228f9d259/limits.html\n *\n * @example\n *\n * const instanceLimit: number = toodle.limits.instanceCount;\n */\n get limits(): Limits {\n return this.#backend.limits;\n }\n\n get batcher(): Batcher {\n return this.#batcher;\n }\n\n /**\n * The maximum number of pixels that can be loaded into texture atlases for this toodle instance.\n */\n get maxPixels() {\n return (\n this.limits.textureSize *\n this.limits.textureSize *\n this.limits.textureArrayLayers\n );\n }\n\n /**\n * The maximum amount of GPU memory that will be used by the Toodle instance.\n * This is a rough estimate and may not be exact. This will be allocated up front when calling Toodle.attach, and freed when calling toodle.destroy.\n */\n get maxGpuMemory() {\n return (\n this.limits.instanceCount *\n this.limits.instanceBufferSize *\n this.limits.shaderCount\n );\n }\n\n /**\n * call startFrame before drawing anything.\n * this will create a new encoder and render pass.\n *\n * @example\n *\n * toodle.startFrame();\n * // draw stuff\n * toodle.endFrame();\n */\n startFrame(options?: StartFrameOptions) {\n this.#backend.startFrame(this.clearColor, options?.loadOp ?? \"clear\");\n\n this.diagnostics.drawCalls =\n this.diagnostics.pipelineSwitches =\n this.diagnostics.instancesEnqueued =\n 0;\n }\n\n /**\n * call draw in between start frame and end frame to enqueue an instanced draw call.\n *\n * @example\n *\n * toodle.assets.loadTexture(\"myImage\", \"assets/image.png\");\n * const quad = toodle.Quad(\"myImage\");\n *\n * toodle.startFrame();\n * toodle.draw(quad);\n * toodle.endFrame();\n */\n draw(node: SceneNode) {\n if (node instanceof QuadNode) {\n node.assetManager.validateTextureReference(node);\n } else {\n this.assets.validateTextureReference(node);\n }\n this.#batcher.enqueue(node);\n }\n\n /**\n * call end frame to run through enqueued draw calls and submit them to the GPU.\n *\n * @example\n *\n * toodle.startFrame();\n * // draw stuff\n * toodle.endFrame();\n */\n endFrame() {\n try {\n mat3.mul(\n this.#projectionMatrix,\n this.camera.matrix,\n this.#engineUniform.viewProjectionMatrix,\n );\n this.#engineUniform.resolution = this.#resolution;\n\n // Update engine uniforms on the backend\n this.#backend.updateEngineUniform(this.#engineUniform);\n\n for (const pipeline of this.#batcher.pipelines) {\n pipeline.shader.startFrame(this.#engineUniform);\n }\n\n this.diagnostics.instancesEnqueued = this.#batcher.nodes.length;\n if (this.#batcher.nodes.length > this.limits.instanceCount) {\n const err = new Error(\n `ToodleInstanceCap: ${this.batcher.nodes.length} instances enqueued, max is ${this.limits.instanceCount}`,\n );\n err.name = \"ToodleInstanceCap\";\n throw err;\n }\n\n for (const layer of this.#batcher.layers) {\n for (const pipeline of layer.pipelines) {\n this.diagnostics.pipelineSwitches++;\n this.diagnostics.drawCalls += pipeline.shader.processBatch(\n pipeline.nodes,\n );\n }\n }\n\n for (const pipeline of this.#batcher.pipelines) {\n pipeline.shader.endFrame();\n }\n\n this.#backend.endFrame();\n } finally {\n this.#batcher.flush();\n this.#matrixPool.free();\n this.diagnostics.frames++;\n }\n }\n\n /**\n * Convert a point from one coordinate space to another.\n *\n * @param point - The point to convert.\n * @param options - The options for the conversion.\n * @returns The converted point.\n */\n convertSpace(\n point: Point,\n options: { from: \"screen\" | \"world\"; to: \"world\" | \"screen\" },\n ): Point {\n if (options.from === \"screen\" && options.to === \"world\") {\n return convertScreenToWorld(\n point,\n this.camera,\n this.#projectionMatrix,\n this.#resolution,\n );\n }\n\n if (options.from === \"world\" && options.to === \"screen\") {\n return convertWorldToScreen(\n point,\n this.camera,\n this.#projectionMatrix,\n this.#resolution,\n );\n }\n\n if (options.from === options.to) {\n return point;\n }\n\n throw new Error(\n `Unknown conversion from: ${options.from} to: ${options.to}`,\n );\n }\n\n /**\n * The number of frames rendered since this Toodle instance was created.\n */\n get frameCount() {\n return this.diagnostics.frames;\n }\n\n /**\n * Create a custom shader for quad instances. In some engines, this might be called a material.\n *\n * @param label Debug name of the shader\n * @param instanceCount - The maximum number of instances that will be processed by the shader. Note that a worst-case buffer of this many instances will be immediately allocated.\n * @param userCode - The WGSL code to be used for the shader (WebGPU only).\n * @param blendMode - The blend mode to be used for the shader.\n *\n * @example\n *\n *\n */\n QuadShader(\n label: string,\n instanceCount: number,\n userCode: string,\n shaderOpts?: QuadShaderOpts,\n ): IBackendShader {\n return this.#backend.createQuadShader({\n label,\n instanceCount,\n userCode,\n blendMode: shaderOpts?.blendMode,\n atlasId: shaderOpts?.atlasId,\n });\n }\n\n /**\n * Create a new quad node.\n *\n * @param assetId - The ID of the asset to use for the quad. This must have been loaded with toodle.assets.loadBundle.\n *\n * @param options - QuadOptions for Quad creation\n * @param options\n * @example\n *\n * await toodle.assets.loadTextures({\n * \"myImage\": new URL(\"assets/image.png\"),\n * });\n * const quad = toodle.Quad(\"myImage\");\n *\n * toodle.startFrame();\n * toodle.draw(quad);\n * toodle.endFrame();\n */\n Quad(assetId: TextureId, options: QuadOptions = {}) {\n const assetManager = options.assetManager ?? this.assets;\n options.size ??= assetManager.getSize(assetId);\n options.shader ??= this.#defaultQuadShader();\n options.atlasCoords ??= assetManager.extra.getAtlasCoords(assetId)[0];\n options.textureId ??= assetId;\n options.cropOffset ??= assetManager.extra.getTextureOffset(assetId);\n options.assetManager = assetManager;\n\n options.atlasSize = this.#atlasSize;\n options.region ??= {\n x: 0,\n y: 0,\n width: options.atlasCoords.uvScale.width * this.#atlasSize.width,\n height: options.atlasCoords.uvScale.height * this.#atlasSize.height,\n };\n\n options.assetManager = assetManager;\n const quad = new QuadNode(options, this.#matrixPool);\n return quad;\n }\n\n /**\n * Create a jumbo quad node. This contains multiple tiles for a single texture.\n *\n * @param assetId - The ID of the asset to use for the jumbo quad. This must have been loaded with toodle.assets.loadTextures.\n *\n * @param options - QuadOptions for Quad creation\n *\n */\n JumboQuad(assetId: TextureId, options: JumboQuadOptions) {\n options.shader ??= this.#defaultQuadShader();\n options.textureId ??= assetId;\n options.cropOffset ??= {\n x: 0,\n y: 0,\n };\n options.tiles ??= [];\n\n // this holds the size of the full texture based on all of its tiles\n const originalSize = {\n width: 0,\n height: 0,\n };\n\n for (const tile of options.tiles) {\n if (!tile.size) {\n tile.size = this.assets.getSize(tile.textureId);\n }\n\n if (!tile.atlasCoords) {\n tile.atlasCoords = this.assets.extra.getAtlasCoords(tile.textureId)[0];\n }\n\n if (tile.offset.x + tile.size!.width > originalSize.width) {\n originalSize.width = tile.offset.x + tile.size!.width;\n }\n\n if (tile.offset.y + tile.size!.height > originalSize.height) {\n originalSize.height = tile.offset.y + tile.size!.height;\n }\n }\n\n options.region ??= {\n x: 0,\n y: 0,\n width: originalSize.width,\n height: originalSize.height,\n };\n\n options.size ??= {\n width: originalSize.width,\n height: originalSize.height,\n };\n\n options.atlasSize = this.#atlasSize;\n\n options.assetManager = this.assets;\n\n return new JumboQuadNode(options, this.#matrixPool);\n }\n\n /**\n * Create a new container node.\n *\n * @example\n *\n * const node = toodle.Node();\n * const child = node.add(toodle.Node());\n * node.position = [100, 100];\n * console.log(child.matrix);\n */\n Node(nodeOpts?: NodeOptions) {\n return new SceneNode(nodeOpts);\n }\n\n Text(fontId: string, text: string, textOpts?: TextOptions) {\n const shader = this.assets.getFont(fontId);\n\n return new TextNode(shader, text, textOpts);\n }\n\n shapes = {\n Rect: (options: QuadOptions = {}) => {\n options.size ??= { width: 1, height: 1 };\n options.shader ??= this.#defaultQuadShader();\n options.atlasCoords ??= {\n atlasIndex: 1000,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n };\n options.assetManager = this.assets;\n\n const quad = new QuadNode(options, this.#matrixPool);\n\n if (options?.position) {\n quad.position = options.position;\n }\n\n if (options?.rotation) {\n quad.rotation = options.rotation;\n }\n\n if (options?.scale) {\n quad.scale = options.scale;\n }\n\n return quad;\n },\n\n Circle: (options: CircleOptions = { radius: 50 }) => {\n const radius = options.radius ?? 50;\n const diameter = radius * 2;\n\n const quadOptions: QuadOptions = {\n ...options,\n size: { width: diameter, height: diameter },\n shader: options.shader ?? this.#defaultQuadShader(),\n atlasCoords: options.atlasCoords ?? {\n atlasIndex: 1001,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n },\n assetManager: this.assets,\n };\n\n const quad = new QuadNode(quadOptions, this.#matrixPool);\n\n if (options?.position) {\n quad.position = options.position;\n }\n\n if (options?.rotation) {\n quad.rotation = options.rotation;\n }\n\n if (options?.scale) {\n quad.scale = options.scale;\n }\n\n return quad;\n },\n\n Line: (options: LineOptions) => {\n const center = {\n x: (options.start.x + options.end.x) / 2,\n y: (options.start.y + options.end.y) / 2,\n };\n const angle = Math.atan2(\n options.end.y - options.start.y,\n options.end.x - options.start.x,\n );\n const length = Math.sqrt(\n (options.end.x - options.start.x) ** 2 +\n (options.end.y - options.start.y) ** 2,\n );\n\n const line = new QuadNode(\n {\n color: options.color,\n atlasCoords: {\n atlasIndex: 1000,\n uvOffset: { x: 0, y: 0 },\n uvScale: { width: 0, height: 0 },\n cropOffset: { x: 0, y: 0 },\n originalSize: { width: 1, height: 1 },\n },\n shader: options.shader ?? this.#defaultQuadShader(),\n size: { width: 1, height: 1 },\n layer: options.layer,\n key: options.key,\n rotationRadians: angle,\n assetManager: this.assets,\n scale: {\n x: length,\n y: options.thickness ?? 1,\n },\n position: center,\n },\n this.#matrixPool,\n );\n\n return line;\n },\n };\n\n #quadShader: IBackendShader | null = null;\n\n #defaultQuadShader(): IBackendShader {\n if (this.#quadShader) {\n return this.#quadShader;\n }\n\n // For WebGPU, we can provide custom WGSL shader code\n // For WebGL, the backend will use its default shader\n const userCode =\n this.#backend.type === \"webgpu\"\n ? /*wgsl*/ `\n @fragment\n fn frag(vertex: VertexOutput) -> @location(0) vec4f {\n let color = default_fragment_shader(vertex, ${\n this.#defaultFilter === \"nearest\"\n ? \"nearestSampler\"\n : \"linearSampler\"\n });\n return color;\n }\n `\n : undefined;\n\n const shader = this.#backend.createQuadShader({\n label: \"default quad shader\",\n instanceCount: this.limits.instanceCount,\n userCode,\n });\n\n this.#quadShader = shader;\n return shader;\n }\n\n /**\n * Attach toodle to a canvas.\n *\n * @param canvas - The canvas to attach toodle to.\n * @param options - ToodleOptions for the creation of the toodle instance\n * @returns A promise that resolves to a Toodle instance.\n *\n * @example\n *\n * const canvas = document.createElement(\"canvas\");\n *\n * const toodle = await Toodle.attach(canvas);\n */\n static async attach(canvas: HTMLCanvasElement, options?: ToodleOptions) {\n canvas.width = canvas.clientWidth * devicePixelRatio;\n canvas.height = canvas.clientHeight * devicePixelRatio;\n\n const backendOption = options?.backend ?? \"auto\";\n let backendType: BackendType;\n\n if (backendOption === \"auto\") {\n backendType = await detectBackend();\n } else {\n backendType = backendOption;\n }\n\n let backend: IRenderBackend;\n if (backendType === \"webgpu\") {\n backend = await WebGPUBackend.create(canvas, {\n limits: options?.limits,\n });\n } else {\n backend = await WebGLBackend.create(canvas, {\n limits: options?.limits,\n });\n }\n\n return new Toodle(\n backend,\n canvas,\n {\n width: canvas.clientWidth,\n height: canvas.clientHeight,\n },\n options || {},\n );\n }\n\n /**\n * Destroy the toodle instance and release its gpu and cpu resources.\n *\n * Note that calling any methods on the instance after this result in undefined behavior.\n */\n destroy() {\n this.#resizeObserver.disconnect();\n this.#backend.destroy();\n this.assets.destroy();\n }\n\n /**\n * Get the render backend instance.\n * Cast to WebGPUBackend or WebGLBackend to access backend-specific properties.\n *\n * @example\n * if (toodle.backend instanceof WebGPUBackend) {\n * const device = toodle.backend.device;\n * }\n */\n get backend(): WebGPUBackend | WebGLBackend {\n return this.#backend as WebGPUBackend | WebGLBackend;\n }\n}\n\nexport type StartFrameOptions = {\n /**\n * The load operation to use for the render pass.\n *\n * **clear**: clear the current texture to the clear color. necessary if you're using toodle without another renderer.\n *\n * **load**: blend the render pass with the current canvas contents. useful if you're using toodle alongside another renderer like painter or pixi.js\n *\n * @default \"clear\"\n *\n */\n loadOp?: \"load\" | \"clear\";\n};\n\nexport type ToodleOptions = {\n /**\n * The filter mode to use for the default quad shader.\n * see: https://webgpufundamentals.org/webgpu/lessons/webgpu-textures.html#a-mag-filter\n *\n * **nearest**: nearest neighbor sampling. makes pixel art look sharp and vector art look jaggy.\n *\n * **linear**: linear sampling. makes vector art look smooth and pixel art look blurry.\n *\n * @default \"linear\"\n */\n filter?: \"nearest\" | \"linear\";\n limits?: LimitsOptions;\n /**\n * The rendering backend to use.\n *\n * **auto**: Automatically detect the best available backend (WebGPU > WebGL).\n *\n * **webgpu**: Use WebGPU backend. Throws if WebGPU is not available.\n *\n * **webgl2**: Use WebGL 2 backend (fallback for older browsers).\n *\n * @default \"auto\"\n */\n backend?: BackendType | \"auto\";\n};\n\nexport type CircleOptions = Omit<QuadOptions, \"size\"> & {\n /**\n * The radius of the circle in pixels.\n * The diameter will be radius * 2.\n * @default 50\n */\n radius?: number;\n};\n\nexport type LineOptions = {\n /**\n * The start position of the line.\n */\n start: Point;\n /**\n * The end position of the line.\n */\n end: Point;\n /**\n * The color of the line.\n */\n color: Color;\n /**\n * The thickness of the line.\n */\n thickness?: number;\n /**\n * The shader to use for the line.\n */\n shader?: IBackendShader;\n /**\n * The layer to draw the line on.\n */\n layer?: number;\n /**\n * A unique identifier for the line.\n */\n key?: string;\n};\n\nexport type QuadShaderOpts = {\n /**\n * Blend mode for alpha compositing.\n */\n blendMode?: BlendMode;\n /**\n * Which texture atlas to bind (default: \"default\").\n */\n atlasId?: string;\n};\n",
42
43
  "/**\n * Named colors from the web for easier prototyping than using hex codes or rgba values.\n *\n * https://www.w3schools.com/colors/colors_names.asp\n */\nexport const web = Object.freeze({\n aliceBlue: { r: 0.941176, g: 0.972549, b: 1, a: 1 },\n antiqueWhite: { r: 0.980392, g: 0.921569, b: 0.843137, a: 1 },\n aqua: { r: 0, g: 1, b: 1, a: 1 },\n aquamarine: { r: 0.498039, g: 1, b: 0.831373, a: 1 },\n azure: { r: 0.941176, g: 1, b: 1, a: 1 },\n beige: { r: 0.960784, g: 0.960784, b: 0.862745, a: 1 },\n bisque: { r: 1, g: 0.894118, b: 0.768627, a: 1 },\n black: { r: 0, g: 0, b: 0, a: 1 },\n blanchedAlmond: { r: 1, g: 0.921569, b: 0.803922, a: 1 },\n blue: { r: 0, g: 0, b: 1, a: 1 },\n blueViolet: { r: 0.541176, g: 0.168627, b: 0.886275, a: 1 },\n brown: { r: 0.647059, g: 0.164706, b: 0.164706, a: 1 },\n burlywood: { r: 0.870588, g: 0.721569, b: 0.529412, a: 1 },\n cadetBlue: { r: 0.372549, g: 0.619608, b: 0.627451, a: 1 },\n chartreuse: { r: 0.498039, g: 1, b: 0, a: 1 },\n chocolate: { r: 0.823529, g: 0.411765, b: 0.117647, a: 1 },\n coral: { r: 1, g: 0.498039, b: 0.313726, a: 1 },\n cornflowerBlue: { r: 0.392157, g: 0.584314, b: 0.929412, a: 1 },\n cornsilk: { r: 1, g: 0.972549, b: 0.862745, a: 1 },\n crimson: { r: 0.862745, g: 0.0784314, b: 0.235294, a: 1 },\n cyan: { r: 0, g: 1, b: 1, a: 1 },\n darkBlue: { r: 0, g: 0, b: 0.545098, a: 1 },\n darkCyan: { r: 0, g: 0.545098, b: 0.545098, a: 1 },\n darkGoldenrod: { r: 0.721569, g: 0.52549, b: 0.0431373, a: 1 },\n darkGray: { r: 0.662745, g: 0.662745, b: 0.662745, a: 1 },\n darkGreen: { r: 0, g: 0.392157, b: 0, a: 1 },\n darkKhaki: { r: 0.741176, g: 0.717647, b: 0.419608, a: 1 },\n darkMagenta: { r: 0.545098, g: 0, b: 0.545098, a: 1 },\n darkOliveGreen: { r: 0.333333, g: 0.419608, b: 0.184314, a: 1 },\n darkOrange: { r: 1, g: 0.54902, b: 0, a: 1 },\n darkOrchid: { r: 0.6, g: 0.196078, b: 0.8, a: 1 },\n darkRed: { r: 0.545098, g: 0, b: 0, a: 1 },\n darkSalmon: { r: 0.913725, g: 0.588235, b: 0.478431, a: 1 },\n darkSeaGreen: { r: 0.560784, g: 0.737255, b: 0.560784, a: 1 },\n darkSlateBlue: { r: 0.282353, g: 0.239216, b: 0.545098, a: 1 },\n darkSlateGray: { r: 0.184314, g: 0.309804, b: 0.309804, a: 1 },\n darkTurquoise: { r: 0, g: 0.807843, b: 0.819608, a: 1 },\n darkViolet: { r: 0.580392, g: 0, b: 0.827451, a: 1 },\n deepPink: { r: 1, g: 0.0784314, b: 0.576471, a: 1 },\n deepSkyBlue: { r: 0, g: 0.74902, b: 1, a: 1 },\n dimGray: { r: 0.411765, g: 0.411765, b: 0.411765, a: 1 },\n dodgerBlue: { r: 0.117647, g: 0.564706, b: 1, a: 1 },\n firebrick: { r: 0.698039, g: 0.133333, b: 0.133333, a: 1 },\n floralWhite: { r: 1, g: 0.980392, b: 0.941176, a: 1 },\n forestGreen: { r: 0.133333, g: 0.545098, b: 0.133333, a: 1 },\n fuchsia: { r: 1, g: 0, b: 1, a: 1 },\n gainsboro: { r: 0.862745, g: 0.862745, b: 0.862745, a: 1 },\n ghostWhite: { r: 0.972549, g: 0.972549, b: 1, a: 1 },\n gold: { r: 1, g: 0.843137, b: 0, a: 1 },\n goldenrod: { r: 0.854902, g: 0.647059, b: 0.12549, a: 1 },\n gray: { r: 0.745098, g: 0.745098, b: 0.745098, a: 1 },\n green: { r: 0, g: 1, b: 0, a: 1 },\n greenYellow: { r: 0.678431, g: 1, b: 0.184314, a: 1 },\n honeydew: { r: 0.941176, g: 1, b: 0.941176, a: 1 },\n hotPink: { r: 1, g: 0.411765, b: 0.705882, a: 1 },\n indigo: { r: 0.294118, g: 0, b: 0.509804, a: 1 },\n ivory: { r: 1, g: 1, b: 0.941176, a: 1 },\n khaki: { r: 0.941176, g: 0.901961, b: 0.54902, a: 1 },\n lavender: { r: 0.901961, g: 0.901961, b: 0.980392, a: 1 },\n lavenderBlush: { r: 1, g: 0.941176, b: 0.960784, a: 1 },\n lawnGreen: { r: 0.486275, g: 0.988235, b: 0, a: 1 },\n lemonChiffon: { r: 1, g: 0.980392, b: 0.803922, a: 1 },\n lightBlue: { r: 0.678431, g: 0.847059, b: 0.901961, a: 1 },\n lightCoral: { r: 0.941176, g: 0.501961, b: 0.501961, a: 1 },\n lightCyan: { r: 0.878431, g: 1, b: 1, a: 1 },\n lightGoldenrod: { r: 0.980392, g: 0.980392, b: 0.823529, a: 1 },\n lightGray: { r: 0.827451, g: 0.827451, b: 0.827451, a: 1 },\n lightGreen: { r: 0.564706, g: 0.933333, b: 0.564706, a: 1 },\n lightPink: { r: 1, g: 0.713726, b: 0.756863, a: 1 },\n lightSalmon: { r: 1, g: 0.627451, b: 0.478431, a: 1 },\n lightSeaGreen: { r: 0.12549, g: 0.698039, b: 0.666667, a: 1 },\n lightSkyBlue: { r: 0.529412, g: 0.807843, b: 0.980392, a: 1 },\n lightSlateGray: { r: 0.466667, g: 0.533333, b: 0.6, a: 1 },\n lightSteelBlue: { r: 0.690196, g: 0.768627, b: 0.870588, a: 1 },\n lightYellow: { r: 1, g: 1, b: 0.878431, a: 1 },\n lime: { r: 0, g: 1, b: 0, a: 1 },\n limeGreen: { r: 0.196078, g: 0.803922, b: 0.196078, a: 1 },\n linen: { r: 0.980392, g: 0.941176, b: 0.901961, a: 1 },\n magenta: { r: 1, g: 0, b: 1, a: 1 },\n maroon: { r: 0.690196, g: 0.188235, b: 0.376471, a: 1 },\n mediumAquamarine: { r: 0.4, g: 0.803922, b: 0.666667, a: 1 },\n mediumBlue: { r: 0, g: 0, b: 0.803922, a: 1 },\n mediumOrchid: { r: 0.729412, g: 0.333333, b: 0.827451, a: 1 },\n mediumPurple: { r: 0.576471, g: 0.439216, b: 0.858824, a: 1 },\n mediumSeaGreen: { r: 0.235294, g: 0.701961, b: 0.443137, a: 1 },\n mediumSlateBlue: { r: 0.482353, g: 0.407843, b: 0.933333, a: 1 },\n mediumSpringGreen: { r: 0, g: 0.980392, b: 0.603922, a: 1 },\n mediumTurquoise: { r: 0.282353, g: 0.819608, b: 0.8, a: 1 },\n mediumVioletRed: { r: 0.780392, g: 0.0823529, b: 0.521569, a: 1 },\n midnightBlue: { r: 0.0980392, g: 0.0980392, b: 0.439216, a: 1 },\n mintCream: { r: 0.960784, g: 1, b: 0.980392, a: 1 },\n mistyRose: { r: 1, g: 0.894118, b: 0.882353, a: 1 },\n moccasin: { r: 1, g: 0.894118, b: 0.709804, a: 1 },\n navyBlue: { r: 0, g: 0, b: 0.501961, a: 1 },\n oldLace: { r: 0.992157, g: 0.960784, b: 0.901961, a: 1 },\n olive: { r: 0.501961, g: 0.501961, b: 0, a: 1 },\n oliveDrab: { r: 0.419608, g: 0.556863, b: 0.137255, a: 1 },\n orange: { r: 1, g: 0.647059, b: 0, a: 1 },\n orangeRed: { r: 1, g: 0.270588, b: 0, a: 1 },\n orchid: { r: 0.854902, g: 0.439216, b: 0.839216, a: 1 },\n paleGoldenrod: { r: 0.933333, g: 0.909804, b: 0.666667, a: 1 },\n paleGreen: { r: 0.596078, g: 0.984314, b: 0.596078, a: 1 },\n paleTurquoise: { r: 0.686275, g: 0.933333, b: 0.933333, a: 1 },\n paleVioletRed: { r: 0.858824, g: 0.439216, b: 0.576471, a: 1 },\n papayaWhip: { r: 1, g: 0.937255, b: 0.835294, a: 1 },\n peachPuff: { r: 1, g: 0.854902, b: 0.72549, a: 1 },\n peru: { r: 0.803922, g: 0.521569, b: 0.247059, a: 1 },\n pink: { r: 1, g: 0.752941, b: 0.796078, a: 1 },\n plum: { r: 0.866667, g: 0.627451, b: 0.866667, a: 1 },\n powderBlue: { r: 0.690196, g: 0.878431, b: 0.901961, a: 1 },\n purple: { r: 0.627451, g: 0.12549, b: 0.941176, a: 1 },\n rebeccaPurple: { r: 0.4, g: 0.2, b: 0.6, a: 1 },\n red: { r: 1, g: 0, b: 0, a: 1 },\n rosyBrown: { r: 0.737255, g: 0.560784, b: 0.560784, a: 1 },\n royalBlue: { r: 0.254902, g: 0.411765, b: 0.882353, a: 1 },\n saddleBrown: { r: 0.545098, g: 0.270588, b: 0.0745098, a: 1 },\n salmon: { r: 0.980392, g: 0.501961, b: 0.447059, a: 1 },\n sandyBrown: { r: 0.956863, g: 0.643137, b: 0.376471, a: 1 },\n seaGreen: { r: 0.180392, g: 0.545098, b: 0.341176, a: 1 },\n seashell: { r: 1, g: 0.960784, b: 0.933333, a: 1 },\n sienna: { r: 0.627451, g: 0.321569, b: 0.176471, a: 1 },\n silver: { r: 0.752941, g: 0.752941, b: 0.752941, a: 1 },\n skyBlue: { r: 0.529412, g: 0.807843, b: 0.921569, a: 1 },\n slateBlue: { r: 0.415686, g: 0.352941, b: 0.803922, a: 1 },\n slateGray: { r: 0.439216, g: 0.501961, b: 0.564706, a: 1 },\n snow: { r: 1, g: 0.980392, b: 0.980392, a: 1 },\n springGreen: { r: 0, g: 1, b: 0.498039, a: 1 },\n steelBlue: { r: 0.27451, g: 0.509804, b: 0.705882, a: 1 },\n tan: { r: 0.823529, g: 0.705882, b: 0.54902, a: 1 },\n teal: { r: 0, g: 0.501961, b: 0.501961, a: 1 },\n thistle: { r: 0.847059, g: 0.74902, b: 0.847059, a: 1 },\n tomato: { r: 1, g: 0.388235, b: 0.278431, a: 1 },\n transparent: { r: 1, g: 1, b: 1, a: 0 },\n turquoise: { r: 0.25098, g: 0.878431, b: 0.815686, a: 1 },\n violet: { r: 0.933333, g: 0.509804, b: 0.933333, a: 1 },\n webGray: { r: 0.501961, g: 0.501961, b: 0.501961, a: 1 },\n webGreen: { r: 0, g: 0.501961, b: 0, a: 1 },\n webMaroon: { r: 0.501961, g: 0, b: 0, a: 1 },\n webPurple: { r: 0.501961, g: 0, b: 0.501961, a: 1 },\n wheat: { r: 0.960784, g: 0.870588, b: 0.701961, a: 1 },\n white: { r: 1, g: 1, b: 1, a: 1 },\n whiteSmoke: { r: 0.960784, g: 0.960784, b: 0.960784, a: 1 },\n yellow: { r: 1, g: 1, b: 0, a: 1 },\n yellowGreen: { r: 0.603922, g: 0.803922, b: 0.196078, a: 1 },\n});\n"
43
44
  ],
44
- "mappings": "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AAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI;AAAA;AAAE,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,UAAQ,IAAE,KAAK,OAAK,IAAE,KAAK,SAAO;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAU;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,aAAW,IAAE,KAAK,SAAO,IAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,MAAY,OAAO,GAAE;AAAA,IAAC,OAAQ;AAAA;AAAK;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,SAAO,IAAE,KAAK,SAAO;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAU;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM,GAAE,KAAK,UAAQ;AAAA;AAAM;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAa,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAA,EAAM,mBAAmB,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAM;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAa,MAAM,CAAC,IAAE;AAAA,IAAC,IAAG,GAAE,IAAI,GAAE,KAAK;AAAA,MAAK,WAAU,MAAK,KAAK;AAAA,QAAK,GAAE,OAAO,EAAC;AAAA;AAAA,EAAG,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,OAAI,GAAE,KAAG,KAAK,OAAM,GAAE,eAAe,MAAK,GAAE,OAAO;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,oBAAkB,MAAK,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAW,oBAAoB,CAAC,IAAE;AAAA,IAAC,KAAK,oBAAkB;AAAA;AAAA,MAAO,SAAS,GAAE;AAAA,IAAC,OAAO,EAAE,IAAI,KAAK,IAAI;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,eAAe,MAAK,GAAE,OAAO;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAK,GAAE,OAAO,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAU,MAAM,CAAC,IAAE;AAAA,IAAC,GAAE,IAAI,GAAE,KAAK,WAAS,KAAK,QAAQ,OAAO,EAAC;AAAA;AAAA,EAAG,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,eAAe,MAAK,GAAE,OAAO;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,cAAY;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAY,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,KAAK,aAAY;AAAA,MAAC,MAAM,KAAE,GAAE,eAAe,KAAK,aAAY,GAAE,OAAO;AAAA,MAAE,OAAc,OAAP,QAAU,KAAK,UAAQ,GAAE,WAAW,IAAE,KAAK,SAAQ,GAAE,OAAO,IAAE;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,YAAY,OAAO,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,QAAM,IAAE,KAAK,OAAK;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAc,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAmB,OAAZ,cAAgB,GAAE,KAAG,KAAK,OAAM,KAAK;AAAA;AAAA,MAAU,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,iBAAiB;AAAA;AAAA,MAAO,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,iBAAiB,MAAI,KAAK,iBAAiB;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK,iBAAiB,KAAG,KAAK,MAAM,SAAO,QAAQ,MAAM,sBAAsB,GAAE;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK,iBAAiB,MAAI,KAAK,iBAAiB,KAAG,KAAK,MAAM,QAAM,QAAQ,MAAM,kCAAkC,GAAE,IAAI,aAAa,CAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAc,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,MAAM,OAAO,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,QAAM;AAAA;AAAA,EAAG,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,MAAM,OAAO,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,WAAS,IAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAU,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,eAAe,MAAK,GAAE,OAAO;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,MAAM,OAAO,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,WAAS,IAAE,KAAK,OAAK,IAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAW,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,SAAO,GAAE,OAAK,KAAU,GAAE,SAAV,SAAwB,GAAE,SAAV,QAAe,GAAG,MAAY,GAAE,SAAV,SAAwB,GAAE,SAAV,QAAe,GAAG,MAAI,GAAG;AAAA;AAAA,EAAI,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,eAAe,MAAK,GAAE,OAAO;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,KAAK,OAAO,EAAC,GAAE,KAAK,MAAM,OAAO,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAU;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,YAAU;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAO,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,EAAC;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAU,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAW;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,YAAU,IAAE,KAAK,OAAK;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAS,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,UAAU,OAAO,EAAC,GAAE,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAG;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAS;AAAA;AAAC,MAAM,WAAW,EAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,QAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAO;AAAA;AAAY;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,KAAK,SAAO,MAAK,KAAK,WAAS,IAAE,KAAK,SAAO,IAAE,KAAK,KAAG,GAAG;AAAA;AAAA,EAAO,KAAK,GAAE;AAAA,IAAC,MAAM,8BAA8B,KAAK,YAAY;AAAA;AAAA,EAAO,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,QAAQ,MAAM,qCAAqC,KAAK,YAAY,MAAM;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qCAAqC,KAAK,YAAY,MAAM,GAAE;AAAA;AAAA,EAAK,QAAQ,GAAE;AAAA,IAAC,OAAO,IAAI,KAAK,SAAS,YAAY;AAAA;AAAK;AAAC,GAAG,MAAI;AAAA;AAAE,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM,IAAI,EAAE,QAAO,IAAI,GAAE,IAAI;AAAA;AAAA,EAAG,QAAQ,GAAE;AAAA,IAAC,OAAO;AAAA;AAAO;AAAC,GAAG,OAAK,IAAI;AAAA;AAAG,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,IAAI,EAAE,WAAU,GAAE,UAAS,IAAI,GAAE,IAAI,GAAE,KAAK,YAAU;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,UAAU,aAAa,IAAE,IAAE,IAAE,EAAC;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,OAAO,KAAE,KAAK,UAAU,WAAW,IAAE,IAAE,EAAC,IAAE;AAAA;AAAA,EAAK,QAAQ,GAAE;AAAA,IAAC,OAAO,IAAI,KAAK,UAAU,SAAS;AAAA;AAAI;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,KAAE,MAAK;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,cAAa,cAAY,cAAa,eAAa,cAAa,eAAa,KAAK,OAAK,KAAU,KAAK,SAAS,SAAtB,QAA2B,KAAE,KAAK,MAAM,EAAC,KAAG,IAAE,KAAK,OAAK,IAAI,aAAa,CAAC,EAAC,CAAC,IAAE,KAAK,OAAK,MAAG,IAAE,IAAI,YAAY,CAAC,EAAC,CAAC,IAAE,IAAI,WAAW,CAAC,EAAC,CAAC,IAAU,KAAK,SAAS,SAAtB,SAAqC,KAAK,SAAS,SAAvB,SAA4B,KAAK,OAAK,IAAI,WAAW,CAAC,EAAC,CAAC,IAAU,KAAK,SAAS,SAAtB,QAA2B,KAAK,OAAK,IAAI,YAAY,CAAC,EAAC,CAAC,IAAU,KAAK,SAAS,SAAtB,SAAoC,KAAK,SAAS,SAAtB,QAA2B,KAAK,OAAK,IAAI,aAAa,CAAC,EAAC,CAAC,IAAE,QAAQ,MAAM,6BAA4B,EAAC;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,IAAG,KAAK,gBAAgB;AAAA,MAAa,OAAO,IAAI,GAAG,IAAI,aAAa,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,IAAG,KAAK,gBAAgB;AAAA,MAAW,OAAO,IAAI,GAAG,IAAI,WAAW,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,IAAG,KAAK,gBAAgB;AAAA,MAAY,OAAO,IAAI,GAAG,IAAI,YAAY,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,MAAM;AAAA;AAAA,MAAoC,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAO,KAAK,CAAC,IAAE;AAAA,IAAC,KAAK,KAAK,KAAG;AAAA;AAAA,EAAG,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,IAAG;AAAA,MAAE,OAAO,KAAK,QAAQ,MAAM,sDAAqD,EAAC;AAAA,IAAE,IAAG,EAAE,cAAa;AAAA,MAAI,OAAO,KAAK,QAAQ,MAAM,+BAA8B,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAW,KAAK,SAAS,SAAtB,SAAoC,KAAK,SAAS,SAAtB,QAA2B,KAAE,KAAK,MAAM,EAAC,IAAW,KAAK,SAAS,SAAvB,WAA8B,KAAE,KAAE,IAAE,IAAG,KAAK,KAAK,KAAG;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,OAAO,MAAG,QAAQ,MAAM,oDAAmD,EAAC,GAAE,QAAM;AAAA;AAAA,EAAK,QAAQ,GAAE;AAAA,IAAC,OAAO,GAAG,KAAK;AAAA;AAAQ;AAAC,SAAS,EAAE,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,MAAM,KAAE,GAAE;AAAA,EAAO,OAAW,OAAJ,IAAc,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,SAAoB,OAAT,SAAW,IAAI,GAAG,IAAI,WAAW,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,YAAY,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,KAAG,QAAQ,MAAM,8BAA8B,IAAG,GAAE,QAAU,OAAJ,IAAc,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,SAAoB,OAAT,SAAW,IAAI,GAAG,IAAI,WAAW,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,YAAY,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,KAAG,QAAQ,MAAM,8BAA8B,IAAG,GAAE,QAAU,OAAJ,IAAc,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,SAAoB,OAAT,SAAW,IAAI,GAAG,IAAI,WAAW,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,YAAY,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,EAAC,GAAE,GAAE,YAAY,OAAO,CAAC,KAAG,QAAQ,MAAM,8BAA8B,IAAG,GAAE,SAAO,QAAQ,MAAM,mCAAmC,GAAE,QAAQ,GAAE;AAAA;AAAA;AAAM,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,KAAE,MAAK;AAAA,IAAC,IAAG,MAAM,IAAE,EAAC,GAAE,cAAa,gBAAc,cAAa,eAAa,cAAa;AAAA,MAAW,KAAK,OAAK;AAAA,IAAO;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS;AAAA,MAAe,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,OAAK,IAAI,aAAa,EAAC,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,OAAK,IAAI,WAAW,EAAC,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,OAAK,IAAI,YAAY,EAAC,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,OAAK,IAAI,aAAa,EAAC,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,OAAK,IAAI,WAAW,EAAC,IAAW,OAAT,UAAqB,OAAT,UAAqB,OAAT,SAAW,KAAK,OAAK,IAAI,aAAa,EAAC,IAAE,QAAQ,MAAM,4BAA4B,IAAG;AAAA;AAAA;AAAA,EAAI,KAAK,GAAE;AAAA,IAAC,IAAG,KAAK,gBAAgB;AAAA,MAAa,OAAO,IAAI,GAAG,IAAI,aAAa,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,IAAG,KAAK,gBAAgB;AAAA,MAAW,OAAO,IAAI,GAAG,IAAI,WAAW,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,IAAG,KAAK,gBAAgB;AAAA,MAAY,OAAO,IAAI,GAAG,IAAI,YAAY,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA,IAAE,MAAM;AAAA;AAAA,EAAgC,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,cAAa,KAAG,QAAQ,MAAM,0BAA0B,IAAE,cAAa,KAAG,KAAK,OAAK,GAAE,OAAK,QAAQ,MAAM,+BAA8B,EAAC;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAK,IAAI,KAAE,GAAE,YAAY,KAAK;AAAA,IAAE,IAAG,KAAK,oBAAoB;AAAA,MAAE,KAAE,KAAK,SAAS,UAAQ;AAAA,IAAO;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS;AAAA,MAAe,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAE,GAAE,YAAY,KAAK,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAE,GAAE,YAAY,KAAK,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAE,GAAE,YAAY,MAAM,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAE,GAAE,YAAY,KAAK,IAAY,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAE,GAAE,YAAY,KAAK,IAAE,QAAQ,MAAM,4BAA4B,IAAG;AAAA;AAAA,IAAG,IAAI,KAAE;AAAA,IAAK,MAAY,OAAP,QAAiB,OAAP,QAAU;AAAA,MAAC,IAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,GAAE;AAAA,QAAM,IAAI,KAAE;AAAA,QAAG,IAAG,cAAa,IAAG;AAAA,UAAC,IAAG,EAAE,GAAE,iBAAiB;AAAA,YAAI,OAAO,QAAQ,MAAM,mCAAmC,GAAE,OAAO,GAAE;AAAA,UAAK,KAAE,GAAE,MAAM;AAAA,QAAM,EAAM;AAAA,UAAC,MAAM,KAAE,GAAE,eAAe,IAAE,EAAC;AAAA,UAAE,IAAG,EAAE,cAAa;AAAA,YAAI,OAAO,QAAQ,MAAM,kCAAiC,EAAC,GAAE;AAAA,UAAK,KAAE,GAAE;AAAA;AAAA,QAAO,IAAG,KAAE,KAAG,MAAG,GAAE,KAAK;AAAA,UAAO,OAAO,QAAQ,MAAM,kCAAiC,EAAC,GAAE;AAAA,QAAK,IAAG,GAAE,gBAAgB,cAAa;AAAA,UAAC,MAAM,KAAE,IAAI,aAAa,GAAE,KAAK,QAAO,GAAE,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,EAAC;AAAA,QAAC;AAAA,QAAC,IAAG,GAAE,gBAAgB,YAAW;AAAA,UAAC,MAAM,KAAE,IAAI,WAAW,GAAE,KAAK,QAAO,GAAE,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,EAAC;AAAA,QAAC;AAAA,QAAC,IAAG,GAAE,gBAAgB,aAAY;AAAA,UAAC,MAAM,KAAE,IAAI,YAAY,GAAE,KAAK,QAAO,GAAE,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,EAAC;AAAA,QAAC;AAAA,QAAC,MAAM;AAAA,MAA+B;AAAA,MAAC,IAAG,EAAE,cAAa;AAAA,QAAI,OAAO,QAAQ,MAAM,+BAA8B,EAAC,GAAE;AAAA,MAAK;AAAA,QAAC,MAAM,KAAE,GAAE,MAAM,YAAY;AAAA,QAAE,IAAO,GAAE,WAAN,GAAa;AAAA,UAAC,IAAI,KAAE;AAAA,UAAE,IAAS,OAAN,OAAe,OAAN;AAAA,YAAQ,KAAE;AAAA,UAAO,SAAS,OAAN,OAAe,OAAN;AAAA,YAAQ,KAAE;AAAA,UAAO,SAAS,OAAN,OAAe,OAAN;AAAA,YAAQ,KAAE;AAAA,UAAO;AAAA,YAAC,IAAS,OAAN,OAAe,OAAN;AAAA,cAAQ,OAAO,QAAQ,MAAM,8BAA8B,IAAG,GAAE;AAAA,YAAK,KAAE;AAAA;AAAA,UAAG,IAAG,KAAK,gBAAgB,cAAa;AAAA,YAAC,IAAI,KAAE,IAAI,aAAa,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,YAAE,OAAO,IAAI,GAAG,IAAE,IAAE,IAAI;AAAA,UAAC;AAAA,UAAC,IAAG,KAAK,gBAAgB,YAAW;AAAA,YAAC,IAAI,KAAE,IAAI,WAAW,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,YAAE,OAAO,IAAI,GAAG,IAAE,IAAE,IAAI;AAAA,UAAC;AAAA,UAAC,IAAG,KAAK,gBAAgB,aAAY;AAAA,YAAC,IAAI,KAAE,IAAI,YAAY,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,IAAE,CAAC;AAAA,YAAE,OAAO,IAAI,GAAG,IAAE,IAAE,IAAI;AAAA,UAAC;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,CAAC;AAAA,QAAE,WAAU,MAAK;AAAA,UAAQ,OAAN,OAAe,OAAN,MAAQ,GAAE,KAAK,KAAK,KAAK,EAAE,IAAQ,OAAN,OAAe,OAAN,MAAQ,GAAE,KAAK,KAAK,KAAK,EAAE,IAAQ,OAAN,OAAe,OAAN,MAAQ,GAAE,KAAK,KAAK,KAAK,EAAE,IAAQ,OAAN,OAAe,OAAN,MAAQ,GAAE,KAAK,KAAK,KAAK,EAAE,IAAE,QAAQ,MAAM,gCAAgC,IAAG;AAAA,QAAE,KAAE,GAAG,IAAE,IAAE,GAAE,IAAI;AAAA,MAAE;AAAA,MAAC,KAAE,GAAE;AAAA,IAAQ;AAAA,IAAC,OAAO;AAAA;AAAA,EAAE,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE,GAAG,KAAK,KAAK;AAAA,IAAK,SAAQ,KAAE,EAAE,KAAE,KAAK,KAAK,QAAO,EAAE;AAAA,MAAE,MAAG,KAAK,KAAK,KAAK;AAAA,IAAK,OAAO;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,KAAE,MAAK;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,cAAa,eAAa,KAAK,OAAK,KAAE,KAAK,OAAK,IAAI,aAAa,EAAC;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,OAAO,IAAI,GAAG,IAAI,aAAa,KAAK,IAAI,GAAE,KAAK,UAAS,IAAI;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,cAAa,KAAG,QAAQ,MAAM,0BAA0B,IAAE,cAAa,KAAG,KAAK,OAAK,GAAE,OAAK,QAAQ,MAAM,+BAA8B,EAAC;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS;AAAA,IAAK,IAAG,GAAE,YAAY,KAAK,GAAE,KAAK,oBAAoB;AAAA,MAAE,KAAK,SAAS;AAAA,IAAY,SAAG,GAAE,SAAS,GAAG;AAAA,MAAE,GAAE,YAAY,KAAK;AAAA,IAAO,SAAG,GAAE,SAAS,GAAG;AAAA,MAAE,GAAE,YAAY,KAAK;AAAA,IAAO,SAAG,GAAE,SAAS,GAAG;AAAA,MAAE,GAAE,YAAY,KAAK;AAAA,IAAO;AAAA,MAAC,IAAG,CAAC,GAAE,SAAS,GAAG;AAAA,QAAE,OAAO,QAAQ,MAAM,8BAA8B,IAAG,GAAE;AAAA,MAAK,GAAE,YAAY,KAAK;AAAA;AAAA,IAAG,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAM,IAAI,KAAE;AAAA,MAAG,IAAG,cAAa,IAAG;AAAA,QAAC,IAAG,EAAE,GAAE,iBAAiB;AAAA,UAAI,OAAO,QAAQ,MAAM,qCAAqC,GAAE,OAAO,GAAE;AAAA,QAAK,KAAE,GAAE,MAAM;AAAA,MAAM,EAAM;AAAA,QAAC,MAAM,KAAE,GAAE,eAAe,IAAE,EAAC;AAAA,QAAE,IAAG,EAAE,cAAa;AAAA,UAAI,OAAO,QAAQ,MAAM,oCAAmC,EAAC,GAAE;AAAA,QAAK,KAAE,GAAE;AAAA;AAAA,MAAO,IAAG,KAAE,KAAG,MAAG,KAAK,KAAK;AAAA,QAAO,OAAO,QAAQ,MAAM,oCAAmC,EAAC,GAAE;AAAA,MAAK,MAAM,KAAE,GAAE,SAAS,GAAG,IAAE,MAAI;AAAA,MAAI,IAAI;AAAA,MAAE,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,KAAE,IAAI,GAAG,IAAI,aAAa,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,KAAE,GAAE,CAAC,GAAE,GAAE,YAAY,OAAO,IAAG,CAAC;AAAA,MAAO,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,KAAE,IAAI,GAAG,IAAI,aAAa,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,KAAE,GAAE,CAAC,GAAE,GAAE,YAAY,OAAO,IAAG,CAAC;AAAA,MAAO;AAAA,QAAC,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,UAAc,OAAO,QAAQ,MAAM,8BAA8B,IAAG,GAAE;AAAA,QAAK,KAAE,IAAI,GAAG,IAAI,aAAa,KAAK,KAAK,QAAO,KAAK,KAAK,aAAW,IAAE,KAAE,GAAE,CAAC,GAAE,GAAE,YAAY,OAAO,IAAG,CAAC;AAAA;AAAA,MAAG,OAAO,GAAE,UAAQ,GAAE,WAAW,IAAE,GAAE,SAAQ,EAAC,IAAE;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,iCAAgC,EAAC,GAAE;AAAA;AAAA,EAAK,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE,GAAG,KAAK,KAAK;AAAA,IAAK,SAAQ,KAAE,EAAE,KAAE,KAAK,KAAK,QAAO,EAAE;AAAA,MAAE,MAAG,KAAK,KAAK,KAAK;AAAA,IAAK,OAAO;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,KAAE,GAAE,KAAE,MAAK;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,KAAK,SAAO,cAAa,cAAY,KAAE,GAAE,QAAO,KAAK,SAAO;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,MAAM,KAAE,IAAI,WAAW,IAAI,WAAW,KAAK,QAAO,KAAK,QAAO,KAAK,SAAS,IAAI,CAAC;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAO,KAAK,UAAS,GAAE,IAAI;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,IAAU,OAAP;AAAA,MAAS,OAAO,KAAK,QAAQ,IAAI,0BAA0B;AAAA,IAAE,IAAI,KAAE,KAAK,QAAO,KAAE,KAAK;AAAA,IAAS,MAAK,MAAG;AAAA,MAAC,IAAG,cAAa;AAAA,QAAG,IAAG,cAAa,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAM,IAAG,cAAa,IAAG;AAAA,YAAC,IAAG,EAAE,GAAE,iBAAiB;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,oCAAoC,GAAE,OAAO;AAAA,YAAE,MAAG,GAAE,MAAM,QAAM,GAAE;AAAA,UAAO,EAAM;AAAA,YAAC,MAAM,KAAE,GAAE,eAAe,IAAE,EAAC;AAAA,YAAE,IAAG,EAAE,cAAa;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,oCAAmC,EAAC;AAAA,YAAE,MAAG,GAAE,QAAM,GAAE;AAAA;AAAA,UAAQ,KAAE,GAAE;AAAA,QAAO,EAAM;AAAA,kBAAQ,MAAM,sBAAsB,GAAE,YAAY,mBAAmB;AAAA,MAAO;AAAA,QAAC,IAAG,EAAE,cAAa;AAAA,UAAI,OAAO,KAAK,QAAQ,MAAM,sCAAqC,EAAC;AAAA,QAAE;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAM,IAAG,cAAa,GAAE;AAAA,YAAC,IAAI,KAAE;AAAA,YAAM,WAAU,MAAK,GAAE;AAAA,cAAQ,IAAG,GAAE,SAAO,IAAE;AAAA,gBAAC,MAAG,GAAE,QAAO,KAAE,GAAE,MAAK,KAAE;AAAA,gBAAK;AAAA,cAAK;AAAA,YAAC,IAAG,CAAC;AAAA,cAAE,OAAO,KAAK,QAAQ,MAAM,wBAAwB,cAAa;AAAA,UAAC,EAAM,SAAG,cAAa,GAAE;AAAA,YAAC,MAAM,KAAE,GAAE,YAAY;AAAA,YAAE,IAAI,KAAE;AAAA,YAAE,IAAS,OAAN,OAAe,OAAN;AAAA,cAAQ,KAAE;AAAA,YAAO,SAAS,OAAN,OAAe,OAAN;AAAA,cAAQ,KAAE;AAAA,YAAO,SAAS,OAAN,OAAe,OAAN;AAAA,cAAQ,KAAE;AAAA,YAAO;AAAA,cAAC,IAAS,OAAN,OAAe,OAAN;AAAA,gBAAQ,OAAO,KAAK,QAAQ,MAAM,gCAAgC,IAAG;AAAA,cAAE,KAAE;AAAA;AAAA,YAAG,IAAG,EAAE,cAAa;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,+BAA8B,EAAC;AAAA,YAAE,MAAM,KAAE,GAAE;AAAA,YAAM,OAAiB,OAAV,UAAY,MAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAa,OAAV,UAAY,MAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,MAAG,MAAG,KAAK,QAAQ,MAAM,sBAAsB,oBAAmB;AAAA,UAAC;AAAA,QAAC;AAAA;AAAA,MAAE,KAAE,GAAE;AAAA,IAAQ;AAAA,IAAC,KAAK,QAAQ,IAAE,IAAE,IAAE,IAAE,EAAC;AAAA;AAAA,EAAG,OAAO,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,YAAY;AAAA,IAAE,IAAW,OAAR,SAAmB,OAAR;AAAA,MAAU,IAAW,OAAR,SAA2B,OAAhB,iBAA2B,OAAR;AAAA,QAAU,IAAW,OAAR,SAA2B,OAAhB;AAAA,UAAkB,IAAY,OAAT;AAAA,YAAW,IAAa,OAAV,WAAuB,OAAV;AAAA,cAAY,IAAa,OAAV,WAAuB,OAAV;AAAA,gBAAY,IAAa,OAAV,WAAuB,OAAV;AAAA,kBAAY,IAAa,OAAV;AAAA,oBAAY,IAAa,OAAV;AAAA,sBAAY,IAAa,OAAV;AAAA,wBAAY,IAAa,OAAV;AAAA,0BAAY,IAAa,OAAV;AAAA,4BAAY,IAAa,OAAV;AAAA,8BAAY,IAAa,OAAV;AAAA,gCAAY,IAAa,OAAV;AAAA,kCAAY,IAAa,OAAV;AAAA,oCAAY,IAAe,OAAZ,aAA2B,OAAZ;AAAA,sCAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,wCAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,0CAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,4CAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,8CAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,gDAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,kDAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,oDAAc,IAAe,OAAZ,aAA2B,OAAZ;AAAA,sDAAc,IAAG,cAAa,IAAG;AAAA,wDAAC,IAAG,OAAI,GAAE,UAAS;AAAA,0DAAC,OAAO,KAAK,IAAI,WAAW,KAAK,QAAO,IAAE,GAAE,OAAO,UAAU,EAAE,IAAI,IAAI,WAAW,GAAE,MAAM,CAAC;AAAA,wDAAC;AAAA,wDAAC,QAAQ,MAAM,+BAA8B,IAAE,GAAE,SAAS,YAAY,CAAC;AAAA,sDAAE,EAAM;AAAA,gEAAQ,MAAM,yBAAyB,IAAG;AAAA,oDAAO;AAAA,sDAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,EAAE;AAAA,sDAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,QAAM,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE;AAAA;AAAA,kDAAW;AAAA,oDAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,EAAE;AAAA,oDAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,QAAM,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE;AAAA;AAAA,gDAAW;AAAA,kDAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,kDAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,8CAAU;AAAA,gDAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,EAAE;AAAA,gDAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,MAAI,GAAE,KAAK,KAAI,GAAE,MAAI,GAAE,KAAK,QAAM,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,MAAI,GAAE,KAAI,GAAE,MAAI,GAAE;AAAA;AAAA,4CAAW;AAAA,8CAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,8CAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,0CAAU;AAAA,4CAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,4CAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,wCAAU;AAAA,0CAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,0CAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,sCAAU;AAAA,wCAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,wCAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,oCAAU;AAAA,sCAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,sCAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,kCAAU;AAAA,oCAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,oCAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,gCAAU;AAAA,kCAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,kCAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,8BAAU;AAAA,gCAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,gCAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,4BAAU;AAAA,8BAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,8BAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,0BAAU;AAAA,4BAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,4BAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,wBAAU;AAAA,0BAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,0BAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,sBAAU;AAAA,wBAAC,MAAM,KAAE,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC;AAAA,wBAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,oBAAU;AAAA,sBAAC,MAAM,KAAE,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC;AAAA,sBAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,kBAAU;AAAA,oBAAC,MAAM,KAAE,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC;AAAA,oBAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,gBAAU;AAAA,kBAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,kBAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,cAAU;AAAA,gBAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,gBAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,YAAU;AAAA,cAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,cAAE,cAAa,MAAI,GAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAG,GAAE,KAAK,OAAK,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE;AAAA;AAAA,UAAU;AAAA,0BAAa,OAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE;AAAA,QAAY;AAAA,wBAAa,OAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE;AAAA,MAAY;AAAA,sBAAa,OAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE;AAAA,IAAY;AAAA,oBAAa,OAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE;AAAA;AAAA,EAAQ,UAAU,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,IAAI,IAAE,IAAE;AAAA,IAAE,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAK,IAAI,KAAE,KAAK,QAAO,KAAE,KAAK;AAAA,IAAS,MAAK,MAAG;AAAA,MAAC,IAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,GAAE,OAAM,KAAE,cAAa,KAAG,GAAE,eAAe,IAAE,EAAC,IAAE;AAAA,QAAE,IAAI,KAAE;AAAA,QAAE,IAAG,cAAa,KAAG,KAAE,GAAE,QAAgB,OAAO,MAAjB,WAAmB,KAAE,KAAE,QAAQ,MAAM,oCAAmC,EAAC,GAAE,cAAa;AAAA,UAAE,MAAG,KAAE,GAAE,QAAO,KAAE,GAAE;AAAA,QAAY;AAAA,UAAC,MAAM,KAAE,GAAE,YAAY;AAAA,UAAa,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAAe,MAAG,KAAG,IAAE,KAAE,GAAE,YAAY,OAAO,KAAG,QAAQ,MAAM,sBAAsB,GAAE,YAAY,mBAAmB;AAAA;AAAA,MAAG,EAAM;AAAA,QAAC,IAAG,EAAE,cAAa;AAAA,UAAI,OAAO,QAAQ,MAAM,sCAAqC,EAAC,GAAE;AAAA,QAAK;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAM,IAAG,cAAa,GAAE;AAAA,YAAC,IAAI,KAAE;AAAA,YAAM,WAAU,MAAK,GAAE;AAAA,cAAQ,IAAG,GAAE,SAAO,IAAE;AAAA,gBAAC,MAAG,GAAE,QAAO,KAAE,GAAE,MAAK,KAAE;AAAA,gBAAK;AAAA,cAAK;AAAA,YAAC,IAAG,CAAC;AAAA,cAAE,OAAO,QAAQ,MAAM,wBAAwB,cAAa,GAAE;AAAA,UAAI,EAAM,SAAG,cAAa,GAAE;AAAA,YAAC,MAAM,KAAE,GAAE,YAAY;AAAA,YAAE,IAAa,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAsB,OAAT,UAAqB,OAAT,UAAqB,OAAT,QAAW;AAAA,cAAC,IAAG,GAAE,SAAO,KAAG,GAAE,SAAO,GAAE;AAAA,gBAAC,IAAI,KAAE;AAAA,gBAAI,MAAM,KAAE,CAAC;AAAA,gBAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE,IAAE;AAAA,kBAAC,MAAM,KAAE,GAAE,IAAG,YAAY;AAAA,kBAAE,IAAI,KAAE;AAAA,kBAAE,IAAS,OAAN,OAAe,OAAN;AAAA,oBAAQ,KAAE;AAAA,kBAAO,SAAS,OAAN,OAAe,OAAN;AAAA,oBAAQ,KAAE;AAAA,kBAAO,SAAS,OAAN,OAAe,OAAN;AAAA,oBAAQ,KAAE;AAAA,kBAAO;AAAA,oBAAC,IAAS,OAAN,OAAe,OAAN;AAAA,sBAAQ,OAAO,QAAQ,MAAM,kBAAkB,IAAG,GAAE;AAAA,oBAAK,KAAE;AAAA;AAAA,kBAAG,IAAO,GAAE,WAAN,GAAa;AAAA,oBAAC,IAAG,GAAE,SAAS,GAAG;AAAA,sBAAE,OAAO,KAAK,OAAO,aAAW,KAAE,IAAE,KAAE,KAAG,QAAQ,IAAI,0BAA0B,GAAE,QAAM,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,KAAE,IAAE,IAAE,CAAC,GAAE,GAAE,YAAY,KAAK,GAAE,IAAI;AAAA,oBAAE,IAAG,GAAE,SAAS,GAAG;AAAA,sBAAE,OAAO,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,KAAE,IAAE,IAAE,CAAC,GAAE,GAAE,YAAY,KAAK,GAAE,IAAI;AAAA,oBAAE,IAAG,GAAE,SAAS,GAAG;AAAA,sBAAE,OAAO,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,KAAE,IAAE,IAAE,CAAC,GAAE,GAAE,YAAY,KAAK,GAAE,IAAI;AAAA,oBAAE,IAAG,GAAE,SAAS,GAAG;AAAA,sBAAE,OAAO,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,KAAE,IAAE,IAAE,CAAC,GAAE,GAAE,YAAY,MAAM,GAAE,IAAI;AAAA,oBAAE,IAAG,GAAE,SAAS,GAAG;AAAA,sBAAE,OAAO,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,KAAE,IAAE,IAAE,CAAC,GAAE,GAAE,YAAY,KAAK,GAAE,IAAI;AAAA,kBAAC;AAAA,kBAAC,IAAa,OAAV;AAAA,oBAAY,GAAE,KAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,kBAAO,SAAa,OAAV,SAAY;AAAA,oBAAC,IAAG,KAAE,MAAI,KAAK,OAAO;AAAA,sBAAW,OAAO,QAAQ,IAAI,0BAA0B,GAAE;AAAA,oBAAK,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC;AAAA,oBAAE,GAAE,KAAK,GAAE,GAAE;AAAA,kBAAE,EAAM,SAAa,OAAV;AAAA,oBAAY,GAAE,KAAK,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,kBAAO,SAAa,OAAV;AAAA,oBAAY,KAAE,KAAI,GAAE,KAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,kBAAO,SAAa,OAAV;AAAA,oBAAY,KAAE,KAAI,GAAE,KAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,kBAAO,SAAa,OAAV;AAAA,oBAAY,KAAE,KAAI,GAAE,KAAK,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,kBAAO,SAAa,OAAV,SAAY;AAAA,oBAAC,KAAE;AAAA,oBAAI,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC;AAAA,oBAAE,GAAE,KAAK,GAAE,GAAE;AAAA,kBAAE,EAAM;AAAA,oBAAU,OAAV,WAAa,KAAE,KAAI,GAAE,KAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE,KAAa,OAAV,YAAc,KAAE,KAAI,GAAE,KAAK,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,GAAE;AAAA,gBAAG;AAAA,gBAAC,OAAW,GAAE,WAAN,IAAa,KAAE,GAAE,YAAY,OAAO,IAAG,IAAM,GAAE,WAAN,IAAa,KAAE,GAAE,YAAY,OAAO,IAAG,IAAM,GAAE,WAAN,IAAa,KAAE,GAAE,YAAY,OAAO,IAAG,IAAE,QAAQ,MAAM,uCAAuC,GAAE,QAAQ,GAAE,IAAI,GAAG,IAAE,IAAE,IAAI;AAAA,cAAC;AAAA,cAAC,OAAO,QAAQ,MAAM,gCAAgC,IAAG,GAAE;AAAA,YAAI;AAAA,YAAC,OAAO,QAAQ,MAAM,sBAAsB,oBAAmB,GAAE;AAAA,UAAI;AAAA,QAAC;AAAA;AAAA,MAAE,KAAE,GAAE;AAAA,IAAQ;AAAA,IAAC,MAAM,KAAE,GAAE,YAAY;AAAA,IAAE,OAAe,OAAR,QAAU,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAU,OAAR,QAAU,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,aAAa,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAY,OAAV,UAAY,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,GAAE,IAAE,IAAI,IAAE,cAAa,KAAc,GAAE,SAAb,aAAmC,KAAE,GAAE,YAAZ,QAAiC,OAAZ,YAAc,YAAU,GAAE,UAAxD,QAA8D,IAAI,GAAG,IAAI,YAAY,KAAK,QAAO,IAAE,CAAC,EAAE,IAAG,GAAE,QAAO,IAAI,MAAmB,KAAE,GAAE,YAAZ,QAAiC,OAAZ,YAAc,YAAU,GAAE,UAAxD,QAA8D,IAAI,GAAG,IAAI,WAAW,KAAK,QAAO,IAAE,CAAC,EAAE,IAAG,GAAE,QAAO,IAAI,KAAG,QAAQ,MAAM,wCAA+C,KAAE,GAAE,YAAZ,QAAiC,OAAZ,YAAc,YAAU,GAAE,MAAM,GAAE,QAAM,IAAI,GAAG,KAAK,QAAO,IAAE,IAAE,IAAI;AAAA;AAAA,EAAE,QAAQ,GAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAG,IAAG,KAAK,oBAAoB;AAAA,MAAE,IAAW,KAAK,SAAS,OAAO,SAA7B,OAAkC;AAAA,QAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,UAAE,MAAG,KAAK,GAAE;AAAA,MAAK,EAAM,SAAW,KAAK,SAAS,OAAO,SAA7B,OAAkC;AAAA,QAAC,MAAM,KAAE,IAAI,WAAW,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,UAAE,MAAG,KAAK,GAAE;AAAA,MAAK,EAAM,SAAW,KAAK,SAAS,OAAO,SAA7B,OAAkC;AAAA,QAAC,MAAM,KAAE,IAAI,YAAY,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,UAAE,MAAG,KAAK,GAAE;AAAA,MAAK,EAAM,SAAa,KAAK,SAAS,OAAO,SAA/B,SAAoC;AAAA,QAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE,OAAO,GAAE;AAAA,QAAM,SAAQ,KAAE,EAAE,KAAE,GAAE,SAAO,GAAE,EAAE;AAAA,UAAE,MAAG,MAAM,GAAE,IAAE,QAAO,GAAE,IAAE,KAAE;AAAA,MAAM,EAAM,SAAa,KAAK,SAAS,OAAO,SAA/B,SAAoC;AAAA,QAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE,OAAO,GAAE,OAAO,GAAE;AAAA,QAAM,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,MAAG;AAAA,UAAE,MAAG,MAAM,GAAE,QAAO,GAAE,KAAE,OAAO,GAAE,KAAE;AAAA,MAAM,EAAM,SAAa,KAAK,SAAS,OAAO,SAA/B,SAAoC;AAAA,QAAC,MAAM,KAAE,IAAI,aAAa,KAAK,QAAO,KAAK,MAAM;AAAA,QAAE,KAAE,IAAI,GAAE,OAAO,GAAE,OAAO,GAAE,OAAO,GAAE;AAAA,QAAM,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,MAAG;AAAA,UAAE,MAAG,MAAM,GAAE,QAAO,GAAE,KAAE,OAAO,GAAE,KAAE,OAAO,GAAE,KAAE;AAAA,MAAM,EAAM;AAAA,aAAE;AAAA,IAAa;AAAA,WAAK,oBAAoB,IAAE,MAAG,UAAQ,KAAE;AAAA,IAAQ,OAAO;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,IAAE,IAAI,GAAE,KAAK,OAAK,IAAE,KAAK,aAAW,IAAE,KAAK,OAAK;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,OAAO,IAAI,GAAG,KAAK,MAAK,KAAK,UAAS,KAAK,YAAW,KAAK,IAAI;AAAA;AAAA,MAAM,KAAK,GAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,MAAM,KAAE,KAAK,WAAW;AAAA,IAAK,OAAO,cAAa,SAAO,GAAE,SAAO,KAAU,KAAE,GAAE,QAAZ,QAA6B,OAAZ,YAAc,KAAE,IAAE,cAAa,WAAgB,KAAE,GAAE,WAAZ,QAAgC,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAM,MAAM,GAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,MAAM,KAAE,KAAK,WAAW;AAAA,IAAK,OAAO,cAAa,SAAO,GAAE,SAAO,KAAU,KAAE,GAAE,QAAZ,QAA6B,OAAZ,YAAc,KAAE,IAAE,cAAa,WAAgB,KAAE,GAAE,YAAZ,QAAiC,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAM,kBAAkB,GAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,MAAM,KAAE,KAAK,WAAW;AAAA,IAAK,OAAO,cAAa,SAAO,GAAE,SAAO,KAAU,KAAE,GAAE,QAAZ,QAA6B,OAAZ,YAAc,KAAE,IAAE,cAAa,WAAgB,KAAE,GAAE,wBAAZ,QAA6C,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAM,MAAM,GAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,eAAoB,KAAE,KAAK,WAAW,YAA1B,QAA+C,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAiB,WAAW,GAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,eAAoB,KAAE,KAAK,WAAW,iBAA1B,QAAoD,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAM,aAAa,GAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,eAAoB,KAAE,KAAK,WAAW,mBAA1B,QAAsD,OAAZ,YAAc,KAAE;AAAA;AAAA,MAAM,SAAS,GAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,eAAoB,KAAE,KAAK,WAAW,eAA1B,QAAkD,OAAZ,YAAc,KAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE;AAAA,IAAC,IAAG,MAAG,KAAK;AAAA,MAAc,OAAO,CAAC,GAAE,GAAE,CAAC;AAAA,IAAE,MAAM,KAAE,CAAC,KAAK,OAAM,KAAK,QAAO,KAAK,kBAAkB;AAAA,IAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,MAAE,GAAE,MAAG,KAAK,IAAI,GAAE,GAAE,OAAI,EAAC;AAAA,IAAE,OAAO;AAAA;AAAA,MAAM,aAAa,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,QAAO,KAAE,EAAE;AAAA,IAAG,OAAO,KAAE,GAAE,iBAAe,IAAE,GAAE,gBAAc;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK,QAAM,KAAK;AAAA;AAAA,MAAkB,cAAc,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,QAAO,KAAE,EAAE;AAAA,IAAG,OAAO,CAAC,CAAC,MAAG,GAAE;AAAA;AAAA,EAAe,UAAU,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,QAAO,KAAE,EAAE,KAAG,KAAE,KAAK;AAAA,IAAM,IAAG,CAAC,MAAG,MAAG,KAAG,CAAC;AAAA,MAAE,OAAQ;AAAA,IAAG,MAAM,KAAE,KAAK,QAAO,KAAE,KAAK,oBAAmB,KAAE,KAAK;AAAA,IAAU,OAAO,KAAE,GAAE,cAAmB,OAAP,OAAS,IAAE,KAAE,GAAE,eAAa,GAAE,gBAAc;AAAA;AAAA,EAAE,QAAQ,CAAC,IAAE,IAAE,KAAE,GAAE,KAAE,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAc,KAAE,KAAK,aAAY,KAAE,KAAK,QAAO,KAAE,KAAK,KAAK;AAAA,IAAG,OAAO,EAAE,IAAI,WAAW,EAAC,GAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,KAAK,MAAM;AAAA;AAAA,EAAE,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAc,KAAE,KAAK,aAAY,KAAE,KAAK,QAAO,KAAE,KAAK,KAAK;AAAA,KAAI,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,MAAC,MAAM,KAAE,MAAG,OAAI,OAAI,OAAI,MAAG,KAAE,KAAE,KAAE;AAAA,MAAE,QAAO;AAAA,aAAQ;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAS,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,UAAS,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,aAAuB;AAAA,aAAkB;AAAA,aAAuB;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAY,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,UAAY,OAAO,KAAK,EAAE,IAAE,IAAE,SAAQ,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAY,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAc,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAU,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,aAAoB;AAAA,aAAmB;AAAA,aAA4B;AAAA,aAAoB;AAAA,aAA6B;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAW,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAY,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAa,OAAO,KAAK,EAAE,IAAE,IAAE,UAAS,GAAE,EAAC;AAAA,aAAO;AAAA,UAAc,OAAO,KAAK,EAAE,IAAE,IAAE,WAAU,GAAE,EAAC;AAAA,aAAO;AAAA,UAAgB,QAAQ,MAAM,+CAA+C;AAAA;AAAA,OAAK,IAAI,WAAW,EAAC,GAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,KAAK,QAAO,EAAC;AAAA;AAAG;AAAA,CAAE,QAAG;AAAA,EAAC,GAAE,GAAE,QAAM,KAAG,SAAQ,GAAE,GAAE,UAAQ,KAAG,WAAU,GAAE,GAAE,WAAS,KAAG;AAAA,GAAc,MAAI,IAAE,CAAC,EAAE;AAAA;AAAE,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAA,EAAG,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAK;AAAA;AAAC,MAAM,GAAE;AAAC;AAAC,IAAE,IAAG,GAAG,OAAK,IAAI,GAAG,IAAG,EAAE,UAAS,EAAE,GAAE,GAAG,MAAI,IAAI,GAAG,OAAM,EAAE,OAAM,EAAE,GAAE,GAAG,WAAS,EAAC,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,UAAS,MAAM,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,UAAS,IAAI,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,UAAS,MAAM,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,UAAS,QAAQ,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,UAAS,IAAI,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,UAAS,UAAU,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,UAAS,YAAY,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,UAAS,SAAS,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,UAAS,IAAI,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,UAAS,QAAQ,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,UAAS,OAAO,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,UAAS,KAAK,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,UAAS,MAAM,EAAC,GAAE,GAAG,WAAS,EAAC,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,kBAAiB,IAAI,GAAG,oBAAmB,EAAE,SAAQ,kBAAkB,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,SAAQ,cAAc,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,yBAAwB,IAAI,GAAG,2BAA0B,EAAE,SAAQ,yBAAyB,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,0BAAyB,IAAI,GAAG,4BAA2B,EAAE,SAAQ,0BAA0B,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,kBAAiB,IAAI,GAAG,oBAAmB,EAAE,SAAQ,kBAAkB,GAAE,wBAAuB,IAAI,GAAG,0BAAyB,EAAE,SAAQ,wBAAwB,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,SAAQ,oBAAoB,GAAE,0BAAyB,IAAI,GAAG,4BAA2B,EAAE,SAAQ,0BAA0B,GAAE,+BAA8B,IAAI,GAAG,iCAAgC,EAAE,SAAQ,+BAA+B,GAAE,kBAAiB,IAAI,GAAG,oBAAmB,EAAE,SAAQ,kBAAkB,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,SAAQ,aAAa,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,SAAQ,IAAI,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,SAAQ,IAAI,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,SAAQ,MAAM,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,SAAQ,KAAK,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,SAAQ,WAAW,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,SAAQ,OAAO,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,SAAQ,QAAQ,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,SAAQ,SAAS,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,SAAQ,WAAW,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,iBAAgB,IAAI,GAAG,mBAAkB,EAAE,SAAQ,iBAAiB,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,SAAQ,WAAW,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,SAAQ,WAAW,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,iBAAgB,IAAI,GAAG,mBAAkB,EAAE,SAAQ,iBAAiB,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,SAAQ,cAAc,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,SAAQ,cAAc,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,SAAQ,UAAU,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,SAAQ,WAAW,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,SAAQ,aAAa,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,SAAQ,YAAY,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,SAAQ,aAAa,GAAE,eAAc,IAAI,GAAG,iBAAgB,EAAE,SAAQ,eAAe,EAAC,GAAE,GAAG,SAAO,EAAC,uBAAsB,IAAI,GAAG,yBAAwB,EAAE,OAAM,kHAAkH,GAAE,mBAAkB,IAAI,GAAG,qBAAoB,EAAE,OAAM,iIAAiI,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,sCAAsC,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,OAAM,iCAAiC,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,OAAM,0DAA0D,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,wBAAwB,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,OAAM,GAAG,GAAE,SAAQ,IAAI,GAAG,WAAU,EAAE,OAAM,IAAI,GAAE,OAAM,IAAI,GAAG,UAAS,EAAE,OAAM,IAAI,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,OAAM,GAAG,GAAE,eAAc,IAAI,GAAG,iBAAgB,EAAE,OAAM,GAAG,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,OAAM,GAAG,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,OAAM,GAAG,GAAE,eAAc,IAAI,GAAG,iBAAgB,EAAE,OAAM,GAAG,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,OAAM,GAAG,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,GAAG,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,IAAI,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,IAAI,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,OAAM,GAAG,GAAE,oBAAmB,IAAI,GAAG,sBAAqB,EAAE,OAAM,IAAI,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,IAAI,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,GAAG,GAAE,iBAAgB,IAAI,GAAG,mBAAkB,EAAE,OAAM,IAAI,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,OAAM,IAAI,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,GAAG,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,IAAI,GAAE,QAAO,IAAI,GAAG,UAAS,EAAE,OAAM,GAAG,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,OAAM,GAAG,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,IAAI,GAAE,IAAG,IAAI,GAAG,MAAK,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,IAAI,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,OAAM,GAAG,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,GAAG,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,GAAG,GAAE,MAAK,IAAI,GAAG,QAAO,EAAE,OAAM,GAAG,GAAE,OAAM,IAAI,GAAG,SAAQ,EAAE,OAAM,GAAG,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,OAAM,GAAG,GAAE,KAAI,IAAI,GAAG,OAAM,EAAE,OAAM,GAAG,GAAE,YAAW,IAAI,GAAG,cAAa,EAAE,OAAM,IAAI,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,IAAI,GAAE,aAAY,IAAI,GAAG,eAAc,EAAE,OAAM,IAAI,GAAE,gBAAe,IAAI,GAAG,kBAAiB,EAAE,OAAM,IAAI,GAAE,cAAa,IAAI,GAAG,gBAAe,EAAE,OAAM,IAAI,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,IAAI,GAAE,UAAS,IAAI,GAAG,YAAW,EAAE,OAAM,IAAI,GAAE,WAAU,IAAI,GAAG,aAAY,EAAE,OAAM,IAAI,GAAE,mBAAkB,IAAI,GAAG,qBAAoB,EAAE,OAAM,KAAK,GAAE,kBAAiB,IAAI,GAAG,oBAAmB,EAAE,OAAM,KAAK,EAAC,GAAE,GAAG,eAAa,EAAC,KAAI,EAAE,OAAO,MAAK,KAAI,EAAE,OAAO,YAAW,KAAI,EAAE,OAAO,aAAY,KAAI,EAAE,OAAO,OAAM,KAAI,EAAE,OAAO,OAAM,KAAI,EAAE,OAAO,YAAW,KAAI,EAAE,OAAO,aAAY,KAAI,EAAE,OAAO,UAAS,GAAE,GAAG,gBAAc,EAAC,KAAI,EAAE,OAAO,KAAI,MAAK,EAAE,OAAO,SAAQ,MAAK,EAAE,OAAO,OAAM,KAAI,EAAE,OAAO,eAAc,KAAI,EAAE,OAAO,MAAK,KAAI,EAAE,OAAO,cAAa,KAAI,EAAE,OAAO,eAAc,KAAI,EAAE,OAAO,OAAM,MAAK,EAAE,OAAO,aAAY,MAAK,EAAE,OAAO,WAAU,KAAI,EAAE,OAAO,cAAa,MAAK,EAAE,OAAO,oBAAmB,MAAK,EAAE,OAAO,aAAY,KAAI,EAAE,OAAO,WAAU,MAAK,EAAE,OAAO,iBAAgB,MAAK,EAAE,OAAO,YAAW,KAAI,EAAE,OAAO,QAAO,KAAI,EAAE,OAAO,OAAM,MAAK,EAAE,OAAO,aAAY,KAAI,EAAE,OAAO,QAAO,KAAI,EAAE,OAAO,MAAK,MAAK,EAAE,OAAO,WAAU,KAAI,EAAE,OAAO,IAAG,MAAK,EAAE,OAAO,OAAM,KAAI,EAAE,OAAO,MAAK,KAAI,EAAE,OAAO,OAAM,GAAE,EAAE,OAAO,YAAW,KAAI,EAAE,OAAO,KAAI,MAAK,EAAE,OAAO,YAAW,MAAK,EAAE,OAAO,aAAY,MAAK,EAAE,OAAO,aAAY,MAAK,EAAE,OAAO,gBAAe,MAAK,EAAE,OAAO,cAAa,MAAK,EAAE,OAAO,WAAU,MAAK,EAAE,OAAO,UAAS,MAAK,EAAE,OAAO,WAAU,OAAM,EAAE,OAAO,mBAAkB,OAAM,EAAE,OAAO,iBAAgB,GAAE,GAAG,cAAY,EAAC,uBAAsB,EAAE,OAAO,uBAAsB,mBAAkB,EAAE,OAAO,mBAAkB,aAAY,EAAE,OAAO,aAAY,cAAa,EAAE,OAAO,cAAa,OAAM,EAAE,OAAO,MAAK,GAAE,GAAG,gBAAc,CAAC,EAAE,SAAS,UAAS,EAAE,SAAS,SAAQ,EAAE,SAAS,WAAU,EAAE,SAAS,SAAQ,EAAE,SAAS,OAAO,GAAE,GAAG,cAAY,CAAC,EAAE,SAAS,MAAK,EAAE,SAAS,OAAM,EAAE,SAAS,UAAU,GAAE,GAAG,eAAa,CAAC,EAAE,SAAS,SAAQ,EAAE,SAAS,kBAAkB,GAAE,GAAG,uBAAqB,CAAC,EAAE,SAAS,YAAW,EAAE,SAAS,YAAW,EAAE,SAAS,kBAAiB,EAAE,SAAS,YAAW,EAAE,SAAS,cAAa,EAAE,SAAS,kBAAkB,GAAE,GAAG,4BAA0B,CAAC,EAAE,SAAS,uBAAuB,GAAE,GAAG,uBAAqB,CAAC,EAAE,SAAS,oBAAmB,EAAE,SAAS,oBAAmB,EAAE,SAAS,0BAAyB,EAAE,SAAS,kBAAkB,GAAE,GAAG,qBAAmB,CAAC,EAAE,SAAS,kBAAiB,EAAE,SAAS,wBAAuB,EAAE,SAAS,oBAAmB,EAAE,SAAS,0BAAyB,EAAE,SAAS,6BAA6B,GAAE,GAAG,wBAAsB,CAAC,EAAE,SAAS,gBAAgB,GAAE,GAAG,mBAAiB,CAAC,GAAG,EAAE,sBAAqB,GAAG,EAAE,2BAA0B,GAAG,EAAE,sBAAqB,GAAG,EAAE,oBAAmB,GAAG,EAAE,qBAAqB,GAAE,GAAG,eAAa,CAAC,EAAE,SAAS,SAAQ,EAAE,SAAS,SAAQ,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,SAAQ,EAAE,SAAS,SAAQ,EAAE,SAAS,UAAS,EAAE,SAAS,UAAS,EAAE,SAAS,UAAS,EAAE,SAAS,SAAQ,EAAE,SAAS,SAAQ,EAAE,SAAS,SAAQ,EAAE,SAAS,SAAQ,EAAE,SAAS,UAAS,EAAE,SAAS,UAAS,EAAE,SAAS,UAAS,EAAE,SAAS,WAAU,EAAE,SAAS,YAAW,EAAE,SAAS,iBAAgB,EAAE,SAAS,YAAW,EAAE,SAAS,WAAU,EAAE,SAAS,WAAU,EAAE,SAAS,YAAW,EAAE,SAAS,iBAAgB,EAAE,SAAS,cAAa,EAAE,SAAS,cAAa,EAAE,SAAS,UAAS,EAAE,SAAS,UAAS,EAAE,SAAS,WAAU,EAAE,SAAS,YAAW,EAAE,SAAS,YAAW,EAAE,SAAS,aAAY,EAAE,SAAS,YAAW,EAAE,SAAS,YAAW,EAAE,SAAS,WAAW,GAAE,GAAG,gBAAc,CAAC,EAAE,OAAO,aAAY,EAAE,OAAO,cAAa,EAAE,OAAO,uBAAsB,EAAE,OAAO,mBAAkB,EAAE,SAAS,MAAK,EAAE,SAAS,KAAK,GAAE,GAAG,mBAAiB,CAAC,EAAE,OAAO,OAAM,EAAE,OAAO,aAAY,EAAE,OAAO,cAAa,EAAE,OAAO,uBAAsB,EAAE,OAAO,mBAAkB,EAAE,OAAO,IAAI,GAAE,GAAG,2BAAyB,CAAC,EAAE,OAAO,aAAY,EAAE,OAAO,cAAa,EAAE,OAAO,KAAK,GAAE,GAAG,iBAAe,CAAC,EAAE,SAAS,MAAK,EAAE,SAAS,MAAK,EAAE,SAAS,MAAK,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,QAAO,EAAE,SAAS,SAAQ,GAAG,EAAE,gBAAgB,GAAE,GAAG,iBAAe,CAAC,EAAE,OAAO,OAAM,EAAE,SAAS,OAAM,EAAE,SAAS,UAAU,GAAE,GAAG,uBAAqB,CAAC,EAAE,OAAO,OAAM,EAAE,OAAO,YAAW,EAAE,OAAO,aAAY,EAAE,OAAO,aAAY,EAAE,OAAO,gBAAe,EAAE,OAAO,cAAa,EAAE,OAAO,WAAU,EAAE,OAAO,UAAS,EAAE,OAAO,WAAU,EAAE,OAAO,mBAAkB,EAAE,OAAO,gBAAgB,GAAE,GAAG,sBAAoB,CAAC,EAAE,OAAO,WAAU,EAAE,OAAO,WAAW;AAAA;AAAE,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,SAAO,IAAE,KAAK,OAAK,IAAE,KAAK,QAAM,IAAE,KAAK,MAAI;AAAA;AAAA,EAAG,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAA,EAAO,cAAc,GAAE;AAAA,IAAC,OAAY,GAAG,eAAe,QAAQ,KAAK,IAAI,KAAvC;AAAA;AAAA,EAAyC,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK,QAAM,GAAG,SAAS;AAAA;AAAA,EAAM,qBAAqB,GAAE;AAAA,IAAC,OAAO,KAAK,YAAY,KAAG,KAAK,eAAe;AAAA;AAAE;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,KAAK,UAAQ,CAAC,GAAE,KAAK,SAAO,GAAE,KAAK,WAAS,GAAE,KAAK,QAAM,GAAE,KAAK,UAAc,MAAN,OAAQ,KAAE;AAAA;AAAA,EAAI,UAAU,GAAE;AAAA,IAAC,MAAK,CAAC,KAAK,SAAS;AAAA,MAAG,IAAG,KAAK,SAAO,KAAK,UAAS,CAAC,KAAK,UAAU;AAAA,QAAE,MAAM,0BAA0B,KAAK;AAAA,IAAQ,OAAO,KAAK,QAAQ,KAAK,IAAI,GAAG,GAAG,KAAI,IAAG,KAAK,OAAM,KAAK,UAAS,KAAK,QAAQ,CAAC,GAAE,KAAK;AAAA;AAAA,EAAQ,SAAS,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,SAAS;AAAA,IAAE,IAAS,MAAN;AAAA;AAAA,MAAQ,OAAO,KAAK,SAAQ;AAAA,IAAK,IAAG,KAAK,cAAc,EAAC;AAAA,MAAE,OAAQ;AAAA,IAAK,IAAQ,MAAL,KAAO;AAAA,MAAC,IAAQ,KAAK,WAAW,KAArB,KAAuB;AAAA,QAAC,MAAW,MAAN;AAAA,KAAS;AAAA,UAAC,IAAG,KAAK,SAAS;AAAA,YAAE,OAAQ;AAAA,UAAK,KAAE,KAAK,SAAS;AAAA,QAAE;AAAA,QAAC,OAAO,KAAK,SAAQ;AAAA,MAAI;AAAA,MAAC,IAAQ,KAAK,WAAW,KAArB,KAAuB;AAAA,QAAC,KAAK,SAAS;AAAA,QAAE,IAAI,KAAE;AAAA,QAAE,MAAK,KAAE,KAAG;AAAA,UAAC,IAAG,KAAK,SAAS;AAAA,YAAE,OAAQ;AAAA,UAAK,IAAG,KAAE,KAAK,SAAS,GAAQ,MAAN;AAAA;AAAA,YAAQ,KAAK;AAAA,UAAa,SAAQ,MAAL,KAAO;AAAA,YAAC,IAAQ,KAAK,WAAW,KAArB,QAAyB,KAAK,SAAS,GAAE,MAAO,MAAH;AAAA,cAAM,OAAQ;AAAA,UAAI,EAAM;AAAA,YAAK,MAAL,OAAa,KAAK,WAAW,KAArB,QAAyB,KAAK,SAAS,GAAE;AAAA,QAAK;AAAA,QAAC,OAAQ;AAAA,MAAI;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,GAAG,aAAa;AAAA,IAAG,IAAG;AAAA,MAAE,OAAO,KAAK,UAAU,EAAC,GAAE;AAAA,IAAK,IAAI,KAAE,GAAG;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS,EAAC,GAAE,KAAQ,OAAN;AAAA,IAAQ,IAAG,KAAK,gBAAgB,EAAC,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,WAAW;AAAA,MAAE,MAAK,KAAK,gBAAgB,EAAC;AAAA,QAAG,MAAG,KAAK,SAAS,GAAE,KAAE,KAAK,WAAW;AAAA,IAAE;AAAA,IAAC,IAAG,IAAE;AAAA,MAAC,MAAM,KAAE,GAAG,SAAS;AAAA,MAAG,IAAG;AAAA,QAAE,OAAO,KAAK,UAAU,EAAC,GAAE;AAAA,IAAI;AAAA,IAAC,IAAG,MAAG;AAAA,MAAE,OAAO,KAAK,UAAU,GAAG,OAAO,KAAK,GAAE;AAAA,IAAK,UAAO;AAAA,MAAC,IAAI,KAAE,KAAK,UAAU,EAAC;AAAA,MAAE,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,IAAQ,MAAL,OAAQ,KAAK,QAAQ,SAAO,GAAE;AAAA,QAAC,IAAQ,MAAL;AAAA,UAAO,OAAO,KAAK,YAAW,MAAG,IAAE,KAAK,UAAU,GAAG,OAAO,WAAW,GAAE;AAAA,QAAK,IAAQ,MAAL;AAAA,UAAO,OAAO,KAAK,YAAW,MAAG,IAAE,KAAK,UAAU,GAAG,OAAO,WAAW,GAAE;AAAA,QAAK,MAAM,KAAE,KAAK,QAAQ,SAAO;AAAA,QAAE,KAAQ,GAAG,iBAAiB,QAAQ,KAAK,QAAQ,IAAG,IAAI,KAApD,MAAuD,KAAK,QAAQ,IAAG,QAAM,GAAG,OAAO,gBAAmB,MAAL;AAAA,UAAO,OAAO,KAAK,UAAU,EAAC,GAAE;AAAA,MAAI;AAAA,MAAC,IAAQ,MAAL,QAAc,MAAL,OAAa,MAAL,MAAQ;AAAA,QAAC,IAAI,KAAE,OAAM,KAAE,KAAK,QAAQ,SAAO;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,KAAG,MAAG,KAAQ,GAAG,qBAAqB,QAAQ,KAAK,QAAQ,IAAG,IAAI,MAAzD,IAA2D,EAAE,IAAE,EAAE;AAAA,UAAE,IAAG,KAAK,QAAQ,IAAG,SAAO,GAAG,OAAO,WAAU;AAAA,YAAC,KAAE,KAAG,KAAK,QAAQ,KAAE,GAAG,sBAAsB,MAAI,KAAE;AAAA,YAAM;AAAA,UAAK;AAAA,QAAC,IAAG;AAAA,UAAE,OAAO,KAAK,UAAU,EAAC,GAAE;AAAA,MAAI;AAAA,MAAC,IAAG,OAAI,GAAG,MAAK;AAAA,QAAC,IAAI,KAAE,IAAE,KAAE;AAAA,QAAE,MAAM,KAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,UAAE,IAAG,MAAG,KAAK,WAAW,EAAC,GAAE,KAAE,KAAK,UAAU,EAAC,GAAE,OAAI,GAAG,MAAK;AAAA,YAAC,KAAE;AAAA,YAAE;AAAA,UAAK;AAAA,QAAC,IAAG,OAAI,GAAG;AAAA,UAAK,OAAO,OAAI,GAAG,SAAO,KAAK,YAAW,KAAK,UAAU,EAAC,GAAE;AAAA,QAAM,KAAE,IAAE,KAAK,YAAU,KAAE;AAAA,MAAE;AAAA,MAAC,IAAG,KAAE,IAAE,KAAK,SAAS;AAAA,QAAE;AAAA,MAAM,MAAG,KAAK,SAAS;AAAA,IAAE;AAAA,IAAC,OAAO,OAAI,GAAG,SAAO,KAAK,UAAU,EAAC,GAAE;AAAA;AAAA,EAAM,SAAS,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,GAAG,aAAY;AAAA,MAAC,MAAM,KAAE,GAAG,YAAY;AAAA,MAAG,IAAG,KAAK,OAAO,IAAE,GAAE,IAAI;AAAA,QAAE,OAAO;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,GAAG,cAAc;AAAA,IAAG,OAAO,MAAG,GAAG;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK,EAAC;AAAA,IAAE,OAAO,MAAM,GAAE,SAAL,KAAY,GAAE,MAAI;AAAA;AAAA,EAAE,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,YAAU,KAAK,QAAQ;AAAA;AAAA,EAAO,QAAQ,CAAC,IAAE;AAAA,IAAC,OAAO,CAAC,KAAK,WAAW,EAAC,KAAG,CAAC,KAAK,cAAc,EAAC,KAAS,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAe,OAAN,OAAgB,OAAP,OAAgB,OAAN,OAAe,OAAN,OAAgB,OAAP,QAAiB,OAAP;AAAA,KAAiB,OAAP,QAAiB,OAAP,QAAiB,OAAP;AAAA;AAAA,EAAS,UAAU,CAAC,IAAE;AAAA,IAAC,OAAO,MAAG,OAAK,MAAG;AAAA;AAAA,EAAI,eAAe,CAAC,IAAE;AAAA,IAAC,OAAO,KAAK,SAAS,EAAC,KAAG,KAAK,WAAW,EAAC,KAAS,OAAN;AAAA;AAAA,EAAQ,aAAa,CAAC,IAAE;AAAA,IAAC,OAAY,MAAL,OAAc,MAAN,QAAe,MAAN;AAAA;AAAA,EAAQ,QAAQ,CAAC,KAAE,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,QAAQ,KAAK;AAAA,IAAU,OAAO,KAAE,MAAG,GAAE,MAAI,KAAK,YAAU,IAAE;AAAA;AAAA,EAAE,UAAU,CAAC,KAAE,GAAE;AAAA,IAAC,OAAO,KAAE,MAAG,GAAE,KAAK,WAAS,MAAG,KAAK,QAAQ,SAAO,SAAK,KAAK,QAAQ,KAAK,WAAS;AAAA;AAAA,EAAG,SAAS,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,QAAQ,UAAU,KAAK,QAAO,KAAK,QAAQ;AAAA,IAAE,KAAK,QAAQ,KAAK,IAAI,GAAG,IAAE,IAAE,KAAK,OAAM,KAAK,QAAO,KAAK,QAAQ,CAAC;AAAA;AAAG;AAAC,SAAS,EAAE,CAAC,IAAE;AAAA,EAAC,OAAO,MAAM,QAAQ,EAAC,MAAU,MAAN,OAAQ,YAAU,GAAE,mBAAkB;AAAA;AAAY,IAAM,KAAG,IAAI,aAAa,CAAC;AAA3B,IAA6B,KAAG,IAAI,YAAY,GAAG,MAAM;AAAzD,IAA2D,KAAG,IAAI,YAAY,GAAG,MAAM;AAAvF,IAAyF,KAAG,IAAI,WAAW,CAAC;AAA5G,IAA8G,KAAG,IAAI,aAAa,GAAG,MAAM;AAA3I,IAA6I,KAAG,IAAI,YAAY,GAAG,MAAM;AAAzK,IAA2K,KAAG,IAAI,YAAY,CAAC;AAA/L,IAAiM,KAAG,IAAI,aAAa,GAAG,MAAM;AAA9N,IAAgO,KAAG,IAAI,WAAW,GAAG,MAAM;AAAE,SAAS,EAAE,CAAC,IAAE,IAAE,IAAE;AAAA,EAAC,IAAG,OAAI;AAAA,IAAE,OAAO;AAAA,EAAE,IAAW,OAAR,OAAU;AAAA,IAAC,IAAW,OAAR,SAAmB,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,IAAG,IAAW,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,EAAE,EAAM,SAAW,OAAR,SAAmB,OAAR,OAAU;AAAA,IAAC,IAAW,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,IAAG,IAAW,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,EAAE,EAAM,SAAW,OAAR,OAAU;AAAA,IAAC,IAAW,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,IAAG,IAAW,OAAR,SAAmB,OAAR;AAAA,MAAU,OAAO,GAAG,KAAG,IAAE,GAAG;AAAA,EAAE;AAAA,EAAC,OAAO,QAAQ,MAAM,yBAAyB,SAAQ,IAAG,GAAE;AAAA;AAAA;AAAE,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,KAAK,YAAU,MAAK,KAAK,QAAM,OAAM,KAAK,OAAK,MAAK,KAAK,OAAK;AAAA;AAAG;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,KAAK,QAAM,IAAE,KAAK,OAAK;AAAA;AAAG;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,KAAK,WAAS,CAAC,GAAE,KAAK,UAAQ,CAAC,GAAE,KAAK,WAAS,CAAC,GAAE,KAAK,WAAS,CAAC,GAAE,KAAK,UAAQ,CAAC,GAAE,KAAK,YAAU,CAAC,GAAE,KAAK,UAAQ,CAAC,GAAE,KAAK,QAAM,IAAI,GAAE,KAAK,YAAU,CAAC,GAAE,KAAK,SAAO,IAAI,KAAI,KAAK,aAAW,IAAI;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE;AAAA,IAAC,OAA6B,GAAE,QAAxB,wBAAoD,GAAE,QAAxB,wBAA0D,GAAE,QAA9B,8BAA0D,GAAE,QAAxB;AAAA;AAAA,EAA6B,SAAS,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK;AAAA,MAAE,cAAa,KAAG,KAAK,WAAW,IAAI,GAAE,MAAK,IAAI,GAAG,EAAC,CAAC;AAAA,IAAE,WAAU,MAAK;AAAA,MAAE,IAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,KAAK,YAAY,IAAE,IAAI;AAAA,QAAE,cAAa,KAAG,KAAK,QAAQ,KAAK,EAAC;AAAA,MAAE;AAAA,IAAC,WAAU,MAAK;AAAA,MAAE,IAAG,cAAa;AAAA,QAAG,KAAK,QAAQ,KAAK,KAAK,cAAc,EAAC,CAAC;AAAA,MAAO,SAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,MAAK,CAAC,GAAE,KAAQ,GAAE,QAAR,OAAa,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,IAAE;AAAA,QAAK,KAAK,UAAU,KAAK,IAAI,EAAE,GAAE,MAAK,IAAE,GAAE,YAAW,EAAC,CAAC;AAAA,MAAE,EAAM,SAAG,KAAK,cAAc,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,SAAQ,CAAC,GAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,WAAU,CAAC,GAAE,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,IAAE,GAAE,YAAW,EAAE,SAAQ,GAAE,MAAM;AAAA,QAAE,GAAE,WAAS,GAAE,SAAO,SAAQ,KAAK,SAAS,KAAK,EAAC;AAAA,MAAE,EAAM,SAAG,KAAK,cAAc,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,SAAQ,CAAC,GAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,WAAU,CAAC,GAAE,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,KAAE,KAAK,kBAAkB,EAAC,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,IAAE,GAAE,YAAW,KAAE,EAAE,iBAAe,EAAE,SAAQ,GAAE,MAAM;AAAA,QAAE,GAAE,WAAS,GAAE,SAAO,SAAQ,KAAK,QAAQ,KAAK,EAAC;AAAA,MAAE,EAAM,SAAG,KAAK,cAAc,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,SAAQ,CAAC,GAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,WAAU,CAAC,GAAE,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,KAAE,KAAK,kBAAkB,EAAC,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,IAAE,GAAE,YAAW,KAAE,EAAE,iBAAe,EAAE,SAAQ,GAAE,MAAM;AAAA,QAAE,GAAE,WAAS,GAAE,SAAO,SAAQ,KAAE,KAAK,QAAQ,KAAK,EAAC,IAAE,KAAK,SAAS,KAAK,EAAC;AAAA,MAAE,EAAM,SAAG,KAAK,cAAc,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,SAAQ,CAAC,GAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,WAAU,CAAC,GAAE,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,IAAE,GAAE,YAAW,EAAE,SAAQ,GAAE,MAAM;AAAA,QAAE,KAAK,SAAS,KAAK,EAAC;AAAA,MAAE;AAAA;AAAA,IAAM,WAAU,MAAK;AAAA,MAAE,IAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,cAAc,IAAE,QAAQ,GAAE,KAAE,KAAK,cAAc,IAAE,UAAU,GAAE,KAAE,KAAK,cAAc,IAAE,SAAS,GAAE,KAAE,MAAG,MAAG,IAAE,KAAE,IAAI,EAAE,GAAE,MAAW,MAAN,OAAQ,YAAU,GAAE,MAAK,GAAE,UAAU;AAAA,QAAE,GAAE,aAAW,GAAE,YAAW,GAAE,YAAU,GAAE,WAAU,GAAE,UAAQ,GAAE,SAAQ,KAAK,UAAU,KAAK,EAAC,GAAE,KAAK,WAAW,IAAI,GAAE,IAAI,EAAE,OAAK,IAAE,OAAI,KAAK,WAAW,IAAI,GAAE,IAAI,EAAE,QAAM,MAAK,GAAE,QAAM,MAAK,GAAE,YAAU,KAAK,eAAe,IAAE,CAAC,CAAC,EAAC,GAAE,GAAE,SAAO,KAAK,WAAW,GAAE,IAAI,GAAE,GAAE,UAAQ,KAAK,YAAY,GAAE,UAAU,GAAE,KAAK,MAAM,GAAE,MAAM,KAAK,EAAC,IAAG,GAAE,YAAU,GAAE,KAAK,IAAK,QAAG,IAAI,EAAE,GAAE,MAAK,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,GAAE,UAAU,CAAE,GAAE,GAAE,aAAW,GAAE,aAAW,KAAK,YAAY,GAAE,YAAW,GAAE,UAAU,IAAE;AAAA,MAAK;AAAA,IAAC,WAAU,MAAK,KAAK,WAAW,OAAO;AAAA,MAAE,GAAE,SAAO,GAAE,KAAK,QAAM,GAAE,OAAM,KAAK,UAAU,GAAE,MAAK,GAAE,KAAK,KAAK;AAAA,IAAG,WAAU,MAAK,KAAK,WAAW,OAAO;AAAA,MAAE,GAAE,KAAK,OAAQ,QAAG;AAAA,QAAC,IAAI,IAAE,IAAE;AAAA,QAAE,IAAG,cAAa,IAAG;AAAA,UAAC,IAAG,GAAE;AAAA,YAAM,IAAG,GAAG,GAAE,KAAK;AAAA,cAAE,WAAU,MAAK,GAAE;AAAA,gBAAM,WAAU,MAAK,KAAK;AAAA,kBAAU,OAAI,GAAE,UAAe,KAAE,GAAE,UAAZ,QAA+B,OAAZ,aAAe,GAAE,UAAU,KAAK,EAAC;AAAA,YAAQ;AAAA,yBAAU,MAAK,KAAK;AAAA,gBAAU,GAAE,UAAQ,GAAE,UAAe,KAAE,GAAE,UAAZ,QAA+B,OAAZ,aAAe,GAAE,UAAU,KAAK,EAAC;AAAA,QAAG,EAAM,SAAG,cAAa;AAAA,UAAG,WAAU,MAAK,KAAK;AAAA,YAAU,GAAE,SAAO,GAAE,UAAe,KAAE,GAAE,UAAZ,QAA+B,OAAZ,aAAe,GAAE,UAAU,KAAK,EAAC;AAAA,OAAK;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAS,KAAK,kBAAkB,GAAE,IAAI;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAQ,KAAK,kBAAkB,GAAE,IAAI;AAAA;AAAA,EAAG,aAAa,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,OAAO;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAU,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,OAAO;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE;AAAA,IAAC,IAAG;AAAA,MAAE,IAAG,GAAE,UAAS;AAAA,QAAC,IAAG,GAAE,QAAM,MAAK,GAAE;AAAA,UAAQ,WAAU,MAAK,GAAE;AAAA,YAAQ,KAAK,kBAAkB,GAAE,IAAI;AAAA,MAAE,EAAM,SAAG,GAAE;AAAA,QAAQ,KAAK,kBAAkB,GAAE,MAAM;AAAA,MAAO,SAAG,GAAE;AAAA,QAAW,GAAE,UAAQ,KAAK,kBAAkB,GAAE,MAAM;AAAA,MAAO;AAAA,QAAC,MAAM,KAAE,KAAK,UAAU,GAAE,IAAI;AAAA,QAAE,MAAG,KAAK,kBAAkB,EAAC;AAAA;AAAA;AAAA,EAAI,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,WAAU,MAAK,GAAE,OAAM;AAAA,MAAC,MAAM,MAAU,KAAE,KAAK,WAAW,IAAI,GAAE,IAAI,OAApC,QAAoD,OAAZ,YAAc,YAAU,GAAE;AAAA,MAAK,MAAG,GAAE,IAAI,EAAC;AAAA,IAAE;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,IAAG,IAAE;AAAA,MAAC,WAAU,MAAK,KAAK,MAAM;AAAA,QAAQ,IAAG,GAAE,SAAO;AAAA,UAAE,WAAU,MAAK,GAAE;AAAA,YAAU,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,cAAE,OAAO;AAAA;AAAA,MAAE,WAAU,MAAK,KAAK,MAAM;AAAA,QAAO,IAAG,GAAE,SAAO;AAAA,UAAE,WAAU,MAAK,GAAE;AAAA,YAAU,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,cAAE,OAAO;AAAA;AAAA,MAAE,WAAU,MAAK,KAAK,MAAM;AAAA,QAAS,IAAG,GAAE,SAAO;AAAA,UAAE,WAAU,MAAK,GAAE;AAAA,YAAU,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,cAAE,OAAO;AAAA;AAAA,IAAC;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,SAAO,MAAG,GAAE,WAAS;AAAA,QAAE,OAAO;AAAA,IAAE,OAAO;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAS,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,OAAO;AAAA;AAAA,EAAK,mBAAmB,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,IAAE,IAAI;AAAA,IAAE,KAAK,kBAAkB,EAAC;AAAA;AAAA,EAAG,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,CAAC,GAAE,KAAE,MAAK,KAAE,CAAC;AAAA,IAAE,OAAO,GAAE,OAAQ,QAAG;AAAA,MAAC,IAAG,cAAa;AAAA,QAAE,GAAE,KAAK,CAAC,CAAC;AAAA,MAAO,SAAG,cAAa;AAAA,QAAE,GAAE,IAAI;AAAA,MAAO,SAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE;AAAA,QAAE,MAAU,GAAE,SAAT,QAAe,KAAK,oBAAoB,GAAE,IAAI,GAAE,GAAE,SAAO,MAAI,GAAE,GAAE,SAAO,GAAG,GAAE,QAAM;AAAA,MAAG,EAAM,SAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE;AAAA,QAAE,MAAU,GAAE,SAAT,QAAe,KAAK,oBAAoB,GAAE,IAAI;AAAA,MAAE,EAAM,SAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE;AAAA,QAAE,MAAU,GAAE,SAAT,QAAe,KAAK,oBAAoB,GAAE,IAAI,GAAE,GAAE,SAAO,MAAI,GAAE,GAAE,SAAO,GAAG,GAAE,QAAM;AAAA,MAAG,EAAM,SAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE;AAAA,QAAE,IAAG,GAAE,SAAO,GAAE;AAAA,UAAC,IAAG,GAAE,GAAE,SAAO,GAAG,GAAE;AAAA,YAAM;AAAA,QAAM;AAAA,QAAC,MAAM,KAAE,GAAE,cAAc,GAAE,IAAI;AAAA,QAAE,MAAG,GAAE,KAAK,EAAC;AAAA,MAAE,EAAM,SAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,GAAE,WAAW,IAAI,GAAE,IAAI;AAAA,QAAE,OAAI,OAAI,GAAE,QAAM,OAAM,GAAE,MAAM,IAAI,GAAE,IAAI,GAAS,GAAE,cAAT,SAAqB,GAAE,YAAU,GAAE,eAAe,GAAE,MAAK,EAAC,IAAG,GAAE,KAAK,GAAG,GAAE,SAAS;AAAA,MAAG,EAAM,SAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,GAAE,WAAW,IAAI,GAAE,IAAI;AAAA,QAAE,OAAI,OAAI,GAAE,QAAM,OAAM,GAAE,MAAM,IAAI,GAAE,IAAI,GAAS,GAAE,cAAT,SAAqB,GAAE,YAAU,GAAE,eAAe,GAAE,MAAK,EAAC,IAAG,GAAE,KAAK,GAAG,GAAE,SAAS;AAAA,MAAG;AAAA,KAAG,GAAE,CAAC,GAAG,IAAI,IAAI,GAAE,IAAK,QAAG,CAAC,GAAE,MAAK,EAAC,CAAE,CAAC,EAAE,OAAO,CAAC;AAAA;AAAA,EAAE,aAAa,GAAE;AAAA,IAAC,MAAM,KAAE,CAAC;AAAA,IAAE,SAAS,EAAC,CAAC,IAAE,IAAE;AAAA,MAAC,MAAG,GAAE,WAAS,GAAE,SAAO,KAAE,IAAe,GAAE,QAAd,cAAmB,GAAE,MAAG,CAAC,IAAG,MAAG,GAAE,IAAG,WAAS,GAAE,IAAG,SAAO,KAAE;AAAA;AAAA,IAAI,WAAU,MAAK,KAAK,UAAS;AAAA,MAAC,GAAE,GAAE,OAAM,GAAE,OAAO;AAAA,MAAE,GAAE,GAAE,OAAO,GAAE,WAAS;AAAA,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK,SAAQ;AAAA,MAAC,GAAE,GAAE,OAAM,GAAE,OAAO;AAAA,MAAE,GAAE,GAAE,OAAO,GAAE,WAAS;AAAA,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK,UAAS;AAAA,MAAC,GAAE,GAAE,OAAM,GAAE,OAAO;AAAA,MAAE,GAAE,GAAE,OAAO,GAAE,WAAS;AAAA,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK,UAAS;AAAA,MAAC,GAAE,GAAE,OAAM,GAAE,OAAO;AAAA,MAAE,GAAE,GAAE,OAAO,GAAE,WAAS;AAAA,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,KAAE,WAAU;AAAA,IAAC,IAAe,OAAZ,cAAgB,KAAE,CAAC,IAAG,cAAa;AAAA,MAAG,KAAK,kBAAkB,IAAE,EAAC;AAAA,IAAO;AAAA,MAAC,MAAM,KAAE,KAAK,eAAe,EAAC;AAAA,MAAS,OAAP,QAAU,GAAE,KAAK,EAAC;AAAA;AAAA,IAAG,OAAO;AAAA;AAAA,EAAE,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,WAAU,MAAK,GAAE;AAAA,MAAQ,IAAG,GAAE,gBAAgB;AAAA,QAAG,KAAK,kBAAkB,GAAE,MAAK,EAAC;AAAA,MAAO;AAAA,QAAC,MAAM,KAAE,KAAK,cAAc,IAAE,UAAU,KAAG,KAAK,cAAc,IAAE,SAAS;AAAA,QAAE,IAAU,OAAP,MAAS;AAAA,UAAC,MAAM,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,KAAK,UAAU,GAAE,KAAE,KAAK,UAAU,GAAE,KAAK,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,GAAE,MAAK,EAAC;AAAA,UAAE,GAAE,KAAK,EAAC;AAAA,QAAE;AAAA;AAAA;AAAA,EAAG,cAAc,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,cAAc,IAAE,UAAU,KAAG,KAAK,cAAc,IAAE,SAAS;AAAA,IAAE,IAAU,OAAP,MAAS;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY,IAAE,GAAE,UAAU,GAAE,KAAE,KAAK,UAAU,GAAE,KAAK;AAAA,MAAE,OAAO,IAAI,EAAE,IAAG,IAAE,GAAE,MAAK,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,KAAE,WAAU;AAAA,IAAc,OAAZ,cAAgB,KAAE,CAAC;AAAA,IAAG,WAAU,MAAK;AAAA,MAAE,IAAG,GAAE,gBAAgB;AAAA,QAAG,KAAK,iBAAiB,GAAE,MAAK,EAAC;AAAA,MAAO;AAAA,QAAC,MAAM,KAAE,KAAK,cAAc,EAAC;AAAA,QAAS,OAAP,QAAU,GAAE,KAAK,EAAC;AAAA;AAAA,IAAG,OAAO;AAAA;AAAA,EAAE,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,WAAU,MAAK,GAAE;AAAA,MAAQ,IAAG,GAAE,gBAAgB;AAAA,QAAG,KAAK,iBAAiB,GAAE,MAAK,EAAC;AAAA,MAAO;AAAA,QAAC,MAAM,KAAE,KAAK,cAAc,EAAC;AAAA,QAAS,OAAP,QAAU,GAAE,KAAK,EAAC;AAAA;AAAA;AAAA,EAAI,aAAa,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,cAAc,IAAE,UAAU,KAAG,KAAK,cAAc,IAAE,SAAS;AAAA,IAAE,IAAU,OAAP,MAAS;AAAA,MAAC,MAAM,KAAE,KAAK,cAAc,IAAE,eAAe,GAAE,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,GAAE,KAAE,KAAK,UAAU,GAAE,KAAK,GAAE,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,GAAE,MAAK,EAAC;AAAA,MAAE,OAAc,OAAP,SAAW,GAAE,gBAAc,KAAK,aAAa,GAAE,KAAK,IAAG;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,UAAQ,KAAE,GAAE,KAAI;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE;AAAA,IAAC,cAAa,UAAQ,KAAE,GAAE;AAAA,IAAI,MAAM,KAAE,SAAS,EAAC;AAAA,IAAE,OAAO,MAAM,EAAC,IAAE,KAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO,GAAE;AAAA,IAAK,OAAO;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE;AAAA,IAAC,OAAO,IAAI,EAAE,GAAE,MAAK,KAAK,YAAY,GAAE,MAAK,IAAI,CAAC;AAAA;AAAA,EAAE,iBAAiB,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAQ,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO,GAAE;AAAA,IAAK,OAAO;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,KAAE,MAAK;AAAA,IAAC,IAAG,KAAK,OAAO,IAAI,EAAC;AAAA,MAAE,OAAO,KAAK,OAAO,IAAI,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,OAAK,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU,IAAE,MAAK,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,EAAC;AAAA,MAAE,OAAO,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,IAAE,KAAE,GAAE,SAAO,KAAK,YAAY,GAAE,QAAO,GAAE,UAAU,IAAE,MAAK,KAAE,IAAI,EAAE,GAAE,MAAK,EAAC;AAAA,MAAE,OAAO,GAAE,SAAO,IAAE,GAAE,QAAM,GAAE,OAAM,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,IAAE,KAAE,IAAI,EAAE,GAAE,MAAK,EAAC;AAAA,MAAE,GAAE,YAAU,GAAE,WAAU,GAAE,UAAQ,GAAE;AAAA,MAAQ,WAAU,MAAK,GAAE,SAAQ;AAAA,QAAC,MAAM,KAAE,KAAK,YAAY,GAAE,MAAK,GAAE,UAAU;AAAA,QAAE,GAAE,QAAQ,KAAK,IAAI,EAAE,GAAE,MAAK,IAAE,GAAE,UAAU,CAAC;AAAA,MAAE;AAAA,MAAC,OAAO,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,IAAE,KAAE,GAAE,kBAAkB,IAAG,KAAE,GAAE,SAAO,KAAE,KAAK,YAAY,GAAE,QAAO,IAAI,IAAE,IAAI,EAAE,GAAE,QAAO,IAAI,IAAE,MAAK,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,GAAE,MAAM;AAAA,MAAE,OAAO,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,IAAE,KAAE,GAAE,SAAO,KAAK,YAAY,GAAE,QAAO,IAAI,IAAE,MAAK,KAAE,IAAI,EAAE,GAAE,MAAK,IAAE,IAAE,GAAE,MAAM;AAAA,MAAE,OAAO,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,IAAI,EAAE,GAAE,MAAK,EAAC;AAAA,IAAE,OAAO,KAAK,OAAO,IAAI,IAAE,EAAC,GAAE,KAAK,gBAAgB,EAAC,GAAE;AAAA;AAAA,EAAE,eAAe,CAAC,IAAE;AAAA,IAAC,IAAI,IAAE,IAAE;AAAA,IAAE,MAAM,KAAE,KAAK,aAAa,EAAC;AAAA,IAAE,IAAG,GAAE,QAAa,KAAQ,MAAN,OAAQ,YAAU,GAAE,UAA9B,QAAiD,OAAZ,YAAc,KAAE,GAAE,cAAa,KAAG,GAAE,QAAO;AAAA,MAAC,MAAM,KAAE,KAAK,aAAa,GAAE,MAAM;AAAA,MAAE,GAAE,SAAO,KAAK,KAAY,KAAQ,MAAN,OAAQ,YAAU,GAAE,UAA9B,QAAiD,OAAZ,YAAc,KAAE,IAAU,KAAQ,MAAN,OAAQ,YAAU,GAAE,WAA9B,QAAkD,OAAZ,YAAc,KAAE,CAAC,GAAE,KAAK,gBAAgB,GAAE,MAAM;AAAA,IAAE;AAAA,IAAC,cAAa,KAAG,KAAK,gBAAgB,GAAE,MAAM,GAAE,cAAa,KAAG,KAAK,kBAAkB,EAAC;AAAA;AAAA,EAAG,iBAAiB,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,IAAI,KAAE,GAAE,KAAE,GAAE,KAAE,GAAE,KAAE;AAAA,IAAE,SAAQ,KAAE,GAAE,KAAE,GAAE,QAAQ,OAAO,KAAE,IAAE,EAAE,IAAE;AAAA,MAAC,MAAM,KAAE,GAAE,QAAQ,KAAG,KAAE,KAAK,aAAa,EAAC;AAAA,MAAE,IAAG,CAAC;AAAA,QAAE;AAAA,OAAiB,KAAE,KAAK,UAAU,GAAE,KAAK,IAAI,OAApC,QAAoD,OAAZ,aAAe,GAAE;AAAA,MAAK,QAAU,OAAJ,IAAc,MAAJ,OAAE;AAAA,MAAO,KAAE,KAAK,SAAS,IAAE,KAAE,EAAC,GAAE,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,IAAI,IAAE,EAAC,GAAE,GAAE,SAAO,IAAE,GAAE,OAAK,IAAE,KAAK,gBAAgB,GAAE,IAAI;AAAA,IAAE;AAAA,IAAC,GAAE,OAAK,KAAK,SAAS,IAAE,KAAE,EAAC,GAAE,GAAE,QAAM;AAAA;AAAA,EAAG,YAAY,CAAC,IAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,IAAS,MAAN;AAAA,MAAQ,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,iBAAiB,GAAE,YAAW,QAAO,CAAC,GAAE,KAAE,KAAK,iBAAiB,GAAE,YAAW,SAAQ,CAAC;AAAA,IAAE,IAAG,cAAa,MAAI,KAAE,GAAE,OAAM,cAAa,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,UAAU,GAAE,IAAI;AAAA,MAAS,OAAP,SAAW,KAAE;AAAA,IAAG;AAAA,IAAC;AAAA,MAAC,MAAM,KAAE,GAAG,UAAU,GAAE;AAAA,MAAM,IAAe,OAAZ,WAAc;AAAA,QAAC,MAAM,OAAmB,KAAE,GAAE,YAAZ,QAAiC,OAAZ,YAAc,YAAU,GAAE,UAAxD,QAA8D,IAAE;AAAA,QAAE,OAAO,IAAI,GAAG,KAAK,IAAI,IAAE,GAAE,QAAM,EAAC,GAAE,KAAK,IAAI,IAAE,GAAE,OAAK,EAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,IAAC;AAAA,MAAC,MAAM,KAAE,GAAG,UAAU,GAAE,KAAK,UAAU,GAAE,GAAE,KAAK,SAAO,CAAC;AAAA,MAAG,IAAG,IAAE;AAAA,QAAC,MAAM,KAAQ,GAAE,KAAK,GAAE,KAAK,SAAO,OAA3B,MAA8B,IAAE;AAAA,QAAE,OAAO,IAAI,GAAG,KAAK,IAAI,IAAE,GAAE,QAAM,EAAC,GAAE,KAAK,IAAI,IAAE,GAAE,OAAK,EAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,GAAE;AAAA,MAAC,IAAI,KAAE,IAAE,KAAE,GAAE,KAAE;AAAA,MAAE,MAAM,KAAE,KAAK,aAAa,GAAE,MAAM;AAAA,MAAS,OAAP,SAAW,KAAE,GAAE,MAAK,KAAE,GAAE;AAAA,MAAO,OAAO,KAAE,GAAE,QAAM,KAAK,kBAAyB,KAAQ,MAAN,OAAQ,YAAU,GAAE,gBAA9B,QAAuD,OAAZ,YAAc,KAAE,MAAK,UAAS,KAAK,SAAS,IAAE,EAAC,CAAC,GAAE,OAAI,KAAE,KAAG,IAAI,GAAG,KAAK,IAAI,IAAE,EAAC,GAAE,KAAK,IAAI,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,GAAE;AAAA,MAAC,IAAI,KAAE,GAAE,KAAE,GAAE,KAAE,GAAE,KAAE,GAAE,KAAE;AAAA,MAAE,WAAU,MAAK,GAAE,SAAQ;AAAA,QAAC,MAAM,KAAE,KAAK,aAAa,GAAE,IAAI;AAAA,QAAS,OAAP,SAAW,KAAE,KAAK,IAAI,GAAE,OAAM,EAAC,GAAE,KAAE,KAAK,SAAS,GAAE,OAAM,KAAE,EAAC,GAAE,KAAE,GAAE,MAAK,KAAE;AAAA,MAAG;AAAA,MAAC,OAAO,KAAE,KAAK,SAAS,IAAE,KAAE,EAAC,GAAE,IAAI,GAAG,KAAK,IAAI,IAAE,EAAC,GAAE,KAAK,IAAI,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,KAAc,GAAE,WAAb;AAAA;AAAA,EAAqB,aAAa,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,KAAc,GAAE,WAAb;AAAA;AAAA,EAAqB,aAAa,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,KAAU,GAAE,SAAT,QAAmB,GAAG,cAAc,QAAQ,GAAE,KAAK,IAAI,KAAxC;AAAA;AAAA,EAA0C,aAAa,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,KAAU,GAAE,SAAT,QAAmB,GAAG,cAAc,QAAQ,GAAE,KAAK,IAAI,KAAxC;AAAA;AAAA,EAA0C,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE;AAAA,IAAE,IAAG,CAAC,MAAG,CAAC,GAAE;AAAA,MAAW,OAAO;AAAA,IAAK,MAAM,KAAE,GAAE;AAAA,IAAW,SAAQ,MAAK;AAAA,MAAE,IAAG,GAAE,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,OAAO;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAE,SAAQ,MAAK;AAAA,MAAE,IAAG,GAAE,QAAM,IAAE;AAAA,QAAC,IAAI,KAAS,OAAP,QAAiB,GAAE,UAAT,OAAe,GAAE,QAAM;AAAA,QAAE,OAAO,cAAa,UAAQ,KAAE,GAAE,KAAc,OAAO,MAAjB,WAAmB,KAAY,OAAO,MAAjB,WAAmB,SAAS,EAAC,IAAE;AAAA,MAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAE,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,KAAK,KAAK,KAAE,EAAC,IAAE;AAAA;AAAE;AAAC,GAAG,YAAU,EAAC,KAAI,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,KAAI,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,KAAI,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,KAAI,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,QAAO,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,MAAK,EAAC,OAAM,GAAE,MAAK,EAAC,GAAE,MAAK,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,MAAK,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,GAAE,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,GAAE,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,GAAE,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,GAAE,QAAO,EAAC,OAAM,IAAG,MAAK,GAAE,EAAC,GAAE,GAAG,gBAAc,GAAG,iBAAiB,IAAK,QAAG,GAAE,IAAK,GAAE,GAAG,gBAAc,GAAG,aAAa,IAAK,QAAG,GAAE,IAAK;AAAE,IAAI,KAAG;AAAA;AAAE,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,KAAG,MAAK,KAAK,OAAK,IAAE,KAAK,QAAM,IAAE,KAAK,OAAK;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,OAAO,IAAI,GAAG,KAAK,MAAK,KAAK,OAAM,KAAK,IAAI;AAAA;AAAE;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,KAAK,KAAG,MAAK,KAAK,OAAK,GAAE,MAAK,KAAK,OAAK;AAAA;AAAA,EAAG,KAAK,GAAE;AAAA,IAAC,OAAO,IAAI,GAAG,KAAK,IAAI;AAAA;AAAE;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,KAAK,SAAO,MAAK,KAAK,YAAU,IAAI,KAAI,KAAK,YAAU,IAAI,KAAI,KAAK,sBAAoB,IAAG,KAAK,KAAG,MAAK,OAAI,KAAK,SAAO,IAAE,KAAK,sBAAoB,GAAE;AAAA;AAAA,EAAsB,WAAW,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,UAAU,IAAI,EAAC,KAAU,KAAE,KAAK,UAAU,IAAI,EAAC,OAA9B,QAA8C,OAAZ,YAAc,KAAE,OAAK,KAAK,SAAO,KAAK,OAAO,YAAY,EAAC,IAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,OAAO,KAAK,UAAU,IAAI,EAAC,KAAU,KAAE,KAAK,UAAU,IAAI,EAAC,OAA9B,QAA8C,OAAZ,YAAc,KAAE,OAAK,KAAK,SAAO,KAAK,OAAO,YAAY,EAAC,IAAE;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,UAAU,IAAI,IAAE,IAAI,GAAG,IAAE,IAAQ,MAAN,OAAQ,KAAE,IAAI,CAAC;AAAA;AAAA,EAAG,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,EAAC;AAAA,IAAS,OAAP,OAAS,GAAE,QAAM,KAAE,KAAK,eAAe,IAAE,IAAE,EAAC;AAAA;AAAA,EAAG,gBAAgB,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,MAAM,KAAE,KAAK,YAAY,EAAC;AAAA,IAAE,QAAe,KAAQ,MAAN,OAAQ,YAAU,GAAE,WAA9B,QAAkD,OAAZ,YAAc,KAAE;AAAA;AAAA,EAAK,KAAK,GAAE;AAAA,IAAC,OAAO,IAAI,GAAG,IAAI;AAAA;AAAE;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAG;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,KAAK,OAAK;AAAA;AAAA,EAAG,WAAW,CAAC,IAAE;AAAA,IAAC,OAAO,KAAK,KAAK,YAAY,EAAC;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,cAAa;AAAA,MAAG,OAAO,GAAE,KAAK,QAAS,QAAG;AAAA,QAAC,OAAI,KAAE;AAAA,OAAS,GAAE,IAAI,GAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,IAAE,MAAM,IAAI,MAAM,yCAAyC,GAAE,MAAM;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,KAAK,KAAM,QAAG,EAAE;AAAA,MAAE,OAAO,IAAI,GAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,IAAC;AAAA,IAAC,MAAM,IAAI,MAAM,yCAAyC,GAAE,MAAM;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,EAAE,cAAa;AAAA,MAAI,MAAM,IAAI,MAAM,2CAA2C,GAAE,MAAM;AAAA,IAAE,OAAO,GAAE,QAAM,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,IAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC;AAAA,IAAE,IAAG,cAAa,MAAQ,GAAE,SAAS,SAAf,GAAoB;AAAA,MAAC,MAAM,KAAE,GAAE,UAAS,KAAE,GAAE,OAAO,aAAW,GAAE;AAAA,MAAO,OAAO,IAAI,GAAG,IAAE,KAAK,YAAY,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,IAAI,GAAG,GAAE,SAAS,MAAK,KAAK,YAAY,KAAK,CAAC;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,MAAM,IAAE,GAAE,KAAK,GAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,OAAO,KAAK,IAAI,KAAK,IAAI,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,OAAO,IAAE,GAAE,KAAK,KAAG,GAAE,KAAK,GAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,OAAO,GAAE,OAAM,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAE,MAAS,OAAJ;AAAA,MAAO,IAAE,MAAG,MAAI,OAAI;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,cAAc,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,cAAc,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,mBAAmB,CAAC,IAAE;AAAA,IAAC,IAAO,OAAJ;AAAA,MAAM,OAAO;AAAA,IAAG,IAAI,KAAE;AAAA,IAAE,MAAK,EAAE,IAAE;AAAA,MAAI,OAAI,GAAE;AAAA,IAAI,OAAO;AAAA;AAAA,EAAE,kBAAkB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,oBAAoB,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,oBAAoB,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,MAAC,IAAO,GAAE,KAAK,WAAX,KAAuB,GAAE,KAAK,WAAX;AAAA,QAAkB,OAAO,QAAQ,MAAM,oCAAoC,GAAE,MAAM,GAAE;AAAA,MAAK,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,IAAG,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,0CAA0C,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,MAAI,KAAK;AAAA,IAAG,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAE,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,IAAE,KAAK,YAAY,KAAK,CAAC;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,SAAS,YAAY,GAAE,KAAE,GAAE,SAAS,GAAG,IAAE,KAAK,YAAY,KAAK,IAAE,KAAK,YAAY,KAAK;AAAA,MAAE,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,OAAO,IAAI,GAAG,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,IAAG,EAAC;AAAA,MAAE,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,OAAO,IAAI,GAAG,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,MAAI,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,MAAI,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,KAAI,EAAC;AAAA,MAAE,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,QAAQ,MAAM,yBAAyB,IAAG;AAAA,MAAO,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,QAAc,QAAQ,MAAM,yBAAyB,IAAG;AAAA,MAAO;AAAA,QAAC,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,UAAc,OAAO,IAAI,GAAG,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,MAAI,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,MAAI,GAAE,MAAI,GAAE,KAAG,GAAE,KAAG,GAAE,KAAG,GAAE,KAAI,EAAC;AAAA,QAAa,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA0B,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,YAAc,QAAQ,MAAM,yBAAyB,IAAG,IAAa,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAAe,QAAQ,MAAM,yBAAyB,IAAG;AAAA;AAAA,IAAG;AAAA,IAAC,OAAO,QAAQ,MAAM,+CAA+C,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,MAAC,IAAI,KAAE;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,QAAO,EAAE;AAAA,QAAE,OAAI,GAAE,KAAK,MAAG,GAAE,KAAK,QAAK,GAAE,KAAK,MAAG,GAAE,KAAK;AAAA,MAAI,OAAO,IAAI,GAAG,KAAK,KAAK,EAAC,GAAE,KAAK,YAAY,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,QAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,MAAE,MAAG,GAAE,MAAG,GAAE;AAAA,IAAG,OAAO;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,KAAG,IAAI,GAAG,KAAK,KAAK,GAAE,MAAK,GAAE,IAAI,GAAE,KAAK,YAAY,KAAK,CAAC,KAAG,QAAQ,MAAM,wCAAwC,GAAE,MAAM,GAAE;AAAA;AAAA,EAAM,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,GAAE,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAW,GAAE,SAAS,SAAnB,SAAiC,GAAE,SAAS,SAAnB;AAAA,MAAwB,OAAO,QAAQ,MAAM,sDAAsD,GAAE,MAAM,GAAE;AAAA,IAAK,IAAW,GAAE,SAAS,SAAnB,SAAiC,GAAE,SAAS,SAAnB;AAAA,MAAwB,OAAO,QAAQ,MAAM,qDAAqD,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,GAAE,OAAM,KAAE,GAAE;AAAA,IAAM,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,MAAG,MAAG,KAAG,MAAG,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,IAAW,GAAE,SAAS,SAAnB,SAAiC,GAAE,SAAS,SAAnB;AAAA,MAAwB,OAAO,QAAQ,MAAM,+CAA+C,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,GAAE;AAAA,IAAM,OAAO,IAAI,GAAG,MAAG,MAAG,KAAG,MAAG,GAAE,KAAK,YAAY,KAAK,CAAC;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,KAAK,GAAE,MAAK,GAAE,IAAI;AAAA,MAAE,OAAO,IAAI,GAAG,KAAE,IAAE,MAAM,KAAK,GAAE,IAAI,IAAE,GAAE,KAAK,IAAK,QAAG,CAAC,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,gDAAgD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE;AAAA,IAAC,OAAW,OAAJ,IAAM,KAAG,KAAG,KAAK,MAAM,EAAC;AAAA;AAAA,EAAE,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,iBAAiB,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,iBAAiB,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,iBAAiB,CAAC,IAAE;AAAA,IAAC,OAAW,OAAJ,IAAM,KAAG,KAAK,KAAK,KAAE,CAAC,EAAC;AAAA;AAAA,EAAE,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,kBAAkB,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,kBAAkB,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,GAAE,KAAK,WAAS,GAAE,KAAK,UAAQ,GAAE,KAAK,WAAS,GAAE,KAAK,UAAQ,QAAQ,MAAM,kDAAkD,GAAE,MAAM,GAAE,QAAM,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,KAAK,MAAG,GAAE,KAAK,GAAG,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,GAAE,QAAM,GAAE,OAAM,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAE,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAW,GAAE,SAAS,SAAnB,SAAiC,GAAE,SAAS,SAAnB;AAAA,MAAwB,OAAO,QAAQ,MAAM,qDAAqD,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,GAAE,OAAM,MAAG,KAAG,GAAE,SAAO,KAAG,IAAE,KAAE,CAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAE,KAAE,GAAE,KAAK,OAAI,KAAE,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,GAAE,OAAM,KAAE,GAAE;AAAA,IAAM,OAAO,IAAI,GAAG,KAAE,KAAE,MAAG,KAAE,IAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,IAAE,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,IAAE,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,IAAI,KAAE;AAAA,MAAE,OAAO,GAAE,KAAK,QAAS,QAAG;AAAA,QAAC,MAAG,KAAE;AAAA,OAAI,GAAE,IAAI,GAAG,KAAK,KAAK,EAAC,GAAE,KAAK,YAAY,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,IAAI,IAAE,GAAE,KAAK,GAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,IAAI,IAAE,GAAE,KAAK,GAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,GAAE,KAAK,OAAI,IAAE,GAAE,KAAK,OAAI,GAAE,KAAK,MAAG,GAAE,KAAK,GAAG,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,SAAO,IAAE,GAAE,SAAO,GAAE,QAAM,GAAE,OAAM,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,KAAK,GAAG,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,GAAE,OAAM,GAAE,QAAQ;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,OAAO,IAAE,EAAC,EAAE;AAAA,MAAM,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAE,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,+CAA+C,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,IAAI,IAAE,GAAE,KAAK,GAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,EAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA;AAAA,EAAE,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAE,KAAK,KAAG,GAAI,GAAE,GAAE,QAAQ;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,KAAK,KAAG,KAAI,KAAK,YAAY,KAAK,CAAC;AAAA;AAAA,EAAE,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,KAAK,GAAE,MAAK,GAAE,IAAI;AAAA,MAAE,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAE,IAAE,KAAE,GAAE,KAAK,GAAG,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,4CAA4C,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,KAAK,GAAE,MAAK,GAAE,IAAI;AAAA,MAAE,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI;AAAA,QAAC,MAAM,KAAE,IAAE,GAAE,QAAM,GAAE,SAAO,IAAE,KAAE;AAAA,QAAG,IAAG,KAAE;AAAA,UAAE,OAAO;AAAA,QAAE,MAAM,KAAE,KAAK,KAAK,EAAC;AAAA,QAAE,OAAO,GAAE,QAAM,MAAG,GAAE,QAAM,KAAE,MAAG,GAAE,KAAK;AAAA,OAAI,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,kEAAkE,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,2BAA2B,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,KAAK,IAAI,IAAE,CAAC,GAAE,CAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,GAAE,OAAM,CAAC,GAAE,CAAC,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,IAAI,KAAK,KAAK,KAAE,OAAI,KAAE,KAAG,CAAC,GAAE,CAAC;AAAA,IAAE,OAAO,KAAE,MAAG,IAAE,IAAE;AAAA;AAAA,EAAG,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAK,YAAY,GAAE,KAAK,KAAG,GAAE,KAAK,KAAG,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,YAAY,GAAE,OAAM,GAAE,OAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa,MAAI,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,KAAK,MAAG,IAAE,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,GAAE,QAAM,GAAE,QAAM,IAAE,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,IAAI,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,IAAI,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,KAAK,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,KAAK,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,iBAAiB,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,YAAY;AAAA,IAAE,OAAmB,OAAZ,aAA2B,OAAZ,YAAc,KAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,aAA2B,OAAZ,YAAc,KAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,IAAc,OAAZ,YAAc,KAAK,YAAY,SAAS,KAAe,OAAZ,aAA2B,OAAZ,aAAe,QAAQ,MAAM,uBAAuB,IAAG,GAAE;AAAA;AAAA,EAAG,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,EAAE,cAAa;AAAA,MAAI,OAAO,QAAQ,MAAM,+CAA+C,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,KAAK,kBAAkB,GAAE,QAAQ;AAAA,IAAE,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAG,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,GAAG,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAG,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAc,GAAE,SAAS,SAAtB,YAAwC,GAAE,SAAS,SAAvB,aAAyC,GAAE,SAAS,SAAvB,WAA4B;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,OAAO,IAAI,GAAG,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,KAAI,GAAE,GAAG,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,uBAAuB,GAAE,SAAS,MAAM,GAAE;AAAA;AAAA,EAAK,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,IAAI,GAAG,GAAE,KAAK,IAAK,QAAG,KAAK,MAAM,EAAC,CAAE,GAAE,GAAE,QAAQ;AAAA,IAAE,MAAM,KAAE;AAAA,IAAE,OAAO,IAAI,GAAG,KAAK,MAAM,GAAE,KAAK,GAAE,GAAE,QAAQ;AAAA;AAAA,EAAE,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oBAAoB,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,0BAA0B,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,gBAAgB,GAAE;AAAA;AAAA,EAAK,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,YAAY,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,kBAAkB,GAAE;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,gBAAgB,GAAE;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,cAAc,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oBAAoB,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,kBAAkB,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK,IAAG,KAAE,GAAE,KAAK,SAAO,IAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,EAAE,QAAM;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,IAAG,cAAa,IAAG;AAAA,QAAC,IAAG,KAAE,KAAG,MAAG,GAAE;AAAA,UAAc,OAAO,QAAQ,MAAM,iDAAiD,GAAE,MAAM,GAAE;AAAA,QAAK,MAAM,KAAE,GAAE,gBAAgB,EAAC,GAAE,KAAE,GAAE;AAAA,QAAU,OAAc,OAAP,OAAS,IAAI,GAAG,GAAE,IAAG,KAAK,YAAY,KAAK,CAAC,IAAS,OAAP,OAAS,IAAI,GAAG,IAAE,KAAK,YAAY,OAAO,CAAC,IAAS,OAAP,OAAS,IAAI,GAAG,GAAE,MAAM,GAAE,CAAC,GAAE,KAAK,YAAY,OAAO,CAAC,KAAG,QAAQ,MAAM,6BAA6B,sBAAqB,GAAE,MAAM,GAAE;AAAA,MAAK;AAAA,MAAC,OAAO,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAI;AAAA,IAAC,OAAO,QAAQ,MAAM,wDAAwD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK,IAAG,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAE,GAAE,KAAK,SAAO,IAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,EAAE,QAAM;AAAA,IAAE,IAAG,EAAE,cAAa,OAAS,GAAE,KAAK,WAAX;AAAA,MAAkB,OAAO,QAAQ,MAAM,6CAA6C,GAAE,MAAM,GAAE;AAAA,IAAK,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,IAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,KAAK,MAAM,GAAE,KAAK,EAAE,GAAE,KAAE,KAAK,MAAM,GAAE,KAAK,EAAE;AAAA,QAAE,IAAG,KAAE,KAAG,MAAG,GAAE,SAAO,KAAE,KAAG,MAAG,GAAE;AAAA,UAAO,OAAO,QAAQ,MAAM,WAAW,0BAAyB,GAAE,MAAM,GAAE;AAAA,QAAK,MAAM,KAAE,GAAE,SAAS,IAAE,IAAE,GAAE,EAAC;AAAA,QAAE,OAAc,OAAP,QAAU,QAAQ,MAAM,gDAAgD,GAAE,MAAM,GAAE,QAAM,IAAI,GAAG,IAAE,KAAK,YAAY,OAAO,CAAC;AAAA,MAAC;AAAA,MAAC,OAAO,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAI;AAAA,IAAC,OAAO,QAAQ,MAAM,kDAAkD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK;AAAA,IAAG,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,OAAO,cAAa,KAAG,IAAI,GAAG,GAAE,oBAAmB,KAAK,YAAY,KAAK,CAAC,KAAG,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAK;AAAA,IAAC,OAAO,QAAQ,MAAM,uDAAuD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK;AAAA,IAAG,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,OAAO,cAAa,KAAG,IAAI,GAAG,GAAE,eAAc,KAAK,YAAY,KAAK,CAAC,KAAG,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAK;AAAA,IAAC,OAAO,QAAQ,MAAM,uDAAuD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK;AAAA,IAAG,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,OAAO,cAAa,KAAG,IAAI,GAAG,GAAE,aAAY,KAAK,YAAY,KAAK,CAAC,KAAG,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAK;AAAA,IAAC,OAAO,QAAQ,MAAM,wDAAwD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,yBAAyB,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,yBAAyB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,iCAAiC,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,yBAAyB,GAAE;AAAA;AAAA,EAAK,kBAAkB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,0BAA0B,GAAE;AAAA;AAAA,EAAK,4BAA4B,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oCAAoC,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,KAAK,IAAG,KAAE,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,GAAE,KAAM,GAAE,KAAK,WAAX,IAAkB,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,EAAE,QAAM,GAAE,KAAM,GAAE,KAAK,WAAX,IAAkB,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,EAAE,OAAK,KAAK,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC,EAAE;AAAA,IAAK,IAAO,GAAE,WAAN;AAAA,MAAa,OAAO,QAAQ,MAAM,iDAAiD,GAAE,MAAM,GAAE;AAAA,IAAK,IAAG,EAAE,cAAa,OAAS,GAAE,KAAK,WAAX;AAAA,MAAkB,OAAO,QAAQ,MAAM,8CAA8C,GAAE,MAAM,GAAE;AAAA,IAAK,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE,iBAAiB,EAAC;AAAA,MAAE,IAAG,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,GAAE,gBAAgB,CAAC,GAAE,KAAE,KAAK,MAAM,GAAE,KAAK,EAAE,GAAE,KAAE,KAAK,MAAM,GAAE,KAAK,EAAE;AAAA,QAAE,OAAO,KAAE,KAAG,MAAG,GAAE,MAAI,KAAE,KAAG,MAAG,GAAE,MAAI,QAAQ,MAAM,WAAW,0BAAyB,GAAE,MAAM,GAAE,SAAO,GAAE,SAAS,IAAE,IAAE,GAAE,IAAE,MAAM,KAAK,EAAC,CAAC,GAAE;AAAA,MAAK;AAAA,MAAC,OAAO,QAAQ,MAAM,WAAW,sBAAqB,GAAE,MAAM,GAAE;AAAA,IAAI;AAAA,IAAC,OAAO,QAAQ,MAAM,mDAAmD,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC;AAAA,IAAE,OAAO,GAAE,YAAY,EAAC,EAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAK,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,SAAO,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,SAAO,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,KAAK,IAAI,GAAE,OAAM,GAAE,KAAK,IAAG,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,KAAK,IAAI,GAAE,OAAM,GAAE,KAAK,IAAG,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,GAAE,QAAM,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,GAAE,QAAM,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,GAAE,QAAM,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,cAAa,OAAK,KAAE,GAAE;AAAA,IAAO,MAAM,KAAE,KAAK,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAI,KAAE,GAAE,KAAK;AAAA,IAAG,MAAM,KAAE,KAAK,KAAK,eAAe,IAAE,EAAC,GAAE,KAAE,GAAE,MAAM,WAAW,KAAK,MAAK,GAAE,SAAQ,EAAC,GAAE,KAAE,IAAI,GAAG,GAAE,OAAM,GAAE,QAAQ;AAAA,IAAE,OAAO,cAAa,MAAI,cAAa,OAAK,GAAE,QAAM,GAAE,QAAO,GAAE,iBAAiB,MAAI,GAAE,MAAM,aAAa,KAAK,MAAK,IAAE,GAAE,SAAQ,EAAC,GAAE;AAAA;AAAA,EAAE,yBAAyB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,iCAAiC,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oBAAoB,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oBAAoB,GAAE;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,gBAAgB,GAAE;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,gBAAgB,GAAE;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,oBAAoB,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,sBAAsB,GAAE;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,sBAAsB,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,kBAAkB,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,kBAAkB,GAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,uBAAuB,GAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,uBAAuB,GAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,uBAAuB,GAAE;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,sBAAsB,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,yBAAyB,GAAE;AAAA;AAAA,EAAK,sBAAsB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,8BAA8B,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,4BAA4B,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,kBAAkB,GAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,uBAAuB,GAAE;AAAA;AAAA,EAAK,mBAAmB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,2BAA2B,GAAE;AAAA;AAAA,EAAK,iBAAiB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,yBAAyB,GAAE;AAAA;AAAA,EAAK,kBAAkB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,0BAA0B,GAAE;AAAA;AAAA,EAAK,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,mBAAmB,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE;AAAA;AAAA,EAAK,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,wBAAwB,GAAE;AAAA;AAAA,EAAK,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,iBAAiB,GAAE;AAAA;AAAA,EAAK,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,QAAQ,MAAM,iBAAiB,GAAE;AAAA;AAAK;AAAC,IAAM,KAAG,EAAC,MAAK,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,MAAK,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,MAAK,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,GAAE,OAAM,EAAC;AAAtJ,IAAwJ,KAAG,EAAC,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,GAAE,QAAO,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,SAAQ,CAAC,GAAE,GAAE,CAAC,GAAE,QAAO,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,GAAE,QAAO,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,GAAE,SAAQ,CAAC,GAAE,GAAE,EAAE,EAAC;AAAA;AAAE,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,MAAM,GAAE,KAAK,MAAU,MAAN,OAAQ,KAAE,CAAC,GAAE,KAAK,aAAW,IAAI,IAAG,KAAK,WAAW,UAAU,KAAK,GAAG,GAAE,KAAK,WAAgB,KAAQ,MAAN,OAAQ,YAAU,GAAE,MAAM,OAApC,QAAoD,OAAZ,YAAc,KAAE,IAAI,IAAG,KAAK,WAAS,IAAI,GAAG,IAAI,GAAE,KAAK,WAAS,EAAC,MAAK,KAAK,YAAY,GAAG,IAAI,GAAE,KAAI,KAAK,YAAY,GAAG,GAAG,GAAE,KAAI,KAAK,YAAY,GAAG,GAAG,GAAE,KAAI,KAAK,YAAY,GAAG,GAAG,GAAE,KAAI,KAAK,YAAY,GAAG,GAAG,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,OAAM,KAAK,YAAY,GAAG,KAAK,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,GAAE,SAAQ,KAAK,YAAY,GAAG,OAAO,EAAC;AAAA;AAAA,EAAG,gBAAgB,CAAC,IAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,MAAM,MAAU,MAAU,KAAE,KAAK,QAAQ,YAAY,EAAC,OAApC,QAAoD,OAAZ,YAAc,YAAU,GAAE,WAA5E,QAAgG,OAAZ,YAAc,KAAE;AAAA,IAAK,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAK,IAAG,cAAa;AAAA,MAAG,OAAO,GAAE;AAAA,IAAM,IAAG,cAAa;AAAA,MAAG,OAAO,MAAM,KAAK,GAAE,IAAI;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,OAAO,MAAM,KAAK,GAAE,IAAI;AAAA,IAAE,IAAG,cAAa,MAAI,GAAE,oBAAoB,GAAE;AAAA,MAAC,IAAW,GAAE,SAAS,OAAO,SAA1B;AAAA,QAA+B,OAAO,MAAM,KAAK,IAAI,YAAY,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,KAAK,CAAC;AAAA,MAAE,IAAW,GAAE,SAAS,OAAO,SAA1B;AAAA,QAA+B,OAAO,MAAM,KAAK,IAAI,WAAW,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,KAAK,CAAC;AAAA,MAAE,IAAW,GAAE,SAAS,OAAO,SAA1B;AAAA,QAA+B,OAAO,MAAM,KAAK,IAAI,aAAa,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,KAAK,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,oCAAoC,GAAE,SAAS,MAAM,GAAE;AAAA;AAAA,EAAK,OAAO,CAAC,IAAE;AAAA,KAAE,KAAQ,MAAN,OAAQ,KAAE,CAAC,GAAG,aAAW,KAAK,cAAc,GAAE,WAAU,KAAK,OAAO,GAAE,KAAK,gBAAgB,KAAK,KAAI,KAAK,OAAO;AAAA;AAAA,EAAG,kBAAkB,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,QAAQ,MAAM;AAAA,KAAG,KAAQ,MAAN,OAAQ,KAAE,CAAC,GAAG,aAAW,KAAK,cAAc,GAAE,WAAU,EAAC,GAAE,KAAK,gBAAgB,KAAK,KAAI,EAAC;AAAA,IAAE,MAAM,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,IAAG,CAAC;AAAA,MAAE,OAAO,KAAK,QAAQ,MAAM,YAAY,cAAa;AAAA,IAAE,IAAa,OAAO,MAAjB;AAAA,MAAmB,KAAE,CAAC,IAAE,GAAE,CAAC;AAAA,IAAO;AAAA,MAAC,IAAO,GAAE,WAAN;AAAA,QAAa,OAAO,KAAK,QAAQ,MAAM,wBAAwB;AAAA,MAAM,GAAE,WAAN,IAAa,KAAE,CAAC,GAAE,IAAG,GAAE,CAAC,IAAM,GAAE,WAAN,IAAa,KAAE,CAAC,GAAE,IAAG,GAAE,IAAG,CAAC,IAAE,GAAE,SAAO,MAAI,KAAE,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA;AAAA,IAAI,MAAM,KAAE,GAAE,IAAG,KAAE,GAAE,IAAG,KAAE,GAAE,IAAG,KAAE,KAAK,YAAY,OAAO;AAAA,IAAE,GAAE,YAAY,mBAAkB,IAAI,GAAG,IAAE,EAAC,CAAC;AAAA,IAAE,WAAU,MAAK;AAAA,MAAE,WAAU,MAAK,GAAE,KAAG;AAAA,QAAC,MAAM,KAAE,GAAE,IAAG;AAAA,QAAG,GAAE,UAAU,QAAS,QAAG;AAAA,UAAC,IAAI;AAAA,UAAE,MAAM,KAAE,GAAE;AAAA,UAAK,IAAS,MAAN,OAAQ,YAAU,GAAE,YAAW;AAAA,YAAC,IAAI,KAAE,MAAK,KAAE;AAAA,YAAK,WAAU,MAAK,GAAE;AAAA,cAAuB,GAAE,SAAd,YAAmB,KAAE,GAAE,QAAgB,GAAE,SAAZ,YAAmB,KAAE,GAAE;AAAA,YAAO,IAAG,MAAG,MAAG,MAAG;AAAA,cAAE,IAAe,GAAE,YAAd,aAAmC,GAAE,eAAd,WAAyB;AAAA,gBAAC,MAAM,KAAE,IAAI,GAAG,GAAE,SAAQ,KAAK,YAAY,GAAE,IAAI,GAAE,GAAE,aAAmB,KAAE,GAAE,QAAQ,UAApB,QAAuC,OAAZ,YAAc,KAAE,IAAI;AAAA,gBAAE,GAAE,QAAM;AAAA,cAAE,EAAM;AAAA,gBAAY,GAAE,YAAd,YAAsB,GAAE,QAAM,IAAI,GAAG,GAAE,SAAQ,KAAK,YAAY,GAAE,IAAI,CAAC,IAAE,GAAE,QAAM,IAAI,GAAG,IAAE,KAAK,YAAY,GAAE,IAAI,CAAC;AAAA,UAAE;AAAA,SAAG;AAAA,MAAE;AAAA,IAAC,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,UAAE,GAAE,YAAY,iBAAgB,IAAI,GAAG,CAAC,IAAE,IAAE,EAAC,GAAE,KAAK,YAAY,OAAO,CAAC,CAAC,GAAE,KAAK,mBAAmB,IAAE,CAAC,IAAE,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAG,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,cAAa;AAAA,MAAE,OAAO,KAAK,eAAe,GAAE,OAAM,EAAC;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,IAAG,GAAE,WAAU;AAAA,QAAC,MAAM,KAAE,KAAK,eAAe,GAAE,WAAU,EAAC;AAAA,QAAE,IAAG,EAAE,cAAa;AAAA,UAAI,MAAM,IAAI,MAAM,4BAA4B;AAAA,QAAE,IAAG,CAAC,GAAE;AAAA,UAAM,OAAO;AAAA,MAAI;AAAA,MAAC,OAAO,GAAG;AAAA,IAAS;AAAA,IAAC,IAAG,cAAa;AAAA,MAAG,OAAO,GAAG;AAAA,IAAa,IAAG,cAAa;AAAA,MAAE,KAAK,KAAK,IAAE,EAAC;AAAA,IAAO,SAAG,cAAa;AAAA,MAAE,KAAK,KAAK,IAAE,EAAC;AAAA,IAAO,SAAG,cAAa;AAAA,MAAE,KAAK,OAAO,IAAE,EAAC;AAAA,IAAO,SAAG,cAAa;AAAA,MAAE,KAAK,UAAU,IAAE,EAAC;AAAA,IAAO;AAAA,MAAC,IAAG,cAAa;AAAA,QAAE,OAAO,KAAK,IAAI,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa;AAAA,QAAE,OAAO,KAAK,QAAQ,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa;AAAA,QAAE,OAAO,KAAK,KAAK,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa;AAAA,QAAE,OAAO,KAAK,OAAO,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa;AAAA,QAAE,OAAO,KAAK,MAAM,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa,GAAE;AAAA,QAAC,MAAM,KAAE,GAAE,MAAM;AAAA,QAAE,OAAO,GAAE,sBAAoB,GAAE,qBAAoB,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,MAAC;AAAA,MAAC,IAAG,cAAa;AAAA,QAAE,KAAK,QAAQ,IAAE,EAAC;AAAA,MAAO,SAAG,cAAa;AAAA,QAAE,KAAK,WAAW,IAAE,EAAC;AAAA,MAAO;AAAA,QAAC,IAAG,cAAa;AAAA,UAAG,OAAO;AAAA,QAAK,IAAG,cAAa,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAY,GAAE,YAAY,EAAC,MAAtB,QAAyB,GAAE,YAAY,IAAE,IAAI,GAAG,GAAE,KAAK,YAAY,KAAK,CAAC,CAAC;AAAA,QAAE,EAAM,SAAG,cAAa;AAAA,UAAE,KAAK,MAAM,IAAE,EAAC;AAAA,QAAO;AAAA,UAAC,IAAG,cAAa;AAAA,YAAE,OAAO;AAAA,UAAK,IAAG,cAAa;AAAA,YAAG,OAAO;AAAA,UAAK,QAAQ,MAAM,2BAA0B,IAAE,QAAQ,GAAE,MAAM;AAAA;AAAA;AAAA;AAAA,IAAK,OAAO;AAAA;AAAA,EAAK,cAAc,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,cAAa,KAAG,KAAK,cAAc,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,aAAa,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,cAAc,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,UAAU,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,YAAY,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,WAAW,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,aAAa,IAAE,EAAC,IAAE,cAAa,KAAG,KAAK,aAAa,IAAE,EAAC,KAAG,QAAQ,MAAM,2BAA0B,IAAE,QAAQ,GAAE,MAAM,GAAE;AAAA;AAAA,EAAM,WAAW,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW,YAAY,EAAC;AAAA,MAAE,IAAU,OAAP;AAAA,QAAS,OAAO;AAAA,IAAC;AAAA,IAAC,IAAI,MAAU,KAAE,KAAK,SAAS,SAAxB,QAAyC,OAAZ,YAAc,KAAE;AAAA,IAAK,OAAc,OAAP,SAAW,KAAE,KAAK,WAAW,kBAAkB,EAAC,IAAG;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,WAAU,MAAK,IAAE;AAAA,MAAC,MAAM,KAAE,GAAE,KAAG,KAAE,KAAK,WAAW,gBAAgB,EAAC;AAAA,MAAS,OAAP,QAAiB,GAAE,SAAT,SAAgB,GAAE,OAAK,KAAK,YAAY,KAAK,IAAW,GAAE,KAAK,SAAf,SAA6B,GAAE,KAAK,SAAf,SAA6B,GAAE,KAAK,SAAf,SAA6B,GAAE,KAAK,SAAf,QAAoB,GAAE,YAAY,IAAE,IAAI,GAAG,IAAE,GAAE,IAAI,CAAC,IAAW,GAAE,KAAK,SAAhB,SAAqB,GAAE,YAAY,IAAE,IAAI,GAAG,KAAE,IAAE,GAAE,GAAE,IAAI,CAAC,IAAW,GAAE,KAAK,SAAhB,UAA+B,GAAE,KAAK,SAAhB,UAA+B,GAAE,KAAK,SAAhB,UAAgC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,WAAiC,GAAE,KAAK,SAAjB,UAAsB,GAAE,YAAY,IAAE,IAAI,GAAG,IAAE,GAAE,IAAI,CAAC,IAAE,QAAQ,MAAM,6BAA6B,IAAG,KAAG,QAAQ,MAAM,YAAY,kCAAiC;AAAA,IAAE;AAAA;AAAA,EAAE,kBAAkB,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,CAAC,GAAE,GAAE,CAAC;AAAA,IAAE,WAAU,MAAK,GAAE,KAAK;AAAA,MAAW,IAAsB,GAAE,SAArB,kBAA0B;AAAA,QAAC,IAAG,GAAE,MAAM,SAAO,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,iBAAiB,GAAE,MAAM,EAAE;AAAA,UAAE,GAAE,KAAG,cAAa,KAAG,GAAE,QAAM,SAAS,GAAE,MAAM,EAAE;AAAA,QAAE;AAAA,QAAC,IAAG,GAAE,MAAM,SAAO,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,iBAAiB,GAAE,MAAM,EAAE;AAAA,UAAE,GAAE,KAAG,cAAa,KAAG,GAAE,QAAM,SAAS,GAAE,MAAM,EAAE;AAAA,QAAE;AAAA,QAAC,IAAG,GAAE,MAAM,SAAO,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,iBAAiB,GAAE,MAAM,EAAE;AAAA,UAAE,GAAE,KAAG,cAAa,KAAG,GAAE,QAAM,SAAS,GAAE,MAAM,EAAE;AAAA,QAAE;AAAA,MAAC;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,OAAO,GAAE,KAAE,KAAK,YAAY,KAAK;AAAA,IAAE,GAAE,YAAY,mBAAkB,IAAI,GAAG,IAAE,EAAC,CAAC;AAAA,IAAE,MAAM,KAAE,GAAE,IAAG,KAAE,GAAE,IAAG,KAAE,GAAE;AAAA,IAAG,SAAQ,KAAE,GAAE,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE,IAAE,EAAE,IAAE;AAAA,UAAC,MAAM,KAAE,CAAC,IAAE,IAAE,EAAC,GAAE,KAAE,CAAC,KAAE,GAAE,KAAG,GAAE,IAAG,KAAE,GAAE,KAAG,GAAE,IAAG,KAAE,GAAE,KAAG,GAAE,EAAE;AAAA,UAAE,GAAE,YAAY,wBAAuB,IAAI,GAAG,IAAE,EAAC,CAAC,GAAE,GAAE,YAAY,yBAAwB,IAAI,GAAG,IAAE,EAAC,CAAC,GAAE,GAAE,YAAY,2BAA0B,IAAI,GAAG,IAAE,EAAC,CAAC,GAAE,KAAK,cAAc,IAAE,EAAC;AAAA,QAAE;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,WAAU,MAAK,GAAE,KAAK;AAAA,MAAK,WAAU,MAAK,GAAE;AAAA,QAAW,IAAe,GAAE,SAAd,WAAmB;AAAA,UAAC,MAAM,KAAE,IAAI,GAAE,SAAQ,KAAE,GAAE,YAAY,EAAC;AAAA,UAAc,OAAZ,aAAe,GAAE,UAAU,IAAI,GAAE,MAAK,EAAC;AAAA,QAAE;AAAA,IAAC,KAAK,gBAAgB,GAAE,KAAK,MAAK,EAAC;AAAA;AAAA,EAAG,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,MAAK,cAAa;AAAA,MAAI,KAAE,GAAE;AAAA,IAAM,OAAO,cAAa,KAAG,GAAE,QAAM,QAAQ,MAAM,yBAAwB,IAAE,QAAO,GAAE,IAAI,GAAE;AAAA;AAAA,EAAM,eAAe,CAAC,IAAE,IAAE;AAAA,IAAC,WAAU,MAAK,IAAE;AAAA,MAAC,IAAG,cAAa,OAAM;AAAA,QAAC,MAAM,KAAE,GAAE,MAAM,GAAE,KAAE,KAAK,gBAAgB,IAAE,EAAC;AAAA,QAAE,IAAG;AAAA,UAAE,OAAO;AAAA,QAAE;AAAA,MAAQ;AAAA,MAAC,MAAM,KAAE,KAAK,cAAc,IAAE,EAAC;AAAA,MAAE,IAAG;AAAA,QAAE,OAAO;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,MAAM;AAAA,IAAE,GAAE,sBAAoB,GAAE;AAAA,IAAK,MAAM,KAAE,GAAE,YAAY,GAAE,IAAI;AAAA,IAAE,IAAG,IAAE;AAAA,MAAC,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,KAAK,QAAO,EAAE,IAAE;AAAA,QAAC,MAAM,KAAE,GAAE,KAAK,KAAK,KAAG,KAAE,KAAK,eAAe,GAAE,KAAK,KAAG,EAAC;AAAA,QAAE,GAAE,YAAY,GAAE,MAAK,IAAE,EAAC;AAAA,MAAE;AAAA,MAAC,KAAK,gBAAgB,GAAE,KAAK,MAAK,EAAC;AAAA,IAAE,EAAM,SAAG,GAAE;AAAA,MAAU,KAAK,qBAAqB,IAAE,EAAC;AAAA,IAAO;AAAA,MAAC,KAAK,YAAY,GAAE,IAAI,KAAG,KAAK,YAAY,IAAE,EAAC;AAAA;AAAA;AAAA,EAAI,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,gBAAgB,GAAE,UAAS,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,IAAE,KAAS,GAAE,aAAT,OAAkB,GAAE,iBAAiB,KAAG,GAAE,MAAM,UAAQ,QAAQ,MAAM,YAAY,4BAA2B,GAAE,MAAM,IAAS,GAAE,aAAT,OAAkB,GAAE,iBAAiB,KAAG,GAAE,MAAM,UAAQ,QAAQ,MAAM,YAAY,4BAA2B,GAAE,MAAM,IAAE,QAAQ,MAAM,8BAA8B,GAAE,kBAAkB,GAAE,MAAM,IAAE,QAAQ,MAAM,YAAY,sBAAqB,GAAE,MAAM;AAAA;AAAA,EAAG,gBAAgB,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,gBAAgB,IAAE,EAAC,GAAE,KAAE,GAAE,YAAY,EAAC;AAAA,MAAE,OAAc,OAAP,QAAU,QAAQ,MAAM,YAAY,sBAAqB,GAAE,MAAM,GAAE,QAAM,GAAE,MAAM,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,IAAS,GAAE,aAAR,KAAiB;AAAA,QAAC,MAAM,KAAE,KAAK,iBAAiB,GAAE,OAAM,EAAC;AAAA,QAAE,OAAO,cAAa,KAAG,GAAE,UAAU,WAAW,MAAK,GAAE,SAAQ,EAAC,KAAG,QAAQ,MAAM,YAAY,GAAE,gCAAgC,GAAE,MAAM,GAAE;AAAA,MAAK;AAAA,MAAC,IAAS,GAAE,aAAR,KAAiB;AAAA,QAAC,MAAM,KAAE,KAAK,iBAAiB,GAAE,OAAM,EAAC;AAAA,QAAE,OAAO,IAAI,GAAG,EAAC;AAAA,MAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE,MAAK,KAAE,SAAQ,KAAE;AAAA,IAAK,IAAG,GAAE,oBAAoB,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,iBAAiB,GAAE,UAAS,EAAC,GAAE,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAE,KAAE,GAAE;AAAA,MAAS,IAAS,OAAN,KAAQ;AAAA,QAAC,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa,IAAG;AAAA,UAAC,IAAG,cAAa,MAAI,cAAa,MAAI,cAAa,MAAI,GAAE,KAAK,WAAS,GAAE,KAAK;AAAA,YAAO,OAAO,KAAK,GAAE,KAAK,IAAI,GAAE,IAAI;AAAA,UAAE,QAAQ,MAAM,4BAA4B,GAAE,MAAM;AAAA,QAAE,EAAM,SAAG,cAAa,MAAI,cAAa,MAAI,GAAE,OAAO,aAAW,GAAE,UAAQ,GAAE,OAAO,aAAW,GAAE;AAAA,UAAO,OAAO,MAAK,GAAE,OAAO,aAAW,KAAG,IAAE,IAAI,YAAY,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,OAAK,CAAC,EAAE,IAAI,IAAI,YAAY,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,OAAK,CAAC,CAAC,IAAE,IAAI,WAAW,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,IAAI,EAAE,IAAI,IAAI,WAAW,GAAE,QAAO,GAAE,QAAO,GAAE,SAAS,IAAI,CAAC;AAAA,QAAG,OAAO,QAAQ,MAAM,4BAA4B,GAAE,MAAM,GAAE;AAAA,MAAI;AAAA,MAAC,IAAU,OAAP;AAAA,QAAS,OAAO,cAAa,MAAI,cAAa,MAAI,cAAa,KAAG,cAAa,MAAI,cAAa,MAAI,cAAa,KAAG,KAAK,GAAE,KAAK,IAAI,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,GAAE,KAAK,MAAG,EAAE,CAAC,IAAE,KAAK,QAAQ,MAAM,6BAA6B,GAAE,MAAM,IAAE,KAAK,QAAQ,MAAM,4BAA4B,GAAE,MAAM;AAAA,MAAE,IAAU,OAAP;AAAA,QAAS,QAAQ,cAAa,MAAI,cAAa,MAAI,cAAa,QAAM,cAAa,MAAI,cAAa,MAAI,cAAa,MAAI,KAAK,GAAE,KAAK,IAAI,GAAE,KAAK,IAAK,CAAC,IAAE,OAAI,GAAE,KAAK,MAAG,EAAE,CAAC,IAAE,KAAK,QAAQ,MAAM,4BAA4B,GAAE,MAAM;AAAA,IAAC;AAAA,IAAC,IAAG,GAAE,oBAAoB,IAAG;AAAA,MAAC,IAAS,GAAE,SAAS,aAAjB,KAA0B;AAAA,QAAC,KAAE,KAAK,gBAAgB,GAAE,SAAS,OAAM,EAAC;AAAA,QAAE,MAAM,KAAE,GAAE,YAAY,EAAC;AAAA,QAAE,IAAG,EAAE,MAAG,GAAE,iBAAiB;AAAA,UAAI,OAAO,KAAK,QAAQ,MAAM,YAAY,6BAA4B,GAAE,MAAM;AAAA,QAAE,KAAE,GAAE,MAAM;AAAA,QAAU,IAAI,KAAE,GAAE,SAAS;AAAA,QAAQ,IAAG,CAAC,IAAE;AAAA,UAAC,IAAI,KAAE,GAAE,SAAS;AAAA,UAAM,MAAK,cAAa,MAAI;AAAA,YAAC,IAAG,GAAE,SAAQ;AAAA,cAAC,KAAE,GAAE;AAAA,cAAQ;AAAA,YAAK;AAAA,YAAC,KAAE,GAAE;AAAA,UAAM;AAAA,QAAC;AAAA,QAAC,OAAI,KAAE,GAAE,WAAW,MAAK,IAAE,EAAC;AAAA,MAAG;AAAA,IAAC,EAAM;AAAA,MAAC,KAAE,GAAE,SAAS,SAAQ,KAAE,KAAK,gBAAgB,GAAE,UAAS,EAAC;AAAA,MAAE,MAAM,KAAE,GAAE,YAAY,EAAC;AAAA,MAAE,IAAU,OAAP;AAAA,QAAS,OAAO,KAAK,QAAQ,MAAM,YAAY,sBAAqB,GAAE,MAAM;AAAA,MAAE,KAAE,GAAE;AAAA;AAAA,IAAO,IAAG,cAAa,OAAK,KAAE,GAAE,YAAkB,OAAP;AAAA,MAAS,OAAO,KAAK,QAAQ,MAAM,YAAY,sBAAqB,GAAE,MAAM;AAAA,IAAE,MAAM,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAE,KAAE,GAAE;AAAA,IAAS,IAAS,OAAN;AAAA,MAAQ,IAAG,cAAa;AAAA,QAAG,GAAE,aAAa,MAAK,IAAE,IAAE,EAAC;AAAA,MAAO,SAAG,IAAE;AAAA,QAAC,IAAG,EAAE,cAAa,MAAI,cAAa;AAAA,UAAI,OAAO,KAAK,QAAQ,MAAM,YAAY,sCAAqC,GAAE,MAAM;AAAA,QAAE,IAAG,cAAa,IAAG;AAAA,UAAC,MAAM,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,EAAE;AAAA,UAAM,IAAG,cAAa,IAAG;AAAA,YAAC,IAAG,EAAE,cAAa;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,YAAE,GAAE,KAAK,MAAG,GAAE;AAAA,UAAM,EAAM;AAAA,YAAC,IAAG,EAAE,cAAa;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,YAAE;AAAA,cAAC,MAAM,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,EAAE;AAAA,cAAM,IAAG,KAAE;AAAA,gBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,cAAE,IAAG,EAAE,cAAa;AAAA,gBAAI,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,cAAE;AAAA,gBAAC,MAAM,KAAE,GAAE,SAAS,YAAY;AAAA,gBAAE,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM,SAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,WAAc;AAAA,kBAAC,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA,gBAAG,EAAM;AAAA,kBAAC,IAAc,OAAX,YAA0B,OAAZ,aAA2B,OAAZ;AAAA,oBAAc,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,IAAG,EAAE,KAAE,KAAO,GAAE,KAAK,WAAX;AAAA,oBAAmB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,kBAAE,GAAE,KAAK,IAAE,MAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK,IAAG,GAAE,KAAK,IAAE,KAAE,KAAG,GAAE,KAAK;AAAA;AAAA,cAAI;AAAA,YAAC;AAAA;AAAA,QAAE,EAAM,SAAG,cAAa,IAAG;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAM,IAAG,EAAE,cAAa;AAAA,YAAI,OAAO,KAAK,QAAQ,MAAM,yBAAyB,gBAAe,4BAA2B,GAAE,MAAM;AAAA,UAAE,IAAG,cAAa,IAAG;AAAA,YAAC,IAAG,GAAE,SAAO;AAAA,cAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,YAAE,IAAS,OAAN;AAAA,cAAQ,GAAE,KAAK,KAAG,GAAE;AAAA,YAAW,SAAS,OAAN,KAAQ;AAAA,cAAC,IAAG,GAAE,KAAK,SAAO;AAAA,gBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,cAAE,GAAE,KAAK,KAAG,GAAE;AAAA,YAAM,EAAM,SAAS,OAAN,KAAQ;AAAA,cAAC,IAAG,GAAE,KAAK,SAAO;AAAA,gBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,cAAE,GAAE,KAAK,KAAG,GAAE;AAAA,YAAM,EAAM,SAAS,OAAN,KAAQ;AAAA,cAAC,IAAG,GAAE,KAAK,SAAO;AAAA,gBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,cAAE,GAAE,KAAK,KAAG,GAAE;AAAA,YAAM;AAAA,UAAC,EAAM;AAAA,YAAC,IAAG,EAAE,cAAa;AAAA,cAAI,OAAO,KAAK,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,YAAE,IAAG,GAAE,WAAS,GAAE,KAAK;AAAA,cAAO,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,YAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE,IAAE;AAAA,cAAC,MAAM,KAAE,GAAE;AAAA,cAAG,IAAS,OAAN,OAAe,OAAN;AAAA,gBAAQ,GAAE,KAAK,KAAG,GAAE,KAAK;AAAA,cAAQ,SAAS,OAAN,OAAe,OAAN,KAAQ;AAAA,gBAAC,IAAG,GAAE,KAAK,SAAO;AAAA,kBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,gBAAE,GAAE,KAAK,KAAG,GAAE,KAAK;AAAA,cAAG,EAAM,SAAS,OAAN,OAAe,OAAN,KAAQ;AAAA,gBAAC,IAAG,GAAE,KAAK,SAAO;AAAA,kBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,gBAAE,GAAE,KAAK,KAAG,GAAE,KAAK;AAAA,cAAG,EAAM;AAAA,gBAAC,IAAS,OAAN,OAAe,OAAN;AAAA,kBAAQ,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,gBAAE,IAAG,GAAE,KAAK,SAAO;AAAA,kBAAE,OAAO,KAAK,QAAQ,MAAM,yBAAyB,mBAAkB,YAAW,GAAE,MAAM;AAAA,gBAAE,GAAE,KAAK,KAAG,GAAE,KAAK;AAAA;AAAA,YAAI;AAAA;AAAA,QAAE;AAAA,MAAC,EAAM;AAAA,sBAAa,MAAI,cAAa,KAAG,GAAE,QAAM,GAAE,QAAM,cAAa,MAAI,cAAa,MAAI,cAAa,MAAI,cAAa,KAAG,GAAE,KAAK,IAAI,GAAE,IAAI,IAAE,QAAQ,MAAM,yBAAyB,YAAW,GAAE,MAAM;AAAA,IAAO;AAAA,MAAC,MAAM,KAAE,GAAE,WAAW,MAAK,IAAE,EAAC;AAAA,MAAE,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE;AAAA,QAAM,IAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI;AAAA,QAAO,SAAW,OAAR;AAAA,UAAU,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,QAAK;AAAA,QAAO,SAAW,OAAR;AAAA,UAAU,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,QAAK;AAAA,QAAO;AAAA,kBAAQ,MAAM,oBAAoB,YAAW,GAAE,MAAM;AAAA,MAAE,EAAM,SAAG,cAAa,MAAI,cAAa,IAAG;AAAA,QAAC,MAAM,KAAE,GAAE,MAAK,KAAE,GAAE;AAAA,QAAK,IAAG,GAAE,WAAS,GAAE;AAAA,UAAO,OAAO,KAAK,QAAQ,MAAM,gCAAgC,GAAE,MAAM;AAAA,QAAE,IAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAU,OAAP;AAAA,UAAS,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,OAAI,GAAE;AAAA,QAAQ,SAAW,OAAR;AAAA,UAAU,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,QAAK,GAAE;AAAA,QAAQ,SAAW,OAAR;AAAA,UAAU,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE;AAAA,YAAE,GAAE,QAAK,GAAE;AAAA,QAAQ;AAAA,kBAAQ,MAAM,oBAAoB,YAAW,GAAE,MAAM;AAAA,MAAE,EAAM;AAAA,QAAC,IAAG,EAAE,cAAa,MAAI,cAAa;AAAA,UAAI,OAAO,KAAK,QAAQ,MAAM,oBAAoB,GAAE,2BAA2B,GAAE,MAAM;AAAA,QAAS,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAa,OAAP,OAAS,GAAE,SAAO,GAAE,QAAc,OAAR,QAAU,GAAE,UAAQ,GAAE,QAAc,OAAR,QAAU,GAAE,UAAQ,GAAE,QAAM,QAAQ,MAAM,oBAAoB,YAAW,GAAE,MAAM;AAAA;AAAA,MAAG,cAAa,MAAI,GAAE,aAAa,MAAK,IAAE,IAAE,EAAC;AAAA;AAAA;AAAA,EAAI,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,IAAI,GAAG,EAAC;AAAA,IAAE,GAAE,UAAU,IAAI,GAAE,MAAK,EAAC;AAAA;AAAA,EAAG,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAY,GAAE,UAAT,SAAiB,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,IAAG,GAAE,eAAe,GAAE,MAAK,IAAE,EAAC;AAAA;AAAA,EAAG,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAK,IAAU,GAAE,UAAT,MAAe;AAAA,MAAC,IAAG,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAS,OAAP;AAAA,QAAS,OAAO,KAAK,QAAQ,MAAM,8BAA8B,GAAE,cAAc,GAAE,MAAM;AAAA,MAAE,GAAE,iBAAiB,OAAK,KAAE,GAAE,MAAM;AAAA,IAAG,EAAM;AAAA,MAAC,MAAM,KAAE,GAAE,KAAK;AAAA,MAAK,IAAW,OAAR,SAAmB,OAAR,SAAmB,OAAR,SAAoB,OAAT,UAAoB,OAAR,SAAoB,OAAT,UAAqB,OAAT,UAAqB,OAAT,UAAsB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAwB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAAyB,OAAV,SAAY;AAAA,QAAC,MAAM,KAAE,IAAI,GAAG,GAAE,MAAK,CAAC,CAAC;AAAA,QAAE,KAAE,KAAK,YAAY,IAAE,EAAC;AAAA,MAAE;AAAA;AAAA,IAAE,GAAE,eAAe,GAAE,MAAK,IAAE,EAAC;AAAA;AAAA,EAAG,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAK,IAAU,GAAE,UAAT,MAAe;AAAA,MAAC,IAAG,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAS,OAAP;AAAA,QAAS,OAAO,KAAK,QAAQ,MAAM,8BAA8B,GAAE,cAAc,GAAE,MAAM;AAAA,MAAE,GAAE,iBAAiB,OAAK,KAAE,GAAE,MAAM;AAAA,IAAG,EAAM;AAAA,MAAC,IAAU,GAAE,SAAT;AAAA,QAAc,OAAO,KAAK,QAAQ,MAAM,YAAY,GAAE,0BAA0B,GAAE,MAAM;AAAA,MAAE,MAAM,KAAE,GAAE,KAAK;AAAA,MAAK,IAAW,OAAR,SAAmB,OAAR,SAAmB,OAAR,SAAoB,OAAT,UAAoB,OAAR,SAAoB,OAAT,UAAqB,OAAT,UAAqB,OAAT,UAAsB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAwB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAAe,GAAE,gBAAgB,MAAI,GAAE,gBAAgB,MAAI,GAAE,gBAAgB,IAAG;AAAA,QAAC,MAAM,KAAE,IAAI,GAAG,GAAE,MAAK,CAAC,CAAC;AAAA,QAAE,KAAE,KAAK,YAAY,IAAE,EAAC;AAAA,MAAE;AAAA;AAAA,IAAE,GAAE,eAAe,GAAE,MAAK,IAAE,EAAC;AAAA;AAAA,EAAG,OAAO,CAAC,IAAE,IAAE;AAAA,IAAC,KAAE,GAAE,MAAM;AAAA,IAAE,MAAM,KAAE,KAAK,eAAe,GAAE,WAAU,EAAC;AAAA,IAAE,IAAG,EAAE,cAAa;AAAA,MAAI,OAAO,QAAQ,MAAM,8BAA8B,GAAE,MAAM,GAAE;AAAA,IAAK,IAAI,KAAE;AAAA,IAAK,WAAU,MAAK,GAAE;AAAA,MAAM,IAAG,cAAa;AAAA,QAAG,WAAU,MAAK,GAAE,WAAU;AAAA,UAAC,IAAG,cAAa,IAAG;AAAA,YAAC,KAAE;AAAA,YAAE;AAAA,UAAQ;AAAA,UAAC,MAAM,KAAE,KAAK,eAAe,IAAE,EAAC;AAAA,UAAE,IAAG,EAAE,cAAa;AAAA,YAAI,OAAO,QAAQ,MAAM,+BAA+B,GAAE,MAAM,GAAE;AAAA,UAAK,IAAG,GAAE,UAAQ,GAAE;AAAA,YAAM,OAAO,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,QAAC;AAAA,MAAM;AAAA,sBAAa,OAAK,KAAE;AAAA,IAAG,OAAO,KAAE,KAAK,gBAAgB,GAAE,MAAK,EAAC,IAAE;AAAA;AAAA,EAAK,GAAG,CAAC,IAAE,IAAE;AAAA,IAAC,KAAE,GAAE,MAAM;AAAA,IAAE,MAAM,KAAE,KAAK,eAAe,GAAE,WAAU,EAAC;AAAA,IAAE,IAAG,EAAE,cAAa;AAAA,MAAI,OAAO,QAAQ,MAAM,8BAA8B,GAAE,MAAM,GAAE;AAAA,IAAK,IAAG,GAAE;AAAA,MAAM,OAAO,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,IAAE,WAAU,MAAK,GAAE,QAAO;AAAA,MAAC,MAAM,KAAE,KAAK,eAAe,GAAE,WAAU,EAAC;AAAA,MAAE,IAAG,EAAE,cAAa;AAAA,QAAI,OAAO,QAAQ,MAAM,8BAA8B,GAAE,MAAM,GAAE;AAAA,MAAK,IAAG,GAAE;AAAA,QAAM,OAAO,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO,GAAE,OAAK,KAAK,gBAAgB,GAAE,MAAK,EAAC,IAAE;AAAA;AAAA,EAAK,eAAe,CAAC,IAAE;AAAA,IAAC,OAAO,cAAa,KAAG,GAAE,SAAO,QAAQ,MAAM,0BAAyB,EAAC,GAAE;AAAA;AAAA,EAAG,IAAI,CAAC,IAAE,IAAE;AAAA,IAAC,KAAI,KAAE,GAAE,MAAM,GAAE,KAAK,cAAc,GAAE,MAAK,EAAC,EAAE,KAAK,gBAAgB,KAAK,eAAe,GAAE,WAAU,EAAC,CAAC,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,MAAE,IAAG,OAAI,GAAG;AAAA,QAAU;AAAA,MAAM,IAAU,OAAP,QAAU,OAAI,GAAG;AAAA,QAAa,OAAO;AAAA,MAAE,KAAK,cAAc,GAAE,WAAU,EAAC;AAAA,IAAE;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,KAAK,CAAC,IAAE,IAAE;AAAA,IAAC,KAAI,KAAE,GAAE,MAAM,MAAI;AAAA,MAAC,MAAM,KAAE,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,MAAE,IAAG,OAAI,GAAG;AAAA,QAAU;AAAA,MAAM,IAAG,OAAI,GAAG,cAAa;AAAA,QAAC,IAAG,GAAE,YAAW;AAAA,UAAC,IAAG,KAAK,gBAAgB,GAAE,WAAW,MAAK,EAAC,MAAI,GAAG;AAAA,YAAU;AAAA,QAAK;AAAA,MAAC,EAAM,SAAU,OAAP;AAAA,QAAS,OAAO;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,KAAI,KAAE,GAAE,MAAM,EAAE,KAAK,gBAAgB,KAAK,eAAe,GAAE,WAAU,EAAC,CAAC,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,gBAAgB,GAAE,MAAK,EAAC;AAAA,MAAE,IAAG,OAAI,GAAG;AAAA,QAAU;AAAA,MAAM,IAAG,OAAI,GAAG,gBAAqB,OAAP;AAAA,QAAS,OAAO;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAE,KAAE,GAAE;AAAA,IAAK,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAG,GAAE,OAAM,GAAE,SAAS,MAAK,GAAE,IAAI;AAAA,MAAE,OAAO,IAAI,GAAG,IAAE,KAAK,YAAY,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,GAAE,SAAS,YAAY;AAAA,MAAE,IAAI,KAAE;AAAA,MAAG,IAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAY;AAAA,QAAC,IAAG,CAAC,GAAE,SAAS,GAAG;AAAA,UAAE,OAAO,QAAQ,MAAM,uBAAuB,YAAW,GAAE,MAAM,GAAE;AAAA,QAAK,KAAE;AAAA;AAAA,MAAO,MAAM,KAAE,GAAE,YAAY;AAAA,MAAE,IAAI,KAAE;AAAA,MAAG,IAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAW,SAAG,GAAE,SAAS,GAAG;AAAA,QAAE,KAAE;AAAA,MAAY;AAAA,QAAC,IAAG,CAAC,GAAE,SAAS,GAAG;AAAA,UAAE,OAAO,QAAQ,MAAM,uBAAuB,YAAW,GAAE,MAAM,GAAE;AAAA,QAAK,KAAE;AAAA;AAAA,MAAO,MAAM,KAAE,QAAQ,CAAC,IAAE,IAAE,IAAE;AAAA,QAAC,IAAG,OAAI;AAAA,UAAE,OAAO;AAAA,QAAE,MAAM,KAAE,IAAI,MAAM,GAAE,MAAM;AAAA,QAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO;AAAA,UAAI,GAAE,MAAG,GAAG,GAAE,KAAG,IAAE,EAAC;AAAA,QAAE,OAAO;AAAA,QAAG,MAAM,KAAK,GAAE,IAAI,GAAE,IAAE,EAAC;AAAA,MAAE,OAAO,IAAI,GAAG,IAAE,KAAK,YAAY,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO,QAAQ,MAAM,qBAAqB,GAAE,SAAS,cAAc,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,iBAAiB,GAAE,IAAI,EAAE,MAAM,EAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,IAAG,cAAa,IAAG;AAAA,MAAC,IAAU,GAAE,SAAT;AAAA,QAAc,OAAO,GAAG;AAAA,MAAK,QAAO,GAAE,KAAK,YAAY;AAAA,aAAQ;AAAA,aAAY;AAAA,aAAW;AAAA,aAAW;AAAA,aAAW;AAAA,UAAM,OAAO,KAAK,sBAAsB,IAAE,EAAC;AAAA,aAAO;AAAA,aAAY;AAAA,aAAY;AAAA,aAAY;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,aAAa;AAAA,UAAQ,OAAO,KAAK,oBAAoB,IAAE,EAAC;AAAA,aAAO;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,aAAe;AAAA,aAAc;AAAA,aAAe;AAAA,UAAU,OAAO,KAAK,uBAAuB,IAAE,EAAC;AAAA;AAAA,IAAE;AAAA,IAAC,MAAM,KAAE,cAAa,KAAG,GAAE,KAAK,OAAK,GAAE,MAAK,KAAE,cAAa,KAAG,KAAK,YAAY,GAAE,IAAI,IAAE,KAAK,YAAY,GAAE,IAAI;AAAA,IAAE,IAAU,OAAP;AAAA,MAAS,OAAO,QAAQ,MAAM,gBAAgB,YAAW,GAAE,MAAM,GAAE;AAAA,IAAK,IAAO,GAAE,SAAN;AAAA,MAAW,OAAO;AAAA,IAAK,MAAM,KAAE,IAAI,GAAG,IAAI,YAAY,GAAE,IAAI,GAAE,IAAE,CAAC;AAAA,IAAE,IAAG,cAAa,GAAE;AAAA,MAAC,IAAG,GAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,QAAO,EAAE,IAAE;AAAA,UAAC,MAAM,KAAE,GAAE,QAAQ,KAAG,KAAE,GAAE,KAAK,KAAG,KAAE,KAAK,eAAe,IAAE,EAAC;AAAA,UAAE,GAAE,QAAQ,MAAK,IAAE,GAAE,MAAK,GAAE,QAAO,EAAC;AAAA,QAAE;AAAA,IAAC,EAAM,SAAG,cAAa,GAAE;AAAA,MAAC,IAAI,KAAE;AAAA,MAAE,IAAG,GAAE;AAAA,QAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,QAAO,EAAE,IAAE;AAAA,UAAC,MAAM,KAAE,GAAE,KAAK,KAAG,KAAE,KAAK,eAAe,IAAE,EAAC;AAAA,UAAS,GAAE,WAAT,WAAmC,KAAE,GAAE,cAAZ,QAAmC,OAAZ,YAAc,YAAU,GAAE,UAA1D,QAAgE,GAAE,SAAO,KAAK,YAAY,KAAK,IAAE,GAAE,SAAO,GAAE,WAAU,GAAE,QAAQ,MAAK,IAAE,GAAE,QAAO,IAAE,EAAC,GAAE,MAAG,GAAE;AAAA,QAAO;AAAA,IAAC,EAAM;AAAA,cAAQ,MAAM,iBAAiB,aAAY,GAAE,MAAM;AAAA,IAAE,OAAO,cAAa,KAAG,GAAE,WAAW,MAAK,GAAE,SAAQ,EAAC,IAAE;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,GAAE,IAAI,GAAE,KAAE,GAAE;AAAA,IAAK,IAAW,OAAR,SAAmB,OAAR,SAAmB,OAAR,SAAmB,OAAR,SAAmB,OAAR,SAAoB,OAAT,QAAW;AAAA,MAAC,OAAO,IAAI,GAAG,GAAE,aAAY,EAAC;AAAA,IAAC;AAAA,IAAC,OAAgB,OAAT,UAAqB,OAAT,UAAqB,OAAT,UAAsB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,WAAuB,OAAV,UAAY,KAAK,oBAAoB,IAAE,EAAC,IAAa,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAA0B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,aAA2B,OAAZ,YAAc,KAAK,uBAAuB,IAAE,EAAC,IAAE,GAAE;AAAA;AAAA,EAAM,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,GAAE,iBAAiB,GAAE,IAAI;AAAA,IAAE,OAAc,OAAP,OAAS,KAAE,GAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA;AAAA,EAAE,kBAAkB,CAAC,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAG,IAAW,GAAE,SAAV;AAAA,MAAe,OAAO;AAAA,IAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE,IAAE;AAAA,MAAC,MAAM,KAAE,GAAG,UAAU,IAAI,GAAE,IAAI;AAAA,MAAE,GAAG,UAAU,IAAI,GAAE,IAAG,IAAI,IAAE,OAAI,KAAE,GAAE;AAAA,IAAI;AAAA,IAAC,OAAe,GAAE,SAAV,QAAe,KAAK,YAAY,KAAK,IAAE;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC;AAAA,IAAE,IAAS,GAAE,aAAR;AAAA,MAAiB,OAAO,IAAI,GAAG,EAAC;AAAA,IAAE,IAAS,GAAE,aAAR;AAAA,MAAiB,OAAO,cAAa,KAAG,GAAE,UAAU,WAAW,MAAK,GAAE,SAAQ,EAAC,KAAG,QAAQ,MAAM,6BAA6B,GAAE,MAAM,GAAE;AAAA,IAAM,MAAM,KAAE,cAAa,KAAG,GAAE,QAAM,cAAa,KAAG,MAAM,KAAK,GAAE,IAAI,IAAE;AAAA,IAAK,QAAO,GAAE;AAAA,WAAe,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,CAAC,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,CAAC,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,CAAC,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,CAAC,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,GAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,CAAC,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,CAAC,IAAE,EAAC;AAAA,MAAC;AAAA;AAAA,IAAE,OAAO,QAAQ,MAAM,0BAA0B,GAAE,kBAAkB,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAe,GAAE,MAAK,EAAC,GAAE,KAAE,KAAK,eAAe,GAAE,OAAM,EAAC,GAAE,KAAE,cAAa,KAAG,GAAE,QAAM,cAAa,MAAI,cAAa,KAAG,MAAM,KAAK,GAAE,IAAI,IAAE,MAAK,KAAE,cAAa,KAAG,GAAE,QAAM,cAAa,MAAI,cAAa,KAAG,MAAM,KAAK,GAAE,IAAI,IAAE;AAAA,IAAK,QAAO,GAAE;AAAA,WAAe,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,YAAC,MAAM,KAAE,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,cAAC,IAAe,GAAG,GAAE,UAAjB,aAAoC,GAAG,GAAE,UAAjB;AAAA,gBAAuB,OAAO;AAAA,cAAK,MAAM,KAAE,GAAG,GAAE,MAAM,IAAG,KAAE,GAAG,GAAE,MAAM,IAAG,KAAE,GAAG,GAAE,MAAM;AAAA,cAAG,IAAG,OAAI,GAAG,GAAE,MAAM;AAAA,gBAAG,OAAO;AAAA,cAAK,MAAM,KAAE,IAAI,MAAM,KAAE,EAAC;AAAA,cAAE,SAAQ,KAAE,EAAE,KAAE,IAAE;AAAA,gBAAI,SAAQ,KAAE,EAAE,KAAE,IAAE,MAAI;AAAA,kBAAC,IAAI,KAAE;AAAA,kBAAE,SAAQ,KAAE,EAAE,KAAE,IAAE;AAAA,oBAAI,MAAG,GAAE,KAAE,KAAE,MAAG,GAAE,KAAE,KAAE;AAAA,kBAAG,GAAE,KAAE,KAAE,MAAG;AAAA,gBAAE;AAAA,cAAC,OAAO;AAAA,cAAG,IAAE,GAAE,UAAS,IAAE,GAAE,QAAQ;AAAA,YAAE,IAAU,OAAP;AAAA,cAAS,OAAO,QAAQ,MAAM,sCAAsC,GAAE,OAAO,GAAE;AAAA,YAAK,MAAM,KAAE,GAAG,GAAE,SAAS,MAAM,IAAG,KAAE,GAAG,GAAE,SAAS,MAAM,IAAG,KAAE,KAAK,YAAY,MAAM,MAAK,KAAI;AAAA,YAAE,OAAO,IAAI,GAAG,IAAE,EAAC;AAAA,UAAC;AAAA,UAAC,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,YAAC,MAAM,KAAE,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,cAAC,IAAe,GAAG,GAAE,UAAjB,aAAoC,GAAG,GAAE,UAAjB;AAAA,gBAAuB,OAAO;AAAA,cAAK,MAAM,KAAE,GAAG,GAAE,MAAM,IAAG,KAAE,GAAG,GAAE,MAAM;AAAA,cAAG,IAAG,OAAI,GAAE;AAAA,gBAAO,OAAO;AAAA,cAAK,MAAM,KAAE,IAAI,MAAM,EAAC;AAAA,cAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,MAAI;AAAA,gBAAC,IAAI,KAAE;AAAA,gBAAE,SAAQ,KAAE,EAAE,KAAE,IAAE;AAAA,kBAAI,MAAG,GAAE,KAAE,KAAE,MAAG,GAAE;AAAA,gBAAG,GAAE,MAAG;AAAA,cAAE;AAAA,cAAC,OAAO;AAAA,cAAG,IAAE,GAAE,UAAS,IAAE,GAAE,QAAQ;AAAA,YAAE,OAAc,OAAP,QAAU,QAAQ,MAAM,6CAA6C,GAAE,OAAO,GAAE,QAAM,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,UAAC;AAAA,UAAC,IAAG,cAAa,MAAI,cAAa,IAAG;AAAA,YAAC,MAAM,KAAE,QAAQ,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,cAAC,IAAe,GAAG,GAAE,UAAjB,aAAoC,GAAG,GAAE,UAAjB;AAAA,gBAAuB,OAAO;AAAA,cAAK,MAAM,KAAE,GAAG,GAAE,MAAM,IAAG,KAAE,GAAG,GAAE,MAAM;AAAA,cAAG,IAAG,OAAI,GAAE;AAAA,gBAAO,OAAO;AAAA,cAAK,MAAM,KAAE,CAAC;AAAA,cAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,MAAI;AAAA,gBAAC,IAAI,KAAE;AAAA,gBAAE,SAAQ,KAAE,EAAE,KAAE,IAAE;AAAA,kBAAI,MAAG,GAAE,MAAG,GAAE,KAAE,KAAE;AAAA,gBAAG,GAAE,MAAG;AAAA,cAAE;AAAA,cAAC,OAAO;AAAA,cAAG,IAAE,GAAE,UAAS,IAAE,GAAE,QAAQ;AAAA,YAAE,OAAc,OAAP,QAAU,QAAQ,MAAM,6CAA6C,GAAE,OAAO,GAAE,QAAM,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,UAAC;AAAA,UAAC;AAAA,YAAC,IAAG,GAAE,WAAS,GAAE;AAAA,cAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,YAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,YAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,UAAC;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,cAAa,KAAG,IAAI,GAAG,IAAE,GAAE,QAAQ,IAAE,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,cAAa,KAAG,IAAI,GAAG,IAAE,GAAE,QAAQ,IAAE,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,KAAI;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,KAAE,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,MAAK;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,MAAG,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM,MAAK;AAAA,QAAC,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,GAAG;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,EAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,MAAM,KAAE,IAAE,KAAE,IAAE,KAAE,KAAK,mBAAmB,CAAC,GAAE,UAAS,GAAE,QAAQ,CAAC;AAAA,QAAE,OAAO,IAAI,GAAG,MAAG,IAAE,EAAC;AAAA,MAAC;AAAA,WAAM;AAAA,QAAI,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,KAAE,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAI,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,KAAE,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,KAAE,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,OAAI,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,OAAI,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,OAAI,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,OAAI,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,OAAI,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,OAAI,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,MAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,MAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,MAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA,WAAO;AAAA,QAAK,IAAG,GAAG,EAAC,KAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE;AAAA,UAAE,IAAG,GAAE,WAAS,GAAE;AAAA,YAAO,OAAO,QAAQ,MAAM,gCAAgC,GAAE,OAAO,GAAE;AAAA,UAAK,MAAM,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,GAAE,MAAG,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,IAAG,GAAG,EAAC,GAAE;AAAA,UAAC,MAAM,KAAE,IAAE,KAAE,GAAE,IAAK,CAAC,IAAE,OAAI,MAAG,KAAE,IAAE,CAAE;AAAA,UAAE,OAAO,IAAI,GAAG,IAAE,GAAE,QAAQ;AAAA,QAAC;AAAA,QAAC,OAAO,IAAI,GAAG,MAAG,KAAE,IAAE,GAAE,KAAK,YAAY,MAAM,CAAC;AAAA;AAAA,IAAE,OAAO,QAAQ,MAAM,oBAAoB,GAAE,kBAAkB,GAAE,MAAM,GAAE;AAAA;AAAA,EAAK,SAAS,CAAC,IAAE,IAAE;AAAA,IAAC,IAAU,GAAE,sBAAT;AAAA,MAA2B,OAAO,GAAE;AAAA,IAAkB,MAAM,KAAE,GAAE,MAAM;AAAA,IAAE,GAAE,sBAAoB,GAAE;AAAA,IAAK,MAAM,KAAE,GAAE,YAAY,GAAE,IAAI;AAAA,IAAE,IAAG,CAAC,IAAE;AAAA,MAAC,IAAG,GAAE;AAAA,QAAU,OAAO,KAAK,qBAAqB,IAAE,EAAC;AAAA,MAAE,OAAO,KAAK,YAAY,GAAE,IAAI,IAAE,KAAK,YAAY,IAAE,EAAC,KAAG,QAAQ,MAAM,qBAAqB,GAAE,eAAe,GAAE,MAAM,GAAE;AAAA,IAAK;AAAA,IAAC,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,KAAK,QAAO,EAAE,IAAE;AAAA,MAAC,MAAM,KAAE,GAAE,KAAK,KAAK,KAAG,KAAE,KAAK,eAAe,GAAE,KAAK,KAAG,EAAC;AAAA,MAAE,GAAE,eAAe,GAAE,MAAK,IAAE,EAAC;AAAA,IAAE;AAAA,IAAC,OAAO,KAAK,gBAAgB,GAAE,KAAK,MAAK,EAAC;AAAA;AAAA,EAAE,oBAAoB,CAAC,IAAE,IAAE;AAAA,IAAC,QAAO,GAAE;AAAA,WAAW;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAS,OAAO,KAAK,SAAS,OAAO,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAqB,OAAO,KAAK,SAAS,mBAAmB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAU,OAAO,KAAK,SAAS,QAAQ,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAkB,OAAO,KAAK,SAAS,gBAAgB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAmB,OAAO,KAAK,SAAS,iBAAiB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAS,OAAO,KAAK,SAAS,OAAO,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAU,OAAO,KAAK,SAAS,QAAQ,IAAE,EAAC;AAAA,WAAO;AAAA,QAAU,OAAO,KAAK,SAAS,QAAQ,IAAE,EAAC;AAAA,WAAO;AAAA,QAAU,OAAO,KAAK,SAAS,QAAQ,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAM,OAAO,KAAK,SAAS,IAAI,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAQ,OAAO,KAAK,SAAS,MAAM,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAO,OAAO,KAAK,SAAS,KAAK,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAS,OAAO,KAAK,SAAS,OAAO,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAmB,OAAO,KAAK,SAAS,iBAAiB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAmB,OAAO,KAAK,SAAS,iBAAiB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAA4B,OAAO,KAAK,SAAS,0BAA0B,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAqB,OAAO,KAAK,SAAS,mBAAmB,IAAE,EAAC;AAAA,WAAO;AAAA,QAA+B,OAAO,KAAK,SAAS,6BAA6B,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAA4B,OAAO,KAAK,SAAS,0BAA0B,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAW,OAAO,KAAK,SAAS,SAAS,IAAE,EAAC;AAAA,WAAO;AAAA,QAAe,OAAO,KAAK,SAAS,aAAa,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAkB,OAAO,KAAK,SAAS,gBAAgB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAkB,OAAO,KAAK,SAAS,gBAAgB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAkB,OAAO,KAAK,SAAS,gBAAgB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAAmB,OAAO,KAAK,SAAS,iBAAiB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAiB,OAAO,KAAK,SAAS,eAAe,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAyB,OAAO,KAAK,SAAS,uBAAuB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAuB,OAAO,KAAK,SAAS,qBAAqB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAa,OAAO,KAAK,SAAS,WAAW,IAAE,EAAC;AAAA,WAAO;AAAA,QAAkB,OAAO,KAAK,SAAS,gBAAgB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAsB,OAAO,KAAK,SAAS,oBAAoB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAoB,OAAO,KAAK,SAAS,kBAAkB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAqB,OAAO,KAAK,SAAS,mBAAmB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAc,OAAO,KAAK,SAAS,YAAY,IAAE,EAAC;AAAA,WAAO;AAAA,QAAgB,OAAO,KAAK,SAAS,cAAc,IAAE,EAAC;AAAA,WAAO;AAAA,QAAmB,OAAO,KAAK,SAAS,iBAAiB,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA,WAAO;AAAA,QAAY,OAAO,KAAK,SAAS,UAAU,IAAE,EAAC;AAAA;AAAA,IAAE,MAAM,KAAE,GAAE,YAAY,GAAE,IAAI;AAAA,IAAE,IAAG,IAAE;AAAA,MAAC,MAAM,KAAE,GAAE,MAAM;AAAA,MAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,KAAK,KAAK,QAAO,EAAE,IAAE;AAAA,QAAC,MAAM,KAAE,GAAE,KAAK,KAAK,KAAG,KAAE,KAAK,eAAe,GAAE,KAAK,KAAG,EAAC;AAAA,QAAE,GAAE,YAAY,GAAE,MAAK,IAAE,EAAC;AAAA,MAAE;AAAA,MAAC,OAAO,KAAK,gBAAgB,GAAE,KAAK,MAAK,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,qBAAqB,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,CAAC,GAAE,QAAU,GAAE,KAAK,WAAX;AAAA,MAAkB,OAAO,IAAI,GAAG,GAAE,KAAK,YAAY,GAAE,IAAI,CAAC;AAAA,IAAE,MAAM,KAAE,KAAK,eAAe,GAAE,KAAK,IAAG,EAAC;AAAA,IAAE,OAAO,GAAE,WAAS,KAAK,YAAY,GAAE,IAAI,GAAE,GAAE,WAAW,MAAK,GAAE,SAAQ,EAAC,EAAE,MAAM;AAAA;AAAA,EAAE,mBAAmB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,GAAE,IAAI,GAAE,KAAE,GAAE,KAAK,YAAY,GAAE,KAAE,GAAG;AAAA,IAAG,IAAe,OAAZ;AAAA,MAAc,OAAO,QAAQ,MAAM,2BAA2B,YAAW,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,CAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,IAAG,GAAE,UAAS;AAAA,QAAC,MAAM,KAAE,GAAE;AAAA,QAAY,WAAU,MAAK;AAAA,UAAE,GAAE,KAAK,EAAC;AAAA,MAAE,EAAM;AAAA,WAAE,KAAK,GAAE,WAAW;AAAA,IAAO,SAAG,GAAE;AAAA,MAAK,WAAU,MAAK,GAAE,MAAK;AAAA,QAAC,MAAM,KAAE,KAAK,eAAe,IAAE,EAAC;AAAA,QAAE,IAAG,cAAa,IAAG;AAAA,UAAC,MAAM,KAAE,GAAE;AAAA,UAAK,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE,IAAE;AAAA,YAAC,IAAI,KAAE,GAAE;AAAA,YAAG,GAAE,KAAK,EAAC;AAAA,UAAE;AAAA,QAAC,EAAM,SAAG,cAAa,IAAG;AAAA,UAAC,IAAI,KAAE,GAAE;AAAA,UAAM,GAAE,KAAK,EAAC;AAAA,QAAE;AAAA,MAAC;AAAA,IAAC,IAAG,GAAE,gBAAgB,MAAW,GAAE,KAAK,WAAd,SAAuB,GAAE,KAAK,SAAO,GAAG,MAAS,GAAE,WAAN,GAAa;AAAA,MAAC,MAAM,KAAE,IAAI,MAAM,EAAC,EAAE,KAAK,CAAC;AAAA,MAAE,OAAO,IAAI,GAAG,IAAE,EAAC,EAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA,IAAC;AAAA,IAAC,IAAO,GAAE,WAAN;AAAA,MAAa,MAAK,GAAE,SAAO;AAAA,QAAG,GAAE,KAAK,GAAE,EAAE;AAAA,IAAE,IAAG,GAAE,SAAO;AAAA,MAAE,OAAO,QAAQ,MAAM,iCAAiC,GAAE,MAAM,GAAE;AAAA,IAAK,OAAO,IAAI,GAAG,GAAE,SAAO,KAAE,GAAE,MAAM,GAAE,EAAC,IAAE,IAAE,EAAC,EAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA;AAAA,EAAE,sBAAsB,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,YAAY,GAAE,IAAI,GAAE,KAAE,GAAE,KAAK,YAAY,GAAE,KAAE,GAAG;AAAA,IAAG,IAAe,OAAZ;AAAA,MAAc,OAAO,QAAQ,MAAM,8BAA8B,YAAW,GAAE,MAAM,GAAE;AAAA,IAAK,MAAM,KAAE,CAAC;AAAA,IAAE,IAAG,cAAa;AAAA,MAAG,IAAG,GAAE,UAAS;AAAA,QAAC,MAAM,KAAE,GAAE;AAAA,QAAY,WAAU,MAAK;AAAA,UAAE,GAAE,KAAK,EAAC;AAAA,MAAE,EAAM;AAAA,WAAE,KAAK,GAAE,WAAW;AAAA,IAAO,SAAG,GAAE;AAAA,MAAK,WAAU,MAAK,GAAE,MAAK;AAAA,QAAC,MAAM,KAAE,KAAK,eAAe,IAAE,EAAC;AAAA,QAAE,cAAa,KAAG,GAAE,KAAK,GAAG,GAAE,IAAI,IAAE,cAAa,KAAG,GAAE,KAAK,GAAE,KAAK,IAAE,cAAa,MAAI,GAAE,KAAK,GAAG,GAAE,IAAI;AAAA,MAAE;AAAA,IAAC,IAAG,cAAa,KAAU,GAAE,WAAT,SAAkB,GAAE,SAAO,KAAK,YAAY,KAAK,IAAO,GAAE,WAAN,GAAa;AAAA,MAAC,MAAM,KAAE,IAAI,MAAM,GAAE,EAAE,EAAE,KAAK,CAAC;AAAA,MAAE,OAAO,IAAI,GAAG,IAAE,EAAC,EAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO,GAAE,WAAS,GAAE,MAAI,QAAQ,MAAM,oCAAoC,GAAE,MAAM,GAAE,QAAM,IAAI,GAAG,IAAE,EAAC,EAAE,WAAW,MAAK,GAAE,SAAQ,EAAC;AAAA;AAAE;AAAC,GAAG,YAAU,IAAI,GAAG,IAAI,EAAE,SAAQ,IAAI,GAAE,IAAI,GAAE,GAAG,eAAa,IAAI,GAAG,IAAI,EAAE,YAAW,IAAI,GAAE,IAAI,GAAE,GAAG,YAAU,IAAI,IAAI,CAAC,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,CAAC,CAAC;AAAA;AAAE,MAAM,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,KAAK,YAAU,IAAI,KAAI,KAAK,UAAQ,IAAI,KAAI,KAAK,UAAQ,IAAI;AAAA;AAAK;AAAA;AAAC,MAAM,GAAE;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,KAAK,UAAQ,CAAC,GAAE,KAAK,WAAS,GAAE,KAAK,eAAa,GAAE,KAAK,uBAAqB,CAAC,GAAE,KAAK,eAAa,CAAC,GAAE,KAAK,WAAS,IAAI,IAAG,KAAK,QAAM,IAAI,IAAG,KAAK,oBAAkB;AAAA;AAAA,EAAG,KAAK,CAAC,IAAE;AAAA,IAAC,KAAK,YAAY,EAAC,GAAE,KAAK,qBAAqB,SAAO;AAAA,IAAE,MAAM,KAAE,CAAC;AAAA,IAAE,MAAK,CAAC,KAAK,SAAS,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,0BAA0B;AAAA,MAAE,IAAG,CAAC;AAAA,QAAE;AAAA,MAAM,GAAE,KAAK,EAAC;AAAA,IAAE;AAAA,IAAC,IAAG,KAAK,qBAAqB,SAAO,GAAE;AAAA,MAAC,WAAU,MAAK,KAAK,sBAAqB;AAAA,QAAC,QAAU,WAAJ,IAAkB,WAAJ,OAAE;AAAA,QAAY,IAAG,cAAa,IAAG;AAAA,UAAC,MAAM,KAAE,GAAE,MAAK,KAAE,KAAK,SAAS,UAAU,IAAI,EAAC;AAAA,UAAE,IAAG;AAAA,YAAE,IAAG;AAAA,cAAC,MAAM,KAAE,GAAE,cAAc,KAAK,KAAK;AAAA,cAAE,GAAE,QAAM;AAAA,cAAG,OAAM,IAAE;AAAA,QAAE;AAAA,MAAC;AAAA,MAAC,KAAK,qBAAqB,SAAO;AAAA,IAAE;AAAA,IAAC,IAAG,KAAK,oBAAkB;AAAA,MAAE,WAAU,MAAK;AAAA,QAAE,GAAE,OAAQ,QAAG;AAAA,UAAC,cAAa,MAAI,cAAa,KAAG,GAAE,OAAK,KAAK,aAAa,GAAE,IAAI,IAAE,cAAa,KAAG,GAAE,SAAO,KAAK,aAAa,GAAE,MAAM,IAAE,cAAa,KAAG,cAAa,KAAG,cAAa,IAAE,GAAE,OAAK,KAAK,aAAa,GAAE,IAAI,IAAE,cAAa,IAAE,GAAE,aAAW,KAAK,aAAa,GAAE,UAAU,IAAE,cAAa,OAAK,GAAE,OAAK,KAAK,aAAa,GAAE,IAAI;AAAA,SAAK;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,YAAY,CAAC,IAAE;AAAA,IAAC,IAAG,cAAa,IAAG;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS,GAAE,IAAI;AAAA,MAAE,IAAG;AAAA,QAAE,OAAO;AAAA,IAAC,EAAM;AAAA,oBAAa,KAAG,GAAE,OAAK,KAAK,aAAa,GAAE,IAAI,IAAE,cAAa,OAAK,GAAE,SAAO,KAAK,aAAa,GAAE,MAAM;AAAA,IAAG,OAAO;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE;AAAA,IAAC,IAAG;AAAA,MAAE,IAAa,OAAO,MAAjB,UAAmB;AAAA,QAAC,MAAM,KAAE,IAAI,GAAG,EAAC;AAAA,QAAE,KAAK,UAAQ,GAAE,WAAW;AAAA,MAAE,EAAM;AAAA,aAAK,UAAQ;AAAA,IAAO;AAAA,WAAK,UAAQ,CAAC;AAAA,IAAE,KAAK,WAAS;AAAA;AAAA,EAAG,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,GAAE,OAAW,MAAN,OAAQ,KAAE,KAAK,cAAa;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,EAAC,OAAM,IAAE,SAAQ,IAAE,UAAS,MAAI,GAAG,KAAG;AAAA;AAAA,EAAE,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,YAAU,KAAK,QAAQ,UAAQ,KAAK,MAAM,EAAE,QAAM,GAAG;AAAA;AAAA,EAAI,MAAM,CAAC,IAAE;AAAA,IAAC,IAAG,cAAa;AAAA,MAAG,OAAO,CAAC,CAAC,KAAK,OAAO,EAAC,MAAI,KAAK,SAAS,GAAE;AAAA,IAAM,SAAQ,KAAE,GAAE,KAAE,GAAE,OAAO,KAAE,IAAE,EAAE,IAAE;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAG,IAAG,KAAK,OAAO,EAAC;AAAA,QAAE,OAAO,KAAK,SAAS,GAAE;AAAA,IAAI;AAAA,IAAC,OAAQ;AAAA;AAAA,EAAM,QAAQ,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,KAAK,OAAO,EAAC;AAAA,MAAE,OAAO,KAAK,SAAS;AAAA,IAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,GAAG,YAAW,KAAK,cAAc;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,IAAG,KAAK,SAAS;AAAA,MAAE,OAAQ;AAAA,IAAM,MAAM,KAAE,KAAK,MAAM;AAAA,IAAE,IAAG,cAAa,OAAM;AAAA,MAAC,MAAM,KAAE,GAAE;AAAA,MAAK,IAAI,KAAE;AAAA,MAAM,WAAU,MAAK,IAAE;AAAA,QAAC,IAAG,OAAI;AAAA,UAAE,OAAQ;AAAA,QAAK,OAAI,GAAG,OAAO,SAAO,KAAE;AAAA,MAAM;AAAA,MAAC,IAAG,IAAE;AAAA,QAAC,MAAM,KAAE,GAAG,OAAO,KAAK,KAAK,KAAK,GAAE,MAAM;AAAA,QAAE,IAAG,MAAM,GAAE,SAAL,KAAY,GAAE,MAAI,GAAE;AAAA,UAAO,OAAQ;AAAA,MAAI;AAAA,MAAC,OAAQ;AAAA,IAAK;AAAA,IAAC,IAAG,GAAE,SAAO;AAAA,MAAE,OAAQ;AAAA,IAAK,IAAG,OAAI,GAAG,OAAO,MAAK;AAAA,MAAC,MAAM,KAAE,GAAG,OAAO,KAAK,KAAK,KAAK,GAAE,MAAM;AAAA,MAAE,OAAO,MAAM,GAAE,SAAL,KAAY,GAAE,MAAI,GAAE;AAAA,IAAM;AAAA,IAAC,OAAQ;AAAA;AAAA,EAAM,QAAQ,GAAE;AAAA,IAAC,IAAI,IAAE;AAAA,IAAE,OAAO,KAAK,gBAAqB,MAAU,KAAE,KAAK,MAAM,OAArB,QAAqC,OAAZ,YAAc,YAAU,GAAE,UAA7D,QAAgF,OAAZ,YAAc,KAAE,IAAG,KAAK,SAAS,KAAG,KAAK,YAAW,KAAK,UAAU;AAAA;AAAA,EAAE,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,QAAQ,KAAK;AAAA;AAAA,EAAU,SAAS,GAAE;AAAA,IAAC,OAAO,KAAK,QAAQ,KAAK,WAAS;AAAA;AAAA,EAAG,yBAAyB,GAAE;AAAA,IAAC,MAAK,KAAK,OAAO,GAAG,OAAO,SAAS,KAAG,CAAC,KAAK,SAAS;AAAA;AAAA,IAAI,IAAG,KAAK,OAAO,GAAG,SAAS,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,WAAU,cAAgB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,UAAU,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,WAAU,cAAgB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,QAAQ,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,oBAAoB;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,WAAU,cAAgB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,MAAM,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,kBAAkB;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,WAAU,cAAgB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,KAAK,WAAW;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,sBAAsB;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,QAAQ,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,wBAAwB;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,iBAAiB;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,mBAAmB;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,MAAM,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,aAAa;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,EAAE,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,eAAe;AAAA,MAAE,OAAa,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,MAAM,WAAW,UAAU,CAAC,EAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,cAAc,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,EAAE;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,yBAAyB,EAAE,SAAS;AAAA,IAAE,KAAK,SAAS,GAAG,OAAO,YAAW,sCAAwC;AAAA,IAAE,MAAM,KAAE,CAAC;AAAA,IAAE,IAAG,CAAC,KAAK,OAAO,GAAG,OAAO,WAAW;AAAA,MAAE,GAAE;AAAA,QAAC,IAAG,KAAK,OAAO,GAAG,OAAO,WAAW;AAAA,UAAE;AAAA,QAAM,MAAM,KAAE,KAAK,WAAW,GAAE,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,yBAAyB,EAAE,SAAS;AAAA,QAAE,KAAK,SAAS,GAAG,OAAO,OAAM,iCAAmC;AAAA,QAAE,MAAM,KAAE,KAAK,WAAW,GAAE,KAAE,KAAK,WAAW;AAAA,QAAQ,MAAN,SAAU,GAAE,aAAW,IAAE,GAAE,KAAK,KAAK,YAAY,IAAI,GAAG,IAAE,IAAE,EAAC,CAAC,CAAC;AAAA,MAAG,SAAO,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,IAAG,KAAK,SAAS,GAAG,OAAO,aAAY,wCAA0C;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,IAAG;AAAA,IAAC,MAAM,KAAE,KAAK,oBAAoB,GAAE,KAAE,KAAK;AAAA,IAAa,OAAO,KAAK,YAAY,IAAI,EAAE,IAAE,IAAE,IAAE,IAAE,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,mBAAmB,GAAE;AAAA,IAAC,MAAM,KAAE,CAAC;AAAA,IAAE,KAAI,KAAK,SAAS,GAAG,OAAO,YAAW,yBAA2B,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,WAAW,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAS,OAAP,QAAU,GAAE,KAAK,EAAC;AAAA,IAAE;AAAA,IAAC,OAAO,KAAK,SAAS,GAAG,OAAO,aAAY,yBAA2B,GAAE;AAAA;AAAA,EAAE,UAAU,GAAE;AAAA,IAAC,MAAK,KAAK,OAAO,GAAG,OAAO,SAAS,KAAG,CAAC,KAAK,SAAS;AAAA;AAAA,IAAI,IAAG,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,OAAO,GAAG,SAAS,EAAE;AAAA,MAAE,OAAO,KAAK,cAAc;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,MAAM;AAAA,MAAE,OAAO,KAAK,kBAAkB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,IAAI;AAAA,MAAE,OAAO,KAAK,gBAAgB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG;AAAA,MAAE,OAAO,KAAK,eAAe;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,KAAK;AAAA,MAAE,OAAO,KAAK,iBAAiB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,UAAU;AAAA,MAAE,OAAO,KAAK,sBAAsB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,aAAa;AAAA,MAAE,OAAO,KAAK,yBAAyB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,OAAO,UAAU;AAAA,MAAE,OAAO,KAAK,oBAAoB;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,SAAS,MAAM;AAAA,MAAE,KAAE,KAAK,kBAAkB;AAAA,IAAO,SAAG,KAAK,OAAO,CAAC,GAAG,SAAS,KAAI,GAAG,SAAS,KAAI,GAAG,SAAS,KAAK,CAAC;AAAA,MAAE,KAAE,KAAK,oBAAoB;AAAA,IAAO,SAAG,KAAK,OAAO,GAAG,SAAS,OAAO;AAAA,MAAE,KAAE,KAAK,YAAY,IAAI,EAAE;AAAA,IAAO,SAAG,KAAK,OAAO,GAAG,SAAS,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE;AAAA,MAAE,IAAG,KAAK,aAAa,SAAO,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,aAAa,KAAK,aAAa,SAAO;AAAA,QAAG,GAAE,SAAO,GAAE;AAAA,MAAG;AAAA,MAAC,KAAE,IAAE,KAAK,OAAO,GAAG,SAAS,EAAE,MAAI,KAAK,SAAS,GAAE,GAAE,YAAU,KAAK,2BAA2B;AAAA,IAAG,EAAM,SAAG,KAAK,OAAO,GAAG,SAAS,QAAQ,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE;AAAA,MAAE,IAAG,EAAE,KAAK,aAAa,SAAO;AAAA,QAAG,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,mDAAmD,GAAE,MAAM;AAAA,MAAE;AAAA,QAAC,MAAM,KAAE,KAAK,aAAa,KAAK,aAAa,SAAO;AAAA,QAAG,GAAE,SAAO,GAAE;AAAA,MAAG;AAAA,MAAC,KAAE;AAAA,IAAE,EAAM;AAAA,WAAE,KAAK,+BAA+B,KAAG,KAAK,qBAAqB,KAAG,KAAK,sBAAsB;AAAA,IAAE,OAAa,MAAN,QAAS,KAAK,SAAS,GAAG,OAAO,WAAU,+BAAiC,GAAE;AAAA;AAAA,EAAE,wBAAwB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,aAAa;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,2BAA2B;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,gBAAgB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,KAAK;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE,MAAK,IAAI,CAAC;AAAA,IAAE,OAAO,KAAK,aAAa,KAAK,EAAC,GAAE,GAAE,YAAU,KAAK,2BAA2B,GAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,GAAE,OAAK,KAAK,oBAAoB,GAAE,KAAK,aAAa,IAAI,GAAE;AAAA;AAAA,EAAE,qBAAqB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,aAAa,SAAO,IAAE,KAAK,aAAa,KAAK,aAAa,SAAO,GAAG,KAAG;AAAA,IAAG,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,UAAU;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,oBAAoB;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,cAAc,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG;AAAA,MAAE,OAAO;AAAA,IAAK,KAAK,SAAS,GAAG,OAAO,YAAW,eAAiB;AAAA,IAAE,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE,MAAK,MAAK,MAAK,IAAI,CAAC;AAAA,IAAE,OAAO,KAAK,aAAa,KAAK,EAAC,GAAE,GAAE,OAAK,KAAK,OAAO,GAAG,OAAO,SAAS,IAAE,OAAK,KAAK,UAAU,GAAE,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,GAAE,YAAU,KAAK,OAAO,GAAG,OAAO,SAAS,IAAE,OAAK,KAAK,6BAA6B,GAAE,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB,GAAE,GAAE,YAAU,KAAK,OAAO,GAAG,OAAO,WAAW,IAAE,OAAK,KAAK,eAAe,GAAE,KAAK,SAAS,GAAG,OAAO,aAAY,eAAiB,GAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,GAAE,OAAK,KAAK,oBAAoB,GAAE,KAAK,aAAa,IAAI,GAAE;AAAA;AAAA,EAAE,SAAS,GAAE;AAAA,IAAC,OAAO,KAAK,oBAAoB,KAAG,KAAK,qBAAqB,KAAG,KAAK,sBAAsB;AAAA;AAAA,EAAE,cAAc,GAAE;AAAA,IAAC,OAAO,KAAK,qBAAqB,KAAG,KAAK,+BAA+B,KAAG,KAAK,sBAAsB;AAAA;AAAA,EAAE,mBAAmB,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,eAAe;AAAA,MAAE,IAAU,OAAP;AAAA,QAAS,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,gCAAgC;AAAA,MAAE,IAAI,KAAE;AAAA,MAAK,OAAO,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,KAAE,KAAK,6BAA6B,IAAG,KAAK,YAAY,IAAI,EAAE,GAAE,MAAK,GAAE,MAAK,GAAE,SAAQ,GAAE,QAAO,EAAC,GAAE,GAAE,IAAI;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,wBAAwB,EAAE,SAAS;AAAA,MAAE,IAAI,KAAE;AAAA,MAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,WAAW;AAAA,QAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,MAAG;AAAA,MAAC,KAAK,SAAS,GAAG,OAAO,OAAM,uBAAyB;AAAA,MAAE,MAAM,KAAE,KAAK,6BAA6B;AAAA,MAAE,OAAO,KAAK,YAAY,IAAI,EAAE,IAAE,IAAE,MAAK,MAAK,EAAC,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,0BAA0B,EAAE,SAAS;AAAA,MAAE,IAAI,KAAE;AAAA,MAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,WAAW;AAAA,QAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,MAAG;AAAA,MAAC,KAAK,SAAS,GAAG,OAAO,OAAM,yBAA2B;AAAA,MAAE,MAAM,KAAE,KAAK,6BAA6B;AAAA,MAAE,OAAc,OAAP,QAAU,cAAa,OAAK,KAAE,GAAE,OAAM,KAAK,YAAY,IAAI,EAAE,IAAE,IAAE,MAAK,MAAK,EAAC,GAAE,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,8BAA8B,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,UAAS,KAAE,KAAK,kBAAkB;AAAA,IAAE,IAAS,MAAN;AAAA,MAAQ,OAAO;AAAA,IAAK,IAAG,CAAC,KAAK,OAAO,GAAG,mBAAmB;AAAA,MAAE,OAAO,KAAK,WAAS,IAAE;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS,GAAG,qBAAoB,6BAA6B;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,GAAE,SAAO,GAAG,OAAO,YAAU,EAAE,YAAU,EAAE,WAAU,EAAC,CAAC;AAAA;AAAA,EAAE,qBAAqB,GAAE;AAAA,IAAC,IAAI,KAAE;AAAA,IAAK,MAAM,KAAE,KAAK;AAAA,IAAa,IAAG,KAAK,OAAO,GAAG,OAAO,WAAW;AAAA,MAAE,OAAO;AAAA,IAAK,IAAI,KAAE,KAAK,OAAO,GAAG,OAAO,UAAU;AAAA,IAAE,IAAG,OAAI,KAAE,KAAK,kBAAkB,IAAG,CAAC,MAAS,MAAN;AAAA,MAAQ,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS,GAAG,sBAAqB,+BAA+B,GAAE,KAAE,KAAK,6BAA6B;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,EAAE,MAAM,GAAE,MAAM,GAAE,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,oBAAoB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,UAAS,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,yBAAyB,GAAE,KAAE,KAAK,0BAA0B;AAAA,IAAE,OAAc,OAAP,QAAU,KAAK,WAAS,IAAE,QAAM,KAAK,YAAY,IAAI,EAAE,GAAE,QAAO,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,eAAe,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,IAAI;AAAA,MAAE,OAAO;AAAA,IAAK,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,SAAS,GAAG,OAAO,YAAW,wBAA0B;AAAA,IAAE,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE,CAAC,GAAE,IAAI,CAAC;AAAA,IAAE,KAAK,aAAa,KAAK,EAAC;AAAA,IAAE,IAAI,KAAE,KAAK,WAAW;AAAA,IAAE,MAAY,OAAP,QAAU;AAAA,MAAC,IAAG,MAAM,QAAQ,EAAC;AAAA,QAAE,SAAQ,MAAK;AAAA,UAAE,GAAE,KAAK,KAAK,EAAC;AAAA,MAAO;AAAA,WAAE,KAAK,KAAK,EAAC;AAAA,MAAE,IAAG,cAAa,GAAE;AAAA,QAAC,GAAE,aAAW;AAAA,QAAE;AAAA,MAAK;AAAA,MAAC,KAAE,KAAK,WAAW;AAAA,IAAE;AAAA,IAAC,OAAO,KAAK,aAAa,IAAI,GAAE,KAAK,SAAS,GAAG,OAAO,aAAY,wBAA0B,GAAE;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,MAAM;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE,MAAK,CAAC,CAAC,CAAC;AAAA,IAAE,IAAG,KAAK,aAAa,KAAK,EAAC,GAAE,GAAE,YAAU,KAAK,2BAA2B,GAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,SAAS,GAAG,OAAO,YAAW,0BAA4B,GAAE,GAAE,QAAM,KAAK,aAAa,GAAQ,GAAE,SAAR,QAAkB,GAAE,MAAM,UAAX;AAAA,MAAkB,MAAM,KAAK,OAAO,KAAK,UAAU,GAAE,+BAAmC;AAAA,IAAE,OAAO,KAAK,SAAS,GAAG,OAAO,aAAY,0BAA4B,GAAE,KAAK,aAAa,IAAI,GAAE;AAAA;AAAA,EAAE,YAAY,GAAE;AAAA,IAAC,MAAM,KAAE,CAAC;AAAA,IAAE,IAAI,KAAE;AAAA,IAAM,MAAK,KAAK,OAAO,CAAC,GAAG,SAAS,SAAQ,GAAG,SAAS,IAAI,CAAC,KAAG;AAAA,MAAC,IAAG,KAAK,OAAO,GAAG,SAAS,IAAI,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,gBAAgB;AAAA,QAAE,WAAU,MAAK;AAAA,UAAE,IAAG,cAAa,IAAG;AAAA,YAAC,IAAG;AAAA,cAAE,MAAM,KAAK,OAAO,KAAK,UAAU,GAAE,6CAA6C;AAAA,YAAE,KAAE;AAAA,YAAK;AAAA,UAAK;AAAA,QAAC,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,SAAS,GAAG,OAAO,YAAW,8BAAgC;AAAA,QAAE,MAAM,KAAE,KAAK,WAAW;AAAA,QAAE,KAAK,SAAS,GAAG,OAAO,aAAY,8BAAgC,GAAE,GAAE,KAAK,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC,CAAC;AAAA,MAAE;AAAA,MAAC,IAAG,KAAK,OAAO,GAAG,SAAS,OAAO,GAAE;AAAA,QAAC,IAAG;AAAA,UAAE,MAAM,KAAK,OAAO,KAAK,UAAU,GAAE,6CAA6C;AAAA,QAAE,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,SAAS,GAAG,OAAO,YAAW,iCAAmC;AAAA,QAAE,MAAM,KAAE,KAAK,WAAW;AAAA,QAAE,KAAK,SAAS,GAAG,OAAO,aAAY,iCAAmC,GAAE,GAAE,KAAK,KAAK,YAAY,IAAI,GAAG,EAAC,CAAC,CAAC;AAAA,MAAE;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAE,eAAe,GAAE;AAAA,IAAC,MAAM,KAAE,CAAC;AAAA,IAAE,KAAI,KAAK,OAAO,GAAG,SAAS,OAAO,IAAE,GAAE,KAAK,KAAK,YAAY,IAAI,EAAE,CAAC,IAAE,GAAE,KAAK,KAAK,kBAAkB,CAAC,EAAE,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,MAAG,KAAK,OAAO,GAAG,SAAS,OAAO,IAAE,GAAE,KAAK,KAAK,YAAY,IAAI,EAAE,CAAC,IAAE,GAAE,KAAK,KAAK,kBAAkB,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,UAAU,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,WAAW;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,WAAU,cAAgB,GAAE,CAAC;AAAA,IAAE,IAAI,KAAE,KAAK,WAAW;AAAA,IAAE,IAAS,MAAN;AAAA,MAAQ,OAAO,CAAC;AAAA,IAAE,cAAa,UAAQ,KAAE,CAAC,EAAC;AAAA,IAAG,MAAM,KAAE,KAAK,WAAW;AAAA,IAAE,OAAU,GAAE,UAAL,IAAY,KAAE,CAAC,GAAG,IAAE,GAAE,EAAE;AAAA;AAAA,EAAE,aAAa,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,EAAE;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,2BAA2B;AAAA,IAAE,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW;AAAA,IAAE,MAAM,KAAE,KAAK,oBAAoB;AAAA,IAAE,IAAI,KAAE,CAAC;AAAA,IAAE,KAAK,cAAc,MAAI,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAE,KAAK,kBAAkB,EAAC;AAAA,IAAG,IAAI,KAAE;AAAA,IAAK,OAAO,KAAK,OAAO,GAAG,SAAS,IAAI,MAAI,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAE,KAAK,oBAAoB,IAAG,KAAK,YAAY,IAAI,EAAE,IAAE,IAAE,IAAE,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,aAAa,GAAE;AAAA,IAAC,OAAO,KAAK,QAAQ,KAAK,UAAU,SAAO,GAAG,SAAS,QAAM,KAAK,QAAQ,KAAK,WAAS,GAAG,SAAO,GAAG,SAAS,OAAK,KAAK,SAAS,GAAE,KAAK,SAAS,GAAE;AAAA;AAAA,EAAM,iBAAiB,CAAC,KAAE,CAAC,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,2BAA2B,GAAE,KAAE,KAAK,oBAAoB;AAAA,IAAE,OAAO,GAAE,KAAK,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC,CAAC,GAAE,KAAK,cAAc,MAAI,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG,KAAK,WAAW,GAAE,KAAK,kBAAkB,EAAC,IAAG;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,MAAM;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,6BAA6B;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,EAAC,CAAC;AAAA;AAAA,EAAE,4BAA4B,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,wBAAwB;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,wBAAwB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,uBAAuB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,yBAAyB;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,OAAO;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,yBAAyB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,wBAAwB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,yBAAyB;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,EAAE;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,yBAAyB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,wBAAwB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,gBAAgB;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,GAAG;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,eAAe,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,qBAAqB;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,GAAG;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,qBAAqB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,oBAAoB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,uBAAuB;AAAA,IAAE,OAAO,KAAK,OAAO,CAAC,GAAG,OAAO,aAAY,GAAG,OAAO,SAAS,CAAC,IAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,uBAAuB,CAAC,CAAC,IAAE;AAAA;AAAA,EAAE,sBAAsB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,kBAAkB;AAAA,IAAE,MAAK,KAAK,OAAO,CAAC,GAAG,OAAO,WAAU,GAAG,OAAO,cAAa,GAAG,OAAO,iBAAgB,GAAG,OAAO,kBAAkB,CAAC;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,qBAAqB;AAAA,IAAE,MAAK,KAAK,OAAO,CAAC,GAAG,OAAO,YAAW,GAAG,OAAO,WAAW,CAAC;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,qBAAqB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,oBAAoB,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,2BAA2B;AAAA,IAAE,MAAK,KAAK,OAAO,CAAC,GAAG,OAAO,MAAK,GAAG,OAAO,KAAK,CAAC;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,2BAA2B,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,0BAA0B,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK,kBAAkB;AAAA,IAAE,MAAK,KAAK,OAAO,CAAC,GAAG,OAAO,MAAK,GAAG,OAAO,eAAc,GAAG,OAAO,MAAM,CAAC;AAAA,MAAG,KAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,IAAE,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAAE,OAAO;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,OAAO,KAAK,OAAO,CAAC,GAAG,OAAO,OAAM,GAAG,OAAO,MAAK,GAAG,OAAO,OAAM,GAAG,OAAO,MAAK,GAAG,OAAO,GAAG,CAAC,IAAE,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,KAAK,kBAAkB,CAAC,CAAC,IAAE,KAAK,qBAAqB;AAAA;AAAA,EAAE,oBAAoB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,oBAAoB,GAAE,KAAE,KAAK,oBAAoB;AAAA,IAAE,OAAO,OAAI,GAAE,UAAQ,KAAG;AAAA;AAAA,EAAE,mBAAmB,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,YAAY,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,6BAA6B;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,eAAc,eAAiB;AAAA,MAAE,MAAM,KAAE,KAAK,YAAY,IAAI,GAAG,EAAC,CAAC,GAAE,KAAE,KAAK,oBAAoB;AAAA,MAAE,OAAO,OAAI,GAAE,UAAQ,KAAG;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,MAAM,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,uBAAuB,GAAE,KAAE,KAAK,oBAAoB,GAAE,KAAE,KAAK,YAAY,IAAI,GAAG,GAAE,MAAM,CAAC;AAAA,MAAE,OAAO,OAAI,GAAE,UAAQ,KAAG;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,UAAU,CAAC,IAAE;AAAA,IAAC,IAAG,KAAK,SAAS,QAAQ,IAAI,EAAC,GAAE;AAAA,MAAC,OAAO,KAAK,SAAS,QAAQ,IAAI,EAAC,EAAE;AAAA,IAAI;AAAA,IAAC,IAAG,KAAK,SAAS,QAAQ,IAAI,EAAC,GAAE;AAAA,MAAC,OAAO,KAAK,SAAS,QAAQ,IAAI,EAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,QAAQ,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE,KAAK,WAAW,EAAC;AAAA,IAAE,IAAU,OAAP;AAAA,MAAS,OAAO;AAAA,IAAE,QAAO;AAAA,WAAQ;AAAA,QAAO,OAAO,GAAG;AAAA,WAAU;AAAA,QAAO,OAAO,GAAG;AAAA,WAAU;AAAA,QAAM,OAAO,GAAG;AAAA,WAAS;AAAA,QAAM,OAAO,GAAG;AAAA,WAAS;AAAA,QAAM,OAAO,GAAG;AAAA,WAAS;AAAA,QAAM,OAAO,GAAG;AAAA,WAAS;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAQ,OAAO,GAAG;AAAA,WAAW;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA,WAAa;AAAA,QAAU,OAAO,GAAG;AAAA;AAAA,IAAQ,OAAO;AAAA;AAAA,EAAK,kBAAkB,CAAC,IAAE,IAAE;AAAA,IAAC,IAAW,GAAE,SAAV,OAAe;AAAA,MAAC,IAAG,KAAE,eAAa,KAAE;AAAA,QAAW,MAAM,KAAK,OAAO,KAAK,UAAU,GAAE,+BAA+B,aAAY,KAAK,eAAe;AAAA,IAAC,EAAM,SAAW,GAAE,SAAV,UAAiB,KAAE,KAAG,KAAE;AAAA,MAAY,MAAM,KAAK,OAAO,KAAK,UAAU,GAAE,+BAA+B,aAAY,KAAK,eAAe;AAAA;AAAA,EAAE,mBAAmB,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,UAAU,EAAE,SAAS;AAAA,MAAE,IAAG,KAAK,OAAO,GAAG,OAAO,UAAU,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,0BAA0B,GAAE,KAAE,KAAK,SAAS,EAAC;AAAA,QAAE,OAAc,OAAP,OAAS,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC,IAAE,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC;AAAA,MAAC;AAAA,MAAC,IAAG,KAAK,SAAS,UAAU,IAAI,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,SAAS,UAAU,IAAI,EAAC;AAAA,QAAE,OAAO,KAAK,YAAY,IAAI,GAAG,IAAE,GAAE,KAAK,CAAC;AAAA,MAAC;AAAA,MAAC,OAAO,KAAK,YAAY,IAAI,GAAG,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,WAAW,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,UAAU,EAAE,SAAS;AAAA,MAAE,IAAI,KAAE,GAAE,SAAS,GAAG,KAAG,GAAE,SAAS,GAAG,IAAE,GAAG,MAAI,GAAE,SAAS,GAAG,KAAG,GAAE,SAAS,GAAG,IAAE,GAAG,MAAI,GAAG;AAAA,MAAI,MAAM,KAAE,SAAS,EAAC;AAAA,MAAE,OAAO,KAAK,mBAAmB,IAAE,EAAC,GAAE,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,IAAE,KAAK,MAAM,YAAY,EAAC,CAAC,GAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,YAAY,GAAE;AAAA,MAAC,MAAM,KAAE,SAAS,KAAK,UAAU,EAAE,SAAS,CAAC;AAAA,MAAE,OAAO,KAAK,mBAAmB,IAAE,GAAG,GAAG,GAAE,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,IAAE,KAAK,MAAM,YAAY,GAAG,GAAG,CAAC,GAAE,GAAG,GAAG,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,CAAC,GAAG,OAAO,uBAAsB,GAAG,OAAO,iBAAiB,CAAC,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,UAAU,EAAE,SAAS,GAAE,KAAE,GAAE,SAAS,GAAG;AAAA,MAAE,OAAI,KAAE,GAAE,UAAU,GAAE,GAAE,SAAO,CAAC;AAAA,MAAG,MAAM,KAAE,WAAW,EAAC;AAAA,MAAE,KAAK,mBAAmB,IAAE,KAAE,GAAG,MAAI,GAAG,GAAG;AAAA,MAAE,MAAM,KAAE,KAAE,GAAG,MAAI,GAAG;AAAA,MAAI,OAAO,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,IAAE,KAAK,MAAM,YAAY,EAAC,CAAC,GAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,CAAC,GAAG,SAAS,MAAK,GAAG,SAAS,KAAK,CAAC,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,UAAU,EAAE,SAAS,MAAI,GAAG,SAAS,KAAK;AAAA,MAAK,OAAO,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,KAAE,IAAE,GAAE,KAAK,MAAM,YAAY,GAAG,IAAI,CAAC,GAAE,GAAG,IAAI,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,OAAO,UAAU;AAAA,MAAE,OAAO,KAAK,kBAAkB;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,OAAO,GAAE;AAAA,MAAC,KAAK,SAAS,GAAG,OAAO,WAAU,eAAiB;AAAA,MAAE,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,cAAa,eAAiB;AAAA,MAAE,MAAM,KAAE,KAAK,kBAAkB;AAAA,MAAE,OAAO,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,KAAK,WAAW,GAAE,KAAE,KAAK,0BAA0B;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,GAAG,IAAE,EAAC,CAAC;AAAA;AAAA,EAAE,yBAAyB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,OAAO,UAAU;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,CAAC;AAAA,IAAE,GAAE;AAAA,MAAC,IAAG,KAAK,OAAO,GAAG,OAAO,WAAW;AAAA,QAAE;AAAA,MAAM,MAAM,KAAE,KAAK,6BAA6B;AAAA,MAAE,GAAE,KAAK,EAAC;AAAA,IAAE,SAAO,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,IAAG,OAAO,KAAK,SAAS,GAAG,OAAO,aAAY,+BAAiC,GAAE;AAAA;AAAA,EAAE,0BAA0B,GAAE;AAAA,IAAC,KAAK,OAAO,GAAG,OAAO,UAAU;AAAA,IAAE,MAAM,KAAE,KAAK,6BAA6B;AAAA,IAAE,OAAO,KAAK,OAAO,GAAG,OAAO,WAAW,GAAE;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,KAAK,SAAS,GAAG,OAAO,YAAW,eAAiB;AAAA,IAAE,MAAM,KAAE,KAAK,6BAA6B;AAAA,IAAE,OAAO,KAAK,SAAS,GAAG,OAAO,aAAY,eAAiB,GAAE;AAAA;AAAA,EAAE,YAAY,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,MAAM;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,2BAA2B,EAAE,SAAS;AAAA,IAAE,KAAK,SAAS,GAAG,OAAO,YAAW,+BAAiC;AAAA,IAAE,MAAM,KAAE,CAAC;AAAA,IAAE,MAAK,CAAC,KAAK,OAAO,GAAG,OAAO,WAAW,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW,GAAE,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,yBAAyB,EAAE,SAAS;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,OAAM,sCAAwC;AAAA,MAAE,MAAM,KAAE,KAAK,WAAW,GAAE,KAAE,KAAK,WAAW;AAAA,MAAQ,MAAN,SAAU,GAAE,aAAW,KAAG,KAAK,OAAO,GAAG,OAAO,WAAW,IAAE,KAAK,OAAO,GAAG,OAAO,KAAK,IAAE,KAAK,SAAS,GAAG,OAAO,OAAM,iCAAmC,GAAE,GAAE,KAAK,KAAK,YAAY,IAAI,GAAG,IAAE,IAAE,EAAC,CAAC,CAAC;AAAA,IAAE;AAAA,IAAC,KAAK,SAAS,GAAG,OAAO,aAAY,iCAAmC;AAAA,IAAE,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,YAAY,IAAI,GAAG,IAAE,IAAE,IAAE,EAAC,GAAE,EAAC;AAAA,IAAE,OAAO,KAAK,SAAS,QAAQ,IAAI,IAAE,EAAC,GAAE;AAAA;AAAA,EAAE,qBAAqB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAe;AAAA,IAAE,IAAG,CAAC;AAAA,MAAE,OAAO;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,kBAAkB;AAAA,MAAE,GAAE,QAAM;AAAA,IAAE;AAAA,IAAC,IAAU,GAAE,SAAT,QAAe,GAAE,iBAAiB,IAAG;AAAA,MAAC,IAAW,GAAE,MAAM,KAAK,SAArB,OAA0B;AAAA,QAAC,IAAG,GAAE,KAAK,YAAY,MAAI,GAAE,MAAM,KAAK,YAAY;AAAA,UAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,qBAAqB,GAAE,MAAM,KAAK,WAAW,GAAE,KAAK,cAAc,KAAK,cAAc;AAAA,MAAC;AAAA,MAAC,GAAE,MAAM,YAAU,KAAK,mBAAmB,GAAE,MAAM,aAAY,GAAE,IAAI,GAAE,GAAE,MAAM,OAAK,GAAE;AAAA,IAAK,EAAM;AAAA,MAAO,GAAE,SAAT,QAAe,GAAE,iBAAiB,OAAK,GAAE,OAAa,GAAE,MAAM,KAAK,SAArB,QAA0B,GAAG,MAAI,GAAE,MAAM,MAAK,GAAE,MAAM,YAAU,KAAK,mBAAmB,GAAE,MAAM,aAAY,GAAE,IAAI;AAAA,IAAG,OAAO;AAAA;AAAA,EAAE,uBAAuB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,eAAe;AAAA,IAAE,OAAO,MAAG,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,GAAE,QAAM,KAAK,kBAAkB,IAAG;AAAA;AAAA,EAAE,kBAAkB,GAAE;AAAA,IAAC,IAAI;AAAA,IAAE,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,KAAK;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,wBAAwB,GAAE,KAAE,KAAK;AAAA,IAAa,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,IAAG;AAAA,IAAC,IAAI,KAAE;AAAA,IAAK,KAAK,SAAS,GAAG,OAAO,OAAM,0CAA0C;AAAA,IAAE,MAAM,KAAE,KAAK,6BAA6B;AAAA,IAAE,IAAG;AAAA,MAAC,IAAI,KAAE,CAAC,GAAG,GAAG,GAAE,KAAE,GAAE,cAAc,KAAK,OAAM,EAAC;AAAA,MAAE,cAAa,MAAI,KAAK,mBAAmB,GAAE,OAAM,GAAE,EAAE,GAAE,GAAE,cAAa,MAAW,GAAE,GAAG,WAAZ,QAAoB,GAAE,oBAAoB,KAAU,GAAE,SAAS,WAAlB,SAAmC,GAAE,SAAS,OAAO,SAA1B,QAA+B,GAAE,GAAG,SAAO,GAAG,MAAY,GAAE,SAAS,OAAO,SAA1B,QAA+B,GAAE,GAAG,SAAO,GAAG,MAAY,GAAE,SAAS,OAAO,SAA1B,QAA+B,GAAE,GAAG,SAAO,GAAG,MAAY,GAAE,SAAS,OAAO,SAA1B,QAA+B,GAAE,GAAG,SAAO,GAAG,MAAa,GAAE,SAAS,OAAO,SAA3B,SAAgC,GAAE,GAAG,SAAO,GAAG,OAAK,QAAQ,MAAM,yCAAyC,GAAE,SAAS,OAAO,MAAM,IAAG,KAAE,KAAK,YAAY,IAAI,GAAG,IAAE,GAAE,EAAE,CAAC,GAAE,KAAK,MAAM,QAAQ,YAAY,GAAE,SAAS,GAAE,EAAC;AAAA,MAAG,OAAM,IAAE;AAAA,MAAC,KAAE;AAAA;AAAA,IAAG,IAAU,OAAP,QAAU,cAAa,IAAG;AAAA,MAAC,IAAW,GAAE,KAAK,SAAf,OAAoB;AAAA,QAAC,IAAG,GAAE,YAAY,MAAI,GAAE,KAAK,YAAY;AAAA,UAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,qBAAqB,GAAE,KAAK,WAAW,GAAE,cAAc,KAAK,cAAc;AAAA,MAAC;AAAA,MAAC,GAAE,OAAK,IAAE,GAAE,YAAU,KAAK,mBAAmB,GAAE,aAAY,GAAE,IAAI;AAAA,IAAE,EAAM;AAAA,MAAO,OAAP,QAAU,cAAa,OAAK,MAAU,KAAQ,MAAN,OAAQ,YAAU,GAAE,UAA9B,QAAiD,OAAZ,YAAc,KAAE,GAAG,KAAI,OAAI,GAAG,QAAM,KAAE,GAAG;AAAA,IAAM,MAAM,KAAE,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,GAAE,IAAE,IAAG,IAAG,EAAC,GAAE,EAAC;AAAA,IAAE,OAAO,KAAK,SAAS,UAAU,IAAI,GAAE,MAAK,EAAC,GAAE;AAAA;AAAA,EAAE,gBAAgB,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,cAAa,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,wBAAwB;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,IAAG;AAAA,IAAC,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,KAAE,KAAK,kBAAkB,IAAU,OAAP,QAAU,cAAa,IAAG;AAAA,MAAC,IAAW,GAAE,KAAK,SAAf,OAAoB;AAAA,QAAC,IAAG,GAAE,YAAY,MAAI,GAAE,KAAK,YAAY;AAAA,UAAE,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,qBAAqB,GAAE,KAAK,WAAW,GAAE,cAAc,KAAK,cAAc;AAAA,MAAC;AAAA,MAAC,GAAE,OAAK;AAAA,IAAE,EAAM;AAAA,MAAO,OAAP,QAAU,cAAa,OAAK,KAAU,GAAE,KAAK,SAAf,QAAoB,GAAG,MAAI,GAAE;AAAA,IAAM,OAAO,cAAa,MAAI,GAAE,YAAU,KAAK,mBAAmB,GAAE,aAAY,EAAC,GAAE,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,GAAE,IAAE,IAAG,IAAG,EAAC,GAAE,EAAC;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,OAAO,KAAK,6BAA6B;AAAA;AAAA,EAAE,cAAc,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,GAAG;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK;AAAA,IAAa,IAAI,KAAE,IAAG,KAAE;AAAA,IAAG,KAAK,OAAO,GAAG,OAAO,SAAS,MAAI,KAAE,KAAK,SAAS,GAAG,eAAc,yBAAyB,EAAE,SAAS,GAAE,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,KAAE,KAAK,SAAS,GAAG,aAAY,uBAAuB,EAAE,SAAS,IAAG,KAAK,SAAS,GAAG,OAAO,cAAa,eAAiB;AAAA,IAAG,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,wBAAwB;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,IAAG;AAAA,IAAC,OAAO,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,GAAE,IAAE,IAAE,IAAE,IAAI,GAAE,EAAC;AAAA;AAAA,EAAE,cAAc,GAAE;AAAA,IAAC,IAAG,CAAC,KAAK,OAAO,GAAG,SAAS,QAAQ;AAAA,MAAE,OAAO;AAAA,IAAK,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,MAAK,wBAAwB;AAAA,IAAE,IAAI,KAAE;AAAA,IAAK,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,KAAE,KAAK,WAAW,GAAQ,MAAN,SAAU,GAAE,aAAW;AAAA,IAAG;AAAA,IAAC,OAAO,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,GAAE,IAAE,IAAI,CAAC;AAAA;AAAA,EAAE,WAAW,GAAE;AAAA,IAAC,KAAK,SAAS,GAAG,OAAO,YAAW,cAAgB;AAAA,IAAE,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,iCAAiC;AAAA,IAAE,KAAK,SAAS,GAAG,OAAO,OAAM,cAAgB;AAAA,IAAE,IAAI,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,gCAAgC,EAAE,SAAS;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,OAAO,MAAM,GAAE;AAAA,MAAC,MAAG,IAAI,KAAK,SAAS,GAAG,OAAO,OAAM,8BAA8B,EAAE,SAAS;AAAA,IAAI;AAAA,IAAC,OAAO,KAAK,SAAS,GAAG,OAAO,aAAY,cAAgB,GAAE,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,GAAE,EAAC,CAAC;AAAA;AAAA,EAAE,iBAAiB,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,oBAAoB;AAAA,IAAE,OAAO,KAAK,YAAY,IAAI,EAAE,GAAE,SAAS,CAAC,CAAC;AAAA;AAAA,EAAE,mBAAmB,GAAE;AAAA,IAAC,MAAM,KAAE,CAAC,KAAK,SAAS,GAAG,OAAO,OAAM,oBAAoB,EAAE,SAAS,CAAC;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,KAAK,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,oBAAoB;AAAA,MAAE,GAAE,KAAK,GAAE,SAAS,CAAC;AAAA,IAAE;AAAA,IAAC,OAAO,KAAK,YAAY,IAAI,EAAE,EAAC,CAAC;AAAA;AAAA,EAAE,WAAW,GAAE;AAAA,IAAC,MAAM,KAAE,KAAK,SAAS,GAAG,OAAO,OAAM,oBAAoB;AAAA,IAAE,KAAK,SAAS,GAAG,OAAO,OAAM,8BAAgC;AAAA,IAAE,IAAI,KAAE,KAAK,WAAW;AAAA,IAAE,IAAU,OAAP;AAAA,MAAS,MAAM,KAAK,OAAO,KAAK,MAAM,GAAE,0BAA0B;AAAA,IAAE,KAAK,SAAS,QAAQ,IAAI,GAAE,IAAI,MAAI,KAAE,KAAK,SAAS,QAAQ,IAAI,GAAE,IAAI,EAAE;AAAA,IAAM,MAAM,KAAE,KAAK,YAAY,IAAI,GAAG,GAAE,SAAS,GAAE,EAAC,CAAC;AAAA,IAAE,OAAO,KAAK,SAAS,QAAQ,IAAI,GAAE,MAAK,EAAC,GAAE;AAAA;AAAA,EAAE,UAAU,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,CAAC,GAAG,OAAO,OAAM,GAAG,GAAG,cAAa,GAAG,SAAS,MAAK,GAAG,SAAS,KAAI,GAAG,SAAS,KAAI,GAAG,SAAS,GAAG,CAAC,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS,EAAE,SAAS;AAAA,MAAE,IAAG,KAAK,SAAS,QAAQ,IAAI,EAAC;AAAA,QAAE,OAAO,KAAK,SAAS,QAAQ,IAAI,EAAC;AAAA,MAAE,IAAG,KAAK,SAAS,QAAQ,IAAI,EAAC;AAAA,QAAE,OAAO,KAAK,SAAS,QAAQ,IAAI,EAAC,EAAE;AAAA,MAAK,IAAG,CAAC,KAAK,SAAS,EAAC,GAAE;AAAA,QAAC,MAAM,KAAE,KAAK,YAAY,IAAI,GAAG,EAAC,CAAC;AAAA,QAAE,OAAO,KAAK,qBAAoB;AAAA,MAAC;AAAA,MAAC,OAAO,KAAK,YAAY,IAAI,GAAG,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAI,KAAE,KAAK,uBAAuB;AAAA,IAAE,IAAG;AAAA,MAAE,OAAO;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,cAAc,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,SAAS,EAAE,SAAS,GAAE,KAAE,MAAK,KAAE;AAAA,MAAK,KAAK,OAAO,GAAG,OAAO,SAAS,MAAI,KAAE,KAAK,WAAW,GAAE,KAAE,MAAK,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,KAAE,KAAK,SAAS,GAAG,aAAY,kCAAkC,EAAE,SAAS,IAAG,KAAK,SAAS,GAAG,OAAO,cAAa,wBAA0B;AAAA,MAAG,OAAO,KAAK,YAAY,IAAI,GAAG,IAAE,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,SAAS,GAAG,GAAE;AAAA,MAAC,IAAI,KAAE,KAAK,UAAU,EAAE,SAAS;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,WAAU,2BAA6B;AAAA,MAAE,MAAM,KAAE,KAAK,SAAS,GAAG,eAAc,oCAAoC;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,OAAM,2BAA6B;AAAA,MAAE,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,IAAI,KAAE;AAAA,MAAK,KAAK,OAAO,GAAG,OAAO,KAAK,MAAI,KAAE,KAAK,SAAS,GAAG,aAAY,kCAAkC,EAAE,SAAS,IAAG,KAAK,SAAS,GAAG,OAAO,cAAa,2BAA6B;AAAA,MAAE,OAAO,KAAK,YAAY,IAAI,GAAG,IAAE,GAAE,SAAS,GAAE,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,MAAM,KAAE,KAAK,WAAW;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,SAAS,KAAK,GAAE;AAAA,MAAC,IAAI,KAAE,MAAK,KAAE;AAAA,MAAG,MAAM,KAAE,KAAK,UAAU;AAAA,MAAE,IAAI,KAAE;AAAA,MAAK,IAAG,KAAK,OAAO,GAAG,OAAO,SAAS,GAAE;AAAA,QAAC,KAAE,KAAK,WAAW,GAAE,KAAK,SAAS,QAAQ,IAAI,GAAE,IAAI,MAAI,KAAE,KAAK,SAAS,QAAQ,IAAI,GAAE,IAAI,EAAE;AAAA,QAAM,IAAI,KAAE;AAAA,QAAG,IAAG,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,UAAC,KAAE,KAAK,kBAAkB;AAAA,UAAE,IAAG;AAAA,YAAC,KAAE,GAAE,cAAc,KAAK,KAAK,EAAE,SAAS,GAAE,KAAE;AAAA,YAAM,OAAM,IAAE;AAAA,YAAC,KAAE;AAAA;AAAA,QAAK;AAAA,QAAC,KAAK,SAAS,GAAG,OAAO,cAAa,yBAA2B,GAAE,KAAE,KAAE,SAAS,EAAC,IAAE;AAAA,MAAE;AAAA,MAAC,MAAM,KAAE,KAAK,YAAY,IAAI,GAAG,GAAE,SAAS,GAAE,IAAE,IAAE,EAAC,CAAC;AAAA,MAAE,OAAO,MAAG,KAAK,qBAAqB,KAAK,EAAC,WAAU,IAAE,WAAU,GAAC,CAAC,GAAE;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,sBAAsB,GAAE;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,YAAY;AAAA,MAAE,OAAO,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,MAAK,IAAI,CAAC;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,kBAAkB;AAAA,MAAE,OAAO,KAAK,YAAY,IAAI,GAAG,KAAK,UAAU,EAAE,SAAS,GAAE,MAAK,IAAI,CAAC;AAAA,IAAE,IAAG,KAAK,OAAO,GAAG,oBAAoB,KAAG,KAAK,OAAO,GAAG,yBAAyB,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,UAAU;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,WAAU,gCAAkC;AAAA,MAAE,MAAM,KAAE,KAAK,WAAW;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,cAAa,gCAAkC,GAAE,KAAK,YAAY,IAAI,GAAG,GAAE,SAAS,GAAE,IAAE,IAAI,CAAC;AAAA,IAAC;AAAA,IAAC,IAAG,KAAK,OAAO,GAAG,oBAAoB,GAAE;AAAA,MAAC,MAAM,KAAE,KAAK,UAAU;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,WAAU,gCAAkC;AAAA,MAAE,MAAM,KAAE,KAAK,SAAS,GAAG,cAAa,uBAAuB,EAAE,SAAS;AAAA,MAAE,KAAK,SAAS,GAAG,OAAO,OAAM,kCAAoC;AAAA,MAAE,MAAM,KAAE,KAAK,SAAS,GAAG,aAAY,gDAAgD,EAAE,SAAS;AAAA,MAAE,OAAO,KAAK,SAAS,GAAG,OAAO,cAAa,gCAAkC,GAAE,KAAK,YAAY,IAAI,GAAG,GAAE,SAAS,GAAE,IAAE,EAAC,CAAC;AAAA,IAAC;AAAA,IAAC,OAAO;AAAA;AAAA,EAAK,UAAU,GAAE;AAAA,IAAC,IAAI,KAAE,CAAC;AAAA,IAAE,MAAK,KAAK,OAAO,GAAG,OAAO,IAAI,KAAG;AAAA,MAAC,MAAM,KAAE,KAAK,SAAS,GAAG,gBAAe,yBAAyB,GAAE,KAAE,KAAK,YAAY,IAAI,GAAG,GAAE,SAAS,GAAE,IAAI,CAAC;AAAA,MAAE,IAAG,KAAK,OAAO,GAAG,OAAO,UAAU,GAAE;AAAA,QAAC,IAAG,GAAE,QAAM,KAAK,SAAS,GAAG,kBAAiB,0BAA0B,EAAE,SAAS,GAAE,KAAK,OAAO,GAAG,OAAO,KAAK,GAAE;AAAA,UAAC,KAAK,SAAS;AAAA,UAAE,GAAE;AAAA,YAAC,MAAM,KAAE,KAAK,SAAS,GAAG,kBAAiB,0BAA0B,EAAE,SAAS;AAAA,YAAE,GAAE,iBAAiB,UAAQ,GAAE,QAAM,CAAC,GAAE,KAAK,IAAG,GAAE,MAAM,KAAK,EAAC;AAAA,UAAE,SAAO,KAAK,OAAO,GAAG,OAAO,KAAK;AAAA,QAAE;AAAA,QAAC,KAAK,SAAS,GAAG,OAAO,aAAY,cAAgB;AAAA,MAAE;AAAA,MAAC,GAAE,KAAK,EAAC;AAAA,IAAE;AAAA,IAAC,OAAU,GAAE,UAAL,IAAY,OAAK;AAAA;AAAE;AAAA;AAAC,MAAM,WAAW,GAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,MAAG,KAAK,OAAO,EAAC;AAAA;AAAA,EAAG,MAAM,CAAC,IAAE;AAAA,IAAC,MAAM,KAAG,IAAI,KAAI,MAAM,EAAC;AAAA,IAAE,KAAK,UAAU,EAAC;AAAA;AAAG;AAEp4kM,SAAS,qBAAqB,CAAC,MAAM,OAAO,YAAY;AAAA,EACpD,QAAQ,YAAY,mBAAmB;AAAA,EACvC,IAAI,gBAAgB;AAAA,IAChB,MAAM,KAAK,KAAK,YAAY;AAAA,IAC5B,OAAQ,MAAM,GAAG,UAAU,aAAc,KAAK;AAAA,EAClD;AAAA,EACA,OAAO,OAAO,OAAO,KAAK,WAAW,EAAE,OAAO,QAAM,GAAG,UAAU,UAAU,EAAE;AAAA;AAEjF,SAAS,iBAAiB,CAAC,MAAM,OAAO,YAAY;AAAA,EAChD,IAAI,CAAC,OAAO;AAAA,IACR,OAAO,CAAC;AAAA,EACZ;AAAA,EACA,MAAM,aAAa,sBAAsB,MAAM,OAAO,UAAU;AAAA,EAChE,OAAO,YAAY,aAAa,CAAC;AAAA;AAErC,IAAM,YAAY,CAAC,IAAG,OAAM,KAAK,KAAK,GAAE,UAAU,GAAE,OAAO;AAsB3D,SAAS,8BAA8B,CAAC,MAAM,MAAM;AAAA,EAChD,OAAO,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAAA,EACzC,MAAM,YAAY;AAAA,IACd,GAAG,kBAAkB,KAAK,IAAI,KAAK,QAAQ,eAAe,MAAM;AAAA,IAChE,GAAG,kBAAkB,KAAK,KAAK,SAAS,IAAI,KAAK,UAAU,eAAe,QAAQ;AAAA,IAClF,GAAG,kBAAkB,KAAK,IAAI,KAAK,SAAS,eAAe,OAAO;AAAA,EACtE;AAAA,EACA,MAAM,6CAA6C,CAAC;AAAA,EACpD,WAAW,YAAY,WAAW;AAAA,IAC9B,MAAM,2BAA2B,2CAA2C,SAAS,UAAU,IAAI;AAAA,IACnG,2CAA2C,SAAS,SAAS;AAAA,IAE7D,MAAM,QAAQ,yBAAyB,IAAI,SAAS,MAAM,OAAO;AAAA,IACjE,yBAAyB,IAAI,SAAS,MAAM,SAAS;AAAA,SAC9C,SAAS;AAAA,MACZ,YAAY,SAAS,MAAM,cAAc,OAAO,cAAc;AAAA,IAClE,CAAC;AAAA,EACL;AAAA,EACA,MAAM,cAAc,2CAA2C,IAAI,SAAM,EAAE,SAAS,CAAC,GAAG,GAAE,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,EAAE;AAAA,EACtH,SAAS,KAAI,EAAG,KAAI,YAAY,QAAQ,EAAE,IAAG;AAAA,IACzC,IAAI,CAAC,YAAY,KAAI;AAAA,MACjB,YAAY,MAAK,EAAE,SAAS,CAAC,EAAE;AAAA,IACnC;AAAA,EACJ;AAAA,EACA,OAAO;AAAA;AAEX,SAAS,iBAAiB,CAAC,SAAS,WAAW;AAAA,EAC3C,OAAO,OAAO,YAAY,UAAU,IAAI,QAAK;AAAA,IACzC,MAAM,iBAAiB,gBAAgB,SAAS,IAAG,CAAC;AAAA,IACpD,OAAO;AAAA,MACH,GAAE;AAAA,MACF;AAAA,QACI;AAAA,QACA,OAAO,GAAE;AAAA,QACT,SAAS,GAAE;AAAA,QACX,MAAM,eAAe;AAAA,MACzB;AAAA,IACJ;AAAA,GACH,CAAC;AAAA;AAEN,SAAS,oBAAoB,CAAC,SAAS,YAAY,QAAQ;AAAA,EAEvD,MAAM,SAAS,OAAO,YAAY,WAAW,QAAQ,IAAI,QAAK;AAAA,IAC1D,OAAO;AAAA,MACH,GAAE;AAAA,MACF;AAAA,QACI,QAAQ,GAAE;AAAA,QACV,MAAM,QAAQ,SAAS,GAAE,MAAM,CAAC;AAAA,MACpC;AAAA,IACJ;AAAA,GACH,CAAC;AAAA,EACF,OAAO;AAAA,IACH;AAAA,IACA,MAAM,WAAW;AAAA,IACjB;AAAA,EACJ;AAAA;AAEJ,SAAS,oBAAoB,CAAC,MAAM;AAAA,EAChC,IAAI,KAAK,KAAK,SAAS,OAAO,GAAG;AAAA,IAC7B,OAAO;AAAA,EACX;AAAA,EAEA,QAAQ,KAAK,QAAQ;AAAA,SACZ;AAAA,MAAO,OAAO;AAAA,SACd;AAAA,MAAO,OAAO;AAAA,SACd;AAAA,MAAO,OAAO;AAAA;AAAA,MAEf,MAAM,IAAI,MAAM,6BAA6B;AAAA;AAAA;AAGzD,SAAS,gBAAgB,CAAC,MAAM;AAAA,EAC5B,IAAI,KAAK,KAAK,SAAS,UAAU,GAAG;AAAA,IAChC,OAAO;AAAA,EACX;AAAA,EACA,IAAI,KAAK,KAAK,SAAS,YAAY,GAAG;AAAA,IAClC,OAAO;AAAA,EACX;AAAA,EACA,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG;AAAA,IAC1B,OAAO;AAAA,EACX;AAAA,EACA,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG;AAAA,IAC1B,OAAO;AAAA,EACX;AAAA,EACA,IAAI,KAAK,KAAK,SAAS,MAAM,GAAG;AAAA,IAC5B,OAAO;AAAA,EACX;AAAA,EACA,OAAO;AAAA;AAEX,SAAS,uBAAuB,CAAC,MAAM;AAAA,EACnC,QAAQ,KAAK;AAAA,SACJ;AAAA,MAAQ,OAAO;AAAA,SACf;AAAA,MAAS,OAAO;AAAA,SAChB;AAAA,MAAc,OAAO;AAAA;AAAA,MAEtB,MAAM,IAAI,MAAM,gCAAgC;AAAA;AAAA;AAG5D,SAAS,cAAc,CAAC,MAAM;AAAA,EAE1B,OAAO,KAAK,KAAK,SAAS,aAAa,IACjC,eACA;AAAA;AAEV,SAAS,uBAAuB,CAAC,UAAU,YAAY;AAAA,EACnD,QAAQ,SAAS,QAAQ,SAAS;AAAA,EAClC,QAAQ,SAAS;AAAA,SACR,EAAE;AAAA,MACH,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,aACA,SAAS,QAAQ,EAAE,gBAAgB,SAAS,KAAK;AAAA,QACzD;AAAA,MACJ;AAAA,SACC,EAAE;AAAA,MACH,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,UACJ,MAAO,WAAW,MAAM,WAAW,SAAU,sBAAsB;AAAA,aAC/D,SAAS,QAAQ,EAAE,gBAAgB,SAAS,KAAK;AAAA,QACzD;AAAA,MACJ;AAAA,SACC,EAAE,SAAS;AAAA,MACZ,IAAI,KAAK,SAAS,oBAAoB;AAAA,QAClC,OAAO;AAAA,UACH;AAAA,UACA;AAAA,UACA,iBAAiB,CAAC;AAAA,QACtB;AAAA,MACJ;AAAA,MACA,MAAM,eAAe,KAAK,KAAK,SAAS,cAAc;AAAA,MACtD,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACL,YAAY,qBAAqB,IAAI;AAAA,UACrC,eAAe,iBAAiB,IAAI;AAAA,UACpC;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,SACK,EAAE;AAAA,MACH,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACL,MAAM,eAAe,IAAI;AAAA,QAC7B;AAAA,MACJ;AAAA,SACC,EAAE;AAAA,MACH,OAAO;AAAA,QACH;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,UACZ,QAAQ,wBAAwB,IAAI;AAAA,UACpC,QAAQ,KAAK,OAAO;AAAA,UACpB,eAAe,iBAAiB,IAAI;AAAA,QACxC;AAAA,MACJ;AAAA;AAAA,MAEA,MAAM,IAAI,MAAM,uBAAuB;AAAA;AAAA;AAGnD,SAAS,cAAc,CAAC,WAAW,OAAO;AAAA,EACtC,MAAM,cAAc,CAAC;AAAA,EACrB,WAAW,QAAQ,WAAW;AAAA,IAC1B,YAAY,KAAK,QAAQ;AAAA,MACrB;AAAA,MACA,WAAW,KAAK,UAAU,IAAI,cAAY;AAAA,QACtC,QAAQ,MAAM,UAAU;AAAA,QACxB,OAAO;AAAA,UACH;AAAA,UACA;AAAA,UACA,OAAO,wBAAwB,UAAU,KAAK;AAAA,QAClD;AAAA,OACH;AAAA,IACL;AAAA,EACJ;AAAA,EACA,OAAO;AAAA;AAmCX,SAAS,yBAAyB,CAAC,MAAM;AAAA,EACrC,MAAM,UAAU,IAAI,GAAG,IAAI;AAAA,EAC3B,MAAM,UAAU,OAAO,YAAY,QAAQ,QAAQ,IAAI,gBAAc;AAAA,IACjE,OAAO,CAAC,WAAW,MAAM,qBAAqB,SAAS,YAAY,CAAC,CAAC;AAAA,GACxE,CAAC;AAAA,EACF,MAAM,WAAW,kBAAkB,SAAS,QAAQ,QAAQ;AAAA,EAC5D,MAAM,WAAW,kBAAkB,SAAS,QAAQ,QAAQ,OAAO,QAAK,GAAE,iBAAiB,EAAE,OAAO,CAAC;AAAA,EACrG,MAAM,kBAAkB,kBAAkB,SAAS,QAAQ,QAAQ,OAAO,QAAK,GAAE,iBAAiB,EAAE,cAAc,CAAC;AAAA,EACnH,MAAM,WAAW,kBAAkB,SAAS,QAAQ,SAAS,OAAO,QAAK,GAAE,KAAK,SAAS,kBAAkB,CAAC;AAAA,EAC5G,MAAM,mBAAmB,kBAAkB,SAAS,QAAQ,SAAS,OAAO,QAAK,GAAE,KAAK,SAAS,kBAAkB,CAAC;AAAA,EACpH,MAAM,WAAW,kBAAkB,SAAS,QAAQ,QAAQ;AAAA,EAC5D,MAAM,cAAc;AAAA,OACb,eAAe,QAAQ,MAAM,QAAQ,eAAe,MAAM;AAAA,OAC1D,eAAe,QAAQ,MAAM,UAAU,eAAe,QAAQ;AAAA,OAC9D,eAAe,QAAQ,MAAM,SAAS,eAAe,OAAO;AAAA,EACnE;AAAA,EACA,OAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA;AAEJ,SAAS,OAAM,CAAC,MAAM,MAAM,IAAI;AAAA,EAC5B,IAAI,CAAC,MAAM;AAAA,IACP,MAAM,IAAI,MAAM,GAAG;AAAA,EACvB;AAAA;AAkDJ,SAAS,eAAe,CAAC,SAAS,IAAG,QAAQ;AAAA,EACzC,QAAQ,GAAE;AAAA,SACD,EAAE;AAAA,SACF,EAAE;AAAA,SACF,EAAE;AAAA,MACH,OAAO,QAAQ,SAAS,GAAE,MAAM,MAAM;AAAA;AAAA,MAEtC,OAAO;AAAA,QACH,MAAM;AAAA,QACN,MAAM,GAAE,KAAK;AAAA,MACjB;AAAA;AAAA;AAGZ,SAAS,OAAO,CAAC,SAAS,UAAU,QAAQ;AAAA,EACxC,IAAI,SAAS,SAAS;AAAA,IAClB,QAAO,CAAC,SAAS,UAAU,yBAAyB;AAAA,IACpD,QAAO,CAAC,SAAS,UAAU,2BAA2B;AAAA,IACtD,MAAM,YAAY;AAAA,IAElB,OAAO;AAAA,MACH,MAAM,UAAU;AAAA,MAChB,aAAa,QAAQ,SAAS,UAAU,QAAQ,MAAM;AAAA,MACtD,aAAa,UAAU;AAAA,IAC3B;AAAA,EACJ,EACK,SAAI,SAAS,UAAU;AAAA,IACxB,QAAO,CAAC,SAAS,YAAY,4BAA4B;AAAA,IACzD,MAAM,aAAa;AAAA,IACnB,OAAO,qBAAqB,SAAS,YAAY,MAAM;AAAA,EAC3D,EACK;AAAA,IAED,MAAM,iBAAiB;AAAA,IACvB,MAAM,OAAO,SAAS,aAChB,GAAG,eAAe,QAAQ,eAAe,OAAO,UAChD,SAAS;AAAA,IAEf,OAAO;AAAA,MACH,MAAM,SAAS;AAAA,MACf;AAAA,IACJ;AAAA;AAAA;AA2CR,IAAM,WAAW,IAAI;AAoKrB,IAAM,4BAA4B,IAAI,IAAI;AAAA,EACtC,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,QAAQ,GAAG,gBAAgB,EAAE,CAAC;AAAA,EAC/D,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,QAAQ,GAAG,gBAAgB,EAAE,CAAC;AAAA,EAChE,CAAC,YAAY,EAAE,SAAS,CAAC,UAAU,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAAA,EAClE,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAAA,EACnE,CAAC,YAAY,EAAE,SAAS,CAAC,UAAU,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAAA,EAClE,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAAA,EACnE,CAAC,cAAc,EAAE,SAAS,CAAC,WAAW,SAAS,GAAG,gBAAgB,EAAE,CAAC;AAEzE,CAAC;AACD,IAAM,4BAA4B,IAAI,IAAI,CAAC,GAAG,0BAA0B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,UAAU,IAAI,WAAW,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;;;ACtyC1J,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,aAAW,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAO,QAAQ,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAO,UAAU,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAO,SAAS,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAK;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW,IAAE,KAAK,SAAO,GAAE,KAAK,OAAK;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAY,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAa,UAAU,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAe,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,QAAM;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,UAAQ;AAAA;AAAA,MAAS,MAAM,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,aAAW,KAAK,KAAK,SAAO;AAAA;AAAA,MAAS,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,UAAQ,KAAK,KAAK,QAAM;AAAA;AAAA,MAAM,MAAM,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,UAAQ,KAAK,KAAK,SAAO,KAAK;AAAA;AAAK;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,KAAK,UAAQ,CAAC,GAAE,KAAK,QAAM,GAAE,KAAK,YAAU,IAAG,KAAK,UAAQ,IAAG,KAAK,QAAM;AAAA;AAAA,MAAO,QAAQ,GAAE;AAAA,IAAC,OAAM;AAAA;AAAG;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,KAAK,QAAM,GAAE,KAAK,SAAO;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,WAAW,GAAE;AAAA,IAAC,OAAM,SAAS,KAAK,OAAO,YAAY,MAAM,KAAK;AAAA;AAAS;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,KAAK,SAAO;AAAA;AAAA,MAAM,SAAS,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,WAAW,GAAE;AAAA,IAAC,OAAM,IAAI,KAAK,OAAO,YAAY;AAAA;AAAI;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,IAAE,EAAC,GAAE,KAAK,SAAO,IAAE,KAAK,SAAO;AAAA;AAAA,MAAM,UAAU,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,WAAW,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK;AAAA,IAAK,IAAU,KAAK,WAAZ,MAAmB;AAAA,MAAC,IAAY,OAAT,UAAqB,OAAT,UAAqB,OAAT,UAAuB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,UAAa;AAAA,QAAC,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAY,KAAK,OAAO,SAArB;AAAA,UAA0B,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,MAAC;AAAA,MAAC,MAAG,IAAI,KAAK,OAAO;AAAA,IAAO,EAAM,SAAY,OAAT,UAAqB,OAAT,UAAqB,OAAT;AAAA,MAAW,OAAO;AAAA,IAAE,OAAO;AAAA;AAAE;AAAC,IAAI;AAAA,CAAG,QAAG;AAAA,EAAC,GAAE,GAAE,UAAQ,KAAG,WAAU,GAAE,GAAE,UAAQ,KAAG,WAAU,GAAE,GAAE,UAAQ,KAAG,WAAU,GAAE,GAAE,UAAQ,KAAG,WAAU,GAAE,GAAE,iBAAe,KAAG;AAAA,GAAmB,OAAI,KAAE,CAAC,EAAE;AAAA;AAAE,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,QAAM,IAAE,KAAK,UAAQ,IAAE,KAAK,aAAW,IAAE,KAAK,eAAa,IAAE,KAAK,SAAO;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAY,QAAQ,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAa,UAAU,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAe,IAAI,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK;AAAA;AAAA,MAAS,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,QAAM;AAAA;AAAA,MAAM,OAAO,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,UAAQ;AAAA;AAAA,MAAS,MAAM,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,WAAS,KAAK,KAAK,aAAW,KAAK,KAAK,SAAO;AAAA;AAAA,MAAS,KAAK,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,UAAQ,KAAK,KAAK,QAAM;AAAA;AAAA,MAAM,MAAM,GAAE;AAAA,IAAC,OAAO,KAAK,KAAK,UAAQ,KAAK,KAAK,SAAO,KAAK;AAAA;AAAK;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAE;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,eAAa,IAAE,KAAK,WAAS,IAAE,KAAK,gBAAc;AAAA;AAAK;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,eAAa,IAAE,KAAK,WAAS;AAAA;AAAE;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW,IAAE,KAAK,KAAG;AAAA;AAAE;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW;AAAA;AAAE;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,KAAE,MAAK,IAAE;AAAA,IAAC,KAAK,QAAM,MAAK,KAAK,SAAO,CAAC,GAAE,KAAK,UAAQ,CAAC,GAAE,KAAK,YAAU,CAAC,GAAE,KAAK,aAAW,MAAK,KAAK,YAAU,CAAC,GAAE,KAAK,YAAU,CAAC,GAAE,KAAK,YAAU,IAAG,KAAK,UAAQ,IAAG,KAAK,QAAM,OAAG,KAAK,QAAM,IAAI,KAAI,KAAK,OAAK,IAAE,KAAK,QAAM,IAAE,KAAK,aAAW;AAAA;AAAE;AAAA;AAAC,MAAM,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,KAAK,SAAO,CAAC,GAAE,KAAK,WAAS,CAAC,GAAE,KAAK,UAAQ,CAAC;AAAA;AAAE;AAAC,IAAM,KAAE,IAAI,aAAa,CAAC;AAA1B,IAA4B,KAAE,IAAI,WAAW,GAAE,MAAM;AAArD,IAAuD,KAAE,IAAI,YAAY,CAAC;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,GAAE,KAAG;AAAA,EAAE,MAAM,KAAE,GAAE,IAAG,KAAE,MAAG,KAAG;AAAA,EAAE,IAAI,KAAE,MAAG,KAAG,KAAI,KAAE,UAAQ;AAAA,EAAE,IAAS,OAAN;AAAA,IAAQ,OAAO,GAAE,KAAG,MAAG,KAAG,SAAW,OAAJ,IAAM,MAAI,IAAG,GAAE;AAAA,EAAG,IAAO,OAAJ,GAAM;AAAA,IAAC,IAAO,OAAJ;AAAA,MAAM,OAAO,GAAE,KAAG,MAAG,IAAG,GAAE;AAAA,IAAG,MAAG;AAAA,IAAQ,IAAI,KAAE;AAAA,IAAI,MAAK,EAAE,UAAQ;AAAA,MAAI,OAAI,GAAE;AAAA,IAAI,OAAO,KAAE,MAAI,IAAE,MAAG,SAAQ,KAAE,KAAG,MAAG,MAAG,MAAI,OAAI,MAAG,MAAI,KAAE,IAAG,GAAE,KAAG,MAAG,KAAG,MAAG,KAAG,MAAG,IAAG,GAAE,OAAK,GAAE,KAAG,MAAG,IAAG,GAAE;AAAA,EAAG;AAAA,EAAC,OAAO,KAAE,KAAE,MAAI,IAAG,MAAG,MAAI,GAAE,KAAG,MAAG,KAAG,OAAM,GAAE,MAAI,MAAG,IAAE,KAAE,OAAK,GAAE,KAAG,MAAG,IAAG,GAAE,OAAK,MAAG,UAAQ,OAAI,IAAE,IAAE,GAAE,KAAG,MAAG,KAAG,MAAG,IAAG,GAAE,OAAK,OAAI,IAAG,GAAE,KAAG,MAAG,KAAG,MAAG,KAAG,IAAE,GAAE;AAAA;AAAI,IAAM,KAAE,IAAI,YAAY,CAAC;AAAzB,IAA2B,KAAE,IAAI,aAAa,GAAE,QAAO,GAAE,CAAC;AAAE,SAAS,EAAC,CAAC,IAAE;AAAA,EAAC,MAAM,KAAE,OAAK,MAAG,IAAE,OAAK,MAAI,KAAG,OAAI;AAAA,EAAG,OAAO,GAAE,KAAG,IAAE,GAAE;AAAA;AAAG,SAAS,EAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,MAAM,KAAE,MAAG,OAAI,OAAI,OAAI,MAAG,KAAE,KAAE,KAAE;AAAA,EAAE,QAAO;AAAA,SAAO;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAS,OAAM,CAAC,GAAE,IAAE,IAAE,SAAQ,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAS,OAAM,CAAC,GAAE,IAAE,IAAE,SAAQ,CAAC,EAAE,EAAE;AAAA,SAAM,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,WAAU;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,SAAQ,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,WAAU;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,SAAQ,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK;AAAA,SAAsB,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,aAAY;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,SAAQ,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,aAAY;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,SAAQ,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK;AAAA,SAAsB,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAW,OAAM,CAAC,GAAE,IAAE,IAAE,WAAU,CAAC,EAAE,EAAE;AAAA,SAAM,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,aAAY;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,WAAU,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,eAAc;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,WAAU,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,MAAU,OAAM,CAAC,GAAE,IAAE,IAAE,UAAS,CAAC,EAAE,EAAE;AAAA,SAAM;AAAA,SAAmB;AAAA,SAAkB;AAAA,SAA2B;AAAA,SAAmB;AAAA,SAA4B;AAAA,MAAW,OAAM,CAAC,GAAE,IAAE,IAAE,WAAU,CAAC,EAAE,EAAE;AAAA,SAAM,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,YAAW;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,aAAY;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,WAAU,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,cAAa;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,UAAS,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,eAAc;AAAA,MAAC,MAAM,KAAE,GAAE,IAAE,IAAE,WAAU,CAAC;AAAA,MAAE,OAAM,CAAC,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAA,IAAC;AAAA,SAAK,iBAAgB;AAAA,MAAC,MAAM,KAAE,IAAI,YAAY,GAAE,QAAO,IAAE,CAAC,EAAE,IAAG,MAAG,UAAQ,OAAI,IAAG,MAAG,aAAW,OAAI;AAAA,MAAG,OAAM,CAAC,GAAE,OAAK,EAAC,GAAE,GAAE,EAAC,GAAE,QAAQ,CAAC,IAAE;AAAA,QAAC,MAAM,KAAE,OAAK,MAAG,IAAE,OAAK,MAAI,KAAG,OAAI;AAAA,QAAG,OAAO,GAAE,KAAG,IAAE,GAAE;AAAA,QAAI,EAAC,GAAE,CAAC;AAAA,IAAC;AAAA;AAAA,EAAE,OAAO;AAAA;AAAK,SAAS,EAAC,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,MAAM,KAAE,CAAC,GAAE,GAAE,GAAE,CAAC;AAAA,EAAE,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,IAAE,QAAO;AAAA,WAAO;AAAA,QAAS,GAAE,MAAG,GAAE,MAAG,KAAI;AAAA,QAAI;AAAA,WAAU;AAAA,QAAS,GAAE,MAAG,GAAE,MAAG,MAAI,IAAE,GAAE;AAAA,QAAI;AAAA,WAAU;AAAA,QAAQ,GAAE,MAAG,GAAE,KAAG;AAAA,QAAI;AAAA,WAAU;AAAA,QAAQ,GAAE,MAAG,GAAE,MAAG,KAAI;AAAA,QAAI;AAAA,WAAU;AAAA,QAAS,GAAE,MAAG,GAAE,MAAG,GAAE,KAAE,MAAI,GAAE,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAS,GAAE,OAAI,GAAE,MAAG,GAAE,KAAE,MAAI,KAAG,OAAM,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAU,GAAE,OAAI,KAAE,GAAE,MAAG,GAAE,KAAE,MAAI,GAAE,KAAO,WAAE,KAAO,WAAE,KAAO,WAAE,MAAG,QAAM,OAAI,IAAG,KAAE,OAAK,KAAM,MAAG,QAAM,OAAI,OAAjB,KAAsB,KAAE,KAAG,KAAG,KAAK,IAAI,GAAE,GAAG,KAAG,KAAE,KAAK,IAAI,GAAE,EAAE,KAAO,MAAJ,KAAM,KAAE,MAAI,IAAE,KAAG,KAAE,KAAG,MAAI,KAAE,KAAG,KAAG,KAAK,IAAI,GAAE,KAAE,EAAE,KAAG,IAAE,KAAE,KAAK,IAAI,GAAE,EAAE,KAAI,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,WAAa;AAAA,QAAS,GAAE,MAAG,GAAE,MAAG,GAAE,KAAE,MAAI,IAAE,GAAE,KAAE,MAAI,KAAG,GAAE,KAAE,MAAI,IAAG,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAU,GAAE,MAAG,IAAI,aAAa,GAAE,QAAO,IAAE,CAAC,EAAE,IAAG,MAAG;AAAA;AAAA,EAAE,IAAI,IAAE,IAAE,IAAE;AAAA,EAAE,OAAO;AAAA;AAAE,SAAS,EAAC,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,EAAC,SAAQ,KAAE,EAAE,KAAE,IAAE,EAAE;AAAA,IAAE,QAAO;AAAA,WAAO;AAAA,QAAS,GAAE,MAAG,MAAI,GAAE,KAAG;AAAA,QAAI;AAAA,WAAU;AAAA,QAAS,GAAE,MAAG,OAAI,GAAE,MAAG,KAAG,KAAI;AAAA,QAAI;AAAA,WAAU;AAAA,QAAQ,GAAE,MAAG,GAAE,KAAG;AAAA,QAAI;AAAA,WAAU;AAAA,QAAQ,GAAE,MAAG,GAAE,MAAG,KAAI;AAAA,QAAI;AAAA,WAAU;AAAA,QAAS,IAAI,YAAY,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE,KAAG,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAS,IAAI,WAAW,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE,KAAG,MAAG;AAAA,QAAE;AAAA,WAAU,WAAU;AAAA,QAAC,MAAM,KAAE,GAAE,GAAE,GAAE;AAAA,QAAE,IAAI,YAAY,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,IAAE,MAAG;AAAA,QAAE;AAAA,MAAK;AAAA,WAAK;AAAA,QAAS,IAAI,YAAY,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE,KAAG,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAS,IAAI,WAAW,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE,KAAG,MAAG;AAAA,QAAE;AAAA,WAAU;AAAA,QAAU,IAAI,aAAa,GAAE,QAAO,IAAE,CAAC,EAAE,KAAG,GAAE,KAAG,MAAG;AAAA;AAAA,EAAE,OAAO;AAAA;AAAE,IAAM,KAAE,EAAC,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,QAAO,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,QAAO,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,WAAU,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,WAAU,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,WAAU,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,aAAY,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,SAAQ,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,WAAU,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,YAAW,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,aAAY,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,aAAY,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,cAAa,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,eAAc,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,UAAS,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,OAAG,YAAW,MAAG,UAAS,EAAC,GAAE,cAAa,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,MAAG,YAAW,OAAG,UAAS,EAAC,GAAE,aAAY,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,MAAG,YAAW,OAAG,iBAAgB,gBAAe,UAAS,EAAC,GAAE,wBAAuB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,MAAG,YAAW,MAAG,iBAAgB,gBAAe,UAAS,EAAC,GAAE,cAAa,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,MAAG,YAAW,OAAG,UAAS,EAAC,GAAE,yBAAwB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,gBAAe,MAAG,UAAS,MAAG,YAAW,MAAG,mBAAkB,gBAAe,UAAS,EAAC,GAAE,cAAa,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,OAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,eAAc,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,eAAc,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,gBAAe,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,gBAAe,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,oBAAmB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,yBAAwB,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,wBAAuB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,gBAAe,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,gBAAe,EAAC,eAAc,GAAE,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,iBAAgB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,iBAAgB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,kBAAiB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,uBAAsB,EAAC,eAAc,IAAG,YAAW,GAAE,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,wBAAuB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,wBAAuB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,mBAAkB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,wBAAuB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,GAAE,cAAa,MAAG,UAAS,EAAC,GAAE,oBAAmB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,GAAE,yBAAwB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,GAAE,oBAAmB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,GAAE,yBAAwB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,GAAE,oBAAmB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,GAAE,yBAAwB,EAAC,eAAc,IAAG,YAAW,IAAG,aAAY,IAAG,cAAa,MAAG,UAAS,EAAC,EAAC;AAAA;AAAE,MAAM,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,KAAK,KAAG,GAAE,OAAM,KAAK,OAAK;AAAA;AAAA,MAAM,SAAS,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,MAAM,CAAC,IAAE;AAAA,IAAC,GAAE,IAAI;AAAA;AAAA,EAAE,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,IAAG,IAAE;AAAA,MAAC,GAAE,GAAE,QAAQ;AAAA,MAAE,WAAU,MAAK;AAAA,QAAE,cAAa,QAAM,KAAK,YAAY,IAAE,EAAC,IAAE,GAAE,OAAO,EAAC;AAAA,MAAE,GAAE,GAAE,QAAQ;AAAA,IAAC;AAAA;AAAA,EAAE,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,IAAI,MAAM,sBAAsB;AAAA;AAAA,EAAE,mBAAmB,CAAC,IAAE;AAAA,IAAC,OAAO,KAAK,cAAc,EAAC,EAAE,SAAS;AAAA;AAAE;AAAC,GAAE,MAAI;AAAA;AAAE,MAAM,WAAU,GAAC;AAAC;AAAC,GAAE,WAAS,IAAI;AAAA;AAAE,MAAM,WAAU,GAAC;AAAC;AAAC,GAAE,WAAS,IAAI;AAAE,IAAM,KAAE,IAAI,IAAI,CAAC,OAAM,OAAM,OAAM,UAAS,eAAc,OAAM,QAAO,SAAQ,QAAO,SAAQ,QAAO,SAAQ,SAAQ,QAAO,SAAQ,OAAM,QAAO,qBAAoB,gBAAe,sBAAqB,SAAQ,WAAU,eAAc,YAAW,OAAM,gBAAe,gBAAe,OAAM,QAAO,eAAc,eAAc,mBAAkB,oBAAmB,SAAQ,OAAM,SAAQ,SAAQ,cAAa,eAAc,SAAQ,UAAS,OAAM,QAAO,OAAM,OAAM,OAAM,QAAO,aAAY,OAAM,iBAAgB,WAAU,WAAU,WAAU,eAAc,SAAQ,YAAW,QAAO,OAAM,QAAO,cAAa,QAAO,QAAO,OAAM,QAAO,aAAY,SAAQ,QAAO,cAAa,YAAW,QAAO,cAAa,YAAW,UAAS,gBAAe,cAAa,qBAAoB,iBAAgB,wBAAuB,eAAc,oBAAmB,oBAAmB,qBAAoB,iBAAgB,qBAAoB,wBAAuB,6BAA4B,qBAAoB,sBAAqB,gCAA+B,gBAAe,cAAa,eAAc,aAAY,aAAY,aAAY,aAAY,aAAY,YAAW,aAAY,kBAAiB,6BAA4B,gBAAe,gBAAe,YAAW,YAAW,gBAAe,iBAAgB,iBAAgB,iBAAgB,iBAAgB,kBAAiB,kBAAiB,cAAa,cAAa,mBAAkB,mBAAkB,mBAAkB,kBAAiB,kBAAiB,oBAAmB,wBAAuB,eAAc,wBAAuB,wBAAuB,eAAc,eAAc,eAAc,kBAAiB,qBAAoB,0BAAyB,iBAAgB,eAAc,eAAc,eAAc,wBAAuB,wBAAuB,cAAa,mBAAkB,uBAAsB,qBAAoB,sBAAqB,eAAc,iBAAgB,oBAAmB,aAAY,WAAW,CAAC;AAAA;AAAE,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,QAAM,IAAI,KAAI,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,aAAW,IAAE,KAAK,OAAK,IAAE,KAAK,YAAU,IAAE,KAAK,UAAQ;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAW,MAAM,CAAC,IAAE;AAAA,IAAC,IAAG,KAAK;AAAA,MAAW,WAAU,MAAK,KAAK;AAAA,QAAW,GAAE,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAK,GAAE,EAAC;AAAA,IAAE,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAe,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,WAAW,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,YAAU,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAQ,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,UAAU,OAAO,EAAC,GAAE,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,SAAO;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAa,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,YAAU,IAAE,KAAK,YAAU,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAM,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI,IAAE,IAAE;AAAA,KAAU,KAAE,KAAK,UAAf,QAA+B,OAAJ,aAAO,GAAE,OAAO,EAAC,IAAU,KAAE,KAAK,eAAf,QAAoC,OAAJ,aAAO,GAAE,OAAO,EAAC,IAAU,KAAE,KAAK,eAAf,QAAoC,OAAJ,aAAO,GAAE,OAAO,EAAC,GAAE,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW,MAAK,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,UAAQ,IAAE,KAAK,SAAO,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAM,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,GAAE,IAAI,IAAU,KAAE,KAAK,WAAf,QAAgC,OAAJ,aAAO,GAAE,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW,MAAK,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAW,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,KAAU,KAAE,KAAK,WAAf,QAAgC,OAAJ,aAAO,GAAE,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW,MAAK,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,UAAQ,IAAE,KAAK,SAAO,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAM,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,GAAE,IAAI,IAAU,KAAE,KAAK,WAAf,QAAgC,OAAJ,aAAO,GAAE,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW,MAAK,KAAK,OAAK,IAAE,KAAK,OAAK,IAAE,KAAK,UAAQ,IAAE,KAAK,SAAO,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAQ,aAAa,CAAC,IAAE,IAAE;AAAA,IAAC,OAAO,KAAK,MAAM,cAAc,IAAE,EAAC;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,IAAE,GAAE,IAAI,IAAU,KAAE,KAAK,WAAf,QAAgC,OAAJ,aAAO,GAAE,OAAO,EAAC;AAAA;AAAE;AAAC,IAAI;AAAJ,IAAM;AAAN,IAAQ;AAAR,IAAU;AAAA,CAAG,QAAG;AAAA,EAAC,GAAE,YAAU,MAAK,GAAE,YAAU;AAAA,GAAO,OAAI,KAAE,CAAC,EAAE,IAAG,QAAG;AAAA,EAAC,GAAE,QAAM,QAAQ,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE;AAAA,IAAE,IAAY,MAAT;AAAA,MAAW,MAAM,IAAI,MAAM,qCAAqC;AAAA,IAAE,OAAO,GAAE;AAAA;AAAA,GAAM,OAAI,KAAE,CAAC,EAAE;AAAA;AAAE,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,WAAS,IAAE,KAAK,WAAS;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAY,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,SAAS,OAAO,EAAC;AAAA;AAAE;AAAA,CAAE,QAAG;AAAA,EAAC,GAAE,SAAO,KAAI,GAAE,YAAU,MAAK,GAAE,gBAAc,MAAK,GAAE,iBAAe,MAAK,GAAE,eAAa,MAAK,GAAE,eAAa,MAAK,GAAE,YAAU,MAAK,GAAE,WAAS,MAAK,GAAE,YAAU,MAAK,GAAE,kBAAgB,OAAM,GAAE,mBAAiB;AAAA,GAAQ,OAAI,KAAE,CAAC,EAAE,IAAG,QAAG;AAAA,EAAC,GAAE,QAAM,QAAQ,CAAC,IAAE;AAAA,IAAC,MAAM,KAAE;AAAA,IAAE,IAAY,MAAT;AAAA,MAAW,MAAM,IAAI,MAAM,kCAAkC;AAAA,IAAE,OAAO;AAAA;AAAA,GAAK,OAAI,KAAE,CAAC,EAAE;AAAA;AAAE,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,WAAS,IAAE,KAAK,WAAS,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAS,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,SAAS,OAAO,EAAC,GAAE,KAAK,MAAM,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAO,SAAS,GAAE;AAAA,IAAC,OAAO,GAAE,IAAI,KAAK,IAAI;AAAA;AAAA,EAAE,MAAM,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAK,GAAE,OAAO,EAAC;AAAA,IAAE,GAAE,IAAI;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,aAAW;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAO;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,YAAU,IAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAS,MAAM,CAAC,IAAE;AAAA,IAAC,GAAE,IAAI;AAAA,IAAE,WAAU,MAAK,KAAK;AAAA,MAAM,GAAE,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,YAAU,IAAE,KAAK,OAAK,IAAE,KAAK,SAAO,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAK,MAAM,CAAC,IAAE;AAAA,IAAC,KAAK,UAAU,OAAO,EAAC,GAAE,KAAK,YAAY,KAAK,MAAK,EAAC,GAAE,KAAK,YAAY,KAAK,QAAO,EAAC,GAAE,KAAK,YAAY,KAAK,MAAK,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,QAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAS,MAAM,CAAC,IAAE;AAAA,IAAC,IAAI;AAAA,KAAU,KAAE,KAAK,WAAf,QAAgC,OAAJ,aAAO,GAAE,OAAO,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAS;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAW;AAAA;AAAC,MAAM,WAAU,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,WAAS,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAa;AAAA;AAAC,MAAM,YAAW,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,OAAK,IAAE,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAQ;AAAA;AAAC,MAAM,YAAW,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAU;AAAA;AAAC,MAAM,YAAW,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM,GAAE,KAAK,YAAU,MAAK,KAAK,SAAO;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAQ;AAAA;AAAC,MAAM,YAAW,GAAC;AAAA,EAAC,WAAW,GAAE;AAAA,IAAC,MAAM,GAAE,KAAK,SAAO;AAAA;AAAA,MAAO,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAW;AAAA;AAAC,MAAM,YAAW,GAAC;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,GAAE,KAAK,aAAW,MAAK,KAAK,OAAK;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAW,QAAQ,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAO,OAAO,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,SAAU,aAAa,CAAC,IAAE;AAAA,IAAC,IAAI,KAAE,GAAE;AAAA,IAAG,IAAW,GAAE,SAAV;AAAA,MAAe,OAAO;AAAA,IAAE,SAAQ,KAAE,EAAE,KAAE,GAAE,QAAO,EAAE,IAAE;AAAA,MAAC,MAAM,KAAE,IAAG,UAAU,IAAI,GAAE,IAAI;AAAA,MAAE,IAAG,UAAU,IAAI,GAAE,IAAG,IAAI,IAAE,OAAI,KAAE,GAAE;AAAA,IAAG;AAAA,IAAC,OAAc,GAAE,SAAV,QAAe,IAAG,MAAI;AAAA;AAAA,EAAE,WAAW,GAAE;AAAA,IAAC,OAAO,KAAK;AAAA;AAAK;AAAC,IAAG,MAAI,IAAI,IAAG,KAAK,GAAE,IAAG,MAAI,IAAI,IAAG,KAAK,GAAE,IAAG,MAAI,IAAI,IAAG,KAAK,GAAE,IAAG,MAAI,IAAI,IAAG,KAAK,GAAE,IAAG,MAAI,IAAI,IAAG,KAAK,GAAE,IAAG,OAAK,IAAI,IAAG,MAAM,GAAE,IAAG,OAAK,IAAI,IAAG,MAAM,GAAE,IAAG,YAAU,IAAI,IAAI,CAAC,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,CAAC,CAAC;AAAA;AAAE,MAAM,YAAW,IAAE;AAAA,EAAC,WAAW,CAAC,IAAE;AAAA,IAAC,MAAM,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,YAAW,IAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,UAAQ,IAAE,KAAK,YAAU,IAAE,KAAK,UAAQ;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,MAAa,QAAQ,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAG,cAAc,CAAC,IAAE;AAAA,IAAC,SAAQ,KAAE,EAAE,KAAE,KAAK,QAAQ,QAAO;AAAA,MAAI,IAAG,KAAK,QAAQ,IAAG,QAAM;AAAA,QAAE,OAAO;AAAA,IAAE,OAAM;AAAA;AAAA,EAAG,MAAM,CAAC,IAAE;AAAA,IAAC,WAAU,MAAK,KAAK;AAAA,MAAQ,GAAE,EAAC;AAAA;AAAE;AAAA;AAAC,MAAM,YAAW,IAAE;AAAA,EAAC,WAAW,CAAC,IAAE,IAAE,IAAE;AAAA,IAAC,MAAM,EAAC,GAAE,KAAK,SAAO,IAAE,KAAK,SAAO;AAAA;AAAA,MAAM,WAAW,GAAE;AAAA,IAAC,OAAM;AAAA;AAAA,EAAW,WAAW,GAAE;AAAA,IAAC,IAAI,KAAE,KAAK;AAAA,IAAK,IAAU,KAAK,WAAZ,MAAmB;AAAA,MAAC,IAAY,OAAT,UAAqB,OAAT,UAAqB,OAAT,UAAuB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,YAAyB,OAAX,UAAa;AAAA,QAAC,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,QAAE,IAAY,KAAK,OAAO,SAArB;AAAA,UAA0B,OAAO,MAAG,KAAI;AAAA,QAAE,IAAW,KAAK,OAAO,SAApB;AAAA,UAAyB,OAAO,MAAG,KAAI;AAAA,MAAC;AAAA,MAAC,MAAG,IAAI,KAAK,OAAO;AAAA,IAAO,EAAM,SAAY,OAAT,UAAqB,OAAT,UAAqB,OAAT;AAAA,MAAW,OAAO;AAAA,IAAE,OAAO;AAAA;AAAE;AAAC,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAA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",
45
- "debugId": "1537C686BF0E9F8164756E2164756E21",
45
+ "mappings": "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AAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,KAAI,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,QAAM,IAAI,GAAG,QAAO,GAAG,MAAK,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,IAAI,GAAE,GAAG,UAAQ,IAAI,GAAG,UAAS,GAAG,KAAI,I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G,QAAO,IAAG,KAAI,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,QAAM,IAAI,IAAG,QAAO,IAAG,MAAK,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAAG,UAAQ,IAAI,IAAG,UAAS,IAAG,KAAI,IAAI,GAAE,IAA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",
46
+ "debugId": "7918C9E3F46FD35864756E2164756E21",
46
47
  "names": []
47
48
  }