1 |
- {"ast":null,"code":"import { __decorate } from \"../../../tslib.es6.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { Vector2, Vector3, Vector4 } from \"../../../Maths/math.vector.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\n/**\n * Types of curves supported by the Curve block\n */\nexport var GeometryCurveBlockTypes;\n(function (GeometryCurveBlockTypes) {\n /** EaseInSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInSine\"] = 0] = \"EaseInSine\";\n /** EaseOutSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutSine\"] = 1] = \"EaseOutSine\";\n /** EaseInOutSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutSine\"] = 2] = \"EaseInOutSine\";\n /** EaseInQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuad\"] = 3] = \"EaseInQuad\";\n /** EaseOutQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuad\"] = 4] = \"EaseOutQuad\";\n /** EaseInOutQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuad\"] = 5] = \"EaseInOutQuad\";\n /** EaseInCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInCubic\"] = 6] = \"EaseInCubic\";\n /** EaseOutCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutCubic\"] = 7] = \"EaseOutCubic\";\n /** EaseInOutCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutCubic\"] = 8] = \"EaseInOutCubic\";\n /** EaseInQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuart\"] = 9] = \"EaseInQuart\";\n /** EaseOutQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuart\"] = 10] = \"EaseOutQuart\";\n /** EaseInOutQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuart\"] = 11] = \"EaseInOutQuart\";\n /** EaseInQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuint\"] = 12] = \"EaseInQuint\";\n /** EaseOutQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuint\"] = 13] = \"EaseOutQuint\";\n /** EaseInOutQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuint\"] = 14] = \"EaseInOutQuint\";\n /** EaseInExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInExpo\"] = 15] = \"EaseInExpo\";\n /** EaseOutExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutExpo\"] = 16] = \"EaseOutExpo\";\n /** EaseInOutExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutExpo\"] = 17] = \"EaseInOutExpo\";\n /** EaseInCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInCirc\"] = 18] = \"EaseInCirc\";\n /** EaseOutCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutCirc\"] = 19] = \"EaseOutCirc\";\n /** EaseInOutCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutCirc\"] = 20] = \"EaseInOutCirc\";\n /** EaseInBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInBack\"] = 21] = \"EaseInBack\";\n /** EaseOutBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutBack\"] = 22] = \"EaseOutBack\";\n /** EaseInOutBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutBack\"] = 23] = \"EaseInOutBack\";\n /** EaseInElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInElastic\"] = 24] = \"EaseInElastic\";\n /** EaseOutElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutElastic\"] = 25] = \"EaseOutElastic\";\n /** EaseInOutElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutElastic\"] = 26] = \"EaseInOutElastic\";\n})(GeometryCurveBlockTypes || (GeometryCurveBlockTypes = {}));\n/**\n * Block used to apply curve operation\n */\nexport class GeometryCurveBlock extends NodeGeometryBlock {\n /**\n * Creates a new CurveBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n /**\n * Gets or sets the type of the curve applied by the block\n */\n this.type = GeometryCurveBlockTypes.EaseInOutSine;\n this.registerInput(\"input\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.BasedOnInput);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Int);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"GeometryCurveBlock\";\n }\n /**\n * Gets the input component\n */\n get input() {\n return this._inputs[0];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock() {\n if (!this.input.isConnected) {\n this.output._storedFunction = null;\n this.output._storedValue = null;\n return;\n }\n let func;\n switch (this.type) {\n case GeometryCurveBlockTypes.EaseInSine:\n func = v => 1.0 - Math.cos(v * 3.1415 / 2.0);\n break;\n case GeometryCurveBlockTypes.EaseOutSine:\n func = v => Math.sin(v * 3.1415 / 2.0);\n break;\n case GeometryCurveBlockTypes.EaseInOutSine:\n func = v => -(Math.cos(v * 3.1415) - 1.0) / 2.0;\n break;\n case GeometryCurveBlockTypes.EaseInQuad:\n func = v => v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuad:\n func = v => (1.0 - v) * (1.0 - v);\n break;\n case GeometryCurveBlockTypes.EaseInOutQuad:\n {\n func = v => v < 0.5 ? 2.0 * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 2.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInCubic:\n func = v => v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutCubic:\n {\n func = v => 1.0 - Math.pow(1.0 - v, 3.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutCubic:\n {\n func = v => v < 0.5 ? 4.0 * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 3.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInQuart:\n func = v => v * v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuart:\n {\n func = v => 1.0 - Math.pow(1.0 - v, 4.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutQuart:\n {\n func = v => v < 0.5 ? 8.0 * v * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 4.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInQuint:\n func = v => v * v * v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuint:\n {\n func = v => 1.0 - Math.pow(1.0 - v, 5.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutQuint:\n {\n func = v => v < 0.5 ? 16.0 * v * v * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 5.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInExpo:\n {\n func = v => v === 0.0 ? 0.0 : Math.pow(2.0, 10.0 * v - 10.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseOutExpo:\n {\n func = v => v === 1.0 ? 1.0 : 1.0 - Math.pow(2.0, -10.0 * v);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutExpo:\n {\n func = v => v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : v < 0.5 ? Math.pow(2.0, 20.0 * v - 10.0) / 2.0 : (2.0 - Math.pow(2.0, -20.0 * v + 10.0)) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInCirc:\n {\n func = v => 1.0 - Math.sqrt(1.0 - Math.pow(v, 2.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseOutCirc:\n {\n func = v => Math.sqrt(1.0 - Math.pow(v - 1.0, 2.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutCirc:\n {\n func = v => v < 0.5 ? (1.0 - Math.sqrt(1.0 - Math.pow(2.0 * v, 2.0))) / 2.0 : (Math.sqrt(1.0 - Math.pow(-2.0 * v + 2.0, 2.0)) + 1.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInBack:\n {\n func = v => 2.70158 * v * v * v - 1.70158 * v * v;\n break;\n }\n case GeometryCurveBlockTypes.EaseOutBack:\n {\n func = v => 2.70158 * Math.pow(v - 1.0, 3.0) + 1.70158 * Math.pow(v - 1.0, 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutBack:\n {\n func = v => v < 0.5 ? Math.pow(2.0 * v, 2.0) * (3.5949095 * 2.0 * v - 2.5949095) / 2.0 : (Math.pow(2.0 * v - 2.0, 2.0) * (3.5949095 * (v * 2.0 - 2.0) + 3.5949095) + 2.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInElastic:\n {\n func = v => v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : -Math.pow(2.0, 10.0 * v - 10.0) * Math.sin((v * 10.0 - 10.75) * (2.0 * 3.1415 / 3.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseOutElastic:\n {\n func = v => v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : Math.pow(2.0, -10.0 * v) * Math.sin((v * 10.0 - 0.75) * (2.0 * 3.1415 / 3.0)) + 1.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutElastic:\n {\n func = v => v === 0.0 ? 0.0 : v == 1.0 ? 1.0 : v < 0.5 ? -(Math.pow(2.0, 20.0 * v - 10.0) * Math.sin((20.0 * v - 11.125) * (2.0 * 3.1415 / 4.5))) / 2.0 : Math.pow(2.0, -20.0 * v + 10.0) * Math.sin((20.0 * v - 11.125) * (2.0 * 3.1415 / 4.5)) / 2.0 + 1.0;\n break;\n }\n }\n this.output._storedFunction = state => {\n const input = this.input.getConnectedValue(state);\n switch (this.input.type) {\n case NodeGeometryBlockConnectionPointTypes.Float:\n {\n return func(input);\n }\n case NodeGeometryBlockConnectionPointTypes.Vector2:\n {\n return new Vector2(func(input.x), func(input.y));\n }\n case NodeGeometryBlockConnectionPointTypes.Vector3:\n {\n return new Vector3(func(input.x), func(input.y), func(input.z));\n }\n case NodeGeometryBlockConnectionPointTypes.Vector4:\n {\n return new Vector4(func(input.x), func(input.y), func(input.z), func(input.w));\n }\n }\n return 0;\n };\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.curveType = this.type;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.type = serializationObject.curveType;\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.type = BABYLON.GeometryCurveBlockTypes.${GeometryCurveBlockTypes[this.type]};\\n`;\n return codeString;\n }\n}\n__decorate([editableInPropertyPage(\"Type\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: {\n rebuild: true\n },\n embedded: true,\n options: [{\n label: \"EaseInSine\",\n value: GeometryCurveBlockTypes.EaseInSine\n }, {\n label: \"EaseOutSine\",\n value: GeometryCurveBlockTypes.EaseOutSine\n }, {\n label: \"EaseInOutSine\",\n value: GeometryCurveBlockTypes.EaseInOutSine\n }, {\n label: \"EaseInQuad\",\n value: GeometryCurveBlockTypes.EaseInQuad\n }, {\n label: \"EaseOutQuad\",\n value: GeometryCurveBlockTypes.EaseOutQuad\n }, {\n label: \"EaseInOutQuad\",\n value: GeometryCurveBlockTypes.EaseInOutQuad\n }, {\n label: \"EaseInCubic\",\n value: GeometryCurveBlockTypes.EaseInCubic\n }, {\n label: \"EaseOutCubic\",\n value: GeometryCurveBlockTypes.EaseOutCubic\n }, {\n label: \"EaseInOutCubic\",\n value: GeometryCurveBlockTypes.EaseInOutCubic\n }, {\n label: \"EaseInQuart\",\n value: GeometryCurveBlockTypes.EaseInQuart\n }, {\n label: \"EaseOutQuart\",\n value: GeometryCurveBlockTypes.EaseOutQuart\n }, {\n label: \"EaseInOutQuart\",\n value: GeometryCurveBlockTypes.EaseInOutQuart\n }, {\n label: \"EaseInQuint\",\n value: GeometryCurveBlockTypes.EaseInQuint\n }, {\n label: \"EaseOutQuint\",\n value: GeometryCurveBlockTypes.EaseOutQuint\n }, {\n label: \"EaseInOutQuint\",\n value: GeometryCurveBlockTypes.EaseInOutQuint\n }, {\n label: \"EaseInExpo\",\n value: GeometryCurveBlockTypes.EaseInExpo\n }, {\n label: \"EaseOutExpo\",\n value: GeometryCurveBlockTypes.EaseOutExpo\n }, {\n label: \"EaseInOutExpo\",\n value: GeometryCurveBlockTypes.EaseInOutExpo\n }, {\n label: \"EaseInCirc\",\n value: GeometryCurveBlockTypes.EaseInCirc\n }, {\n label: \"EaseOutCirc\",\n value: GeometryCurveBlockTypes.EaseOutCirc\n }, {\n label: \"EaseInOutCirc\",\n value: GeometryCurveBlockTypes.EaseInOutCirc\n }, {\n label: \"EaseInBack\",\n value: GeometryCurveBlockTypes.EaseInBack\n }, {\n label: \"EaseOutBack\",\n value: GeometryCurveBlockTypes.EaseOutBack\n }, {\n label: \"EaseInOutBack\",\n value: GeometryCurveBlockTypes.EaseInOutBack\n }, {\n label: \"EaseInElastic\",\n value: GeometryCurveBlockTypes.EaseInElastic\n }, {\n label: \"EaseOutElastic\",\n value: GeometryCurveBlockTypes.EaseOutElastic\n }, {\n label: \"EaseInOutElastic\",\n value: GeometryCurveBlockTypes.EaseInOutElastic\n }]\n})], GeometryCurveBlock.prototype, \"type\", void 0);\nRegisterClass(\"BABYLON.GeometryCurveBlock\", GeometryCurveBlock);","map":{"version":3,"names":["__decorate","RegisterClass","NodeGeometryBlock","NodeGeometryBlockConnectionPointTypes","Vector2","Vector3","Vector4","editableInPropertyPage","GeometryCurveBlockTypes","GeometryCurveBlock","constructor","name","type","EaseInOutSine","registerInput","AutoDetect","registerOutput","BasedOnInput","_outputs","_typeConnectionSource","_inputs","excludedConnectionPointTypes","push","Matrix","Int","getClassName","input","output","_buildBlock","isConnected","_storedFunction","_storedValue","func","EaseInSine","v","Math","cos","EaseOutSine","sin","EaseInQuad","EaseOutQuad","EaseInOutQuad","pow","EaseInCubic","EaseOutCubic","EaseInOutCubic","EaseInQuart","EaseOutQuart","EaseInOutQuart","EaseInQuint","EaseOutQuint","EaseInOutQuint","EaseInExpo","EaseOutExpo","EaseInOutExpo","EaseInCirc","sqrt","EaseOutCirc","EaseInOutCirc","EaseInBack","EaseOutBack","EaseInOutBack","EaseInElastic","EaseOutElastic","EaseInOutElastic","state","getConnectedValue","Float","x","y","z","w","serialize","serializationObject","curveType","_deserialize","_dumpPropertiesCode","codeString","_codeVariableName","notifiers","rebuild","embedded","options","label","value","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Meshes/Node/Blocks/geometryCurveBlock.js"],"sourcesContent":["import { __decorate } from \"../../../tslib.es6.js\";\nimport { RegisterClass } from \"../../../Misc/typeStore.js\";\nimport { NodeGeometryBlock } from \"../nodeGeometryBlock.js\";\nimport { NodeGeometryBlockConnectionPointTypes } from \"../Enums/nodeGeometryConnectionPointTypes.js\";\nimport { Vector2, Vector3, Vector4 } from \"../../../Maths/math.vector.js\";\nimport { editableInPropertyPage } from \"../../../Decorators/nodeDecorator.js\";\n/**\n * Types of curves supported by the Curve block\n */\nexport var GeometryCurveBlockTypes;\n(function (GeometryCurveBlockTypes) {\n /** EaseInSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInSine\"] = 0] = \"EaseInSine\";\n /** EaseOutSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutSine\"] = 1] = \"EaseOutSine\";\n /** EaseInOutSine */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutSine\"] = 2] = \"EaseInOutSine\";\n /** EaseInQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuad\"] = 3] = \"EaseInQuad\";\n /** EaseOutQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuad\"] = 4] = \"EaseOutQuad\";\n /** EaseInOutQuad */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuad\"] = 5] = \"EaseInOutQuad\";\n /** EaseInCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInCubic\"] = 6] = \"EaseInCubic\";\n /** EaseOutCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutCubic\"] = 7] = \"EaseOutCubic\";\n /** EaseInOutCubic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutCubic\"] = 8] = \"EaseInOutCubic\";\n /** EaseInQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuart\"] = 9] = \"EaseInQuart\";\n /** EaseOutQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuart\"] = 10] = \"EaseOutQuart\";\n /** EaseInOutQuart */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuart\"] = 11] = \"EaseInOutQuart\";\n /** EaseInQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInQuint\"] = 12] = \"EaseInQuint\";\n /** EaseOutQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutQuint\"] = 13] = \"EaseOutQuint\";\n /** EaseInOutQuint */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutQuint\"] = 14] = \"EaseInOutQuint\";\n /** EaseInExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInExpo\"] = 15] = \"EaseInExpo\";\n /** EaseOutExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutExpo\"] = 16] = \"EaseOutExpo\";\n /** EaseInOutExpo */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutExpo\"] = 17] = \"EaseInOutExpo\";\n /** EaseInCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInCirc\"] = 18] = \"EaseInCirc\";\n /** EaseOutCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutCirc\"] = 19] = \"EaseOutCirc\";\n /** EaseInOutCirc */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutCirc\"] = 20] = \"EaseInOutCirc\";\n /** EaseInBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInBack\"] = 21] = \"EaseInBack\";\n /** EaseOutBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutBack\"] = 22] = \"EaseOutBack\";\n /** EaseInOutBack */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutBack\"] = 23] = \"EaseInOutBack\";\n /** EaseInElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInElastic\"] = 24] = \"EaseInElastic\";\n /** EaseOutElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseOutElastic\"] = 25] = \"EaseOutElastic\";\n /** EaseInOutElastic */\n GeometryCurveBlockTypes[GeometryCurveBlockTypes[\"EaseInOutElastic\"] = 26] = \"EaseInOutElastic\";\n})(GeometryCurveBlockTypes || (GeometryCurveBlockTypes = {}));\n/**\n * Block used to apply curve operation\n */\nexport class GeometryCurveBlock extends NodeGeometryBlock {\n /**\n * Creates a new CurveBlock\n * @param name defines the block name\n */\n constructor(name) {\n super(name);\n /**\n * Gets or sets the type of the curve applied by the block\n */\n this.type = GeometryCurveBlockTypes.EaseInOutSine;\n this.registerInput(\"input\", NodeGeometryBlockConnectionPointTypes.AutoDetect);\n this.registerOutput(\"output\", NodeGeometryBlockConnectionPointTypes.BasedOnInput);\n this._outputs[0]._typeConnectionSource = this._inputs[0];\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Matrix);\n this._inputs[0].excludedConnectionPointTypes.push(NodeGeometryBlockConnectionPointTypes.Int);\n }\n /**\n * Gets the current class name\n * @returns the class name\n */\n getClassName() {\n return \"GeometryCurveBlock\";\n }\n /**\n * Gets the input component\n */\n get input() {\n return this._inputs[0];\n }\n /**\n * Gets the output component\n */\n get output() {\n return this._outputs[0];\n }\n _buildBlock() {\n if (!this.input.isConnected) {\n this.output._storedFunction = null;\n this.output._storedValue = null;\n return;\n }\n let func;\n switch (this.type) {\n case GeometryCurveBlockTypes.EaseInSine:\n func = (v) => 1.0 - Math.cos((v * 3.1415) / 2.0);\n break;\n case GeometryCurveBlockTypes.EaseOutSine:\n func = (v) => Math.sin((v * 3.1415) / 2.0);\n break;\n case GeometryCurveBlockTypes.EaseInOutSine:\n func = (v) => -(Math.cos(v * 3.1415) - 1.0) / 2.0;\n break;\n case GeometryCurveBlockTypes.EaseInQuad:\n func = (v) => v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuad:\n func = (v) => (1.0 - v) * (1.0 - v);\n break;\n case GeometryCurveBlockTypes.EaseInOutQuad: {\n func = (v) => (v < 0.5 ? 2.0 * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 2.0) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInCubic:\n func = (v) => v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutCubic: {\n func = (v) => 1.0 - Math.pow(1.0 - v, 3.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutCubic: {\n func = (v) => (v < 0.5 ? 4.0 * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 3.0) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInQuart:\n func = (v) => v * v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuart: {\n func = (v) => 1.0 - Math.pow(1.0 - v, 4.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutQuart: {\n func = (v) => (v < 0.5 ? 8.0 * v * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 4.0) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInQuint:\n func = (v) => v * v * v * v * v;\n break;\n case GeometryCurveBlockTypes.EaseOutQuint: {\n func = (v) => 1.0 - Math.pow(1.0 - v, 5.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutQuint: {\n func = (v) => (v < 0.5 ? 16.0 * v * v * v * v * v : 1.0 - Math.pow(-2.0 * v + 2.0, 5.0) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInExpo: {\n func = (v) => (v === 0.0 ? 0.0 : Math.pow(2.0, 10.0 * v - 10.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseOutExpo: {\n func = (v) => (v === 1.0 ? 1.0 : 1.0 - Math.pow(2.0, -10.0 * v));\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutExpo: {\n func = (v) => (v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : v < 0.5 ? Math.pow(2.0, 20.0 * v - 10.0) / 2.0 : (2.0 - Math.pow(2.0, -20.0 * v + 10.0)) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInCirc: {\n func = (v) => 1.0 - Math.sqrt(1.0 - Math.pow(v, 2.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseOutCirc: {\n func = (v) => Math.sqrt(1.0 - Math.pow(v - 1.0, 2.0));\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutCirc: {\n func = (v) => (v < 0.5 ? (1.0 - Math.sqrt(1.0 - Math.pow(2.0 * v, 2.0))) / 2.0 : (Math.sqrt(1.0 - Math.pow(-2.0 * v + 2.0, 2.0)) + 1.0) / 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInBack: {\n func = (v) => 2.70158 * v * v * v - 1.70158 * v * v;\n break;\n }\n case GeometryCurveBlockTypes.EaseOutBack: {\n func = (v) => 2.70158 * Math.pow(v - 1.0, 3.0) + 1.70158 * Math.pow(v - 1.0, 2.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutBack: {\n func = (v) => v < 0.5\n ? (Math.pow(2.0 * v, 2.0) * (3.5949095 * 2.0 * v - 2.5949095)) / 2.0\n : (Math.pow(2.0 * v - 2.0, 2.0) * (3.5949095 * (v * 2.0 - 2.0) + 3.5949095) + 2.0) / 2.0;\n break;\n }\n case GeometryCurveBlockTypes.EaseInElastic: {\n func = (v) => (v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : -Math.pow(2.0, 10.0 * v - 10.0) * Math.sin((v * 10.0 - 10.75) * ((2.0 * 3.1415) / 3.0)));\n break;\n }\n case GeometryCurveBlockTypes.EaseOutElastic: {\n func = (v) => (v === 0.0 ? 0.0 : v === 1.0 ? 1.0 : Math.pow(2.0, -10.0 * v) * Math.sin((v * 10.0 - 0.75) * ((2.0 * 3.1415) / 3.0)) + 1.0);\n break;\n }\n case GeometryCurveBlockTypes.EaseInOutElastic: {\n func = (v) => v === 0.0\n ? 0.0\n : v == 1.0\n ? 1.0\n : v < 0.5\n ? -(Math.pow(2.0, 20.0 * v - 10.0) * Math.sin((20.0 * v - 11.125) * ((2.0 * 3.1415) / 4.5))) / 2.0\n : (Math.pow(2.0, -20.0 * v + 10.0) * Math.sin((20.0 * v - 11.125) * ((2.0 * 3.1415) / 4.5))) / 2.0 + 1.0;\n break;\n }\n }\n this.output._storedFunction = (state) => {\n const input = this.input.getConnectedValue(state);\n switch (this.input.type) {\n case NodeGeometryBlockConnectionPointTypes.Float: {\n return func(input);\n }\n case NodeGeometryBlockConnectionPointTypes.Vector2: {\n return new Vector2(func(input.x), func(input.y));\n }\n case NodeGeometryBlockConnectionPointTypes.Vector3: {\n return new Vector3(func(input.x), func(input.y), func(input.z));\n }\n case NodeGeometryBlockConnectionPointTypes.Vector4: {\n return new Vector4(func(input.x), func(input.y), func(input.z), func(input.w));\n }\n }\n return 0;\n };\n return this;\n }\n serialize() {\n const serializationObject = super.serialize();\n serializationObject.curveType = this.type;\n return serializationObject;\n }\n _deserialize(serializationObject) {\n super._deserialize(serializationObject);\n this.type = serializationObject.curveType;\n }\n _dumpPropertiesCode() {\n const codeString = super._dumpPropertiesCode() + `${this._codeVariableName}.type = BABYLON.GeometryCurveBlockTypes.${GeometryCurveBlockTypes[this.type]};\\n`;\n return codeString;\n }\n}\n__decorate([\n editableInPropertyPage(\"Type\", 4 /* PropertyTypeForEdition.List */, \"ADVANCED\", {\n notifiers: { rebuild: true },\n embedded: true,\n options: [\n { label: \"EaseInSine\", value: GeometryCurveBlockTypes.EaseInSine },\n { label: \"EaseOutSine\", value: GeometryCurveBlockTypes.EaseOutSine },\n { label: \"EaseInOutSine\", value: GeometryCurveBlockTypes.EaseInOutSine },\n { label: \"EaseInQuad\", value: GeometryCurveBlockTypes.EaseInQuad },\n { label: \"EaseOutQuad\", value: GeometryCurveBlockTypes.EaseOutQuad },\n { label: \"EaseInOutQuad\", value: GeometryCurveBlockTypes.EaseInOutQuad },\n { label: \"EaseInCubic\", value: GeometryCurveBlockTypes.EaseInCubic },\n { label: \"EaseOutCubic\", value: GeometryCurveBlockTypes.EaseOutCubic },\n { label: \"EaseInOutCubic\", value: GeometryCurveBlockTypes.EaseInOutCubic },\n { label: \"EaseInQuart\", value: GeometryCurveBlockTypes.EaseInQuart },\n { label: \"EaseOutQuart\", value: GeometryCurveBlockTypes.EaseOutQuart },\n { label: \"EaseInOutQuart\", value: GeometryCurveBlockTypes.EaseInOutQuart },\n { label: \"EaseInQuint\", value: GeometryCurveBlockTypes.EaseInQuint },\n { label: \"EaseOutQuint\", value: GeometryCurveBlockTypes.EaseOutQuint },\n { label: \"EaseInOutQuint\", value: GeometryCurveBlockTypes.EaseInOutQuint },\n { label: \"EaseInExpo\", value: GeometryCurveBlockTypes.EaseInExpo },\n { label: \"EaseOutExpo\", value: GeometryCurveBlockTypes.EaseOutExpo },\n { label: \"EaseInOutExpo\", value: GeometryCurveBlockTypes.EaseInOutExpo },\n { label: \"EaseInCirc\", value: GeometryCurveBlockTypes.EaseInCirc },\n { label: \"EaseOutCirc\", value: GeometryCurveBlockTypes.EaseOutCirc },\n { label: \"EaseInOutCirc\", value: GeometryCurveBlockTypes.EaseInOutCirc },\n { label: \"EaseInBack\", value: GeometryCurveBlockTypes.EaseInBack },\n { label: \"EaseOutBack\", value: GeometryCurveBlockTypes.EaseOutBack },\n { label: \"EaseInOutBack\", value: GeometryCurveBlockTypes.EaseInOutBack },\n { label: \"EaseInElastic\", value: GeometryCurveBlockTypes.EaseInElastic },\n { label: \"EaseOutElastic\", value: GeometryCurveBlockTypes.EaseOutElastic },\n { label: \"EaseInOutElastic\", value: GeometryCurveBlockTypes.EaseInOutElastic },\n ],\n })\n], GeometryCurveBlock.prototype, \"type\", void 0);\nRegisterClass(\"BABYLON.GeometryCurveBlock\", GeometryCurveBlock);\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,uBAAuB;AAClD,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,iBAAiB,QAAQ,yBAAyB;AAC3D,SAASC,qCAAqC,QAAQ,8CAA8C;AACpG,SAASC,OAAO,EAAEC,OAAO,EAAEC,OAAO,QAAQ,+BAA+B;AACzE,SAASC,sBAAsB,QAAQ,sCAAsC;AAC7E;AACA;AACA;AACA,OAAO,IAAIC,uBAAuB;AAClC,CAAC,UAAUA,uBAAuB,EAAE;EAChC;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;EACjF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;EACnF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe;EACvF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;EACjF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;EACnF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe;EACvF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;EACnF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc;EACrF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB;EACzF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa;EACnF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc;EACtF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB;EAC1F;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,aAAa;EACpF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc;EACtF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB;EAC1F;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;EAClF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,aAAa;EACpF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,eAAe;EACxF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;EAClF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,aAAa;EACpF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,eAAe;EACxF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;EAClF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,aAAa;EACpF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,eAAe;EACxF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,eAAe;EACxF;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,gBAAgB;EAC1F;EACAA,uBAAuB,CAACA,uBAAuB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,GAAG,kBAAkB;AAClG,CAAC,EAAEA,uBAAuB,KAAKA,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,SAASP,iBAAiB,CAAC;EACtD;AACJ;AACA;AACA;EACIQ,WAAWA,CAACC,IAAI,EAAE;IACd,KAAK,CAACA,IAAI,CAAC;IACX;AACR;AACA;IACQ,IAAI,CAACC,IAAI,GAAGJ,uBAAuB,CAACK,aAAa;IACjD,IAAI,CAACC,aAAa,CAAC,OAAO,EAAEX,qCAAqC,CAACY,UAAU,CAAC;IAC7E,IAAI,CAACC,cAAc,CAAC,QAAQ,EAAEb,qCAAqC,CAACc,YAAY,CAAC;IACjF,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,qBAAqB,GAAG,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,CAACA,OAAO,CAAC,CAAC,CAAC,CAACC,4BAA4B,CAACC,IAAI,CAACnB,qCAAqC,CAACoB,MAAM,CAAC;IAC/F,IAAI,CAACH,OAAO,CAAC,CAAC,CAAC,CAACC,4BAA4B,CAACC,IAAI,CAACnB,qCAAqC,CAACqB,GAAG,CAAC;EAChG;EACA;AACJ;AACA;AACA;EACIC,YAAYA,CAAA,EAAG;IACX,OAAO,oBAAoB;EAC/B;EACA;AACJ;AACA;EACI,IAAIC,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACN,OAAO,CAAC,CAAC,CAAC;EAC1B;EACA;AACJ;AACA;EACI,IAAIO,MAAMA,CAAA,EAAG;IACT,OAAO,IAAI,CAACT,QAAQ,CAAC,CAAC,CAAC;EAC3B;EACAU,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC,IAAI,CAACF,KAAK,CAACG,WAAW,EAAE;MACzB,IAAI,CAACF,MAAM,CAACG,eAAe,GAAG,IAAI;MAClC,IAAI,CAACH,MAAM,CAACI,YAAY,GAAG,IAAI;MAC/B;IACJ;IACA,IAAIC,IAAI;IACR,QAAQ,IAAI,CAACpB,IAAI;MACb,KAAKJ,uBAAuB,CAACyB,UAAU;QACnCD,IAAI,GAAIE,CAAC,IAAK,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAEF,CAAC,GAAG,MAAM,GAAI,GAAG,CAAC;QAChD;MACJ,KAAK1B,uBAAuB,CAAC6B,WAAW;QACpCL,IAAI,GAAIE,CAAC,IAAKC,IAAI,CAACG,GAAG,CAAEJ,CAAC,GAAG,MAAM,GAAI,GAAG,CAAC;QAC1C;MACJ,KAAK1B,uBAAuB,CAACK,aAAa;QACtCmB,IAAI,GAAIE,CAAC,IAAK,EAAEC,IAAI,CAACC,GAAG,CAACF,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;QACjD;MACJ,KAAK1B,uBAAuB,CAAC+B,UAAU;QACnCP,IAAI,GAAIE,CAAC,IAAKA,CAAC,GAAGA,CAAC;QACnB;MACJ,KAAK1B,uBAAuB,CAACgC,WAAW;QACpCR,IAAI,GAAIE,CAAC,IAAK,CAAC,GAAG,GAAGA,CAAC,KAAK,GAAG,GAAGA,CAAC,CAAC;QACnC;MACJ,KAAK1B,uBAAuB,CAACiC,aAAa;QAAE;UACxCT,IAAI,GAAIE,CAAC,IAAMA,CAAC,GAAG,GAAG,GAAG,GAAG,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAI;UACjF;QACJ;MACA,KAAK1B,uBAAuB,CAACmC,WAAW;QACpCX,IAAI,GAAIE,CAAC,IAAKA,CAAC,GAAGA,CAAC,GAAGA,CAAC;QACvB;MACJ,KAAK1B,uBAAuB,CAACoC,YAAY;QAAE;UACvCZ,IAAI,GAAIE,CAAC,IAAK,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,EAAE,GAAG,CAAC;UAC1C;QACJ;MACA,KAAK1B,uBAAuB,CAACqC,cAAc;QAAE;UACzCb,IAAI,GAAIE,CAAC,IAAMA,CAAC,GAAG,GAAG,GAAG,GAAG,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAI;UACrF;QACJ;MACA,KAAK1B,uBAAuB,CAACsC,WAAW;QACpCd,IAAI,GAAIE,CAAC,IAAKA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC;QAC3B;MACJ,KAAK1B,uBAAuB,CAACuC,YAAY;QAAE;UACvCf,IAAI,GAAIE,CAAC,IAAK,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,EAAE,GAAG,CAAC;UAC1C;QACJ;MACA,KAAK1B,uBAAuB,CAACwC,cAAc;QAAE;UACzChB,IAAI,GAAIE,CAAC,IAAMA,CAAC,GAAG,GAAG,GAAG,GAAG,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAI;UACzF;QACJ;MACA,KAAK1B,uBAAuB,CAACyC,WAAW;QACpCjB,IAAI,GAAIE,CAAC,IAAKA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC;QAC/B;MACJ,KAAK1B,uBAAuB,CAAC0C,YAAY;QAAE;UACvClB,IAAI,GAAIE,CAAC,IAAK,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,EAAE,GAAG,CAAC;UAC1C;QACJ;MACA,KAAK1B,uBAAuB,CAAC2C,cAAc;QAAE;UACzCnB,IAAI,GAAIE,CAAC,IAAMA,CAAC,GAAG,GAAG,GAAG,IAAI,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,GAAI;UAC9F;QACJ;MACA,KAAK1B,uBAAuB,CAAC4C,UAAU;QAAE;UACrCpB,IAAI,GAAIE,CAAC,IAAMA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAE;UAChE;QACJ;MACA,KAAK1B,uBAAuB,CAAC6C,WAAW;QAAE;UACtCrB,IAAI,GAAIE,CAAC,IAAMA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAGR,CAAC,CAAE;UAChE;QACJ;MACA,KAAK1B,uBAAuB,CAAC8C,aAAa;QAAE;UACxCtB,IAAI,GAAIE,CAAC,IAAMA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGA,CAAC,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAC,IAAI,GAAI;UAClJ;QACJ;MACA,KAAK1B,uBAAuB,CAAC+C,UAAU;QAAE;UACrCvB,IAAI,GAAIE,CAAC,IAAK,GAAG,GAAGC,IAAI,CAACqB,IAAI,CAAC,GAAG,GAAGrB,IAAI,CAACO,GAAG,CAACR,CAAC,EAAE,GAAG,CAAC,CAAC;UACrD;QACJ;MACA,KAAK1B,uBAAuB,CAACiD,WAAW;QAAE;UACtCzB,IAAI,GAAIE,CAAC,IAAKC,IAAI,CAACqB,IAAI,CAAC,GAAG,GAAGrB,IAAI,CAACO,GAAG,CAACR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;UACrD;QACJ;MACA,KAAK1B,uBAAuB,CAACkD,aAAa;QAAE;UACxC1B,IAAI,GAAIE,CAAC,IAAMA,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAGC,IAAI,CAACqB,IAAI,CAAC,GAAG,GAAGrB,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAACC,IAAI,CAACqB,IAAI,CAAC,GAAG,GAAGrB,IAAI,CAACO,GAAG,CAAC,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAI;UAC9I;QACJ;MACA,KAAK1B,uBAAuB,CAACmD,UAAU;QAAE;UACrC3B,IAAI,GAAIE,CAAC,IAAK,OAAO,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,OAAO,GAAGA,CAAC,GAAGA,CAAC;UACnD;QACJ;MACA,KAAK1B,uBAAuB,CAACoD,WAAW;QAAE;UACtC5B,IAAI,GAAIE,CAAC,IAAK,OAAO,GAAGC,IAAI,CAACO,GAAG,CAACR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,GAAGC,IAAI,CAACO,GAAG,CAACR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;UACjF;QACJ;MACA,KAAK1B,uBAAuB,CAACqD,aAAa;QAAE;UACxC7B,IAAI,GAAIE,CAAC,IAAKA,CAAC,GAAG,GAAG,GACdC,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,GAAGA,CAAC,GAAG,SAAS,CAAC,GAAI,GAAG,GAClE,CAACC,IAAI,CAACO,GAAG,CAAC,GAAG,GAAGR,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,SAAS,IAAIA,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,IAAI,GAAG;UAC5F;QACJ;MACA,KAAK1B,uBAAuB,CAACsD,aAAa;QAAE;UACxC9B,IAAI,GAAIE,CAAC,IAAMA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAACC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAC,GAAGC,IAAI,CAACG,GAAG,CAAC,CAACJ,CAAC,GAAG,IAAI,GAAG,KAAK,KAAM,GAAG,GAAG,MAAM,GAAI,GAAG,CAAC,CAAE;UAC3I;QACJ;MACA,KAAK1B,uBAAuB,CAACuD,cAAc;QAAE;UACzC/B,IAAI,GAAIE,CAAC,IAAMA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGA,CAAC,KAAK,GAAG,GAAG,GAAG,GAAGC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAGR,CAAC,CAAC,GAAGC,IAAI,CAACG,GAAG,CAAC,CAACJ,CAAC,GAAG,IAAI,GAAG,IAAI,KAAM,GAAG,GAAG,MAAM,GAAI,GAAG,CAAC,CAAC,GAAG,GAAI;UACzI;QACJ;MACA,KAAK1B,uBAAuB,CAACwD,gBAAgB;QAAE;UAC3ChC,IAAI,GAAIE,CAAC,IAAKA,CAAC,KAAK,GAAG,GACjB,GAAG,GACHA,CAAC,IAAI,GAAG,GACJ,GAAG,GACHA,CAAC,GAAG,GAAG,GACH,EAAEC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAC,GAAGC,IAAI,CAACG,GAAG,CAAC,CAAC,IAAI,GAAGJ,CAAC,GAAG,MAAM,KAAM,GAAG,GAAG,MAAM,GAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAC/FC,IAAI,CAACO,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAGR,CAAC,GAAG,IAAI,CAAC,GAAGC,IAAI,CAACG,GAAG,CAAC,CAAC,IAAI,GAAGJ,CAAC,GAAG,MAAM,KAAM,GAAG,GAAG,MAAM,GAAI,GAAG,CAAC,CAAC,GAAI,GAAG,GAAG,GAAG;UACpH;QACJ;IACJ;IACA,IAAI,CAACP,MAAM,CAACG,eAAe,GAAImC,KAAK,IAAK;MACrC,MAAMvC,KAAK,GAAG,IAAI,CAACA,KAAK,CAACwC,iBAAiB,CAACD,KAAK,CAAC;MACjD,QAAQ,IAAI,CAACvC,KAAK,CAACd,IAAI;QACnB,KAAKT,qCAAqC,CAACgE,KAAK;UAAE;YAC9C,OAAOnC,IAAI,CAACN,KAAK,CAAC;UACtB;QACA,KAAKvB,qCAAqC,CAACC,OAAO;UAAE;YAChD,OAAO,IAAIA,OAAO,CAAC4B,IAAI,CAACN,KAAK,CAAC0C,CAAC,CAAC,EAAEpC,IAAI,CAACN,KAAK,CAAC2C,CAAC,CAAC,CAAC;UACpD;QACA,KAAKlE,qCAAqC,CAACE,OAAO;UAAE;YAChD,OAAO,IAAIA,OAAO,CAAC2B,IAAI,CAACN,KAAK,CAAC0C,CAAC,CAAC,EAAEpC,IAAI,CAACN,KAAK,CAAC2C,CAAC,CAAC,EAAErC,IAAI,CAACN,KAAK,CAAC4C,CAAC,CAAC,CAAC;UACnE;QACA,KAAKnE,qCAAqC,CAACG,OAAO;UAAE;YAChD,OAAO,IAAIA,OAAO,CAAC0B,IAAI,CAACN,KAAK,CAAC0C,CAAC,CAAC,EAAEpC,IAAI,CAACN,KAAK,CAAC2C,CAAC,CAAC,EAAErC,IAAI,CAACN,KAAK,CAAC4C,CAAC,CAAC,EAAEtC,IAAI,CAACN,KAAK,CAAC6C,CAAC,CAAC,CAAC;UAClF;MACJ;MACA,OAAO,CAAC;IACZ,CAAC;IACD,OAAO,IAAI;EACf;EACAC,SAASA,CAAA,EAAG;IACR,MAAMC,mBAAmB,GAAG,KAAK,CAACD,SAAS,CAAC,CAAC;IAC7CC,mBAAmB,CAACC,SAAS,GAAG,IAAI,CAAC9D,IAAI;IACzC,OAAO6D,mBAAmB;EAC9B;EACAE,YAAYA,CAACF,mBAAmB,EAAE;IAC9B,KAAK,CAACE,YAAY,CAACF,mBAAmB,CAAC;IACvC,IAAI,CAAC7D,IAAI,GAAG6D,mBAAmB,CAACC,SAAS;EAC7C;EACAE,mBAAmBA,CAAA,EAAG;IAClB,MAAMC,UAAU,GAAG,KAAK,CAACD,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,CAACE,iBAAiB,2CAA2CtE,uBAAuB,CAAC,IAAI,CAACI,IAAI,CAAC,KAAK;IAC5J,OAAOiE,UAAU;EACrB;AACJ;AACA7E,UAAU,CAAC,CACPO,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAmC,UAAU,EAAE;EAC5EwE,SAAS,EAAE;IAAEC,OAAO,EAAE;EAAK,CAAC;EAC5BC,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE,CACL;IAAEC,KAAK,EAAE,YAAY;IAAEC,KAAK,EAAE5E,uBAAuB,CAACyB;EAAW,CAAC,EAClE;IAAEkD,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC6B;EAAY,CAAC,EACpE;IAAE8C,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAACK;EAAc,CAAC,EACxE;IAAEsE,KAAK,EAAE,YAAY;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC+B;EAAW,CAAC,EAClE;IAAE4C,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACgC;EAAY,CAAC,EACpE;IAAE2C,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAACiC;EAAc,CAAC,EACxE;IAAE0C,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACmC;EAAY,CAAC,EACpE;IAAEwC,KAAK,EAAE,cAAc;IAAEC,KAAK,EAAE5E,uBAAuB,CAACoC;EAAa,CAAC,EACtE;IAAEuC,KAAK,EAAE,gBAAgB;IAAEC,KAAK,EAAE5E,uBAAuB,CAACqC;EAAe,CAAC,EAC1E;IAAEsC,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACsC;EAAY,CAAC,EACpE;IAAEqC,KAAK,EAAE,cAAc;IAAEC,KAAK,EAAE5E,uBAAuB,CAACuC;EAAa,CAAC,EACtE;IAAEoC,KAAK,EAAE,gBAAgB;IAAEC,KAAK,EAAE5E,uBAAuB,CAACwC;EAAe,CAAC,EAC1E;IAAEmC,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACyC;EAAY,CAAC,EACpE;IAAEkC,KAAK,EAAE,cAAc;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC0C;EAAa,CAAC,EACtE;IAAEiC,KAAK,EAAE,gBAAgB;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC2C;EAAe,CAAC,EAC1E;IAAEgC,KAAK,EAAE,YAAY;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC4C;EAAW,CAAC,EAClE;IAAE+B,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC6C;EAAY,CAAC,EACpE;IAAE8B,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC8C;EAAc,CAAC,EACxE;IAAE6B,KAAK,EAAE,YAAY;IAAEC,KAAK,EAAE5E,uBAAuB,CAAC+C;EAAW,CAAC,EAClE;IAAE4B,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACiD;EAAY,CAAC,EACpE;IAAE0B,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAACkD;EAAc,CAAC,EACxE;IAAEyB,KAAK,EAAE,YAAY;IAAEC,KAAK,EAAE5E,uBAAuB,CAACmD;EAAW,CAAC,EAClE;IAAEwB,KAAK,EAAE,aAAa;IAAEC,KAAK,EAAE5E,uBAAuB,CAACoD;EAAY,CAAC,EACpE;IAAEuB,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAACqD;EAAc,CAAC,EACxE;IAAEsB,KAAK,EAAE,eAAe;IAAEC,KAAK,EAAE5E,uBAAuB,CAACsD;EAAc,CAAC,EACxE;IAAEqB,KAAK,EAAE,gBAAgB;IAAEC,KAAK,EAAE5E,uBAAuB,CAACuD;EAAe,CAAC,EAC1E;IAAEoB,KAAK,EAAE,kBAAkB;IAAEC,KAAK,EAAE5E,uBAAuB,CAACwD;EAAiB,CAAC;AAEtF,CAAC,CAAC,CACL,EAAEvD,kBAAkB,CAAC4E,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChDpF,aAAa,CAAC,4BAA4B,EAAEQ,kBAAkB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|