{"version":3,"file":"shared-lib.DJdAxDo2.mjs","names":["l$2","n","e","a","l","c","s","i","r","o","v","b","$","m","S","h","x$1","d","y$1","A","T","E","g","f","x","R","N","B","V","z","U","K","O","j","H","te","ue","F","G","se","_","de","fe","pe","xe","ye","R$1","T$1","U$1","V$1","W$1","ne","oe","I","le","Ee","Ce","k","p","_e","t","u","Ie","y","C","D","J","ze","L","M","P","Q","W","X","Z","e.default","Le","q","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","b","a","e","x","resolve","clamp","n","m","x","y","t","dt","s","DEG2RAD","b","a","c","i","j","r","p","q","e","f","u","context","l","Color","Mesh","dispose","v","id","z","g","k","cx","Node","an","Controls","EventDispatcher","Loader","RenderTarget","te","me","ae","be","d","h","w","ce","de","ad","bd","animation","vc","component","keys","updateCamera","_geometry","_sphere","pt","B","T","N","P","o","resolve","metadata","_v2","_camera","t","e","n","y","u","t","t.default","i","a","a.default","o","s","y","S","n","x","z","N","E","C","I","_","L","T","R","F","D","H","W","j","za","Aa","Ba","$","V","Z","J","K","G","X","ne","le","oe","de","pe","xe","ze","Ee","Ce","Ie","_e","Le","Fe","De","Be","Ae","qe","Je","Ke","en","nn","tn","rn","ln","an","un","on","sn","cn","fn","dn","hn","gn","pn","mn","vn","yn","bn","Sn","kn","xn","wn","zn","Nn","Pn","En","Cn","In","_n","Un","Ln","Tn","Rn","Mn","Fn","Qn","Dn","Hn","Wn","Bn","On","An","qn","jn","$n","Vn","Zn","Yn","Jn","Kn","Gn","Xn","et","nt","tt","q","v","rt","lt","at","ut","mc","A","nc","oc","pc","rc","it","ot","st","ct","ft","yc","Ec","Fc","Gc","Hc","dt","Ic","ht","gt","pt","mt","vt","yt","bt","St","kt","xt","wt","Tc","Uc","zt","Nt","Pt","Et","Zc","$c","ad","Ct","It","_t","Ut","Lt","Tt","Rt","Mt","Ft","kd","ld","Qt","Dt","Ht","Wt","Bt","Ot","b","c","d","e","f","g","h","k","m","l","r","p","B","w","Y","ya","At","qt","jt","$t","Vt","Zt","Yt","ae","be","ce","Jt","ee","fe","ge","he","ie","je","ke","me","Kt","Gt","Xt","er","re","se","te","ue","ve","we","ye","M","Ge","He","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ve","Xe","Ye","$e","Ze","We","Ue","O","P","Q","U","t","e","r","o","i","l","u","p","f","h","y","H","S","P","g","I","R","A","N","U","v","D","F","T","E","useReducer","c","useRef","a","b","fn","d","e","w","m","C","n","x","r","L","y","exports2","__cjs_default__","global","_a","__export1","Reconciler","DefaultEventPriority","React.useRef","p","SRGBColorSpace","LinearSRGBColorSpace","Color","isOrthographicCamera","DiscreteEventPriority","ContinuousEventPriority","o","intersect","id","i","React.useContext","ConcurrentRoot","ColorManagement","_","React2.useContext","React2.useId","React2.useMemo","React2.useState","useState4","useRef5","useMemo4","useEffect","useLayoutEffect","__export4","exports","module","module2","l","u","exports3","module3","isRef","React.useLayoutEffect","React.useEffect","React.Component","aspect","fov","s","React.version","exports4","module4","React2.createContext","React2.Component","React2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","React3.useRef","React3.useState","React3.Suspense","Canvas","fov","Pass","_camera","_geometry","FullScreenQuad","Mesh","Pass","context","Pass","FullScreenQuad","tmp","i","context","_camera","_geometry","Pass","Color","Mesh","EventDispatcher","useMemo","Fragment","d","useRef","a","b","x","i","l","fov","y","now","z","cover","t","aspect","intersects","Fragment","p","i","s","l","e","w","h","j","Fragment","Suspense","Fragment","useMemo","v","i","global","k","a","b","query","exports","module","keys","x","ShaderGradient","_a","Fragment","_a","ShaderGradient","m.ShaderGradientCanvas","m.FramerShaderGradient","useRef","useState","React.useState","loading","containerStyles","emptyStateStyle","defaultEvents","useMemo","emptyStateStyle","useState","useRef","containerStyles","Icon","Component","House_default","useMemo","lowercaseIconKeyPairs","iconKeys","a","useRef","iconKeys","lowercaseIconKeyPairs","useState","HouseFactory","React","module","moduleBaseUrl","weightOptions","fonts","css","className","addPropertyOverrides","PhosphorFonts","Phosphor","PhosphorControls","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.useRef","React.useId","sharedStyle.className","className","SVG","RichText","sharedStyle.css","sharedStyle.fonts","fonts","css","className","PhosphorFonts","Phosphor","serializationHash","variantClassNames","transition1","toResponsiveImage","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.useRef","React.useId","sharedStyle.className","className","Image","RichText","sharedStyle.css","sharedStyle.fonts","fonts","css","className","addPropertyOverrides","PhosphorFonts","Phosphor","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","sharedStyle.className","React.useRef","React.useId","className","RichText","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","RichText","enabledGestures","serializationHash","variantClassNames","transition1","animation","animation1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.useRef","React.useId","className","Icon","useRef","useState","HouseFactory","React","module","addPropertyOverrides","PhosphorFonts","Phosphor","Phosphor1","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.useRef","React.useId","className","RichText","addPropertyOverrides","enabledGestures","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.useRef","React.useId","Image","className","addPropertyOverrides","LogoDelValleFonts","LogoDelValle","ClickableText","TextIcon2","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.useRef","React.useId","className","RichText","addPropertyOverrides","PhosphorFonts","Phosphor","PhosphorControls","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","getProps","createLayoutDependency","Variants","React.Fragment","React.useRef","React.useId","className","RichText","addPropertyOverrides","PhosphorFonts","Phosphor","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","sharedStyle.className","React.useRef","React.useId","className","RichText","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","LogoDelValle","TextIconFonts","TextIcon","ButtonFonts","Button","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","RichText","context","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","getProps","createLayoutDependency","Variants","React.Fragment","React.useRef","React.useId","className","SVG","addPropertyOverrides","ButtonFonts","Button","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","Image1","className","RichText","sharedStyle.css","sharedStyle.fonts","context","TabBG","PhosphorFonts","Phosphor","ButtonFonts","Button","Service","serializationHash","variantClassNames","t","matchVariant","animation","addImageAlt","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","context","fonts","css","className","metadata","siteMetadata","__FramerMetadata__","NavBar","Button","RichText","Phosphor","Image1","ServiceSection","TextIcon","Testimonial","Contact","ArrowButton","FooterCopy","useRef","React.useId","React.useMemo","metadataProvider","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","React.useContext","React.useRef","className","PropertyOverrides","React.Fragment","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","context","__FramerMetadata__","__FramerMetadata__","e","t","n","s","i","a","o","h","r","id","l","p","t$3","r$3","i$3","S$1","c$1","s$2","r$2","h$2","a$1","l$3","d$1","t$2","i$2","s$1","n$2","l$2","h$1","r$1","d","u","c","v","f","_","m","$","g","y","w","x","b","T","A","E","C","M","k","H","S","P","V","N","I","R","L","z","Z","l$1","o$3","n$1","o$2","i$1","t$1","o$1","e$2","e$1","D","ShapePath","exports","lerp","setPoint","F","O","B","j","G","U","W","q","K","Y","X","J","Q","tt","et","rt","it","nt","st","at","ot","ht","_typeof","ob","Math","window","document","XMLHttpRequest","fetch","clamp","normalize","hue2rgb","seedRandom"],"sources":["https:/ga.jspm.io/npm:react-dom@18.2.0/server.browser.js","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-5BEQP2BQ.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-M5G6JQMQ.mjs","https:/ga.jspm.io/npm:react-reconciler@0.29.2/constants.js","https:/ga.jspm.io/npm:react-reconciler@0.29.2/cjs/react-reconciler.production.min.js","https:/ga.jspm.io/npm:react-reconciler@0.29.2/index.js","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-PBAUXUVF.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-SX7QUDKQ.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-RNORR4OK.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-C4TFB3WJ.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-2FDB6CTQ.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-Z2ZIK3HP.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-USQFKVUW.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-FFUMSB5Y.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-D6HO7KA7.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-3U6A2N6D.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-AJ4ZTHOA.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-4NRCS6EB.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-54NE35C4.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-7HNM7AEP.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-K6AX6D7Y.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-G7COPUKV.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-XX6QE2RT.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-SU6VHGW3.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-UBHL4FP4.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-FMYDOIX6.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-3IAOHWI6.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-3TWSDFLC.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-WMVG427C.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-WBM42ICI.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-BI5IV7LU.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-LJBCYGOI.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-K4ZFJCJ3.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-AVODCFKL.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-RFZ5WM4S.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/chunk-BWWR5P6F.mjs","https:/ruucm.github.io/shadergradient/shadergradient@2.0.15/FramerShaderGradient.mjs","https:/framerusercontent.com/modules/0S9d6rtyL41e1AotK0xE/PndxTG9QWV1d6iA7z7kC/ShaderGradient.js","https:/framerusercontent.com/modules/jfK7C7JmdHGaVBsvt1V7/G0lF2a2mezep3QZSQZwm/DotLottie.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framer.com/m/framer/default-utils.js","https:/framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/cAPMVEI6osbJ1UvICgTq/Embed.js","https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js","https:/framer.com/m/phosphor-icons/House.js@0.0.57","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js","https:/framerusercontent.com/modules/PY8txBdFqN5QjfgyyK0u/otYG2tTVR3HsqGfu5QSg/s9Wv_jF5M.js","https:/framerusercontent.com/modules/LLgIin9B3qC6eGDfm6DM/2aZZuTWCcEVGRwKFROIm/cFqUGRyRK.js","https:/framerusercontent.com/modules/iRHrZEKoLmgUoNPnyT4T/bdUd8Je4OYHL1JUvogVJ/CJYwiQnnY.js","https:/framerusercontent.com/modules/9IGlFqvPJSoskBjubsqP/kmll0L3taGtTCL5sY7de/CloEXg8z9.js","https:/framerusercontent.com/modules/YWrHBrBMB3Bi7cQielhN/dPNL8Jvm5CuYWiOGtR6c/AdIxj5aBW.js","https:/framerusercontent.com/modules/Zahy0fpBNaNcaTCuw8yz/G2qTEstTWuWuIoTTm236/dlQaAyaMh.js","https:/framerusercontent.com/modules/BC3PiYIZv8nlZh74dPYu/DTwTHEqLpuvp0BVvTiuS/d_tlpnPSk.js","https:/framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/i6WSiDLftYVS2GvUElTz/House.js","https:/framer.com/m/phosphor-icons/House.js@0.0.53","https:/framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/CAjjxbTJBxHwH1MagCef/Phosphor.js","https:/framerusercontent.com/modules/pnjC3TQhiW3WjR8XVb7q/UvFc3W7oyFnQpCbrMhQz/m0kj7aDtw.js","https:/framerusercontent.com/modules/qbVVxSFdMo34mRiHbris/j2O7aszfAZjC75zd3sFB/SGAsA9m7z.js","https:/framerusercontent.com/modules/HjZnyjW2cGVqDVAQ1934/Cr3frMRQarSdSKwhUp1T/RCoukJH58.js","https:/framerusercontent.com/modules/KOsN80fjchOQpvovaE3P/bSkR4Ng5ze6xMO5ZmGsp/x0ImmwfJ9.js","https:/framerusercontent.com/modules/cuFjrJS2ngzgatr9J6Ed/Im9a9BNZDK0F44jRqqvn/yTViGm17b.js","https:/framerusercontent.com/modules/k1n0dtOf0MSamLF7LwCt/CUVhKwioN3q5qzyZmDw8/WwhdXEwpl.js","https:/framerusercontent.com/modules/E6gI8kaq6AE0kVju45lz/yqQ5TZvShzafDPg4L9hQ/lKyRRK8Ny.js","https:/framerusercontent.com/modules/Hufk8aDpeHffEPd3UaKJ/RIZV2XYceJC3DmQCS2oZ/mmuN2wOHK.js","https:/framerusercontent.com/modules/UfOimV8n8taKLMRcgCdK/V3fMdNRc5sxCpgVSXlid/zWZR5OjKN.js","https:/framerusercontent.com/modules/pqSqfiLcuJDy32tCrOYF/nXut8ZE7bCRPI4xmOhQu/xsmfKv741.js","https:/framerusercontent.com/modules/bXyFRd3SF2SlqvLBLzdH/fN8nuOj9udal2BP81FKG/k9yNnv5vW.js","https:/framerusercontent.com/modules/jnFsdO3kh5tBYcgOyyvZ/wBfFG8SGQlEhI4NL1lps/KiU9JW3As.js","https:/framerusercontent.com/modules/lcp4hBo2Lg0dhfoep73c/lDiYXYbCx6MNnxSvhfDO/siteMetadata.js","https:/framerusercontent.com/modules/k9JOeul6f4fWgNXrWDHq/gs6VB8wHXWQiz6ozUYrR/augiA20Il.js","https:/framerusercontent.com/modules/gHmWOJOE89eiPhKY4Zg9/HkYngKM9aAXGYOENMzHj/augiA20Il.js","https:/framerusercontent.com/modules/vi9BUdA9c5srvDbBaSgu/RQT3SfxP9icKXPMjCsxE/snippets.js","https:/framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js","https:/framer.com/m/framer/SitesNotFoundPage.js@1.4.0","https:/unpkg.com/@dotlottie/player-component@1.3.2/dist/dotlottie-player.js"],"sourcesContent":["import*as e from\"react\";var n=\"default\"in e?e.default:e;var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.2.0\";var Fe=\"default\"in e?e.default:e;var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.2.0\";var Un={};var Zn,Xn;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n\n//# sourceMappingURL=server.browser.js.map","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __pow = Math.pow;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __async = (__this, __arguments, generator) => {\n  return new Promise((resolve, reject) => {\n    var fulfilled = (value) => {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var rejected = (value) => {\n      try {\n        step(generator.throw(value));\n      } catch (e) {\n        reject(e);\n      }\n    };\n    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n    step((generator = generator.apply(__this, __arguments)).next());\n  });\n};\n\nexport {\n  __pow,\n  __spreadValues,\n  __spreadProps,\n  __objRest,\n  __export,\n  __async\n};\n","import {\n  __async,\n  __export,\n  __pow,\n  __spreadProps,\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// ../../node_modules/.pnpm/three@0.169.0/node_modules/three/build/three.module.js\nvar three_module_exports = {};\n__export(three_module_exports, {\n  ACESFilmicToneMapping: () => ACESFilmicToneMapping,\n  AddEquation: () => AddEquation,\n  AddOperation: () => AddOperation,\n  AdditiveAnimationBlendMode: () => AdditiveAnimationBlendMode,\n  AdditiveBlending: () => AdditiveBlending,\n  AgXToneMapping: () => AgXToneMapping,\n  AlphaFormat: () => AlphaFormat,\n  AlwaysCompare: () => AlwaysCompare,\n  AlwaysDepth: () => AlwaysDepth,\n  AlwaysStencilFunc: () => AlwaysStencilFunc,\n  AmbientLight: () => AmbientLight,\n  AnimationAction: () => AnimationAction,\n  AnimationClip: () => AnimationClip,\n  AnimationLoader: () => AnimationLoader,\n  AnimationMixer: () => AnimationMixer,\n  AnimationObjectGroup: () => AnimationObjectGroup,\n  AnimationUtils: () => AnimationUtils,\n  ArcCurve: () => ArcCurve,\n  ArrayCamera: () => ArrayCamera,\n  ArrowHelper: () => ArrowHelper,\n  AttachedBindMode: () => AttachedBindMode,\n  Audio: () => Audio,\n  AudioAnalyser: () => AudioAnalyser,\n  AudioContext: () => AudioContext,\n  AudioListener: () => AudioListener,\n  AudioLoader: () => AudioLoader,\n  AxesHelper: () => AxesHelper,\n  BackSide: () => BackSide,\n  BasicDepthPacking: () => BasicDepthPacking,\n  BasicShadowMap: () => BasicShadowMap,\n  BatchedMesh: () => BatchedMesh,\n  Bone: () => Bone,\n  BooleanKeyframeTrack: () => BooleanKeyframeTrack,\n  Box2: () => Box2,\n  Box3: () => Box3,\n  Box3Helper: () => Box3Helper,\n  BoxGeometry: () => BoxGeometry,\n  BoxHelper: () => BoxHelper,\n  BufferAttribute: () => BufferAttribute,\n  BufferGeometry: () => BufferGeometry,\n  BufferGeometryLoader: () => BufferGeometryLoader,\n  ByteType: () => ByteType,\n  Cache: () => Cache,\n  Camera: () => Camera,\n  CameraHelper: () => CameraHelper,\n  CanvasTexture: () => CanvasTexture,\n  CapsuleGeometry: () => CapsuleGeometry,\n  CatmullRomCurve3: () => CatmullRomCurve3,\n  CineonToneMapping: () => CineonToneMapping,\n  CircleGeometry: () => CircleGeometry,\n  ClampToEdgeWrapping: () => ClampToEdgeWrapping,\n  Clock: () => Clock,\n  Color: () => Color,\n  ColorKeyframeTrack: () => ColorKeyframeTrack,\n  ColorManagement: () => ColorManagement,\n  CompressedArrayTexture: () => CompressedArrayTexture,\n  CompressedCubeTexture: () => CompressedCubeTexture,\n  CompressedTexture: () => CompressedTexture,\n  CompressedTextureLoader: () => CompressedTextureLoader,\n  ConeGeometry: () => ConeGeometry,\n  ConstantAlphaFactor: () => ConstantAlphaFactor,\n  ConstantColorFactor: () => ConstantColorFactor,\n  Controls: () => Controls,\n  CubeCamera: () => CubeCamera,\n  CubeReflectionMapping: () => CubeReflectionMapping,\n  CubeRefractionMapping: () => CubeRefractionMapping,\n  CubeTexture: () => CubeTexture,\n  CubeTextureLoader: () => CubeTextureLoader,\n  CubeUVReflectionMapping: () => CubeUVReflectionMapping,\n  CubicBezierCurve: () => CubicBezierCurve,\n  CubicBezierCurve3: () => CubicBezierCurve3,\n  CubicInterpolant: () => CubicInterpolant,\n  CullFaceBack: () => CullFaceBack,\n  CullFaceFront: () => CullFaceFront,\n  CullFaceFrontBack: () => CullFaceFrontBack,\n  CullFaceNone: () => CullFaceNone,\n  Curve: () => Curve,\n  CurvePath: () => CurvePath,\n  CustomBlending: () => CustomBlending,\n  CustomToneMapping: () => CustomToneMapping,\n  CylinderGeometry: () => CylinderGeometry,\n  Cylindrical: () => Cylindrical,\n  Data3DTexture: () => Data3DTexture,\n  DataArrayTexture: () => DataArrayTexture,\n  DataTexture: () => DataTexture,\n  DataTextureLoader: () => DataTextureLoader,\n  DataUtils: () => DataUtils,\n  DecrementStencilOp: () => DecrementStencilOp,\n  DecrementWrapStencilOp: () => DecrementWrapStencilOp,\n  DefaultLoadingManager: () => DefaultLoadingManager,\n  DepthFormat: () => DepthFormat,\n  DepthStencilFormat: () => DepthStencilFormat,\n  DepthTexture: () => DepthTexture,\n  DetachedBindMode: () => DetachedBindMode,\n  DirectionalLight: () => DirectionalLight,\n  DirectionalLightHelper: () => DirectionalLightHelper,\n  DiscreteInterpolant: () => DiscreteInterpolant,\n  DisplayP3ColorSpace: () => DisplayP3ColorSpace,\n  DodecahedronGeometry: () => DodecahedronGeometry,\n  DoubleSide: () => DoubleSide,\n  DstAlphaFactor: () => DstAlphaFactor,\n  DstColorFactor: () => DstColorFactor,\n  DynamicCopyUsage: () => DynamicCopyUsage,\n  DynamicDrawUsage: () => DynamicDrawUsage,\n  DynamicReadUsage: () => DynamicReadUsage,\n  EdgesGeometry: () => EdgesGeometry,\n  EllipseCurve: () => EllipseCurve,\n  EqualCompare: () => EqualCompare,\n  EqualDepth: () => EqualDepth,\n  EqualStencilFunc: () => EqualStencilFunc,\n  EquirectangularReflectionMapping: () => EquirectangularReflectionMapping,\n  EquirectangularRefractionMapping: () => EquirectangularRefractionMapping,\n  Euler: () => Euler,\n  EventDispatcher: () => EventDispatcher,\n  ExtrudeGeometry: () => ExtrudeGeometry,\n  FileLoader: () => FileLoader,\n  Float16BufferAttribute: () => Float16BufferAttribute,\n  Float32BufferAttribute: () => Float32BufferAttribute,\n  FloatType: () => FloatType,\n  Fog: () => Fog,\n  FogExp2: () => FogExp2,\n  FramebufferTexture: () => FramebufferTexture,\n  FrontSide: () => FrontSide,\n  Frustum: () => Frustum,\n  GLBufferAttribute: () => GLBufferAttribute,\n  GLSL1: () => GLSL1,\n  GLSL3: () => GLSL3,\n  GreaterCompare: () => GreaterCompare,\n  GreaterDepth: () => GreaterDepth,\n  GreaterEqualCompare: () => GreaterEqualCompare,\n  GreaterEqualDepth: () => GreaterEqualDepth,\n  GreaterEqualStencilFunc: () => GreaterEqualStencilFunc,\n  GreaterStencilFunc: () => GreaterStencilFunc,\n  GridHelper: () => GridHelper,\n  Group: () => Group,\n  HalfFloatType: () => HalfFloatType,\n  HemisphereLight: () => HemisphereLight,\n  HemisphereLightHelper: () => HemisphereLightHelper,\n  IcosahedronGeometry: () => IcosahedronGeometry,\n  ImageBitmapLoader: () => ImageBitmapLoader,\n  ImageLoader: () => ImageLoader,\n  ImageUtils: () => ImageUtils,\n  IncrementStencilOp: () => IncrementStencilOp,\n  IncrementWrapStencilOp: () => IncrementWrapStencilOp,\n  InstancedBufferAttribute: () => InstancedBufferAttribute,\n  InstancedBufferGeometry: () => InstancedBufferGeometry,\n  InstancedInterleavedBuffer: () => InstancedInterleavedBuffer,\n  InstancedMesh: () => InstancedMesh,\n  Int16BufferAttribute: () => Int16BufferAttribute,\n  Int32BufferAttribute: () => Int32BufferAttribute,\n  Int8BufferAttribute: () => Int8BufferAttribute,\n  IntType: () => IntType,\n  InterleavedBuffer: () => InterleavedBuffer,\n  InterleavedBufferAttribute: () => InterleavedBufferAttribute,\n  Interpolant: () => Interpolant,\n  InterpolateDiscrete: () => InterpolateDiscrete,\n  InterpolateLinear: () => InterpolateLinear,\n  InterpolateSmooth: () => InterpolateSmooth,\n  InvertStencilOp: () => InvertStencilOp,\n  KeepStencilOp: () => KeepStencilOp,\n  KeyframeTrack: () => KeyframeTrack,\n  LOD: () => LOD,\n  LatheGeometry: () => LatheGeometry,\n  Layers: () => Layers,\n  LessCompare: () => LessCompare,\n  LessDepth: () => LessDepth,\n  LessEqualCompare: () => LessEqualCompare,\n  LessEqualDepth: () => LessEqualDepth,\n  LessEqualStencilFunc: () => LessEqualStencilFunc,\n  LessStencilFunc: () => LessStencilFunc,\n  Light: () => Light,\n  LightProbe: () => LightProbe,\n  Line: () => Line,\n  Line3: () => Line3,\n  LineBasicMaterial: () => LineBasicMaterial,\n  LineCurve: () => LineCurve,\n  LineCurve3: () => LineCurve3,\n  LineDashedMaterial: () => LineDashedMaterial,\n  LineLoop: () => LineLoop,\n  LineSegments: () => LineSegments,\n  LinearDisplayP3ColorSpace: () => LinearDisplayP3ColorSpace,\n  LinearFilter: () => LinearFilter,\n  LinearInterpolant: () => LinearInterpolant,\n  LinearMipMapLinearFilter: () => LinearMipMapLinearFilter,\n  LinearMipMapNearestFilter: () => LinearMipMapNearestFilter,\n  LinearMipmapLinearFilter: () => LinearMipmapLinearFilter,\n  LinearMipmapNearestFilter: () => LinearMipmapNearestFilter,\n  LinearSRGBColorSpace: () => LinearSRGBColorSpace,\n  LinearToneMapping: () => LinearToneMapping,\n  LinearTransfer: () => LinearTransfer,\n  Loader: () => Loader,\n  LoaderUtils: () => LoaderUtils,\n  LoadingManager: () => LoadingManager,\n  LoopOnce: () => LoopOnce,\n  LoopPingPong: () => LoopPingPong,\n  LoopRepeat: () => LoopRepeat,\n  LuminanceAlphaFormat: () => LuminanceAlphaFormat,\n  LuminanceFormat: () => LuminanceFormat,\n  MOUSE: () => MOUSE,\n  Material: () => Material,\n  MaterialLoader: () => MaterialLoader,\n  MathUtils: () => MathUtils,\n  Matrix2: () => Matrix2,\n  Matrix3: () => Matrix3,\n  Matrix4: () => Matrix4,\n  MaxEquation: () => MaxEquation,\n  Mesh: () => Mesh,\n  MeshBasicMaterial: () => MeshBasicMaterial,\n  MeshDepthMaterial: () => MeshDepthMaterial,\n  MeshDistanceMaterial: () => MeshDistanceMaterial,\n  MeshLambertMaterial: () => MeshLambertMaterial,\n  MeshMatcapMaterial: () => MeshMatcapMaterial,\n  MeshNormalMaterial: () => MeshNormalMaterial,\n  MeshPhongMaterial: () => MeshPhongMaterial,\n  MeshPhysicalMaterial: () => MeshPhysicalMaterial,\n  MeshStandardMaterial: () => MeshStandardMaterial,\n  MeshToonMaterial: () => MeshToonMaterial,\n  MinEquation: () => MinEquation,\n  MirroredRepeatWrapping: () => MirroredRepeatWrapping,\n  MixOperation: () => MixOperation,\n  MultiplyBlending: () => MultiplyBlending,\n  MultiplyOperation: () => MultiplyOperation,\n  NearestFilter: () => NearestFilter,\n  NearestMipMapLinearFilter: () => NearestMipMapLinearFilter,\n  NearestMipMapNearestFilter: () => NearestMipMapNearestFilter,\n  NearestMipmapLinearFilter: () => NearestMipmapLinearFilter,\n  NearestMipmapNearestFilter: () => NearestMipmapNearestFilter,\n  NeutralToneMapping: () => NeutralToneMapping,\n  NeverCompare: () => NeverCompare,\n  NeverDepth: () => NeverDepth,\n  NeverStencilFunc: () => NeverStencilFunc,\n  NoBlending: () => NoBlending,\n  NoColorSpace: () => NoColorSpace,\n  NoToneMapping: () => NoToneMapping,\n  NormalAnimationBlendMode: () => NormalAnimationBlendMode,\n  NormalBlending: () => NormalBlending,\n  NotEqualCompare: () => NotEqualCompare,\n  NotEqualDepth: () => NotEqualDepth,\n  NotEqualStencilFunc: () => NotEqualStencilFunc,\n  NumberKeyframeTrack: () => NumberKeyframeTrack,\n  Object3D: () => Object3D,\n  ObjectLoader: () => ObjectLoader,\n  ObjectSpaceNormalMap: () => ObjectSpaceNormalMap,\n  OctahedronGeometry: () => OctahedronGeometry,\n  OneFactor: () => OneFactor,\n  OneMinusConstantAlphaFactor: () => OneMinusConstantAlphaFactor,\n  OneMinusConstantColorFactor: () => OneMinusConstantColorFactor,\n  OneMinusDstAlphaFactor: () => OneMinusDstAlphaFactor,\n  OneMinusDstColorFactor: () => OneMinusDstColorFactor,\n  OneMinusSrcAlphaFactor: () => OneMinusSrcAlphaFactor,\n  OneMinusSrcColorFactor: () => OneMinusSrcColorFactor,\n  OrthographicCamera: () => OrthographicCamera,\n  P3Primaries: () => P3Primaries,\n  PCFShadowMap: () => PCFShadowMap,\n  PCFSoftShadowMap: () => PCFSoftShadowMap,\n  PMREMGenerator: () => PMREMGenerator,\n  Path: () => Path,\n  PerspectiveCamera: () => PerspectiveCamera,\n  Plane: () => Plane,\n  PlaneGeometry: () => PlaneGeometry,\n  PlaneHelper: () => PlaneHelper,\n  PointLight: () => PointLight,\n  PointLightHelper: () => PointLightHelper,\n  Points: () => Points,\n  PointsMaterial: () => PointsMaterial,\n  PolarGridHelper: () => PolarGridHelper,\n  PolyhedronGeometry: () => PolyhedronGeometry,\n  PositionalAudio: () => PositionalAudio,\n  PropertyBinding: () => PropertyBinding,\n  PropertyMixer: () => PropertyMixer,\n  QuadraticBezierCurve: () => QuadraticBezierCurve,\n  QuadraticBezierCurve3: () => QuadraticBezierCurve3,\n  Quaternion: () => Quaternion,\n  QuaternionKeyframeTrack: () => QuaternionKeyframeTrack,\n  QuaternionLinearInterpolant: () => QuaternionLinearInterpolant,\n  RED_GREEN_RGTC2_Format: () => RED_GREEN_RGTC2_Format,\n  RED_RGTC1_Format: () => RED_RGTC1_Format,\n  REVISION: () => REVISION,\n  RGBADepthPacking: () => RGBADepthPacking,\n  RGBAFormat: () => RGBAFormat,\n  RGBAIntegerFormat: () => RGBAIntegerFormat,\n  RGBA_ASTC_10x10_Format: () => RGBA_ASTC_10x10_Format,\n  RGBA_ASTC_10x5_Format: () => RGBA_ASTC_10x5_Format,\n  RGBA_ASTC_10x6_Format: () => RGBA_ASTC_10x6_Format,\n  RGBA_ASTC_10x8_Format: () => RGBA_ASTC_10x8_Format,\n  RGBA_ASTC_12x10_Format: () => RGBA_ASTC_12x10_Format,\n  RGBA_ASTC_12x12_Format: () => RGBA_ASTC_12x12_Format,\n  RGBA_ASTC_4x4_Format: () => RGBA_ASTC_4x4_Format,\n  RGBA_ASTC_5x4_Format: () => RGBA_ASTC_5x4_Format,\n  RGBA_ASTC_5x5_Format: () => RGBA_ASTC_5x5_Format,\n  RGBA_ASTC_6x5_Format: () => RGBA_ASTC_6x5_Format,\n  RGBA_ASTC_6x6_Format: () => RGBA_ASTC_6x6_Format,\n  RGBA_ASTC_8x5_Format: () => RGBA_ASTC_8x5_Format,\n  RGBA_ASTC_8x6_Format: () => RGBA_ASTC_8x6_Format,\n  RGBA_ASTC_8x8_Format: () => RGBA_ASTC_8x8_Format,\n  RGBA_BPTC_Format: () => RGBA_BPTC_Format,\n  RGBA_ETC2_EAC_Format: () => RGBA_ETC2_EAC_Format,\n  RGBA_PVRTC_2BPPV1_Format: () => RGBA_PVRTC_2BPPV1_Format,\n  RGBA_PVRTC_4BPPV1_Format: () => RGBA_PVRTC_4BPPV1_Format,\n  RGBA_S3TC_DXT1_Format: () => RGBA_S3TC_DXT1_Format,\n  RGBA_S3TC_DXT3_Format: () => RGBA_S3TC_DXT3_Format,\n  RGBA_S3TC_DXT5_Format: () => RGBA_S3TC_DXT5_Format,\n  RGBDepthPacking: () => RGBDepthPacking,\n  RGBFormat: () => RGBFormat,\n  RGBIntegerFormat: () => RGBIntegerFormat,\n  RGB_BPTC_SIGNED_Format: () => RGB_BPTC_SIGNED_Format,\n  RGB_BPTC_UNSIGNED_Format: () => RGB_BPTC_UNSIGNED_Format,\n  RGB_ETC1_Format: () => RGB_ETC1_Format,\n  RGB_ETC2_Format: () => RGB_ETC2_Format,\n  RGB_PVRTC_2BPPV1_Format: () => RGB_PVRTC_2BPPV1_Format,\n  RGB_PVRTC_4BPPV1_Format: () => RGB_PVRTC_4BPPV1_Format,\n  RGB_S3TC_DXT1_Format: () => RGB_S3TC_DXT1_Format,\n  RGDepthPacking: () => RGDepthPacking,\n  RGFormat: () => RGFormat,\n  RGIntegerFormat: () => RGIntegerFormat,\n  RawShaderMaterial: () => RawShaderMaterial,\n  Ray: () => Ray,\n  Raycaster: () => Raycaster,\n  Rec709Primaries: () => Rec709Primaries,\n  RectAreaLight: () => RectAreaLight,\n  RedFormat: () => RedFormat,\n  RedIntegerFormat: () => RedIntegerFormat,\n  ReinhardToneMapping: () => ReinhardToneMapping,\n  RenderTarget: () => RenderTarget,\n  RepeatWrapping: () => RepeatWrapping,\n  ReplaceStencilOp: () => ReplaceStencilOp,\n  ReverseSubtractEquation: () => ReverseSubtractEquation,\n  RingGeometry: () => RingGeometry,\n  SIGNED_RED_GREEN_RGTC2_Format: () => SIGNED_RED_GREEN_RGTC2_Format,\n  SIGNED_RED_RGTC1_Format: () => SIGNED_RED_RGTC1_Format,\n  SRGBColorSpace: () => SRGBColorSpace,\n  SRGBTransfer: () => SRGBTransfer,\n  Scene: () => Scene,\n  ShaderChunk: () => ShaderChunk,\n  ShaderLib: () => ShaderLib,\n  ShaderMaterial: () => ShaderMaterial,\n  ShadowMaterial: () => ShadowMaterial,\n  Shape: () => Shape,\n  ShapeGeometry: () => ShapeGeometry,\n  ShapePath: () => ShapePath,\n  ShapeUtils: () => ShapeUtils,\n  ShortType: () => ShortType,\n  Skeleton: () => Skeleton,\n  SkeletonHelper: () => SkeletonHelper,\n  SkinnedMesh: () => SkinnedMesh,\n  Source: () => Source,\n  Sphere: () => Sphere,\n  SphereGeometry: () => SphereGeometry,\n  Spherical: () => Spherical,\n  SphericalHarmonics3: () => SphericalHarmonics3,\n  SplineCurve: () => SplineCurve,\n  SpotLight: () => SpotLight,\n  SpotLightHelper: () => SpotLightHelper,\n  Sprite: () => Sprite,\n  SpriteMaterial: () => SpriteMaterial,\n  SrcAlphaFactor: () => SrcAlphaFactor,\n  SrcAlphaSaturateFactor: () => SrcAlphaSaturateFactor,\n  SrcColorFactor: () => SrcColorFactor,\n  StaticCopyUsage: () => StaticCopyUsage,\n  StaticDrawUsage: () => StaticDrawUsage,\n  StaticReadUsage: () => StaticReadUsage,\n  StereoCamera: () => StereoCamera,\n  StreamCopyUsage: () => StreamCopyUsage,\n  StreamDrawUsage: () => StreamDrawUsage,\n  StreamReadUsage: () => StreamReadUsage,\n  StringKeyframeTrack: () => StringKeyframeTrack,\n  SubtractEquation: () => SubtractEquation,\n  SubtractiveBlending: () => SubtractiveBlending,\n  TOUCH: () => TOUCH,\n  TangentSpaceNormalMap: () => TangentSpaceNormalMap,\n  TetrahedronGeometry: () => TetrahedronGeometry,\n  Texture: () => Texture,\n  TextureLoader: () => TextureLoader,\n  TextureUtils: () => TextureUtils,\n  TorusGeometry: () => TorusGeometry,\n  TorusKnotGeometry: () => TorusKnotGeometry,\n  Triangle: () => Triangle,\n  TriangleFanDrawMode: () => TriangleFanDrawMode,\n  TriangleStripDrawMode: () => TriangleStripDrawMode,\n  TrianglesDrawMode: () => TrianglesDrawMode,\n  TubeGeometry: () => TubeGeometry,\n  UVMapping: () => UVMapping,\n  Uint16BufferAttribute: () => Uint16BufferAttribute,\n  Uint32BufferAttribute: () => Uint32BufferAttribute,\n  Uint8BufferAttribute: () => Uint8BufferAttribute,\n  Uint8ClampedBufferAttribute: () => Uint8ClampedBufferAttribute,\n  Uniform: () => Uniform,\n  UniformsGroup: () => UniformsGroup,\n  UniformsLib: () => UniformsLib,\n  UniformsUtils: () => UniformsUtils,\n  UnsignedByteType: () => UnsignedByteType,\n  UnsignedInt248Type: () => UnsignedInt248Type,\n  UnsignedInt5999Type: () => UnsignedInt5999Type,\n  UnsignedIntType: () => UnsignedIntType,\n  UnsignedShort4444Type: () => UnsignedShort4444Type,\n  UnsignedShort5551Type: () => UnsignedShort5551Type,\n  UnsignedShortType: () => UnsignedShortType,\n  VSMShadowMap: () => VSMShadowMap,\n  Vector2: () => Vector2,\n  Vector3: () => Vector3,\n  Vector4: () => Vector4,\n  VectorKeyframeTrack: () => VectorKeyframeTrack,\n  VideoTexture: () => VideoTexture,\n  WebGL3DRenderTarget: () => WebGL3DRenderTarget,\n  WebGLArrayRenderTarget: () => WebGLArrayRenderTarget,\n  WebGLCoordinateSystem: () => WebGLCoordinateSystem,\n  WebGLCubeRenderTarget: () => WebGLCubeRenderTarget,\n  WebGLMultipleRenderTargets: () => WebGLMultipleRenderTargets,\n  WebGLRenderTarget: () => WebGLRenderTarget,\n  WebGLRenderer: () => WebGLRenderer,\n  WebGLUtils: () => WebGLUtils,\n  WebGPUCoordinateSystem: () => WebGPUCoordinateSystem,\n  WireframeGeometry: () => WireframeGeometry,\n  WrapAroundEnding: () => WrapAroundEnding,\n  ZeroCurvatureEnding: () => ZeroCurvatureEnding,\n  ZeroFactor: () => ZeroFactor,\n  ZeroSlopeEnding: () => ZeroSlopeEnding,\n  ZeroStencilOp: () => ZeroStencilOp,\n  createCanvasElement: () => createCanvasElement\n});\nvar REVISION = \"169\";\nvar MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };\nvar TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };\nvar CullFaceNone = 0;\nvar CullFaceBack = 1;\nvar CullFaceFront = 2;\nvar CullFaceFrontBack = 3;\nvar BasicShadowMap = 0;\nvar PCFShadowMap = 1;\nvar PCFSoftShadowMap = 2;\nvar VSMShadowMap = 3;\nvar FrontSide = 0;\nvar BackSide = 1;\nvar DoubleSide = 2;\nvar NoBlending = 0;\nvar NormalBlending = 1;\nvar AdditiveBlending = 2;\nvar SubtractiveBlending = 3;\nvar MultiplyBlending = 4;\nvar CustomBlending = 5;\nvar AddEquation = 100;\nvar SubtractEquation = 101;\nvar ReverseSubtractEquation = 102;\nvar MinEquation = 103;\nvar MaxEquation = 104;\nvar ZeroFactor = 200;\nvar OneFactor = 201;\nvar SrcColorFactor = 202;\nvar OneMinusSrcColorFactor = 203;\nvar SrcAlphaFactor = 204;\nvar OneMinusSrcAlphaFactor = 205;\nvar DstAlphaFactor = 206;\nvar OneMinusDstAlphaFactor = 207;\nvar DstColorFactor = 208;\nvar OneMinusDstColorFactor = 209;\nvar SrcAlphaSaturateFactor = 210;\nvar ConstantColorFactor = 211;\nvar OneMinusConstantColorFactor = 212;\nvar ConstantAlphaFactor = 213;\nvar OneMinusConstantAlphaFactor = 214;\nvar NeverDepth = 0;\nvar AlwaysDepth = 1;\nvar LessDepth = 2;\nvar LessEqualDepth = 3;\nvar EqualDepth = 4;\nvar GreaterEqualDepth = 5;\nvar GreaterDepth = 6;\nvar NotEqualDepth = 7;\nvar MultiplyOperation = 0;\nvar MixOperation = 1;\nvar AddOperation = 2;\nvar NoToneMapping = 0;\nvar LinearToneMapping = 1;\nvar ReinhardToneMapping = 2;\nvar CineonToneMapping = 3;\nvar ACESFilmicToneMapping = 4;\nvar CustomToneMapping = 5;\nvar AgXToneMapping = 6;\nvar NeutralToneMapping = 7;\nvar AttachedBindMode = \"attached\";\nvar DetachedBindMode = \"detached\";\nvar UVMapping = 300;\nvar CubeReflectionMapping = 301;\nvar CubeRefractionMapping = 302;\nvar EquirectangularReflectionMapping = 303;\nvar EquirectangularRefractionMapping = 304;\nvar CubeUVReflectionMapping = 306;\nvar RepeatWrapping = 1e3;\nvar ClampToEdgeWrapping = 1001;\nvar MirroredRepeatWrapping = 1002;\nvar NearestFilter = 1003;\nvar NearestMipmapNearestFilter = 1004;\nvar NearestMipMapNearestFilter = 1004;\nvar NearestMipmapLinearFilter = 1005;\nvar NearestMipMapLinearFilter = 1005;\nvar LinearFilter = 1006;\nvar LinearMipmapNearestFilter = 1007;\nvar LinearMipMapNearestFilter = 1007;\nvar LinearMipmapLinearFilter = 1008;\nvar LinearMipMapLinearFilter = 1008;\nvar UnsignedByteType = 1009;\nvar ByteType = 1010;\nvar ShortType = 1011;\nvar UnsignedShortType = 1012;\nvar IntType = 1013;\nvar UnsignedIntType = 1014;\nvar FloatType = 1015;\nvar HalfFloatType = 1016;\nvar UnsignedShort4444Type = 1017;\nvar UnsignedShort5551Type = 1018;\nvar UnsignedInt248Type = 1020;\nvar UnsignedInt5999Type = 35902;\nvar AlphaFormat = 1021;\nvar RGBFormat = 1022;\nvar RGBAFormat = 1023;\nvar LuminanceFormat = 1024;\nvar LuminanceAlphaFormat = 1025;\nvar DepthFormat = 1026;\nvar DepthStencilFormat = 1027;\nvar RedFormat = 1028;\nvar RedIntegerFormat = 1029;\nvar RGFormat = 1030;\nvar RGIntegerFormat = 1031;\nvar RGBIntegerFormat = 1032;\nvar RGBAIntegerFormat = 1033;\nvar RGB_S3TC_DXT1_Format = 33776;\nvar RGBA_S3TC_DXT1_Format = 33777;\nvar RGBA_S3TC_DXT3_Format = 33778;\nvar RGBA_S3TC_DXT5_Format = 33779;\nvar RGB_PVRTC_4BPPV1_Format = 35840;\nvar RGB_PVRTC_2BPPV1_Format = 35841;\nvar RGBA_PVRTC_4BPPV1_Format = 35842;\nvar RGBA_PVRTC_2BPPV1_Format = 35843;\nvar RGB_ETC1_Format = 36196;\nvar RGB_ETC2_Format = 37492;\nvar RGBA_ETC2_EAC_Format = 37496;\nvar RGBA_ASTC_4x4_Format = 37808;\nvar RGBA_ASTC_5x4_Format = 37809;\nvar RGBA_ASTC_5x5_Format = 37810;\nvar RGBA_ASTC_6x5_Format = 37811;\nvar RGBA_ASTC_6x6_Format = 37812;\nvar RGBA_ASTC_8x5_Format = 37813;\nvar RGBA_ASTC_8x6_Format = 37814;\nvar RGBA_ASTC_8x8_Format = 37815;\nvar RGBA_ASTC_10x5_Format = 37816;\nvar RGBA_ASTC_10x6_Format = 37817;\nvar RGBA_ASTC_10x8_Format = 37818;\nvar RGBA_ASTC_10x10_Format = 37819;\nvar RGBA_ASTC_12x10_Format = 37820;\nvar RGBA_ASTC_12x12_Format = 37821;\nvar RGBA_BPTC_Format = 36492;\nvar RGB_BPTC_SIGNED_Format = 36494;\nvar RGB_BPTC_UNSIGNED_Format = 36495;\nvar RED_RGTC1_Format = 36283;\nvar SIGNED_RED_RGTC1_Format = 36284;\nvar RED_GREEN_RGTC2_Format = 36285;\nvar SIGNED_RED_GREEN_RGTC2_Format = 36286;\nvar LoopOnce = 2200;\nvar LoopRepeat = 2201;\nvar LoopPingPong = 2202;\nvar InterpolateDiscrete = 2300;\nvar InterpolateLinear = 2301;\nvar InterpolateSmooth = 2302;\nvar ZeroCurvatureEnding = 2400;\nvar ZeroSlopeEnding = 2401;\nvar WrapAroundEnding = 2402;\nvar NormalAnimationBlendMode = 2500;\nvar AdditiveAnimationBlendMode = 2501;\nvar TrianglesDrawMode = 0;\nvar TriangleStripDrawMode = 1;\nvar TriangleFanDrawMode = 2;\nvar BasicDepthPacking = 3200;\nvar RGBADepthPacking = 3201;\nvar RGBDepthPacking = 3202;\nvar RGDepthPacking = 3203;\nvar TangentSpaceNormalMap = 0;\nvar ObjectSpaceNormalMap = 1;\nvar NoColorSpace = \"\";\nvar SRGBColorSpace = \"srgb\";\nvar LinearSRGBColorSpace = \"srgb-linear\";\nvar DisplayP3ColorSpace = \"display-p3\";\nvar LinearDisplayP3ColorSpace = \"display-p3-linear\";\nvar LinearTransfer = \"linear\";\nvar SRGBTransfer = \"srgb\";\nvar Rec709Primaries = \"rec709\";\nvar P3Primaries = \"p3\";\nvar ZeroStencilOp = 0;\nvar KeepStencilOp = 7680;\nvar ReplaceStencilOp = 7681;\nvar IncrementStencilOp = 7682;\nvar DecrementStencilOp = 7683;\nvar IncrementWrapStencilOp = 34055;\nvar DecrementWrapStencilOp = 34056;\nvar InvertStencilOp = 5386;\nvar NeverStencilFunc = 512;\nvar LessStencilFunc = 513;\nvar EqualStencilFunc = 514;\nvar LessEqualStencilFunc = 515;\nvar GreaterStencilFunc = 516;\nvar NotEqualStencilFunc = 517;\nvar GreaterEqualStencilFunc = 518;\nvar AlwaysStencilFunc = 519;\nvar NeverCompare = 512;\nvar LessCompare = 513;\nvar EqualCompare = 514;\nvar LessEqualCompare = 515;\nvar GreaterCompare = 516;\nvar NotEqualCompare = 517;\nvar GreaterEqualCompare = 518;\nvar AlwaysCompare = 519;\nvar StaticDrawUsage = 35044;\nvar DynamicDrawUsage = 35048;\nvar StreamDrawUsage = 35040;\nvar StaticReadUsage = 35045;\nvar DynamicReadUsage = 35049;\nvar StreamReadUsage = 35041;\nvar StaticCopyUsage = 35046;\nvar DynamicCopyUsage = 35050;\nvar StreamCopyUsage = 35042;\nvar GLSL1 = \"100\";\nvar GLSL3 = \"300 es\";\nvar WebGLCoordinateSystem = 2e3;\nvar WebGPUCoordinateSystem = 2001;\nvar EventDispatcher = class {\n  addEventListener(type, listener) {\n    if (this._listeners === void 0) this._listeners = {};\n    const listeners = this._listeners;\n    if (listeners[type] === void 0) {\n      listeners[type] = [];\n    }\n    if (listeners[type].indexOf(listener) === -1) {\n      listeners[type].push(listener);\n    }\n  }\n  hasEventListener(type, listener) {\n    if (this._listeners === void 0) return false;\n    const listeners = this._listeners;\n    return listeners[type] !== void 0 && listeners[type].indexOf(listener) !== -1;\n  }\n  removeEventListener(type, listener) {\n    if (this._listeners === void 0) return;\n    const listeners = this._listeners;\n    const listenerArray = listeners[type];\n    if (listenerArray !== void 0) {\n      const index = listenerArray.indexOf(listener);\n      if (index !== -1) {\n        listenerArray.splice(index, 1);\n      }\n    }\n  }\n  dispatchEvent(event) {\n    if (this._listeners === void 0) return;\n    const listeners = this._listeners;\n    const listenerArray = listeners[event.type];\n    if (listenerArray !== void 0) {\n      event.target = this;\n      const array = listenerArray.slice(0);\n      for (let i = 0, l = array.length; i < l; i++) {\n        array[i].call(this, event);\n      }\n      event.target = null;\n    }\n  }\n};\nvar _lut = [\"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"0a\", \"0b\", \"0c\", \"0d\", \"0e\", \"0f\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"1a\", \"1b\", \"1c\", \"1d\", \"1e\", \"1f\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"2a\", \"2b\", \"2c\", \"2d\", \"2e\", \"2f\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"3a\", \"3b\", \"3c\", \"3d\", \"3e\", \"3f\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"4a\", \"4b\", \"4c\", \"4d\", \"4e\", \"4f\", \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\", \"5a\", \"5b\", \"5c\", \"5d\", \"5e\", \"5f\", \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\", \"6a\", \"6b\", \"6c\", \"6d\", \"6e\", \"6f\", \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\", \"7a\", \"7b\", \"7c\", \"7d\", \"7e\", \"7f\", \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\", \"8a\", \"8b\", \"8c\", \"8d\", \"8e\", \"8f\", \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\", \"9a\", \"9b\", \"9c\", \"9d\", \"9e\", \"9f\", \"a0\", \"a1\", \"a2\", \"a3\", \"a4\", \"a5\", \"a6\", \"a7\", \"a8\", \"a9\", \"aa\", \"ab\", \"ac\", \"ad\", \"ae\", \"af\", \"b0\", \"b1\", \"b2\", \"b3\", \"b4\", \"b5\", \"b6\", \"b7\", \"b8\", \"b9\", \"ba\", \"bb\", \"bc\", \"bd\", \"be\", \"bf\", \"c0\", \"c1\", \"c2\", \"c3\", \"c4\", \"c5\", \"c6\", \"c7\", \"c8\", \"c9\", \"ca\", \"cb\", \"cc\", \"cd\", \"ce\", \"cf\", \"d0\", \"d1\", \"d2\", \"d3\", \"d4\", \"d5\", \"d6\", \"d7\", \"d8\", \"d9\", \"da\", \"db\", \"dc\", \"dd\", \"de\", \"df\", \"e0\", \"e1\", \"e2\", \"e3\", \"e4\", \"e5\", \"e6\", \"e7\", \"e8\", \"e9\", \"ea\", \"eb\", \"ec\", \"ed\", \"ee\", \"ef\", \"f0\", \"f1\", \"f2\", \"f3\", \"f4\", \"f5\", \"f6\", \"f7\", \"f8\", \"f9\", \"fa\", \"fb\", \"fc\", \"fd\", \"fe\", \"ff\"];\nvar _seed = 1234567;\nvar DEG2RAD = Math.PI / 180;\nvar RAD2DEG = 180 / Math.PI;\nfunction generateUUID() {\n  const d0 = Math.random() * 4294967295 | 0;\n  const d1 = Math.random() * 4294967295 | 0;\n  const d2 = Math.random() * 4294967295 | 0;\n  const d3 = Math.random() * 4294967295 | 0;\n  const uuid = _lut[d0 & 255] + _lut[d0 >> 8 & 255] + _lut[d0 >> 16 & 255] + _lut[d0 >> 24 & 255] + \"-\" + _lut[d1 & 255] + _lut[d1 >> 8 & 255] + \"-\" + _lut[d1 >> 16 & 15 | 64] + _lut[d1 >> 24 & 255] + \"-\" + _lut[d2 & 63 | 128] + _lut[d2 >> 8 & 255] + \"-\" + _lut[d2 >> 16 & 255] + _lut[d2 >> 24 & 255] + _lut[d3 & 255] + _lut[d3 >> 8 & 255] + _lut[d3 >> 16 & 255] + _lut[d3 >> 24 & 255];\n  return uuid.toLowerCase();\n}\nfunction clamp(value, min, max) {\n  return Math.max(min, Math.min(max, value));\n}\nfunction euclideanModulo(n, m) {\n  return (n % m + m) % m;\n}\nfunction mapLinear(x, a1, a2, b1, b2) {\n  return b1 + (x - a1) * (b2 - b1) / (a2 - a1);\n}\nfunction inverseLerp(x, y, value) {\n  if (x !== y) {\n    return (value - x) / (y - x);\n  } else {\n    return 0;\n  }\n}\nfunction lerp(x, y, t) {\n  return (1 - t) * x + t * y;\n}\nfunction damp(x, y, lambda, dt) {\n  return lerp(x, y, 1 - Math.exp(-lambda * dt));\n}\nfunction pingpong(x, length = 1) {\n  return length - Math.abs(euclideanModulo(x, length * 2) - length);\n}\nfunction smoothstep(x, min, max) {\n  if (x <= min) return 0;\n  if (x >= max) return 1;\n  x = (x - min) / (max - min);\n  return x * x * (3 - 2 * x);\n}\nfunction smootherstep(x, min, max) {\n  if (x <= min) return 0;\n  if (x >= max) return 1;\n  x = (x - min) / (max - min);\n  return x * x * x * (x * (x * 6 - 15) + 10);\n}\nfunction randInt(low, high) {\n  return low + Math.floor(Math.random() * (high - low + 1));\n}\nfunction randFloat(low, high) {\n  return low + Math.random() * (high - low);\n}\nfunction randFloatSpread(range) {\n  return range * (0.5 - Math.random());\n}\nfunction seededRandom(s) {\n  if (s !== void 0) _seed = s;\n  let t = _seed += 1831565813;\n  t = Math.imul(t ^ t >>> 15, t | 1);\n  t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n  return ((t ^ t >>> 14) >>> 0) / 4294967296;\n}\nfunction degToRad(degrees) {\n  return degrees * DEG2RAD;\n}\nfunction radToDeg(radians) {\n  return radians * RAD2DEG;\n}\nfunction isPowerOfTwo(value) {\n  return (value & value - 1) === 0 && value !== 0;\n}\nfunction ceilPowerOfTwo(value) {\n  return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));\n}\nfunction floorPowerOfTwo(value) {\n  return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));\n}\nfunction setQuaternionFromProperEuler(q, a, b, c, order) {\n  const cos = Math.cos;\n  const sin = Math.sin;\n  const c2 = cos(b / 2);\n  const s2 = sin(b / 2);\n  const c13 = cos((a + c) / 2);\n  const s13 = sin((a + c) / 2);\n  const c1_3 = cos((a - c) / 2);\n  const s1_3 = sin((a - c) / 2);\n  const c3_1 = cos((c - a) / 2);\n  const s3_1 = sin((c - a) / 2);\n  switch (order) {\n    case \"XYX\":\n      q.set(c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13);\n      break;\n    case \"YZY\":\n      q.set(s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13);\n      break;\n    case \"ZXZ\":\n      q.set(s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13);\n      break;\n    case \"XZX\":\n      q.set(c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13);\n      break;\n    case \"YXY\":\n      q.set(s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13);\n      break;\n    case \"ZYZ\":\n      q.set(s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13);\n      break;\n    default:\n      console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \" + order);\n  }\n}\nfunction denormalize(value, array) {\n  switch (array.constructor) {\n    case Float32Array:\n      return value;\n    case Uint32Array:\n      return value / 4294967295;\n    case Uint16Array:\n      return value / 65535;\n    case Uint8Array:\n      return value / 255;\n    case Int32Array:\n      return Math.max(value / 2147483647, -1);\n    case Int16Array:\n      return Math.max(value / 32767, -1);\n    case Int8Array:\n      return Math.max(value / 127, -1);\n    default:\n      throw new Error(\"Invalid component type.\");\n  }\n}\nfunction normalize(value, array) {\n  switch (array.constructor) {\n    case Float32Array:\n      return value;\n    case Uint32Array:\n      return Math.round(value * 4294967295);\n    case Uint16Array:\n      return Math.round(value * 65535);\n    case Uint8Array:\n      return Math.round(value * 255);\n    case Int32Array:\n      return Math.round(value * 2147483647);\n    case Int16Array:\n      return Math.round(value * 32767);\n    case Int8Array:\n      return Math.round(value * 127);\n    default:\n      throw new Error(\"Invalid component type.\");\n  }\n}\nvar MathUtils = {\n  DEG2RAD,\n  RAD2DEG,\n  generateUUID,\n  clamp,\n  euclideanModulo,\n  mapLinear,\n  inverseLerp,\n  lerp,\n  damp,\n  pingpong,\n  smoothstep,\n  smootherstep,\n  randInt,\n  randFloat,\n  randFloatSpread,\n  seededRandom,\n  degToRad,\n  radToDeg,\n  isPowerOfTwo,\n  ceilPowerOfTwo,\n  floorPowerOfTwo,\n  setQuaternionFromProperEuler,\n  normalize,\n  denormalize\n};\nvar Vector2 = class _Vector2 {\n  constructor(x = 0, y = 0) {\n    _Vector2.prototype.isVector2 = true;\n    this.x = x;\n    this.y = y;\n  }\n  get width() {\n    return this.x;\n  }\n  set width(value) {\n    this.x = value;\n  }\n  get height() {\n    return this.y;\n  }\n  set height(value) {\n    this.y = value;\n  }\n  set(x, y) {\n    this.x = x;\n    this.y = y;\n    return this;\n  }\n  setScalar(scalar) {\n    this.x = scalar;\n    this.y = scalar;\n    return this;\n  }\n  setX(x) {\n    this.x = x;\n    return this;\n  }\n  setY(y) {\n    this.y = y;\n    return this;\n  }\n  setComponent(index, value) {\n    switch (index) {\n      case 0:\n        this.x = value;\n        break;\n      case 1:\n        this.y = value;\n        break;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n    return this;\n  }\n  getComponent(index) {\n    switch (index) {\n      case 0:\n        return this.x;\n      case 1:\n        return this.y;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n  }\n  clone() {\n    return new this.constructor(this.x, this.y);\n  }\n  copy(v) {\n    this.x = v.x;\n    this.y = v.y;\n    return this;\n  }\n  add(v) {\n    this.x += v.x;\n    this.y += v.y;\n    return this;\n  }\n  addScalar(s) {\n    this.x += s;\n    this.y += s;\n    return this;\n  }\n  addVectors(a, b) {\n    this.x = a.x + b.x;\n    this.y = a.y + b.y;\n    return this;\n  }\n  addScaledVector(v, s) {\n    this.x += v.x * s;\n    this.y += v.y * s;\n    return this;\n  }\n  sub(v) {\n    this.x -= v.x;\n    this.y -= v.y;\n    return this;\n  }\n  subScalar(s) {\n    this.x -= s;\n    this.y -= s;\n    return this;\n  }\n  subVectors(a, b) {\n    this.x = a.x - b.x;\n    this.y = a.y - b.y;\n    return this;\n  }\n  multiply(v) {\n    this.x *= v.x;\n    this.y *= v.y;\n    return this;\n  }\n  multiplyScalar(scalar) {\n    this.x *= scalar;\n    this.y *= scalar;\n    return this;\n  }\n  divide(v) {\n    this.x /= v.x;\n    this.y /= v.y;\n    return this;\n  }\n  divideScalar(scalar) {\n    return this.multiplyScalar(1 / scalar);\n  }\n  applyMatrix3(m) {\n    const x = this.x, y = this.y;\n    const e = m.elements;\n    this.x = e[0] * x + e[3] * y + e[6];\n    this.y = e[1] * x + e[4] * y + e[7];\n    return this;\n  }\n  min(v) {\n    this.x = Math.min(this.x, v.x);\n    this.y = Math.min(this.y, v.y);\n    return this;\n  }\n  max(v) {\n    this.x = Math.max(this.x, v.x);\n    this.y = Math.max(this.y, v.y);\n    return this;\n  }\n  clamp(min, max) {\n    this.x = Math.max(min.x, Math.min(max.x, this.x));\n    this.y = Math.max(min.y, Math.min(max.y, this.y));\n    return this;\n  }\n  clampScalar(minVal, maxVal) {\n    this.x = Math.max(minVal, Math.min(maxVal, this.x));\n    this.y = Math.max(minVal, Math.min(maxVal, this.y));\n    return this;\n  }\n  clampLength(min, max) {\n    const length = this.length();\n    return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n  }\n  floor() {\n    this.x = Math.floor(this.x);\n    this.y = Math.floor(this.y);\n    return this;\n  }\n  ceil() {\n    this.x = Math.ceil(this.x);\n    this.y = Math.ceil(this.y);\n    return this;\n  }\n  round() {\n    this.x = Math.round(this.x);\n    this.y = Math.round(this.y);\n    return this;\n  }\n  roundToZero() {\n    this.x = Math.trunc(this.x);\n    this.y = Math.trunc(this.y);\n    return this;\n  }\n  negate() {\n    this.x = -this.x;\n    this.y = -this.y;\n    return this;\n  }\n  dot(v) {\n    return this.x * v.x + this.y * v.y;\n  }\n  cross(v) {\n    return this.x * v.y - this.y * v.x;\n  }\n  lengthSq() {\n    return this.x * this.x + this.y * this.y;\n  }\n  length() {\n    return Math.sqrt(this.x * this.x + this.y * this.y);\n  }\n  manhattanLength() {\n    return Math.abs(this.x) + Math.abs(this.y);\n  }\n  normalize() {\n    return this.divideScalar(this.length() || 1);\n  }\n  angle() {\n    const angle = Math.atan2(-this.y, -this.x) + Math.PI;\n    return angle;\n  }\n  angleTo(v) {\n    const denominator = Math.sqrt(this.lengthSq() * v.lengthSq());\n    if (denominator === 0) return Math.PI / 2;\n    const theta = this.dot(v) / denominator;\n    return Math.acos(clamp(theta, -1, 1));\n  }\n  distanceTo(v) {\n    return Math.sqrt(this.distanceToSquared(v));\n  }\n  distanceToSquared(v) {\n    const dx = this.x - v.x, dy = this.y - v.y;\n    return dx * dx + dy * dy;\n  }\n  manhattanDistanceTo(v) {\n    return Math.abs(this.x - v.x) + Math.abs(this.y - v.y);\n  }\n  setLength(length) {\n    return this.normalize().multiplyScalar(length);\n  }\n  lerp(v, alpha) {\n    this.x += (v.x - this.x) * alpha;\n    this.y += (v.y - this.y) * alpha;\n    return this;\n  }\n  lerpVectors(v1, v2, alpha) {\n    this.x = v1.x + (v2.x - v1.x) * alpha;\n    this.y = v1.y + (v2.y - v1.y) * alpha;\n    return this;\n  }\n  equals(v) {\n    return v.x === this.x && v.y === this.y;\n  }\n  fromArray(array, offset = 0) {\n    this.x = array[offset];\n    this.y = array[offset + 1];\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this.x;\n    array[offset + 1] = this.y;\n    return array;\n  }\n  fromBufferAttribute(attribute, index) {\n    this.x = attribute.getX(index);\n    this.y = attribute.getY(index);\n    return this;\n  }\n  rotateAround(center, angle) {\n    const c = Math.cos(angle), s = Math.sin(angle);\n    const x = this.x - center.x;\n    const y = this.y - center.y;\n    this.x = x * c - y * s + center.x;\n    this.y = x * s + y * c + center.y;\n    return this;\n  }\n  random() {\n    this.x = Math.random();\n    this.y = Math.random();\n    return this;\n  }\n  *[Symbol.iterator]() {\n    yield this.x;\n    yield this.y;\n  }\n};\nvar Matrix3 = class _Matrix3 {\n  constructor(n11, n12, n13, n21, n22, n23, n31, n32, n33) {\n    _Matrix3.prototype.isMatrix3 = true;\n    this.elements = [\n      1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      1\n    ];\n    if (n11 !== void 0) {\n      this.set(n11, n12, n13, n21, n22, n23, n31, n32, n33);\n    }\n  }\n  set(n11, n12, n13, n21, n22, n23, n31, n32, n33) {\n    const te = this.elements;\n    te[0] = n11;\n    te[1] = n21;\n    te[2] = n31;\n    te[3] = n12;\n    te[4] = n22;\n    te[5] = n32;\n    te[6] = n13;\n    te[7] = n23;\n    te[8] = n33;\n    return this;\n  }\n  identity() {\n    this.set(\n      1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  copy(m) {\n    const te = this.elements;\n    const me = m.elements;\n    te[0] = me[0];\n    te[1] = me[1];\n    te[2] = me[2];\n    te[3] = me[3];\n    te[4] = me[4];\n    te[5] = me[5];\n    te[6] = me[6];\n    te[7] = me[7];\n    te[8] = me[8];\n    return this;\n  }\n  extractBasis(xAxis, yAxis, zAxis) {\n    xAxis.setFromMatrix3Column(this, 0);\n    yAxis.setFromMatrix3Column(this, 1);\n    zAxis.setFromMatrix3Column(this, 2);\n    return this;\n  }\n  setFromMatrix4(m) {\n    const me = m.elements;\n    this.set(\n      me[0],\n      me[4],\n      me[8],\n      me[1],\n      me[5],\n      me[9],\n      me[2],\n      me[6],\n      me[10]\n    );\n    return this;\n  }\n  multiply(m) {\n    return this.multiplyMatrices(this, m);\n  }\n  premultiply(m) {\n    return this.multiplyMatrices(m, this);\n  }\n  multiplyMatrices(a, b) {\n    const ae = a.elements;\n    const be = b.elements;\n    const te = this.elements;\n    const a11 = ae[0], a12 = ae[3], a13 = ae[6];\n    const a21 = ae[1], a22 = ae[4], a23 = ae[7];\n    const a31 = ae[2], a32 = ae[5], a33 = ae[8];\n    const b11 = be[0], b12 = be[3], b13 = be[6];\n    const b21 = be[1], b22 = be[4], b23 = be[7];\n    const b31 = be[2], b32 = be[5], b33 = be[8];\n    te[0] = a11 * b11 + a12 * b21 + a13 * b31;\n    te[3] = a11 * b12 + a12 * b22 + a13 * b32;\n    te[6] = a11 * b13 + a12 * b23 + a13 * b33;\n    te[1] = a21 * b11 + a22 * b21 + a23 * b31;\n    te[4] = a21 * b12 + a22 * b22 + a23 * b32;\n    te[7] = a21 * b13 + a22 * b23 + a23 * b33;\n    te[2] = a31 * b11 + a32 * b21 + a33 * b31;\n    te[5] = a31 * b12 + a32 * b22 + a33 * b32;\n    te[8] = a31 * b13 + a32 * b23 + a33 * b33;\n    return this;\n  }\n  multiplyScalar(s) {\n    const te = this.elements;\n    te[0] *= s;\n    te[3] *= s;\n    te[6] *= s;\n    te[1] *= s;\n    te[4] *= s;\n    te[7] *= s;\n    te[2] *= s;\n    te[5] *= s;\n    te[8] *= s;\n    return this;\n  }\n  determinant() {\n    const te = this.elements;\n    const a = te[0], b = te[1], c = te[2], d = te[3], e = te[4], f = te[5], g = te[6], h = te[7], i = te[8];\n    return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g;\n  }\n  invert() {\n    const te = this.elements, n11 = te[0], n21 = te[1], n31 = te[2], n12 = te[3], n22 = te[4], n32 = te[5], n13 = te[6], n23 = te[7], n33 = te[8], t11 = n33 * n22 - n32 * n23, t12 = n32 * n13 - n33 * n12, t13 = n23 * n12 - n22 * n13, det = n11 * t11 + n21 * t12 + n31 * t13;\n    if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);\n    const detInv = 1 / det;\n    te[0] = t11 * detInv;\n    te[1] = (n31 * n23 - n33 * n21) * detInv;\n    te[2] = (n32 * n21 - n31 * n22) * detInv;\n    te[3] = t12 * detInv;\n    te[4] = (n33 * n11 - n31 * n13) * detInv;\n    te[5] = (n31 * n12 - n32 * n11) * detInv;\n    te[6] = t13 * detInv;\n    te[7] = (n21 * n13 - n23 * n11) * detInv;\n    te[8] = (n22 * n11 - n21 * n12) * detInv;\n    return this;\n  }\n  transpose() {\n    let tmp2;\n    const m = this.elements;\n    tmp2 = m[1];\n    m[1] = m[3];\n    m[3] = tmp2;\n    tmp2 = m[2];\n    m[2] = m[6];\n    m[6] = tmp2;\n    tmp2 = m[5];\n    m[5] = m[7];\n    m[7] = tmp2;\n    return this;\n  }\n  getNormalMatrix(matrix4) {\n    return this.setFromMatrix4(matrix4).invert().transpose();\n  }\n  transposeIntoArray(r) {\n    const m = this.elements;\n    r[0] = m[0];\n    r[1] = m[3];\n    r[2] = m[6];\n    r[3] = m[1];\n    r[4] = m[4];\n    r[5] = m[7];\n    r[6] = m[2];\n    r[7] = m[5];\n    r[8] = m[8];\n    return this;\n  }\n  setUvTransform(tx, ty, sx, sy, rotation, cx, cy) {\n    const c = Math.cos(rotation);\n    const s = Math.sin(rotation);\n    this.set(\n      sx * c,\n      sx * s,\n      -sx * (c * cx + s * cy) + cx + tx,\n      -sy * s,\n      sy * c,\n      -sy * (-s * cx + c * cy) + cy + ty,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  //\n  scale(sx, sy) {\n    this.premultiply(_m3.makeScale(sx, sy));\n    return this;\n  }\n  rotate(theta) {\n    this.premultiply(_m3.makeRotation(-theta));\n    return this;\n  }\n  translate(tx, ty) {\n    this.premultiply(_m3.makeTranslation(tx, ty));\n    return this;\n  }\n  // for 2D Transforms\n  makeTranslation(x, y) {\n    if (x.isVector2) {\n      this.set(\n        1,\n        0,\n        x.x,\n        0,\n        1,\n        x.y,\n        0,\n        0,\n        1\n      );\n    } else {\n      this.set(\n        1,\n        0,\n        x,\n        0,\n        1,\n        y,\n        0,\n        0,\n        1\n      );\n    }\n    return this;\n  }\n  makeRotation(theta) {\n    const c = Math.cos(theta);\n    const s = Math.sin(theta);\n    this.set(\n      c,\n      -s,\n      0,\n      s,\n      c,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeScale(x, y) {\n    this.set(\n      x,\n      0,\n      0,\n      0,\n      y,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  //\n  equals(matrix) {\n    const te = this.elements;\n    const me = matrix.elements;\n    for (let i = 0; i < 9; i++) {\n      if (te[i] !== me[i]) return false;\n    }\n    return true;\n  }\n  fromArray(array, offset = 0) {\n    for (let i = 0; i < 9; i++) {\n      this.elements[i] = array[i + offset];\n    }\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    const te = this.elements;\n    array[offset] = te[0];\n    array[offset + 1] = te[1];\n    array[offset + 2] = te[2];\n    array[offset + 3] = te[3];\n    array[offset + 4] = te[4];\n    array[offset + 5] = te[5];\n    array[offset + 6] = te[6];\n    array[offset + 7] = te[7];\n    array[offset + 8] = te[8];\n    return array;\n  }\n  clone() {\n    return new this.constructor().fromArray(this.elements);\n  }\n};\nvar _m3 = /* @__PURE__ */ new Matrix3();\nfunction arrayNeedsUint32(array) {\n  for (let i = array.length - 1; i >= 0; --i) {\n    if (array[i] >= 65535) return true;\n  }\n  return false;\n}\nvar TYPED_ARRAYS = {\n  Int8Array,\n  Uint8Array,\n  Uint8ClampedArray,\n  Int16Array,\n  Uint16Array,\n  Int32Array,\n  Uint32Array,\n  Float32Array,\n  Float64Array\n};\nfunction getTypedArray(type, buffer) {\n  return new TYPED_ARRAYS[type](buffer);\n}\nfunction createElementNS(name) {\n  return document.createElementNS(\"http://www.w3.org/1999/xhtml\", name);\n}\nfunction createCanvasElement() {\n  const canvas = createElementNS(\"canvas\");\n  canvas.style.display = \"block\";\n  return canvas;\n}\nvar _cache = {};\nfunction warnOnce(message) {\n  if (message in _cache) return;\n  _cache[message] = true;\n  console.warn(message);\n}\nfunction probeAsync(gl, sync, interval) {\n  return new Promise(function(resolve, reject) {\n    function probe() {\n      switch (gl.clientWaitSync(sync, gl.SYNC_FLUSH_COMMANDS_BIT, 0)) {\n        case gl.WAIT_FAILED:\n          reject();\n          break;\n        case gl.TIMEOUT_EXPIRED:\n          setTimeout(probe, interval);\n          break;\n        default:\n          resolve();\n      }\n    }\n    setTimeout(probe, interval);\n  });\n}\nfunction toNormalizedProjectionMatrix(projectionMatrix) {\n  const m = projectionMatrix.elements;\n  m[2] = 0.5 * m[2] + 0.5 * m[3];\n  m[6] = 0.5 * m[6] + 0.5 * m[7];\n  m[10] = 0.5 * m[10] + 0.5 * m[11];\n  m[14] = 0.5 * m[14] + 0.5 * m[15];\n}\nfunction toReversedProjectionMatrix(projectionMatrix) {\n  const m = projectionMatrix.elements;\n  const isPerspectiveMatrix = m[11] === -1;\n  if (isPerspectiveMatrix) {\n    m[10] = -m[10] - 1;\n    m[14] = -m[14];\n  } else {\n    m[10] = -m[10];\n    m[14] = -m[14] + 1;\n  }\n}\nvar LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = /* @__PURE__ */ new Matrix3().set(\n  0.8224621,\n  0.177538,\n  0,\n  0.0331941,\n  0.9668058,\n  0,\n  0.0170827,\n  0.0723974,\n  0.9105199\n);\nvar LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = /* @__PURE__ */ new Matrix3().set(\n  1.2249401,\n  -0.2249404,\n  0,\n  -0.0420569,\n  1.0420571,\n  0,\n  -0.0196376,\n  -0.0786361,\n  1.0982735\n);\nvar COLOR_SPACES = {\n  [LinearSRGBColorSpace]: {\n    transfer: LinearTransfer,\n    primaries: Rec709Primaries,\n    luminanceCoefficients: [0.2126, 0.7152, 0.0722],\n    toReference: (color) => color,\n    fromReference: (color) => color\n  },\n  [SRGBColorSpace]: {\n    transfer: SRGBTransfer,\n    primaries: Rec709Primaries,\n    luminanceCoefficients: [0.2126, 0.7152, 0.0722],\n    toReference: (color) => color.convertSRGBToLinear(),\n    fromReference: (color) => color.convertLinearToSRGB()\n  },\n  [LinearDisplayP3ColorSpace]: {\n    transfer: LinearTransfer,\n    primaries: P3Primaries,\n    luminanceCoefficients: [0.2289, 0.6917, 0.0793],\n    toReference: (color) => color.applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB),\n    fromReference: (color) => color.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3)\n  },\n  [DisplayP3ColorSpace]: {\n    transfer: SRGBTransfer,\n    primaries: P3Primaries,\n    luminanceCoefficients: [0.2289, 0.6917, 0.0793],\n    toReference: (color) => color.convertSRGBToLinear().applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB),\n    fromReference: (color) => color.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3).convertLinearToSRGB()\n  }\n};\nvar SUPPORTED_WORKING_COLOR_SPACES = /* @__PURE__ */ new Set([LinearSRGBColorSpace, LinearDisplayP3ColorSpace]);\nvar ColorManagement = {\n  enabled: true,\n  _workingColorSpace: LinearSRGBColorSpace,\n  get workingColorSpace() {\n    return this._workingColorSpace;\n  },\n  set workingColorSpace(colorSpace) {\n    if (!SUPPORTED_WORKING_COLOR_SPACES.has(colorSpace)) {\n      throw new Error(`Unsupported working color space, \"${colorSpace}\".`);\n    }\n    this._workingColorSpace = colorSpace;\n  },\n  convert: function(color, sourceColorSpace, targetColorSpace) {\n    if (this.enabled === false || sourceColorSpace === targetColorSpace || !sourceColorSpace || !targetColorSpace) {\n      return color;\n    }\n    const sourceToReference = COLOR_SPACES[sourceColorSpace].toReference;\n    const targetFromReference = COLOR_SPACES[targetColorSpace].fromReference;\n    return targetFromReference(sourceToReference(color));\n  },\n  fromWorkingColorSpace: function(color, targetColorSpace) {\n    return this.convert(color, this._workingColorSpace, targetColorSpace);\n  },\n  toWorkingColorSpace: function(color, sourceColorSpace) {\n    return this.convert(color, sourceColorSpace, this._workingColorSpace);\n  },\n  getPrimaries: function(colorSpace) {\n    return COLOR_SPACES[colorSpace].primaries;\n  },\n  getTransfer: function(colorSpace) {\n    if (colorSpace === NoColorSpace) return LinearTransfer;\n    return COLOR_SPACES[colorSpace].transfer;\n  },\n  getLuminanceCoefficients: function(target, colorSpace = this._workingColorSpace) {\n    return target.fromArray(COLOR_SPACES[colorSpace].luminanceCoefficients);\n  }\n};\nfunction SRGBToLinear(c) {\n  return c < 0.04045 ? c * 0.0773993808 : Math.pow(c * 0.9478672986 + 0.0521327014, 2.4);\n}\nfunction LinearToSRGB(c) {\n  return c < 31308e-7 ? c * 12.92 : 1.055 * Math.pow(c, 0.41666) - 0.055;\n}\nvar _canvas;\nvar ImageUtils = class {\n  static getDataURL(image) {\n    if (/^data:/i.test(image.src)) {\n      return image.src;\n    }\n    if (typeof HTMLCanvasElement === \"undefined\") {\n      return image.src;\n    }\n    let canvas;\n    if (image instanceof HTMLCanvasElement) {\n      canvas = image;\n    } else {\n      if (_canvas === void 0) _canvas = createElementNS(\"canvas\");\n      _canvas.width = image.width;\n      _canvas.height = image.height;\n      const context = _canvas.getContext(\"2d\");\n      if (image instanceof ImageData) {\n        context.putImageData(image, 0, 0);\n      } else {\n        context.drawImage(image, 0, 0, image.width, image.height);\n      }\n      canvas = _canvas;\n    }\n    if (canvas.width > 2048 || canvas.height > 2048) {\n      console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\", image);\n      return canvas.toDataURL(\"image/jpeg\", 0.6);\n    } else {\n      return canvas.toDataURL(\"image/png\");\n    }\n  }\n  static sRGBToLinear(image) {\n    if (typeof HTMLImageElement !== \"undefined\" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== \"undefined\" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== \"undefined\" && image instanceof ImageBitmap) {\n      const canvas = createElementNS(\"canvas\");\n      canvas.width = image.width;\n      canvas.height = image.height;\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(image, 0, 0, image.width, image.height);\n      const imageData = context.getImageData(0, 0, image.width, image.height);\n      const data = imageData.data;\n      for (let i = 0; i < data.length; i++) {\n        data[i] = SRGBToLinear(data[i] / 255) * 255;\n      }\n      context.putImageData(imageData, 0, 0);\n      return canvas;\n    } else if (image.data) {\n      const data = image.data.slice(0);\n      for (let i = 0; i < data.length; i++) {\n        if (data instanceof Uint8Array || data instanceof Uint8ClampedArray) {\n          data[i] = Math.floor(SRGBToLinear(data[i] / 255) * 255);\n        } else {\n          data[i] = SRGBToLinear(data[i]);\n        }\n      }\n      return {\n        data,\n        width: image.width,\n        height: image.height\n      };\n    } else {\n      console.warn(\"THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.\");\n      return image;\n    }\n  }\n};\nvar _sourceId = 0;\nvar Source = class {\n  constructor(data = null) {\n    this.isSource = true;\n    Object.defineProperty(this, \"id\", { value: _sourceId++ });\n    this.uuid = generateUUID();\n    this.data = data;\n    this.dataReady = true;\n    this.version = 0;\n  }\n  set needsUpdate(value) {\n    if (value === true) this.version++;\n  }\n  toJSON(meta) {\n    const isRootObject = meta === void 0 || typeof meta === \"string\";\n    if (!isRootObject && meta.images[this.uuid] !== void 0) {\n      return meta.images[this.uuid];\n    }\n    const output = {\n      uuid: this.uuid,\n      url: \"\"\n    };\n    const data = this.data;\n    if (data !== null) {\n      let url;\n      if (Array.isArray(data)) {\n        url = [];\n        for (let i = 0, l = data.length; i < l; i++) {\n          if (data[i].isDataTexture) {\n            url.push(serializeImage(data[i].image));\n          } else {\n            url.push(serializeImage(data[i]));\n          }\n        }\n      } else {\n        url = serializeImage(data);\n      }\n      output.url = url;\n    }\n    if (!isRootObject) {\n      meta.images[this.uuid] = output;\n    }\n    return output;\n  }\n};\nfunction serializeImage(image) {\n  if (typeof HTMLImageElement !== \"undefined\" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== \"undefined\" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== \"undefined\" && image instanceof ImageBitmap) {\n    return ImageUtils.getDataURL(image);\n  } else {\n    if (image.data) {\n      return {\n        data: Array.from(image.data),\n        width: image.width,\n        height: image.height,\n        type: image.data.constructor.name\n      };\n    } else {\n      console.warn(\"THREE.Texture: Unable to serialize Texture.\");\n      return {};\n    }\n  }\n}\nvar _textureId = 0;\nvar Texture = class _Texture extends EventDispatcher {\n  constructor(image = _Texture.DEFAULT_IMAGE, mapping = _Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = _Texture.DEFAULT_ANISOTROPY, colorSpace = NoColorSpace) {\n    super();\n    this.isTexture = true;\n    Object.defineProperty(this, \"id\", { value: _textureId++ });\n    this.uuid = generateUUID();\n    this.name = \"\";\n    this.source = new Source(image);\n    this.mipmaps = [];\n    this.mapping = mapping;\n    this.channel = 0;\n    this.wrapS = wrapS;\n    this.wrapT = wrapT;\n    this.magFilter = magFilter;\n    this.minFilter = minFilter;\n    this.anisotropy = anisotropy;\n    this.format = format;\n    this.internalFormat = null;\n    this.type = type;\n    this.offset = new Vector2(0, 0);\n    this.repeat = new Vector2(1, 1);\n    this.center = new Vector2(0, 0);\n    this.rotation = 0;\n    this.matrixAutoUpdate = true;\n    this.matrix = new Matrix3();\n    this.generateMipmaps = true;\n    this.premultiplyAlpha = false;\n    this.flipY = true;\n    this.unpackAlignment = 4;\n    this.colorSpace = colorSpace;\n    this.userData = {};\n    this.version = 0;\n    this.onUpdate = null;\n    this.isRenderTargetTexture = false;\n    this.pmremVersion = 0;\n  }\n  get image() {\n    return this.source.data;\n  }\n  set image(value = null) {\n    this.source.data = value;\n  }\n  updateMatrix() {\n    this.matrix.setUvTransform(this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(source) {\n    this.name = source.name;\n    this.source = source.source;\n    this.mipmaps = source.mipmaps.slice(0);\n    this.mapping = source.mapping;\n    this.channel = source.channel;\n    this.wrapS = source.wrapS;\n    this.wrapT = source.wrapT;\n    this.magFilter = source.magFilter;\n    this.minFilter = source.minFilter;\n    this.anisotropy = source.anisotropy;\n    this.format = source.format;\n    this.internalFormat = source.internalFormat;\n    this.type = source.type;\n    this.offset.copy(source.offset);\n    this.repeat.copy(source.repeat);\n    this.center.copy(source.center);\n    this.rotation = source.rotation;\n    this.matrixAutoUpdate = source.matrixAutoUpdate;\n    this.matrix.copy(source.matrix);\n    this.generateMipmaps = source.generateMipmaps;\n    this.premultiplyAlpha = source.premultiplyAlpha;\n    this.flipY = source.flipY;\n    this.unpackAlignment = source.unpackAlignment;\n    this.colorSpace = source.colorSpace;\n    this.userData = JSON.parse(JSON.stringify(source.userData));\n    this.needsUpdate = true;\n    return this;\n  }\n  toJSON(meta) {\n    const isRootObject = meta === void 0 || typeof meta === \"string\";\n    if (!isRootObject && meta.textures[this.uuid] !== void 0) {\n      return meta.textures[this.uuid];\n    }\n    const output = {\n      metadata: {\n        version: 4.6,\n        type: \"Texture\",\n        generator: \"Texture.toJSON\"\n      },\n      uuid: this.uuid,\n      name: this.name,\n      image: this.source.toJSON(meta).uuid,\n      mapping: this.mapping,\n      channel: this.channel,\n      repeat: [this.repeat.x, this.repeat.y],\n      offset: [this.offset.x, this.offset.y],\n      center: [this.center.x, this.center.y],\n      rotation: this.rotation,\n      wrap: [this.wrapS, this.wrapT],\n      format: this.format,\n      internalFormat: this.internalFormat,\n      type: this.type,\n      colorSpace: this.colorSpace,\n      minFilter: this.minFilter,\n      magFilter: this.magFilter,\n      anisotropy: this.anisotropy,\n      flipY: this.flipY,\n      generateMipmaps: this.generateMipmaps,\n      premultiplyAlpha: this.premultiplyAlpha,\n      unpackAlignment: this.unpackAlignment\n    };\n    if (Object.keys(this.userData).length > 0) output.userData = this.userData;\n    if (!isRootObject) {\n      meta.textures[this.uuid] = output;\n    }\n    return output;\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n  }\n  transformUv(uv) {\n    if (this.mapping !== UVMapping) return uv;\n    uv.applyMatrix3(this.matrix);\n    if (uv.x < 0 || uv.x > 1) {\n      switch (this.wrapS) {\n        case RepeatWrapping:\n          uv.x = uv.x - Math.floor(uv.x);\n          break;\n        case ClampToEdgeWrapping:\n          uv.x = uv.x < 0 ? 0 : 1;\n          break;\n        case MirroredRepeatWrapping:\n          if (Math.abs(Math.floor(uv.x) % 2) === 1) {\n            uv.x = Math.ceil(uv.x) - uv.x;\n          } else {\n            uv.x = uv.x - Math.floor(uv.x);\n          }\n          break;\n      }\n    }\n    if (uv.y < 0 || uv.y > 1) {\n      switch (this.wrapT) {\n        case RepeatWrapping:\n          uv.y = uv.y - Math.floor(uv.y);\n          break;\n        case ClampToEdgeWrapping:\n          uv.y = uv.y < 0 ? 0 : 1;\n          break;\n        case MirroredRepeatWrapping:\n          if (Math.abs(Math.floor(uv.y) % 2) === 1) {\n            uv.y = Math.ceil(uv.y) - uv.y;\n          } else {\n            uv.y = uv.y - Math.floor(uv.y);\n          }\n          break;\n      }\n    }\n    if (this.flipY) {\n      uv.y = 1 - uv.y;\n    }\n    return uv;\n  }\n  set needsUpdate(value) {\n    if (value === true) {\n      this.version++;\n      this.source.needsUpdate = true;\n    }\n  }\n  set needsPMREMUpdate(value) {\n    if (value === true) {\n      this.pmremVersion++;\n    }\n  }\n};\nTexture.DEFAULT_IMAGE = null;\nTexture.DEFAULT_MAPPING = UVMapping;\nTexture.DEFAULT_ANISOTROPY = 1;\nvar Vector4 = class _Vector4 {\n  constructor(x = 0, y = 0, z = 0, w = 1) {\n    _Vector4.prototype.isVector4 = true;\n    this.x = x;\n    this.y = y;\n    this.z = z;\n    this.w = w;\n  }\n  get width() {\n    return this.z;\n  }\n  set width(value) {\n    this.z = value;\n  }\n  get height() {\n    return this.w;\n  }\n  set height(value) {\n    this.w = value;\n  }\n  set(x, y, z, w) {\n    this.x = x;\n    this.y = y;\n    this.z = z;\n    this.w = w;\n    return this;\n  }\n  setScalar(scalar) {\n    this.x = scalar;\n    this.y = scalar;\n    this.z = scalar;\n    this.w = scalar;\n    return this;\n  }\n  setX(x) {\n    this.x = x;\n    return this;\n  }\n  setY(y) {\n    this.y = y;\n    return this;\n  }\n  setZ(z) {\n    this.z = z;\n    return this;\n  }\n  setW(w) {\n    this.w = w;\n    return this;\n  }\n  setComponent(index, value) {\n    switch (index) {\n      case 0:\n        this.x = value;\n        break;\n      case 1:\n        this.y = value;\n        break;\n      case 2:\n        this.z = value;\n        break;\n      case 3:\n        this.w = value;\n        break;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n    return this;\n  }\n  getComponent(index) {\n    switch (index) {\n      case 0:\n        return this.x;\n      case 1:\n        return this.y;\n      case 2:\n        return this.z;\n      case 3:\n        return this.w;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n  }\n  clone() {\n    return new this.constructor(this.x, this.y, this.z, this.w);\n  }\n  copy(v) {\n    this.x = v.x;\n    this.y = v.y;\n    this.z = v.z;\n    this.w = v.w !== void 0 ? v.w : 1;\n    return this;\n  }\n  add(v) {\n    this.x += v.x;\n    this.y += v.y;\n    this.z += v.z;\n    this.w += v.w;\n    return this;\n  }\n  addScalar(s) {\n    this.x += s;\n    this.y += s;\n    this.z += s;\n    this.w += s;\n    return this;\n  }\n  addVectors(a, b) {\n    this.x = a.x + b.x;\n    this.y = a.y + b.y;\n    this.z = a.z + b.z;\n    this.w = a.w + b.w;\n    return this;\n  }\n  addScaledVector(v, s) {\n    this.x += v.x * s;\n    this.y += v.y * s;\n    this.z += v.z * s;\n    this.w += v.w * s;\n    return this;\n  }\n  sub(v) {\n    this.x -= v.x;\n    this.y -= v.y;\n    this.z -= v.z;\n    this.w -= v.w;\n    return this;\n  }\n  subScalar(s) {\n    this.x -= s;\n    this.y -= s;\n    this.z -= s;\n    this.w -= s;\n    return this;\n  }\n  subVectors(a, b) {\n    this.x = a.x - b.x;\n    this.y = a.y - b.y;\n    this.z = a.z - b.z;\n    this.w = a.w - b.w;\n    return this;\n  }\n  multiply(v) {\n    this.x *= v.x;\n    this.y *= v.y;\n    this.z *= v.z;\n    this.w *= v.w;\n    return this;\n  }\n  multiplyScalar(scalar) {\n    this.x *= scalar;\n    this.y *= scalar;\n    this.z *= scalar;\n    this.w *= scalar;\n    return this;\n  }\n  applyMatrix4(m) {\n    const x = this.x, y = this.y, z = this.z, w = this.w;\n    const e = m.elements;\n    this.x = e[0] * x + e[4] * y + e[8] * z + e[12] * w;\n    this.y = e[1] * x + e[5] * y + e[9] * z + e[13] * w;\n    this.z = e[2] * x + e[6] * y + e[10] * z + e[14] * w;\n    this.w = e[3] * x + e[7] * y + e[11] * z + e[15] * w;\n    return this;\n  }\n  divideScalar(scalar) {\n    return this.multiplyScalar(1 / scalar);\n  }\n  setAxisAngleFromQuaternion(q) {\n    this.w = 2 * Math.acos(q.w);\n    const s = Math.sqrt(1 - q.w * q.w);\n    if (s < 1e-4) {\n      this.x = 1;\n      this.y = 0;\n      this.z = 0;\n    } else {\n      this.x = q.x / s;\n      this.y = q.y / s;\n      this.z = q.z / s;\n    }\n    return this;\n  }\n  setAxisAngleFromRotationMatrix(m) {\n    let angle, x, y, z;\n    const epsilon = 0.01, epsilon2 = 0.1, te = m.elements, m11 = te[0], m12 = te[4], m13 = te[8], m21 = te[1], m22 = te[5], m23 = te[9], m31 = te[2], m32 = te[6], m33 = te[10];\n    if (Math.abs(m12 - m21) < epsilon && Math.abs(m13 - m31) < epsilon && Math.abs(m23 - m32) < epsilon) {\n      if (Math.abs(m12 + m21) < epsilon2 && Math.abs(m13 + m31) < epsilon2 && Math.abs(m23 + m32) < epsilon2 && Math.abs(m11 + m22 + m33 - 3) < epsilon2) {\n        this.set(1, 0, 0, 0);\n        return this;\n      }\n      angle = Math.PI;\n      const xx = (m11 + 1) / 2;\n      const yy = (m22 + 1) / 2;\n      const zz = (m33 + 1) / 2;\n      const xy = (m12 + m21) / 4;\n      const xz = (m13 + m31) / 4;\n      const yz = (m23 + m32) / 4;\n      if (xx > yy && xx > zz) {\n        if (xx < epsilon) {\n          x = 0;\n          y = 0.707106781;\n          z = 0.707106781;\n        } else {\n          x = Math.sqrt(xx);\n          y = xy / x;\n          z = xz / x;\n        }\n      } else if (yy > zz) {\n        if (yy < epsilon) {\n          x = 0.707106781;\n          y = 0;\n          z = 0.707106781;\n        } else {\n          y = Math.sqrt(yy);\n          x = xy / y;\n          z = yz / y;\n        }\n      } else {\n        if (zz < epsilon) {\n          x = 0.707106781;\n          y = 0.707106781;\n          z = 0;\n        } else {\n          z = Math.sqrt(zz);\n          x = xz / z;\n          y = yz / z;\n        }\n      }\n      this.set(x, y, z, angle);\n      return this;\n    }\n    let s = Math.sqrt((m32 - m23) * (m32 - m23) + (m13 - m31) * (m13 - m31) + (m21 - m12) * (m21 - m12));\n    if (Math.abs(s) < 1e-3) s = 1;\n    this.x = (m32 - m23) / s;\n    this.y = (m13 - m31) / s;\n    this.z = (m21 - m12) / s;\n    this.w = Math.acos((m11 + m22 + m33 - 1) / 2);\n    return this;\n  }\n  setFromMatrixPosition(m) {\n    const e = m.elements;\n    this.x = e[12];\n    this.y = e[13];\n    this.z = e[14];\n    this.w = e[15];\n    return this;\n  }\n  min(v) {\n    this.x = Math.min(this.x, v.x);\n    this.y = Math.min(this.y, v.y);\n    this.z = Math.min(this.z, v.z);\n    this.w = Math.min(this.w, v.w);\n    return this;\n  }\n  max(v) {\n    this.x = Math.max(this.x, v.x);\n    this.y = Math.max(this.y, v.y);\n    this.z = Math.max(this.z, v.z);\n    this.w = Math.max(this.w, v.w);\n    return this;\n  }\n  clamp(min, max) {\n    this.x = Math.max(min.x, Math.min(max.x, this.x));\n    this.y = Math.max(min.y, Math.min(max.y, this.y));\n    this.z = Math.max(min.z, Math.min(max.z, this.z));\n    this.w = Math.max(min.w, Math.min(max.w, this.w));\n    return this;\n  }\n  clampScalar(minVal, maxVal) {\n    this.x = Math.max(minVal, Math.min(maxVal, this.x));\n    this.y = Math.max(minVal, Math.min(maxVal, this.y));\n    this.z = Math.max(minVal, Math.min(maxVal, this.z));\n    this.w = Math.max(minVal, Math.min(maxVal, this.w));\n    return this;\n  }\n  clampLength(min, max) {\n    const length = this.length();\n    return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n  }\n  floor() {\n    this.x = Math.floor(this.x);\n    this.y = Math.floor(this.y);\n    this.z = Math.floor(this.z);\n    this.w = Math.floor(this.w);\n    return this;\n  }\n  ceil() {\n    this.x = Math.ceil(this.x);\n    this.y = Math.ceil(this.y);\n    this.z = Math.ceil(this.z);\n    this.w = Math.ceil(this.w);\n    return this;\n  }\n  round() {\n    this.x = Math.round(this.x);\n    this.y = Math.round(this.y);\n    this.z = Math.round(this.z);\n    this.w = Math.round(this.w);\n    return this;\n  }\n  roundToZero() {\n    this.x = Math.trunc(this.x);\n    this.y = Math.trunc(this.y);\n    this.z = Math.trunc(this.z);\n    this.w = Math.trunc(this.w);\n    return this;\n  }\n  negate() {\n    this.x = -this.x;\n    this.y = -this.y;\n    this.z = -this.z;\n    this.w = -this.w;\n    return this;\n  }\n  dot(v) {\n    return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w;\n  }\n  lengthSq() {\n    return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;\n  }\n  length() {\n    return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);\n  }\n  manhattanLength() {\n    return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);\n  }\n  normalize() {\n    return this.divideScalar(this.length() || 1);\n  }\n  setLength(length) {\n    return this.normalize().multiplyScalar(length);\n  }\n  lerp(v, alpha) {\n    this.x += (v.x - this.x) * alpha;\n    this.y += (v.y - this.y) * alpha;\n    this.z += (v.z - this.z) * alpha;\n    this.w += (v.w - this.w) * alpha;\n    return this;\n  }\n  lerpVectors(v1, v2, alpha) {\n    this.x = v1.x + (v2.x - v1.x) * alpha;\n    this.y = v1.y + (v2.y - v1.y) * alpha;\n    this.z = v1.z + (v2.z - v1.z) * alpha;\n    this.w = v1.w + (v2.w - v1.w) * alpha;\n    return this;\n  }\n  equals(v) {\n    return v.x === this.x && v.y === this.y && v.z === this.z && v.w === this.w;\n  }\n  fromArray(array, offset = 0) {\n    this.x = array[offset];\n    this.y = array[offset + 1];\n    this.z = array[offset + 2];\n    this.w = array[offset + 3];\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this.x;\n    array[offset + 1] = this.y;\n    array[offset + 2] = this.z;\n    array[offset + 3] = this.w;\n    return array;\n  }\n  fromBufferAttribute(attribute, index) {\n    this.x = attribute.getX(index);\n    this.y = attribute.getY(index);\n    this.z = attribute.getZ(index);\n    this.w = attribute.getW(index);\n    return this;\n  }\n  random() {\n    this.x = Math.random();\n    this.y = Math.random();\n    this.z = Math.random();\n    this.w = Math.random();\n    return this;\n  }\n  *[Symbol.iterator]() {\n    yield this.x;\n    yield this.y;\n    yield this.z;\n    yield this.w;\n  }\n};\nvar RenderTarget = class extends EventDispatcher {\n  constructor(width = 1, height = 1, options = {}) {\n    super();\n    this.isRenderTarget = true;\n    this.width = width;\n    this.height = height;\n    this.depth = 1;\n    this.scissor = new Vector4(0, 0, width, height);\n    this.scissorTest = false;\n    this.viewport = new Vector4(0, 0, width, height);\n    const image = { width, height, depth: 1 };\n    options = Object.assign({\n      generateMipmaps: false,\n      internalFormat: null,\n      minFilter: LinearFilter,\n      depthBuffer: true,\n      stencilBuffer: false,\n      resolveDepthBuffer: true,\n      resolveStencilBuffer: true,\n      depthTexture: null,\n      samples: 0,\n      count: 1\n    }, options);\n    const texture = new Texture(image, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.colorSpace);\n    texture.flipY = false;\n    texture.generateMipmaps = options.generateMipmaps;\n    texture.internalFormat = options.internalFormat;\n    this.textures = [];\n    const count = options.count;\n    for (let i = 0; i < count; i++) {\n      this.textures[i] = texture.clone();\n      this.textures[i].isRenderTargetTexture = true;\n    }\n    this.depthBuffer = options.depthBuffer;\n    this.stencilBuffer = options.stencilBuffer;\n    this.resolveDepthBuffer = options.resolveDepthBuffer;\n    this.resolveStencilBuffer = options.resolveStencilBuffer;\n    this.depthTexture = options.depthTexture;\n    this.samples = options.samples;\n  }\n  get texture() {\n    return this.textures[0];\n  }\n  set texture(value) {\n    this.textures[0] = value;\n  }\n  setSize(width, height, depth = 1) {\n    if (this.width !== width || this.height !== height || this.depth !== depth) {\n      this.width = width;\n      this.height = height;\n      this.depth = depth;\n      for (let i = 0, il = this.textures.length; i < il; i++) {\n        this.textures[i].image.width = width;\n        this.textures[i].image.height = height;\n        this.textures[i].image.depth = depth;\n      }\n      this.dispose();\n    }\n    this.viewport.set(0, 0, width, height);\n    this.scissor.set(0, 0, width, height);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(source) {\n    this.width = source.width;\n    this.height = source.height;\n    this.depth = source.depth;\n    this.scissor.copy(source.scissor);\n    this.scissorTest = source.scissorTest;\n    this.viewport.copy(source.viewport);\n    this.textures.length = 0;\n    for (let i = 0, il = source.textures.length; i < il; i++) {\n      this.textures[i] = source.textures[i].clone();\n      this.textures[i].isRenderTargetTexture = true;\n    }\n    const image = Object.assign({}, source.texture.image);\n    this.texture.source = new Source(image);\n    this.depthBuffer = source.depthBuffer;\n    this.stencilBuffer = source.stencilBuffer;\n    this.resolveDepthBuffer = source.resolveDepthBuffer;\n    this.resolveStencilBuffer = source.resolveStencilBuffer;\n    if (source.depthTexture !== null) this.depthTexture = source.depthTexture.clone();\n    this.samples = source.samples;\n    return this;\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n  }\n};\nvar WebGLRenderTarget = class extends RenderTarget {\n  constructor(width = 1, height = 1, options = {}) {\n    super(width, height, options);\n    this.isWebGLRenderTarget = true;\n  }\n};\nvar DataArrayTexture = class extends Texture {\n  constructor(data = null, width = 1, height = 1, depth = 1) {\n    super(null);\n    this.isDataArrayTexture = true;\n    this.image = { data, width, height, depth };\n    this.magFilter = NearestFilter;\n    this.minFilter = NearestFilter;\n    this.wrapR = ClampToEdgeWrapping;\n    this.generateMipmaps = false;\n    this.flipY = false;\n    this.unpackAlignment = 1;\n    this.layerUpdates = /* @__PURE__ */ new Set();\n  }\n  addLayerUpdate(layerIndex) {\n    this.layerUpdates.add(layerIndex);\n  }\n  clearLayerUpdates() {\n    this.layerUpdates.clear();\n  }\n};\nvar WebGLArrayRenderTarget = class extends WebGLRenderTarget {\n  constructor(width = 1, height = 1, depth = 1, options = {}) {\n    super(width, height, options);\n    this.isWebGLArrayRenderTarget = true;\n    this.depth = depth;\n    this.texture = new DataArrayTexture(null, width, height, depth);\n    this.texture.isRenderTargetTexture = true;\n  }\n};\nvar Data3DTexture = class extends Texture {\n  constructor(data = null, width = 1, height = 1, depth = 1) {\n    super(null);\n    this.isData3DTexture = true;\n    this.image = { data, width, height, depth };\n    this.magFilter = NearestFilter;\n    this.minFilter = NearestFilter;\n    this.wrapR = ClampToEdgeWrapping;\n    this.generateMipmaps = false;\n    this.flipY = false;\n    this.unpackAlignment = 1;\n  }\n};\nvar WebGL3DRenderTarget = class extends WebGLRenderTarget {\n  constructor(width = 1, height = 1, depth = 1, options = {}) {\n    super(width, height, options);\n    this.isWebGL3DRenderTarget = true;\n    this.depth = depth;\n    this.texture = new Data3DTexture(null, width, height, depth);\n    this.texture.isRenderTargetTexture = true;\n  }\n};\nvar Quaternion = class {\n  constructor(x = 0, y = 0, z = 0, w = 1) {\n    this.isQuaternion = true;\n    this._x = x;\n    this._y = y;\n    this._z = z;\n    this._w = w;\n  }\n  static slerpFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t) {\n    let x0 = src0[srcOffset0 + 0], y0 = src0[srcOffset0 + 1], z0 = src0[srcOffset0 + 2], w0 = src0[srcOffset0 + 3];\n    const x1 = src1[srcOffset1 + 0], y1 = src1[srcOffset1 + 1], z1 = src1[srcOffset1 + 2], w1 = src1[srcOffset1 + 3];\n    if (t === 0) {\n      dst[dstOffset + 0] = x0;\n      dst[dstOffset + 1] = y0;\n      dst[dstOffset + 2] = z0;\n      dst[dstOffset + 3] = w0;\n      return;\n    }\n    if (t === 1) {\n      dst[dstOffset + 0] = x1;\n      dst[dstOffset + 1] = y1;\n      dst[dstOffset + 2] = z1;\n      dst[dstOffset + 3] = w1;\n      return;\n    }\n    if (w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1) {\n      let s = 1 - t;\n      const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, dir = cos >= 0 ? 1 : -1, sqrSin = 1 - cos * cos;\n      if (sqrSin > Number.EPSILON) {\n        const sin = Math.sqrt(sqrSin), len = Math.atan2(sin, cos * dir);\n        s = Math.sin(s * len) / sin;\n        t = Math.sin(t * len) / sin;\n      }\n      const tDir = t * dir;\n      x0 = x0 * s + x1 * tDir;\n      y0 = y0 * s + y1 * tDir;\n      z0 = z0 * s + z1 * tDir;\n      w0 = w0 * s + w1 * tDir;\n      if (s === 1 - t) {\n        const f = 1 / Math.sqrt(x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0);\n        x0 *= f;\n        y0 *= f;\n        z0 *= f;\n        w0 *= f;\n      }\n    }\n    dst[dstOffset] = x0;\n    dst[dstOffset + 1] = y0;\n    dst[dstOffset + 2] = z0;\n    dst[dstOffset + 3] = w0;\n  }\n  static multiplyQuaternionsFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1) {\n    const x0 = src0[srcOffset0];\n    const y0 = src0[srcOffset0 + 1];\n    const z0 = src0[srcOffset0 + 2];\n    const w0 = src0[srcOffset0 + 3];\n    const x1 = src1[srcOffset1];\n    const y1 = src1[srcOffset1 + 1];\n    const z1 = src1[srcOffset1 + 2];\n    const w1 = src1[srcOffset1 + 3];\n    dst[dstOffset] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1;\n    dst[dstOffset + 1] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1;\n    dst[dstOffset + 2] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1;\n    dst[dstOffset + 3] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1;\n    return dst;\n  }\n  get x() {\n    return this._x;\n  }\n  set x(value) {\n    this._x = value;\n    this._onChangeCallback();\n  }\n  get y() {\n    return this._y;\n  }\n  set y(value) {\n    this._y = value;\n    this._onChangeCallback();\n  }\n  get z() {\n    return this._z;\n  }\n  set z(value) {\n    this._z = value;\n    this._onChangeCallback();\n  }\n  get w() {\n    return this._w;\n  }\n  set w(value) {\n    this._w = value;\n    this._onChangeCallback();\n  }\n  set(x, y, z, w) {\n    this._x = x;\n    this._y = y;\n    this._z = z;\n    this._w = w;\n    this._onChangeCallback();\n    return this;\n  }\n  clone() {\n    return new this.constructor(this._x, this._y, this._z, this._w);\n  }\n  copy(quaternion) {\n    this._x = quaternion.x;\n    this._y = quaternion.y;\n    this._z = quaternion.z;\n    this._w = quaternion.w;\n    this._onChangeCallback();\n    return this;\n  }\n  setFromEuler(euler, update = true) {\n    const x = euler._x, y = euler._y, z = euler._z, order = euler._order;\n    const cos = Math.cos;\n    const sin = Math.sin;\n    const c1 = cos(x / 2);\n    const c2 = cos(y / 2);\n    const c3 = cos(z / 2);\n    const s1 = sin(x / 2);\n    const s2 = sin(y / 2);\n    const s3 = sin(z / 2);\n    switch (order) {\n      case \"XYZ\":\n        this._x = s1 * c2 * c3 + c1 * s2 * s3;\n        this._y = c1 * s2 * c3 - s1 * c2 * s3;\n        this._z = c1 * c2 * s3 + s1 * s2 * c3;\n        this._w = c1 * c2 * c3 - s1 * s2 * s3;\n        break;\n      case \"YXZ\":\n        this._x = s1 * c2 * c3 + c1 * s2 * s3;\n        this._y = c1 * s2 * c3 - s1 * c2 * s3;\n        this._z = c1 * c2 * s3 - s1 * s2 * c3;\n        this._w = c1 * c2 * c3 + s1 * s2 * s3;\n        break;\n      case \"ZXY\":\n        this._x = s1 * c2 * c3 - c1 * s2 * s3;\n        this._y = c1 * s2 * c3 + s1 * c2 * s3;\n        this._z = c1 * c2 * s3 + s1 * s2 * c3;\n        this._w = c1 * c2 * c3 - s1 * s2 * s3;\n        break;\n      case \"ZYX\":\n        this._x = s1 * c2 * c3 - c1 * s2 * s3;\n        this._y = c1 * s2 * c3 + s1 * c2 * s3;\n        this._z = c1 * c2 * s3 - s1 * s2 * c3;\n        this._w = c1 * c2 * c3 + s1 * s2 * s3;\n        break;\n      case \"YZX\":\n        this._x = s1 * c2 * c3 + c1 * s2 * s3;\n        this._y = c1 * s2 * c3 + s1 * c2 * s3;\n        this._z = c1 * c2 * s3 - s1 * s2 * c3;\n        this._w = c1 * c2 * c3 - s1 * s2 * s3;\n        break;\n      case \"XZY\":\n        this._x = s1 * c2 * c3 - c1 * s2 * s3;\n        this._y = c1 * s2 * c3 - s1 * c2 * s3;\n        this._z = c1 * c2 * s3 + s1 * s2 * c3;\n        this._w = c1 * c2 * c3 + s1 * s2 * s3;\n        break;\n      default:\n        console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \" + order);\n    }\n    if (update === true) this._onChangeCallback();\n    return this;\n  }\n  setFromAxisAngle(axis, angle) {\n    const halfAngle = angle / 2, s = Math.sin(halfAngle);\n    this._x = axis.x * s;\n    this._y = axis.y * s;\n    this._z = axis.z * s;\n    this._w = Math.cos(halfAngle);\n    this._onChangeCallback();\n    return this;\n  }\n  setFromRotationMatrix(m) {\n    const te = m.elements, m11 = te[0], m12 = te[4], m13 = te[8], m21 = te[1], m22 = te[5], m23 = te[9], m31 = te[2], m32 = te[6], m33 = te[10], trace = m11 + m22 + m33;\n    if (trace > 0) {\n      const s = 0.5 / Math.sqrt(trace + 1);\n      this._w = 0.25 / s;\n      this._x = (m32 - m23) * s;\n      this._y = (m13 - m31) * s;\n      this._z = (m21 - m12) * s;\n    } else if (m11 > m22 && m11 > m33) {\n      const s = 2 * Math.sqrt(1 + m11 - m22 - m33);\n      this._w = (m32 - m23) / s;\n      this._x = 0.25 * s;\n      this._y = (m12 + m21) / s;\n      this._z = (m13 + m31) / s;\n    } else if (m22 > m33) {\n      const s = 2 * Math.sqrt(1 + m22 - m11 - m33);\n      this._w = (m13 - m31) / s;\n      this._x = (m12 + m21) / s;\n      this._y = 0.25 * s;\n      this._z = (m23 + m32) / s;\n    } else {\n      const s = 2 * Math.sqrt(1 + m33 - m11 - m22);\n      this._w = (m21 - m12) / s;\n      this._x = (m13 + m31) / s;\n      this._y = (m23 + m32) / s;\n      this._z = 0.25 * s;\n    }\n    this._onChangeCallback();\n    return this;\n  }\n  setFromUnitVectors(vFrom, vTo) {\n    let r = vFrom.dot(vTo) + 1;\n    if (r < Number.EPSILON) {\n      r = 0;\n      if (Math.abs(vFrom.x) > Math.abs(vFrom.z)) {\n        this._x = -vFrom.y;\n        this._y = vFrom.x;\n        this._z = 0;\n        this._w = r;\n      } else {\n        this._x = 0;\n        this._y = -vFrom.z;\n        this._z = vFrom.y;\n        this._w = r;\n      }\n    } else {\n      this._x = vFrom.y * vTo.z - vFrom.z * vTo.y;\n      this._y = vFrom.z * vTo.x - vFrom.x * vTo.z;\n      this._z = vFrom.x * vTo.y - vFrom.y * vTo.x;\n      this._w = r;\n    }\n    return this.normalize();\n  }\n  angleTo(q) {\n    return 2 * Math.acos(Math.abs(clamp(this.dot(q), -1, 1)));\n  }\n  rotateTowards(q, step) {\n    const angle = this.angleTo(q);\n    if (angle === 0) return this;\n    const t = Math.min(1, step / angle);\n    this.slerp(q, t);\n    return this;\n  }\n  identity() {\n    return this.set(0, 0, 0, 1);\n  }\n  invert() {\n    return this.conjugate();\n  }\n  conjugate() {\n    this._x *= -1;\n    this._y *= -1;\n    this._z *= -1;\n    this._onChangeCallback();\n    return this;\n  }\n  dot(v) {\n    return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w;\n  }\n  lengthSq() {\n    return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;\n  }\n  length() {\n    return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);\n  }\n  normalize() {\n    let l = this.length();\n    if (l === 0) {\n      this._x = 0;\n      this._y = 0;\n      this._z = 0;\n      this._w = 1;\n    } else {\n      l = 1 / l;\n      this._x = this._x * l;\n      this._y = this._y * l;\n      this._z = this._z * l;\n      this._w = this._w * l;\n    }\n    this._onChangeCallback();\n    return this;\n  }\n  multiply(q) {\n    return this.multiplyQuaternions(this, q);\n  }\n  premultiply(q) {\n    return this.multiplyQuaternions(q, this);\n  }\n  multiplyQuaternions(a, b) {\n    const qax = a._x, qay = a._y, qaz = a._z, qaw = a._w;\n    const qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w;\n    this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby;\n    this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz;\n    this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx;\n    this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz;\n    this._onChangeCallback();\n    return this;\n  }\n  slerp(qb, t) {\n    if (t === 0) return this;\n    if (t === 1) return this.copy(qb);\n    const x = this._x, y = this._y, z = this._z, w = this._w;\n    let cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z;\n    if (cosHalfTheta < 0) {\n      this._w = -qb._w;\n      this._x = -qb._x;\n      this._y = -qb._y;\n      this._z = -qb._z;\n      cosHalfTheta = -cosHalfTheta;\n    } else {\n      this.copy(qb);\n    }\n    if (cosHalfTheta >= 1) {\n      this._w = w;\n      this._x = x;\n      this._y = y;\n      this._z = z;\n      return this;\n    }\n    const sqrSinHalfTheta = 1 - cosHalfTheta * cosHalfTheta;\n    if (sqrSinHalfTheta <= Number.EPSILON) {\n      const s = 1 - t;\n      this._w = s * w + t * this._w;\n      this._x = s * x + t * this._x;\n      this._y = s * y + t * this._y;\n      this._z = s * z + t * this._z;\n      this.normalize();\n      return this;\n    }\n    const sinHalfTheta = Math.sqrt(sqrSinHalfTheta);\n    const halfTheta = Math.atan2(sinHalfTheta, cosHalfTheta);\n    const ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta, ratioB = Math.sin(t * halfTheta) / sinHalfTheta;\n    this._w = w * ratioA + this._w * ratioB;\n    this._x = x * ratioA + this._x * ratioB;\n    this._y = y * ratioA + this._y * ratioB;\n    this._z = z * ratioA + this._z * ratioB;\n    this._onChangeCallback();\n    return this;\n  }\n  slerpQuaternions(qa, qb, t) {\n    return this.copy(qa).slerp(qb, t);\n  }\n  random() {\n    const theta1 = 2 * Math.PI * Math.random();\n    const theta2 = 2 * Math.PI * Math.random();\n    const x0 = Math.random();\n    const r1 = Math.sqrt(1 - x0);\n    const r2 = Math.sqrt(x0);\n    return this.set(\n      r1 * Math.sin(theta1),\n      r1 * Math.cos(theta1),\n      r2 * Math.sin(theta2),\n      r2 * Math.cos(theta2)\n    );\n  }\n  equals(quaternion) {\n    return quaternion._x === this._x && quaternion._y === this._y && quaternion._z === this._z && quaternion._w === this._w;\n  }\n  fromArray(array, offset = 0) {\n    this._x = array[offset];\n    this._y = array[offset + 1];\n    this._z = array[offset + 2];\n    this._w = array[offset + 3];\n    this._onChangeCallback();\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this._x;\n    array[offset + 1] = this._y;\n    array[offset + 2] = this._z;\n    array[offset + 3] = this._w;\n    return array;\n  }\n  fromBufferAttribute(attribute, index) {\n    this._x = attribute.getX(index);\n    this._y = attribute.getY(index);\n    this._z = attribute.getZ(index);\n    this._w = attribute.getW(index);\n    this._onChangeCallback();\n    return this;\n  }\n  toJSON() {\n    return this.toArray();\n  }\n  _onChange(callback) {\n    this._onChangeCallback = callback;\n    return this;\n  }\n  _onChangeCallback() {\n  }\n  *[Symbol.iterator]() {\n    yield this._x;\n    yield this._y;\n    yield this._z;\n    yield this._w;\n  }\n};\nvar Vector3 = class _Vector3 {\n  constructor(x = 0, y = 0, z = 0) {\n    _Vector3.prototype.isVector3 = true;\n    this.x = x;\n    this.y = y;\n    this.z = z;\n  }\n  set(x, y, z) {\n    if (z === void 0) z = this.z;\n    this.x = x;\n    this.y = y;\n    this.z = z;\n    return this;\n  }\n  setScalar(scalar) {\n    this.x = scalar;\n    this.y = scalar;\n    this.z = scalar;\n    return this;\n  }\n  setX(x) {\n    this.x = x;\n    return this;\n  }\n  setY(y) {\n    this.y = y;\n    return this;\n  }\n  setZ(z) {\n    this.z = z;\n    return this;\n  }\n  setComponent(index, value) {\n    switch (index) {\n      case 0:\n        this.x = value;\n        break;\n      case 1:\n        this.y = value;\n        break;\n      case 2:\n        this.z = value;\n        break;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n    return this;\n  }\n  getComponent(index) {\n    switch (index) {\n      case 0:\n        return this.x;\n      case 1:\n        return this.y;\n      case 2:\n        return this.z;\n      default:\n        throw new Error(\"index is out of range: \" + index);\n    }\n  }\n  clone() {\n    return new this.constructor(this.x, this.y, this.z);\n  }\n  copy(v) {\n    this.x = v.x;\n    this.y = v.y;\n    this.z = v.z;\n    return this;\n  }\n  add(v) {\n    this.x += v.x;\n    this.y += v.y;\n    this.z += v.z;\n    return this;\n  }\n  addScalar(s) {\n    this.x += s;\n    this.y += s;\n    this.z += s;\n    return this;\n  }\n  addVectors(a, b) {\n    this.x = a.x + b.x;\n    this.y = a.y + b.y;\n    this.z = a.z + b.z;\n    return this;\n  }\n  addScaledVector(v, s) {\n    this.x += v.x * s;\n    this.y += v.y * s;\n    this.z += v.z * s;\n    return this;\n  }\n  sub(v) {\n    this.x -= v.x;\n    this.y -= v.y;\n    this.z -= v.z;\n    return this;\n  }\n  subScalar(s) {\n    this.x -= s;\n    this.y -= s;\n    this.z -= s;\n    return this;\n  }\n  subVectors(a, b) {\n    this.x = a.x - b.x;\n    this.y = a.y - b.y;\n    this.z = a.z - b.z;\n    return this;\n  }\n  multiply(v) {\n    this.x *= v.x;\n    this.y *= v.y;\n    this.z *= v.z;\n    return this;\n  }\n  multiplyScalar(scalar) {\n    this.x *= scalar;\n    this.y *= scalar;\n    this.z *= scalar;\n    return this;\n  }\n  multiplyVectors(a, b) {\n    this.x = a.x * b.x;\n    this.y = a.y * b.y;\n    this.z = a.z * b.z;\n    return this;\n  }\n  applyEuler(euler) {\n    return this.applyQuaternion(_quaternion$4.setFromEuler(euler));\n  }\n  applyAxisAngle(axis, angle) {\n    return this.applyQuaternion(_quaternion$4.setFromAxisAngle(axis, angle));\n  }\n  applyMatrix3(m) {\n    const x = this.x, y = this.y, z = this.z;\n    const e = m.elements;\n    this.x = e[0] * x + e[3] * y + e[6] * z;\n    this.y = e[1] * x + e[4] * y + e[7] * z;\n    this.z = e[2] * x + e[5] * y + e[8] * z;\n    return this;\n  }\n  applyNormalMatrix(m) {\n    return this.applyMatrix3(m).normalize();\n  }\n  applyMatrix4(m) {\n    const x = this.x, y = this.y, z = this.z;\n    const e = m.elements;\n    const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]);\n    this.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w;\n    this.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w;\n    this.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w;\n    return this;\n  }\n  applyQuaternion(q) {\n    const vx = this.x, vy = this.y, vz = this.z;\n    const qx = q.x, qy = q.y, qz = q.z, qw = q.w;\n    const tx = 2 * (qy * vz - qz * vy);\n    const ty = 2 * (qz * vx - qx * vz);\n    const tz = 2 * (qx * vy - qy * vx);\n    this.x = vx + qw * tx + qy * tz - qz * ty;\n    this.y = vy + qw * ty + qz * tx - qx * tz;\n    this.z = vz + qw * tz + qx * ty - qy * tx;\n    return this;\n  }\n  project(camera) {\n    return this.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix);\n  }\n  unproject(camera) {\n    return this.applyMatrix4(camera.projectionMatrixInverse).applyMatrix4(camera.matrixWorld);\n  }\n  transformDirection(m) {\n    const x = this.x, y = this.y, z = this.z;\n    const e = m.elements;\n    this.x = e[0] * x + e[4] * y + e[8] * z;\n    this.y = e[1] * x + e[5] * y + e[9] * z;\n    this.z = e[2] * x + e[6] * y + e[10] * z;\n    return this.normalize();\n  }\n  divide(v) {\n    this.x /= v.x;\n    this.y /= v.y;\n    this.z /= v.z;\n    return this;\n  }\n  divideScalar(scalar) {\n    return this.multiplyScalar(1 / scalar);\n  }\n  min(v) {\n    this.x = Math.min(this.x, v.x);\n    this.y = Math.min(this.y, v.y);\n    this.z = Math.min(this.z, v.z);\n    return this;\n  }\n  max(v) {\n    this.x = Math.max(this.x, v.x);\n    this.y = Math.max(this.y, v.y);\n    this.z = Math.max(this.z, v.z);\n    return this;\n  }\n  clamp(min, max) {\n    this.x = Math.max(min.x, Math.min(max.x, this.x));\n    this.y = Math.max(min.y, Math.min(max.y, this.y));\n    this.z = Math.max(min.z, Math.min(max.z, this.z));\n    return this;\n  }\n  clampScalar(minVal, maxVal) {\n    this.x = Math.max(minVal, Math.min(maxVal, this.x));\n    this.y = Math.max(minVal, Math.min(maxVal, this.y));\n    this.z = Math.max(minVal, Math.min(maxVal, this.z));\n    return this;\n  }\n  clampLength(min, max) {\n    const length = this.length();\n    return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length)));\n  }\n  floor() {\n    this.x = Math.floor(this.x);\n    this.y = Math.floor(this.y);\n    this.z = Math.floor(this.z);\n    return this;\n  }\n  ceil() {\n    this.x = Math.ceil(this.x);\n    this.y = Math.ceil(this.y);\n    this.z = Math.ceil(this.z);\n    return this;\n  }\n  round() {\n    this.x = Math.round(this.x);\n    this.y = Math.round(this.y);\n    this.z = Math.round(this.z);\n    return this;\n  }\n  roundToZero() {\n    this.x = Math.trunc(this.x);\n    this.y = Math.trunc(this.y);\n    this.z = Math.trunc(this.z);\n    return this;\n  }\n  negate() {\n    this.x = -this.x;\n    this.y = -this.y;\n    this.z = -this.z;\n    return this;\n  }\n  dot(v) {\n    return this.x * v.x + this.y * v.y + this.z * v.z;\n  }\n  // TODO lengthSquared?\n  lengthSq() {\n    return this.x * this.x + this.y * this.y + this.z * this.z;\n  }\n  length() {\n    return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);\n  }\n  manhattanLength() {\n    return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);\n  }\n  normalize() {\n    return this.divideScalar(this.length() || 1);\n  }\n  setLength(length) {\n    return this.normalize().multiplyScalar(length);\n  }\n  lerp(v, alpha) {\n    this.x += (v.x - this.x) * alpha;\n    this.y += (v.y - this.y) * alpha;\n    this.z += (v.z - this.z) * alpha;\n    return this;\n  }\n  lerpVectors(v1, v2, alpha) {\n    this.x = v1.x + (v2.x - v1.x) * alpha;\n    this.y = v1.y + (v2.y - v1.y) * alpha;\n    this.z = v1.z + (v2.z - v1.z) * alpha;\n    return this;\n  }\n  cross(v) {\n    return this.crossVectors(this, v);\n  }\n  crossVectors(a, b) {\n    const ax = a.x, ay = a.y, az = a.z;\n    const bx = b.x, by = b.y, bz = b.z;\n    this.x = ay * bz - az * by;\n    this.y = az * bx - ax * bz;\n    this.z = ax * by - ay * bx;\n    return this;\n  }\n  projectOnVector(v) {\n    const denominator = v.lengthSq();\n    if (denominator === 0) return this.set(0, 0, 0);\n    const scalar = v.dot(this) / denominator;\n    return this.copy(v).multiplyScalar(scalar);\n  }\n  projectOnPlane(planeNormal) {\n    _vector$c.copy(this).projectOnVector(planeNormal);\n    return this.sub(_vector$c);\n  }\n  reflect(normal) {\n    return this.sub(_vector$c.copy(normal).multiplyScalar(2 * this.dot(normal)));\n  }\n  angleTo(v) {\n    const denominator = Math.sqrt(this.lengthSq() * v.lengthSq());\n    if (denominator === 0) return Math.PI / 2;\n    const theta = this.dot(v) / denominator;\n    return Math.acos(clamp(theta, -1, 1));\n  }\n  distanceTo(v) {\n    return Math.sqrt(this.distanceToSquared(v));\n  }\n  distanceToSquared(v) {\n    const dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z;\n    return dx * dx + dy * dy + dz * dz;\n  }\n  manhattanDistanceTo(v) {\n    return Math.abs(this.x - v.x) + Math.abs(this.y - v.y) + Math.abs(this.z - v.z);\n  }\n  setFromSpherical(s) {\n    return this.setFromSphericalCoords(s.radius, s.phi, s.theta);\n  }\n  setFromSphericalCoords(radius, phi, theta) {\n    const sinPhiRadius = Math.sin(phi) * radius;\n    this.x = sinPhiRadius * Math.sin(theta);\n    this.y = Math.cos(phi) * radius;\n    this.z = sinPhiRadius * Math.cos(theta);\n    return this;\n  }\n  setFromCylindrical(c) {\n    return this.setFromCylindricalCoords(c.radius, c.theta, c.y);\n  }\n  setFromCylindricalCoords(radius, theta, y) {\n    this.x = radius * Math.sin(theta);\n    this.y = y;\n    this.z = radius * Math.cos(theta);\n    return this;\n  }\n  setFromMatrixPosition(m) {\n    const e = m.elements;\n    this.x = e[12];\n    this.y = e[13];\n    this.z = e[14];\n    return this;\n  }\n  setFromMatrixScale(m) {\n    const sx = this.setFromMatrixColumn(m, 0).length();\n    const sy = this.setFromMatrixColumn(m, 1).length();\n    const sz = this.setFromMatrixColumn(m, 2).length();\n    this.x = sx;\n    this.y = sy;\n    this.z = sz;\n    return this;\n  }\n  setFromMatrixColumn(m, index) {\n    return this.fromArray(m.elements, index * 4);\n  }\n  setFromMatrix3Column(m, index) {\n    return this.fromArray(m.elements, index * 3);\n  }\n  setFromEuler(e) {\n    this.x = e._x;\n    this.y = e._y;\n    this.z = e._z;\n    return this;\n  }\n  setFromColor(c) {\n    this.x = c.r;\n    this.y = c.g;\n    this.z = c.b;\n    return this;\n  }\n  equals(v) {\n    return v.x === this.x && v.y === this.y && v.z === this.z;\n  }\n  fromArray(array, offset = 0) {\n    this.x = array[offset];\n    this.y = array[offset + 1];\n    this.z = array[offset + 2];\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this.x;\n    array[offset + 1] = this.y;\n    array[offset + 2] = this.z;\n    return array;\n  }\n  fromBufferAttribute(attribute, index) {\n    this.x = attribute.getX(index);\n    this.y = attribute.getY(index);\n    this.z = attribute.getZ(index);\n    return this;\n  }\n  random() {\n    this.x = Math.random();\n    this.y = Math.random();\n    this.z = Math.random();\n    return this;\n  }\n  randomDirection() {\n    const theta = Math.random() * Math.PI * 2;\n    const u = Math.random() * 2 - 1;\n    const c = Math.sqrt(1 - u * u);\n    this.x = c * Math.cos(theta);\n    this.y = u;\n    this.z = c * Math.sin(theta);\n    return this;\n  }\n  *[Symbol.iterator]() {\n    yield this.x;\n    yield this.y;\n    yield this.z;\n  }\n};\nvar _vector$c = /* @__PURE__ */ new Vector3();\nvar _quaternion$4 = /* @__PURE__ */ new Quaternion();\nvar Box3 = class {\n  constructor(min = new Vector3(Infinity, Infinity, Infinity), max = new Vector3(-Infinity, -Infinity, -Infinity)) {\n    this.isBox3 = true;\n    this.min = min;\n    this.max = max;\n  }\n  set(min, max) {\n    this.min.copy(min);\n    this.max.copy(max);\n    return this;\n  }\n  setFromArray(array) {\n    this.makeEmpty();\n    for (let i = 0, il = array.length; i < il; i += 3) {\n      this.expandByPoint(_vector$b.fromArray(array, i));\n    }\n    return this;\n  }\n  setFromBufferAttribute(attribute) {\n    this.makeEmpty();\n    for (let i = 0, il = attribute.count; i < il; i++) {\n      this.expandByPoint(_vector$b.fromBufferAttribute(attribute, i));\n    }\n    return this;\n  }\n  setFromPoints(points) {\n    this.makeEmpty();\n    for (let i = 0, il = points.length; i < il; i++) {\n      this.expandByPoint(points[i]);\n    }\n    return this;\n  }\n  setFromCenterAndSize(center, size) {\n    const halfSize = _vector$b.copy(size).multiplyScalar(0.5);\n    this.min.copy(center).sub(halfSize);\n    this.max.copy(center).add(halfSize);\n    return this;\n  }\n  setFromObject(object, precise = false) {\n    this.makeEmpty();\n    return this.expandByObject(object, precise);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(box) {\n    this.min.copy(box.min);\n    this.max.copy(box.max);\n    return this;\n  }\n  makeEmpty() {\n    this.min.x = this.min.y = this.min.z = Infinity;\n    this.max.x = this.max.y = this.max.z = -Infinity;\n    return this;\n  }\n  isEmpty() {\n    return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z;\n  }\n  getCenter(target) {\n    return this.isEmpty() ? target.set(0, 0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5);\n  }\n  getSize(target) {\n    return this.isEmpty() ? target.set(0, 0, 0) : target.subVectors(this.max, this.min);\n  }\n  expandByPoint(point) {\n    this.min.min(point);\n    this.max.max(point);\n    return this;\n  }\n  expandByVector(vector) {\n    this.min.sub(vector);\n    this.max.add(vector);\n    return this;\n  }\n  expandByScalar(scalar) {\n    this.min.addScalar(-scalar);\n    this.max.addScalar(scalar);\n    return this;\n  }\n  expandByObject(object, precise = false) {\n    object.updateWorldMatrix(false, false);\n    const geometry = object.geometry;\n    if (geometry !== void 0) {\n      const positionAttribute = geometry.getAttribute(\"position\");\n      if (precise === true && positionAttribute !== void 0 && object.isInstancedMesh !== true) {\n        for (let i = 0, l = positionAttribute.count; i < l; i++) {\n          if (object.isMesh === true) {\n            object.getVertexPosition(i, _vector$b);\n          } else {\n            _vector$b.fromBufferAttribute(positionAttribute, i);\n          }\n          _vector$b.applyMatrix4(object.matrixWorld);\n          this.expandByPoint(_vector$b);\n        }\n      } else {\n        if (object.boundingBox !== void 0) {\n          if (object.boundingBox === null) {\n            object.computeBoundingBox();\n          }\n          _box$4.copy(object.boundingBox);\n        } else {\n          if (geometry.boundingBox === null) {\n            geometry.computeBoundingBox();\n          }\n          _box$4.copy(geometry.boundingBox);\n        }\n        _box$4.applyMatrix4(object.matrixWorld);\n        this.union(_box$4);\n      }\n    }\n    const children = object.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      this.expandByObject(children[i], precise);\n    }\n    return this;\n  }\n  containsPoint(point) {\n    return point.x >= this.min.x && point.x <= this.max.x && point.y >= this.min.y && point.y <= this.max.y && point.z >= this.min.z && point.z <= this.max.z;\n  }\n  containsBox(box) {\n    return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y && this.min.z <= box.min.z && box.max.z <= this.max.z;\n  }\n  getParameter(point, target) {\n    return target.set(\n      (point.x - this.min.x) / (this.max.x - this.min.x),\n      (point.y - this.min.y) / (this.max.y - this.min.y),\n      (point.z - this.min.z) / (this.max.z - this.min.z)\n    );\n  }\n  intersectsBox(box) {\n    return box.max.x >= this.min.x && box.min.x <= this.max.x && box.max.y >= this.min.y && box.min.y <= this.max.y && box.max.z >= this.min.z && box.min.z <= this.max.z;\n  }\n  intersectsSphere(sphere) {\n    this.clampPoint(sphere.center, _vector$b);\n    return _vector$b.distanceToSquared(sphere.center) <= sphere.radius * sphere.radius;\n  }\n  intersectsPlane(plane) {\n    let min, max;\n    if (plane.normal.x > 0) {\n      min = plane.normal.x * this.min.x;\n      max = plane.normal.x * this.max.x;\n    } else {\n      min = plane.normal.x * this.max.x;\n      max = plane.normal.x * this.min.x;\n    }\n    if (plane.normal.y > 0) {\n      min += plane.normal.y * this.min.y;\n      max += plane.normal.y * this.max.y;\n    } else {\n      min += plane.normal.y * this.max.y;\n      max += plane.normal.y * this.min.y;\n    }\n    if (plane.normal.z > 0) {\n      min += plane.normal.z * this.min.z;\n      max += plane.normal.z * this.max.z;\n    } else {\n      min += plane.normal.z * this.max.z;\n      max += plane.normal.z * this.min.z;\n    }\n    return min <= -plane.constant && max >= -plane.constant;\n  }\n  intersectsTriangle(triangle) {\n    if (this.isEmpty()) {\n      return false;\n    }\n    this.getCenter(_center);\n    _extents.subVectors(this.max, _center);\n    _v0$3.subVectors(triangle.a, _center);\n    _v1$7.subVectors(triangle.b, _center);\n    _v2$4.subVectors(triangle.c, _center);\n    _f0.subVectors(_v1$7, _v0$3);\n    _f1.subVectors(_v2$4, _v1$7);\n    _f2.subVectors(_v0$3, _v2$4);\n    let axes = [\n      0,\n      -_f0.z,\n      _f0.y,\n      0,\n      -_f1.z,\n      _f1.y,\n      0,\n      -_f2.z,\n      _f2.y,\n      _f0.z,\n      0,\n      -_f0.x,\n      _f1.z,\n      0,\n      -_f1.x,\n      _f2.z,\n      0,\n      -_f2.x,\n      -_f0.y,\n      _f0.x,\n      0,\n      -_f1.y,\n      _f1.x,\n      0,\n      -_f2.y,\n      _f2.x,\n      0\n    ];\n    if (!satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents)) {\n      return false;\n    }\n    axes = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n    if (!satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents)) {\n      return false;\n    }\n    _triangleNormal.crossVectors(_f0, _f1);\n    axes = [_triangleNormal.x, _triangleNormal.y, _triangleNormal.z];\n    return satForAxes(axes, _v0$3, _v1$7, _v2$4, _extents);\n  }\n  clampPoint(point, target) {\n    return target.copy(point).clamp(this.min, this.max);\n  }\n  distanceToPoint(point) {\n    return this.clampPoint(point, _vector$b).distanceTo(point);\n  }\n  getBoundingSphere(target) {\n    if (this.isEmpty()) {\n      target.makeEmpty();\n    } else {\n      this.getCenter(target.center);\n      target.radius = this.getSize(_vector$b).length() * 0.5;\n    }\n    return target;\n  }\n  intersect(box) {\n    this.min.max(box.min);\n    this.max.min(box.max);\n    if (this.isEmpty()) this.makeEmpty();\n    return this;\n  }\n  union(box) {\n    this.min.min(box.min);\n    this.max.max(box.max);\n    return this;\n  }\n  applyMatrix4(matrix) {\n    if (this.isEmpty()) return this;\n    _points[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(matrix);\n    _points[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(matrix);\n    _points[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(matrix);\n    _points[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(matrix);\n    _points[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(matrix);\n    _points[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(matrix);\n    _points[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(matrix);\n    _points[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(matrix);\n    this.setFromPoints(_points);\n    return this;\n  }\n  translate(offset) {\n    this.min.add(offset);\n    this.max.add(offset);\n    return this;\n  }\n  equals(box) {\n    return box.min.equals(this.min) && box.max.equals(this.max);\n  }\n};\nvar _points = [\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3(),\n  /* @__PURE__ */ new Vector3()\n];\nvar _vector$b = /* @__PURE__ */ new Vector3();\nvar _box$4 = /* @__PURE__ */ new Box3();\nvar _v0$3 = /* @__PURE__ */ new Vector3();\nvar _v1$7 = /* @__PURE__ */ new Vector3();\nvar _v2$4 = /* @__PURE__ */ new Vector3();\nvar _f0 = /* @__PURE__ */ new Vector3();\nvar _f1 = /* @__PURE__ */ new Vector3();\nvar _f2 = /* @__PURE__ */ new Vector3();\nvar _center = /* @__PURE__ */ new Vector3();\nvar _extents = /* @__PURE__ */ new Vector3();\nvar _triangleNormal = /* @__PURE__ */ new Vector3();\nvar _testAxis = /* @__PURE__ */ new Vector3();\nfunction satForAxes(axes, v0, v1, v2, extents) {\n  for (let i = 0, j = axes.length - 3; i <= j; i += 3) {\n    _testAxis.fromArray(axes, i);\n    const r = extents.x * Math.abs(_testAxis.x) + extents.y * Math.abs(_testAxis.y) + extents.z * Math.abs(_testAxis.z);\n    const p0 = v0.dot(_testAxis);\n    const p1 = v1.dot(_testAxis);\n    const p2 = v2.dot(_testAxis);\n    if (Math.max(-Math.max(p0, p1, p2), Math.min(p0, p1, p2)) > r) {\n      return false;\n    }\n  }\n  return true;\n}\nvar _box$3 = /* @__PURE__ */ new Box3();\nvar _v1$6 = /* @__PURE__ */ new Vector3();\nvar _v2$3 = /* @__PURE__ */ new Vector3();\nvar Sphere = class {\n  constructor(center = new Vector3(), radius = -1) {\n    this.isSphere = true;\n    this.center = center;\n    this.radius = radius;\n  }\n  set(center, radius) {\n    this.center.copy(center);\n    this.radius = radius;\n    return this;\n  }\n  setFromPoints(points, optionalCenter) {\n    const center = this.center;\n    if (optionalCenter !== void 0) {\n      center.copy(optionalCenter);\n    } else {\n      _box$3.setFromPoints(points).getCenter(center);\n    }\n    let maxRadiusSq = 0;\n    for (let i = 0, il = points.length; i < il; i++) {\n      maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(points[i]));\n    }\n    this.radius = Math.sqrt(maxRadiusSq);\n    return this;\n  }\n  copy(sphere) {\n    this.center.copy(sphere.center);\n    this.radius = sphere.radius;\n    return this;\n  }\n  isEmpty() {\n    return this.radius < 0;\n  }\n  makeEmpty() {\n    this.center.set(0, 0, 0);\n    this.radius = -1;\n    return this;\n  }\n  containsPoint(point) {\n    return point.distanceToSquared(this.center) <= this.radius * this.radius;\n  }\n  distanceToPoint(point) {\n    return point.distanceTo(this.center) - this.radius;\n  }\n  intersectsSphere(sphere) {\n    const radiusSum = this.radius + sphere.radius;\n    return sphere.center.distanceToSquared(this.center) <= radiusSum * radiusSum;\n  }\n  intersectsBox(box) {\n    return box.intersectsSphere(this);\n  }\n  intersectsPlane(plane) {\n    return Math.abs(plane.distanceToPoint(this.center)) <= this.radius;\n  }\n  clampPoint(point, target) {\n    const deltaLengthSq = this.center.distanceToSquared(point);\n    target.copy(point);\n    if (deltaLengthSq > this.radius * this.radius) {\n      target.sub(this.center).normalize();\n      target.multiplyScalar(this.radius).add(this.center);\n    }\n    return target;\n  }\n  getBoundingBox(target) {\n    if (this.isEmpty()) {\n      target.makeEmpty();\n      return target;\n    }\n    target.set(this.center, this.center);\n    target.expandByScalar(this.radius);\n    return target;\n  }\n  applyMatrix4(matrix) {\n    this.center.applyMatrix4(matrix);\n    this.radius = this.radius * matrix.getMaxScaleOnAxis();\n    return this;\n  }\n  translate(offset) {\n    this.center.add(offset);\n    return this;\n  }\n  expandByPoint(point) {\n    if (this.isEmpty()) {\n      this.center.copy(point);\n      this.radius = 0;\n      return this;\n    }\n    _v1$6.subVectors(point, this.center);\n    const lengthSq = _v1$6.lengthSq();\n    if (lengthSq > this.radius * this.radius) {\n      const length = Math.sqrt(lengthSq);\n      const delta = (length - this.radius) * 0.5;\n      this.center.addScaledVector(_v1$6, delta / length);\n      this.radius += delta;\n    }\n    return this;\n  }\n  union(sphere) {\n    if (sphere.isEmpty()) {\n      return this;\n    }\n    if (this.isEmpty()) {\n      this.copy(sphere);\n      return this;\n    }\n    if (this.center.equals(sphere.center) === true) {\n      this.radius = Math.max(this.radius, sphere.radius);\n    } else {\n      _v2$3.subVectors(sphere.center, this.center).setLength(sphere.radius);\n      this.expandByPoint(_v1$6.copy(sphere.center).add(_v2$3));\n      this.expandByPoint(_v1$6.copy(sphere.center).sub(_v2$3));\n    }\n    return this;\n  }\n  equals(sphere) {\n    return sphere.center.equals(this.center) && sphere.radius === this.radius;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar _vector$a = /* @__PURE__ */ new Vector3();\nvar _segCenter = /* @__PURE__ */ new Vector3();\nvar _segDir = /* @__PURE__ */ new Vector3();\nvar _diff = /* @__PURE__ */ new Vector3();\nvar _edge1 = /* @__PURE__ */ new Vector3();\nvar _edge2 = /* @__PURE__ */ new Vector3();\nvar _normal$1 = /* @__PURE__ */ new Vector3();\nvar Ray = class {\n  constructor(origin = new Vector3(), direction = new Vector3(0, 0, -1)) {\n    this.origin = origin;\n    this.direction = direction;\n  }\n  set(origin, direction) {\n    this.origin.copy(origin);\n    this.direction.copy(direction);\n    return this;\n  }\n  copy(ray) {\n    this.origin.copy(ray.origin);\n    this.direction.copy(ray.direction);\n    return this;\n  }\n  at(t, target) {\n    return target.copy(this.origin).addScaledVector(this.direction, t);\n  }\n  lookAt(v) {\n    this.direction.copy(v).sub(this.origin).normalize();\n    return this;\n  }\n  recast(t) {\n    this.origin.copy(this.at(t, _vector$a));\n    return this;\n  }\n  closestPointToPoint(point, target) {\n    target.subVectors(point, this.origin);\n    const directionDistance = target.dot(this.direction);\n    if (directionDistance < 0) {\n      return target.copy(this.origin);\n    }\n    return target.copy(this.origin).addScaledVector(this.direction, directionDistance);\n  }\n  distanceToPoint(point) {\n    return Math.sqrt(this.distanceSqToPoint(point));\n  }\n  distanceSqToPoint(point) {\n    const directionDistance = _vector$a.subVectors(point, this.origin).dot(this.direction);\n    if (directionDistance < 0) {\n      return this.origin.distanceToSquared(point);\n    }\n    _vector$a.copy(this.origin).addScaledVector(this.direction, directionDistance);\n    return _vector$a.distanceToSquared(point);\n  }\n  distanceSqToSegment(v0, v1, optionalPointOnRay, optionalPointOnSegment) {\n    _segCenter.copy(v0).add(v1).multiplyScalar(0.5);\n    _segDir.copy(v1).sub(v0).normalize();\n    _diff.copy(this.origin).sub(_segCenter);\n    const segExtent = v0.distanceTo(v1) * 0.5;\n    const a01 = -this.direction.dot(_segDir);\n    const b0 = _diff.dot(this.direction);\n    const b1 = -_diff.dot(_segDir);\n    const c = _diff.lengthSq();\n    const det = Math.abs(1 - a01 * a01);\n    let s0, s1, sqrDist, extDet;\n    if (det > 0) {\n      s0 = a01 * b1 - b0;\n      s1 = a01 * b0 - b1;\n      extDet = segExtent * det;\n      if (s0 >= 0) {\n        if (s1 >= -extDet) {\n          if (s1 <= extDet) {\n            const invDet = 1 / det;\n            s0 *= invDet;\n            s1 *= invDet;\n            sqrDist = s0 * (s0 + a01 * s1 + 2 * b0) + s1 * (a01 * s0 + s1 + 2 * b1) + c;\n          } else {\n            s1 = segExtent;\n            s0 = Math.max(0, -(a01 * s1 + b0));\n            sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n          }\n        } else {\n          s1 = -segExtent;\n          s0 = Math.max(0, -(a01 * s1 + b0));\n          sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n        }\n      } else {\n        if (s1 <= -extDet) {\n          s0 = Math.max(0, -(-a01 * segExtent + b0));\n          s1 = s0 > 0 ? -segExtent : Math.min(Math.max(-segExtent, -b1), segExtent);\n          sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n        } else if (s1 <= extDet) {\n          s0 = 0;\n          s1 = Math.min(Math.max(-segExtent, -b1), segExtent);\n          sqrDist = s1 * (s1 + 2 * b1) + c;\n        } else {\n          s0 = Math.max(0, -(a01 * segExtent + b0));\n          s1 = s0 > 0 ? segExtent : Math.min(Math.max(-segExtent, -b1), segExtent);\n          sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n        }\n      }\n    } else {\n      s1 = a01 > 0 ? -segExtent : segExtent;\n      s0 = Math.max(0, -(a01 * s1 + b0));\n      sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c;\n    }\n    if (optionalPointOnRay) {\n      optionalPointOnRay.copy(this.origin).addScaledVector(this.direction, s0);\n    }\n    if (optionalPointOnSegment) {\n      optionalPointOnSegment.copy(_segCenter).addScaledVector(_segDir, s1);\n    }\n    return sqrDist;\n  }\n  intersectSphere(sphere, target) {\n    _vector$a.subVectors(sphere.center, this.origin);\n    const tca = _vector$a.dot(this.direction);\n    const d2 = _vector$a.dot(_vector$a) - tca * tca;\n    const radius2 = sphere.radius * sphere.radius;\n    if (d2 > radius2) return null;\n    const thc = Math.sqrt(radius2 - d2);\n    const t0 = tca - thc;\n    const t1 = tca + thc;\n    if (t1 < 0) return null;\n    if (t0 < 0) return this.at(t1, target);\n    return this.at(t0, target);\n  }\n  intersectsSphere(sphere) {\n    return this.distanceSqToPoint(sphere.center) <= sphere.radius * sphere.radius;\n  }\n  distanceToPlane(plane) {\n    const denominator = plane.normal.dot(this.direction);\n    if (denominator === 0) {\n      if (plane.distanceToPoint(this.origin) === 0) {\n        return 0;\n      }\n      return null;\n    }\n    const t = -(this.origin.dot(plane.normal) + plane.constant) / denominator;\n    return t >= 0 ? t : null;\n  }\n  intersectPlane(plane, target) {\n    const t = this.distanceToPlane(plane);\n    if (t === null) {\n      return null;\n    }\n    return this.at(t, target);\n  }\n  intersectsPlane(plane) {\n    const distToPoint = plane.distanceToPoint(this.origin);\n    if (distToPoint === 0) {\n      return true;\n    }\n    const denominator = plane.normal.dot(this.direction);\n    if (denominator * distToPoint < 0) {\n      return true;\n    }\n    return false;\n  }\n  intersectBox(box, target) {\n    let tmin, tmax, tymin, tymax, tzmin, tzmax;\n    const invdirx = 1 / this.direction.x, invdiry = 1 / this.direction.y, invdirz = 1 / this.direction.z;\n    const origin = this.origin;\n    if (invdirx >= 0) {\n      tmin = (box.min.x - origin.x) * invdirx;\n      tmax = (box.max.x - origin.x) * invdirx;\n    } else {\n      tmin = (box.max.x - origin.x) * invdirx;\n      tmax = (box.min.x - origin.x) * invdirx;\n    }\n    if (invdiry >= 0) {\n      tymin = (box.min.y - origin.y) * invdiry;\n      tymax = (box.max.y - origin.y) * invdiry;\n    } else {\n      tymin = (box.max.y - origin.y) * invdiry;\n      tymax = (box.min.y - origin.y) * invdiry;\n    }\n    if (tmin > tymax || tymin > tmax) return null;\n    if (tymin > tmin || isNaN(tmin)) tmin = tymin;\n    if (tymax < tmax || isNaN(tmax)) tmax = tymax;\n    if (invdirz >= 0) {\n      tzmin = (box.min.z - origin.z) * invdirz;\n      tzmax = (box.max.z - origin.z) * invdirz;\n    } else {\n      tzmin = (box.max.z - origin.z) * invdirz;\n      tzmax = (box.min.z - origin.z) * invdirz;\n    }\n    if (tmin > tzmax || tzmin > tmax) return null;\n    if (tzmin > tmin || tmin !== tmin) tmin = tzmin;\n    if (tzmax < tmax || tmax !== tmax) tmax = tzmax;\n    if (tmax < 0) return null;\n    return this.at(tmin >= 0 ? tmin : tmax, target);\n  }\n  intersectsBox(box) {\n    return this.intersectBox(box, _vector$a) !== null;\n  }\n  intersectTriangle(a, b, c, backfaceCulling, target) {\n    _edge1.subVectors(b, a);\n    _edge2.subVectors(c, a);\n    _normal$1.crossVectors(_edge1, _edge2);\n    let DdN = this.direction.dot(_normal$1);\n    let sign2;\n    if (DdN > 0) {\n      if (backfaceCulling) return null;\n      sign2 = 1;\n    } else if (DdN < 0) {\n      sign2 = -1;\n      DdN = -DdN;\n    } else {\n      return null;\n    }\n    _diff.subVectors(this.origin, a);\n    const DdQxE2 = sign2 * this.direction.dot(_edge2.crossVectors(_diff, _edge2));\n    if (DdQxE2 < 0) {\n      return null;\n    }\n    const DdE1xQ = sign2 * this.direction.dot(_edge1.cross(_diff));\n    if (DdE1xQ < 0) {\n      return null;\n    }\n    if (DdQxE2 + DdE1xQ > DdN) {\n      return null;\n    }\n    const QdN = -sign2 * _diff.dot(_normal$1);\n    if (QdN < 0) {\n      return null;\n    }\n    return this.at(QdN / DdN, target);\n  }\n  applyMatrix4(matrix4) {\n    this.origin.applyMatrix4(matrix4);\n    this.direction.transformDirection(matrix4);\n    return this;\n  }\n  equals(ray) {\n    return ray.origin.equals(this.origin) && ray.direction.equals(this.direction);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar Matrix4 = class _Matrix4 {\n  constructor(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {\n    _Matrix4.prototype.isMatrix4 = true;\n    this.elements = [\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1\n    ];\n    if (n11 !== void 0) {\n      this.set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44);\n    }\n  }\n  set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {\n    const te = this.elements;\n    te[0] = n11;\n    te[4] = n12;\n    te[8] = n13;\n    te[12] = n14;\n    te[1] = n21;\n    te[5] = n22;\n    te[9] = n23;\n    te[13] = n24;\n    te[2] = n31;\n    te[6] = n32;\n    te[10] = n33;\n    te[14] = n34;\n    te[3] = n41;\n    te[7] = n42;\n    te[11] = n43;\n    te[15] = n44;\n    return this;\n  }\n  identity() {\n    this.set(\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  clone() {\n    return new _Matrix4().fromArray(this.elements);\n  }\n  copy(m) {\n    const te = this.elements;\n    const me = m.elements;\n    te[0] = me[0];\n    te[1] = me[1];\n    te[2] = me[2];\n    te[3] = me[3];\n    te[4] = me[4];\n    te[5] = me[5];\n    te[6] = me[6];\n    te[7] = me[7];\n    te[8] = me[8];\n    te[9] = me[9];\n    te[10] = me[10];\n    te[11] = me[11];\n    te[12] = me[12];\n    te[13] = me[13];\n    te[14] = me[14];\n    te[15] = me[15];\n    return this;\n  }\n  copyPosition(m) {\n    const te = this.elements, me = m.elements;\n    te[12] = me[12];\n    te[13] = me[13];\n    te[14] = me[14];\n    return this;\n  }\n  setFromMatrix3(m) {\n    const me = m.elements;\n    this.set(\n      me[0],\n      me[3],\n      me[6],\n      0,\n      me[1],\n      me[4],\n      me[7],\n      0,\n      me[2],\n      me[5],\n      me[8],\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  extractBasis(xAxis, yAxis, zAxis) {\n    xAxis.setFromMatrixColumn(this, 0);\n    yAxis.setFromMatrixColumn(this, 1);\n    zAxis.setFromMatrixColumn(this, 2);\n    return this;\n  }\n  makeBasis(xAxis, yAxis, zAxis) {\n    this.set(\n      xAxis.x,\n      yAxis.x,\n      zAxis.x,\n      0,\n      xAxis.y,\n      yAxis.y,\n      zAxis.y,\n      0,\n      xAxis.z,\n      yAxis.z,\n      zAxis.z,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  extractRotation(m) {\n    const te = this.elements;\n    const me = m.elements;\n    const scaleX = 1 / _v1$5.setFromMatrixColumn(m, 0).length();\n    const scaleY = 1 / _v1$5.setFromMatrixColumn(m, 1).length();\n    const scaleZ = 1 / _v1$5.setFromMatrixColumn(m, 2).length();\n    te[0] = me[0] * scaleX;\n    te[1] = me[1] * scaleX;\n    te[2] = me[2] * scaleX;\n    te[3] = 0;\n    te[4] = me[4] * scaleY;\n    te[5] = me[5] * scaleY;\n    te[6] = me[6] * scaleY;\n    te[7] = 0;\n    te[8] = me[8] * scaleZ;\n    te[9] = me[9] * scaleZ;\n    te[10] = me[10] * scaleZ;\n    te[11] = 0;\n    te[12] = 0;\n    te[13] = 0;\n    te[14] = 0;\n    te[15] = 1;\n    return this;\n  }\n  makeRotationFromEuler(euler) {\n    const te = this.elements;\n    const x = euler.x, y = euler.y, z = euler.z;\n    const a = Math.cos(x), b = Math.sin(x);\n    const c = Math.cos(y), d = Math.sin(y);\n    const e = Math.cos(z), f = Math.sin(z);\n    if (euler.order === \"XYZ\") {\n      const ae = a * e, af = a * f, be = b * e, bf = b * f;\n      te[0] = c * e;\n      te[4] = -c * f;\n      te[8] = d;\n      te[1] = af + be * d;\n      te[5] = ae - bf * d;\n      te[9] = -b * c;\n      te[2] = bf - ae * d;\n      te[6] = be + af * d;\n      te[10] = a * c;\n    } else if (euler.order === \"YXZ\") {\n      const ce = c * e, cf = c * f, de = d * e, df = d * f;\n      te[0] = ce + df * b;\n      te[4] = de * b - cf;\n      te[8] = a * d;\n      te[1] = a * f;\n      te[5] = a * e;\n      te[9] = -b;\n      te[2] = cf * b - de;\n      te[6] = df + ce * b;\n      te[10] = a * c;\n    } else if (euler.order === \"ZXY\") {\n      const ce = c * e, cf = c * f, de = d * e, df = d * f;\n      te[0] = ce - df * b;\n      te[4] = -a * f;\n      te[8] = de + cf * b;\n      te[1] = cf + de * b;\n      te[5] = a * e;\n      te[9] = df - ce * b;\n      te[2] = -a * d;\n      te[6] = b;\n      te[10] = a * c;\n    } else if (euler.order === \"ZYX\") {\n      const ae = a * e, af = a * f, be = b * e, bf = b * f;\n      te[0] = c * e;\n      te[4] = be * d - af;\n      te[8] = ae * d + bf;\n      te[1] = c * f;\n      te[5] = bf * d + ae;\n      te[9] = af * d - be;\n      te[2] = -d;\n      te[6] = b * c;\n      te[10] = a * c;\n    } else if (euler.order === \"YZX\") {\n      const ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n      te[0] = c * e;\n      te[4] = bd - ac * f;\n      te[8] = bc * f + ad;\n      te[1] = f;\n      te[5] = a * e;\n      te[9] = -b * e;\n      te[2] = -d * e;\n      te[6] = ad * f + bc;\n      te[10] = ac - bd * f;\n    } else if (euler.order === \"XZY\") {\n      const ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n      te[0] = c * e;\n      te[4] = -f;\n      te[8] = d * e;\n      te[1] = ac * f + bd;\n      te[5] = a * e;\n      te[9] = ad * f - bc;\n      te[2] = bc * f - ad;\n      te[6] = b * e;\n      te[10] = bd * f + ac;\n    }\n    te[3] = 0;\n    te[7] = 0;\n    te[11] = 0;\n    te[12] = 0;\n    te[13] = 0;\n    te[14] = 0;\n    te[15] = 1;\n    return this;\n  }\n  makeRotationFromQuaternion(q) {\n    return this.compose(_zero, q, _one);\n  }\n  lookAt(eye, target, up) {\n    const te = this.elements;\n    _z.subVectors(eye, target);\n    if (_z.lengthSq() === 0) {\n      _z.z = 1;\n    }\n    _z.normalize();\n    _x.crossVectors(up, _z);\n    if (_x.lengthSq() === 0) {\n      if (Math.abs(up.z) === 1) {\n        _z.x += 1e-4;\n      } else {\n        _z.z += 1e-4;\n      }\n      _z.normalize();\n      _x.crossVectors(up, _z);\n    }\n    _x.normalize();\n    _y.crossVectors(_z, _x);\n    te[0] = _x.x;\n    te[4] = _y.x;\n    te[8] = _z.x;\n    te[1] = _x.y;\n    te[5] = _y.y;\n    te[9] = _z.y;\n    te[2] = _x.z;\n    te[6] = _y.z;\n    te[10] = _z.z;\n    return this;\n  }\n  multiply(m) {\n    return this.multiplyMatrices(this, m);\n  }\n  premultiply(m) {\n    return this.multiplyMatrices(m, this);\n  }\n  multiplyMatrices(a, b) {\n    const ae = a.elements;\n    const be = b.elements;\n    const te = this.elements;\n    const a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12];\n    const a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13];\n    const a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14];\n    const a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15];\n    const b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12];\n    const b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13];\n    const b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14];\n    const b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15];\n    te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;\n    te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;\n    te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;\n    te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;\n    te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;\n    te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;\n    te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;\n    te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;\n    te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;\n    te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;\n    te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;\n    te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;\n    te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;\n    te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;\n    te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;\n    te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;\n    return this;\n  }\n  multiplyScalar(s) {\n    const te = this.elements;\n    te[0] *= s;\n    te[4] *= s;\n    te[8] *= s;\n    te[12] *= s;\n    te[1] *= s;\n    te[5] *= s;\n    te[9] *= s;\n    te[13] *= s;\n    te[2] *= s;\n    te[6] *= s;\n    te[10] *= s;\n    te[14] *= s;\n    te[3] *= s;\n    te[7] *= s;\n    te[11] *= s;\n    te[15] *= s;\n    return this;\n  }\n  determinant() {\n    const te = this.elements;\n    const n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12];\n    const n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13];\n    const n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14];\n    const n41 = te[3], n42 = te[7], n43 = te[11], n44 = te[15];\n    return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + n42 * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + n43 * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + n44 * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31);\n  }\n  transpose() {\n    const te = this.elements;\n    let tmp2;\n    tmp2 = te[1];\n    te[1] = te[4];\n    te[4] = tmp2;\n    tmp2 = te[2];\n    te[2] = te[8];\n    te[8] = tmp2;\n    tmp2 = te[6];\n    te[6] = te[9];\n    te[9] = tmp2;\n    tmp2 = te[3];\n    te[3] = te[12];\n    te[12] = tmp2;\n    tmp2 = te[7];\n    te[7] = te[13];\n    te[13] = tmp2;\n    tmp2 = te[11];\n    te[11] = te[14];\n    te[14] = tmp2;\n    return this;\n  }\n  setPosition(x, y, z) {\n    const te = this.elements;\n    if (x.isVector3) {\n      te[12] = x.x;\n      te[13] = x.y;\n      te[14] = x.z;\n    } else {\n      te[12] = x;\n      te[13] = y;\n      te[14] = z;\n    }\n    return this;\n  }\n  invert() {\n    const te = this.elements, n11 = te[0], n21 = te[1], n31 = te[2], n41 = te[3], n12 = te[4], n22 = te[5], n32 = te[6], n42 = te[7], n13 = te[8], n23 = te[9], n33 = te[10], n43 = te[11], n14 = te[12], n24 = te[13], n34 = te[14], n44 = te[15], t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;\n    const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;\n    if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n    const detInv = 1 / det;\n    te[0] = t11 * detInv;\n    te[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv;\n    te[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv;\n    te[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv;\n    te[4] = t12 * detInv;\n    te[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv;\n    te[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv;\n    te[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv;\n    te[8] = t13 * detInv;\n    te[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv;\n    te[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv;\n    te[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv;\n    te[12] = t14 * detInv;\n    te[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv;\n    te[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv;\n    te[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv;\n    return this;\n  }\n  scale(v) {\n    const te = this.elements;\n    const x = v.x, y = v.y, z = v.z;\n    te[0] *= x;\n    te[4] *= y;\n    te[8] *= z;\n    te[1] *= x;\n    te[5] *= y;\n    te[9] *= z;\n    te[2] *= x;\n    te[6] *= y;\n    te[10] *= z;\n    te[3] *= x;\n    te[7] *= y;\n    te[11] *= z;\n    return this;\n  }\n  getMaxScaleOnAxis() {\n    const te = this.elements;\n    const scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2];\n    const scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6];\n    const scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10];\n    return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq));\n  }\n  makeTranslation(x, y, z) {\n    if (x.isVector3) {\n      this.set(\n        1,\n        0,\n        0,\n        x.x,\n        0,\n        1,\n        0,\n        x.y,\n        0,\n        0,\n        1,\n        x.z,\n        0,\n        0,\n        0,\n        1\n      );\n    } else {\n      this.set(\n        1,\n        0,\n        0,\n        x,\n        0,\n        1,\n        0,\n        y,\n        0,\n        0,\n        1,\n        z,\n        0,\n        0,\n        0,\n        1\n      );\n    }\n    return this;\n  }\n  makeRotationX(theta) {\n    const c = Math.cos(theta), s = Math.sin(theta);\n    this.set(\n      1,\n      0,\n      0,\n      0,\n      0,\n      c,\n      -s,\n      0,\n      0,\n      s,\n      c,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeRotationY(theta) {\n    const c = Math.cos(theta), s = Math.sin(theta);\n    this.set(\n      c,\n      0,\n      s,\n      0,\n      0,\n      1,\n      0,\n      0,\n      -s,\n      0,\n      c,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeRotationZ(theta) {\n    const c = Math.cos(theta), s = Math.sin(theta);\n    this.set(\n      c,\n      -s,\n      0,\n      0,\n      s,\n      c,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeRotationAxis(axis, angle) {\n    const c = Math.cos(angle);\n    const s = Math.sin(angle);\n    const t = 1 - c;\n    const x = axis.x, y = axis.y, z = axis.z;\n    const tx = t * x, ty = t * y;\n    this.set(\n      tx * x + c,\n      tx * y - s * z,\n      tx * z + s * y,\n      0,\n      tx * y + s * z,\n      ty * y + c,\n      ty * z - s * x,\n      0,\n      tx * z - s * y,\n      ty * z + s * x,\n      t * z * z + c,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeScale(x, y, z) {\n    this.set(\n      x,\n      0,\n      0,\n      0,\n      0,\n      y,\n      0,\n      0,\n      0,\n      0,\n      z,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  makeShear(xy, xz, yx, yz, zx, zy) {\n    this.set(\n      1,\n      yx,\n      zx,\n      0,\n      xy,\n      1,\n      zy,\n      0,\n      xz,\n      yz,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  compose(position, quaternion, scale) {\n    const te = this.elements;\n    const x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w;\n    const x2 = x + x, y2 = y + y, z2 = z + z;\n    const xx = x * x2, xy = x * y2, xz = x * z2;\n    const yy = y * y2, yz = y * z2, zz = z * z2;\n    const wx = w * x2, wy = w * y2, wz = w * z2;\n    const sx = scale.x, sy = scale.y, sz = scale.z;\n    te[0] = (1 - (yy + zz)) * sx;\n    te[1] = (xy + wz) * sx;\n    te[2] = (xz - wy) * sx;\n    te[3] = 0;\n    te[4] = (xy - wz) * sy;\n    te[5] = (1 - (xx + zz)) * sy;\n    te[6] = (yz + wx) * sy;\n    te[7] = 0;\n    te[8] = (xz + wy) * sz;\n    te[9] = (yz - wx) * sz;\n    te[10] = (1 - (xx + yy)) * sz;\n    te[11] = 0;\n    te[12] = position.x;\n    te[13] = position.y;\n    te[14] = position.z;\n    te[15] = 1;\n    return this;\n  }\n  decompose(position, quaternion, scale) {\n    const te = this.elements;\n    let sx = _v1$5.set(te[0], te[1], te[2]).length();\n    const sy = _v1$5.set(te[4], te[5], te[6]).length();\n    const sz = _v1$5.set(te[8], te[9], te[10]).length();\n    const det = this.determinant();\n    if (det < 0) sx = -sx;\n    position.x = te[12];\n    position.y = te[13];\n    position.z = te[14];\n    _m1$4.copy(this);\n    const invSX = 1 / sx;\n    const invSY = 1 / sy;\n    const invSZ = 1 / sz;\n    _m1$4.elements[0] *= invSX;\n    _m1$4.elements[1] *= invSX;\n    _m1$4.elements[2] *= invSX;\n    _m1$4.elements[4] *= invSY;\n    _m1$4.elements[5] *= invSY;\n    _m1$4.elements[6] *= invSY;\n    _m1$4.elements[8] *= invSZ;\n    _m1$4.elements[9] *= invSZ;\n    _m1$4.elements[10] *= invSZ;\n    quaternion.setFromRotationMatrix(_m1$4);\n    scale.x = sx;\n    scale.y = sy;\n    scale.z = sz;\n    return this;\n  }\n  makePerspective(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) {\n    const te = this.elements;\n    const x = 2 * near / (right - left);\n    const y = 2 * near / (top - bottom);\n    const a = (right + left) / (right - left);\n    const b = (top + bottom) / (top - bottom);\n    let c, d;\n    if (coordinateSystem === WebGLCoordinateSystem) {\n      c = -(far + near) / (far - near);\n      d = -2 * far * near / (far - near);\n    } else if (coordinateSystem === WebGPUCoordinateSystem) {\n      c = -far / (far - near);\n      d = -far * near / (far - near);\n    } else {\n      throw new Error(\"THREE.Matrix4.makePerspective(): Invalid coordinate system: \" + coordinateSystem);\n    }\n    te[0] = x;\n    te[4] = 0;\n    te[8] = a;\n    te[12] = 0;\n    te[1] = 0;\n    te[5] = y;\n    te[9] = b;\n    te[13] = 0;\n    te[2] = 0;\n    te[6] = 0;\n    te[10] = c;\n    te[14] = d;\n    te[3] = 0;\n    te[7] = 0;\n    te[11] = -1;\n    te[15] = 0;\n    return this;\n  }\n  makeOrthographic(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) {\n    const te = this.elements;\n    const w = 1 / (right - left);\n    const h = 1 / (top - bottom);\n    const p = 1 / (far - near);\n    const x = (right + left) * w;\n    const y = (top + bottom) * h;\n    let z, zInv;\n    if (coordinateSystem === WebGLCoordinateSystem) {\n      z = (far + near) * p;\n      zInv = -2 * p;\n    } else if (coordinateSystem === WebGPUCoordinateSystem) {\n      z = near * p;\n      zInv = -1 * p;\n    } else {\n      throw new Error(\"THREE.Matrix4.makeOrthographic(): Invalid coordinate system: \" + coordinateSystem);\n    }\n    te[0] = 2 * w;\n    te[4] = 0;\n    te[8] = 0;\n    te[12] = -x;\n    te[1] = 0;\n    te[5] = 2 * h;\n    te[9] = 0;\n    te[13] = -y;\n    te[2] = 0;\n    te[6] = 0;\n    te[10] = zInv;\n    te[14] = -z;\n    te[3] = 0;\n    te[7] = 0;\n    te[11] = 0;\n    te[15] = 1;\n    return this;\n  }\n  equals(matrix) {\n    const te = this.elements;\n    const me = matrix.elements;\n    for (let i = 0; i < 16; i++) {\n      if (te[i] !== me[i]) return false;\n    }\n    return true;\n  }\n  fromArray(array, offset = 0) {\n    for (let i = 0; i < 16; i++) {\n      this.elements[i] = array[i + offset];\n    }\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    const te = this.elements;\n    array[offset] = te[0];\n    array[offset + 1] = te[1];\n    array[offset + 2] = te[2];\n    array[offset + 3] = te[3];\n    array[offset + 4] = te[4];\n    array[offset + 5] = te[5];\n    array[offset + 6] = te[6];\n    array[offset + 7] = te[7];\n    array[offset + 8] = te[8];\n    array[offset + 9] = te[9];\n    array[offset + 10] = te[10];\n    array[offset + 11] = te[11];\n    array[offset + 12] = te[12];\n    array[offset + 13] = te[13];\n    array[offset + 14] = te[14];\n    array[offset + 15] = te[15];\n    return array;\n  }\n};\nvar _v1$5 = /* @__PURE__ */ new Vector3();\nvar _m1$4 = /* @__PURE__ */ new Matrix4();\nvar _zero = /* @__PURE__ */ new Vector3(0, 0, 0);\nvar _one = /* @__PURE__ */ new Vector3(1, 1, 1);\nvar _x = /* @__PURE__ */ new Vector3();\nvar _y = /* @__PURE__ */ new Vector3();\nvar _z = /* @__PURE__ */ new Vector3();\nvar _matrix$2 = /* @__PURE__ */ new Matrix4();\nvar _quaternion$3 = /* @__PURE__ */ new Quaternion();\nvar Euler = class _Euler {\n  constructor(x = 0, y = 0, z = 0, order = _Euler.DEFAULT_ORDER) {\n    this.isEuler = true;\n    this._x = x;\n    this._y = y;\n    this._z = z;\n    this._order = order;\n  }\n  get x() {\n    return this._x;\n  }\n  set x(value) {\n    this._x = value;\n    this._onChangeCallback();\n  }\n  get y() {\n    return this._y;\n  }\n  set y(value) {\n    this._y = value;\n    this._onChangeCallback();\n  }\n  get z() {\n    return this._z;\n  }\n  set z(value) {\n    this._z = value;\n    this._onChangeCallback();\n  }\n  get order() {\n    return this._order;\n  }\n  set order(value) {\n    this._order = value;\n    this._onChangeCallback();\n  }\n  set(x, y, z, order = this._order) {\n    this._x = x;\n    this._y = y;\n    this._z = z;\n    this._order = order;\n    this._onChangeCallback();\n    return this;\n  }\n  clone() {\n    return new this.constructor(this._x, this._y, this._z, this._order);\n  }\n  copy(euler) {\n    this._x = euler._x;\n    this._y = euler._y;\n    this._z = euler._z;\n    this._order = euler._order;\n    this._onChangeCallback();\n    return this;\n  }\n  setFromRotationMatrix(m, order = this._order, update = true) {\n    const te = m.elements;\n    const m11 = te[0], m12 = te[4], m13 = te[8];\n    const m21 = te[1], m22 = te[5], m23 = te[9];\n    const m31 = te[2], m32 = te[6], m33 = te[10];\n    switch (order) {\n      case \"XYZ\":\n        this._y = Math.asin(clamp(m13, -1, 1));\n        if (Math.abs(m13) < 0.9999999) {\n          this._x = Math.atan2(-m23, m33);\n          this._z = Math.atan2(-m12, m11);\n        } else {\n          this._x = Math.atan2(m32, m22);\n          this._z = 0;\n        }\n        break;\n      case \"YXZ\":\n        this._x = Math.asin(-clamp(m23, -1, 1));\n        if (Math.abs(m23) < 0.9999999) {\n          this._y = Math.atan2(m13, m33);\n          this._z = Math.atan2(m21, m22);\n        } else {\n          this._y = Math.atan2(-m31, m11);\n          this._z = 0;\n        }\n        break;\n      case \"ZXY\":\n        this._x = Math.asin(clamp(m32, -1, 1));\n        if (Math.abs(m32) < 0.9999999) {\n          this._y = Math.atan2(-m31, m33);\n          this._z = Math.atan2(-m12, m22);\n        } else {\n          this._y = 0;\n          this._z = Math.atan2(m21, m11);\n        }\n        break;\n      case \"ZYX\":\n        this._y = Math.asin(-clamp(m31, -1, 1));\n        if (Math.abs(m31) < 0.9999999) {\n          this._x = Math.atan2(m32, m33);\n          this._z = Math.atan2(m21, m11);\n        } else {\n          this._x = 0;\n          this._z = Math.atan2(-m12, m22);\n        }\n        break;\n      case \"YZX\":\n        this._z = Math.asin(clamp(m21, -1, 1));\n        if (Math.abs(m21) < 0.9999999) {\n          this._x = Math.atan2(-m23, m22);\n          this._y = Math.atan2(-m31, m11);\n        } else {\n          this._x = 0;\n          this._y = Math.atan2(m13, m33);\n        }\n        break;\n      case \"XZY\":\n        this._z = Math.asin(-clamp(m12, -1, 1));\n        if (Math.abs(m12) < 0.9999999) {\n          this._x = Math.atan2(m32, m22);\n          this._y = Math.atan2(m13, m11);\n        } else {\n          this._x = Math.atan2(-m23, m33);\n          this._y = 0;\n        }\n        break;\n      default:\n        console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \" + order);\n    }\n    this._order = order;\n    if (update === true) this._onChangeCallback();\n    return this;\n  }\n  setFromQuaternion(q, order, update) {\n    _matrix$2.makeRotationFromQuaternion(q);\n    return this.setFromRotationMatrix(_matrix$2, order, update);\n  }\n  setFromVector3(v, order = this._order) {\n    return this.set(v.x, v.y, v.z, order);\n  }\n  reorder(newOrder) {\n    _quaternion$3.setFromEuler(this);\n    return this.setFromQuaternion(_quaternion$3, newOrder);\n  }\n  equals(euler) {\n    return euler._x === this._x && euler._y === this._y && euler._z === this._z && euler._order === this._order;\n  }\n  fromArray(array) {\n    this._x = array[0];\n    this._y = array[1];\n    this._z = array[2];\n    if (array[3] !== void 0) this._order = array[3];\n    this._onChangeCallback();\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this._x;\n    array[offset + 1] = this._y;\n    array[offset + 2] = this._z;\n    array[offset + 3] = this._order;\n    return array;\n  }\n  _onChange(callback) {\n    this._onChangeCallback = callback;\n    return this;\n  }\n  _onChangeCallback() {\n  }\n  *[Symbol.iterator]() {\n    yield this._x;\n    yield this._y;\n    yield this._z;\n    yield this._order;\n  }\n};\nEuler.DEFAULT_ORDER = \"XYZ\";\nvar Layers = class {\n  constructor() {\n    this.mask = 1 | 0;\n  }\n  set(channel) {\n    this.mask = (1 << channel | 0) >>> 0;\n  }\n  enable(channel) {\n    this.mask |= 1 << channel | 0;\n  }\n  enableAll() {\n    this.mask = 4294967295 | 0;\n  }\n  toggle(channel) {\n    this.mask ^= 1 << channel | 0;\n  }\n  disable(channel) {\n    this.mask &= ~(1 << channel | 0);\n  }\n  disableAll() {\n    this.mask = 0;\n  }\n  test(layers) {\n    return (this.mask & layers.mask) !== 0;\n  }\n  isEnabled(channel) {\n    return (this.mask & (1 << channel | 0)) !== 0;\n  }\n};\nvar _object3DId = 0;\nvar _v1$4 = /* @__PURE__ */ new Vector3();\nvar _q1 = /* @__PURE__ */ new Quaternion();\nvar _m1$3 = /* @__PURE__ */ new Matrix4();\nvar _target = /* @__PURE__ */ new Vector3();\nvar _position$3 = /* @__PURE__ */ new Vector3();\nvar _scale$2 = /* @__PURE__ */ new Vector3();\nvar _quaternion$2 = /* @__PURE__ */ new Quaternion();\nvar _xAxis = /* @__PURE__ */ new Vector3(1, 0, 0);\nvar _yAxis = /* @__PURE__ */ new Vector3(0, 1, 0);\nvar _zAxis = /* @__PURE__ */ new Vector3(0, 0, 1);\nvar _addedEvent = { type: \"added\" };\nvar _removedEvent = { type: \"removed\" };\nvar _childaddedEvent = { type: \"childadded\", child: null };\nvar _childremovedEvent = { type: \"childremoved\", child: null };\nvar Object3D = class _Object3D extends EventDispatcher {\n  constructor() {\n    super();\n    this.isObject3D = true;\n    Object.defineProperty(this, \"id\", { value: _object3DId++ });\n    this.uuid = generateUUID();\n    this.name = \"\";\n    this.type = \"Object3D\";\n    this.parent = null;\n    this.children = [];\n    this.up = _Object3D.DEFAULT_UP.clone();\n    const position = new Vector3();\n    const rotation = new Euler();\n    const quaternion = new Quaternion();\n    const scale = new Vector3(1, 1, 1);\n    function onRotationChange() {\n      quaternion.setFromEuler(rotation, false);\n    }\n    function onQuaternionChange() {\n      rotation.setFromQuaternion(quaternion, void 0, false);\n    }\n    rotation._onChange(onRotationChange);\n    quaternion._onChange(onQuaternionChange);\n    Object.defineProperties(this, {\n      position: {\n        configurable: true,\n        enumerable: true,\n        value: position\n      },\n      rotation: {\n        configurable: true,\n        enumerable: true,\n        value: rotation\n      },\n      quaternion: {\n        configurable: true,\n        enumerable: true,\n        value: quaternion\n      },\n      scale: {\n        configurable: true,\n        enumerable: true,\n        value: scale\n      },\n      modelViewMatrix: {\n        value: new Matrix4()\n      },\n      normalMatrix: {\n        value: new Matrix3()\n      }\n    });\n    this.matrix = new Matrix4();\n    this.matrixWorld = new Matrix4();\n    this.matrixAutoUpdate = _Object3D.DEFAULT_MATRIX_AUTO_UPDATE;\n    this.matrixWorldAutoUpdate = _Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE;\n    this.matrixWorldNeedsUpdate = false;\n    this.layers = new Layers();\n    this.visible = true;\n    this.castShadow = false;\n    this.receiveShadow = false;\n    this.frustumCulled = true;\n    this.renderOrder = 0;\n    this.animations = [];\n    this.userData = {};\n  }\n  onBeforeShadow() {\n  }\n  onAfterShadow() {\n  }\n  onBeforeRender() {\n  }\n  onAfterRender() {\n  }\n  applyMatrix4(matrix) {\n    if (this.matrixAutoUpdate) this.updateMatrix();\n    this.matrix.premultiply(matrix);\n    this.matrix.decompose(this.position, this.quaternion, this.scale);\n  }\n  applyQuaternion(q) {\n    this.quaternion.premultiply(q);\n    return this;\n  }\n  setRotationFromAxisAngle(axis, angle) {\n    this.quaternion.setFromAxisAngle(axis, angle);\n  }\n  setRotationFromEuler(euler) {\n    this.quaternion.setFromEuler(euler, true);\n  }\n  setRotationFromMatrix(m) {\n    this.quaternion.setFromRotationMatrix(m);\n  }\n  setRotationFromQuaternion(q) {\n    this.quaternion.copy(q);\n  }\n  rotateOnAxis(axis, angle) {\n    _q1.setFromAxisAngle(axis, angle);\n    this.quaternion.multiply(_q1);\n    return this;\n  }\n  rotateOnWorldAxis(axis, angle) {\n    _q1.setFromAxisAngle(axis, angle);\n    this.quaternion.premultiply(_q1);\n    return this;\n  }\n  rotateX(angle) {\n    return this.rotateOnAxis(_xAxis, angle);\n  }\n  rotateY(angle) {\n    return this.rotateOnAxis(_yAxis, angle);\n  }\n  rotateZ(angle) {\n    return this.rotateOnAxis(_zAxis, angle);\n  }\n  translateOnAxis(axis, distance) {\n    _v1$4.copy(axis).applyQuaternion(this.quaternion);\n    this.position.add(_v1$4.multiplyScalar(distance));\n    return this;\n  }\n  translateX(distance) {\n    return this.translateOnAxis(_xAxis, distance);\n  }\n  translateY(distance) {\n    return this.translateOnAxis(_yAxis, distance);\n  }\n  translateZ(distance) {\n    return this.translateOnAxis(_zAxis, distance);\n  }\n  localToWorld(vector) {\n    this.updateWorldMatrix(true, false);\n    return vector.applyMatrix4(this.matrixWorld);\n  }\n  worldToLocal(vector) {\n    this.updateWorldMatrix(true, false);\n    return vector.applyMatrix4(_m1$3.copy(this.matrixWorld).invert());\n  }\n  lookAt(x, y, z) {\n    if (x.isVector3) {\n      _target.copy(x);\n    } else {\n      _target.set(x, y, z);\n    }\n    const parent = this.parent;\n    this.updateWorldMatrix(true, false);\n    _position$3.setFromMatrixPosition(this.matrixWorld);\n    if (this.isCamera || this.isLight) {\n      _m1$3.lookAt(_position$3, _target, this.up);\n    } else {\n      _m1$3.lookAt(_target, _position$3, this.up);\n    }\n    this.quaternion.setFromRotationMatrix(_m1$3);\n    if (parent) {\n      _m1$3.extractRotation(parent.matrixWorld);\n      _q1.setFromRotationMatrix(_m1$3);\n      this.quaternion.premultiply(_q1.invert());\n    }\n  }\n  add(object) {\n    if (arguments.length > 1) {\n      for (let i = 0; i < arguments.length; i++) {\n        this.add(arguments[i]);\n      }\n      return this;\n    }\n    if (object === this) {\n      console.error(\"THREE.Object3D.add: object can't be added as a child of itself.\", object);\n      return this;\n    }\n    if (object && object.isObject3D) {\n      object.removeFromParent();\n      object.parent = this;\n      this.children.push(object);\n      object.dispatchEvent(_addedEvent);\n      _childaddedEvent.child = object;\n      this.dispatchEvent(_childaddedEvent);\n      _childaddedEvent.child = null;\n    } else {\n      console.error(\"THREE.Object3D.add: object not an instance of THREE.Object3D.\", object);\n    }\n    return this;\n  }\n  remove(object) {\n    if (arguments.length > 1) {\n      for (let i = 0; i < arguments.length; i++) {\n        this.remove(arguments[i]);\n      }\n      return this;\n    }\n    const index = this.children.indexOf(object);\n    if (index !== -1) {\n      object.parent = null;\n      this.children.splice(index, 1);\n      object.dispatchEvent(_removedEvent);\n      _childremovedEvent.child = object;\n      this.dispatchEvent(_childremovedEvent);\n      _childremovedEvent.child = null;\n    }\n    return this;\n  }\n  removeFromParent() {\n    const parent = this.parent;\n    if (parent !== null) {\n      parent.remove(this);\n    }\n    return this;\n  }\n  clear() {\n    return this.remove(...this.children);\n  }\n  attach(object) {\n    this.updateWorldMatrix(true, false);\n    _m1$3.copy(this.matrixWorld).invert();\n    if (object.parent !== null) {\n      object.parent.updateWorldMatrix(true, false);\n      _m1$3.multiply(object.parent.matrixWorld);\n    }\n    object.applyMatrix4(_m1$3);\n    object.removeFromParent();\n    object.parent = this;\n    this.children.push(object);\n    object.updateWorldMatrix(false, true);\n    object.dispatchEvent(_addedEvent);\n    _childaddedEvent.child = object;\n    this.dispatchEvent(_childaddedEvent);\n    _childaddedEvent.child = null;\n    return this;\n  }\n  getObjectById(id) {\n    return this.getObjectByProperty(\"id\", id);\n  }\n  getObjectByName(name) {\n    return this.getObjectByProperty(\"name\", name);\n  }\n  getObjectByProperty(name, value) {\n    if (this[name] === value) return this;\n    for (let i = 0, l = this.children.length; i < l; i++) {\n      const child = this.children[i];\n      const object = child.getObjectByProperty(name, value);\n      if (object !== void 0) {\n        return object;\n      }\n    }\n    return void 0;\n  }\n  getObjectsByProperty(name, value, result = []) {\n    if (this[name] === value) result.push(this);\n    const children = this.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      children[i].getObjectsByProperty(name, value, result);\n    }\n    return result;\n  }\n  getWorldPosition(target) {\n    this.updateWorldMatrix(true, false);\n    return target.setFromMatrixPosition(this.matrixWorld);\n  }\n  getWorldQuaternion(target) {\n    this.updateWorldMatrix(true, false);\n    this.matrixWorld.decompose(_position$3, target, _scale$2);\n    return target;\n  }\n  getWorldScale(target) {\n    this.updateWorldMatrix(true, false);\n    this.matrixWorld.decompose(_position$3, _quaternion$2, target);\n    return target;\n  }\n  getWorldDirection(target) {\n    this.updateWorldMatrix(true, false);\n    const e = this.matrixWorld.elements;\n    return target.set(e[8], e[9], e[10]).normalize();\n  }\n  raycast() {\n  }\n  traverse(callback) {\n    callback(this);\n    const children = this.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      children[i].traverse(callback);\n    }\n  }\n  traverseVisible(callback) {\n    if (this.visible === false) return;\n    callback(this);\n    const children = this.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      children[i].traverseVisible(callback);\n    }\n  }\n  traverseAncestors(callback) {\n    const parent = this.parent;\n    if (parent !== null) {\n      callback(parent);\n      parent.traverseAncestors(callback);\n    }\n  }\n  updateMatrix() {\n    this.matrix.compose(this.position, this.quaternion, this.scale);\n    this.matrixWorldNeedsUpdate = true;\n  }\n  updateMatrixWorld(force) {\n    if (this.matrixAutoUpdate) this.updateMatrix();\n    if (this.matrixWorldNeedsUpdate || force) {\n      if (this.matrixWorldAutoUpdate === true) {\n        if (this.parent === null) {\n          this.matrixWorld.copy(this.matrix);\n        } else {\n          this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix);\n        }\n      }\n      this.matrixWorldNeedsUpdate = false;\n      force = true;\n    }\n    const children = this.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      const child = children[i];\n      child.updateMatrixWorld(force);\n    }\n  }\n  updateWorldMatrix(updateParents, updateChildren) {\n    const parent = this.parent;\n    if (updateParents === true && parent !== null) {\n      parent.updateWorldMatrix(true, false);\n    }\n    if (this.matrixAutoUpdate) this.updateMatrix();\n    if (this.matrixWorldAutoUpdate === true) {\n      if (this.parent === null) {\n        this.matrixWorld.copy(this.matrix);\n      } else {\n        this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix);\n      }\n    }\n    if (updateChildren === true) {\n      const children = this.children;\n      for (let i = 0, l = children.length; i < l; i++) {\n        const child = children[i];\n        child.updateWorldMatrix(false, true);\n      }\n    }\n  }\n  toJSON(meta) {\n    const isRootObject = meta === void 0 || typeof meta === \"string\";\n    const output = {};\n    if (isRootObject) {\n      meta = {\n        geometries: {},\n        materials: {},\n        textures: {},\n        images: {},\n        shapes: {},\n        skeletons: {},\n        animations: {},\n        nodes: {}\n      };\n      output.metadata = {\n        version: 4.6,\n        type: \"Object\",\n        generator: \"Object3D.toJSON\"\n      };\n    }\n    const object = {};\n    object.uuid = this.uuid;\n    object.type = this.type;\n    if (this.name !== \"\") object.name = this.name;\n    if (this.castShadow === true) object.castShadow = true;\n    if (this.receiveShadow === true) object.receiveShadow = true;\n    if (this.visible === false) object.visible = false;\n    if (this.frustumCulled === false) object.frustumCulled = false;\n    if (this.renderOrder !== 0) object.renderOrder = this.renderOrder;\n    if (Object.keys(this.userData).length > 0) object.userData = this.userData;\n    object.layers = this.layers.mask;\n    object.matrix = this.matrix.toArray();\n    object.up = this.up.toArray();\n    if (this.matrixAutoUpdate === false) object.matrixAutoUpdate = false;\n    if (this.isInstancedMesh) {\n      object.type = \"InstancedMesh\";\n      object.count = this.count;\n      object.instanceMatrix = this.instanceMatrix.toJSON();\n      if (this.instanceColor !== null) object.instanceColor = this.instanceColor.toJSON();\n    }\n    if (this.isBatchedMesh) {\n      object.type = \"BatchedMesh\";\n      object.perObjectFrustumCulled = this.perObjectFrustumCulled;\n      object.sortObjects = this.sortObjects;\n      object.drawRanges = this._drawRanges;\n      object.reservedRanges = this._reservedRanges;\n      object.visibility = this._visibility;\n      object.active = this._active;\n      object.bounds = this._bounds.map((bound) => ({\n        boxInitialized: bound.boxInitialized,\n        boxMin: bound.box.min.toArray(),\n        boxMax: bound.box.max.toArray(),\n        sphereInitialized: bound.sphereInitialized,\n        sphereRadius: bound.sphere.radius,\n        sphereCenter: bound.sphere.center.toArray()\n      }));\n      object.maxInstanceCount = this._maxInstanceCount;\n      object.maxVertexCount = this._maxVertexCount;\n      object.maxIndexCount = this._maxIndexCount;\n      object.geometryInitialized = this._geometryInitialized;\n      object.geometryCount = this._geometryCount;\n      object.matricesTexture = this._matricesTexture.toJSON(meta);\n      if (this._colorsTexture !== null) object.colorsTexture = this._colorsTexture.toJSON(meta);\n      if (this.boundingSphere !== null) {\n        object.boundingSphere = {\n          center: object.boundingSphere.center.toArray(),\n          radius: object.boundingSphere.radius\n        };\n      }\n      if (this.boundingBox !== null) {\n        object.boundingBox = {\n          min: object.boundingBox.min.toArray(),\n          max: object.boundingBox.max.toArray()\n        };\n      }\n    }\n    function serialize(library, element) {\n      if (library[element.uuid] === void 0) {\n        library[element.uuid] = element.toJSON(meta);\n      }\n      return element.uuid;\n    }\n    if (this.isScene) {\n      if (this.background) {\n        if (this.background.isColor) {\n          object.background = this.background.toJSON();\n        } else if (this.background.isTexture) {\n          object.background = this.background.toJSON(meta).uuid;\n        }\n      }\n      if (this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true) {\n        object.environment = this.environment.toJSON(meta).uuid;\n      }\n    } else if (this.isMesh || this.isLine || this.isPoints) {\n      object.geometry = serialize(meta.geometries, this.geometry);\n      const parameters = this.geometry.parameters;\n      if (parameters !== void 0 && parameters.shapes !== void 0) {\n        const shapes = parameters.shapes;\n        if (Array.isArray(shapes)) {\n          for (let i = 0, l = shapes.length; i < l; i++) {\n            const shape = shapes[i];\n            serialize(meta.shapes, shape);\n          }\n        } else {\n          serialize(meta.shapes, shapes);\n        }\n      }\n    }\n    if (this.isSkinnedMesh) {\n      object.bindMode = this.bindMode;\n      object.bindMatrix = this.bindMatrix.toArray();\n      if (this.skeleton !== void 0) {\n        serialize(meta.skeletons, this.skeleton);\n        object.skeleton = this.skeleton.uuid;\n      }\n    }\n    if (this.material !== void 0) {\n      if (Array.isArray(this.material)) {\n        const uuids = [];\n        for (let i = 0, l = this.material.length; i < l; i++) {\n          uuids.push(serialize(meta.materials, this.material[i]));\n        }\n        object.material = uuids;\n      } else {\n        object.material = serialize(meta.materials, this.material);\n      }\n    }\n    if (this.children.length > 0) {\n      object.children = [];\n      for (let i = 0; i < this.children.length; i++) {\n        object.children.push(this.children[i].toJSON(meta).object);\n      }\n    }\n    if (this.animations.length > 0) {\n      object.animations = [];\n      for (let i = 0; i < this.animations.length; i++) {\n        const animation = this.animations[i];\n        object.animations.push(serialize(meta.animations, animation));\n      }\n    }\n    if (isRootObject) {\n      const geometries = extractFromCache(meta.geometries);\n      const materials = extractFromCache(meta.materials);\n      const textures = extractFromCache(meta.textures);\n      const images = extractFromCache(meta.images);\n      const shapes = extractFromCache(meta.shapes);\n      const skeletons = extractFromCache(meta.skeletons);\n      const animations = extractFromCache(meta.animations);\n      const nodes = extractFromCache(meta.nodes);\n      if (geometries.length > 0) output.geometries = geometries;\n      if (materials.length > 0) output.materials = materials;\n      if (textures.length > 0) output.textures = textures;\n      if (images.length > 0) output.images = images;\n      if (shapes.length > 0) output.shapes = shapes;\n      if (skeletons.length > 0) output.skeletons = skeletons;\n      if (animations.length > 0) output.animations = animations;\n      if (nodes.length > 0) output.nodes = nodes;\n    }\n    output.object = object;\n    return output;\n    function extractFromCache(cache) {\n      const values = [];\n      for (const key in cache) {\n        const data = cache[key];\n        delete data.metadata;\n        values.push(data);\n      }\n      return values;\n    }\n  }\n  clone(recursive) {\n    return new this.constructor().copy(this, recursive);\n  }\n  copy(source, recursive = true) {\n    this.name = source.name;\n    this.up.copy(source.up);\n    this.position.copy(source.position);\n    this.rotation.order = source.rotation.order;\n    this.quaternion.copy(source.quaternion);\n    this.scale.copy(source.scale);\n    this.matrix.copy(source.matrix);\n    this.matrixWorld.copy(source.matrixWorld);\n    this.matrixAutoUpdate = source.matrixAutoUpdate;\n    this.matrixWorldAutoUpdate = source.matrixWorldAutoUpdate;\n    this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate;\n    this.layers.mask = source.layers.mask;\n    this.visible = source.visible;\n    this.castShadow = source.castShadow;\n    this.receiveShadow = source.receiveShadow;\n    this.frustumCulled = source.frustumCulled;\n    this.renderOrder = source.renderOrder;\n    this.animations = source.animations.slice();\n    this.userData = JSON.parse(JSON.stringify(source.userData));\n    if (recursive === true) {\n      for (let i = 0; i < source.children.length; i++) {\n        const child = source.children[i];\n        this.add(child.clone());\n      }\n    }\n    return this;\n  }\n};\nObject3D.DEFAULT_UP = /* @__PURE__ */ new Vector3(0, 1, 0);\nObject3D.DEFAULT_MATRIX_AUTO_UPDATE = true;\nObject3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = true;\nvar _v0$2 = /* @__PURE__ */ new Vector3();\nvar _v1$3 = /* @__PURE__ */ new Vector3();\nvar _v2$2 = /* @__PURE__ */ new Vector3();\nvar _v3$2 = /* @__PURE__ */ new Vector3();\nvar _vab = /* @__PURE__ */ new Vector3();\nvar _vac = /* @__PURE__ */ new Vector3();\nvar _vbc = /* @__PURE__ */ new Vector3();\nvar _vap = /* @__PURE__ */ new Vector3();\nvar _vbp = /* @__PURE__ */ new Vector3();\nvar _vcp = /* @__PURE__ */ new Vector3();\nvar _v40 = /* @__PURE__ */ new Vector4();\nvar _v41 = /* @__PURE__ */ new Vector4();\nvar _v42 = /* @__PURE__ */ new Vector4();\nvar Triangle = class _Triangle {\n  constructor(a = new Vector3(), b = new Vector3(), c = new Vector3()) {\n    this.a = a;\n    this.b = b;\n    this.c = c;\n  }\n  static getNormal(a, b, c, target) {\n    target.subVectors(c, b);\n    _v0$2.subVectors(a, b);\n    target.cross(_v0$2);\n    const targetLengthSq = target.lengthSq();\n    if (targetLengthSq > 0) {\n      return target.multiplyScalar(1 / Math.sqrt(targetLengthSq));\n    }\n    return target.set(0, 0, 0);\n  }\n  // static/instance method to calculate barycentric coordinates\n  // based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n  static getBarycoord(point, a, b, c, target) {\n    _v0$2.subVectors(c, a);\n    _v1$3.subVectors(b, a);\n    _v2$2.subVectors(point, a);\n    const dot00 = _v0$2.dot(_v0$2);\n    const dot01 = _v0$2.dot(_v1$3);\n    const dot02 = _v0$2.dot(_v2$2);\n    const dot11 = _v1$3.dot(_v1$3);\n    const dot12 = _v1$3.dot(_v2$2);\n    const denom = dot00 * dot11 - dot01 * dot01;\n    if (denom === 0) {\n      target.set(0, 0, 0);\n      return null;\n    }\n    const invDenom = 1 / denom;\n    const u = (dot11 * dot02 - dot01 * dot12) * invDenom;\n    const v = (dot00 * dot12 - dot01 * dot02) * invDenom;\n    return target.set(1 - u - v, v, u);\n  }\n  static containsPoint(point, a, b, c) {\n    if (this.getBarycoord(point, a, b, c, _v3$2) === null) {\n      return false;\n    }\n    return _v3$2.x >= 0 && _v3$2.y >= 0 && _v3$2.x + _v3$2.y <= 1;\n  }\n  static getInterpolation(point, p1, p2, p3, v1, v2, v3, target) {\n    if (this.getBarycoord(point, p1, p2, p3, _v3$2) === null) {\n      target.x = 0;\n      target.y = 0;\n      if (\"z\" in target) target.z = 0;\n      if (\"w\" in target) target.w = 0;\n      return null;\n    }\n    target.setScalar(0);\n    target.addScaledVector(v1, _v3$2.x);\n    target.addScaledVector(v2, _v3$2.y);\n    target.addScaledVector(v3, _v3$2.z);\n    return target;\n  }\n  static getInterpolatedAttribute(attr, i1, i2, i3, barycoord, target) {\n    _v40.setScalar(0);\n    _v41.setScalar(0);\n    _v42.setScalar(0);\n    _v40.fromBufferAttribute(attr, i1);\n    _v41.fromBufferAttribute(attr, i2);\n    _v42.fromBufferAttribute(attr, i3);\n    target.setScalar(0);\n    target.addScaledVector(_v40, barycoord.x);\n    target.addScaledVector(_v41, barycoord.y);\n    target.addScaledVector(_v42, barycoord.z);\n    return target;\n  }\n  static isFrontFacing(a, b, c, direction) {\n    _v0$2.subVectors(c, b);\n    _v1$3.subVectors(a, b);\n    return _v0$2.cross(_v1$3).dot(direction) < 0 ? true : false;\n  }\n  set(a, b, c) {\n    this.a.copy(a);\n    this.b.copy(b);\n    this.c.copy(c);\n    return this;\n  }\n  setFromPointsAndIndices(points, i0, i1, i2) {\n    this.a.copy(points[i0]);\n    this.b.copy(points[i1]);\n    this.c.copy(points[i2]);\n    return this;\n  }\n  setFromAttributeAndIndices(attribute, i0, i1, i2) {\n    this.a.fromBufferAttribute(attribute, i0);\n    this.b.fromBufferAttribute(attribute, i1);\n    this.c.fromBufferAttribute(attribute, i2);\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(triangle) {\n    this.a.copy(triangle.a);\n    this.b.copy(triangle.b);\n    this.c.copy(triangle.c);\n    return this;\n  }\n  getArea() {\n    _v0$2.subVectors(this.c, this.b);\n    _v1$3.subVectors(this.a, this.b);\n    return _v0$2.cross(_v1$3).length() * 0.5;\n  }\n  getMidpoint(target) {\n    return target.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3);\n  }\n  getNormal(target) {\n    return _Triangle.getNormal(this.a, this.b, this.c, target);\n  }\n  getPlane(target) {\n    return target.setFromCoplanarPoints(this.a, this.b, this.c);\n  }\n  getBarycoord(point, target) {\n    return _Triangle.getBarycoord(point, this.a, this.b, this.c, target);\n  }\n  getInterpolation(point, v1, v2, v3, target) {\n    return _Triangle.getInterpolation(point, this.a, this.b, this.c, v1, v2, v3, target);\n  }\n  containsPoint(point) {\n    return _Triangle.containsPoint(point, this.a, this.b, this.c);\n  }\n  isFrontFacing(direction) {\n    return _Triangle.isFrontFacing(this.a, this.b, this.c, direction);\n  }\n  intersectsBox(box) {\n    return box.intersectsTriangle(this);\n  }\n  closestPointToPoint(p, target) {\n    const a = this.a, b = this.b, c = this.c;\n    let v, w;\n    _vab.subVectors(b, a);\n    _vac.subVectors(c, a);\n    _vap.subVectors(p, a);\n    const d1 = _vab.dot(_vap);\n    const d2 = _vac.dot(_vap);\n    if (d1 <= 0 && d2 <= 0) {\n      return target.copy(a);\n    }\n    _vbp.subVectors(p, b);\n    const d3 = _vab.dot(_vbp);\n    const d4 = _vac.dot(_vbp);\n    if (d3 >= 0 && d4 <= d3) {\n      return target.copy(b);\n    }\n    const vc = d1 * d4 - d3 * d2;\n    if (vc <= 0 && d1 >= 0 && d3 <= 0) {\n      v = d1 / (d1 - d3);\n      return target.copy(a).addScaledVector(_vab, v);\n    }\n    _vcp.subVectors(p, c);\n    const d5 = _vab.dot(_vcp);\n    const d6 = _vac.dot(_vcp);\n    if (d6 >= 0 && d5 <= d6) {\n      return target.copy(c);\n    }\n    const vb = d5 * d2 - d1 * d6;\n    if (vb <= 0 && d2 >= 0 && d6 <= 0) {\n      w = d2 / (d2 - d6);\n      return target.copy(a).addScaledVector(_vac, w);\n    }\n    const va = d3 * d6 - d5 * d4;\n    if (va <= 0 && d4 - d3 >= 0 && d5 - d6 >= 0) {\n      _vbc.subVectors(c, b);\n      w = (d4 - d3) / (d4 - d3 + (d5 - d6));\n      return target.copy(b).addScaledVector(_vbc, w);\n    }\n    const denom = 1 / (va + vb + vc);\n    v = vb * denom;\n    w = vc * denom;\n    return target.copy(a).addScaledVector(_vab, v).addScaledVector(_vac, w);\n  }\n  equals(triangle) {\n    return triangle.a.equals(this.a) && triangle.b.equals(this.b) && triangle.c.equals(this.c);\n  }\n};\nvar _colorKeywords = {\n  \"aliceblue\": 15792383,\n  \"antiquewhite\": 16444375,\n  \"aqua\": 65535,\n  \"aquamarine\": 8388564,\n  \"azure\": 15794175,\n  \"beige\": 16119260,\n  \"bisque\": 16770244,\n  \"black\": 0,\n  \"blanchedalmond\": 16772045,\n  \"blue\": 255,\n  \"blueviolet\": 9055202,\n  \"brown\": 10824234,\n  \"burlywood\": 14596231,\n  \"cadetblue\": 6266528,\n  \"chartreuse\": 8388352,\n  \"chocolate\": 13789470,\n  \"coral\": 16744272,\n  \"cornflowerblue\": 6591981,\n  \"cornsilk\": 16775388,\n  \"crimson\": 14423100,\n  \"cyan\": 65535,\n  \"darkblue\": 139,\n  \"darkcyan\": 35723,\n  \"darkgoldenrod\": 12092939,\n  \"darkgray\": 11119017,\n  \"darkgreen\": 25600,\n  \"darkgrey\": 11119017,\n  \"darkkhaki\": 12433259,\n  \"darkmagenta\": 9109643,\n  \"darkolivegreen\": 5597999,\n  \"darkorange\": 16747520,\n  \"darkorchid\": 10040012,\n  \"darkred\": 9109504,\n  \"darksalmon\": 15308410,\n  \"darkseagreen\": 9419919,\n  \"darkslateblue\": 4734347,\n  \"darkslategray\": 3100495,\n  \"darkslategrey\": 3100495,\n  \"darkturquoise\": 52945,\n  \"darkviolet\": 9699539,\n  \"deeppink\": 16716947,\n  \"deepskyblue\": 49151,\n  \"dimgray\": 6908265,\n  \"dimgrey\": 6908265,\n  \"dodgerblue\": 2003199,\n  \"firebrick\": 11674146,\n  \"floralwhite\": 16775920,\n  \"forestgreen\": 2263842,\n  \"fuchsia\": 16711935,\n  \"gainsboro\": 14474460,\n  \"ghostwhite\": 16316671,\n  \"gold\": 16766720,\n  \"goldenrod\": 14329120,\n  \"gray\": 8421504,\n  \"green\": 32768,\n  \"greenyellow\": 11403055,\n  \"grey\": 8421504,\n  \"honeydew\": 15794160,\n  \"hotpink\": 16738740,\n  \"indianred\": 13458524,\n  \"indigo\": 4915330,\n  \"ivory\": 16777200,\n  \"khaki\": 15787660,\n  \"lavender\": 15132410,\n  \"lavenderblush\": 16773365,\n  \"lawngreen\": 8190976,\n  \"lemonchiffon\": 16775885,\n  \"lightblue\": 11393254,\n  \"lightcoral\": 15761536,\n  \"lightcyan\": 14745599,\n  \"lightgoldenrodyellow\": 16448210,\n  \"lightgray\": 13882323,\n  \"lightgreen\": 9498256,\n  \"lightgrey\": 13882323,\n  \"lightpink\": 16758465,\n  \"lightsalmon\": 16752762,\n  \"lightseagreen\": 2142890,\n  \"lightskyblue\": 8900346,\n  \"lightslategray\": 7833753,\n  \"lightslategrey\": 7833753,\n  \"lightsteelblue\": 11584734,\n  \"lightyellow\": 16777184,\n  \"lime\": 65280,\n  \"limegreen\": 3329330,\n  \"linen\": 16445670,\n  \"magenta\": 16711935,\n  \"maroon\": 8388608,\n  \"mediumaquamarine\": 6737322,\n  \"mediumblue\": 205,\n  \"mediumorchid\": 12211667,\n  \"mediumpurple\": 9662683,\n  \"mediumseagreen\": 3978097,\n  \"mediumslateblue\": 8087790,\n  \"mediumspringgreen\": 64154,\n  \"mediumturquoise\": 4772300,\n  \"mediumvioletred\": 13047173,\n  \"midnightblue\": 1644912,\n  \"mintcream\": 16121850,\n  \"mistyrose\": 16770273,\n  \"moccasin\": 16770229,\n  \"navajowhite\": 16768685,\n  \"navy\": 128,\n  \"oldlace\": 16643558,\n  \"olive\": 8421376,\n  \"olivedrab\": 7048739,\n  \"orange\": 16753920,\n  \"orangered\": 16729344,\n  \"orchid\": 14315734,\n  \"palegoldenrod\": 15657130,\n  \"palegreen\": 10025880,\n  \"paleturquoise\": 11529966,\n  \"palevioletred\": 14381203,\n  \"papayawhip\": 16773077,\n  \"peachpuff\": 16767673,\n  \"peru\": 13468991,\n  \"pink\": 16761035,\n  \"plum\": 14524637,\n  \"powderblue\": 11591910,\n  \"purple\": 8388736,\n  \"rebeccapurple\": 6697881,\n  \"red\": 16711680,\n  \"rosybrown\": 12357519,\n  \"royalblue\": 4286945,\n  \"saddlebrown\": 9127187,\n  \"salmon\": 16416882,\n  \"sandybrown\": 16032864,\n  \"seagreen\": 3050327,\n  \"seashell\": 16774638,\n  \"sienna\": 10506797,\n  \"silver\": 12632256,\n  \"skyblue\": 8900331,\n  \"slateblue\": 6970061,\n  \"slategray\": 7372944,\n  \"slategrey\": 7372944,\n  \"snow\": 16775930,\n  \"springgreen\": 65407,\n  \"steelblue\": 4620980,\n  \"tan\": 13808780,\n  \"teal\": 32896,\n  \"thistle\": 14204888,\n  \"tomato\": 16737095,\n  \"turquoise\": 4251856,\n  \"violet\": 15631086,\n  \"wheat\": 16113331,\n  \"white\": 16777215,\n  \"whitesmoke\": 16119285,\n  \"yellow\": 16776960,\n  \"yellowgreen\": 10145074\n};\nvar _hslA = { h: 0, s: 0, l: 0 };\nvar _hslB = { h: 0, s: 0, l: 0 };\nfunction hue2rgb(p, q, t) {\n  if (t < 0) t += 1;\n  if (t > 1) t -= 1;\n  if (t < 1 / 6) return p + (q - p) * 6 * t;\n  if (t < 1 / 2) return q;\n  if (t < 2 / 3) return p + (q - p) * 6 * (2 / 3 - t);\n  return p;\n}\nvar Color = class {\n  constructor(r, g, b) {\n    this.isColor = true;\n    this.r = 1;\n    this.g = 1;\n    this.b = 1;\n    return this.set(r, g, b);\n  }\n  set(r, g, b) {\n    if (g === void 0 && b === void 0) {\n      const value = r;\n      if (value && value.isColor) {\n        this.copy(value);\n      } else if (typeof value === \"number\") {\n        this.setHex(value);\n      } else if (typeof value === \"string\") {\n        this.setStyle(value);\n      }\n    } else {\n      this.setRGB(r, g, b);\n    }\n    return this;\n  }\n  setScalar(scalar) {\n    this.r = scalar;\n    this.g = scalar;\n    this.b = scalar;\n    return this;\n  }\n  setHex(hex, colorSpace = SRGBColorSpace) {\n    hex = Math.floor(hex);\n    this.r = (hex >> 16 & 255) / 255;\n    this.g = (hex >> 8 & 255) / 255;\n    this.b = (hex & 255) / 255;\n    ColorManagement.toWorkingColorSpace(this, colorSpace);\n    return this;\n  }\n  setRGB(r, g, b, colorSpace = ColorManagement.workingColorSpace) {\n    this.r = r;\n    this.g = g;\n    this.b = b;\n    ColorManagement.toWorkingColorSpace(this, colorSpace);\n    return this;\n  }\n  setHSL(h, s, l, colorSpace = ColorManagement.workingColorSpace) {\n    h = euclideanModulo(h, 1);\n    s = clamp(s, 0, 1);\n    l = clamp(l, 0, 1);\n    if (s === 0) {\n      this.r = this.g = this.b = l;\n    } else {\n      const p = l <= 0.5 ? l * (1 + s) : l + s - l * s;\n      const q = 2 * l - p;\n      this.r = hue2rgb(q, p, h + 1 / 3);\n      this.g = hue2rgb(q, p, h);\n      this.b = hue2rgb(q, p, h - 1 / 3);\n    }\n    ColorManagement.toWorkingColorSpace(this, colorSpace);\n    return this;\n  }\n  setStyle(style, colorSpace = SRGBColorSpace) {\n    function handleAlpha(string) {\n      if (string === void 0) return;\n      if (parseFloat(string) < 1) {\n        console.warn(\"THREE.Color: Alpha component of \" + style + \" will be ignored.\");\n      }\n    }\n    let m;\n    if (m = /^(\\w+)\\(([^\\)]*)\\)/.exec(style)) {\n      let color;\n      const name = m[1];\n      const components = m[2];\n      switch (name) {\n        case \"rgb\":\n        case \"rgba\":\n          if (color = /^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components)) {\n            handleAlpha(color[4]);\n            return this.setRGB(\n              Math.min(255, parseInt(color[1], 10)) / 255,\n              Math.min(255, parseInt(color[2], 10)) / 255,\n              Math.min(255, parseInt(color[3], 10)) / 255,\n              colorSpace\n            );\n          }\n          if (color = /^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components)) {\n            handleAlpha(color[4]);\n            return this.setRGB(\n              Math.min(100, parseInt(color[1], 10)) / 100,\n              Math.min(100, parseInt(color[2], 10)) / 100,\n              Math.min(100, parseInt(color[3], 10)) / 100,\n              colorSpace\n            );\n          }\n          break;\n        case \"hsl\":\n        case \"hsla\":\n          if (color = /^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*,\\s*(\\d*\\.?\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(components)) {\n            handleAlpha(color[4]);\n            return this.setHSL(\n              parseFloat(color[1]) / 360,\n              parseFloat(color[2]) / 100,\n              parseFloat(color[3]) / 100,\n              colorSpace\n            );\n          }\n          break;\n        default:\n          console.warn(\"THREE.Color: Unknown color model \" + style);\n      }\n    } else if (m = /^\\#([A-Fa-f\\d]+)$/.exec(style)) {\n      const hex = m[1];\n      const size = hex.length;\n      if (size === 3) {\n        return this.setRGB(\n          parseInt(hex.charAt(0), 16) / 15,\n          parseInt(hex.charAt(1), 16) / 15,\n          parseInt(hex.charAt(2), 16) / 15,\n          colorSpace\n        );\n      } else if (size === 6) {\n        return this.setHex(parseInt(hex, 16), colorSpace);\n      } else {\n        console.warn(\"THREE.Color: Invalid hex color \" + style);\n      }\n    } else if (style && style.length > 0) {\n      return this.setColorName(style, colorSpace);\n    }\n    return this;\n  }\n  setColorName(style, colorSpace = SRGBColorSpace) {\n    const hex = _colorKeywords[style.toLowerCase()];\n    if (hex !== void 0) {\n      this.setHex(hex, colorSpace);\n    } else {\n      console.warn(\"THREE.Color: Unknown color \" + style);\n    }\n    return this;\n  }\n  clone() {\n    return new this.constructor(this.r, this.g, this.b);\n  }\n  copy(color) {\n    this.r = color.r;\n    this.g = color.g;\n    this.b = color.b;\n    return this;\n  }\n  copySRGBToLinear(color) {\n    this.r = SRGBToLinear(color.r);\n    this.g = SRGBToLinear(color.g);\n    this.b = SRGBToLinear(color.b);\n    return this;\n  }\n  copyLinearToSRGB(color) {\n    this.r = LinearToSRGB(color.r);\n    this.g = LinearToSRGB(color.g);\n    this.b = LinearToSRGB(color.b);\n    return this;\n  }\n  convertSRGBToLinear() {\n    this.copySRGBToLinear(this);\n    return this;\n  }\n  convertLinearToSRGB() {\n    this.copyLinearToSRGB(this);\n    return this;\n  }\n  getHex(colorSpace = SRGBColorSpace) {\n    ColorManagement.fromWorkingColorSpace(_color.copy(this), colorSpace);\n    return Math.round(clamp(_color.r * 255, 0, 255)) * 65536 + Math.round(clamp(_color.g * 255, 0, 255)) * 256 + Math.round(clamp(_color.b * 255, 0, 255));\n  }\n  getHexString(colorSpace = SRGBColorSpace) {\n    return (\"000000\" + this.getHex(colorSpace).toString(16)).slice(-6);\n  }\n  getHSL(target, colorSpace = ColorManagement.workingColorSpace) {\n    ColorManagement.fromWorkingColorSpace(_color.copy(this), colorSpace);\n    const r = _color.r, g = _color.g, b = _color.b;\n    const max = Math.max(r, g, b);\n    const min = Math.min(r, g, b);\n    let hue, saturation;\n    const lightness = (min + max) / 2;\n    if (min === max) {\n      hue = 0;\n      saturation = 0;\n    } else {\n      const delta = max - min;\n      saturation = lightness <= 0.5 ? delta / (max + min) : delta / (2 - max - min);\n      switch (max) {\n        case r:\n          hue = (g - b) / delta + (g < b ? 6 : 0);\n          break;\n        case g:\n          hue = (b - r) / delta + 2;\n          break;\n        case b:\n          hue = (r - g) / delta + 4;\n          break;\n      }\n      hue /= 6;\n    }\n    target.h = hue;\n    target.s = saturation;\n    target.l = lightness;\n    return target;\n  }\n  getRGB(target, colorSpace = ColorManagement.workingColorSpace) {\n    ColorManagement.fromWorkingColorSpace(_color.copy(this), colorSpace);\n    target.r = _color.r;\n    target.g = _color.g;\n    target.b = _color.b;\n    return target;\n  }\n  getStyle(colorSpace = SRGBColorSpace) {\n    ColorManagement.fromWorkingColorSpace(_color.copy(this), colorSpace);\n    const r = _color.r, g = _color.g, b = _color.b;\n    if (colorSpace !== SRGBColorSpace) {\n      return `color(${colorSpace} ${r.toFixed(3)} ${g.toFixed(3)} ${b.toFixed(3)})`;\n    }\n    return `rgb(${Math.round(r * 255)},${Math.round(g * 255)},${Math.round(b * 255)})`;\n  }\n  offsetHSL(h, s, l) {\n    this.getHSL(_hslA);\n    return this.setHSL(_hslA.h + h, _hslA.s + s, _hslA.l + l);\n  }\n  add(color) {\n    this.r += color.r;\n    this.g += color.g;\n    this.b += color.b;\n    return this;\n  }\n  addColors(color1, color2) {\n    this.r = color1.r + color2.r;\n    this.g = color1.g + color2.g;\n    this.b = color1.b + color2.b;\n    return this;\n  }\n  addScalar(s) {\n    this.r += s;\n    this.g += s;\n    this.b += s;\n    return this;\n  }\n  sub(color) {\n    this.r = Math.max(0, this.r - color.r);\n    this.g = Math.max(0, this.g - color.g);\n    this.b = Math.max(0, this.b - color.b);\n    return this;\n  }\n  multiply(color) {\n    this.r *= color.r;\n    this.g *= color.g;\n    this.b *= color.b;\n    return this;\n  }\n  multiplyScalar(s) {\n    this.r *= s;\n    this.g *= s;\n    this.b *= s;\n    return this;\n  }\n  lerp(color, alpha) {\n    this.r += (color.r - this.r) * alpha;\n    this.g += (color.g - this.g) * alpha;\n    this.b += (color.b - this.b) * alpha;\n    return this;\n  }\n  lerpColors(color1, color2, alpha) {\n    this.r = color1.r + (color2.r - color1.r) * alpha;\n    this.g = color1.g + (color2.g - color1.g) * alpha;\n    this.b = color1.b + (color2.b - color1.b) * alpha;\n    return this;\n  }\n  lerpHSL(color, alpha) {\n    this.getHSL(_hslA);\n    color.getHSL(_hslB);\n    const h = lerp(_hslA.h, _hslB.h, alpha);\n    const s = lerp(_hslA.s, _hslB.s, alpha);\n    const l = lerp(_hslA.l, _hslB.l, alpha);\n    this.setHSL(h, s, l);\n    return this;\n  }\n  setFromVector3(v) {\n    this.r = v.x;\n    this.g = v.y;\n    this.b = v.z;\n    return this;\n  }\n  applyMatrix3(m) {\n    const r = this.r, g = this.g, b = this.b;\n    const e = m.elements;\n    this.r = e[0] * r + e[3] * g + e[6] * b;\n    this.g = e[1] * r + e[4] * g + e[7] * b;\n    this.b = e[2] * r + e[5] * g + e[8] * b;\n    return this;\n  }\n  equals(c) {\n    return c.r === this.r && c.g === this.g && c.b === this.b;\n  }\n  fromArray(array, offset = 0) {\n    this.r = array[offset];\n    this.g = array[offset + 1];\n    this.b = array[offset + 2];\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    array[offset] = this.r;\n    array[offset + 1] = this.g;\n    array[offset + 2] = this.b;\n    return array;\n  }\n  fromBufferAttribute(attribute, index) {\n    this.r = attribute.getX(index);\n    this.g = attribute.getY(index);\n    this.b = attribute.getZ(index);\n    return this;\n  }\n  toJSON() {\n    return this.getHex();\n  }\n  *[Symbol.iterator]() {\n    yield this.r;\n    yield this.g;\n    yield this.b;\n  }\n};\nvar _color = /* @__PURE__ */ new Color();\nColor.NAMES = _colorKeywords;\nvar _materialId = 0;\nvar Material = class extends EventDispatcher {\n  constructor() {\n    super();\n    this.isMaterial = true;\n    Object.defineProperty(this, \"id\", { value: _materialId++ });\n    this.uuid = generateUUID();\n    this.name = \"\";\n    this.type = \"Material\";\n    this.blending = NormalBlending;\n    this.side = FrontSide;\n    this.vertexColors = false;\n    this.opacity = 1;\n    this.transparent = false;\n    this.alphaHash = false;\n    this.blendSrc = SrcAlphaFactor;\n    this.blendDst = OneMinusSrcAlphaFactor;\n    this.blendEquation = AddEquation;\n    this.blendSrcAlpha = null;\n    this.blendDstAlpha = null;\n    this.blendEquationAlpha = null;\n    this.blendColor = new Color(0, 0, 0);\n    this.blendAlpha = 0;\n    this.depthFunc = LessEqualDepth;\n    this.depthTest = true;\n    this.depthWrite = true;\n    this.stencilWriteMask = 255;\n    this.stencilFunc = AlwaysStencilFunc;\n    this.stencilRef = 0;\n    this.stencilFuncMask = 255;\n    this.stencilFail = KeepStencilOp;\n    this.stencilZFail = KeepStencilOp;\n    this.stencilZPass = KeepStencilOp;\n    this.stencilWrite = false;\n    this.clippingPlanes = null;\n    this.clipIntersection = false;\n    this.clipShadows = false;\n    this.shadowSide = null;\n    this.colorWrite = true;\n    this.precision = null;\n    this.polygonOffset = false;\n    this.polygonOffsetFactor = 0;\n    this.polygonOffsetUnits = 0;\n    this.dithering = false;\n    this.alphaToCoverage = false;\n    this.premultipliedAlpha = false;\n    this.forceSinglePass = false;\n    this.visible = true;\n    this.toneMapped = true;\n    this.userData = {};\n    this.version = 0;\n    this._alphaTest = 0;\n  }\n  get alphaTest() {\n    return this._alphaTest;\n  }\n  set alphaTest(value) {\n    if (this._alphaTest > 0 !== value > 0) {\n      this.version++;\n    }\n    this._alphaTest = value;\n  }\n  // onBeforeRender and onBeforeCompile only supported in WebGLRenderer\n  onBeforeRender() {\n  }\n  onBeforeCompile() {\n  }\n  customProgramCacheKey() {\n    return this.onBeforeCompile.toString();\n  }\n  setValues(values) {\n    if (values === void 0) return;\n    for (const key in values) {\n      const newValue = values[key];\n      if (newValue === void 0) {\n        console.warn(`THREE.Material: parameter '${key}' has value of undefined.`);\n        continue;\n      }\n      const currentValue = this[key];\n      if (currentValue === void 0) {\n        console.warn(`THREE.Material: '${key}' is not a property of THREE.${this.type}.`);\n        continue;\n      }\n      if (currentValue && currentValue.isColor) {\n        currentValue.set(newValue);\n      } else if (currentValue && currentValue.isVector3 && (newValue && newValue.isVector3)) {\n        currentValue.copy(newValue);\n      } else {\n        this[key] = newValue;\n      }\n    }\n  }\n  toJSON(meta) {\n    const isRootObject = meta === void 0 || typeof meta === \"string\";\n    if (isRootObject) {\n      meta = {\n        textures: {},\n        images: {}\n      };\n    }\n    const data = {\n      metadata: {\n        version: 4.6,\n        type: \"Material\",\n        generator: \"Material.toJSON\"\n      }\n    };\n    data.uuid = this.uuid;\n    data.type = this.type;\n    if (this.name !== \"\") data.name = this.name;\n    if (this.color && this.color.isColor) data.color = this.color.getHex();\n    if (this.roughness !== void 0) data.roughness = this.roughness;\n    if (this.metalness !== void 0) data.metalness = this.metalness;\n    if (this.sheen !== void 0) data.sheen = this.sheen;\n    if (this.sheenColor && this.sheenColor.isColor) data.sheenColor = this.sheenColor.getHex();\n    if (this.sheenRoughness !== void 0) data.sheenRoughness = this.sheenRoughness;\n    if (this.emissive && this.emissive.isColor) data.emissive = this.emissive.getHex();\n    if (this.emissiveIntensity !== void 0 && this.emissiveIntensity !== 1) data.emissiveIntensity = this.emissiveIntensity;\n    if (this.specular && this.specular.isColor) data.specular = this.specular.getHex();\n    if (this.specularIntensity !== void 0) data.specularIntensity = this.specularIntensity;\n    if (this.specularColor && this.specularColor.isColor) data.specularColor = this.specularColor.getHex();\n    if (this.shininess !== void 0) data.shininess = this.shininess;\n    if (this.clearcoat !== void 0) data.clearcoat = this.clearcoat;\n    if (this.clearcoatRoughness !== void 0) data.clearcoatRoughness = this.clearcoatRoughness;\n    if (this.clearcoatMap && this.clearcoatMap.isTexture) {\n      data.clearcoatMap = this.clearcoatMap.toJSON(meta).uuid;\n    }\n    if (this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture) {\n      data.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(meta).uuid;\n    }\n    if (this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture) {\n      data.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(meta).uuid;\n      data.clearcoatNormalScale = this.clearcoatNormalScale.toArray();\n    }\n    if (this.dispersion !== void 0) data.dispersion = this.dispersion;\n    if (this.iridescence !== void 0) data.iridescence = this.iridescence;\n    if (this.iridescenceIOR !== void 0) data.iridescenceIOR = this.iridescenceIOR;\n    if (this.iridescenceThicknessRange !== void 0) data.iridescenceThicknessRange = this.iridescenceThicknessRange;\n    if (this.iridescenceMap && this.iridescenceMap.isTexture) {\n      data.iridescenceMap = this.iridescenceMap.toJSON(meta).uuid;\n    }\n    if (this.iridescenceThicknessMap && this.iridescenceThicknessMap.isTexture) {\n      data.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON(meta).uuid;\n    }\n    if (this.anisotropy !== void 0) data.anisotropy = this.anisotropy;\n    if (this.anisotropyRotation !== void 0) data.anisotropyRotation = this.anisotropyRotation;\n    if (this.anisotropyMap && this.anisotropyMap.isTexture) {\n      data.anisotropyMap = this.anisotropyMap.toJSON(meta).uuid;\n    }\n    if (this.map && this.map.isTexture) data.map = this.map.toJSON(meta).uuid;\n    if (this.matcap && this.matcap.isTexture) data.matcap = this.matcap.toJSON(meta).uuid;\n    if (this.alphaMap && this.alphaMap.isTexture) data.alphaMap = this.alphaMap.toJSON(meta).uuid;\n    if (this.lightMap && this.lightMap.isTexture) {\n      data.lightMap = this.lightMap.toJSON(meta).uuid;\n      data.lightMapIntensity = this.lightMapIntensity;\n    }\n    if (this.aoMap && this.aoMap.isTexture) {\n      data.aoMap = this.aoMap.toJSON(meta).uuid;\n      data.aoMapIntensity = this.aoMapIntensity;\n    }\n    if (this.bumpMap && this.bumpMap.isTexture) {\n      data.bumpMap = this.bumpMap.toJSON(meta).uuid;\n      data.bumpScale = this.bumpScale;\n    }\n    if (this.normalMap && this.normalMap.isTexture) {\n      data.normalMap = this.normalMap.toJSON(meta).uuid;\n      data.normalMapType = this.normalMapType;\n      data.normalScale = this.normalScale.toArray();\n    }\n    if (this.displacementMap && this.displacementMap.isTexture) {\n      data.displacementMap = this.displacementMap.toJSON(meta).uuid;\n      data.displacementScale = this.displacementScale;\n      data.displacementBias = this.displacementBias;\n    }\n    if (this.roughnessMap && this.roughnessMap.isTexture) data.roughnessMap = this.roughnessMap.toJSON(meta).uuid;\n    if (this.metalnessMap && this.metalnessMap.isTexture) data.metalnessMap = this.metalnessMap.toJSON(meta).uuid;\n    if (this.emissiveMap && this.emissiveMap.isTexture) data.emissiveMap = this.emissiveMap.toJSON(meta).uuid;\n    if (this.specularMap && this.specularMap.isTexture) data.specularMap = this.specularMap.toJSON(meta).uuid;\n    if (this.specularIntensityMap && this.specularIntensityMap.isTexture) data.specularIntensityMap = this.specularIntensityMap.toJSON(meta).uuid;\n    if (this.specularColorMap && this.specularColorMap.isTexture) data.specularColorMap = this.specularColorMap.toJSON(meta).uuid;\n    if (this.envMap && this.envMap.isTexture) {\n      data.envMap = this.envMap.toJSON(meta).uuid;\n      if (this.combine !== void 0) data.combine = this.combine;\n    }\n    if (this.envMapRotation !== void 0) data.envMapRotation = this.envMapRotation.toArray();\n    if (this.envMapIntensity !== void 0) data.envMapIntensity = this.envMapIntensity;\n    if (this.reflectivity !== void 0) data.reflectivity = this.reflectivity;\n    if (this.refractionRatio !== void 0) data.refractionRatio = this.refractionRatio;\n    if (this.gradientMap && this.gradientMap.isTexture) {\n      data.gradientMap = this.gradientMap.toJSON(meta).uuid;\n    }\n    if (this.transmission !== void 0) data.transmission = this.transmission;\n    if (this.transmissionMap && this.transmissionMap.isTexture) data.transmissionMap = this.transmissionMap.toJSON(meta).uuid;\n    if (this.thickness !== void 0) data.thickness = this.thickness;\n    if (this.thicknessMap && this.thicknessMap.isTexture) data.thicknessMap = this.thicknessMap.toJSON(meta).uuid;\n    if (this.attenuationDistance !== void 0 && this.attenuationDistance !== Infinity) data.attenuationDistance = this.attenuationDistance;\n    if (this.attenuationColor !== void 0) data.attenuationColor = this.attenuationColor.getHex();\n    if (this.size !== void 0) data.size = this.size;\n    if (this.shadowSide !== null) data.shadowSide = this.shadowSide;\n    if (this.sizeAttenuation !== void 0) data.sizeAttenuation = this.sizeAttenuation;\n    if (this.blending !== NormalBlending) data.blending = this.blending;\n    if (this.side !== FrontSide) data.side = this.side;\n    if (this.vertexColors === true) data.vertexColors = true;\n    if (this.opacity < 1) data.opacity = this.opacity;\n    if (this.transparent === true) data.transparent = true;\n    if (this.blendSrc !== SrcAlphaFactor) data.blendSrc = this.blendSrc;\n    if (this.blendDst !== OneMinusSrcAlphaFactor) data.blendDst = this.blendDst;\n    if (this.blendEquation !== AddEquation) data.blendEquation = this.blendEquation;\n    if (this.blendSrcAlpha !== null) data.blendSrcAlpha = this.blendSrcAlpha;\n    if (this.blendDstAlpha !== null) data.blendDstAlpha = this.blendDstAlpha;\n    if (this.blendEquationAlpha !== null) data.blendEquationAlpha = this.blendEquationAlpha;\n    if (this.blendColor && this.blendColor.isColor) data.blendColor = this.blendColor.getHex();\n    if (this.blendAlpha !== 0) data.blendAlpha = this.blendAlpha;\n    if (this.depthFunc !== LessEqualDepth) data.depthFunc = this.depthFunc;\n    if (this.depthTest === false) data.depthTest = this.depthTest;\n    if (this.depthWrite === false) data.depthWrite = this.depthWrite;\n    if (this.colorWrite === false) data.colorWrite = this.colorWrite;\n    if (this.stencilWriteMask !== 255) data.stencilWriteMask = this.stencilWriteMask;\n    if (this.stencilFunc !== AlwaysStencilFunc) data.stencilFunc = this.stencilFunc;\n    if (this.stencilRef !== 0) data.stencilRef = this.stencilRef;\n    if (this.stencilFuncMask !== 255) data.stencilFuncMask = this.stencilFuncMask;\n    if (this.stencilFail !== KeepStencilOp) data.stencilFail = this.stencilFail;\n    if (this.stencilZFail !== KeepStencilOp) data.stencilZFail = this.stencilZFail;\n    if (this.stencilZPass !== KeepStencilOp) data.stencilZPass = this.stencilZPass;\n    if (this.stencilWrite === true) data.stencilWrite = this.stencilWrite;\n    if (this.rotation !== void 0 && this.rotation !== 0) data.rotation = this.rotation;\n    if (this.polygonOffset === true) data.polygonOffset = true;\n    if (this.polygonOffsetFactor !== 0) data.polygonOffsetFactor = this.polygonOffsetFactor;\n    if (this.polygonOffsetUnits !== 0) data.polygonOffsetUnits = this.polygonOffsetUnits;\n    if (this.linewidth !== void 0 && this.linewidth !== 1) data.linewidth = this.linewidth;\n    if (this.dashSize !== void 0) data.dashSize = this.dashSize;\n    if (this.gapSize !== void 0) data.gapSize = this.gapSize;\n    if (this.scale !== void 0) data.scale = this.scale;\n    if (this.dithering === true) data.dithering = true;\n    if (this.alphaTest > 0) data.alphaTest = this.alphaTest;\n    if (this.alphaHash === true) data.alphaHash = true;\n    if (this.alphaToCoverage === true) data.alphaToCoverage = true;\n    if (this.premultipliedAlpha === true) data.premultipliedAlpha = true;\n    if (this.forceSinglePass === true) data.forceSinglePass = true;\n    if (this.wireframe === true) data.wireframe = true;\n    if (this.wireframeLinewidth > 1) data.wireframeLinewidth = this.wireframeLinewidth;\n    if (this.wireframeLinecap !== \"round\") data.wireframeLinecap = this.wireframeLinecap;\n    if (this.wireframeLinejoin !== \"round\") data.wireframeLinejoin = this.wireframeLinejoin;\n    if (this.flatShading === true) data.flatShading = true;\n    if (this.visible === false) data.visible = false;\n    if (this.toneMapped === false) data.toneMapped = false;\n    if (this.fog === false) data.fog = false;\n    if (Object.keys(this.userData).length > 0) data.userData = this.userData;\n    function extractFromCache(cache) {\n      const values = [];\n      for (const key in cache) {\n        const data2 = cache[key];\n        delete data2.metadata;\n        values.push(data2);\n      }\n      return values;\n    }\n    if (isRootObject) {\n      const textures = extractFromCache(meta.textures);\n      const images = extractFromCache(meta.images);\n      if (textures.length > 0) data.textures = textures;\n      if (images.length > 0) data.images = images;\n    }\n    return data;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(source) {\n    this.name = source.name;\n    this.blending = source.blending;\n    this.side = source.side;\n    this.vertexColors = source.vertexColors;\n    this.opacity = source.opacity;\n    this.transparent = source.transparent;\n    this.blendSrc = source.blendSrc;\n    this.blendDst = source.blendDst;\n    this.blendEquation = source.blendEquation;\n    this.blendSrcAlpha = source.blendSrcAlpha;\n    this.blendDstAlpha = source.blendDstAlpha;\n    this.blendEquationAlpha = source.blendEquationAlpha;\n    this.blendColor.copy(source.blendColor);\n    this.blendAlpha = source.blendAlpha;\n    this.depthFunc = source.depthFunc;\n    this.depthTest = source.depthTest;\n    this.depthWrite = source.depthWrite;\n    this.stencilWriteMask = source.stencilWriteMask;\n    this.stencilFunc = source.stencilFunc;\n    this.stencilRef = source.stencilRef;\n    this.stencilFuncMask = source.stencilFuncMask;\n    this.stencilFail = source.stencilFail;\n    this.stencilZFail = source.stencilZFail;\n    this.stencilZPass = source.stencilZPass;\n    this.stencilWrite = source.stencilWrite;\n    const srcPlanes = source.clippingPlanes;\n    let dstPlanes = null;\n    if (srcPlanes !== null) {\n      const n = srcPlanes.length;\n      dstPlanes = new Array(n);\n      for (let i = 0; i !== n; ++i) {\n        dstPlanes[i] = srcPlanes[i].clone();\n      }\n    }\n    this.clippingPlanes = dstPlanes;\n    this.clipIntersection = source.clipIntersection;\n    this.clipShadows = source.clipShadows;\n    this.shadowSide = source.shadowSide;\n    this.colorWrite = source.colorWrite;\n    this.precision = source.precision;\n    this.polygonOffset = source.polygonOffset;\n    this.polygonOffsetFactor = source.polygonOffsetFactor;\n    this.polygonOffsetUnits = source.polygonOffsetUnits;\n    this.dithering = source.dithering;\n    this.alphaTest = source.alphaTest;\n    this.alphaHash = source.alphaHash;\n    this.alphaToCoverage = source.alphaToCoverage;\n    this.premultipliedAlpha = source.premultipliedAlpha;\n    this.forceSinglePass = source.forceSinglePass;\n    this.visible = source.visible;\n    this.toneMapped = source.toneMapped;\n    this.userData = JSON.parse(JSON.stringify(source.userData));\n    return this;\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n  }\n  set needsUpdate(value) {\n    if (value === true) this.version++;\n  }\n  onBuild() {\n    console.warn(\"Material: onBuild() has been removed.\");\n  }\n};\nvar MeshBasicMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshBasicMaterial = true;\n    this.type = \"MeshBasicMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.lightMap = null;\n    this.lightMapIntensity = 1;\n    this.aoMap = null;\n    this.aoMapIntensity = 1;\n    this.specularMap = null;\n    this.alphaMap = null;\n    this.envMap = null;\n    this.envMapRotation = new Euler();\n    this.combine = MultiplyOperation;\n    this.reflectivity = 1;\n    this.refractionRatio = 0.98;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.wireframeLinecap = \"round\";\n    this.wireframeLinejoin = \"round\";\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.lightMap = source.lightMap;\n    this.lightMapIntensity = source.lightMapIntensity;\n    this.aoMap = source.aoMap;\n    this.aoMapIntensity = source.aoMapIntensity;\n    this.specularMap = source.specularMap;\n    this.alphaMap = source.alphaMap;\n    this.envMap = source.envMap;\n    this.envMapRotation.copy(source.envMapRotation);\n    this.combine = source.combine;\n    this.reflectivity = source.reflectivity;\n    this.refractionRatio = source.refractionRatio;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.wireframeLinecap = source.wireframeLinecap;\n    this.wireframeLinejoin = source.wireframeLinejoin;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar _tables = /* @__PURE__ */ _generateTables();\nfunction _generateTables() {\n  const buffer = new ArrayBuffer(4);\n  const floatView = new Float32Array(buffer);\n  const uint32View = new Uint32Array(buffer);\n  const baseTable = new Uint32Array(512);\n  const shiftTable = new Uint32Array(512);\n  for (let i = 0; i < 256; ++i) {\n    const e = i - 127;\n    if (e < -27) {\n      baseTable[i] = 0;\n      baseTable[i | 256] = 32768;\n      shiftTable[i] = 24;\n      shiftTable[i | 256] = 24;\n    } else if (e < -14) {\n      baseTable[i] = 1024 >> -e - 14;\n      baseTable[i | 256] = 1024 >> -e - 14 | 32768;\n      shiftTable[i] = -e - 1;\n      shiftTable[i | 256] = -e - 1;\n    } else if (e <= 15) {\n      baseTable[i] = e + 15 << 10;\n      baseTable[i | 256] = e + 15 << 10 | 32768;\n      shiftTable[i] = 13;\n      shiftTable[i | 256] = 13;\n    } else if (e < 128) {\n      baseTable[i] = 31744;\n      baseTable[i | 256] = 64512;\n      shiftTable[i] = 24;\n      shiftTable[i | 256] = 24;\n    } else {\n      baseTable[i] = 31744;\n      baseTable[i | 256] = 64512;\n      shiftTable[i] = 13;\n      shiftTable[i | 256] = 13;\n    }\n  }\n  const mantissaTable = new Uint32Array(2048);\n  const exponentTable = new Uint32Array(64);\n  const offsetTable = new Uint32Array(64);\n  for (let i = 1; i < 1024; ++i) {\n    let m = i << 13;\n    let e = 0;\n    while ((m & 8388608) === 0) {\n      m <<= 1;\n      e -= 8388608;\n    }\n    m &= ~8388608;\n    e += 947912704;\n    mantissaTable[i] = m | e;\n  }\n  for (let i = 1024; i < 2048; ++i) {\n    mantissaTable[i] = 939524096 + (i - 1024 << 13);\n  }\n  for (let i = 1; i < 31; ++i) {\n    exponentTable[i] = i << 23;\n  }\n  exponentTable[31] = 1199570944;\n  exponentTable[32] = 2147483648;\n  for (let i = 33; i < 63; ++i) {\n    exponentTable[i] = 2147483648 + (i - 32 << 23);\n  }\n  exponentTable[63] = 3347054592;\n  for (let i = 1; i < 64; ++i) {\n    if (i !== 32) {\n      offsetTable[i] = 1024;\n    }\n  }\n  return {\n    floatView,\n    uint32View,\n    baseTable,\n    shiftTable,\n    mantissaTable,\n    exponentTable,\n    offsetTable\n  };\n}\nfunction toHalfFloat(val) {\n  if (Math.abs(val) > 65504) console.warn(\"THREE.DataUtils.toHalfFloat(): Value out of range.\");\n  val = clamp(val, -65504, 65504);\n  _tables.floatView[0] = val;\n  const f = _tables.uint32View[0];\n  const e = f >> 23 & 511;\n  return _tables.baseTable[e] + ((f & 8388607) >> _tables.shiftTable[e]);\n}\nfunction fromHalfFloat(val) {\n  const m = val >> 10;\n  _tables.uint32View[0] = _tables.mantissaTable[_tables.offsetTable[m] + (val & 1023)] + _tables.exponentTable[m];\n  return _tables.floatView[0];\n}\nvar DataUtils = {\n  toHalfFloat,\n  fromHalfFloat\n};\nvar _vector$9 = /* @__PURE__ */ new Vector3();\nvar _vector2$1 = /* @__PURE__ */ new Vector2();\nvar BufferAttribute = class {\n  constructor(array, itemSize, normalized = false) {\n    if (Array.isArray(array)) {\n      throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");\n    }\n    this.isBufferAttribute = true;\n    this.name = \"\";\n    this.array = array;\n    this.itemSize = itemSize;\n    this.count = array !== void 0 ? array.length / itemSize : 0;\n    this.normalized = normalized;\n    this.usage = StaticDrawUsage;\n    this.updateRanges = [];\n    this.gpuType = FloatType;\n    this.version = 0;\n  }\n  onUploadCallback() {\n  }\n  set needsUpdate(value) {\n    if (value === true) this.version++;\n  }\n  setUsage(value) {\n    this.usage = value;\n    return this;\n  }\n  addUpdateRange(start, count) {\n    this.updateRanges.push({ start, count });\n  }\n  clearUpdateRanges() {\n    this.updateRanges.length = 0;\n  }\n  copy(source) {\n    this.name = source.name;\n    this.array = new source.array.constructor(source.array);\n    this.itemSize = source.itemSize;\n    this.count = source.count;\n    this.normalized = source.normalized;\n    this.usage = source.usage;\n    this.gpuType = source.gpuType;\n    return this;\n  }\n  copyAt(index1, attribute, index2) {\n    index1 *= this.itemSize;\n    index2 *= attribute.itemSize;\n    for (let i = 0, l = this.itemSize; i < l; i++) {\n      this.array[index1 + i] = attribute.array[index2 + i];\n    }\n    return this;\n  }\n  copyArray(array) {\n    this.array.set(array);\n    return this;\n  }\n  applyMatrix3(m) {\n    if (this.itemSize === 2) {\n      for (let i = 0, l = this.count; i < l; i++) {\n        _vector2$1.fromBufferAttribute(this, i);\n        _vector2$1.applyMatrix3(m);\n        this.setXY(i, _vector2$1.x, _vector2$1.y);\n      }\n    } else if (this.itemSize === 3) {\n      for (let i = 0, l = this.count; i < l; i++) {\n        _vector$9.fromBufferAttribute(this, i);\n        _vector$9.applyMatrix3(m);\n        this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z);\n      }\n    }\n    return this;\n  }\n  applyMatrix4(m) {\n    for (let i = 0, l = this.count; i < l; i++) {\n      _vector$9.fromBufferAttribute(this, i);\n      _vector$9.applyMatrix4(m);\n      this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z);\n    }\n    return this;\n  }\n  applyNormalMatrix(m) {\n    for (let i = 0, l = this.count; i < l; i++) {\n      _vector$9.fromBufferAttribute(this, i);\n      _vector$9.applyNormalMatrix(m);\n      this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z);\n    }\n    return this;\n  }\n  transformDirection(m) {\n    for (let i = 0, l = this.count; i < l; i++) {\n      _vector$9.fromBufferAttribute(this, i);\n      _vector$9.transformDirection(m);\n      this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z);\n    }\n    return this;\n  }\n  set(value, offset = 0) {\n    this.array.set(value, offset);\n    return this;\n  }\n  getComponent(index, component) {\n    let value = this.array[index * this.itemSize + component];\n    if (this.normalized) value = denormalize(value, this.array);\n    return value;\n  }\n  setComponent(index, component, value) {\n    if (this.normalized) value = normalize(value, this.array);\n    this.array[index * this.itemSize + component] = value;\n    return this;\n  }\n  getX(index) {\n    let x = this.array[index * this.itemSize];\n    if (this.normalized) x = denormalize(x, this.array);\n    return x;\n  }\n  setX(index, x) {\n    if (this.normalized) x = normalize(x, this.array);\n    this.array[index * this.itemSize] = x;\n    return this;\n  }\n  getY(index) {\n    let y = this.array[index * this.itemSize + 1];\n    if (this.normalized) y = denormalize(y, this.array);\n    return y;\n  }\n  setY(index, y) {\n    if (this.normalized) y = normalize(y, this.array);\n    this.array[index * this.itemSize + 1] = y;\n    return this;\n  }\n  getZ(index) {\n    let z = this.array[index * this.itemSize + 2];\n    if (this.normalized) z = denormalize(z, this.array);\n    return z;\n  }\n  setZ(index, z) {\n    if (this.normalized) z = normalize(z, this.array);\n    this.array[index * this.itemSize + 2] = z;\n    return this;\n  }\n  getW(index) {\n    let w = this.array[index * this.itemSize + 3];\n    if (this.normalized) w = denormalize(w, this.array);\n    return w;\n  }\n  setW(index, w) {\n    if (this.normalized) w = normalize(w, this.array);\n    this.array[index * this.itemSize + 3] = w;\n    return this;\n  }\n  setXY(index, x, y) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n    }\n    this.array[index + 0] = x;\n    this.array[index + 1] = y;\n    return this;\n  }\n  setXYZ(index, x, y, z) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n    }\n    this.array[index + 0] = x;\n    this.array[index + 1] = y;\n    this.array[index + 2] = z;\n    return this;\n  }\n  setXYZW(index, x, y, z, w) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n      w = normalize(w, this.array);\n    }\n    this.array[index + 0] = x;\n    this.array[index + 1] = y;\n    this.array[index + 2] = z;\n    this.array[index + 3] = w;\n    return this;\n  }\n  onUpload(callback) {\n    this.onUploadCallback = callback;\n    return this;\n  }\n  clone() {\n    return new this.constructor(this.array, this.itemSize).copy(this);\n  }\n  toJSON() {\n    const data = {\n      itemSize: this.itemSize,\n      type: this.array.constructor.name,\n      array: Array.from(this.array),\n      normalized: this.normalized\n    };\n    if (this.name !== \"\") data.name = this.name;\n    if (this.usage !== StaticDrawUsage) data.usage = this.usage;\n    return data;\n  }\n};\nvar Int8BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Int8Array(array), itemSize, normalized);\n  }\n};\nvar Uint8BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Uint8Array(array), itemSize, normalized);\n  }\n};\nvar Uint8ClampedBufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Uint8ClampedArray(array), itemSize, normalized);\n  }\n};\nvar Int16BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Int16Array(array), itemSize, normalized);\n  }\n};\nvar Uint16BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Uint16Array(array), itemSize, normalized);\n  }\n};\nvar Int32BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Int32Array(array), itemSize, normalized);\n  }\n};\nvar Uint32BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Uint32Array(array), itemSize, normalized);\n  }\n};\nvar Float16BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Uint16Array(array), itemSize, normalized);\n    this.isFloat16BufferAttribute = true;\n  }\n  getX(index) {\n    let x = fromHalfFloat(this.array[index * this.itemSize]);\n    if (this.normalized) x = denormalize(x, this.array);\n    return x;\n  }\n  setX(index, x) {\n    if (this.normalized) x = normalize(x, this.array);\n    this.array[index * this.itemSize] = toHalfFloat(x);\n    return this;\n  }\n  getY(index) {\n    let y = fromHalfFloat(this.array[index * this.itemSize + 1]);\n    if (this.normalized) y = denormalize(y, this.array);\n    return y;\n  }\n  setY(index, y) {\n    if (this.normalized) y = normalize(y, this.array);\n    this.array[index * this.itemSize + 1] = toHalfFloat(y);\n    return this;\n  }\n  getZ(index) {\n    let z = fromHalfFloat(this.array[index * this.itemSize + 2]);\n    if (this.normalized) z = denormalize(z, this.array);\n    return z;\n  }\n  setZ(index, z) {\n    if (this.normalized) z = normalize(z, this.array);\n    this.array[index * this.itemSize + 2] = toHalfFloat(z);\n    return this;\n  }\n  getW(index) {\n    let w = fromHalfFloat(this.array[index * this.itemSize + 3]);\n    if (this.normalized) w = denormalize(w, this.array);\n    return w;\n  }\n  setW(index, w) {\n    if (this.normalized) w = normalize(w, this.array);\n    this.array[index * this.itemSize + 3] = toHalfFloat(w);\n    return this;\n  }\n  setXY(index, x, y) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n    }\n    this.array[index + 0] = toHalfFloat(x);\n    this.array[index + 1] = toHalfFloat(y);\n    return this;\n  }\n  setXYZ(index, x, y, z) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n    }\n    this.array[index + 0] = toHalfFloat(x);\n    this.array[index + 1] = toHalfFloat(y);\n    this.array[index + 2] = toHalfFloat(z);\n    return this;\n  }\n  setXYZW(index, x, y, z, w) {\n    index *= this.itemSize;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n      w = normalize(w, this.array);\n    }\n    this.array[index + 0] = toHalfFloat(x);\n    this.array[index + 1] = toHalfFloat(y);\n    this.array[index + 2] = toHalfFloat(z);\n    this.array[index + 3] = toHalfFloat(w);\n    return this;\n  }\n};\nvar Float32BufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized) {\n    super(new Float32Array(array), itemSize, normalized);\n  }\n};\nvar _id$2 = 0;\nvar _m1$2 = /* @__PURE__ */ new Matrix4();\nvar _obj = /* @__PURE__ */ new Object3D();\nvar _offset = /* @__PURE__ */ new Vector3();\nvar _box$2 = /* @__PURE__ */ new Box3();\nvar _boxMorphTargets = /* @__PURE__ */ new Box3();\nvar _vector$8 = /* @__PURE__ */ new Vector3();\nvar BufferGeometry = class _BufferGeometry extends EventDispatcher {\n  constructor() {\n    super();\n    this.isBufferGeometry = true;\n    Object.defineProperty(this, \"id\", { value: _id$2++ });\n    this.uuid = generateUUID();\n    this.name = \"\";\n    this.type = \"BufferGeometry\";\n    this.index = null;\n    this.attributes = {};\n    this.morphAttributes = {};\n    this.morphTargetsRelative = false;\n    this.groups = [];\n    this.boundingBox = null;\n    this.boundingSphere = null;\n    this.drawRange = { start: 0, count: Infinity };\n    this.userData = {};\n  }\n  getIndex() {\n    return this.index;\n  }\n  setIndex(index) {\n    if (Array.isArray(index)) {\n      this.index = new (arrayNeedsUint32(index) ? Uint32BufferAttribute : Uint16BufferAttribute)(index, 1);\n    } else {\n      this.index = index;\n    }\n    return this;\n  }\n  getAttribute(name) {\n    return this.attributes[name];\n  }\n  setAttribute(name, attribute) {\n    this.attributes[name] = attribute;\n    return this;\n  }\n  deleteAttribute(name) {\n    delete this.attributes[name];\n    return this;\n  }\n  hasAttribute(name) {\n    return this.attributes[name] !== void 0;\n  }\n  addGroup(start, count, materialIndex = 0) {\n    this.groups.push({\n      start,\n      count,\n      materialIndex\n    });\n  }\n  clearGroups() {\n    this.groups = [];\n  }\n  setDrawRange(start, count) {\n    this.drawRange.start = start;\n    this.drawRange.count = count;\n  }\n  applyMatrix4(matrix) {\n    const position = this.attributes.position;\n    if (position !== void 0) {\n      position.applyMatrix4(matrix);\n      position.needsUpdate = true;\n    }\n    const normal = this.attributes.normal;\n    if (normal !== void 0) {\n      const normalMatrix = new Matrix3().getNormalMatrix(matrix);\n      normal.applyNormalMatrix(normalMatrix);\n      normal.needsUpdate = true;\n    }\n    const tangent = this.attributes.tangent;\n    if (tangent !== void 0) {\n      tangent.transformDirection(matrix);\n      tangent.needsUpdate = true;\n    }\n    if (this.boundingBox !== null) {\n      this.computeBoundingBox();\n    }\n    if (this.boundingSphere !== null) {\n      this.computeBoundingSphere();\n    }\n    return this;\n  }\n  applyQuaternion(q) {\n    _m1$2.makeRotationFromQuaternion(q);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  rotateX(angle) {\n    _m1$2.makeRotationX(angle);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  rotateY(angle) {\n    _m1$2.makeRotationY(angle);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  rotateZ(angle) {\n    _m1$2.makeRotationZ(angle);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  translate(x, y, z) {\n    _m1$2.makeTranslation(x, y, z);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  scale(x, y, z) {\n    _m1$2.makeScale(x, y, z);\n    this.applyMatrix4(_m1$2);\n    return this;\n  }\n  lookAt(vector) {\n    _obj.lookAt(vector);\n    _obj.updateMatrix();\n    this.applyMatrix4(_obj.matrix);\n    return this;\n  }\n  center() {\n    this.computeBoundingBox();\n    this.boundingBox.getCenter(_offset).negate();\n    this.translate(_offset.x, _offset.y, _offset.z);\n    return this;\n  }\n  setFromPoints(points) {\n    const position = [];\n    for (let i = 0, l = points.length; i < l; i++) {\n      const point = points[i];\n      position.push(point.x, point.y, point.z || 0);\n    }\n    this.setAttribute(\"position\", new Float32BufferAttribute(position, 3));\n    return this;\n  }\n  computeBoundingBox() {\n    if (this.boundingBox === null) {\n      this.boundingBox = new Box3();\n    }\n    const position = this.attributes.position;\n    const morphAttributesPosition = this.morphAttributes.position;\n    if (position && position.isGLBufferAttribute) {\n      console.error(\"THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.\", this);\n      this.boundingBox.set(\n        new Vector3(-Infinity, -Infinity, -Infinity),\n        new Vector3(Infinity, Infinity, Infinity)\n      );\n      return;\n    }\n    if (position !== void 0) {\n      this.boundingBox.setFromBufferAttribute(position);\n      if (morphAttributesPosition) {\n        for (let i = 0, il = morphAttributesPosition.length; i < il; i++) {\n          const morphAttribute = morphAttributesPosition[i];\n          _box$2.setFromBufferAttribute(morphAttribute);\n          if (this.morphTargetsRelative) {\n            _vector$8.addVectors(this.boundingBox.min, _box$2.min);\n            this.boundingBox.expandByPoint(_vector$8);\n            _vector$8.addVectors(this.boundingBox.max, _box$2.max);\n            this.boundingBox.expandByPoint(_vector$8);\n          } else {\n            this.boundingBox.expandByPoint(_box$2.min);\n            this.boundingBox.expandByPoint(_box$2.max);\n          }\n        }\n      }\n    } else {\n      this.boundingBox.makeEmpty();\n    }\n    if (isNaN(this.boundingBox.min.x) || isNaN(this.boundingBox.min.y) || isNaN(this.boundingBox.min.z)) {\n      console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.', this);\n    }\n  }\n  computeBoundingSphere() {\n    if (this.boundingSphere === null) {\n      this.boundingSphere = new Sphere();\n    }\n    const position = this.attributes.position;\n    const morphAttributesPosition = this.morphAttributes.position;\n    if (position && position.isGLBufferAttribute) {\n      console.error(\"THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.\", this);\n      this.boundingSphere.set(new Vector3(), Infinity);\n      return;\n    }\n    if (position) {\n      const center = this.boundingSphere.center;\n      _box$2.setFromBufferAttribute(position);\n      if (morphAttributesPosition) {\n        for (let i = 0, il = morphAttributesPosition.length; i < il; i++) {\n          const morphAttribute = morphAttributesPosition[i];\n          _boxMorphTargets.setFromBufferAttribute(morphAttribute);\n          if (this.morphTargetsRelative) {\n            _vector$8.addVectors(_box$2.min, _boxMorphTargets.min);\n            _box$2.expandByPoint(_vector$8);\n            _vector$8.addVectors(_box$2.max, _boxMorphTargets.max);\n            _box$2.expandByPoint(_vector$8);\n          } else {\n            _box$2.expandByPoint(_boxMorphTargets.min);\n            _box$2.expandByPoint(_boxMorphTargets.max);\n          }\n        }\n      }\n      _box$2.getCenter(center);\n      let maxRadiusSq = 0;\n      for (let i = 0, il = position.count; i < il; i++) {\n        _vector$8.fromBufferAttribute(position, i);\n        maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8));\n      }\n      if (morphAttributesPosition) {\n        for (let i = 0, il = morphAttributesPosition.length; i < il; i++) {\n          const morphAttribute = morphAttributesPosition[i];\n          const morphTargetsRelative = this.morphTargetsRelative;\n          for (let j = 0, jl = morphAttribute.count; j < jl; j++) {\n            _vector$8.fromBufferAttribute(morphAttribute, j);\n            if (morphTargetsRelative) {\n              _offset.fromBufferAttribute(position, j);\n              _vector$8.add(_offset);\n            }\n            maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8));\n          }\n        }\n      }\n      this.boundingSphere.radius = Math.sqrt(maxRadiusSq);\n      if (isNaN(this.boundingSphere.radius)) {\n        console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.', this);\n      }\n    }\n  }\n  computeTangents() {\n    const index = this.index;\n    const attributes = this.attributes;\n    if (index === null || attributes.position === void 0 || attributes.normal === void 0 || attributes.uv === void 0) {\n      console.error(\"THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");\n      return;\n    }\n    const positionAttribute = attributes.position;\n    const normalAttribute = attributes.normal;\n    const uvAttribute = attributes.uv;\n    if (this.hasAttribute(\"tangent\") === false) {\n      this.setAttribute(\"tangent\", new BufferAttribute(new Float32Array(4 * positionAttribute.count), 4));\n    }\n    const tangentAttribute = this.getAttribute(\"tangent\");\n    const tan1 = [], tan2 = [];\n    for (let i = 0; i < positionAttribute.count; i++) {\n      tan1[i] = new Vector3();\n      tan2[i] = new Vector3();\n    }\n    const vA = new Vector3(), vB = new Vector3(), vC = new Vector3(), uvA = new Vector2(), uvB = new Vector2(), uvC = new Vector2(), sdir = new Vector3(), tdir = new Vector3();\n    function handleTriangle(a, b, c) {\n      vA.fromBufferAttribute(positionAttribute, a);\n      vB.fromBufferAttribute(positionAttribute, b);\n      vC.fromBufferAttribute(positionAttribute, c);\n      uvA.fromBufferAttribute(uvAttribute, a);\n      uvB.fromBufferAttribute(uvAttribute, b);\n      uvC.fromBufferAttribute(uvAttribute, c);\n      vB.sub(vA);\n      vC.sub(vA);\n      uvB.sub(uvA);\n      uvC.sub(uvA);\n      const r = 1 / (uvB.x * uvC.y - uvC.x * uvB.y);\n      if (!isFinite(r)) return;\n      sdir.copy(vB).multiplyScalar(uvC.y).addScaledVector(vC, -uvB.y).multiplyScalar(r);\n      tdir.copy(vC).multiplyScalar(uvB.x).addScaledVector(vB, -uvC.x).multiplyScalar(r);\n      tan1[a].add(sdir);\n      tan1[b].add(sdir);\n      tan1[c].add(sdir);\n      tan2[a].add(tdir);\n      tan2[b].add(tdir);\n      tan2[c].add(tdir);\n    }\n    let groups = this.groups;\n    if (groups.length === 0) {\n      groups = [{\n        start: 0,\n        count: index.count\n      }];\n    }\n    for (let i = 0, il = groups.length; i < il; ++i) {\n      const group = groups[i];\n      const start = group.start;\n      const count = group.count;\n      for (let j = start, jl = start + count; j < jl; j += 3) {\n        handleTriangle(\n          index.getX(j + 0),\n          index.getX(j + 1),\n          index.getX(j + 2)\n        );\n      }\n    }\n    const tmp2 = new Vector3(), tmp22 = new Vector3();\n    const n = new Vector3(), n2 = new Vector3();\n    function handleVertex(v) {\n      n.fromBufferAttribute(normalAttribute, v);\n      n2.copy(n);\n      const t = tan1[v];\n      tmp2.copy(t);\n      tmp2.sub(n.multiplyScalar(n.dot(t))).normalize();\n      tmp22.crossVectors(n2, t);\n      const test = tmp22.dot(tan2[v]);\n      const w = test < 0 ? -1 : 1;\n      tangentAttribute.setXYZW(v, tmp2.x, tmp2.y, tmp2.z, w);\n    }\n    for (let i = 0, il = groups.length; i < il; ++i) {\n      const group = groups[i];\n      const start = group.start;\n      const count = group.count;\n      for (let j = start, jl = start + count; j < jl; j += 3) {\n        handleVertex(index.getX(j + 0));\n        handleVertex(index.getX(j + 1));\n        handleVertex(index.getX(j + 2));\n      }\n    }\n  }\n  computeVertexNormals() {\n    const index = this.index;\n    const positionAttribute = this.getAttribute(\"position\");\n    if (positionAttribute !== void 0) {\n      let normalAttribute = this.getAttribute(\"normal\");\n      if (normalAttribute === void 0) {\n        normalAttribute = new BufferAttribute(new Float32Array(positionAttribute.count * 3), 3);\n        this.setAttribute(\"normal\", normalAttribute);\n      } else {\n        for (let i = 0, il = normalAttribute.count; i < il; i++) {\n          normalAttribute.setXYZ(i, 0, 0, 0);\n        }\n      }\n      const pA = new Vector3(), pB = new Vector3(), pC = new Vector3();\n      const nA = new Vector3(), nB = new Vector3(), nC = new Vector3();\n      const cb = new Vector3(), ab = new Vector3();\n      if (index) {\n        for (let i = 0, il = index.count; i < il; i += 3) {\n          const vA = index.getX(i + 0);\n          const vB = index.getX(i + 1);\n          const vC = index.getX(i + 2);\n          pA.fromBufferAttribute(positionAttribute, vA);\n          pB.fromBufferAttribute(positionAttribute, vB);\n          pC.fromBufferAttribute(positionAttribute, vC);\n          cb.subVectors(pC, pB);\n          ab.subVectors(pA, pB);\n          cb.cross(ab);\n          nA.fromBufferAttribute(normalAttribute, vA);\n          nB.fromBufferAttribute(normalAttribute, vB);\n          nC.fromBufferAttribute(normalAttribute, vC);\n          nA.add(cb);\n          nB.add(cb);\n          nC.add(cb);\n          normalAttribute.setXYZ(vA, nA.x, nA.y, nA.z);\n          normalAttribute.setXYZ(vB, nB.x, nB.y, nB.z);\n          normalAttribute.setXYZ(vC, nC.x, nC.y, nC.z);\n        }\n      } else {\n        for (let i = 0, il = positionAttribute.count; i < il; i += 3) {\n          pA.fromBufferAttribute(positionAttribute, i + 0);\n          pB.fromBufferAttribute(positionAttribute, i + 1);\n          pC.fromBufferAttribute(positionAttribute, i + 2);\n          cb.subVectors(pC, pB);\n          ab.subVectors(pA, pB);\n          cb.cross(ab);\n          normalAttribute.setXYZ(i + 0, cb.x, cb.y, cb.z);\n          normalAttribute.setXYZ(i + 1, cb.x, cb.y, cb.z);\n          normalAttribute.setXYZ(i + 2, cb.x, cb.y, cb.z);\n        }\n      }\n      this.normalizeNormals();\n      normalAttribute.needsUpdate = true;\n    }\n  }\n  normalizeNormals() {\n    const normals = this.attributes.normal;\n    for (let i = 0, il = normals.count; i < il; i++) {\n      _vector$8.fromBufferAttribute(normals, i);\n      _vector$8.normalize();\n      normals.setXYZ(i, _vector$8.x, _vector$8.y, _vector$8.z);\n    }\n  }\n  toNonIndexed() {\n    function convertBufferAttribute(attribute, indices2) {\n      const array = attribute.array;\n      const itemSize = attribute.itemSize;\n      const normalized = attribute.normalized;\n      const array2 = new array.constructor(indices2.length * itemSize);\n      let index = 0, index2 = 0;\n      for (let i = 0, l = indices2.length; i < l; i++) {\n        if (attribute.isInterleavedBufferAttribute) {\n          index = indices2[i] * attribute.data.stride + attribute.offset;\n        } else {\n          index = indices2[i] * itemSize;\n        }\n        for (let j = 0; j < itemSize; j++) {\n          array2[index2++] = array[index++];\n        }\n      }\n      return new BufferAttribute(array2, itemSize, normalized);\n    }\n    if (this.index === null) {\n      console.warn(\"THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\");\n      return this;\n    }\n    const geometry2 = new _BufferGeometry();\n    const indices = this.index.array;\n    const attributes = this.attributes;\n    for (const name in attributes) {\n      const attribute = attributes[name];\n      const newAttribute = convertBufferAttribute(attribute, indices);\n      geometry2.setAttribute(name, newAttribute);\n    }\n    const morphAttributes = this.morphAttributes;\n    for (const name in morphAttributes) {\n      const morphArray = [];\n      const morphAttribute = morphAttributes[name];\n      for (let i = 0, il = morphAttribute.length; i < il; i++) {\n        const attribute = morphAttribute[i];\n        const newAttribute = convertBufferAttribute(attribute, indices);\n        morphArray.push(newAttribute);\n      }\n      geometry2.morphAttributes[name] = morphArray;\n    }\n    geometry2.morphTargetsRelative = this.morphTargetsRelative;\n    const groups = this.groups;\n    for (let i = 0, l = groups.length; i < l; i++) {\n      const group = groups[i];\n      geometry2.addGroup(group.start, group.count, group.materialIndex);\n    }\n    return geometry2;\n  }\n  toJSON() {\n    const data = {\n      metadata: {\n        version: 4.6,\n        type: \"BufferGeometry\",\n        generator: \"BufferGeometry.toJSON\"\n      }\n    };\n    data.uuid = this.uuid;\n    data.type = this.type;\n    if (this.name !== \"\") data.name = this.name;\n    if (Object.keys(this.userData).length > 0) data.userData = this.userData;\n    if (this.parameters !== void 0) {\n      const parameters = this.parameters;\n      for (const key in parameters) {\n        if (parameters[key] !== void 0) data[key] = parameters[key];\n      }\n      return data;\n    }\n    data.data = { attributes: {} };\n    const index = this.index;\n    if (index !== null) {\n      data.data.index = {\n        type: index.array.constructor.name,\n        array: Array.prototype.slice.call(index.array)\n      };\n    }\n    const attributes = this.attributes;\n    for (const key in attributes) {\n      const attribute = attributes[key];\n      data.data.attributes[key] = attribute.toJSON(data.data);\n    }\n    const morphAttributes = {};\n    let hasMorphAttributes = false;\n    for (const key in this.morphAttributes) {\n      const attributeArray = this.morphAttributes[key];\n      const array = [];\n      for (let i = 0, il = attributeArray.length; i < il; i++) {\n        const attribute = attributeArray[i];\n        array.push(attribute.toJSON(data.data));\n      }\n      if (array.length > 0) {\n        morphAttributes[key] = array;\n        hasMorphAttributes = true;\n      }\n    }\n    if (hasMorphAttributes) {\n      data.data.morphAttributes = morphAttributes;\n      data.data.morphTargetsRelative = this.morphTargetsRelative;\n    }\n    const groups = this.groups;\n    if (groups.length > 0) {\n      data.data.groups = JSON.parse(JSON.stringify(groups));\n    }\n    const boundingSphere = this.boundingSphere;\n    if (boundingSphere !== null) {\n      data.data.boundingSphere = {\n        center: boundingSphere.center.toArray(),\n        radius: boundingSphere.radius\n      };\n    }\n    return data;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(source) {\n    this.index = null;\n    this.attributes = {};\n    this.morphAttributes = {};\n    this.groups = [];\n    this.boundingBox = null;\n    this.boundingSphere = null;\n    const data = {};\n    this.name = source.name;\n    const index = source.index;\n    if (index !== null) {\n      this.setIndex(index.clone(data));\n    }\n    const attributes = source.attributes;\n    for (const name in attributes) {\n      const attribute = attributes[name];\n      this.setAttribute(name, attribute.clone(data));\n    }\n    const morphAttributes = source.morphAttributes;\n    for (const name in morphAttributes) {\n      const array = [];\n      const morphAttribute = morphAttributes[name];\n      for (let i = 0, l = morphAttribute.length; i < l; i++) {\n        array.push(morphAttribute[i].clone(data));\n      }\n      this.morphAttributes[name] = array;\n    }\n    this.morphTargetsRelative = source.morphTargetsRelative;\n    const groups = source.groups;\n    for (let i = 0, l = groups.length; i < l; i++) {\n      const group = groups[i];\n      this.addGroup(group.start, group.count, group.materialIndex);\n    }\n    const boundingBox = source.boundingBox;\n    if (boundingBox !== null) {\n      this.boundingBox = boundingBox.clone();\n    }\n    const boundingSphere = source.boundingSphere;\n    if (boundingSphere !== null) {\n      this.boundingSphere = boundingSphere.clone();\n    }\n    this.drawRange.start = source.drawRange.start;\n    this.drawRange.count = source.drawRange.count;\n    this.userData = source.userData;\n    return this;\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n  }\n};\nvar _inverseMatrix$3 = /* @__PURE__ */ new Matrix4();\nvar _ray$3 = /* @__PURE__ */ new Ray();\nvar _sphere$6 = /* @__PURE__ */ new Sphere();\nvar _sphereHitAt = /* @__PURE__ */ new Vector3();\nvar _vA$1 = /* @__PURE__ */ new Vector3();\nvar _vB$1 = /* @__PURE__ */ new Vector3();\nvar _vC$1 = /* @__PURE__ */ new Vector3();\nvar _tempA = /* @__PURE__ */ new Vector3();\nvar _morphA = /* @__PURE__ */ new Vector3();\nvar _intersectionPoint = /* @__PURE__ */ new Vector3();\nvar _intersectionPointWorld = /* @__PURE__ */ new Vector3();\nvar Mesh = class extends Object3D {\n  constructor(geometry = new BufferGeometry(), material = new MeshBasicMaterial()) {\n    super();\n    this.isMesh = true;\n    this.type = \"Mesh\";\n    this.geometry = geometry;\n    this.material = material;\n    this.updateMorphTargets();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    if (source.morphTargetInfluences !== void 0) {\n      this.morphTargetInfluences = source.morphTargetInfluences.slice();\n    }\n    if (source.morphTargetDictionary !== void 0) {\n      this.morphTargetDictionary = Object.assign({}, source.morphTargetDictionary);\n    }\n    this.material = Array.isArray(source.material) ? source.material.slice() : source.material;\n    this.geometry = source.geometry;\n    return this;\n  }\n  updateMorphTargets() {\n    const geometry = this.geometry;\n    const morphAttributes = geometry.morphAttributes;\n    const keys = Object.keys(morphAttributes);\n    if (keys.length > 0) {\n      const morphAttribute = morphAttributes[keys[0]];\n      if (morphAttribute !== void 0) {\n        this.morphTargetInfluences = [];\n        this.morphTargetDictionary = {};\n        for (let m = 0, ml = morphAttribute.length; m < ml; m++) {\n          const name = morphAttribute[m].name || String(m);\n          this.morphTargetInfluences.push(0);\n          this.morphTargetDictionary[name] = m;\n        }\n      }\n    }\n  }\n  getVertexPosition(index, target) {\n    const geometry = this.geometry;\n    const position = geometry.attributes.position;\n    const morphPosition = geometry.morphAttributes.position;\n    const morphTargetsRelative = geometry.morphTargetsRelative;\n    target.fromBufferAttribute(position, index);\n    const morphInfluences = this.morphTargetInfluences;\n    if (morphPosition && morphInfluences) {\n      _morphA.set(0, 0, 0);\n      for (let i = 0, il = morphPosition.length; i < il; i++) {\n        const influence = morphInfluences[i];\n        const morphAttribute = morphPosition[i];\n        if (influence === 0) continue;\n        _tempA.fromBufferAttribute(morphAttribute, index);\n        if (morphTargetsRelative) {\n          _morphA.addScaledVector(_tempA, influence);\n        } else {\n          _morphA.addScaledVector(_tempA.sub(target), influence);\n        }\n      }\n      target.add(_morphA);\n    }\n    return target;\n  }\n  raycast(raycaster, intersects2) {\n    const geometry = this.geometry;\n    const material = this.material;\n    const matrixWorld = this.matrixWorld;\n    if (material === void 0) return;\n    if (geometry.boundingSphere === null) geometry.computeBoundingSphere();\n    _sphere$6.copy(geometry.boundingSphere);\n    _sphere$6.applyMatrix4(matrixWorld);\n    _ray$3.copy(raycaster.ray).recast(raycaster.near);\n    if (_sphere$6.containsPoint(_ray$3.origin) === false) {\n      if (_ray$3.intersectSphere(_sphere$6, _sphereHitAt) === null) return;\n      if (_ray$3.origin.distanceToSquared(_sphereHitAt) > __pow(raycaster.far - raycaster.near, 2)) return;\n    }\n    _inverseMatrix$3.copy(matrixWorld).invert();\n    _ray$3.copy(raycaster.ray).applyMatrix4(_inverseMatrix$3);\n    if (geometry.boundingBox !== null) {\n      if (_ray$3.intersectsBox(geometry.boundingBox) === false) return;\n    }\n    this._computeIntersections(raycaster, intersects2, _ray$3);\n  }\n  _computeIntersections(raycaster, intersects2, rayLocalSpace) {\n    let intersection;\n    const geometry = this.geometry;\n    const material = this.material;\n    const index = geometry.index;\n    const position = geometry.attributes.position;\n    const uv = geometry.attributes.uv;\n    const uv1 = geometry.attributes.uv1;\n    const normal = geometry.attributes.normal;\n    const groups = geometry.groups;\n    const drawRange = geometry.drawRange;\n    if (index !== null) {\n      if (Array.isArray(material)) {\n        for (let i = 0, il = groups.length; i < il; i++) {\n          const group = groups[i];\n          const groupMaterial = material[group.materialIndex];\n          const start = Math.max(group.start, drawRange.start);\n          const end = Math.min(index.count, Math.min(group.start + group.count, drawRange.start + drawRange.count));\n          for (let j = start, jl = end; j < jl; j += 3) {\n            const a = index.getX(j);\n            const b = index.getX(j + 1);\n            const c = index.getX(j + 2);\n            intersection = checkGeometryIntersection(this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c);\n            if (intersection) {\n              intersection.faceIndex = Math.floor(j / 3);\n              intersection.face.materialIndex = group.materialIndex;\n              intersects2.push(intersection);\n            }\n          }\n        }\n      } else {\n        const start = Math.max(0, drawRange.start);\n        const end = Math.min(index.count, drawRange.start + drawRange.count);\n        for (let i = start, il = end; i < il; i += 3) {\n          const a = index.getX(i);\n          const b = index.getX(i + 1);\n          const c = index.getX(i + 2);\n          intersection = checkGeometryIntersection(this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c);\n          if (intersection) {\n            intersection.faceIndex = Math.floor(i / 3);\n            intersects2.push(intersection);\n          }\n        }\n      }\n    } else if (position !== void 0) {\n      if (Array.isArray(material)) {\n        for (let i = 0, il = groups.length; i < il; i++) {\n          const group = groups[i];\n          const groupMaterial = material[group.materialIndex];\n          const start = Math.max(group.start, drawRange.start);\n          const end = Math.min(position.count, Math.min(group.start + group.count, drawRange.start + drawRange.count));\n          for (let j = start, jl = end; j < jl; j += 3) {\n            const a = j;\n            const b = j + 1;\n            const c = j + 2;\n            intersection = checkGeometryIntersection(this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c);\n            if (intersection) {\n              intersection.faceIndex = Math.floor(j / 3);\n              intersection.face.materialIndex = group.materialIndex;\n              intersects2.push(intersection);\n            }\n          }\n        }\n      } else {\n        const start = Math.max(0, drawRange.start);\n        const end = Math.min(position.count, drawRange.start + drawRange.count);\n        for (let i = start, il = end; i < il; i += 3) {\n          const a = i;\n          const b = i + 1;\n          const c = i + 2;\n          intersection = checkGeometryIntersection(this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c);\n          if (intersection) {\n            intersection.faceIndex = Math.floor(i / 3);\n            intersects2.push(intersection);\n          }\n        }\n      }\n    }\n  }\n};\nfunction checkIntersection$1(object, material, raycaster, ray, pA, pB, pC, point) {\n  let intersect2;\n  if (material.side === BackSide) {\n    intersect2 = ray.intersectTriangle(pC, pB, pA, true, point);\n  } else {\n    intersect2 = ray.intersectTriangle(pA, pB, pC, material.side === FrontSide, point);\n  }\n  if (intersect2 === null) return null;\n  _intersectionPointWorld.copy(point);\n  _intersectionPointWorld.applyMatrix4(object.matrixWorld);\n  const distance = raycaster.ray.origin.distanceTo(_intersectionPointWorld);\n  if (distance < raycaster.near || distance > raycaster.far) return null;\n  return {\n    distance,\n    point: _intersectionPointWorld.clone(),\n    object\n  };\n}\nfunction checkGeometryIntersection(object, material, raycaster, ray, uv, uv1, normal, a, b, c) {\n  object.getVertexPosition(a, _vA$1);\n  object.getVertexPosition(b, _vB$1);\n  object.getVertexPosition(c, _vC$1);\n  const intersection = checkIntersection$1(object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint);\n  if (intersection) {\n    const barycoord = new Vector3();\n    Triangle.getBarycoord(_intersectionPoint, _vA$1, _vB$1, _vC$1, barycoord);\n    if (uv) {\n      intersection.uv = Triangle.getInterpolatedAttribute(uv, a, b, c, barycoord, new Vector2());\n    }\n    if (uv1) {\n      intersection.uv1 = Triangle.getInterpolatedAttribute(uv1, a, b, c, barycoord, new Vector2());\n    }\n    if (normal) {\n      intersection.normal = Triangle.getInterpolatedAttribute(normal, a, b, c, barycoord, new Vector3());\n      if (intersection.normal.dot(ray.direction) > 0) {\n        intersection.normal.multiplyScalar(-1);\n      }\n    }\n    const face = {\n      a,\n      b,\n      c,\n      normal: new Vector3(),\n      materialIndex: 0\n    };\n    Triangle.getNormal(_vA$1, _vB$1, _vC$1, face.normal);\n    intersection.face = face;\n    intersection.barycoord = barycoord;\n  }\n  return intersection;\n}\nvar BoxGeometry = class _BoxGeometry extends BufferGeometry {\n  constructor(width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1) {\n    super();\n    this.type = \"BoxGeometry\";\n    this.parameters = {\n      width,\n      height,\n      depth,\n      widthSegments,\n      heightSegments,\n      depthSegments\n    };\n    const scope = this;\n    widthSegments = Math.floor(widthSegments);\n    heightSegments = Math.floor(heightSegments);\n    depthSegments = Math.floor(depthSegments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    let numberOfVertices = 0;\n    let groupStart = 0;\n    buildPlane(\"z\", \"y\", \"x\", -1, -1, depth, height, width, depthSegments, heightSegments, 0);\n    buildPlane(\"z\", \"y\", \"x\", 1, -1, depth, height, -width, depthSegments, heightSegments, 1);\n    buildPlane(\"x\", \"z\", \"y\", 1, 1, width, depth, height, widthSegments, depthSegments, 2);\n    buildPlane(\"x\", \"z\", \"y\", 1, -1, width, depth, -height, widthSegments, depthSegments, 3);\n    buildPlane(\"x\", \"y\", \"z\", 1, -1, width, height, depth, widthSegments, heightSegments, 4);\n    buildPlane(\"x\", \"y\", \"z\", -1, -1, width, height, -depth, widthSegments, heightSegments, 5);\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    function buildPlane(u, v, w, udir, vdir, width2, height2, depth2, gridX, gridY, materialIndex) {\n      const segmentWidth = width2 / gridX;\n      const segmentHeight = height2 / gridY;\n      const widthHalf = width2 / 2;\n      const heightHalf = height2 / 2;\n      const depthHalf = depth2 / 2;\n      const gridX1 = gridX + 1;\n      const gridY1 = gridY + 1;\n      let vertexCounter = 0;\n      let groupCount = 0;\n      const vector = new Vector3();\n      for (let iy = 0; iy < gridY1; iy++) {\n        const y = iy * segmentHeight - heightHalf;\n        for (let ix = 0; ix < gridX1; ix++) {\n          const x = ix * segmentWidth - widthHalf;\n          vector[u] = x * udir;\n          vector[v] = y * vdir;\n          vector[w] = depthHalf;\n          vertices.push(vector.x, vector.y, vector.z);\n          vector[u] = 0;\n          vector[v] = 0;\n          vector[w] = depth2 > 0 ? 1 : -1;\n          normals.push(vector.x, vector.y, vector.z);\n          uvs.push(ix / gridX);\n          uvs.push(1 - iy / gridY);\n          vertexCounter += 1;\n        }\n      }\n      for (let iy = 0; iy < gridY; iy++) {\n        for (let ix = 0; ix < gridX; ix++) {\n          const a = numberOfVertices + ix + gridX1 * iy;\n          const b = numberOfVertices + ix + gridX1 * (iy + 1);\n          const c = numberOfVertices + (ix + 1) + gridX1 * (iy + 1);\n          const d = numberOfVertices + (ix + 1) + gridX1 * iy;\n          indices.push(a, b, d);\n          indices.push(b, c, d);\n          groupCount += 6;\n        }\n      }\n      scope.addGroup(groupStart, groupCount, materialIndex);\n      groupStart += groupCount;\n      numberOfVertices += vertexCounter;\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _BoxGeometry(data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments);\n  }\n};\nfunction cloneUniforms(src) {\n  const dst = {};\n  for (const u in src) {\n    dst[u] = {};\n    for (const p in src[u]) {\n      const property = src[u][p];\n      if (property && (property.isColor || property.isMatrix3 || property.isMatrix4 || property.isVector2 || property.isVector3 || property.isVector4 || property.isTexture || property.isQuaternion)) {\n        if (property.isRenderTargetTexture) {\n          console.warn(\"UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().\");\n          dst[u][p] = null;\n        } else {\n          dst[u][p] = property.clone();\n        }\n      } else if (Array.isArray(property)) {\n        dst[u][p] = property.slice();\n      } else {\n        dst[u][p] = property;\n      }\n    }\n  }\n  return dst;\n}\nfunction mergeUniforms(uniforms) {\n  const merged = {};\n  for (let u = 0; u < uniforms.length; u++) {\n    const tmp2 = cloneUniforms(uniforms[u]);\n    for (const p in tmp2) {\n      merged[p] = tmp2[p];\n    }\n  }\n  return merged;\n}\nfunction cloneUniformsGroups(src) {\n  const dst = [];\n  for (let u = 0; u < src.length; u++) {\n    dst.push(src[u].clone());\n  }\n  return dst;\n}\nfunction getUnlitUniformColorSpace(renderer) {\n  const currentRenderTarget = renderer.getRenderTarget();\n  if (currentRenderTarget === null) {\n    return renderer.outputColorSpace;\n  }\n  if (currentRenderTarget.isXRRenderTarget === true) {\n    return currentRenderTarget.texture.colorSpace;\n  }\n  return ColorManagement.workingColorSpace;\n}\nvar UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms };\nvar default_vertex = \"void main() {\\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";\nvar default_fragment = \"void main() {\\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";\nvar ShaderMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isShaderMaterial = true;\n    this.type = \"ShaderMaterial\";\n    this.defines = {};\n    this.uniforms = {};\n    this.uniformsGroups = [];\n    this.vertexShader = default_vertex;\n    this.fragmentShader = default_fragment;\n    this.linewidth = 1;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.fog = false;\n    this.lights = false;\n    this.clipping = false;\n    this.forceSinglePass = true;\n    this.extensions = {\n      clipCullDistance: false,\n      // set to use vertex shader clipping\n      multiDraw: false\n      // set to use vertex shader multi_draw / enable gl_DrawID\n    };\n    this.defaultAttributeValues = {\n      \"color\": [1, 1, 1],\n      \"uv\": [0, 0],\n      \"uv1\": [0, 0]\n    };\n    this.index0AttributeName = void 0;\n    this.uniformsNeedUpdate = false;\n    this.glslVersion = null;\n    if (parameters !== void 0) {\n      this.setValues(parameters);\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.fragmentShader = source.fragmentShader;\n    this.vertexShader = source.vertexShader;\n    this.uniforms = cloneUniforms(source.uniforms);\n    this.uniformsGroups = cloneUniformsGroups(source.uniformsGroups);\n    this.defines = Object.assign({}, source.defines);\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.fog = source.fog;\n    this.lights = source.lights;\n    this.clipping = source.clipping;\n    this.extensions = Object.assign({}, source.extensions);\n    this.glslVersion = source.glslVersion;\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.glslVersion = this.glslVersion;\n    data.uniforms = {};\n    for (const name in this.uniforms) {\n      const uniform = this.uniforms[name];\n      const value = uniform.value;\n      if (value && value.isTexture) {\n        data.uniforms[name] = {\n          type: \"t\",\n          value: value.toJSON(meta).uuid\n        };\n      } else if (value && value.isColor) {\n        data.uniforms[name] = {\n          type: \"c\",\n          value: value.getHex()\n        };\n      } else if (value && value.isVector2) {\n        data.uniforms[name] = {\n          type: \"v2\",\n          value: value.toArray()\n        };\n      } else if (value && value.isVector3) {\n        data.uniforms[name] = {\n          type: \"v3\",\n          value: value.toArray()\n        };\n      } else if (value && value.isVector4) {\n        data.uniforms[name] = {\n          type: \"v4\",\n          value: value.toArray()\n        };\n      } else if (value && value.isMatrix3) {\n        data.uniforms[name] = {\n          type: \"m3\",\n          value: value.toArray()\n        };\n      } else if (value && value.isMatrix4) {\n        data.uniforms[name] = {\n          type: \"m4\",\n          value: value.toArray()\n        };\n      } else {\n        data.uniforms[name] = {\n          value\n        };\n      }\n    }\n    if (Object.keys(this.defines).length > 0) data.defines = this.defines;\n    data.vertexShader = this.vertexShader;\n    data.fragmentShader = this.fragmentShader;\n    data.lights = this.lights;\n    data.clipping = this.clipping;\n    const extensions = {};\n    for (const key in this.extensions) {\n      if (this.extensions[key] === true) extensions[key] = true;\n    }\n    if (Object.keys(extensions).length > 0) data.extensions = extensions;\n    return data;\n  }\n};\nvar Camera = class extends Object3D {\n  constructor() {\n    super();\n    this.isCamera = true;\n    this.type = \"Camera\";\n    this.matrixWorldInverse = new Matrix4();\n    this.projectionMatrix = new Matrix4();\n    this.projectionMatrixInverse = new Matrix4();\n    this.coordinateSystem = WebGLCoordinateSystem;\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.matrixWorldInverse.copy(source.matrixWorldInverse);\n    this.projectionMatrix.copy(source.projectionMatrix);\n    this.projectionMatrixInverse.copy(source.projectionMatrixInverse);\n    this.coordinateSystem = source.coordinateSystem;\n    return this;\n  }\n  getWorldDirection(target) {\n    return super.getWorldDirection(target).negate();\n  }\n  updateMatrixWorld(force) {\n    super.updateMatrixWorld(force);\n    this.matrixWorldInverse.copy(this.matrixWorld).invert();\n  }\n  updateWorldMatrix(updateParents, updateChildren) {\n    super.updateWorldMatrix(updateParents, updateChildren);\n    this.matrixWorldInverse.copy(this.matrixWorld).invert();\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar _v3$1 = /* @__PURE__ */ new Vector3();\nvar _minTarget = /* @__PURE__ */ new Vector2();\nvar _maxTarget = /* @__PURE__ */ new Vector2();\nvar PerspectiveCamera = class extends Camera {\n  constructor(fov2 = 50, aspect2 = 1, near = 0.1, far = 2e3) {\n    super();\n    this.isPerspectiveCamera = true;\n    this.type = \"PerspectiveCamera\";\n    this.fov = fov2;\n    this.zoom = 1;\n    this.near = near;\n    this.far = far;\n    this.focus = 10;\n    this.aspect = aspect2;\n    this.view = null;\n    this.filmGauge = 35;\n    this.filmOffset = 0;\n    this.updateProjectionMatrix();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.fov = source.fov;\n    this.zoom = source.zoom;\n    this.near = source.near;\n    this.far = source.far;\n    this.focus = source.focus;\n    this.aspect = source.aspect;\n    this.view = source.view === null ? null : Object.assign({}, source.view);\n    this.filmGauge = source.filmGauge;\n    this.filmOffset = source.filmOffset;\n    return this;\n  }\n  /**\n   * Sets the FOV by focal length in respect to the current .filmGauge.\n   *\n   * The default film gauge is 35, so that the focal length can be specified for\n   * a 35mm (full frame) camera.\n   *\n   * Values for focal length and film gauge must have the same unit.\n   */\n  setFocalLength(focalLength) {\n    const vExtentSlope = 0.5 * this.getFilmHeight() / focalLength;\n    this.fov = RAD2DEG * 2 * Math.atan(vExtentSlope);\n    this.updateProjectionMatrix();\n  }\n  /**\n   * Calculates the focal length from the current .fov and .filmGauge.\n   */\n  getFocalLength() {\n    const vExtentSlope = Math.tan(DEG2RAD * 0.5 * this.fov);\n    return 0.5 * this.getFilmHeight() / vExtentSlope;\n  }\n  getEffectiveFOV() {\n    return RAD2DEG * 2 * Math.atan(\n      Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom\n    );\n  }\n  getFilmWidth() {\n    return this.filmGauge * Math.min(this.aspect, 1);\n  }\n  getFilmHeight() {\n    return this.filmGauge / Math.max(this.aspect, 1);\n  }\n  /**\n   * Computes the 2D bounds of the camera's viewable rectangle at a given distance along the viewing direction.\n   * Sets minTarget and maxTarget to the coordinates of the lower-left and upper-right corners of the view rectangle.\n   */\n  getViewBounds(distance, minTarget, maxTarget) {\n    _v3$1.set(-1, -1, 0.5).applyMatrix4(this.projectionMatrixInverse);\n    minTarget.set(_v3$1.x, _v3$1.y).multiplyScalar(-distance / _v3$1.z);\n    _v3$1.set(1, 1, 0.5).applyMatrix4(this.projectionMatrixInverse);\n    maxTarget.set(_v3$1.x, _v3$1.y).multiplyScalar(-distance / _v3$1.z);\n  }\n  /**\n   * Computes the width and height of the camera's viewable rectangle at a given distance along the viewing direction.\n   * Copies the result into the target Vector2, where x is width and y is height.\n   */\n  getViewSize(distance, target) {\n    this.getViewBounds(distance, _minTarget, _maxTarget);\n    return target.subVectors(_maxTarget, _minTarget);\n  }\n  /**\n   * Sets an offset in a larger frustum. This is useful for multi-window or\n   * multi-monitor/multi-machine setups.\n   *\n   * For example, if you have 3x2 monitors and each monitor is 1920x1080 and\n   * the monitors are in grid like this\n   *\n   *   +---+---+---+\n   *   | A | B | C |\n   *   +---+---+---+\n   *   | D | E | F |\n   *   +---+---+---+\n   *\n   * then for each monitor you would call it like this\n   *\n   *   const w = 1920;\n   *   const h = 1080;\n   *   const fullWidth = w * 3;\n   *   const fullHeight = h * 2;\n   *\n   *   --A--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );\n   *   --B--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );\n   *   --C--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );\n   *   --D--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );\n   *   --E--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );\n   *   --F--\n   *   camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );\n   *\n   *   Note there is no reason monitors have to be the same size or in a grid.\n   */\n  setViewOffset(fullWidth, fullHeight, x, y, width, height) {\n    this.aspect = fullWidth / fullHeight;\n    if (this.view === null) {\n      this.view = {\n        enabled: true,\n        fullWidth: 1,\n        fullHeight: 1,\n        offsetX: 0,\n        offsetY: 0,\n        width: 1,\n        height: 1\n      };\n    }\n    this.view.enabled = true;\n    this.view.fullWidth = fullWidth;\n    this.view.fullHeight = fullHeight;\n    this.view.offsetX = x;\n    this.view.offsetY = y;\n    this.view.width = width;\n    this.view.height = height;\n    this.updateProjectionMatrix();\n  }\n  clearViewOffset() {\n    if (this.view !== null) {\n      this.view.enabled = false;\n    }\n    this.updateProjectionMatrix();\n  }\n  updateProjectionMatrix() {\n    const near = this.near;\n    let top = near * Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom;\n    let height = 2 * top;\n    let width = this.aspect * height;\n    let left = -0.5 * width;\n    const view = this.view;\n    if (this.view !== null && this.view.enabled) {\n      const fullWidth = view.fullWidth, fullHeight = view.fullHeight;\n      left += view.offsetX * width / fullWidth;\n      top -= view.offsetY * height / fullHeight;\n      width *= view.width / fullWidth;\n      height *= view.height / fullHeight;\n    }\n    const skew = this.filmOffset;\n    if (skew !== 0) left += near * skew / this.getFilmWidth();\n    this.projectionMatrix.makePerspective(left, left + width, top, top - height, near, this.far, this.coordinateSystem);\n    this.projectionMatrixInverse.copy(this.projectionMatrix).invert();\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.object.fov = this.fov;\n    data.object.zoom = this.zoom;\n    data.object.near = this.near;\n    data.object.far = this.far;\n    data.object.focus = this.focus;\n    data.object.aspect = this.aspect;\n    if (this.view !== null) data.object.view = Object.assign({}, this.view);\n    data.object.filmGauge = this.filmGauge;\n    data.object.filmOffset = this.filmOffset;\n    return data;\n  }\n};\nvar fov = -90;\nvar aspect = 1;\nvar CubeCamera = class extends Object3D {\n  constructor(near, far, renderTarget) {\n    super();\n    this.type = \"CubeCamera\";\n    this.renderTarget = renderTarget;\n    this.coordinateSystem = null;\n    this.activeMipmapLevel = 0;\n    const cameraPX = new PerspectiveCamera(fov, aspect, near, far);\n    cameraPX.layers = this.layers;\n    this.add(cameraPX);\n    const cameraNX = new PerspectiveCamera(fov, aspect, near, far);\n    cameraNX.layers = this.layers;\n    this.add(cameraNX);\n    const cameraPY = new PerspectiveCamera(fov, aspect, near, far);\n    cameraPY.layers = this.layers;\n    this.add(cameraPY);\n    const cameraNY = new PerspectiveCamera(fov, aspect, near, far);\n    cameraNY.layers = this.layers;\n    this.add(cameraNY);\n    const cameraPZ = new PerspectiveCamera(fov, aspect, near, far);\n    cameraPZ.layers = this.layers;\n    this.add(cameraPZ);\n    const cameraNZ = new PerspectiveCamera(fov, aspect, near, far);\n    cameraNZ.layers = this.layers;\n    this.add(cameraNZ);\n  }\n  updateCoordinateSystem() {\n    const coordinateSystem = this.coordinateSystem;\n    const cameras = this.children.concat();\n    const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = cameras;\n    for (const camera of cameras) this.remove(camera);\n    if (coordinateSystem === WebGLCoordinateSystem) {\n      cameraPX.up.set(0, 1, 0);\n      cameraPX.lookAt(1, 0, 0);\n      cameraNX.up.set(0, 1, 0);\n      cameraNX.lookAt(-1, 0, 0);\n      cameraPY.up.set(0, 0, -1);\n      cameraPY.lookAt(0, 1, 0);\n      cameraNY.up.set(0, 0, 1);\n      cameraNY.lookAt(0, -1, 0);\n      cameraPZ.up.set(0, 1, 0);\n      cameraPZ.lookAt(0, 0, 1);\n      cameraNZ.up.set(0, 1, 0);\n      cameraNZ.lookAt(0, 0, -1);\n    } else if (coordinateSystem === WebGPUCoordinateSystem) {\n      cameraPX.up.set(0, -1, 0);\n      cameraPX.lookAt(-1, 0, 0);\n      cameraNX.up.set(0, -1, 0);\n      cameraNX.lookAt(1, 0, 0);\n      cameraPY.up.set(0, 0, 1);\n      cameraPY.lookAt(0, 1, 0);\n      cameraNY.up.set(0, 0, -1);\n      cameraNY.lookAt(0, -1, 0);\n      cameraPZ.up.set(0, -1, 0);\n      cameraPZ.lookAt(0, 0, 1);\n      cameraNZ.up.set(0, -1, 0);\n      cameraNZ.lookAt(0, 0, -1);\n    } else {\n      throw new Error(\"THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: \" + coordinateSystem);\n    }\n    for (const camera of cameras) {\n      this.add(camera);\n      camera.updateMatrixWorld();\n    }\n  }\n  update(renderer, scene) {\n    if (this.parent === null) this.updateMatrixWorld();\n    const { renderTarget, activeMipmapLevel } = this;\n    if (this.coordinateSystem !== renderer.coordinateSystem) {\n      this.coordinateSystem = renderer.coordinateSystem;\n      this.updateCoordinateSystem();\n    }\n    const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = this.children;\n    const currentRenderTarget = renderer.getRenderTarget();\n    const currentActiveCubeFace = renderer.getActiveCubeFace();\n    const currentActiveMipmapLevel = renderer.getActiveMipmapLevel();\n    const currentXrEnabled = renderer.xr.enabled;\n    renderer.xr.enabled = false;\n    const generateMipmaps = renderTarget.texture.generateMipmaps;\n    renderTarget.texture.generateMipmaps = false;\n    renderer.setRenderTarget(renderTarget, 0, activeMipmapLevel);\n    renderer.render(scene, cameraPX);\n    renderer.setRenderTarget(renderTarget, 1, activeMipmapLevel);\n    renderer.render(scene, cameraNX);\n    renderer.setRenderTarget(renderTarget, 2, activeMipmapLevel);\n    renderer.render(scene, cameraPY);\n    renderer.setRenderTarget(renderTarget, 3, activeMipmapLevel);\n    renderer.render(scene, cameraNY);\n    renderer.setRenderTarget(renderTarget, 4, activeMipmapLevel);\n    renderer.render(scene, cameraPZ);\n    renderTarget.texture.generateMipmaps = generateMipmaps;\n    renderer.setRenderTarget(renderTarget, 5, activeMipmapLevel);\n    renderer.render(scene, cameraNZ);\n    renderer.setRenderTarget(currentRenderTarget, currentActiveCubeFace, currentActiveMipmapLevel);\n    renderer.xr.enabled = currentXrEnabled;\n    renderTarget.texture.needsPMREMUpdate = true;\n  }\n};\nvar CubeTexture = class extends Texture {\n  constructor(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace) {\n    images = images !== void 0 ? images : [];\n    mapping = mapping !== void 0 ? mapping : CubeReflectionMapping;\n    super(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace);\n    this.isCubeTexture = true;\n    this.flipY = false;\n  }\n  get images() {\n    return this.image;\n  }\n  set images(value) {\n    this.image = value;\n  }\n};\nvar WebGLCubeRenderTarget = class extends WebGLRenderTarget {\n  constructor(size = 1, options = {}) {\n    super(size, size, options);\n    this.isWebGLCubeRenderTarget = true;\n    const image = { width: size, height: size, depth: 1 };\n    const images = [image, image, image, image, image, image];\n    this.texture = new CubeTexture(images, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.colorSpace);\n    this.texture.isRenderTargetTexture = true;\n    this.texture.generateMipmaps = options.generateMipmaps !== void 0 ? options.generateMipmaps : false;\n    this.texture.minFilter = options.minFilter !== void 0 ? options.minFilter : LinearFilter;\n  }\n  fromEquirectangularTexture(renderer, texture) {\n    this.texture.type = texture.type;\n    this.texture.colorSpace = texture.colorSpace;\n    this.texture.generateMipmaps = texture.generateMipmaps;\n    this.texture.minFilter = texture.minFilter;\n    this.texture.magFilter = texture.magFilter;\n    const shader = {\n      uniforms: {\n        tEquirect: { value: null }\n      },\n      vertexShader: (\n        /* glsl */\n        `\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t`\n      ),\n      fragmentShader: (\n        /* glsl */\n        `\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t`\n      )\n    };\n    const geometry = new BoxGeometry(5, 5, 5);\n    const material = new ShaderMaterial({\n      name: \"CubemapFromEquirect\",\n      uniforms: cloneUniforms(shader.uniforms),\n      vertexShader: shader.vertexShader,\n      fragmentShader: shader.fragmentShader,\n      side: BackSide,\n      blending: NoBlending\n    });\n    material.uniforms.tEquirect.value = texture;\n    const mesh = new Mesh(geometry, material);\n    const currentMinFilter = texture.minFilter;\n    if (texture.minFilter === LinearMipmapLinearFilter) texture.minFilter = LinearFilter;\n    const camera = new CubeCamera(1, 10, this);\n    camera.update(renderer, mesh);\n    texture.minFilter = currentMinFilter;\n    mesh.geometry.dispose();\n    mesh.material.dispose();\n    return this;\n  }\n  clear(renderer, color, depth, stencil) {\n    const currentRenderTarget = renderer.getRenderTarget();\n    for (let i = 0; i < 6; i++) {\n      renderer.setRenderTarget(this, i);\n      renderer.clear(color, depth, stencil);\n    }\n    renderer.setRenderTarget(currentRenderTarget);\n  }\n};\nvar _vector1 = /* @__PURE__ */ new Vector3();\nvar _vector2 = /* @__PURE__ */ new Vector3();\nvar _normalMatrix = /* @__PURE__ */ new Matrix3();\nvar Plane = class {\n  constructor(normal = new Vector3(1, 0, 0), constant = 0) {\n    this.isPlane = true;\n    this.normal = normal;\n    this.constant = constant;\n  }\n  set(normal, constant) {\n    this.normal.copy(normal);\n    this.constant = constant;\n    return this;\n  }\n  setComponents(x, y, z, w) {\n    this.normal.set(x, y, z);\n    this.constant = w;\n    return this;\n  }\n  setFromNormalAndCoplanarPoint(normal, point) {\n    this.normal.copy(normal);\n    this.constant = -point.dot(this.normal);\n    return this;\n  }\n  setFromCoplanarPoints(a, b, c) {\n    const normal = _vector1.subVectors(c, b).cross(_vector2.subVectors(a, b)).normalize();\n    this.setFromNormalAndCoplanarPoint(normal, a);\n    return this;\n  }\n  copy(plane) {\n    this.normal.copy(plane.normal);\n    this.constant = plane.constant;\n    return this;\n  }\n  normalize() {\n    const inverseNormalLength = 1 / this.normal.length();\n    this.normal.multiplyScalar(inverseNormalLength);\n    this.constant *= inverseNormalLength;\n    return this;\n  }\n  negate() {\n    this.constant *= -1;\n    this.normal.negate();\n    return this;\n  }\n  distanceToPoint(point) {\n    return this.normal.dot(point) + this.constant;\n  }\n  distanceToSphere(sphere) {\n    return this.distanceToPoint(sphere.center) - sphere.radius;\n  }\n  projectPoint(point, target) {\n    return target.copy(point).addScaledVector(this.normal, -this.distanceToPoint(point));\n  }\n  intersectLine(line, target) {\n    const direction = line.delta(_vector1);\n    const denominator = this.normal.dot(direction);\n    if (denominator === 0) {\n      if (this.distanceToPoint(line.start) === 0) {\n        return target.copy(line.start);\n      }\n      return null;\n    }\n    const t = -(line.start.dot(this.normal) + this.constant) / denominator;\n    if (t < 0 || t > 1) {\n      return null;\n    }\n    return target.copy(line.start).addScaledVector(direction, t);\n  }\n  intersectsLine(line) {\n    const startSign = this.distanceToPoint(line.start);\n    const endSign = this.distanceToPoint(line.end);\n    return startSign < 0 && endSign > 0 || endSign < 0 && startSign > 0;\n  }\n  intersectsBox(box) {\n    return box.intersectsPlane(this);\n  }\n  intersectsSphere(sphere) {\n    return sphere.intersectsPlane(this);\n  }\n  coplanarPoint(target) {\n    return target.copy(this.normal).multiplyScalar(-this.constant);\n  }\n  applyMatrix4(matrix, optionalNormalMatrix) {\n    const normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix(matrix);\n    const referencePoint = this.coplanarPoint(_vector1).applyMatrix4(matrix);\n    const normal = this.normal.applyMatrix3(normalMatrix).normalize();\n    this.constant = -referencePoint.dot(normal);\n    return this;\n  }\n  translate(offset) {\n    this.constant -= offset.dot(this.normal);\n    return this;\n  }\n  equals(plane) {\n    return plane.normal.equals(this.normal) && plane.constant === this.constant;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar _sphere$5 = /* @__PURE__ */ new Sphere();\nvar _vector$7 = /* @__PURE__ */ new Vector3();\nvar Frustum = class {\n  constructor(p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane()) {\n    this.planes = [p0, p1, p2, p3, p4, p5];\n  }\n  set(p0, p1, p2, p3, p4, p5) {\n    const planes = this.planes;\n    planes[0].copy(p0);\n    planes[1].copy(p1);\n    planes[2].copy(p2);\n    planes[3].copy(p3);\n    planes[4].copy(p4);\n    planes[5].copy(p5);\n    return this;\n  }\n  copy(frustum) {\n    const planes = this.planes;\n    for (let i = 0; i < 6; i++) {\n      planes[i].copy(frustum.planes[i]);\n    }\n    return this;\n  }\n  setFromProjectionMatrix(m, coordinateSystem = WebGLCoordinateSystem) {\n    const planes = this.planes;\n    const me = m.elements;\n    const me0 = me[0], me1 = me[1], me2 = me[2], me3 = me[3];\n    const me4 = me[4], me5 = me[5], me6 = me[6], me7 = me[7];\n    const me8 = me[8], me9 = me[9], me10 = me[10], me11 = me[11];\n    const me12 = me[12], me13 = me[13], me14 = me[14], me15 = me[15];\n    planes[0].setComponents(me3 - me0, me7 - me4, me11 - me8, me15 - me12).normalize();\n    planes[1].setComponents(me3 + me0, me7 + me4, me11 + me8, me15 + me12).normalize();\n    planes[2].setComponents(me3 + me1, me7 + me5, me11 + me9, me15 + me13).normalize();\n    planes[3].setComponents(me3 - me1, me7 - me5, me11 - me9, me15 - me13).normalize();\n    planes[4].setComponents(me3 - me2, me7 - me6, me11 - me10, me15 - me14).normalize();\n    if (coordinateSystem === WebGLCoordinateSystem) {\n      planes[5].setComponents(me3 + me2, me7 + me6, me11 + me10, me15 + me14).normalize();\n    } else if (coordinateSystem === WebGPUCoordinateSystem) {\n      planes[5].setComponents(me2, me6, me10, me14).normalize();\n    } else {\n      throw new Error(\"THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: \" + coordinateSystem);\n    }\n    return this;\n  }\n  intersectsObject(object) {\n    if (object.boundingSphere !== void 0) {\n      if (object.boundingSphere === null) object.computeBoundingSphere();\n      _sphere$5.copy(object.boundingSphere).applyMatrix4(object.matrixWorld);\n    } else {\n      const geometry = object.geometry;\n      if (geometry.boundingSphere === null) geometry.computeBoundingSphere();\n      _sphere$5.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld);\n    }\n    return this.intersectsSphere(_sphere$5);\n  }\n  intersectsSprite(sprite) {\n    _sphere$5.center.set(0, 0, 0);\n    _sphere$5.radius = 0.7071067811865476;\n    _sphere$5.applyMatrix4(sprite.matrixWorld);\n    return this.intersectsSphere(_sphere$5);\n  }\n  intersectsSphere(sphere) {\n    const planes = this.planes;\n    const center = sphere.center;\n    const negRadius = -sphere.radius;\n    for (let i = 0; i < 6; i++) {\n      const distance = planes[i].distanceToPoint(center);\n      if (distance < negRadius) {\n        return false;\n      }\n    }\n    return true;\n  }\n  intersectsBox(box) {\n    const planes = this.planes;\n    for (let i = 0; i < 6; i++) {\n      const plane = planes[i];\n      _vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x;\n      _vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y;\n      _vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z;\n      if (plane.distanceToPoint(_vector$7) < 0) {\n        return false;\n      }\n    }\n    return true;\n  }\n  containsPoint(point) {\n    const planes = this.planes;\n    for (let i = 0; i < 6; i++) {\n      if (planes[i].distanceToPoint(point) < 0) {\n        return false;\n      }\n    }\n    return true;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nfunction WebGLAnimation() {\n  let context = null;\n  let isAnimating = false;\n  let animationLoop = null;\n  let requestId = null;\n  function onAnimationFrame(time, frame) {\n    animationLoop(time, frame);\n    requestId = context.requestAnimationFrame(onAnimationFrame);\n  }\n  return {\n    start: function() {\n      if (isAnimating === true) return;\n      if (animationLoop === null) return;\n      requestId = context.requestAnimationFrame(onAnimationFrame);\n      isAnimating = true;\n    },\n    stop: function() {\n      context.cancelAnimationFrame(requestId);\n      isAnimating = false;\n    },\n    setAnimationLoop: function(callback) {\n      animationLoop = callback;\n    },\n    setContext: function(value) {\n      context = value;\n    }\n  };\n}\nfunction WebGLAttributes(gl) {\n  const buffers = /* @__PURE__ */ new WeakMap();\n  function createBuffer(attribute, bufferType) {\n    const array = attribute.array;\n    const usage = attribute.usage;\n    const size = array.byteLength;\n    const buffer = gl.createBuffer();\n    gl.bindBuffer(bufferType, buffer);\n    gl.bufferData(bufferType, array, usage);\n    attribute.onUploadCallback();\n    let type;\n    if (array instanceof Float32Array) {\n      type = gl.FLOAT;\n    } else if (array instanceof Uint16Array) {\n      if (attribute.isFloat16BufferAttribute) {\n        type = gl.HALF_FLOAT;\n      } else {\n        type = gl.UNSIGNED_SHORT;\n      }\n    } else if (array instanceof Int16Array) {\n      type = gl.SHORT;\n    } else if (array instanceof Uint32Array) {\n      type = gl.UNSIGNED_INT;\n    } else if (array instanceof Int32Array) {\n      type = gl.INT;\n    } else if (array instanceof Int8Array) {\n      type = gl.BYTE;\n    } else if (array instanceof Uint8Array) {\n      type = gl.UNSIGNED_BYTE;\n    } else if (array instanceof Uint8ClampedArray) {\n      type = gl.UNSIGNED_BYTE;\n    } else {\n      throw new Error(\"THREE.WebGLAttributes: Unsupported buffer data format: \" + array);\n    }\n    return {\n      buffer,\n      type,\n      bytesPerElement: array.BYTES_PER_ELEMENT,\n      version: attribute.version,\n      size\n    };\n  }\n  function updateBuffer(buffer, attribute, bufferType) {\n    const array = attribute.array;\n    const updateRanges = attribute.updateRanges;\n    gl.bindBuffer(bufferType, buffer);\n    if (updateRanges.length === 0) {\n      gl.bufferSubData(bufferType, 0, array);\n    } else {\n      updateRanges.sort((a, b) => a.start - b.start);\n      let mergeIndex = 0;\n      for (let i = 1; i < updateRanges.length; i++) {\n        const previousRange = updateRanges[mergeIndex];\n        const range = updateRanges[i];\n        if (range.start <= previousRange.start + previousRange.count + 1) {\n          previousRange.count = Math.max(\n            previousRange.count,\n            range.start + range.count - previousRange.start\n          );\n        } else {\n          ++mergeIndex;\n          updateRanges[mergeIndex] = range;\n        }\n      }\n      updateRanges.length = mergeIndex + 1;\n      for (let i = 0, l = updateRanges.length; i < l; i++) {\n        const range = updateRanges[i];\n        gl.bufferSubData(\n          bufferType,\n          range.start * array.BYTES_PER_ELEMENT,\n          array,\n          range.start,\n          range.count\n        );\n      }\n      attribute.clearUpdateRanges();\n    }\n    attribute.onUploadCallback();\n  }\n  function get(attribute) {\n    if (attribute.isInterleavedBufferAttribute) attribute = attribute.data;\n    return buffers.get(attribute);\n  }\n  function remove(attribute) {\n    if (attribute.isInterleavedBufferAttribute) attribute = attribute.data;\n    const data = buffers.get(attribute);\n    if (data) {\n      gl.deleteBuffer(data.buffer);\n      buffers.delete(attribute);\n    }\n  }\n  function update(attribute, bufferType) {\n    if (attribute.isInterleavedBufferAttribute) attribute = attribute.data;\n    if (attribute.isGLBufferAttribute) {\n      const cached = buffers.get(attribute);\n      if (!cached || cached.version < attribute.version) {\n        buffers.set(attribute, {\n          buffer: attribute.buffer,\n          type: attribute.type,\n          bytesPerElement: attribute.elementSize,\n          version: attribute.version\n        });\n      }\n      return;\n    }\n    const data = buffers.get(attribute);\n    if (data === void 0) {\n      buffers.set(attribute, createBuffer(attribute, bufferType));\n    } else if (data.version < attribute.version) {\n      if (data.size !== attribute.array.byteLength) {\n        throw new Error(\"THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.\");\n      }\n      updateBuffer(data.buffer, attribute, bufferType);\n      data.version = attribute.version;\n    }\n  }\n  return {\n    get,\n    remove,\n    update\n  };\n}\nvar PlaneGeometry = class _PlaneGeometry extends BufferGeometry {\n  constructor(width = 1, height = 1, widthSegments = 1, heightSegments = 1) {\n    super();\n    this.type = \"PlaneGeometry\";\n    this.parameters = {\n      width,\n      height,\n      widthSegments,\n      heightSegments\n    };\n    const width_half = width / 2;\n    const height_half = height / 2;\n    const gridX = Math.floor(widthSegments);\n    const gridY = Math.floor(heightSegments);\n    const gridX1 = gridX + 1;\n    const gridY1 = gridY + 1;\n    const segment_width = width / gridX;\n    const segment_height = height / gridY;\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    for (let iy = 0; iy < gridY1; iy++) {\n      const y = iy * segment_height - height_half;\n      for (let ix = 0; ix < gridX1; ix++) {\n        const x = ix * segment_width - width_half;\n        vertices.push(x, -y, 0);\n        normals.push(0, 0, 1);\n        uvs.push(ix / gridX);\n        uvs.push(1 - iy / gridY);\n      }\n    }\n    for (let iy = 0; iy < gridY; iy++) {\n      for (let ix = 0; ix < gridX; ix++) {\n        const a = ix + gridX1 * iy;\n        const b = ix + gridX1 * (iy + 1);\n        const c = ix + 1 + gridX1 * (iy + 1);\n        const d = ix + 1 + gridX1 * iy;\n        indices.push(a, b, d);\n        indices.push(b, c, d);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _PlaneGeometry(data.width, data.height, data.widthSegments, data.heightSegments);\n  }\n};\nvar alphahash_fragment = \"#ifdef USE_ALPHAHASH\\n\tif ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;\\n#endif\";\nvar alphahash_pars_fragment = \"#ifdef USE_ALPHAHASH\\n\tconst float ALPHA_HASH_SCALE = 0.05;\\n\tfloat hash2D( vec2 value ) {\\n\t\treturn fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );\\n\t}\\n\tfloat hash3D( vec3 value ) {\\n\t\treturn hash2D( vec2( hash2D( value.xy ), value.z ) );\\n\t}\\n\tfloat getAlphaHashThreshold( vec3 position ) {\\n\t\tfloat maxDeriv = max(\\n\t\t\tlength( dFdx( position.xyz ) ),\\n\t\t\tlength( dFdy( position.xyz ) )\\n\t\t);\\n\t\tfloat pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );\\n\t\tvec2 pixScales = vec2(\\n\t\t\texp2( floor( log2( pixScale ) ) ),\\n\t\t\texp2( ceil( log2( pixScale ) ) )\\n\t\t);\\n\t\tvec2 alpha = vec2(\\n\t\t\thash3D( floor( pixScales.x * position.xyz ) ),\\n\t\t\thash3D( floor( pixScales.y * position.xyz ) )\\n\t\t);\\n\t\tfloat lerpFactor = fract( log2( pixScale ) );\\n\t\tfloat x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;\\n\t\tfloat a = min( lerpFactor, 1.0 - lerpFactor );\\n\t\tvec3 cases = vec3(\\n\t\t\tx * x / ( 2.0 * a * ( 1.0 - a ) ),\\n\t\t\t( x - 0.5 * a ) / ( 1.0 - a ),\\n\t\t\t1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )\\n\t\t);\\n\t\tfloat threshold = ( x < ( 1.0 - a ) )\\n\t\t\t? ( ( x < a ) ? cases.x : cases.y )\\n\t\t\t: cases.z;\\n\t\treturn clamp( threshold , 1.0e-6, 1.0 );\\n\t}\\n#endif\";\nvar alphamap_fragment = \"#ifdef USE_ALPHAMAP\\n\tdiffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;\\n#endif\";\nvar alphamap_pars_fragment = \"#ifdef USE_ALPHAMAP\\n\tuniform sampler2D alphaMap;\\n#endif\";\nvar alphatest_fragment = \"#ifdef USE_ALPHATEST\\n\t#ifdef ALPHA_TO_COVERAGE\\n\tdiffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );\\n\tif ( diffuseColor.a == 0.0 ) discard;\\n\t#else\\n\tif ( diffuseColor.a < alphaTest ) discard;\\n\t#endif\\n#endif\";\nvar alphatest_pars_fragment = \"#ifdef USE_ALPHATEST\\n\tuniform float alphaTest;\\n#endif\";\nvar aomap_fragment = \"#ifdef USE_AOMAP\\n\tfloat ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\t#if defined( USE_CLEARCOAT ) \\n\t\tclearcoatSpecularIndirect *= ambientOcclusion;\\n\t#endif\\n\t#if defined( USE_SHEEN ) \\n\t\tsheenSpecularIndirect *= ambientOcclusion;\\n\t#endif\\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\t\tfloat dotNV = saturate( dot( geometryNormal, geometryViewDir ) );\\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\t#endif\\n#endif\";\nvar aomap_pars_fragment = \"#ifdef USE_AOMAP\\n\tuniform sampler2D aoMap;\\n\tuniform float aoMapIntensity;\\n#endif\";\nvar batching_pars_vertex = \"#ifdef USE_BATCHING\\n\t#if ! defined( GL_ANGLE_multi_draw )\\n\t#define gl_DrawID _gl_DrawID\\n\tuniform int _gl_DrawID;\\n\t#endif\\n\tuniform highp sampler2D batchingTexture;\\n\tuniform highp usampler2D batchingIdTexture;\\n\tmat4 getBatchingMatrix( const in float i ) {\\n\t\tint size = textureSize( batchingTexture, 0 ).x;\\n\t\tint j = int( i ) * 4;\\n\t\tint x = j % size;\\n\t\tint y = j / size;\\n\t\tvec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );\\n\t\tvec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );\\n\t\tvec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );\\n\t\tvec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );\\n\t\treturn mat4( v1, v2, v3, v4 );\\n\t}\\n\tfloat getIndirectIndex( const in int i ) {\\n\t\tint size = textureSize( batchingIdTexture, 0 ).x;\\n\t\tint x = i % size;\\n\t\tint y = i / size;\\n\t\treturn float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );\\n\t}\\n#endif\\n#ifdef USE_BATCHING_COLOR\\n\tuniform sampler2D batchingColorTexture;\\n\tvec3 getBatchingColor( const in float i ) {\\n\t\tint size = textureSize( batchingColorTexture, 0 ).x;\\n\t\tint j = int( i );\\n\t\tint x = j % size;\\n\t\tint y = j / size;\\n\t\treturn texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;\\n\t}\\n#endif\";\nvar batching_vertex = \"#ifdef USE_BATCHING\\n\tmat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );\\n#endif\";\nvar begin_vertex = \"vec3 transformed = vec3( position );\\n#ifdef USE_ALPHAHASH\\n\tvPosition = vec3( position );\\n#endif\";\nvar beginnormal_vertex = \"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";\nvar bsdfs = \"float G_BlinnPhong_Implicit( ) {\\n\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\tvec3 halfDir = normalize( lightDir + viewDir );\\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\tfloat G = G_BlinnPhong_Implicit( );\\n\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\treturn F * ( G * D );\\n} // validated\";\nvar iridescence_fragment = \"#ifdef USE_IRIDESCENCE\\n\tconst mat3 XYZ_TO_REC709 = mat3(\\n\t\t 3.2404542, -0.9692660,  0.0556434,\\n\t\t-1.5371385,  1.8760108, -0.2040259,\\n\t\t-0.4985314,  0.0415560,  1.0572252\\n\t);\\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\\n\t}\\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\\n\t}\\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\\n\t}\\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\\n\t\txyz /= 1.0685e-7;\\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\\n\t\treturn rgb;\\n\t}\\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\\n\t\tvec3 I;\\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\\n\t\tif ( cosTheta2Sq < 0.0 ) {\\n\t\t\treturn vec3( 1.0 );\\n\t\t}\\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\\n\t\tfloat T121 = 1.0 - R12;\\n\t\tfloat phi12 = 0.0;\\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\\n\t\tfloat phi21 = PI - phi12;\\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\\n\t\tvec3 phi23 = vec3( 0.0 );\\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\\n\t\tvec3 phi = vec3( phi21 ) + phi23;\\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\\n\t\tvec3 r123 = sqrt( R123 );\\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\\n\t\tvec3 C0 = R12 + Rs;\\n\t\tI = C0;\\n\t\tvec3 Cm = Rs - T121;\\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\\n\t\t\tCm *= r123;\\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\\n\t\t\tI += Cm * Sm;\\n\t\t}\\n\t\treturn max( I, vec3( 0.0 ) );\\n\t}\\n#endif\";\nvar bumpmap_pars_fragment = \"#ifdef USE_BUMPMAP\\n\tuniform sampler2D bumpMap;\\n\tuniform float bumpScale;\\n\tvec2 dHdxy_fwd() {\\n\t\tvec2 dSTdx = dFdx( vBumpMapUv );\\n\t\tvec2 dSTdy = dFdy( vBumpMapUv );\\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;\\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;\\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;\\n\t\treturn vec2( dBx, dBy );\\n\t}\\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\t\tvec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );\\n\t\tvec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );\\n\t\tvec3 vN = surf_norm;\\n\t\tvec3 R1 = cross( vSigmaY, vN );\\n\t\tvec3 R2 = cross( vN, vSigmaX );\\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\t}\\n#endif\";\nvar clipping_planes_fragment = \"#if NUM_CLIPPING_PLANES > 0\\n\tvec4 plane;\\n\t#ifdef ALPHA_TO_COVERAGE\\n\t\tfloat distanceToPlane, distanceGradient;\\n\t\tfloat clipOpacity = 1.0;\\n\t\t#pragma unroll_loop_start\\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\t\t\tplane = clippingPlanes[ i ];\\n\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\\n\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\\n\t\t\tclipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\\n\t\t\tif ( clipOpacity == 0.0 ) discard;\\n\t\t}\\n\t\t#pragma unroll_loop_end\\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\t\t\tfloat unionClipOpacity = 1.0;\\n\t\t\t#pragma unroll_loop_start\\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\t\t\t\tplane = clippingPlanes[ i ];\\n\t\t\t\tdistanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;\\n\t\t\t\tdistanceGradient = fwidth( distanceToPlane ) / 2.0;\\n\t\t\t\tunionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );\\n\t\t\t}\\n\t\t\t#pragma unroll_loop_end\\n\t\t\tclipOpacity *= 1.0 - unionClipOpacity;\\n\t\t#endif\\n\t\tdiffuseColor.a *= clipOpacity;\\n\t\tif ( diffuseColor.a == 0.0 ) discard;\\n\t#else\\n\t\t#pragma unroll_loop_start\\n\t\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\t\t\tplane = clippingPlanes[ i ];\\n\t\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\t\t}\\n\t\t#pragma unroll_loop_end\\n\t\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\t\t\tbool clipped = true;\\n\t\t\t#pragma unroll_loop_start\\n\t\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\t\t\t\tplane = clippingPlanes[ i ];\\n\t\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\t\t\t}\\n\t\t\t#pragma unroll_loop_end\\n\t\t\tif ( clipped ) discard;\\n\t\t#endif\\n\t#endif\\n#endif\";\nvar clipping_planes_pars_fragment = \"#if NUM_CLIPPING_PLANES > 0\\n\tvarying vec3 vClipPosition;\\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";\nvar clipping_planes_pars_vertex = \"#if NUM_CLIPPING_PLANES > 0\\n\tvarying vec3 vClipPosition;\\n#endif\";\nvar clipping_planes_vertex = \"#if NUM_CLIPPING_PLANES > 0\\n\tvClipPosition = - mvPosition.xyz;\\n#endif\";\nvar color_fragment = \"#if defined( USE_COLOR_ALPHA )\\n\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\tdiffuseColor.rgb *= vColor;\\n#endif\";\nvar color_pars_fragment = \"#if defined( USE_COLOR_ALPHA )\\n\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\tvarying vec3 vColor;\\n#endif\";\nvar color_pars_vertex = \"#if defined( USE_COLOR_ALPHA )\\n\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\tvarying vec3 vColor;\\n#endif\";\nvar color_vertex = \"#if defined( USE_COLOR_ALPHA )\\n\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )\\n\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\tvColor.xyz *= instanceColor.xyz;\\n#endif\\n#ifdef USE_BATCHING_COLOR\\n\tvec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );\\n\tvColor.xyz *= batchingColor.xyz;\\n#endif\";\nvar common = \"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nvec3 pow2( const in vec3 x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\tfloat precisionSafeLength( vec3 v ) {\\n\t\tfloat maxComponent = max3( abs( v ) );\\n\t\treturn length( v / maxComponent ) * maxComponent;\\n\t}\\n#endif\\nstruct IncidentLight {\\n\tvec3 color;\\n\tvec3 direction;\\n\tbool visible;\\n};\\nstruct ReflectedLight {\\n\tvec3 directDiffuse;\\n\tvec3 directSpecular;\\n\tvec3 indirectDiffuse;\\n\tvec3 indirectSpecular;\\n};\\n#ifdef USE_ALPHAHASH\\n\tvarying vec3 vPosition;\\n#endif\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\tmat3 tmp;\\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\treturn tmp;\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\treturn vec2( u, v );\\n}\\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n} // validated\";\nvar cube_uv_reflection_fragment = \"#ifdef ENVMAP_TYPE_CUBE_UV\\n\t#define cubeUV_minMipLevel 4.0\\n\t#define cubeUV_minTileSize 16.0\\n\tfloat getFace( vec3 direction ) {\\n\t\tvec3 absDirection = abs( direction );\\n\t\tfloat face = - 1.0;\\n\t\tif ( absDirection.x > absDirection.z ) {\\n\t\t\tif ( absDirection.x > absDirection.y )\\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\t\t\telse\\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\t\t} else {\\n\t\t\tif ( absDirection.z > absDirection.y )\\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\t\t\telse\\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\t\t}\\n\t\treturn face;\\n\t}\\n\tvec2 getUV( vec3 direction, float face ) {\\n\t\tvec2 uv;\\n\t\tif ( face == 0.0 ) {\\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\t\t} else if ( face == 1.0 ) {\\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\t\t} else if ( face == 2.0 ) {\\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\t\t} else if ( face == 3.0 ) {\\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\t\t} else if ( face == 4.0 ) {\\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\t\t} else {\\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\t\t}\\n\t\treturn 0.5 * ( uv + 1.0 );\\n\t}\\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\t\tfloat face = getFace( direction );\\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\t\tfloat faceSize = exp2( mipInt );\\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\\n\t\tif ( face > 2.0 ) {\\n\t\t\tuv.y += faceSize;\\n\t\t\tface -= 3.0;\\n\t\t}\\n\t\tuv.x += face * faceSize;\\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\\n\t\t#ifdef texture2DGradEXT\\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\\n\t\t#else\\n\t\t\treturn texture2D( envMap, uv ).rgb;\\n\t\t#endif\\n\t}\\n\t#define cubeUV_r0 1.0\\n\t#define cubeUV_m0 - 2.0\\n\t#define cubeUV_r1 0.8\\n\t#define cubeUV_m1 - 1.0\\n\t#define cubeUV_r4 0.4\\n\t#define cubeUV_m4 2.0\\n\t#define cubeUV_r5 0.305\\n\t#define cubeUV_m5 3.0\\n\t#define cubeUV_r6 0.21\\n\t#define cubeUV_m6 4.0\\n\tfloat roughnessToMip( float roughness ) {\\n\t\tfloat mip = 0.0;\\n\t\tif ( roughness >= cubeUV_r1 ) {\\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\\n\t\t} else if ( roughness >= cubeUV_r4 ) {\\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\\n\t\t} else if ( roughness >= cubeUV_r5 ) {\\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\\n\t\t} else if ( roughness >= cubeUV_r6 ) {\\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\\n\t\t} else {\\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\\n\t\treturn mip;\\n\t}\\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\\n\t\tfloat mipF = fract( mip );\\n\t\tfloat mipInt = floor( mip );\\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\t\tif ( mipF == 0.0 ) {\\n\t\t\treturn vec4( color0, 1.0 );\\n\t\t} else {\\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\t\t}\\n\t}\\n#endif\";\nvar defaultnormal_vertex = \"vec3 transformedNormal = objectNormal;\\n#ifdef USE_TANGENT\\n\tvec3 transformedTangent = objectTangent;\\n#endif\\n#ifdef USE_BATCHING\\n\tmat3 bm = mat3( batchingMatrix );\\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\\n\ttransformedNormal = bm * transformedNormal;\\n\t#ifdef USE_TANGENT\\n\t\ttransformedTangent = bm * transformedTangent;\\n\t#endif\\n#endif\\n#ifdef USE_INSTANCING\\n\tmat3 im = mat3( instanceMatrix );\\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\\n\ttransformedNormal = im * transformedNormal;\\n\t#ifdef USE_TANGENT\\n\t\ttransformedTangent = im * transformedTangent;\\n\t#endif\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\\n\t#ifdef FLIP_SIDED\\n\t\ttransformedTangent = - transformedTangent;\\n\t#endif\\n#endif\";\nvar displacementmap_pars_vertex = \"#ifdef USE_DISPLACEMENTMAP\\n\tuniform sampler2D displacementMap;\\n\tuniform float displacementScale;\\n\tuniform float displacementBias;\\n#endif\";\nvar displacementmap_vertex = \"#ifdef USE_DISPLACEMENTMAP\\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\\n#endif\";\nvar emissivemap_fragment = \"#ifdef USE_EMISSIVEMAP\\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";\nvar emissivemap_pars_fragment = \"#ifdef USE_EMISSIVEMAP\\n\tuniform sampler2D emissiveMap;\\n#endif\";\nvar colorspace_fragment = \"gl_FragColor = linearToOutputTexel( gl_FragColor );\";\nvar colorspace_pars_fragment = \"\\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\\n\tvec3( 0.8224621, 0.177538, 0.0 ),\\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\\n);\\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\\n);\\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\\n}\\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\\n}\\nvec4 LinearTransferOETF( in vec4 value ) {\\n\treturn value;\\n}\\nvec4 sRGBTransferOETF( in vec4 value ) {\\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\";\nvar envmap_fragment = \"#ifdef USE_ENVMAP\\n\t#ifdef ENV_WORLDPOS\\n\t\tvec3 cameraToFrag;\\n\t\tif ( isOrthographic ) {\\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\t\t} else {\\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\t\t}\\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\t\t#ifdef ENVMAP_MODE_REFLECTION\\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\t\t#else\\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\t\t#endif\\n\t#else\\n\t\tvec3 reflectVec = vReflect;\\n\t#endif\\n\t#ifdef ENVMAP_TYPE_CUBE\\n\t\tvec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\t#else\\n\t\tvec4 envColor = vec4( 0.0 );\\n\t#endif\\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\t#elif defined( ENVMAP_BLENDING_MIX )\\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\t#elif defined( ENVMAP_BLENDING_ADD )\\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\t#endif\\n#endif\";\nvar envmap_common_pars_fragment = \"#ifdef USE_ENVMAP\\n\tuniform float envMapIntensity;\\n\tuniform float flipEnvMap;\\n\tuniform mat3 envMapRotation;\\n\t#ifdef ENVMAP_TYPE_CUBE\\n\t\tuniform samplerCube envMap;\\n\t#else\\n\t\tuniform sampler2D envMap;\\n\t#endif\\n\t\\n#endif\";\nvar envmap_pars_fragment = \"#ifdef USE_ENVMAP\\n\tuniform float reflectivity;\\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\t\t#define ENV_WORLDPOS\\n\t#endif\\n\t#ifdef ENV_WORLDPOS\\n\t\tvarying vec3 vWorldPosition;\\n\t\tuniform float refractionRatio;\\n\t#else\\n\t\tvarying vec3 vReflect;\\n\t#endif\\n#endif\";\nvar envmap_pars_vertex = \"#ifdef USE_ENVMAP\\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\\n\t\t#define ENV_WORLDPOS\\n\t#endif\\n\t#ifdef ENV_WORLDPOS\\n\t\t\\n\t\tvarying vec3 vWorldPosition;\\n\t#else\\n\t\tvarying vec3 vReflect;\\n\t\tuniform float refractionRatio;\\n\t#endif\\n#endif\";\nvar envmap_vertex = \"#ifdef USE_ENVMAP\\n\t#ifdef ENV_WORLDPOS\\n\t\tvWorldPosition = worldPosition.xyz;\\n\t#else\\n\t\tvec3 cameraToVertex;\\n\t\tif ( isOrthographic ) {\\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\t\t} else {\\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\t\t}\\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\t\t#ifdef ENVMAP_MODE_REFLECTION\\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\\n\t\t#else\\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\t\t#endif\\n\t#endif\\n#endif\";\nvar fog_vertex = \"#ifdef USE_FOG\\n\tvFogDepth = - mvPosition.z;\\n#endif\";\nvar fog_pars_vertex = \"#ifdef USE_FOG\\n\tvarying float vFogDepth;\\n#endif\";\nvar fog_fragment = \"#ifdef USE_FOG\\n\t#ifdef FOG_EXP2\\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\t#else\\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\t#endif\\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";\nvar fog_pars_fragment = \"#ifdef USE_FOG\\n\tuniform vec3 fogColor;\\n\tvarying float vFogDepth;\\n\t#ifdef FOG_EXP2\\n\t\tuniform float fogDensity;\\n\t#else\\n\t\tuniform float fogNear;\\n\t\tuniform float fogFar;\\n\t#endif\\n#endif\";\nvar gradientmap_pars_fragment = \"#ifdef USE_GRADIENTMAP\\n\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\tfloat dotNL = dot( normal, lightDirection );\\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\t#ifdef USE_GRADIENTMAP\\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\\n\t#else\\n\t\tvec2 fw = fwidth( coord ) * 0.5;\\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\\n\t#endif\\n}\";\nvar lightmap_pars_fragment = \"#ifdef USE_LIGHTMAP\\n\tuniform sampler2D lightMap;\\n\tuniform float lightMapIntensity;\\n#endif\";\nvar lights_lambert_fragment = \"LambertMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularStrength = specularStrength;\";\nvar lights_lambert_pars_fragment = \"varying vec3 vViewPosition;\\nstruct LambertMaterial {\\n\tvec3 diffuseColor;\\n\tfloat specularStrength;\\n};\\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\tvec3 irradiance = dotNL * directLight.color;\\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert\";\nvar lights_pars_begin = \"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\n#if defined( USE_LIGHT_PROBES )\\n\tuniform vec3 lightProbe[ 9 ];\\n#endif\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\tvec3 irradiance = ambientLightColor;\\n\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\tif ( cutoffDistance > 0.0 ) {\\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\t}\\n\treturn distanceFalloff;\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\tstruct DirectionalLight {\\n\t\tvec3 direction;\\n\t\tvec3 color;\\n\t};\\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\\n\t\tlight.color = directionalLight.color;\\n\t\tlight.direction = directionalLight.direction;\\n\t\tlight.visible = true;\\n\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\tstruct PointLight {\\n\t\tvec3 position;\\n\t\tvec3 color;\\n\t\tfloat distance;\\n\t\tfloat decay;\\n\t};\\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\t\tvec3 lVector = pointLight.position - geometryPosition;\\n\t\tlight.direction = normalize( lVector );\\n\t\tfloat lightDistance = length( lVector );\\n\t\tlight.color = pointLight.color;\\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\tstruct SpotLight {\\n\t\tvec3 position;\\n\t\tvec3 direction;\\n\t\tvec3 color;\\n\t\tfloat distance;\\n\t\tfloat decay;\\n\t\tfloat coneCos;\\n\t\tfloat penumbraCos;\\n\t};\\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\\n\t\tvec3 lVector = spotLight.position - geometryPosition;\\n\t\tlight.direction = normalize( lVector );\\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\t\tif ( spotAttenuation > 0.0 ) {\\n\t\t\tfloat lightDistance = length( lVector );\\n\t\t\tlight.color = spotLight.color * spotAttenuation;\\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\t\t} else {\\n\t\t\tlight.color = vec3( 0.0 );\\n\t\t\tlight.visible = false;\\n\t\t}\\n\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\tstruct RectAreaLight {\\n\t\tvec3 color;\\n\t\tvec3 position;\\n\t\tvec3 halfWidth;\\n\t\tvec3 halfHeight;\\n\t};\\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\tstruct HemisphereLight {\\n\t\tvec3 direction;\\n\t\tvec3 skyColor;\\n\t\tvec3 groundColor;\\n\t};\\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\t\treturn irradiance;\\n\t}\\n#endif\";\nvar envmap_physical_pars_fragment = \"#ifdef USE_ENVMAP\\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );\\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\\n\t\t#else\\n\t\t\treturn vec3( 0.0 );\\n\t\t#endif\\n\t}\\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );\\n\t\t\treturn envMapColor.rgb * envMapIntensity;\\n\t\t#else\\n\t\t\treturn vec3( 0.0 );\\n\t\t#endif\\n\t}\\n\t#ifdef USE_ANISOTROPY\\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\\n\t\t\t#else\\n\t\t\t\treturn vec3( 0.0 );\\n\t\t\t#endif\\n\t\t}\\n\t#endif\\n#endif\";\nvar lights_toon_fragment = \"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";\nvar lights_toon_pars_fragment = \"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\t\t\t\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\";\nvar lights_phong_fragment = \"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";\nvar lights_phong_pars_fragment = \"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\tvec3 diffuseColor;\\n\tvec3 specularColor;\\n\tfloat specularShininess;\\n\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\tvec3 irradiance = dotNL * directLight.color;\\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\";\nvar lights_physical_fragment = \"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\tmaterial.ior = ior;\\n\t#ifdef USE_SPECULAR\\n\t\tfloat specularIntensityFactor = specularIntensity;\\n\t\tvec3 specularColorFactor = specularColor;\\n\t\t#ifdef USE_SPECULAR_COLORMAP\\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\\n\t\t#endif\\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\\n\t\t#endif\\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\t#else\\n\t\tfloat specularIntensityFactor = 1.0;\\n\t\tvec3 specularColorFactor = vec3( 1.0 );\\n\t\tmaterial.specularF90 = 1.0;\\n\t#endif\\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\tmaterial.clearcoat = clearcoat;\\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\tmaterial.clearcoatF90 = 1.0;\\n\t#ifdef USE_CLEARCOATMAP\\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\\n\t#endif\\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\\n\t#endif\\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\tmaterial.clearcoatRoughness += geometryRoughness;\\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_DISPERSION\\n\tmaterial.dispersion = dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\tmaterial.iridescence = iridescence;\\n\tmaterial.iridescenceIOR = iridescenceIOR;\\n\t#ifdef USE_IRIDESCENCEMAP\\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\\n\t#endif\\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\\n\t#else\\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\\n\t#endif\\n#endif\\n#ifdef USE_SHEEN\\n\tmaterial.sheenColor = sheenColor;\\n\t#ifdef USE_SHEEN_COLORMAP\\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\\n\t#endif\\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\\n\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\t#ifdef USE_ANISOTROPYMAP\\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\\n\t#else\\n\t\tvec2 anisotropyV = anisotropyVector;\\n\t#endif\\n\tmaterial.anisotropy = length( anisotropyV );\\n\tif( material.anisotropy == 0.0 ) {\\n\t\tanisotropyV = vec2( 1.0, 0.0 );\\n\t} else {\\n\t\tanisotropyV /= material.anisotropy;\\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\\n\t}\\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\\n#endif\";\nvar lights_physical_pars_fragment = \"struct PhysicalMaterial {\\n\tvec3 diffuseColor;\\n\tfloat roughness;\\n\tvec3 specularColor;\\n\tfloat specularF90;\\n\tfloat dispersion;\\n\t#ifdef USE_CLEARCOAT\\n\t\tfloat clearcoat;\\n\t\tfloat clearcoatRoughness;\\n\t\tvec3 clearcoatF0;\\n\t\tfloat clearcoatF90;\\n\t#endif\\n\t#ifdef USE_IRIDESCENCE\\n\t\tfloat iridescence;\\n\t\tfloat iridescenceIOR;\\n\t\tfloat iridescenceThickness;\\n\t\tvec3 iridescenceFresnel;\\n\t\tvec3 iridescenceF0;\\n\t#endif\\n\t#ifdef USE_SHEEN\\n\t\tvec3 sheenColor;\\n\t\tfloat sheenRoughness;\\n\t#endif\\n\t#ifdef IOR\\n\t\tfloat ior;\\n\t#endif\\n\t#ifdef USE_TRANSMISSION\\n\t\tfloat transmission;\\n\t\tfloat transmissionAlpha;\\n\t\tfloat thickness;\\n\t\tfloat attenuationDistance;\\n\t\tvec3 attenuationColor;\\n\t#endif\\n\t#ifdef USE_ANISOTROPY\\n\t\tfloat anisotropy;\\n\t\tfloat alphaT;\\n\t\tvec3 anisotropyT;\\n\t\tvec3 anisotropyB;\\n\t#endif\\n};\\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\\nvec3 sheenSpecularDirect = vec3( 0.0 );\\nvec3 sheenSpecularIndirect = vec3(0.0 );\\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\\n    float x2 = x * x;\\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\tfloat a2 = pow2( alpha );\\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\tfloat a2 = pow2( alpha );\\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\n#ifdef USE_ANISOTROPY\\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\\n\t\tfloat v = 0.5 / ( gv + gl );\\n\t\treturn saturate(v);\\n\t}\\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\\n\t\tfloat a2 = alphaT * alphaB;\\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\\n\t\thighp float v2 = dot( v, v );\\n\t\tfloat w2 = a2 / v2;\\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\\n\t}\\n#endif\\n#ifdef USE_CLEARCOAT\\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\\n\t\tvec3 f0 = material.clearcoatF0;\\n\t\tfloat f90 = material.clearcoatF90;\\n\t\tfloat roughness = material.clearcoatRoughness;\\n\t\tfloat alpha = pow2( roughness );\\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\t\tfloat D = D_GGX( alpha, dotNH );\\n\t\treturn F * ( V * D );\\n\t}\\n#endif\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\\n\tvec3 f0 = material.specularColor;\\n\tfloat f90 = material.specularF90;\\n\tfloat roughness = material.roughness;\\n\tfloat alpha = pow2( roughness );\\n\tvec3 halfDir = normalize( lightDir + viewDir );\\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\t#ifdef USE_IRIDESCENCE\\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\\n\t#endif\\n\t#ifdef USE_ANISOTROPY\\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\\n\t#else\\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\t\tfloat D = D_GGX( alpha, dotNH );\\n\t#endif\\n\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\tconst float LUT_SIZE = 64.0;\\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\tfloat dotNV = saturate( dot( N, V ) );\\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\tfloat l = length( f );\\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\tfloat x = dot( v1, v2 );\\n\tfloat y = abs( x );\\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\tfloat v = a / b;\\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\tvec3 lightNormal = cross( v1, v2 );\\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\tvec3 T1, T2;\\n\tT1 = normalize( V - N * dot( V, N ) );\\n\tT2 = - cross( N, T1 );\\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\tvec3 coords[ 4 ];\\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\tvec3 vectorFormFactor = vec3( 0.0 );\\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\treturn vec3( result );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\tfloat alpha = pow2( roughness );\\n\tfloat invAlpha = 1.0 / alpha;\\n\tfloat cos2h = dotNH * dotNH;\\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\tvec3 halfDir = normalize( lightDir + viewDir );\\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\tfloat V = V_Neubelt( dotNV, dotNL );\\n\treturn sheenColor * ( D * V );\\n}\\n#endif\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\tfloat r2 = roughness * roughness;\\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\tvec4 r = roughness * c0 + c1;\\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\n#ifdef USE_IRIDESCENCE\\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#else\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n#endif\\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\t#ifdef USE_IRIDESCENCE\\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\\n\t#else\\n\t\tvec3 Fr = specularColor;\\n\t#endif\\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\\n\tfloat Ess = fab.x + fab.y;\\n\tfloat Ems = 1.0 - Ess;\\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\tsingleScatter += FssEss;\\n\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\t\tvec3 normal = geometryNormal;\\n\t\tvec3 viewDir = geometryViewDir;\\n\t\tvec3 position = geometryPosition;\\n\t\tvec3 lightPos = rectAreaLight.position;\\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\t\tvec3 lightColor = rectAreaLight.color;\\n\t\tfloat roughness = material.roughness;\\n\t\tvec3 rectCoords[ 4 ];\\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\t\tvec4 t1 = texture2D( ltc_1, uv );\\n\t\tvec4 t2 = texture2D( ltc_2, uv );\\n\t\tmat3 mInv = mat3(\\n\t\t\tvec3( t1.x, 0, t1.y ),\\n\t\t\tvec3(    0, 1,    0 ),\\n\t\t\tvec3( t1.z, 0, t1.w )\\n\t\t);\\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\\n\tvec3 irradiance = dotNL * directLight.color;\\n\t#ifdef USE_CLEARCOAT\\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\\n\t#endif\\n\t#ifdef USE_SHEEN\\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\\n\t#endif\\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\t#ifdef USE_CLEARCOAT\\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\t#endif\\n\t#ifdef USE_SHEEN\\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\\n\t#endif\\n\tvec3 singleScattering = vec3( 0.0 );\\n\tvec3 multiScattering = vec3( 0.0 );\\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\t#ifdef USE_IRIDESCENCE\\n\t\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\\n\t#else\\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\t#endif\\n\tvec3 totalScattering = singleScattering + multiScattering;\\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\\n\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\t\t\t\tRE_Direct_Physical\\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";\nvar lights_fragment_begin = \"\\nvec3 geometryPosition = - vViewPosition;\\nvec3 geometryNormal = normal;\\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\nvec3 geometryClearcoatNormal = vec3( 0.0 );\\n#ifdef USE_CLEARCOAT\\n\tgeometryClearcoatNormal = clearcoatNormal;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\\n\tif ( material.iridescenceThickness == 0.0 ) {\\n\t\tmaterial.iridescence = 0.0;\\n\t} else {\\n\t\tmaterial.iridescence = saturate( material.iridescence );\\n\t}\\n\tif ( material.iridescence > 0.0 ) {\\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\\n\t}\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\tPointLight pointLight;\\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\tPointLightShadow pointLightShadow;\\n\t#endif\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\t\tpointLight = pointLights[ i ];\\n\t\tgetPointLightInfo( pointLight, geometryPosition, directLight );\\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\t\tpointLightShadow = pointLightShadows[ i ];\\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\t\t#endif\\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\t}\\n\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\tSpotLight spotLight;\\n\tvec4 spotColor;\\n\tvec3 spotLightCoord;\\n\tbool inSpotLightMap;\\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\tSpotLightShadow spotLightShadow;\\n\t#endif\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\t\tspotLight = spotLights[ i ];\\n\t\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\\n\t\t#else\\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\\n\t\t#endif\\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\\n\t\t#endif\\n\t\t#undef SPOT_LIGHT_MAP_INDEX\\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\t\tspotLightShadow = spotLightShadows[ i ];\\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\t\t#endif\\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\t}\\n\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\tDirectionalLight directionalLight;\\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\tDirectionalLightShadow directionalLightShadow;\\n\t#endif\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\t\tdirectionalLight = directionalLights[ i ];\\n\t\tgetDirectionalLightInfo( directionalLight, directLight );\\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\t\t#endif\\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\t}\\n\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\tRectAreaLight rectAreaLight;\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\t\trectAreaLight = rectAreaLights[ i ];\\n\t\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n\t}\\n\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\tvec3 iblIrradiance = vec3( 0.0 );\\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\t#if defined( USE_LIGHT_PROBES )\\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\\n\t#endif\\n\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\t\t#pragma unroll_loop_start\\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\\n\t\t}\\n\t\t#pragma unroll_loop_end\\n\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\tvec3 radiance = vec3( 0.0 );\\n\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";\nvar lights_fragment_maps = \"#if defined( RE_IndirectDiffuse )\\n\t#ifdef USE_LIGHTMAP\\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\\n\t\tirradiance += lightMapIrradiance;\\n\t#endif\\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\t\tiblIrradiance += getIBLIrradiance( geometryNormal );\\n\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\t#ifdef USE_ANISOTROPY\\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\\n\t#else\\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\\n\t#endif\\n\t#ifdef USE_CLEARCOAT\\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\\n\t#endif\\n#endif\";\nvar lights_fragment_end = \"#if defined( RE_IndirectDiffuse )\\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\\n#endif\";\nvar logdepthbuf_fragment = \"#if defined( USE_LOGDEPTHBUF )\\n\tgl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";\nvar logdepthbuf_pars_fragment = \"#if defined( USE_LOGDEPTHBUF )\\n\tuniform float logDepthBufFC;\\n\tvarying float vFragDepth;\\n\tvarying float vIsPerspective;\\n#endif\";\nvar logdepthbuf_pars_vertex = \"#ifdef USE_LOGDEPTHBUF\\n\tvarying float vFragDepth;\\n\tvarying float vIsPerspective;\\n#endif\";\nvar logdepthbuf_vertex = \"#ifdef USE_LOGDEPTHBUF\\n\tvFragDepth = 1.0 + gl_Position.w;\\n\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n#endif\";\nvar map_fragment = \"#ifdef USE_MAP\\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\\n\t#ifdef DECODE_VIDEO_TEXTURE\\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\\n\t\\n\t#endif\\n\tdiffuseColor *= sampledDiffuseColor;\\n#endif\";\nvar map_pars_fragment = \"#ifdef USE_MAP\\n\tuniform sampler2D map;\\n#endif\";\nvar map_particle_fragment = \"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\t#if defined( USE_POINTS_UV )\\n\t\tvec2 uv = vUv;\\n\t#else\\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n\t#endif\\n#endif\\n#ifdef USE_MAP\\n\tdiffuseColor *= texture2D( map, uv );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";\nvar map_particle_pars_fragment = \"#if defined( USE_POINTS_UV )\\n\tvarying vec2 vUv;\\n#else\\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\t\tuniform mat3 uvTransform;\\n\t#endif\\n#endif\\n#ifdef USE_MAP\\n\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\tuniform sampler2D alphaMap;\\n#endif\";\nvar metalnessmap_fragment = \"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\\n\tmetalnessFactor *= texelMetalness.b;\\n#endif\";\nvar metalnessmap_pars_fragment = \"#ifdef USE_METALNESSMAP\\n\tuniform sampler2D metalnessMap;\\n#endif\";\nvar morphinstance_vertex = \"#ifdef USE_INSTANCING_MORPH\\n\tfloat morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\tfloat morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;\\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\t\tmorphTargetInfluences[i] =  texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;\\n\t}\\n#endif\";\nvar morphcolor_vertex = \"#if defined( USE_MORPHCOLORS )\\n\tvColor *= morphTargetBaseInfluence;\\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\t\t#if defined( USE_COLOR_ALPHA )\\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\\n\t\t#elif defined( USE_COLOR )\\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\\n\t\t#endif\\n\t}\\n#endif\";\nvar morphnormal_vertex = \"#ifdef USE_MORPHNORMALS\\n\tobjectNormal *= morphTargetBaseInfluence;\\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\\n\t}\\n#endif\";\nvar morphtarget_pars_vertex = \"#ifdef USE_MORPHTARGETS\\n\t#ifndef USE_INSTANCING_MORPH\\n\t\tuniform float morphTargetBaseInfluence;\\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\t#endif\\n\tuniform sampler2DArray morphTargetsTexture;\\n\tuniform ivec2 morphTargetsTextureSize;\\n\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\\n\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\\n\t\tint y = texelIndex / morphTargetsTextureSize.x;\\n\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\\n\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\\n\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\\n\t}\\n#endif\";\nvar morphtarget_vertex = \"#ifdef USE_MORPHTARGETS\\n\ttransformed *= morphTargetBaseInfluence;\\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\\n\t}\\n#endif\";\nvar normal_fragment_begin = \"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\tvec3 fdx = dFdx( vViewPosition );\\n\tvec3 fdy = dFdy( vViewPosition );\\n\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\tvec3 normal = normalize( vNormal );\\n\t#ifdef DOUBLE_SIDED\\n\t\tnormal *= faceDirection;\\n\t#endif\\n#endif\\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\\n\t#ifdef USE_TANGENT\\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\t#else\\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\\n\t\t#if defined( USE_NORMALMAP )\\n\t\t\tvNormalMapUv\\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\\n\t\t\tvClearcoatNormalMapUv\\n\t\t#else\\n\t\t\tvUv\\n\t\t#endif\\n\t\t);\\n\t#endif\\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\t\ttbn[0] *= faceDirection;\\n\t\ttbn[1] *= faceDirection;\\n\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\t#ifdef USE_TANGENT\\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\\n\t#else\\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\\n\t#endif\\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\\n\t\ttbn2[0] *= faceDirection;\\n\t\ttbn2[1] *= faceDirection;\\n\t#endif\\n#endif\\nvec3 nonPerturbedNormal = normal;\";\nvar normal_fragment_maps = \"#ifdef USE_NORMALMAP_OBJECTSPACE\\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\t#ifdef FLIP_SIDED\\n\t\tnormal = - normal;\\n\t#endif\\n\t#ifdef DOUBLE_SIDED\\n\t\tnormal = normal * faceDirection;\\n\t#endif\\n\tnormal = normalize( normalMatrix * normal );\\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\\n\tmapN.xy *= normalScale;\\n\tnormal = normalize( tbn * mapN );\\n#elif defined( USE_BUMPMAP )\\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";\nvar normal_pars_fragment = \"#ifndef FLAT_SHADED\\n\tvarying vec3 vNormal;\\n\t#ifdef USE_TANGENT\\n\t\tvarying vec3 vTangent;\\n\t\tvarying vec3 vBitangent;\\n\t#endif\\n#endif\";\nvar normal_pars_vertex = \"#ifndef FLAT_SHADED\\n\tvarying vec3 vNormal;\\n\t#ifdef USE_TANGENT\\n\t\tvarying vec3 vTangent;\\n\t\tvarying vec3 vBitangent;\\n\t#endif\\n#endif\";\nvar normal_vertex = \"#ifndef FLAT_SHADED\\n\tvNormal = normalize( transformedNormal );\\n\t#ifdef USE_TANGENT\\n\t\tvTangent = normalize( transformedTangent );\\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\t#endif\\n#endif\";\nvar normalmap_pars_fragment = \"#ifdef USE_NORMALMAP\\n\tuniform sampler2D normalMap;\\n\tuniform vec2 normalScale;\\n#endif\\n#ifdef USE_NORMALMAP_OBJECTSPACE\\n\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\\n\t\tvec2 st0 = dFdx( uv.st );\\n\t\tvec2 st1 = dFdy( uv.st );\\n\t\tvec3 N = surf_norm;\\n\t\tvec3 q1perp = cross( q1, N );\\n\t\tvec3 q0perp = cross( N, q0 );\\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\\n\t\treturn mat3( T * scale, B * scale, N );\\n\t}\\n#endif\";\nvar clearcoat_normal_fragment_begin = \"#ifdef USE_CLEARCOAT\\n\tvec3 clearcoatNormal = nonPerturbedNormal;\\n#endif\";\nvar clearcoat_normal_fragment_maps = \"#ifdef USE_CLEARCOAT_NORMALMAP\\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\\n\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\\n#endif\";\nvar clearcoat_pars_fragment = \"#ifdef USE_CLEARCOATMAP\\n\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\tuniform sampler2D clearcoatNormalMap;\\n\tuniform vec2 clearcoatNormalScale;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\";\nvar iridescence_pars_fragment = \"#ifdef USE_IRIDESCENCEMAP\\n\tuniform sampler2D iridescenceMap;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\tuniform sampler2D iridescenceThicknessMap;\\n#endif\";\nvar opaque_fragment = \"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= material.transmissionAlpha;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";\nvar packing = \"vec3 packNormalToRGB( const in vec3 normal ) {\\n\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.;\\nconst float Inv255 = 1. / 255.;\\nconst vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 );\\nconst vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g );\\nconst vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b );\\nconst vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a );\\nvec4 packDepthToRGBA( const in float v ) {\\n\tif( v <= 0.0 )\\n\t\treturn vec4( 0., 0., 0., 0. );\\n\tif( v >= 1.0 )\\n\t\treturn vec4( 1., 1., 1., 1. );\\n\tfloat vuf;\\n\tfloat af = modf( v * PackFactors.a, vuf );\\n\tfloat bf = modf( vuf * ShiftRight8, vuf );\\n\tfloat gf = modf( vuf * ShiftRight8, vuf );\\n\treturn vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af );\\n}\\nvec3 packDepthToRGB( const in float v ) {\\n\tif( v <= 0.0 )\\n\t\treturn vec3( 0., 0., 0. );\\n\tif( v >= 1.0 )\\n\t\treturn vec3( 1., 1., 1. );\\n\tfloat vuf;\\n\tfloat bf = modf( v * PackFactors.b, vuf );\\n\tfloat gf = modf( vuf * ShiftRight8, vuf );\\n\treturn vec3( vuf * Inv255, gf * PackUpscale, bf );\\n}\\nvec2 packDepthToRG( const in float v ) {\\n\tif( v <= 0.0 )\\n\t\treturn vec2( 0., 0. );\\n\tif( v >= 1.0 )\\n\t\treturn vec2( 1., 1. );\\n\tfloat vuf;\\n\tfloat gf = modf( v * 256., vuf );\\n\treturn vec2( vuf * Inv255, gf );\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\treturn dot( v, UnpackFactors4 );\\n}\\nfloat unpackRGBToDepth( const in vec3 v ) {\\n\treturn dot( v, UnpackFactors3 );\\n}\\nfloat unpackRGToDepth( const in vec2 v ) {\\n\treturn v.r * UnpackFactors2.r + v.g * UnpackFactors2.g;\\n}\\nvec4 pack2HalfToRGBA( const in vec2 v ) {\\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( const in vec4 v ) {\\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\treturn depth * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\\n}\";\nvar premultiplied_alpha_fragment = \"#ifdef PREMULTIPLIED_ALPHA\\n\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";\nvar project_vertex = \"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_BATCHING\\n\tmvPosition = batchingMatrix * mvPosition;\\n#endif\\n#ifdef USE_INSTANCING\\n\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";\nvar dithering_fragment = \"#ifdef DITHERING\\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";\nvar dithering_pars_fragment = \"#ifdef DITHERING\\n\tvec3 dithering( vec3 color ) {\\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\t\treturn color + dither_shift_RGB;\\n\t}\\n#endif\";\nvar roughnessmap_fragment = \"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\\n\troughnessFactor *= texelRoughness.g;\\n#endif\";\nvar roughnessmap_pars_fragment = \"#ifdef USE_ROUGHNESSMAP\\n\tuniform sampler2D roughnessMap;\\n#endif\";\nvar shadowmap_pars_fragment = \"#if NUM_SPOT_LIGHT_COORDS > 0\\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#if NUM_SPOT_LIGHT_MAPS > 0\\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\t\tstruct DirectionalLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t};\\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\t#endif\\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\t\tstruct SpotLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t};\\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\t#endif\\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\t\tstruct PointLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t\tfloat shadowCameraNear;\\n\t\t\tfloat shadowCameraFar;\\n\t\t};\\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\t#endif\\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\t}\\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\t}\\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\t\tfloat occlusion = 1.0;\\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\t\tfloat hard_shadow = step( compare , distribution.x );\\n\t\tif (hard_shadow != 1.0 ) {\\n\t\t\tfloat distance = compare - distribution.x ;\\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\t\t}\\n\t\treturn occlusion;\\n\t}\\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\t\tfloat shadow = 1.0;\\n\t\tshadowCoord.xyz /= shadowCoord.w;\\n\t\tshadowCoord.z += shadowBias;\\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\\n\t\tif ( frustumTest ) {\\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\\n\t\t\tfloat dx2 = dx0 / 2.0;\\n\t\t\tfloat dy2 = dy0 / 2.0;\\n\t\t\tfloat dx3 = dx1 / 2.0;\\n\t\t\tfloat dy3 = dy1 / 2.0;\\n\t\t\tshadow = (\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\t\t\t) * ( 1.0 / 17.0 );\\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\t\t\tfloat dx = texelSize.x;\\n\t\t\tfloat dy = texelSize.y;\\n\t\t\tvec2 uv = shadowCoord.xy;\\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\t\t\tuv -= f * texelSize;\\n\t\t\tshadow = (\\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\t\t\t\t\t f.x ) +\\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\t\t\t\t\t f.x ) +\\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\t\t\t\t\t f.y ) +\\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\t\t\t\t\t f.y ) +\\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\t\t\t\t\t\t  f.x ),\\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\t\t\t\t\t\t  f.x ),\\n\t\t\t\t\t f.y )\\n\t\t\t) * ( 1.0 / 9.0 );\\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\t\t#else\\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\t\t#endif\\n\t\t}\\n\t\treturn mix( 1.0, shadow, shadowIntensity );\\n\t}\\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\t\tvec3 absV = abs( v );\\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\t\tabsV *= scaleToCube;\\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\t\tvec2 planar = v.xy;\\n\t\tfloat almostATexel = 1.5 * texelSizeY;\\n\t\tfloat almostOne = 1.0 - almostATexel;\\n\t\tif ( absV.z >= almostOne ) {\\n\t\t\tif ( v.z > 0.0 )\\n\t\t\t\tplanar.x = 4.0 - v.x;\\n\t\t} else if ( absV.x >= almostOne ) {\\n\t\t\tfloat signX = sign( v.x );\\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\\n\t\t} else if ( absV.y >= almostOne ) {\\n\t\t\tfloat signY = sign( v.y );\\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\t\t\tplanar.y = v.z * signY - 2.0;\\n\t\t}\\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\t}\\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\t\tfloat shadow = 1.0;\\n\t\tvec3 lightToPosition = shadowCoord.xyz;\\n\t\t\\n\t\tfloat lightToPositionLength = length( lightToPosition );\\n\t\tif ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {\\n\t\t\tfloat dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\t\tdp += shadowBias;\\n\t\t\tvec3 bd3D = normalize( lightToPosition );\\n\t\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\t\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\t\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\t\t\t\tshadow = (\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\t\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\t\t\t\t) * ( 1.0 / 9.0 );\\n\t\t\t#else\\n\t\t\t\tshadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\t\t\t#endif\\n\t\t}\\n\t\treturn mix( 1.0, shadow, shadowIntensity );\\n\t}\\n#endif\";\nvar shadowmap_pars_vertex = \"#if NUM_SPOT_LIGHT_COORDS > 0\\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\\n#endif\\n#ifdef USE_SHADOWMAP\\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\t\tstruct DirectionalLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t};\\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\t#endif\\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\t\tstruct SpotLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t};\\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\t#endif\\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\t\tstruct PointLightShadow {\\n\t\t\tfloat shadowIntensity;\\n\t\t\tfloat shadowBias;\\n\t\t\tfloat shadowNormalBias;\\n\t\t\tfloat shadowRadius;\\n\t\t\tvec2 shadowMapSize;\\n\t\t\tfloat shadowCameraNear;\\n\t\t\tfloat shadowCameraFar;\\n\t\t};\\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\t#endif\\n#endif\";\nvar shadowmap_vertex = \"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\tvec4 shadowWorldPosition;\\n#endif\\n#if defined( USE_SHADOWMAP )\\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\t\t#pragma unroll_loop_start\\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\t\t}\\n\t\t#pragma unroll_loop_end\\n\t#endif\\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\t\t#pragma unroll_loop_start\\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\t\t}\\n\t\t#pragma unroll_loop_end\\n\t#endif\\n#endif\\n#if NUM_SPOT_LIGHT_COORDS > 0\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\\n\t\tshadowWorldPosition = worldPosition;\\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\\n\t\t#endif\\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\\n\t}\\n\t#pragma unroll_loop_end\\n#endif\";\nvar shadowmask_pars_fragment = \"float getShadowMask() {\\n\tfloat shadow = 1.0;\\n\t#ifdef USE_SHADOWMAP\\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\tDirectionalLightShadow directionalLight;\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\t\tdirectionalLight = directionalLightShadows[ i ];\\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\t}\\n\t#pragma unroll_loop_end\\n\t#endif\\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\tSpotLightShadow spotLight;\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\t\tspotLight = spotLightShadows[ i ];\\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\\n\t}\\n\t#pragma unroll_loop_end\\n\t#endif\\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\tPointLightShadow pointLight;\\n\t#pragma unroll_loop_start\\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\t\tpointLight = pointLightShadows[ i ];\\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\t}\\n\t#pragma unroll_loop_end\\n\t#endif\\n\t#endif\\n\treturn shadow;\\n}\";\nvar skinbase_vertex = \"#ifdef USE_SKINNING\\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";\nvar skinning_pars_vertex = \"#ifdef USE_SKINNING\\n\tuniform mat4 bindMatrix;\\n\tuniform mat4 bindMatrixInverse;\\n\tuniform highp sampler2D boneTexture;\\n\tmat4 getBoneMatrix( const in float i ) {\\n\t\tint size = textureSize( boneTexture, 0 ).x;\\n\t\tint j = int( i ) * 4;\\n\t\tint x = j % size;\\n\t\tint y = j / size;\\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\\n\t\treturn mat4( v1, v2, v3, v4 );\\n\t}\\n#endif\";\nvar skinning_vertex = \"#ifdef USE_SKINNING\\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\tvec4 skinned = vec4( 0.0 );\\n\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";\nvar skinnormal_vertex = \"#ifdef USE_SKINNING\\n\tmat4 skinMatrix = mat4( 0.0 );\\n\tskinMatrix += skinWeight.x * boneMatX;\\n\tskinMatrix += skinWeight.y * boneMatY;\\n\tskinMatrix += skinWeight.z * boneMatZ;\\n\tskinMatrix += skinWeight.w * boneMatW;\\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\t#ifdef USE_TANGENT\\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\t#endif\\n#endif\";\nvar specularmap_fragment = \"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\\n\tspecularStrength = texelSpecular.r;\\n#else\\n\tspecularStrength = 1.0;\\n#endif\";\nvar specularmap_pars_fragment = \"#ifdef USE_SPECULARMAP\\n\tuniform sampler2D specularMap;\\n#endif\";\nvar tonemapping_fragment = \"#if defined( TONE_MAPPING )\\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";\nvar tonemapping_pars_fragment = \"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\treturn saturate( toneMappingExposure * color );\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\tcolor *= toneMappingExposure;\\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 CineonToneMapping( vec3 color ) {\\n\tcolor *= toneMappingExposure;\\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\tconst mat3 ACESInputMat = mat3(\\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\\n\t);\\n\tconst mat3 ACESOutputMat = mat3(\\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\\n\t);\\n\tcolor *= toneMappingExposure / 0.6;\\n\tcolor = ACESInputMat * color;\\n\tcolor = RRTAndODTFit( color );\\n\tcolor = ACESOutputMat * color;\\n\treturn saturate( color );\\n}\\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\\n);\\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\\n\tvec3( 0.6274, 0.0691, 0.0164 ),\\n\tvec3( 0.3293, 0.9195, 0.0880 ),\\n\tvec3( 0.0433, 0.0113, 0.8956 )\\n);\\nvec3 agxDefaultContrastApprox( vec3 x ) {\\n\tvec3 x2 = x * x;\\n\tvec3 x4 = x2 * x2;\\n\treturn + 15.5 * x4 * x2\\n\t\t- 40.14 * x4 * x\\n\t\t+ 31.96 * x4\\n\t\t- 6.868 * x2 * x\\n\t\t+ 0.4298 * x2\\n\t\t+ 0.1191 * x\\n\t\t- 0.00232;\\n}\\nvec3 AgXToneMapping( vec3 color ) {\\n\tconst mat3 AgXInsetMatrix = mat3(\\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\\n\t);\\n\tconst mat3 AgXOutsetMatrix = mat3(\\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\\n\t);\\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\\n\tcolor *= toneMappingExposure;\\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\\n\tcolor = AgXInsetMatrix * color;\\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\\n\tcolor = clamp( color, 0.0, 1.0 );\\n\tcolor = agxDefaultContrastApprox( color );\\n\tcolor = AgXOutsetMatrix * color;\\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\\n\tcolor = clamp( color, 0.0, 1.0 );\\n\treturn color;\\n}\\nvec3 NeutralToneMapping( vec3 color ) {\\n\tconst float StartCompression = 0.8 - 0.04;\\n\tconst float Desaturation = 0.15;\\n\tcolor *= toneMappingExposure;\\n\tfloat x = min( color.r, min( color.g, color.b ) );\\n\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\\n\tcolor -= offset;\\n\tfloat peak = max( color.r, max( color.g, color.b ) );\\n\tif ( peak < StartCompression ) return color;\\n\tfloat d = 1. - StartCompression;\\n\tfloat newPeak = 1. - d * d / ( peak + d - StartCompression );\\n\tcolor *= newPeak / peak;\\n\tfloat g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );\\n\treturn mix( color, vec3( newPeak ), g );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";\nvar transmission_fragment = \"#ifdef USE_TRANSMISSION\\n\tmaterial.transmission = transmission;\\n\tmaterial.transmissionAlpha = 1.0;\\n\tmaterial.thickness = thickness;\\n\tmaterial.attenuationDistance = attenuationDistance;\\n\tmaterial.attenuationColor = attenuationColor;\\n\t#ifdef USE_TRANSMISSIONMAP\\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\\n\t#endif\\n\t#ifdef USE_THICKNESSMAP\\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\\n\t#endif\\n\tvec3 pos = vWorldPosition;\\n\tvec3 v = normalize( cameraPosition - pos );\\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\tvec4 transmitted = getIBLVolumeRefraction(\\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,\\n\t\tmaterial.attenuationColor, material.attenuationDistance );\\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\\n#endif\";\nvar transmission_pars_fragment = \"#ifdef USE_TRANSMISSION\\n\tuniform float transmission;\\n\tuniform float thickness;\\n\tuniform float attenuationDistance;\\n\tuniform vec3 attenuationColor;\\n\t#ifdef USE_TRANSMISSIONMAP\\n\t\tuniform sampler2D transmissionMap;\\n\t#endif\\n\t#ifdef USE_THICKNESSMAP\\n\t\tuniform sampler2D thicknessMap;\\n\t#endif\\n\tuniform vec2 transmissionSamplerSize;\\n\tuniform sampler2D transmissionSamplerMap;\\n\tuniform mat4 modelMatrix;\\n\tuniform mat4 projectionMatrix;\\n\tvarying vec3 vWorldPosition;\\n\tfloat w0( float a ) {\\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\\n\t}\\n\tfloat w1( float a ) {\\n\t\treturn ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\\n\t}\\n\tfloat w2( float a ){\\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\\n\t}\\n\tfloat w3( float a ) {\\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\\n\t}\\n\tfloat g0( float a ) {\\n\t\treturn w0( a ) + w1( a );\\n\t}\\n\tfloat g1( float a ) {\\n\t\treturn w2( a ) + w3( a );\\n\t}\\n\tfloat h0( float a ) {\\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\\n\t}\\n\tfloat h1( float a ) {\\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\\n\t}\\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\\n\t\tuv = uv * texelSize.zw + 0.5;\\n\t\tvec2 iuv = floor( uv );\\n\t\tvec2 fuv = fract( uv );\\n\t\tfloat g0x = g0( fuv.x );\\n\t\tfloat g1x = g1( fuv.x );\\n\t\tfloat h0x = h0( fuv.x );\\n\t\tfloat h1x = h1( fuv.x );\\n\t\tfloat h0y = h0( fuv.y );\\n\t\tfloat h1y = h1( fuv.y );\\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\\n\t}\\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\\n\t\treturn mix( fSample, cSample, fract( lod ) );\\n\t}\\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\t\tvec3 modelScale;\\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\\n\t}\\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\t}\\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\\n\t}\\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\\n\t\tif ( isinf( attenuationDistance ) ) {\\n\t\t\treturn vec3( 1.0 );\\n\t\t} else {\\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\\n\t\t}\\n\t}\\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,\\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\\n\t\tvec4 transmittedLight;\\n\t\tvec3 transmittance;\\n\t\t#ifdef USE_DISPERSION\\n\t\t\tfloat halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;\\n\t\t\tvec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );\\n\t\t\tfor ( int i = 0; i < 3; i ++ ) {\\n\t\t\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );\\n\t\t\t\tvec3 refractedRayExit = position + transmissionRay;\\n\t\t\\n\t\t\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\t\t\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\t\t\t\trefractionCoords += 1.0;\\n\t\t\t\trefractionCoords /= 2.0;\\n\t\t\\n\t\t\t\tvec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );\\n\t\t\t\ttransmittedLight[ i ] = transmissionSample[ i ];\\n\t\t\t\ttransmittedLight.a += transmissionSample.a;\\n\t\t\t\ttransmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];\\n\t\t\t}\\n\t\t\ttransmittedLight.a /= 3.0;\\n\t\t\\n\t\t#else\\n\t\t\\n\t\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\t\t\tvec3 refractedRayExit = position + transmissionRay;\\n\t\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\t\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\t\t\trefractionCoords += 1.0;\\n\t\t\trefractionCoords /= 2.0;\\n\t\t\ttransmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\t\t\ttransmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\\n\t\t\\n\t\t#endif\\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\\n\t}\\n#endif\";\nvar uv_pars_fragment = \"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\tuniform mat3 transmissionMapTransform;\\n\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\tuniform mat3 thicknessMapTransform;\\n\tvarying vec2 vThicknessMapUv;\\n#endif\";\nvar uv_pars_vertex = \"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\tvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\n\tuniform mat3 mapTransform;\\n\tvarying vec2 vMapUv;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\tuniform mat3 alphaMapTransform;\\n\tvarying vec2 vAlphaMapUv;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\tuniform mat3 lightMapTransform;\\n\tvarying vec2 vLightMapUv;\\n#endif\\n#ifdef USE_AOMAP\\n\tuniform mat3 aoMapTransform;\\n\tvarying vec2 vAoMapUv;\\n#endif\\n#ifdef USE_BUMPMAP\\n\tuniform mat3 bumpMapTransform;\\n\tvarying vec2 vBumpMapUv;\\n#endif\\n#ifdef USE_NORMALMAP\\n\tuniform mat3 normalMapTransform;\\n\tvarying vec2 vNormalMapUv;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\tuniform mat3 displacementMapTransform;\\n\tvarying vec2 vDisplacementMapUv;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\tuniform mat3 emissiveMapTransform;\\n\tvarying vec2 vEmissiveMapUv;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\tuniform mat3 metalnessMapTransform;\\n\tvarying vec2 vMetalnessMapUv;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\tuniform mat3 roughnessMapTransform;\\n\tvarying vec2 vRoughnessMapUv;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\tuniform mat3 anisotropyMapTransform;\\n\tvarying vec2 vAnisotropyMapUv;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\tuniform mat3 clearcoatMapTransform;\\n\tvarying vec2 vClearcoatMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\tuniform mat3 clearcoatNormalMapTransform;\\n\tvarying vec2 vClearcoatNormalMapUv;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\tuniform mat3 clearcoatRoughnessMapTransform;\\n\tvarying vec2 vClearcoatRoughnessMapUv;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\tuniform mat3 sheenColorMapTransform;\\n\tvarying vec2 vSheenColorMapUv;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\tuniform mat3 sheenRoughnessMapTransform;\\n\tvarying vec2 vSheenRoughnessMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\tuniform mat3 iridescenceMapTransform;\\n\tvarying vec2 vIridescenceMapUv;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\tuniform mat3 iridescenceThicknessMapTransform;\\n\tvarying vec2 vIridescenceThicknessMapUv;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\tuniform mat3 specularMapTransform;\\n\tvarying vec2 vSpecularMapUv;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\tuniform mat3 specularColorMapTransform;\\n\tvarying vec2 vSpecularColorMapUv;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\tuniform mat3 specularIntensityMapTransform;\\n\tvarying vec2 vSpecularIntensityMapUv;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\tuniform mat3 transmissionMapTransform;\\n\tvarying vec2 vTransmissionMapUv;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\tuniform mat3 thicknessMapTransform;\\n\tvarying vec2 vThicknessMapUv;\\n#endif\";\nvar uv_vertex = \"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\\n\tvUv = vec3( uv, 1 ).xy;\\n#endif\\n#ifdef USE_MAP\\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_LIGHTMAP\\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_AOMAP\\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_BUMPMAP\\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_NORMALMAP\\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_DISPLACEMENTMAP\\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_EMISSIVEMAP\\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_METALNESSMAP\\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ROUGHNESSMAP\\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_ANISOTROPYMAP\\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOATMAP\\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCEMAP\\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_COLORMAP\\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SHEEN_ROUGHNESSMAP\\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULARMAP\\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_COLORMAP\\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_SPECULAR_INTENSITYMAP\\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_TRANSMISSIONMAP\\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\\n#endif\\n#ifdef USE_THICKNESSMAP\\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\\n#endif\";\nvar worldpos_vertex = \"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\\n\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\t#ifdef USE_BATCHING\\n\t\tworldPosition = batchingMatrix * worldPosition;\\n\t#endif\\n\t#ifdef USE_INSTANCING\\n\t\tworldPosition = instanceMatrix * worldPosition;\\n\t#endif\\n\tworldPosition = modelMatrix * worldPosition;\\n#endif\";\nvar vertex$h = \"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";\nvar fragment$h = \"uniform sampler2D t2D;\\nuniform float backgroundIntensity;\\nvarying vec2 vUv;\\nvoid main() {\\n\tvec4 texColor = texture2D( t2D, vUv );\\n\t#ifdef DECODE_VIDEO_TEXTURE\\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\\n\t#endif\\n\ttexColor.rgb *= backgroundIntensity;\\n\tgl_FragColor = texColor;\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n}\";\nvar vertex$g = \"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\tvWorldDirection = transformDirection( position, modelMatrix );\\n\t#include <begin_vertex>\\n\t#include <project_vertex>\\n\tgl_Position.z = gl_Position.w;\\n}\";\nvar fragment$g = \"#ifdef ENVMAP_TYPE_CUBE\\n\tuniform samplerCube envMap;\\n#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\tuniform sampler2D envMap;\\n#endif\\nuniform float flipEnvMap;\\nuniform float backgroundBlurriness;\\nuniform float backgroundIntensity;\\nuniform mat3 backgroundRotation;\\nvarying vec3 vWorldDirection;\\n#include <cube_uv_reflection_fragment>\\nvoid main() {\\n\t#ifdef ENVMAP_TYPE_CUBE\\n\t\tvec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\t\tvec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );\\n\t#else\\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\t#endif\\n\ttexColor.rgb *= backgroundIntensity;\\n\tgl_FragColor = texColor;\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n}\";\nvar vertex$f = \"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\tvWorldDirection = transformDirection( position, modelMatrix );\\n\t#include <begin_vertex>\\n\t#include <project_vertex>\\n\tgl_Position.z = gl_Position.w;\\n}\";\nvar fragment$f = \"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\nvoid main() {\\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\\n\tgl_FragColor = texColor;\\n\tgl_FragColor.a *= opacity;\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n}\";\nvar vertex$e = \"#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <batching_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <morphinstance_vertex>\\n\t#ifdef USE_DISPLACEMENTMAP\\n\t\t#include <beginnormal_vertex>\\n\t\t#include <morphnormal_vertex>\\n\t\t#include <skinnormal_vertex>\\n\t#endif\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvHighPrecisionZW = gl_Position.zw;\\n}\";\nvar fragment$e = \"#if DEPTH_PACKING == 3200\\n\tuniform float opacity;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\tvec4 diffuseColor = vec4( 1.0 );\\n\t#include <clipping_planes_fragment>\\n\t#if DEPTH_PACKING == 3200\\n\t\tdiffuseColor.a = opacity;\\n\t#endif\\n\t#include <map_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <logdepthbuf_fragment>\\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\t#if DEPTH_PACKING == 3200\\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\t#elif DEPTH_PACKING == 3201\\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\t#elif DEPTH_PACKING == 3202\\n\t\tgl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 );\\n\t#elif DEPTH_PACKING == 3203\\n\t\tgl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 );\\n\t#endif\\n}\";\nvar vertex$d = \"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <batching_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <morphinstance_vertex>\\n\t#ifdef USE_DISPLACEMENTMAP\\n\t\t#include <beginnormal_vertex>\\n\t\t#include <morphnormal_vertex>\\n\t\t#include <skinnormal_vertex>\\n\t#endif\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <worldpos_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvWorldPosition = worldPosition.xyz;\\n}\";\nvar fragment$d = \"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main () {\\n\tvec4 diffuseColor = vec4( 1.0 );\\n\t#include <clipping_planes_fragment>\\n\t#include <map_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\tfloat dist = length( vWorldPosition - referencePosition );\\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\tdist = saturate( dist );\\n\tgl_FragColor = packDepthToRGBA( dist );\\n}\";\nvar vertex$c = \"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\tvWorldDirection = transformDirection( position, modelMatrix );\\n\t#include <begin_vertex>\\n\t#include <project_vertex>\\n}\";\nvar fragment$c = \"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\tvec3 direction = normalize( vWorldDirection );\\n\tvec2 sampleUV = equirectUv( direction );\\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n}\";\nvar vertex$b = \"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\tvLineDistance = scale * lineDistance;\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$b = \"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\t\tdiscard;\\n\t}\\n\tvec3 outgoingLight = vec3( 0.0 );\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\toutgoingLight = diffuseColor.rgb;\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n}\";\nvar vertex$a = \"#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\t\t#include <beginnormal_vertex>\\n\t\t#include <morphnormal_vertex>\\n\t\t#include <skinbase_vertex>\\n\t\t#include <skinnormal_vertex>\\n\t\t#include <defaultnormal_vertex>\\n\t#endif\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\t#include <worldpos_vertex>\\n\t#include <envmap_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$a = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\tvarying vec3 vNormal;\\n#endif\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <specularmap_fragment>\\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\t#ifdef USE_LIGHTMAP\\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\\n\t#else\\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\t#endif\\n\t#include <aomap_fragment>\\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\t#include <envmap_fragment>\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$9 = \"#define LAMBERT\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvViewPosition = - mvPosition.xyz;\\n\t#include <worldpos_vertex>\\n\t#include <envmap_vertex>\\n\t#include <shadowmap_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$9 = \"#define LAMBERT\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_lambert_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\tvec3 totalEmissiveRadiance = emissive;\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <specularmap_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\t#include <emissivemap_fragment>\\n\t#include <lights_lambert_fragment>\\n\t#include <lights_fragment_begin>\\n\t#include <lights_fragment_maps>\\n\t#include <lights_fragment_end>\\n\t#include <aomap_fragment>\\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\t#include <envmap_fragment>\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$8 = \"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\t#include <fog_vertex>\\n\tvViewPosition = - mvPosition.xyz;\\n}\";\nvar fragment$8 = \"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\tvec3 viewDir = normalize( vViewPosition );\\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\tvec3 y = cross( viewDir, x );\\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\t#ifdef USE_MATCAP\\n\t\tvec4 matcapColor = texture2D( matcap, uv );\\n\t#else\\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\\n\t#endif\\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$7 = \"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\tvarying vec3 vViewPosition;\\n#endif\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";\nvar fragment$7 = \"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\\n\tvarying vec3 vViewPosition;\\n#endif\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );\\n\t#include <clipping_planes_fragment>\\n\t#include <logdepthbuf_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\tgl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );\\n\t#ifdef OPAQUE\\n\t\tgl_FragColor.a = 1.0;\\n\t#endif\\n}\";\nvar vertex$6 = \"#define PHONG\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvViewPosition = - mvPosition.xyz;\\n\t#include <worldpos_vertex>\\n\t#include <envmap_vertex>\\n\t#include <shadowmap_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$6 = \"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_phong_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\tvec3 totalEmissiveRadiance = emissive;\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <specularmap_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\t#include <emissivemap_fragment>\\n\t#include <lights_phong_fragment>\\n\t#include <lights_fragment_begin>\\n\t#include <lights_fragment_maps>\\n\t#include <lights_fragment_end>\\n\t#include <aomap_fragment>\\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\t#include <envmap_fragment>\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$5 = \"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\tvarying vec3 vWorldPosition;\\n#endif\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvViewPosition = - mvPosition.xyz;\\n\t#include <worldpos_vertex>\\n\t#include <shadowmap_vertex>\\n\t#include <fog_vertex>\\n#ifdef USE_TRANSMISSION\\n\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";\nvar fragment$5 = \"#define STANDARD\\n#ifdef PHYSICAL\\n\t#define IOR\\n\t#define USE_SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\tuniform float ior;\\n#endif\\n#ifdef USE_SPECULAR\\n\tuniform float specularIntensity;\\n\tuniform vec3 specularColor;\\n\t#ifdef USE_SPECULAR_COLORMAP\\n\t\tuniform sampler2D specularColorMap;\\n\t#endif\\n\t#ifdef USE_SPECULAR_INTENSITYMAP\\n\t\tuniform sampler2D specularIntensityMap;\\n\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\tuniform float clearcoat;\\n\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_DISPERSION\\n\tuniform float dispersion;\\n#endif\\n#ifdef USE_IRIDESCENCE\\n\tuniform float iridescence;\\n\tuniform float iridescenceIOR;\\n\tuniform float iridescenceThicknessMinimum;\\n\tuniform float iridescenceThicknessMaximum;\\n#endif\\n#ifdef USE_SHEEN\\n\tuniform vec3 sheenColor;\\n\tuniform float sheenRoughness;\\n\t#ifdef USE_SHEEN_COLORMAP\\n\t\tuniform sampler2D sheenColorMap;\\n\t#endif\\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\\n\t\tuniform sampler2D sheenRoughnessMap;\\n\t#endif\\n#endif\\n#ifdef USE_ANISOTROPY\\n\tuniform vec2 anisotropyVector;\\n\t#ifdef USE_ANISOTROPYMAP\\n\t\tuniform sampler2D anisotropyMap;\\n\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <iridescence_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_physical_pars_fragment>\\n#include <transmission_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <iridescence_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\tvec3 totalEmissiveRadiance = emissive;\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <roughnessmap_fragment>\\n\t#include <metalnessmap_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\t#include <clearcoat_normal_fragment_begin>\\n\t#include <clearcoat_normal_fragment_maps>\\n\t#include <emissivemap_fragment>\\n\t#include <lights_physical_fragment>\\n\t#include <lights_fragment_begin>\\n\t#include <lights_fragment_maps>\\n\t#include <lights_fragment_end>\\n\t#include <aomap_fragment>\\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\t#include <transmission_fragment>\\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\t#ifdef USE_SHEEN\\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\\n\t#endif\\n\t#ifdef USE_CLEARCOAT\\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\\n\t#endif\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$4 = \"#define TOON\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <batching_pars_vertex>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <normal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <displacementmap_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\tvViewPosition = - mvPosition.xyz;\\n\t#include <worldpos_vertex>\\n\t#include <shadowmap_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$4 = \"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <gradientmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_toon_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\tvec3 totalEmissiveRadiance = emissive;\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <color_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\t#include <normal_fragment_begin>\\n\t#include <normal_fragment_maps>\\n\t#include <emissivemap_fragment>\\n\t#include <lights_toon_fragment>\\n\t#include <lights_fragment_begin>\\n\t#include <lights_fragment_maps>\\n\t#include <lights_fragment_end>\\n\t#include <aomap_fragment>\\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n\t#include <dithering_fragment>\\n}\";\nvar vertex$3 = \"uniform float size;\\nuniform float scale;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\n#ifdef USE_POINTS_UV\\n\tvarying vec2 vUv;\\n\tuniform mat3 uvTransform;\\n#endif\\nvoid main() {\\n\t#ifdef USE_POINTS_UV\\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\t#endif\\n\t#include <color_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphcolor_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <project_vertex>\\n\tgl_PointSize = size;\\n\t#ifdef USE_SIZEATTENUATION\\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\t#endif\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\t#include <worldpos_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$3 = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <map_particle_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tvec3 outgoingLight = vec3( 0.0 );\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_particle_fragment>\\n\t#include <color_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\toutgoingLight = diffuseColor.rgb;\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n\t#include <premultiplied_alpha_fragment>\\n}\";\nvar vertex$2 = \"#include <common>\\n#include <batching_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <shadowmap_pars_vertex>\\nvoid main() {\\n\t#include <batching_vertex>\\n\t#include <beginnormal_vertex>\\n\t#include <morphinstance_vertex>\\n\t#include <morphnormal_vertex>\\n\t#include <skinbase_vertex>\\n\t#include <skinnormal_vertex>\\n\t#include <defaultnormal_vertex>\\n\t#include <begin_vertex>\\n\t#include <morphtarget_vertex>\\n\t#include <skinning_vertex>\\n\t#include <project_vertex>\\n\t#include <logdepthbuf_vertex>\\n\t#include <worldpos_vertex>\\n\t#include <shadowmap_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$2 = \"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <logdepthbuf_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\nvoid main() {\\n\t#include <logdepthbuf_fragment>\\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n}\";\nvar vertex$1 = \"uniform float rotation;\\nuniform vec2 center;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\t#include <uv_vertex>\\n\tvec4 mvPosition = modelViewMatrix[ 3 ];\\n\tvec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) );\\n\t#ifndef USE_SIZEATTENUATION\\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\\n\t#endif\\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\tvec2 rotatedPosition;\\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\tmvPosition.xy += rotatedPosition;\\n\tgl_Position = projectionMatrix * mvPosition;\\n\t#include <logdepthbuf_vertex>\\n\t#include <clipping_planes_vertex>\\n\t#include <fog_vertex>\\n}\";\nvar fragment$1 = \"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <alphahash_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\t#include <clipping_planes_fragment>\\n\tvec3 outgoingLight = vec3( 0.0 );\\n\t#include <logdepthbuf_fragment>\\n\t#include <map_fragment>\\n\t#include <alphamap_fragment>\\n\t#include <alphatest_fragment>\\n\t#include <alphahash_fragment>\\n\toutgoingLight = diffuseColor.rgb;\\n\t#include <opaque_fragment>\\n\t#include <tonemapping_fragment>\\n\t#include <colorspace_fragment>\\n\t#include <fog_fragment>\\n}\";\nvar ShaderChunk = {\n  alphahash_fragment,\n  alphahash_pars_fragment,\n  alphamap_fragment,\n  alphamap_pars_fragment,\n  alphatest_fragment,\n  alphatest_pars_fragment,\n  aomap_fragment,\n  aomap_pars_fragment,\n  batching_pars_vertex,\n  batching_vertex,\n  begin_vertex,\n  beginnormal_vertex,\n  bsdfs,\n  iridescence_fragment,\n  bumpmap_pars_fragment,\n  clipping_planes_fragment,\n  clipping_planes_pars_fragment,\n  clipping_planes_pars_vertex,\n  clipping_planes_vertex,\n  color_fragment,\n  color_pars_fragment,\n  color_pars_vertex,\n  color_vertex,\n  common,\n  cube_uv_reflection_fragment,\n  defaultnormal_vertex,\n  displacementmap_pars_vertex,\n  displacementmap_vertex,\n  emissivemap_fragment,\n  emissivemap_pars_fragment,\n  colorspace_fragment,\n  colorspace_pars_fragment,\n  envmap_fragment,\n  envmap_common_pars_fragment,\n  envmap_pars_fragment,\n  envmap_pars_vertex,\n  envmap_physical_pars_fragment,\n  envmap_vertex,\n  fog_vertex,\n  fog_pars_vertex,\n  fog_fragment,\n  fog_pars_fragment,\n  gradientmap_pars_fragment,\n  lightmap_pars_fragment,\n  lights_lambert_fragment,\n  lights_lambert_pars_fragment,\n  lights_pars_begin,\n  lights_toon_fragment,\n  lights_toon_pars_fragment,\n  lights_phong_fragment,\n  lights_phong_pars_fragment,\n  lights_physical_fragment,\n  lights_physical_pars_fragment,\n  lights_fragment_begin,\n  lights_fragment_maps,\n  lights_fragment_end,\n  logdepthbuf_fragment,\n  logdepthbuf_pars_fragment,\n  logdepthbuf_pars_vertex,\n  logdepthbuf_vertex,\n  map_fragment,\n  map_pars_fragment,\n  map_particle_fragment,\n  map_particle_pars_fragment,\n  metalnessmap_fragment,\n  metalnessmap_pars_fragment,\n  morphinstance_vertex,\n  morphcolor_vertex,\n  morphnormal_vertex,\n  morphtarget_pars_vertex,\n  morphtarget_vertex,\n  normal_fragment_begin,\n  normal_fragment_maps,\n  normal_pars_fragment,\n  normal_pars_vertex,\n  normal_vertex,\n  normalmap_pars_fragment,\n  clearcoat_normal_fragment_begin,\n  clearcoat_normal_fragment_maps,\n  clearcoat_pars_fragment,\n  iridescence_pars_fragment,\n  opaque_fragment,\n  packing,\n  premultiplied_alpha_fragment,\n  project_vertex,\n  dithering_fragment,\n  dithering_pars_fragment,\n  roughnessmap_fragment,\n  roughnessmap_pars_fragment,\n  shadowmap_pars_fragment,\n  shadowmap_pars_vertex,\n  shadowmap_vertex,\n  shadowmask_pars_fragment,\n  skinbase_vertex,\n  skinning_pars_vertex,\n  skinning_vertex,\n  skinnormal_vertex,\n  specularmap_fragment,\n  specularmap_pars_fragment,\n  tonemapping_fragment,\n  tonemapping_pars_fragment,\n  transmission_fragment,\n  transmission_pars_fragment,\n  uv_pars_fragment,\n  uv_pars_vertex,\n  uv_vertex,\n  worldpos_vertex,\n  background_vert: vertex$h,\n  background_frag: fragment$h,\n  backgroundCube_vert: vertex$g,\n  backgroundCube_frag: fragment$g,\n  cube_vert: vertex$f,\n  cube_frag: fragment$f,\n  depth_vert: vertex$e,\n  depth_frag: fragment$e,\n  distanceRGBA_vert: vertex$d,\n  distanceRGBA_frag: fragment$d,\n  equirect_vert: vertex$c,\n  equirect_frag: fragment$c,\n  linedashed_vert: vertex$b,\n  linedashed_frag: fragment$b,\n  meshbasic_vert: vertex$a,\n  meshbasic_frag: fragment$a,\n  meshlambert_vert: vertex$9,\n  meshlambert_frag: fragment$9,\n  meshmatcap_vert: vertex$8,\n  meshmatcap_frag: fragment$8,\n  meshnormal_vert: vertex$7,\n  meshnormal_frag: fragment$7,\n  meshphong_vert: vertex$6,\n  meshphong_frag: fragment$6,\n  meshphysical_vert: vertex$5,\n  meshphysical_frag: fragment$5,\n  meshtoon_vert: vertex$4,\n  meshtoon_frag: fragment$4,\n  points_vert: vertex$3,\n  points_frag: fragment$3,\n  shadow_vert: vertex$2,\n  shadow_frag: fragment$2,\n  sprite_vert: vertex$1,\n  sprite_frag: fragment$1\n};\nvar UniformsLib = {\n  common: {\n    diffuse: { value: /* @__PURE__ */ new Color(16777215) },\n    opacity: { value: 1 },\n    map: { value: null },\n    mapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    alphaMap: { value: null },\n    alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    alphaTest: { value: 0 }\n  },\n  specularmap: {\n    specularMap: { value: null },\n    specularMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  envmap: {\n    envMap: { value: null },\n    envMapRotation: { value: /* @__PURE__ */ new Matrix3() },\n    flipEnvMap: { value: -1 },\n    reflectivity: { value: 1 },\n    // basic, lambert, phong\n    ior: { value: 1.5 },\n    // physical\n    refractionRatio: { value: 0.98 }\n    // basic, lambert, phong\n  },\n  aomap: {\n    aoMap: { value: null },\n    aoMapIntensity: { value: 1 },\n    aoMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  lightmap: {\n    lightMap: { value: null },\n    lightMapIntensity: { value: 1 },\n    lightMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  bumpmap: {\n    bumpMap: { value: null },\n    bumpMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    bumpScale: { value: 1 }\n  },\n  normalmap: {\n    normalMap: { value: null },\n    normalMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    normalScale: { value: /* @__PURE__ */ new Vector2(1, 1) }\n  },\n  displacementmap: {\n    displacementMap: { value: null },\n    displacementMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    displacementScale: { value: 1 },\n    displacementBias: { value: 0 }\n  },\n  emissivemap: {\n    emissiveMap: { value: null },\n    emissiveMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  metalnessmap: {\n    metalnessMap: { value: null },\n    metalnessMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  roughnessmap: {\n    roughnessMap: { value: null },\n    roughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  gradientmap: {\n    gradientMap: { value: null }\n  },\n  fog: {\n    fogDensity: { value: 25e-5 },\n    fogNear: { value: 1 },\n    fogFar: { value: 2e3 },\n    fogColor: { value: /* @__PURE__ */ new Color(16777215) }\n  },\n  lights: {\n    ambientLightColor: { value: [] },\n    lightProbe: { value: [] },\n    directionalLights: { value: [], properties: {\n      direction: {},\n      color: {}\n    } },\n    directionalLightShadows: { value: [], properties: {\n      shadowIntensity: 1,\n      shadowBias: {},\n      shadowNormalBias: {},\n      shadowRadius: {},\n      shadowMapSize: {}\n    } },\n    directionalShadowMap: { value: [] },\n    directionalShadowMatrix: { value: [] },\n    spotLights: { value: [], properties: {\n      color: {},\n      position: {},\n      direction: {},\n      distance: {},\n      coneCos: {},\n      penumbraCos: {},\n      decay: {}\n    } },\n    spotLightShadows: { value: [], properties: {\n      shadowIntensity: 1,\n      shadowBias: {},\n      shadowNormalBias: {},\n      shadowRadius: {},\n      shadowMapSize: {}\n    } },\n    spotLightMap: { value: [] },\n    spotShadowMap: { value: [] },\n    spotLightMatrix: { value: [] },\n    pointLights: { value: [], properties: {\n      color: {},\n      position: {},\n      decay: {},\n      distance: {}\n    } },\n    pointLightShadows: { value: [], properties: {\n      shadowIntensity: 1,\n      shadowBias: {},\n      shadowNormalBias: {},\n      shadowRadius: {},\n      shadowMapSize: {},\n      shadowCameraNear: {},\n      shadowCameraFar: {}\n    } },\n    pointShadowMap: { value: [] },\n    pointShadowMatrix: { value: [] },\n    hemisphereLights: { value: [], properties: {\n      direction: {},\n      skyColor: {},\n      groundColor: {}\n    } },\n    // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src\n    rectAreaLights: { value: [], properties: {\n      color: {},\n      position: {},\n      width: {},\n      height: {}\n    } },\n    ltc_1: { value: null },\n    ltc_2: { value: null }\n  },\n  points: {\n    diffuse: { value: /* @__PURE__ */ new Color(16777215) },\n    opacity: { value: 1 },\n    size: { value: 1 },\n    scale: { value: 1 },\n    map: { value: null },\n    alphaMap: { value: null },\n    alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    alphaTest: { value: 0 },\n    uvTransform: { value: /* @__PURE__ */ new Matrix3() }\n  },\n  sprite: {\n    diffuse: { value: /* @__PURE__ */ new Color(16777215) },\n    opacity: { value: 1 },\n    center: { value: /* @__PURE__ */ new Vector2(0.5, 0.5) },\n    rotation: { value: 0 },\n    map: { value: null },\n    mapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    alphaMap: { value: null },\n    alphaMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n    alphaTest: { value: 0 }\n  }\n};\nvar ShaderLib = {\n  basic: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.specularmap,\n      UniformsLib.envmap,\n      UniformsLib.aomap,\n      UniformsLib.lightmap,\n      UniformsLib.fog\n    ]),\n    vertexShader: ShaderChunk.meshbasic_vert,\n    fragmentShader: ShaderChunk.meshbasic_frag\n  },\n  lambert: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.specularmap,\n      UniformsLib.envmap,\n      UniformsLib.aomap,\n      UniformsLib.lightmap,\n      UniformsLib.emissivemap,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      UniformsLib.fog,\n      UniformsLib.lights,\n      {\n        emissive: { value: /* @__PURE__ */ new Color(0) }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshlambert_vert,\n    fragmentShader: ShaderChunk.meshlambert_frag\n  },\n  phong: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.specularmap,\n      UniformsLib.envmap,\n      UniformsLib.aomap,\n      UniformsLib.lightmap,\n      UniformsLib.emissivemap,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      UniformsLib.fog,\n      UniformsLib.lights,\n      {\n        emissive: { value: /* @__PURE__ */ new Color(0) },\n        specular: { value: /* @__PURE__ */ new Color(1118481) },\n        shininess: { value: 30 }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshphong_vert,\n    fragmentShader: ShaderChunk.meshphong_frag\n  },\n  standard: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.envmap,\n      UniformsLib.aomap,\n      UniformsLib.lightmap,\n      UniformsLib.emissivemap,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      UniformsLib.roughnessmap,\n      UniformsLib.metalnessmap,\n      UniformsLib.fog,\n      UniformsLib.lights,\n      {\n        emissive: { value: /* @__PURE__ */ new Color(0) },\n        roughness: { value: 1 },\n        metalness: { value: 0 },\n        envMapIntensity: { value: 1 }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshphysical_vert,\n    fragmentShader: ShaderChunk.meshphysical_frag\n  },\n  toon: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.aomap,\n      UniformsLib.lightmap,\n      UniformsLib.emissivemap,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      UniformsLib.gradientmap,\n      UniformsLib.fog,\n      UniformsLib.lights,\n      {\n        emissive: { value: /* @__PURE__ */ new Color(0) }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshtoon_vert,\n    fragmentShader: ShaderChunk.meshtoon_frag\n  },\n  matcap: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      UniformsLib.fog,\n      {\n        matcap: { value: null }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshmatcap_vert,\n    fragmentShader: ShaderChunk.meshmatcap_frag\n  },\n  points: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.points,\n      UniformsLib.fog\n    ]),\n    vertexShader: ShaderChunk.points_vert,\n    fragmentShader: ShaderChunk.points_frag\n  },\n  dashed: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.fog,\n      {\n        scale: { value: 1 },\n        dashSize: { value: 1 },\n        totalSize: { value: 2 }\n      }\n    ]),\n    vertexShader: ShaderChunk.linedashed_vert,\n    fragmentShader: ShaderChunk.linedashed_frag\n  },\n  depth: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.displacementmap\n    ]),\n    vertexShader: ShaderChunk.depth_vert,\n    fragmentShader: ShaderChunk.depth_frag\n  },\n  normal: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.bumpmap,\n      UniformsLib.normalmap,\n      UniformsLib.displacementmap,\n      {\n        opacity: { value: 1 }\n      }\n    ]),\n    vertexShader: ShaderChunk.meshnormal_vert,\n    fragmentShader: ShaderChunk.meshnormal_frag\n  },\n  sprite: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.sprite,\n      UniformsLib.fog\n    ]),\n    vertexShader: ShaderChunk.sprite_vert,\n    fragmentShader: ShaderChunk.sprite_frag\n  },\n  background: {\n    uniforms: {\n      uvTransform: { value: /* @__PURE__ */ new Matrix3() },\n      t2D: { value: null },\n      backgroundIntensity: { value: 1 }\n    },\n    vertexShader: ShaderChunk.background_vert,\n    fragmentShader: ShaderChunk.background_frag\n  },\n  backgroundCube: {\n    uniforms: {\n      envMap: { value: null },\n      flipEnvMap: { value: -1 },\n      backgroundBlurriness: { value: 0 },\n      backgroundIntensity: { value: 1 },\n      backgroundRotation: { value: /* @__PURE__ */ new Matrix3() }\n    },\n    vertexShader: ShaderChunk.backgroundCube_vert,\n    fragmentShader: ShaderChunk.backgroundCube_frag\n  },\n  cube: {\n    uniforms: {\n      tCube: { value: null },\n      tFlip: { value: -1 },\n      opacity: { value: 1 }\n    },\n    vertexShader: ShaderChunk.cube_vert,\n    fragmentShader: ShaderChunk.cube_frag\n  },\n  equirect: {\n    uniforms: {\n      tEquirect: { value: null }\n    },\n    vertexShader: ShaderChunk.equirect_vert,\n    fragmentShader: ShaderChunk.equirect_frag\n  },\n  distanceRGBA: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.common,\n      UniformsLib.displacementmap,\n      {\n        referencePosition: { value: /* @__PURE__ */ new Vector3() },\n        nearDistance: { value: 1 },\n        farDistance: { value: 1e3 }\n      }\n    ]),\n    vertexShader: ShaderChunk.distanceRGBA_vert,\n    fragmentShader: ShaderChunk.distanceRGBA_frag\n  },\n  shadow: {\n    uniforms: /* @__PURE__ */ mergeUniforms([\n      UniformsLib.lights,\n      UniformsLib.fog,\n      {\n        color: { value: /* @__PURE__ */ new Color(0) },\n        opacity: { value: 1 }\n      }\n    ]),\n    vertexShader: ShaderChunk.shadow_vert,\n    fragmentShader: ShaderChunk.shadow_frag\n  }\n};\nShaderLib.physical = {\n  uniforms: /* @__PURE__ */ mergeUniforms([\n    ShaderLib.standard.uniforms,\n    {\n      clearcoat: { value: 0 },\n      clearcoatMap: { value: null },\n      clearcoatMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      clearcoatNormalMap: { value: null },\n      clearcoatNormalMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      clearcoatNormalScale: { value: /* @__PURE__ */ new Vector2(1, 1) },\n      clearcoatRoughness: { value: 0 },\n      clearcoatRoughnessMap: { value: null },\n      clearcoatRoughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      dispersion: { value: 0 },\n      iridescence: { value: 0 },\n      iridescenceMap: { value: null },\n      iridescenceMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      iridescenceIOR: { value: 1.3 },\n      iridescenceThicknessMinimum: { value: 100 },\n      iridescenceThicknessMaximum: { value: 400 },\n      iridescenceThicknessMap: { value: null },\n      iridescenceThicknessMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      sheen: { value: 0 },\n      sheenColor: { value: /* @__PURE__ */ new Color(0) },\n      sheenColorMap: { value: null },\n      sheenColorMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      sheenRoughness: { value: 1 },\n      sheenRoughnessMap: { value: null },\n      sheenRoughnessMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      transmission: { value: 0 },\n      transmissionMap: { value: null },\n      transmissionMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      transmissionSamplerSize: { value: /* @__PURE__ */ new Vector2() },\n      transmissionSamplerMap: { value: null },\n      thickness: { value: 0 },\n      thicknessMap: { value: null },\n      thicknessMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      attenuationDistance: { value: 0 },\n      attenuationColor: { value: /* @__PURE__ */ new Color(0) },\n      specularColor: { value: /* @__PURE__ */ new Color(1, 1, 1) },\n      specularColorMap: { value: null },\n      specularColorMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      specularIntensity: { value: 1 },\n      specularIntensityMap: { value: null },\n      specularIntensityMapTransform: { value: /* @__PURE__ */ new Matrix3() },\n      anisotropyVector: { value: /* @__PURE__ */ new Vector2() },\n      anisotropyMap: { value: null },\n      anisotropyMapTransform: { value: /* @__PURE__ */ new Matrix3() }\n    }\n  ]),\n  vertexShader: ShaderChunk.meshphysical_vert,\n  fragmentShader: ShaderChunk.meshphysical_frag\n};\nvar _rgb = { r: 0, b: 0, g: 0 };\nvar _e1$1 = /* @__PURE__ */ new Euler();\nvar _m1$1 = /* @__PURE__ */ new Matrix4();\nfunction WebGLBackground(renderer, cubemaps, cubeuvmaps, state, objects, alpha, premultipliedAlpha) {\n  const clearColor = new Color(0);\n  let clearAlpha = alpha === true ? 0 : 1;\n  let planeMesh;\n  let boxMesh;\n  let currentBackground = null;\n  let currentBackgroundVersion = 0;\n  let currentTonemapping = null;\n  function getBackground(scene) {\n    let background = scene.isScene === true ? scene.background : null;\n    if (background && background.isTexture) {\n      const usePMREM = scene.backgroundBlurriness > 0;\n      background = (usePMREM ? cubeuvmaps : cubemaps).get(background);\n    }\n    return background;\n  }\n  function render(scene) {\n    let forceClear = false;\n    const background = getBackground(scene);\n    if (background === null) {\n      setClear(clearColor, clearAlpha);\n    } else if (background && background.isColor) {\n      setClear(background, 1);\n      forceClear = true;\n    }\n    const environmentBlendMode = renderer.xr.getEnvironmentBlendMode();\n    if (environmentBlendMode === \"additive\") {\n      state.buffers.color.setClear(0, 0, 0, 1, premultipliedAlpha);\n    } else if (environmentBlendMode === \"alpha-blend\") {\n      state.buffers.color.setClear(0, 0, 0, 0, premultipliedAlpha);\n    }\n    if (renderer.autoClear || forceClear) {\n      state.buffers.depth.setTest(true);\n      state.buffers.depth.setMask(true);\n      state.buffers.color.setMask(true);\n      renderer.clear(renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil);\n    }\n  }\n  function addToRenderList(renderList, scene) {\n    const background = getBackground(scene);\n    if (background && (background.isCubeTexture || background.mapping === CubeUVReflectionMapping)) {\n      if (boxMesh === void 0) {\n        boxMesh = new Mesh(\n          new BoxGeometry(1, 1, 1),\n          new ShaderMaterial({\n            name: \"BackgroundCubeMaterial\",\n            uniforms: cloneUniforms(ShaderLib.backgroundCube.uniforms),\n            vertexShader: ShaderLib.backgroundCube.vertexShader,\n            fragmentShader: ShaderLib.backgroundCube.fragmentShader,\n            side: BackSide,\n            depthTest: false,\n            depthWrite: false,\n            fog: false\n          })\n        );\n        boxMesh.geometry.deleteAttribute(\"normal\");\n        boxMesh.geometry.deleteAttribute(\"uv\");\n        boxMesh.onBeforeRender = function(renderer2, scene2, camera) {\n          this.matrixWorld.copyPosition(camera.matrixWorld);\n        };\n        Object.defineProperty(boxMesh.material, \"envMap\", {\n          get: function() {\n            return this.uniforms.envMap.value;\n          }\n        });\n        objects.update(boxMesh);\n      }\n      _e1$1.copy(scene.backgroundRotation);\n      _e1$1.x *= -1;\n      _e1$1.y *= -1;\n      _e1$1.z *= -1;\n      if (background.isCubeTexture && background.isRenderTargetTexture === false) {\n        _e1$1.y *= -1;\n        _e1$1.z *= -1;\n      }\n      boxMesh.material.uniforms.envMap.value = background;\n      boxMesh.material.uniforms.flipEnvMap.value = background.isCubeTexture && background.isRenderTargetTexture === false ? -1 : 1;\n      boxMesh.material.uniforms.backgroundBlurriness.value = scene.backgroundBlurriness;\n      boxMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity;\n      boxMesh.material.uniforms.backgroundRotation.value.setFromMatrix4(_m1$1.makeRotationFromEuler(_e1$1));\n      boxMesh.material.toneMapped = ColorManagement.getTransfer(background.colorSpace) !== SRGBTransfer;\n      if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) {\n        boxMesh.material.needsUpdate = true;\n        currentBackground = background;\n        currentBackgroundVersion = background.version;\n        currentTonemapping = renderer.toneMapping;\n      }\n      boxMesh.layers.enableAll();\n      renderList.unshift(boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null);\n    } else if (background && background.isTexture) {\n      if (planeMesh === void 0) {\n        planeMesh = new Mesh(\n          new PlaneGeometry(2, 2),\n          new ShaderMaterial({\n            name: \"BackgroundMaterial\",\n            uniforms: cloneUniforms(ShaderLib.background.uniforms),\n            vertexShader: ShaderLib.background.vertexShader,\n            fragmentShader: ShaderLib.background.fragmentShader,\n            side: FrontSide,\n            depthTest: false,\n            depthWrite: false,\n            fog: false\n          })\n        );\n        planeMesh.geometry.deleteAttribute(\"normal\");\n        Object.defineProperty(planeMesh.material, \"map\", {\n          get: function() {\n            return this.uniforms.t2D.value;\n          }\n        });\n        objects.update(planeMesh);\n      }\n      planeMesh.material.uniforms.t2D.value = background;\n      planeMesh.material.uniforms.backgroundIntensity.value = scene.backgroundIntensity;\n      planeMesh.material.toneMapped = ColorManagement.getTransfer(background.colorSpace) !== SRGBTransfer;\n      if (background.matrixAutoUpdate === true) {\n        background.updateMatrix();\n      }\n      planeMesh.material.uniforms.uvTransform.value.copy(background.matrix);\n      if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) {\n        planeMesh.material.needsUpdate = true;\n        currentBackground = background;\n        currentBackgroundVersion = background.version;\n        currentTonemapping = renderer.toneMapping;\n      }\n      planeMesh.layers.enableAll();\n      renderList.unshift(planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null);\n    }\n  }\n  function setClear(color, alpha2) {\n    color.getRGB(_rgb, getUnlitUniformColorSpace(renderer));\n    state.buffers.color.setClear(_rgb.r, _rgb.g, _rgb.b, alpha2, premultipliedAlpha);\n  }\n  return {\n    getClearColor: function() {\n      return clearColor;\n    },\n    setClearColor: function(color, alpha2 = 1) {\n      clearColor.set(color);\n      clearAlpha = alpha2;\n      setClear(clearColor, clearAlpha);\n    },\n    getClearAlpha: function() {\n      return clearAlpha;\n    },\n    setClearAlpha: function(alpha2) {\n      clearAlpha = alpha2;\n      setClear(clearColor, clearAlpha);\n    },\n    render,\n    addToRenderList\n  };\n}\nfunction WebGLBindingStates(gl, attributes) {\n  const maxVertexAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);\n  const bindingStates = {};\n  const defaultState = createBindingState(null);\n  let currentState = defaultState;\n  let forceUpdate = false;\n  function setup(object, material, program, geometry, index) {\n    let updateBuffers = false;\n    const state = getBindingState(geometry, program, material);\n    if (currentState !== state) {\n      currentState = state;\n      bindVertexArrayObject(currentState.object);\n    }\n    updateBuffers = needsUpdate(object, geometry, program, index);\n    if (updateBuffers) saveCache(object, geometry, program, index);\n    if (index !== null) {\n      attributes.update(index, gl.ELEMENT_ARRAY_BUFFER);\n    }\n    if (updateBuffers || forceUpdate) {\n      forceUpdate = false;\n      setupVertexAttributes(object, material, program, geometry);\n      if (index !== null) {\n        gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, attributes.get(index).buffer);\n      }\n    }\n  }\n  function createVertexArrayObject() {\n    return gl.createVertexArray();\n  }\n  function bindVertexArrayObject(vao) {\n    return gl.bindVertexArray(vao);\n  }\n  function deleteVertexArrayObject(vao) {\n    return gl.deleteVertexArray(vao);\n  }\n  function getBindingState(geometry, program, material) {\n    const wireframe = material.wireframe === true;\n    let programMap = bindingStates[geometry.id];\n    if (programMap === void 0) {\n      programMap = {};\n      bindingStates[geometry.id] = programMap;\n    }\n    let stateMap = programMap[program.id];\n    if (stateMap === void 0) {\n      stateMap = {};\n      programMap[program.id] = stateMap;\n    }\n    let state = stateMap[wireframe];\n    if (state === void 0) {\n      state = createBindingState(createVertexArrayObject());\n      stateMap[wireframe] = state;\n    }\n    return state;\n  }\n  function createBindingState(vao) {\n    const newAttributes = [];\n    const enabledAttributes = [];\n    const attributeDivisors = [];\n    for (let i = 0; i < maxVertexAttributes; i++) {\n      newAttributes[i] = 0;\n      enabledAttributes[i] = 0;\n      attributeDivisors[i] = 0;\n    }\n    return {\n      // for backward compatibility on non-VAO support browser\n      geometry: null,\n      program: null,\n      wireframe: false,\n      newAttributes,\n      enabledAttributes,\n      attributeDivisors,\n      object: vao,\n      attributes: {},\n      index: null\n    };\n  }\n  function needsUpdate(object, geometry, program, index) {\n    const cachedAttributes = currentState.attributes;\n    const geometryAttributes = geometry.attributes;\n    let attributesNum = 0;\n    const programAttributes = program.getAttributes();\n    for (const name in programAttributes) {\n      const programAttribute = programAttributes[name];\n      if (programAttribute.location >= 0) {\n        const cachedAttribute = cachedAttributes[name];\n        let geometryAttribute = geometryAttributes[name];\n        if (geometryAttribute === void 0) {\n          if (name === \"instanceMatrix\" && object.instanceMatrix) geometryAttribute = object.instanceMatrix;\n          if (name === \"instanceColor\" && object.instanceColor) geometryAttribute = object.instanceColor;\n        }\n        if (cachedAttribute === void 0) return true;\n        if (cachedAttribute.attribute !== geometryAttribute) return true;\n        if (geometryAttribute && cachedAttribute.data !== geometryAttribute.data) return true;\n        attributesNum++;\n      }\n    }\n    if (currentState.attributesNum !== attributesNum) return true;\n    if (currentState.index !== index) return true;\n    return false;\n  }\n  function saveCache(object, geometry, program, index) {\n    const cache = {};\n    const attributes2 = geometry.attributes;\n    let attributesNum = 0;\n    const programAttributes = program.getAttributes();\n    for (const name in programAttributes) {\n      const programAttribute = programAttributes[name];\n      if (programAttribute.location >= 0) {\n        let attribute = attributes2[name];\n        if (attribute === void 0) {\n          if (name === \"instanceMatrix\" && object.instanceMatrix) attribute = object.instanceMatrix;\n          if (name === \"instanceColor\" && object.instanceColor) attribute = object.instanceColor;\n        }\n        const data = {};\n        data.attribute = attribute;\n        if (attribute && attribute.data) {\n          data.data = attribute.data;\n        }\n        cache[name] = data;\n        attributesNum++;\n      }\n    }\n    currentState.attributes = cache;\n    currentState.attributesNum = attributesNum;\n    currentState.index = index;\n  }\n  function initAttributes() {\n    const newAttributes = currentState.newAttributes;\n    for (let i = 0, il = newAttributes.length; i < il; i++) {\n      newAttributes[i] = 0;\n    }\n  }\n  function enableAttribute(attribute) {\n    enableAttributeAndDivisor(attribute, 0);\n  }\n  function enableAttributeAndDivisor(attribute, meshPerAttribute) {\n    const newAttributes = currentState.newAttributes;\n    const enabledAttributes = currentState.enabledAttributes;\n    const attributeDivisors = currentState.attributeDivisors;\n    newAttributes[attribute] = 1;\n    if (enabledAttributes[attribute] === 0) {\n      gl.enableVertexAttribArray(attribute);\n      enabledAttributes[attribute] = 1;\n    }\n    if (attributeDivisors[attribute] !== meshPerAttribute) {\n      gl.vertexAttribDivisor(attribute, meshPerAttribute);\n      attributeDivisors[attribute] = meshPerAttribute;\n    }\n  }\n  function disableUnusedAttributes() {\n    const newAttributes = currentState.newAttributes;\n    const enabledAttributes = currentState.enabledAttributes;\n    for (let i = 0, il = enabledAttributes.length; i < il; i++) {\n      if (enabledAttributes[i] !== newAttributes[i]) {\n        gl.disableVertexAttribArray(i);\n        enabledAttributes[i] = 0;\n      }\n    }\n  }\n  function vertexAttribPointer(index, size, type, normalized, stride, offset, integer) {\n    if (integer === true) {\n      gl.vertexAttribIPointer(index, size, type, stride, offset);\n    } else {\n      gl.vertexAttribPointer(index, size, type, normalized, stride, offset);\n    }\n  }\n  function setupVertexAttributes(object, material, program, geometry) {\n    initAttributes();\n    const geometryAttributes = geometry.attributes;\n    const programAttributes = program.getAttributes();\n    const materialDefaultAttributeValues = material.defaultAttributeValues;\n    for (const name in programAttributes) {\n      const programAttribute = programAttributes[name];\n      if (programAttribute.location >= 0) {\n        let geometryAttribute = geometryAttributes[name];\n        if (geometryAttribute === void 0) {\n          if (name === \"instanceMatrix\" && object.instanceMatrix) geometryAttribute = object.instanceMatrix;\n          if (name === \"instanceColor\" && object.instanceColor) geometryAttribute = object.instanceColor;\n        }\n        if (geometryAttribute !== void 0) {\n          const normalized = geometryAttribute.normalized;\n          const size = geometryAttribute.itemSize;\n          const attribute = attributes.get(geometryAttribute);\n          if (attribute === void 0) continue;\n          const buffer = attribute.buffer;\n          const type = attribute.type;\n          const bytesPerElement = attribute.bytesPerElement;\n          const integer = type === gl.INT || type === gl.UNSIGNED_INT || geometryAttribute.gpuType === IntType;\n          if (geometryAttribute.isInterleavedBufferAttribute) {\n            const data = geometryAttribute.data;\n            const stride = data.stride;\n            const offset = geometryAttribute.offset;\n            if (data.isInstancedInterleavedBuffer) {\n              for (let i = 0; i < programAttribute.locationSize; i++) {\n                enableAttributeAndDivisor(programAttribute.location + i, data.meshPerAttribute);\n              }\n              if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) {\n                geometry._maxInstanceCount = data.meshPerAttribute * data.count;\n              }\n            } else {\n              for (let i = 0; i < programAttribute.locationSize; i++) {\n                enableAttribute(programAttribute.location + i);\n              }\n            }\n            gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n            for (let i = 0; i < programAttribute.locationSize; i++) {\n              vertexAttribPointer(\n                programAttribute.location + i,\n                size / programAttribute.locationSize,\n                type,\n                normalized,\n                stride * bytesPerElement,\n                (offset + size / programAttribute.locationSize * i) * bytesPerElement,\n                integer\n              );\n            }\n          } else {\n            if (geometryAttribute.isInstancedBufferAttribute) {\n              for (let i = 0; i < programAttribute.locationSize; i++) {\n                enableAttributeAndDivisor(programAttribute.location + i, geometryAttribute.meshPerAttribute);\n              }\n              if (object.isInstancedMesh !== true && geometry._maxInstanceCount === void 0) {\n                geometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count;\n              }\n            } else {\n              for (let i = 0; i < programAttribute.locationSize; i++) {\n                enableAttribute(programAttribute.location + i);\n              }\n            }\n            gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n            for (let i = 0; i < programAttribute.locationSize; i++) {\n              vertexAttribPointer(\n                programAttribute.location + i,\n                size / programAttribute.locationSize,\n                type,\n                normalized,\n                size * bytesPerElement,\n                size / programAttribute.locationSize * i * bytesPerElement,\n                integer\n              );\n            }\n          }\n        } else if (materialDefaultAttributeValues !== void 0) {\n          const value = materialDefaultAttributeValues[name];\n          if (value !== void 0) {\n            switch (value.length) {\n              case 2:\n                gl.vertexAttrib2fv(programAttribute.location, value);\n                break;\n              case 3:\n                gl.vertexAttrib3fv(programAttribute.location, value);\n                break;\n              case 4:\n                gl.vertexAttrib4fv(programAttribute.location, value);\n                break;\n              default:\n                gl.vertexAttrib1fv(programAttribute.location, value);\n            }\n          }\n        }\n      }\n    }\n    disableUnusedAttributes();\n  }\n  function dispose() {\n    reset();\n    for (const geometryId in bindingStates) {\n      const programMap = bindingStates[geometryId];\n      for (const programId in programMap) {\n        const stateMap = programMap[programId];\n        for (const wireframe in stateMap) {\n          deleteVertexArrayObject(stateMap[wireframe].object);\n          delete stateMap[wireframe];\n        }\n        delete programMap[programId];\n      }\n      delete bindingStates[geometryId];\n    }\n  }\n  function releaseStatesOfGeometry(geometry) {\n    if (bindingStates[geometry.id] === void 0) return;\n    const programMap = bindingStates[geometry.id];\n    for (const programId in programMap) {\n      const stateMap = programMap[programId];\n      for (const wireframe in stateMap) {\n        deleteVertexArrayObject(stateMap[wireframe].object);\n        delete stateMap[wireframe];\n      }\n      delete programMap[programId];\n    }\n    delete bindingStates[geometry.id];\n  }\n  function releaseStatesOfProgram(program) {\n    for (const geometryId in bindingStates) {\n      const programMap = bindingStates[geometryId];\n      if (programMap[program.id] === void 0) continue;\n      const stateMap = programMap[program.id];\n      for (const wireframe in stateMap) {\n        deleteVertexArrayObject(stateMap[wireframe].object);\n        delete stateMap[wireframe];\n      }\n      delete programMap[program.id];\n    }\n  }\n  function reset() {\n    resetDefaultState();\n    forceUpdate = true;\n    if (currentState === defaultState) return;\n    currentState = defaultState;\n    bindVertexArrayObject(currentState.object);\n  }\n  function resetDefaultState() {\n    defaultState.geometry = null;\n    defaultState.program = null;\n    defaultState.wireframe = false;\n  }\n  return {\n    setup,\n    reset,\n    resetDefaultState,\n    dispose,\n    releaseStatesOfGeometry,\n    releaseStatesOfProgram,\n    initAttributes,\n    enableAttribute,\n    disableUnusedAttributes\n  };\n}\nfunction WebGLBufferRenderer(gl, extensions, info) {\n  let mode;\n  function setMode(value) {\n    mode = value;\n  }\n  function render(start, count) {\n    gl.drawArrays(mode, start, count);\n    info.update(count, mode, 1);\n  }\n  function renderInstances(start, count, primcount) {\n    if (primcount === 0) return;\n    gl.drawArraysInstanced(mode, start, count, primcount);\n    info.update(count, mode, primcount);\n  }\n  function renderMultiDraw(starts, counts, drawCount) {\n    if (drawCount === 0) return;\n    const extension = extensions.get(\"WEBGL_multi_draw\");\n    extension.multiDrawArraysWEBGL(mode, starts, 0, counts, 0, drawCount);\n    let elementCount = 0;\n    for (let i = 0; i < drawCount; i++) {\n      elementCount += counts[i];\n    }\n    info.update(elementCount, mode, 1);\n  }\n  function renderMultiDrawInstances(starts, counts, drawCount, primcount) {\n    if (drawCount === 0) return;\n    const extension = extensions.get(\"WEBGL_multi_draw\");\n    if (extension === null) {\n      for (let i = 0; i < starts.length; i++) {\n        renderInstances(starts[i], counts[i], primcount[i]);\n      }\n    } else {\n      extension.multiDrawArraysInstancedWEBGL(mode, starts, 0, counts, 0, primcount, 0, drawCount);\n      let elementCount = 0;\n      for (let i = 0; i < drawCount; i++) {\n        elementCount += counts[i];\n      }\n      for (let i = 0; i < primcount.length; i++) {\n        info.update(elementCount, mode, primcount[i]);\n      }\n    }\n  }\n  this.setMode = setMode;\n  this.render = render;\n  this.renderInstances = renderInstances;\n  this.renderMultiDraw = renderMultiDraw;\n  this.renderMultiDrawInstances = renderMultiDrawInstances;\n}\nfunction WebGLCapabilities(gl, extensions, parameters, utils) {\n  let maxAnisotropy;\n  function getMaxAnisotropy() {\n    if (maxAnisotropy !== void 0) return maxAnisotropy;\n    if (extensions.has(\"EXT_texture_filter_anisotropic\") === true) {\n      const extension = extensions.get(\"EXT_texture_filter_anisotropic\");\n      maxAnisotropy = gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n    } else {\n      maxAnisotropy = 0;\n    }\n    return maxAnisotropy;\n  }\n  function textureFormatReadable(textureFormat) {\n    if (textureFormat !== RGBAFormat && utils.convert(textureFormat) !== gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_FORMAT)) {\n      return false;\n    }\n    return true;\n  }\n  function textureTypeReadable(textureType) {\n    const halfFloatSupportedByExt = textureType === HalfFloatType && (extensions.has(\"EXT_color_buffer_half_float\") || extensions.has(\"EXT_color_buffer_float\"));\n    if (textureType !== UnsignedByteType && utils.convert(textureType) !== gl.getParameter(gl.IMPLEMENTATION_COLOR_READ_TYPE) && // Edge and Chrome Mac < 52 (#9513)\n    textureType !== FloatType && !halfFloatSupportedByExt) {\n      return false;\n    }\n    return true;\n  }\n  function getMaxPrecision(precision2) {\n    if (precision2 === \"highp\") {\n      if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT).precision > 0) {\n        return \"highp\";\n      }\n      precision2 = \"mediump\";\n    }\n    if (precision2 === \"mediump\") {\n      if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT).precision > 0) {\n        return \"mediump\";\n      }\n    }\n    return \"lowp\";\n  }\n  let precision = parameters.precision !== void 0 ? parameters.precision : \"highp\";\n  const maxPrecision = getMaxPrecision(precision);\n  if (maxPrecision !== precision) {\n    console.warn(\"THREE.WebGLRenderer:\", precision, \"not supported, using\", maxPrecision, \"instead.\");\n    precision = maxPrecision;\n  }\n  const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true;\n  const reverseDepthBuffer = parameters.reverseDepthBuffer === true && extensions.has(\"EXT_clip_control\");\n  if (reverseDepthBuffer === true) {\n    const ext = extensions.get(\"EXT_clip_control\");\n    ext.clipControlEXT(ext.LOWER_LEFT_EXT, ext.ZERO_TO_ONE_EXT);\n  }\n  const maxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);\n  const maxVertexTextures = gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS);\n  const maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);\n  const maxCubemapSize = gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE);\n  const maxAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);\n  const maxVertexUniforms = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS);\n  const maxVaryings = gl.getParameter(gl.MAX_VARYING_VECTORS);\n  const maxFragmentUniforms = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS);\n  const vertexTextures = maxVertexTextures > 0;\n  const maxSamples = gl.getParameter(gl.MAX_SAMPLES);\n  return {\n    isWebGL2: true,\n    // keeping this for backwards compatibility\n    getMaxAnisotropy,\n    getMaxPrecision,\n    textureFormatReadable,\n    textureTypeReadable,\n    precision,\n    logarithmicDepthBuffer,\n    reverseDepthBuffer,\n    maxTextures,\n    maxVertexTextures,\n    maxTextureSize,\n    maxCubemapSize,\n    maxAttributes,\n    maxVertexUniforms,\n    maxVaryings,\n    maxFragmentUniforms,\n    vertexTextures,\n    maxSamples\n  };\n}\nfunction WebGLClipping(properties) {\n  const scope = this;\n  let globalState = null, numGlobalPlanes = 0, localClippingEnabled = false, renderingShadows = false;\n  const plane = new Plane(), viewNormalMatrix = new Matrix3(), uniform = { value: null, needsUpdate: false };\n  this.uniform = uniform;\n  this.numPlanes = 0;\n  this.numIntersection = 0;\n  this.init = function(planes, enableLocalClipping) {\n    const enabled = planes.length !== 0 || enableLocalClipping || // enable state of previous frame - the clipping code has to\n    // run another frame in order to reset the state:\n    numGlobalPlanes !== 0 || localClippingEnabled;\n    localClippingEnabled = enableLocalClipping;\n    numGlobalPlanes = planes.length;\n    return enabled;\n  };\n  this.beginShadows = function() {\n    renderingShadows = true;\n    projectPlanes(null);\n  };\n  this.endShadows = function() {\n    renderingShadows = false;\n  };\n  this.setGlobalState = function(planes, camera) {\n    globalState = projectPlanes(planes, camera, 0);\n  };\n  this.setState = function(material, camera, useCache) {\n    const planes = material.clippingPlanes, clipIntersection = material.clipIntersection, clipShadows = material.clipShadows;\n    const materialProperties = properties.get(material);\n    if (!localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && !clipShadows) {\n      if (renderingShadows) {\n        projectPlanes(null);\n      } else {\n        resetGlobalState();\n      }\n    } else {\n      const nGlobal = renderingShadows ? 0 : numGlobalPlanes, lGlobal = nGlobal * 4;\n      let dstArray = materialProperties.clippingState || null;\n      uniform.value = dstArray;\n      dstArray = projectPlanes(planes, camera, lGlobal, useCache);\n      for (let i = 0; i !== lGlobal; ++i) {\n        dstArray[i] = globalState[i];\n      }\n      materialProperties.clippingState = dstArray;\n      this.numIntersection = clipIntersection ? this.numPlanes : 0;\n      this.numPlanes += nGlobal;\n    }\n  };\n  function resetGlobalState() {\n    if (uniform.value !== globalState) {\n      uniform.value = globalState;\n      uniform.needsUpdate = numGlobalPlanes > 0;\n    }\n    scope.numPlanes = numGlobalPlanes;\n    scope.numIntersection = 0;\n  }\n  function projectPlanes(planes, camera, dstOffset, skipTransform) {\n    const nPlanes = planes !== null ? planes.length : 0;\n    let dstArray = null;\n    if (nPlanes !== 0) {\n      dstArray = uniform.value;\n      if (skipTransform !== true || dstArray === null) {\n        const flatSize = dstOffset + nPlanes * 4, viewMatrix = camera.matrixWorldInverse;\n        viewNormalMatrix.getNormalMatrix(viewMatrix);\n        if (dstArray === null || dstArray.length < flatSize) {\n          dstArray = new Float32Array(flatSize);\n        }\n        for (let i = 0, i4 = dstOffset; i !== nPlanes; ++i, i4 += 4) {\n          plane.copy(planes[i]).applyMatrix4(viewMatrix, viewNormalMatrix);\n          plane.normal.toArray(dstArray, i4);\n          dstArray[i4 + 3] = plane.constant;\n        }\n      }\n      uniform.value = dstArray;\n      uniform.needsUpdate = true;\n    }\n    scope.numPlanes = nPlanes;\n    scope.numIntersection = 0;\n    return dstArray;\n  }\n}\nfunction WebGLCubeMaps(renderer) {\n  let cubemaps = /* @__PURE__ */ new WeakMap();\n  function mapTextureMapping(texture, mapping) {\n    if (mapping === EquirectangularReflectionMapping) {\n      texture.mapping = CubeReflectionMapping;\n    } else if (mapping === EquirectangularRefractionMapping) {\n      texture.mapping = CubeRefractionMapping;\n    }\n    return texture;\n  }\n  function get(texture) {\n    if (texture && texture.isTexture) {\n      const mapping = texture.mapping;\n      if (mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping) {\n        if (cubemaps.has(texture)) {\n          const cubemap = cubemaps.get(texture).texture;\n          return mapTextureMapping(cubemap, texture.mapping);\n        } else {\n          const image = texture.image;\n          if (image && image.height > 0) {\n            const renderTarget = new WebGLCubeRenderTarget(image.height);\n            renderTarget.fromEquirectangularTexture(renderer, texture);\n            cubemaps.set(texture, renderTarget);\n            texture.addEventListener(\"dispose\", onTextureDispose);\n            return mapTextureMapping(renderTarget.texture, texture.mapping);\n          } else {\n            return null;\n          }\n        }\n      }\n    }\n    return texture;\n  }\n  function onTextureDispose(event) {\n    const texture = event.target;\n    texture.removeEventListener(\"dispose\", onTextureDispose);\n    const cubemap = cubemaps.get(texture);\n    if (cubemap !== void 0) {\n      cubemaps.delete(texture);\n      cubemap.dispose();\n    }\n  }\n  function dispose() {\n    cubemaps = /* @__PURE__ */ new WeakMap();\n  }\n  return {\n    get,\n    dispose\n  };\n}\nvar OrthographicCamera = class extends Camera {\n  constructor(left = -1, right = 1, top = 1, bottom = -1, near = 0.1, far = 2e3) {\n    super();\n    this.isOrthographicCamera = true;\n    this.type = \"OrthographicCamera\";\n    this.zoom = 1;\n    this.view = null;\n    this.left = left;\n    this.right = right;\n    this.top = top;\n    this.bottom = bottom;\n    this.near = near;\n    this.far = far;\n    this.updateProjectionMatrix();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.left = source.left;\n    this.right = source.right;\n    this.top = source.top;\n    this.bottom = source.bottom;\n    this.near = source.near;\n    this.far = source.far;\n    this.zoom = source.zoom;\n    this.view = source.view === null ? null : Object.assign({}, source.view);\n    return this;\n  }\n  setViewOffset(fullWidth, fullHeight, x, y, width, height) {\n    if (this.view === null) {\n      this.view = {\n        enabled: true,\n        fullWidth: 1,\n        fullHeight: 1,\n        offsetX: 0,\n        offsetY: 0,\n        width: 1,\n        height: 1\n      };\n    }\n    this.view.enabled = true;\n    this.view.fullWidth = fullWidth;\n    this.view.fullHeight = fullHeight;\n    this.view.offsetX = x;\n    this.view.offsetY = y;\n    this.view.width = width;\n    this.view.height = height;\n    this.updateProjectionMatrix();\n  }\n  clearViewOffset() {\n    if (this.view !== null) {\n      this.view.enabled = false;\n    }\n    this.updateProjectionMatrix();\n  }\n  updateProjectionMatrix() {\n    const dx = (this.right - this.left) / (2 * this.zoom);\n    const dy = (this.top - this.bottom) / (2 * this.zoom);\n    const cx = (this.right + this.left) / 2;\n    const cy = (this.top + this.bottom) / 2;\n    let left = cx - dx;\n    let right = cx + dx;\n    let top = cy + dy;\n    let bottom = cy - dy;\n    if (this.view !== null && this.view.enabled) {\n      const scaleW = (this.right - this.left) / this.view.fullWidth / this.zoom;\n      const scaleH = (this.top - this.bottom) / this.view.fullHeight / this.zoom;\n      left += scaleW * this.view.offsetX;\n      right = left + scaleW * this.view.width;\n      top -= scaleH * this.view.offsetY;\n      bottom = top - scaleH * this.view.height;\n    }\n    this.projectionMatrix.makeOrthographic(left, right, top, bottom, this.near, this.far, this.coordinateSystem);\n    this.projectionMatrixInverse.copy(this.projectionMatrix).invert();\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.object.zoom = this.zoom;\n    data.object.left = this.left;\n    data.object.right = this.right;\n    data.object.top = this.top;\n    data.object.bottom = this.bottom;\n    data.object.near = this.near;\n    data.object.far = this.far;\n    if (this.view !== null) data.object.view = Object.assign({}, this.view);\n    return data;\n  }\n};\nvar LOD_MIN = 4;\nvar EXTRA_LOD_SIGMA = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582];\nvar MAX_SAMPLES = 20;\nvar _flatCamera = /* @__PURE__ */ new OrthographicCamera();\nvar _clearColor = /* @__PURE__ */ new Color();\nvar _oldTarget = null;\nvar _oldActiveCubeFace = 0;\nvar _oldActiveMipmapLevel = 0;\nvar _oldXrEnabled = false;\nvar PHI = (1 + Math.sqrt(5)) / 2;\nvar INV_PHI = 1 / PHI;\nvar _axisDirections = [\n  /* @__PURE__ */ new Vector3(-PHI, INV_PHI, 0),\n  /* @__PURE__ */ new Vector3(PHI, INV_PHI, 0),\n  /* @__PURE__ */ new Vector3(-INV_PHI, 0, PHI),\n  /* @__PURE__ */ new Vector3(INV_PHI, 0, PHI),\n  /* @__PURE__ */ new Vector3(0, PHI, -INV_PHI),\n  /* @__PURE__ */ new Vector3(0, PHI, INV_PHI),\n  /* @__PURE__ */ new Vector3(-1, 1, -1),\n  /* @__PURE__ */ new Vector3(1, 1, -1),\n  /* @__PURE__ */ new Vector3(-1, 1, 1),\n  /* @__PURE__ */ new Vector3(1, 1, 1)\n];\nvar PMREMGenerator = class {\n  constructor(renderer) {\n    this._renderer = renderer;\n    this._pingPongRenderTarget = null;\n    this._lodMax = 0;\n    this._cubeSize = 0;\n    this._lodPlanes = [];\n    this._sizeLods = [];\n    this._sigmas = [];\n    this._blurMaterial = null;\n    this._cubemapMaterial = null;\n    this._equirectMaterial = null;\n    this._compileMaterial(this._blurMaterial);\n  }\n  /**\n   * Generates a PMREM from a supplied Scene, which can be faster than using an\n   * image if networking bandwidth is low. Optional sigma specifies a blur radius\n   * in radians to be applied to the scene before PMREM generation. Optional near\n   * and far planes ensure the scene is rendered in its entirety (the cubeCamera\n   * is placed at the origin).\n   */\n  fromScene(scene, sigma = 0, near = 0.1, far = 100) {\n    _oldTarget = this._renderer.getRenderTarget();\n    _oldActiveCubeFace = this._renderer.getActiveCubeFace();\n    _oldActiveMipmapLevel = this._renderer.getActiveMipmapLevel();\n    _oldXrEnabled = this._renderer.xr.enabled;\n    this._renderer.xr.enabled = false;\n    this._setSize(256);\n    const cubeUVRenderTarget = this._allocateTargets();\n    cubeUVRenderTarget.depthBuffer = true;\n    this._sceneToCubeUV(scene, near, far, cubeUVRenderTarget);\n    if (sigma > 0) {\n      this._blur(cubeUVRenderTarget, 0, 0, sigma);\n    }\n    this._applyPMREM(cubeUVRenderTarget);\n    this._cleanup(cubeUVRenderTarget);\n    return cubeUVRenderTarget;\n  }\n  /**\n   * Generates a PMREM from an equirectangular texture, which can be either LDR\n   * or HDR. The ideal input image size is 1k (1024 x 512),\n   * as this matches best with the 256 x 256 cubemap output.\n   * The smallest supported equirectangular image size is 64 x 32.\n   */\n  fromEquirectangular(equirectangular, renderTarget = null) {\n    return this._fromTexture(equirectangular, renderTarget);\n  }\n  /**\n   * Generates a PMREM from an cubemap texture, which can be either LDR\n   * or HDR. The ideal input cube size is 256 x 256,\n   * as this matches best with the 256 x 256 cubemap output.\n   * The smallest supported cube size is 16 x 16.\n   */\n  fromCubemap(cubemap, renderTarget = null) {\n    return this._fromTexture(cubemap, renderTarget);\n  }\n  /**\n   * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during\n   * your texture's network fetch for increased concurrency.\n   */\n  compileCubemapShader() {\n    if (this._cubemapMaterial === null) {\n      this._cubemapMaterial = _getCubemapMaterial();\n      this._compileMaterial(this._cubemapMaterial);\n    }\n  }\n  /**\n   * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during\n   * your texture's network fetch for increased concurrency.\n   */\n  compileEquirectangularShader() {\n    if (this._equirectMaterial === null) {\n      this._equirectMaterial = _getEquirectMaterial();\n      this._compileMaterial(this._equirectMaterial);\n    }\n  }\n  /**\n   * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class,\n   * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on\n   * one of them will cause any others to also become unusable.\n   */\n  dispose() {\n    this._dispose();\n    if (this._cubemapMaterial !== null) this._cubemapMaterial.dispose();\n    if (this._equirectMaterial !== null) this._equirectMaterial.dispose();\n  }\n  // private interface\n  _setSize(cubeSize) {\n    this._lodMax = Math.floor(Math.log2(cubeSize));\n    this._cubeSize = Math.pow(2, this._lodMax);\n  }\n  _dispose() {\n    if (this._blurMaterial !== null) this._blurMaterial.dispose();\n    if (this._pingPongRenderTarget !== null) this._pingPongRenderTarget.dispose();\n    for (let i = 0; i < this._lodPlanes.length; i++) {\n      this._lodPlanes[i].dispose();\n    }\n  }\n  _cleanup(outputTarget) {\n    this._renderer.setRenderTarget(_oldTarget, _oldActiveCubeFace, _oldActiveMipmapLevel);\n    this._renderer.xr.enabled = _oldXrEnabled;\n    outputTarget.scissorTest = false;\n    _setViewport(outputTarget, 0, 0, outputTarget.width, outputTarget.height);\n  }\n  _fromTexture(texture, renderTarget) {\n    if (texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping) {\n      this._setSize(texture.image.length === 0 ? 16 : texture.image[0].width || texture.image[0].image.width);\n    } else {\n      this._setSize(texture.image.width / 4);\n    }\n    _oldTarget = this._renderer.getRenderTarget();\n    _oldActiveCubeFace = this._renderer.getActiveCubeFace();\n    _oldActiveMipmapLevel = this._renderer.getActiveMipmapLevel();\n    _oldXrEnabled = this._renderer.xr.enabled;\n    this._renderer.xr.enabled = false;\n    const cubeUVRenderTarget = renderTarget || this._allocateTargets();\n    this._textureToCubeUV(texture, cubeUVRenderTarget);\n    this._applyPMREM(cubeUVRenderTarget);\n    this._cleanup(cubeUVRenderTarget);\n    return cubeUVRenderTarget;\n  }\n  _allocateTargets() {\n    const width = 3 * Math.max(this._cubeSize, 16 * 7);\n    const height = 4 * this._cubeSize;\n    const params = {\n      magFilter: LinearFilter,\n      minFilter: LinearFilter,\n      generateMipmaps: false,\n      type: HalfFloatType,\n      format: RGBAFormat,\n      colorSpace: LinearSRGBColorSpace,\n      depthBuffer: false\n    };\n    const cubeUVRenderTarget = _createRenderTarget(width, height, params);\n    if (this._pingPongRenderTarget === null || this._pingPongRenderTarget.width !== width || this._pingPongRenderTarget.height !== height) {\n      if (this._pingPongRenderTarget !== null) {\n        this._dispose();\n      }\n      this._pingPongRenderTarget = _createRenderTarget(width, height, params);\n      const { _lodMax } = this;\n      ({ sizeLods: this._sizeLods, lodPlanes: this._lodPlanes, sigmas: this._sigmas } = _createPlanes(_lodMax));\n      this._blurMaterial = _getBlurShader(_lodMax, width, height);\n    }\n    return cubeUVRenderTarget;\n  }\n  _compileMaterial(material) {\n    const tmpMesh = new Mesh(this._lodPlanes[0], material);\n    this._renderer.compile(tmpMesh, _flatCamera);\n  }\n  _sceneToCubeUV(scene, near, far, cubeUVRenderTarget) {\n    const fov2 = 90;\n    const aspect2 = 1;\n    const cubeCamera = new PerspectiveCamera(fov2, aspect2, near, far);\n    const upSign = [1, -1, 1, 1, 1, 1];\n    const forwardSign = [1, 1, 1, -1, -1, -1];\n    const renderer = this._renderer;\n    const originalAutoClear = renderer.autoClear;\n    const toneMapping = renderer.toneMapping;\n    renderer.getClearColor(_clearColor);\n    renderer.toneMapping = NoToneMapping;\n    renderer.autoClear = false;\n    const backgroundMaterial = new MeshBasicMaterial({\n      name: \"PMREM.Background\",\n      side: BackSide,\n      depthWrite: false,\n      depthTest: false\n    });\n    const backgroundBox = new Mesh(new BoxGeometry(), backgroundMaterial);\n    let useSolidColor = false;\n    const background = scene.background;\n    if (background) {\n      if (background.isColor) {\n        backgroundMaterial.color.copy(background);\n        scene.background = null;\n        useSolidColor = true;\n      }\n    } else {\n      backgroundMaterial.color.copy(_clearColor);\n      useSolidColor = true;\n    }\n    for (let i = 0; i < 6; i++) {\n      const col = i % 3;\n      if (col === 0) {\n        cubeCamera.up.set(0, upSign[i], 0);\n        cubeCamera.lookAt(forwardSign[i], 0, 0);\n      } else if (col === 1) {\n        cubeCamera.up.set(0, 0, upSign[i]);\n        cubeCamera.lookAt(0, forwardSign[i], 0);\n      } else {\n        cubeCamera.up.set(0, upSign[i], 0);\n        cubeCamera.lookAt(0, 0, forwardSign[i]);\n      }\n      const size = this._cubeSize;\n      _setViewport(cubeUVRenderTarget, col * size, i > 2 ? size : 0, size, size);\n      renderer.setRenderTarget(cubeUVRenderTarget);\n      if (useSolidColor) {\n        renderer.render(backgroundBox, cubeCamera);\n      }\n      renderer.render(scene, cubeCamera);\n    }\n    backgroundBox.geometry.dispose();\n    backgroundBox.material.dispose();\n    renderer.toneMapping = toneMapping;\n    renderer.autoClear = originalAutoClear;\n    scene.background = background;\n  }\n  _textureToCubeUV(texture, cubeUVRenderTarget) {\n    const renderer = this._renderer;\n    const isCubeTexture = texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping;\n    if (isCubeTexture) {\n      if (this._cubemapMaterial === null) {\n        this._cubemapMaterial = _getCubemapMaterial();\n      }\n      this._cubemapMaterial.uniforms.flipEnvMap.value = texture.isRenderTargetTexture === false ? -1 : 1;\n    } else {\n      if (this._equirectMaterial === null) {\n        this._equirectMaterial = _getEquirectMaterial();\n      }\n    }\n    const material = isCubeTexture ? this._cubemapMaterial : this._equirectMaterial;\n    const mesh = new Mesh(this._lodPlanes[0], material);\n    const uniforms = material.uniforms;\n    uniforms[\"envMap\"].value = texture;\n    const size = this._cubeSize;\n    _setViewport(cubeUVRenderTarget, 0, 0, 3 * size, 2 * size);\n    renderer.setRenderTarget(cubeUVRenderTarget);\n    renderer.render(mesh, _flatCamera);\n  }\n  _applyPMREM(cubeUVRenderTarget) {\n    const renderer = this._renderer;\n    const autoClear = renderer.autoClear;\n    renderer.autoClear = false;\n    const n = this._lodPlanes.length;\n    for (let i = 1; i < n; i++) {\n      const sigma = Math.sqrt(this._sigmas[i] * this._sigmas[i] - this._sigmas[i - 1] * this._sigmas[i - 1]);\n      const poleAxis = _axisDirections[(n - i - 1) % _axisDirections.length];\n      this._blur(cubeUVRenderTarget, i - 1, i, sigma, poleAxis);\n    }\n    renderer.autoClear = autoClear;\n  }\n  /**\n   * This is a two-pass Gaussian blur for a cubemap. Normally this is done\n   * vertically and horizontally, but this breaks down on a cube. Here we apply\n   * the blur latitudinally (around the poles), and then longitudinally (towards\n   * the poles) to approximate the orthogonally-separable blur. It is least\n   * accurate at the poles, but still does a decent job.\n   */\n  _blur(cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis) {\n    const pingPongRenderTarget = this._pingPongRenderTarget;\n    this._halfBlur(\n      cubeUVRenderTarget,\n      pingPongRenderTarget,\n      lodIn,\n      lodOut,\n      sigma,\n      \"latitudinal\",\n      poleAxis\n    );\n    this._halfBlur(\n      pingPongRenderTarget,\n      cubeUVRenderTarget,\n      lodOut,\n      lodOut,\n      sigma,\n      \"longitudinal\",\n      poleAxis\n    );\n  }\n  _halfBlur(targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis) {\n    const renderer = this._renderer;\n    const blurMaterial = this._blurMaterial;\n    if (direction !== \"latitudinal\" && direction !== \"longitudinal\") {\n      console.error(\n        \"blur direction must be either latitudinal or longitudinal!\"\n      );\n    }\n    const STANDARD_DEVIATIONS = 3;\n    const blurMesh = new Mesh(this._lodPlanes[lodOut], blurMaterial);\n    const blurUniforms = blurMaterial.uniforms;\n    const pixels = this._sizeLods[lodIn] - 1;\n    const radiansPerPixel = isFinite(sigmaRadians) ? Math.PI / (2 * pixels) : 2 * Math.PI / (2 * MAX_SAMPLES - 1);\n    const sigmaPixels = sigmaRadians / radiansPerPixel;\n    const samples = isFinite(sigmaRadians) ? 1 + Math.floor(STANDARD_DEVIATIONS * sigmaPixels) : MAX_SAMPLES;\n    if (samples > MAX_SAMPLES) {\n      console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`);\n    }\n    const weights = [];\n    let sum = 0;\n    for (let i = 0; i < MAX_SAMPLES; ++i) {\n      const x2 = i / sigmaPixels;\n      const weight = Math.exp(-x2 * x2 / 2);\n      weights.push(weight);\n      if (i === 0) {\n        sum += weight;\n      } else if (i < samples) {\n        sum += 2 * weight;\n      }\n    }\n    for (let i = 0; i < weights.length; i++) {\n      weights[i] = weights[i] / sum;\n    }\n    blurUniforms[\"envMap\"].value = targetIn.texture;\n    blurUniforms[\"samples\"].value = samples;\n    blurUniforms[\"weights\"].value = weights;\n    blurUniforms[\"latitudinal\"].value = direction === \"latitudinal\";\n    if (poleAxis) {\n      blurUniforms[\"poleAxis\"].value = poleAxis;\n    }\n    const { _lodMax } = this;\n    blurUniforms[\"dTheta\"].value = radiansPerPixel;\n    blurUniforms[\"mipInt\"].value = _lodMax - lodIn;\n    const outputSize = this._sizeLods[lodOut];\n    const x = 3 * outputSize * (lodOut > _lodMax - LOD_MIN ? lodOut - _lodMax + LOD_MIN : 0);\n    const y = 4 * (this._cubeSize - outputSize);\n    _setViewport(targetOut, x, y, 3 * outputSize, 2 * outputSize);\n    renderer.setRenderTarget(targetOut);\n    renderer.render(blurMesh, _flatCamera);\n  }\n};\nfunction _createPlanes(lodMax) {\n  const lodPlanes = [];\n  const sizeLods = [];\n  const sigmas = [];\n  let lod = lodMax;\n  const totalLods = lodMax - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length;\n  for (let i = 0; i < totalLods; i++) {\n    const sizeLod = Math.pow(2, lod);\n    sizeLods.push(sizeLod);\n    let sigma = 1 / sizeLod;\n    if (i > lodMax - LOD_MIN) {\n      sigma = EXTRA_LOD_SIGMA[i - lodMax + LOD_MIN - 1];\n    } else if (i === 0) {\n      sigma = 0;\n    }\n    sigmas.push(sigma);\n    const texelSize = 1 / (sizeLod - 2);\n    const min = -texelSize;\n    const max = 1 + texelSize;\n    const uv1 = [min, min, max, min, max, max, min, min, max, max, min, max];\n    const cubeFaces = 6;\n    const vertices = 6;\n    const positionSize = 3;\n    const uvSize = 2;\n    const faceIndexSize = 1;\n    const position = new Float32Array(positionSize * vertices * cubeFaces);\n    const uv = new Float32Array(uvSize * vertices * cubeFaces);\n    const faceIndex = new Float32Array(faceIndexSize * vertices * cubeFaces);\n    for (let face = 0; face < cubeFaces; face++) {\n      const x = face % 3 * 2 / 3 - 1;\n      const y = face > 2 ? 0 : -1;\n      const coordinates = [\n        x,\n        y,\n        0,\n        x + 2 / 3,\n        y,\n        0,\n        x + 2 / 3,\n        y + 1,\n        0,\n        x,\n        y,\n        0,\n        x + 2 / 3,\n        y + 1,\n        0,\n        x,\n        y + 1,\n        0\n      ];\n      position.set(coordinates, positionSize * vertices * face);\n      uv.set(uv1, uvSize * vertices * face);\n      const fill2 = [face, face, face, face, face, face];\n      faceIndex.set(fill2, faceIndexSize * vertices * face);\n    }\n    const planes = new BufferGeometry();\n    planes.setAttribute(\"position\", new BufferAttribute(position, positionSize));\n    planes.setAttribute(\"uv\", new BufferAttribute(uv, uvSize));\n    planes.setAttribute(\"faceIndex\", new BufferAttribute(faceIndex, faceIndexSize));\n    lodPlanes.push(planes);\n    if (lod > LOD_MIN) {\n      lod--;\n    }\n  }\n  return { lodPlanes, sizeLods, sigmas };\n}\nfunction _createRenderTarget(width, height, params) {\n  const cubeUVRenderTarget = new WebGLRenderTarget(width, height, params);\n  cubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping;\n  cubeUVRenderTarget.texture.name = \"PMREM.cubeUv\";\n  cubeUVRenderTarget.scissorTest = true;\n  return cubeUVRenderTarget;\n}\nfunction _setViewport(target, x, y, width, height) {\n  target.viewport.set(x, y, width, height);\n  target.scissor.set(x, y, width, height);\n}\nfunction _getBlurShader(lodMax, width, height) {\n  const weights = new Float32Array(MAX_SAMPLES);\n  const poleAxis = new Vector3(0, 1, 0);\n  const shaderMaterial = new ShaderMaterial({\n    name: \"SphericalGaussianBlur\",\n    defines: {\n      \"n\": MAX_SAMPLES,\n      \"CUBEUV_TEXEL_WIDTH\": 1 / width,\n      \"CUBEUV_TEXEL_HEIGHT\": 1 / height,\n      \"CUBEUV_MAX_MIP\": `${lodMax}.0`\n    },\n    uniforms: {\n      \"envMap\": { value: null },\n      \"samples\": { value: 1 },\n      \"weights\": { value: weights },\n      \"latitudinal\": { value: false },\n      \"dTheta\": { value: 0 },\n      \"mipInt\": { value: 0 },\n      \"poleAxis\": { value: poleAxis }\n    },\n    vertexShader: _getCommonVertexShader(),\n    fragmentShader: (\n      /* glsl */\n      `\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t`\n    ),\n    blending: NoBlending,\n    depthTest: false,\n    depthWrite: false\n  });\n  return shaderMaterial;\n}\nfunction _getEquirectMaterial() {\n  return new ShaderMaterial({\n    name: \"EquirectangularToCubeUV\",\n    uniforms: {\n      \"envMap\": { value: null }\n    },\n    vertexShader: _getCommonVertexShader(),\n    fragmentShader: (\n      /* glsl */\n      `\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t`\n    ),\n    blending: NoBlending,\n    depthTest: false,\n    depthWrite: false\n  });\n}\nfunction _getCubemapMaterial() {\n  return new ShaderMaterial({\n    name: \"CubemapToCubeUV\",\n    uniforms: {\n      \"envMap\": { value: null },\n      \"flipEnvMap\": { value: -1 }\n    },\n    vertexShader: _getCommonVertexShader(),\n    fragmentShader: (\n      /* glsl */\n      `\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t`\n    ),\n    blending: NoBlending,\n    depthTest: false,\n    depthWrite: false\n  });\n}\nfunction _getCommonVertexShader() {\n  return (\n    /* glsl */\n    `\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t`\n  );\n}\nfunction WebGLCubeUVMaps(renderer) {\n  let cubeUVmaps = /* @__PURE__ */ new WeakMap();\n  let pmremGenerator = null;\n  function get(texture) {\n    if (texture && texture.isTexture) {\n      const mapping = texture.mapping;\n      const isEquirectMap = mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping;\n      const isCubeMap = mapping === CubeReflectionMapping || mapping === CubeRefractionMapping;\n      if (isEquirectMap || isCubeMap) {\n        let renderTarget = cubeUVmaps.get(texture);\n        const currentPMREMVersion = renderTarget !== void 0 ? renderTarget.texture.pmremVersion : 0;\n        if (texture.isRenderTargetTexture && texture.pmremVersion !== currentPMREMVersion) {\n          if (pmremGenerator === null) pmremGenerator = new PMREMGenerator(renderer);\n          renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture, renderTarget) : pmremGenerator.fromCubemap(texture, renderTarget);\n          renderTarget.texture.pmremVersion = texture.pmremVersion;\n          cubeUVmaps.set(texture, renderTarget);\n          return renderTarget.texture;\n        } else {\n          if (renderTarget !== void 0) {\n            return renderTarget.texture;\n          } else {\n            const image = texture.image;\n            if (isEquirectMap && image && image.height > 0 || isCubeMap && image && isCubeTextureComplete(image)) {\n              if (pmremGenerator === null) pmremGenerator = new PMREMGenerator(renderer);\n              renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture) : pmremGenerator.fromCubemap(texture);\n              renderTarget.texture.pmremVersion = texture.pmremVersion;\n              cubeUVmaps.set(texture, renderTarget);\n              texture.addEventListener(\"dispose\", onTextureDispose);\n              return renderTarget.texture;\n            } else {\n              return null;\n            }\n          }\n        }\n      }\n    }\n    return texture;\n  }\n  function isCubeTextureComplete(image) {\n    let count = 0;\n    const length = 6;\n    for (let i = 0; i < length; i++) {\n      if (image[i] !== void 0) count++;\n    }\n    return count === length;\n  }\n  function onTextureDispose(event) {\n    const texture = event.target;\n    texture.removeEventListener(\"dispose\", onTextureDispose);\n    const cubemapUV = cubeUVmaps.get(texture);\n    if (cubemapUV !== void 0) {\n      cubeUVmaps.delete(texture);\n      cubemapUV.dispose();\n    }\n  }\n  function dispose() {\n    cubeUVmaps = /* @__PURE__ */ new WeakMap();\n    if (pmremGenerator !== null) {\n      pmremGenerator.dispose();\n      pmremGenerator = null;\n    }\n  }\n  return {\n    get,\n    dispose\n  };\n}\nfunction WebGLExtensions(gl) {\n  const extensions = {};\n  function getExtension(name) {\n    if (extensions[name] !== void 0) {\n      return extensions[name];\n    }\n    let extension;\n    switch (name) {\n      case \"WEBGL_depth_texture\":\n        extension = gl.getExtension(\"WEBGL_depth_texture\") || gl.getExtension(\"MOZ_WEBGL_depth_texture\") || gl.getExtension(\"WEBKIT_WEBGL_depth_texture\");\n        break;\n      case \"EXT_texture_filter_anisotropic\":\n        extension = gl.getExtension(\"EXT_texture_filter_anisotropic\") || gl.getExtension(\"MOZ_EXT_texture_filter_anisotropic\") || gl.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");\n        break;\n      case \"WEBGL_compressed_texture_s3tc\":\n        extension = gl.getExtension(\"WEBGL_compressed_texture_s3tc\") || gl.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\") || gl.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");\n        break;\n      case \"WEBGL_compressed_texture_pvrtc\":\n        extension = gl.getExtension(\"WEBGL_compressed_texture_pvrtc\") || gl.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");\n        break;\n      default:\n        extension = gl.getExtension(name);\n    }\n    extensions[name] = extension;\n    return extension;\n  }\n  return {\n    has: function(name) {\n      return getExtension(name) !== null;\n    },\n    init: function() {\n      getExtension(\"EXT_color_buffer_float\");\n      getExtension(\"WEBGL_clip_cull_distance\");\n      getExtension(\"OES_texture_float_linear\");\n      getExtension(\"EXT_color_buffer_half_float\");\n      getExtension(\"WEBGL_multisampled_render_to_texture\");\n      getExtension(\"WEBGL_render_shared_exponent\");\n    },\n    get: function(name) {\n      const extension = getExtension(name);\n      if (extension === null) {\n        warnOnce(\"THREE.WebGLRenderer: \" + name + \" extension not supported.\");\n      }\n      return extension;\n    }\n  };\n}\nfunction WebGLGeometries(gl, attributes, info, bindingStates) {\n  const geometries = {};\n  const wireframeAttributes = /* @__PURE__ */ new WeakMap();\n  function onGeometryDispose(event) {\n    const geometry = event.target;\n    if (geometry.index !== null) {\n      attributes.remove(geometry.index);\n    }\n    for (const name in geometry.attributes) {\n      attributes.remove(geometry.attributes[name]);\n    }\n    for (const name in geometry.morphAttributes) {\n      const array = geometry.morphAttributes[name];\n      for (let i = 0, l = array.length; i < l; i++) {\n        attributes.remove(array[i]);\n      }\n    }\n    geometry.removeEventListener(\"dispose\", onGeometryDispose);\n    delete geometries[geometry.id];\n    const attribute = wireframeAttributes.get(geometry);\n    if (attribute) {\n      attributes.remove(attribute);\n      wireframeAttributes.delete(geometry);\n    }\n    bindingStates.releaseStatesOfGeometry(geometry);\n    if (geometry.isInstancedBufferGeometry === true) {\n      delete geometry._maxInstanceCount;\n    }\n    info.memory.geometries--;\n  }\n  function get(object, geometry) {\n    if (geometries[geometry.id] === true) return geometry;\n    geometry.addEventListener(\"dispose\", onGeometryDispose);\n    geometries[geometry.id] = true;\n    info.memory.geometries++;\n    return geometry;\n  }\n  function update(geometry) {\n    const geometryAttributes = geometry.attributes;\n    for (const name in geometryAttributes) {\n      attributes.update(geometryAttributes[name], gl.ARRAY_BUFFER);\n    }\n    const morphAttributes = geometry.morphAttributes;\n    for (const name in morphAttributes) {\n      const array = morphAttributes[name];\n      for (let i = 0, l = array.length; i < l; i++) {\n        attributes.update(array[i], gl.ARRAY_BUFFER);\n      }\n    }\n  }\n  function updateWireframeAttribute(geometry) {\n    const indices = [];\n    const geometryIndex = geometry.index;\n    const geometryPosition = geometry.attributes.position;\n    let version = 0;\n    if (geometryIndex !== null) {\n      const array = geometryIndex.array;\n      version = geometryIndex.version;\n      for (let i = 0, l = array.length; i < l; i += 3) {\n        const a = array[i + 0];\n        const b = array[i + 1];\n        const c = array[i + 2];\n        indices.push(a, b, b, c, c, a);\n      }\n    } else if (geometryPosition !== void 0) {\n      const array = geometryPosition.array;\n      version = geometryPosition.version;\n      for (let i = 0, l = array.length / 3 - 1; i < l; i += 3) {\n        const a = i + 0;\n        const b = i + 1;\n        const c = i + 2;\n        indices.push(a, b, b, c, c, a);\n      }\n    } else {\n      return;\n    }\n    const attribute = new (arrayNeedsUint32(indices) ? Uint32BufferAttribute : Uint16BufferAttribute)(indices, 1);\n    attribute.version = version;\n    const previousAttribute = wireframeAttributes.get(geometry);\n    if (previousAttribute) attributes.remove(previousAttribute);\n    wireframeAttributes.set(geometry, attribute);\n  }\n  function getWireframeAttribute(geometry) {\n    const currentAttribute = wireframeAttributes.get(geometry);\n    if (currentAttribute) {\n      const geometryIndex = geometry.index;\n      if (geometryIndex !== null) {\n        if (currentAttribute.version < geometryIndex.version) {\n          updateWireframeAttribute(geometry);\n        }\n      }\n    } else {\n      updateWireframeAttribute(geometry);\n    }\n    return wireframeAttributes.get(geometry);\n  }\n  return {\n    get,\n    update,\n    getWireframeAttribute\n  };\n}\nfunction WebGLIndexedBufferRenderer(gl, extensions, info) {\n  let mode;\n  function setMode(value) {\n    mode = value;\n  }\n  let type, bytesPerElement;\n  function setIndex(value) {\n    type = value.type;\n    bytesPerElement = value.bytesPerElement;\n  }\n  function render(start, count) {\n    gl.drawElements(mode, count, type, start * bytesPerElement);\n    info.update(count, mode, 1);\n  }\n  function renderInstances(start, count, primcount) {\n    if (primcount === 0) return;\n    gl.drawElementsInstanced(mode, count, type, start * bytesPerElement, primcount);\n    info.update(count, mode, primcount);\n  }\n  function renderMultiDraw(starts, counts, drawCount) {\n    if (drawCount === 0) return;\n    const extension = extensions.get(\"WEBGL_multi_draw\");\n    extension.multiDrawElementsWEBGL(mode, counts, 0, type, starts, 0, drawCount);\n    let elementCount = 0;\n    for (let i = 0; i < drawCount; i++) {\n      elementCount += counts[i];\n    }\n    info.update(elementCount, mode, 1);\n  }\n  function renderMultiDrawInstances(starts, counts, drawCount, primcount) {\n    if (drawCount === 0) return;\n    const extension = extensions.get(\"WEBGL_multi_draw\");\n    if (extension === null) {\n      for (let i = 0; i < starts.length; i++) {\n        renderInstances(starts[i] / bytesPerElement, counts[i], primcount[i]);\n      }\n    } else {\n      extension.multiDrawElementsInstancedWEBGL(mode, counts, 0, type, starts, 0, primcount, 0, drawCount);\n      let elementCount = 0;\n      for (let i = 0; i < drawCount; i++) {\n        elementCount += counts[i];\n      }\n      for (let i = 0; i < primcount.length; i++) {\n        info.update(elementCount, mode, primcount[i]);\n      }\n    }\n  }\n  this.setMode = setMode;\n  this.setIndex = setIndex;\n  this.render = render;\n  this.renderInstances = renderInstances;\n  this.renderMultiDraw = renderMultiDraw;\n  this.renderMultiDrawInstances = renderMultiDrawInstances;\n}\nfunction WebGLInfo(gl) {\n  const memory = {\n    geometries: 0,\n    textures: 0\n  };\n  const render = {\n    frame: 0,\n    calls: 0,\n    triangles: 0,\n    points: 0,\n    lines: 0\n  };\n  function update(count, mode, instanceCount) {\n    render.calls++;\n    switch (mode) {\n      case gl.TRIANGLES:\n        render.triangles += instanceCount * (count / 3);\n        break;\n      case gl.LINES:\n        render.lines += instanceCount * (count / 2);\n        break;\n      case gl.LINE_STRIP:\n        render.lines += instanceCount * (count - 1);\n        break;\n      case gl.LINE_LOOP:\n        render.lines += instanceCount * count;\n        break;\n      case gl.POINTS:\n        render.points += instanceCount * count;\n        break;\n      default:\n        console.error(\"THREE.WebGLInfo: Unknown draw mode:\", mode);\n        break;\n    }\n  }\n  function reset() {\n    render.calls = 0;\n    render.triangles = 0;\n    render.points = 0;\n    render.lines = 0;\n  }\n  return {\n    memory,\n    render,\n    programs: null,\n    autoReset: true,\n    reset,\n    update\n  };\n}\nfunction WebGLMorphtargets(gl, capabilities, textures) {\n  const morphTextures = /* @__PURE__ */ new WeakMap();\n  const morph = new Vector4();\n  function update(object, geometry, program) {\n    const objectInfluences = object.morphTargetInfluences;\n    const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n    const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0;\n    let entry = morphTextures.get(geometry);\n    if (entry === void 0 || entry.count !== morphTargetsCount) {\n      let disposeTexture = function() {\n        texture.dispose();\n        morphTextures.delete(geometry);\n        geometry.removeEventListener(\"dispose\", disposeTexture);\n      };\n      if (entry !== void 0) entry.texture.dispose();\n      const hasMorphPosition = geometry.morphAttributes.position !== void 0;\n      const hasMorphNormals = geometry.morphAttributes.normal !== void 0;\n      const hasMorphColors = geometry.morphAttributes.color !== void 0;\n      const morphTargets = geometry.morphAttributes.position || [];\n      const morphNormals = geometry.morphAttributes.normal || [];\n      const morphColors = geometry.morphAttributes.color || [];\n      let vertexDataCount = 0;\n      if (hasMorphPosition === true) vertexDataCount = 1;\n      if (hasMorphNormals === true) vertexDataCount = 2;\n      if (hasMorphColors === true) vertexDataCount = 3;\n      let width = geometry.attributes.position.count * vertexDataCount;\n      let height = 1;\n      if (width > capabilities.maxTextureSize) {\n        height = Math.ceil(width / capabilities.maxTextureSize);\n        width = capabilities.maxTextureSize;\n      }\n      const buffer = new Float32Array(width * height * 4 * morphTargetsCount);\n      const texture = new DataArrayTexture(buffer, width, height, morphTargetsCount);\n      texture.type = FloatType;\n      texture.needsUpdate = true;\n      const vertexDataStride = vertexDataCount * 4;\n      for (let i = 0; i < morphTargetsCount; i++) {\n        const morphTarget = morphTargets[i];\n        const morphNormal = morphNormals[i];\n        const morphColor = morphColors[i];\n        const offset = width * height * 4 * i;\n        for (let j = 0; j < morphTarget.count; j++) {\n          const stride = j * vertexDataStride;\n          if (hasMorphPosition === true) {\n            morph.fromBufferAttribute(morphTarget, j);\n            buffer[offset + stride + 0] = morph.x;\n            buffer[offset + stride + 1] = morph.y;\n            buffer[offset + stride + 2] = morph.z;\n            buffer[offset + stride + 3] = 0;\n          }\n          if (hasMorphNormals === true) {\n            morph.fromBufferAttribute(morphNormal, j);\n            buffer[offset + stride + 4] = morph.x;\n            buffer[offset + stride + 5] = morph.y;\n            buffer[offset + stride + 6] = morph.z;\n            buffer[offset + stride + 7] = 0;\n          }\n          if (hasMorphColors === true) {\n            morph.fromBufferAttribute(morphColor, j);\n            buffer[offset + stride + 8] = morph.x;\n            buffer[offset + stride + 9] = morph.y;\n            buffer[offset + stride + 10] = morph.z;\n            buffer[offset + stride + 11] = morphColor.itemSize === 4 ? morph.w : 1;\n          }\n        }\n      }\n      entry = {\n        count: morphTargetsCount,\n        texture,\n        size: new Vector2(width, height)\n      };\n      morphTextures.set(geometry, entry);\n      geometry.addEventListener(\"dispose\", disposeTexture);\n    }\n    if (object.isInstancedMesh === true && object.morphTexture !== null) {\n      program.getUniforms().setValue(gl, \"morphTexture\", object.morphTexture, textures);\n    } else {\n      let morphInfluencesSum = 0;\n      for (let i = 0; i < objectInfluences.length; i++) {\n        morphInfluencesSum += objectInfluences[i];\n      }\n      const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum;\n      program.getUniforms().setValue(gl, \"morphTargetBaseInfluence\", morphBaseInfluence);\n      program.getUniforms().setValue(gl, \"morphTargetInfluences\", objectInfluences);\n    }\n    program.getUniforms().setValue(gl, \"morphTargetsTexture\", entry.texture, textures);\n    program.getUniforms().setValue(gl, \"morphTargetsTextureSize\", entry.size);\n  }\n  return {\n    update\n  };\n}\nfunction WebGLObjects(gl, geometries, attributes, info) {\n  let updateMap = /* @__PURE__ */ new WeakMap();\n  function update(object) {\n    const frame = info.render.frame;\n    const geometry = object.geometry;\n    const buffergeometry = geometries.get(object, geometry);\n    if (updateMap.get(buffergeometry) !== frame) {\n      geometries.update(buffergeometry);\n      updateMap.set(buffergeometry, frame);\n    }\n    if (object.isInstancedMesh) {\n      if (object.hasEventListener(\"dispose\", onInstancedMeshDispose) === false) {\n        object.addEventListener(\"dispose\", onInstancedMeshDispose);\n      }\n      if (updateMap.get(object) !== frame) {\n        attributes.update(object.instanceMatrix, gl.ARRAY_BUFFER);\n        if (object.instanceColor !== null) {\n          attributes.update(object.instanceColor, gl.ARRAY_BUFFER);\n        }\n        updateMap.set(object, frame);\n      }\n    }\n    if (object.isSkinnedMesh) {\n      const skeleton = object.skeleton;\n      if (updateMap.get(skeleton) !== frame) {\n        skeleton.update();\n        updateMap.set(skeleton, frame);\n      }\n    }\n    return buffergeometry;\n  }\n  function dispose() {\n    updateMap = /* @__PURE__ */ new WeakMap();\n  }\n  function onInstancedMeshDispose(event) {\n    const instancedMesh = event.target;\n    instancedMesh.removeEventListener(\"dispose\", onInstancedMeshDispose);\n    attributes.remove(instancedMesh.instanceMatrix);\n    if (instancedMesh.instanceColor !== null) attributes.remove(instancedMesh.instanceColor);\n  }\n  return {\n    update,\n    dispose\n  };\n}\nvar DepthTexture = class extends Texture {\n  constructor(width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format = DepthFormat) {\n    if (format !== DepthFormat && format !== DepthStencilFormat) {\n      throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");\n    }\n    if (type === void 0 && format === DepthFormat) type = UnsignedIntType;\n    if (type === void 0 && format === DepthStencilFormat) type = UnsignedInt248Type;\n    super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy);\n    this.isDepthTexture = true;\n    this.image = { width, height };\n    this.magFilter = magFilter !== void 0 ? magFilter : NearestFilter;\n    this.minFilter = minFilter !== void 0 ? minFilter : NearestFilter;\n    this.flipY = false;\n    this.generateMipmaps = false;\n    this.compareFunction = null;\n  }\n  copy(source) {\n    super.copy(source);\n    this.compareFunction = source.compareFunction;\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    if (this.compareFunction !== null) data.compareFunction = this.compareFunction;\n    return data;\n  }\n};\nvar emptyTexture = /* @__PURE__ */ new Texture();\nvar emptyShadowTexture = /* @__PURE__ */ new DepthTexture(1, 1);\nvar emptyArrayTexture = /* @__PURE__ */ new DataArrayTexture();\nvar empty3dTexture = /* @__PURE__ */ new Data3DTexture();\nvar emptyCubeTexture = /* @__PURE__ */ new CubeTexture();\nvar arrayCacheF32 = [];\nvar arrayCacheI32 = [];\nvar mat4array = new Float32Array(16);\nvar mat3array = new Float32Array(9);\nvar mat2array = new Float32Array(4);\nfunction flatten(array, nBlocks, blockSize) {\n  const firstElem = array[0];\n  if (firstElem <= 0 || firstElem > 0) return array;\n  const n = nBlocks * blockSize;\n  let r = arrayCacheF32[n];\n  if (r === void 0) {\n    r = new Float32Array(n);\n    arrayCacheF32[n] = r;\n  }\n  if (nBlocks !== 0) {\n    firstElem.toArray(r, 0);\n    for (let i = 1, offset = 0; i !== nBlocks; ++i) {\n      offset += blockSize;\n      array[i].toArray(r, offset);\n    }\n  }\n  return r;\n}\nfunction arraysEqual(a, b) {\n  if (a.length !== b.length) return false;\n  for (let i = 0, l = a.length; i < l; i++) {\n    if (a[i] !== b[i]) return false;\n  }\n  return true;\n}\nfunction copyArray(a, b) {\n  for (let i = 0, l = b.length; i < l; i++) {\n    a[i] = b[i];\n  }\n}\nfunction allocTexUnits(textures, n) {\n  let r = arrayCacheI32[n];\n  if (r === void 0) {\n    r = new Int32Array(n);\n    arrayCacheI32[n] = r;\n  }\n  for (let i = 0; i !== n; ++i) {\n    r[i] = textures.allocateTextureUnit();\n  }\n  return r;\n}\nfunction setValueV1f(gl, v) {\n  const cache = this.cache;\n  if (cache[0] === v) return;\n  gl.uniform1f(this.addr, v);\n  cache[0] = v;\n}\nfunction setValueV2f(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y) {\n      gl.uniform2f(this.addr, v.x, v.y);\n      cache[0] = v.x;\n      cache[1] = v.y;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform2fv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV3f(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) {\n      gl.uniform3f(this.addr, v.x, v.y, v.z);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n    }\n  } else if (v.r !== void 0) {\n    if (cache[0] !== v.r || cache[1] !== v.g || cache[2] !== v.b) {\n      gl.uniform3f(this.addr, v.r, v.g, v.b);\n      cache[0] = v.r;\n      cache[1] = v.g;\n      cache[2] = v.b;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform3fv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV4f(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) {\n      gl.uniform4f(this.addr, v.x, v.y, v.z, v.w);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n      cache[3] = v.w;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform4fv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueM2(gl, v) {\n  const cache = this.cache;\n  const elements = v.elements;\n  if (elements === void 0) {\n    if (arraysEqual(cache, v)) return;\n    gl.uniformMatrix2fv(this.addr, false, v);\n    copyArray(cache, v);\n  } else {\n    if (arraysEqual(cache, elements)) return;\n    mat2array.set(elements);\n    gl.uniformMatrix2fv(this.addr, false, mat2array);\n    copyArray(cache, elements);\n  }\n}\nfunction setValueM3(gl, v) {\n  const cache = this.cache;\n  const elements = v.elements;\n  if (elements === void 0) {\n    if (arraysEqual(cache, v)) return;\n    gl.uniformMatrix3fv(this.addr, false, v);\n    copyArray(cache, v);\n  } else {\n    if (arraysEqual(cache, elements)) return;\n    mat3array.set(elements);\n    gl.uniformMatrix3fv(this.addr, false, mat3array);\n    copyArray(cache, elements);\n  }\n}\nfunction setValueM4(gl, v) {\n  const cache = this.cache;\n  const elements = v.elements;\n  if (elements === void 0) {\n    if (arraysEqual(cache, v)) return;\n    gl.uniformMatrix4fv(this.addr, false, v);\n    copyArray(cache, v);\n  } else {\n    if (arraysEqual(cache, elements)) return;\n    mat4array.set(elements);\n    gl.uniformMatrix4fv(this.addr, false, mat4array);\n    copyArray(cache, elements);\n  }\n}\nfunction setValueV1i(gl, v) {\n  const cache = this.cache;\n  if (cache[0] === v) return;\n  gl.uniform1i(this.addr, v);\n  cache[0] = v;\n}\nfunction setValueV2i(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y) {\n      gl.uniform2i(this.addr, v.x, v.y);\n      cache[0] = v.x;\n      cache[1] = v.y;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform2iv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV3i(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) {\n      gl.uniform3i(this.addr, v.x, v.y, v.z);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform3iv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV4i(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) {\n      gl.uniform4i(this.addr, v.x, v.y, v.z, v.w);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n      cache[3] = v.w;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform4iv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV1ui(gl, v) {\n  const cache = this.cache;\n  if (cache[0] === v) return;\n  gl.uniform1ui(this.addr, v);\n  cache[0] = v;\n}\nfunction setValueV2ui(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y) {\n      gl.uniform2ui(this.addr, v.x, v.y);\n      cache[0] = v.x;\n      cache[1] = v.y;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform2uiv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV3ui(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) {\n      gl.uniform3ui(this.addr, v.x, v.y, v.z);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform3uiv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueV4ui(gl, v) {\n  const cache = this.cache;\n  if (v.x !== void 0) {\n    if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) {\n      gl.uniform4ui(this.addr, v.x, v.y, v.z, v.w);\n      cache[0] = v.x;\n      cache[1] = v.y;\n      cache[2] = v.z;\n      cache[3] = v.w;\n    }\n  } else {\n    if (arraysEqual(cache, v)) return;\n    gl.uniform4uiv(this.addr, v);\n    copyArray(cache, v);\n  }\n}\nfunction setValueT1(gl, v, textures) {\n  const cache = this.cache;\n  const unit = textures.allocateTextureUnit();\n  if (cache[0] !== unit) {\n    gl.uniform1i(this.addr, unit);\n    cache[0] = unit;\n  }\n  let emptyTexture2D;\n  if (this.type === gl.SAMPLER_2D_SHADOW) {\n    emptyShadowTexture.compareFunction = LessEqualCompare;\n    emptyTexture2D = emptyShadowTexture;\n  } else {\n    emptyTexture2D = emptyTexture;\n  }\n  textures.setTexture2D(v || emptyTexture2D, unit);\n}\nfunction setValueT3D1(gl, v, textures) {\n  const cache = this.cache;\n  const unit = textures.allocateTextureUnit();\n  if (cache[0] !== unit) {\n    gl.uniform1i(this.addr, unit);\n    cache[0] = unit;\n  }\n  textures.setTexture3D(v || empty3dTexture, unit);\n}\nfunction setValueT6(gl, v, textures) {\n  const cache = this.cache;\n  const unit = textures.allocateTextureUnit();\n  if (cache[0] !== unit) {\n    gl.uniform1i(this.addr, unit);\n    cache[0] = unit;\n  }\n  textures.setTextureCube(v || emptyCubeTexture, unit);\n}\nfunction setValueT2DArray1(gl, v, textures) {\n  const cache = this.cache;\n  const unit = textures.allocateTextureUnit();\n  if (cache[0] !== unit) {\n    gl.uniform1i(this.addr, unit);\n    cache[0] = unit;\n  }\n  textures.setTexture2DArray(v || emptyArrayTexture, unit);\n}\nfunction getSingularSetter(type) {\n  switch (type) {\n    case 5126:\n      return setValueV1f;\n    // FLOAT\n    case 35664:\n      return setValueV2f;\n    // _VEC2\n    case 35665:\n      return setValueV3f;\n    // _VEC3\n    case 35666:\n      return setValueV4f;\n    // _VEC4\n    case 35674:\n      return setValueM2;\n    // _MAT2\n    case 35675:\n      return setValueM3;\n    // _MAT3\n    case 35676:\n      return setValueM4;\n    // _MAT4\n    case 5124:\n    case 35670:\n      return setValueV1i;\n    // INT, BOOL\n    case 35667:\n    case 35671:\n      return setValueV2i;\n    // _VEC2\n    case 35668:\n    case 35672:\n      return setValueV3i;\n    // _VEC3\n    case 35669:\n    case 35673:\n      return setValueV4i;\n    // _VEC4\n    case 5125:\n      return setValueV1ui;\n    // UINT\n    case 36294:\n      return setValueV2ui;\n    // _VEC2\n    case 36295:\n      return setValueV3ui;\n    // _VEC3\n    case 36296:\n      return setValueV4ui;\n    // _VEC4\n    case 35678:\n    // SAMPLER_2D\n    case 36198:\n    // SAMPLER_EXTERNAL_OES\n    case 36298:\n    // INT_SAMPLER_2D\n    case 36306:\n    // UNSIGNED_INT_SAMPLER_2D\n    case 35682:\n      return setValueT1;\n    case 35679:\n    // SAMPLER_3D\n    case 36299:\n    // INT_SAMPLER_3D\n    case 36307:\n      return setValueT3D1;\n    case 35680:\n    // SAMPLER_CUBE\n    case 36300:\n    // INT_SAMPLER_CUBE\n    case 36308:\n    // UNSIGNED_INT_SAMPLER_CUBE\n    case 36293:\n      return setValueT6;\n    case 36289:\n    // SAMPLER_2D_ARRAY\n    case 36303:\n    // INT_SAMPLER_2D_ARRAY\n    case 36311:\n    // UNSIGNED_INT_SAMPLER_2D_ARRAY\n    case 36292:\n      return setValueT2DArray1;\n  }\n}\nfunction setValueV1fArray(gl, v) {\n  gl.uniform1fv(this.addr, v);\n}\nfunction setValueV2fArray(gl, v) {\n  const data = flatten(v, this.size, 2);\n  gl.uniform2fv(this.addr, data);\n}\nfunction setValueV3fArray(gl, v) {\n  const data = flatten(v, this.size, 3);\n  gl.uniform3fv(this.addr, data);\n}\nfunction setValueV4fArray(gl, v) {\n  const data = flatten(v, this.size, 4);\n  gl.uniform4fv(this.addr, data);\n}\nfunction setValueM2Array(gl, v) {\n  const data = flatten(v, this.size, 4);\n  gl.uniformMatrix2fv(this.addr, false, data);\n}\nfunction setValueM3Array(gl, v) {\n  const data = flatten(v, this.size, 9);\n  gl.uniformMatrix3fv(this.addr, false, data);\n}\nfunction setValueM4Array(gl, v) {\n  const data = flatten(v, this.size, 16);\n  gl.uniformMatrix4fv(this.addr, false, data);\n}\nfunction setValueV1iArray(gl, v) {\n  gl.uniform1iv(this.addr, v);\n}\nfunction setValueV2iArray(gl, v) {\n  gl.uniform2iv(this.addr, v);\n}\nfunction setValueV3iArray(gl, v) {\n  gl.uniform3iv(this.addr, v);\n}\nfunction setValueV4iArray(gl, v) {\n  gl.uniform4iv(this.addr, v);\n}\nfunction setValueV1uiArray(gl, v) {\n  gl.uniform1uiv(this.addr, v);\n}\nfunction setValueV2uiArray(gl, v) {\n  gl.uniform2uiv(this.addr, v);\n}\nfunction setValueV3uiArray(gl, v) {\n  gl.uniform3uiv(this.addr, v);\n}\nfunction setValueV4uiArray(gl, v) {\n  gl.uniform4uiv(this.addr, v);\n}\nfunction setValueT1Array(gl, v, textures) {\n  const cache = this.cache;\n  const n = v.length;\n  const units = allocTexUnits(textures, n);\n  if (!arraysEqual(cache, units)) {\n    gl.uniform1iv(this.addr, units);\n    copyArray(cache, units);\n  }\n  for (let i = 0; i !== n; ++i) {\n    textures.setTexture2D(v[i] || emptyTexture, units[i]);\n  }\n}\nfunction setValueT3DArray(gl, v, textures) {\n  const cache = this.cache;\n  const n = v.length;\n  const units = allocTexUnits(textures, n);\n  if (!arraysEqual(cache, units)) {\n    gl.uniform1iv(this.addr, units);\n    copyArray(cache, units);\n  }\n  for (let i = 0; i !== n; ++i) {\n    textures.setTexture3D(v[i] || empty3dTexture, units[i]);\n  }\n}\nfunction setValueT6Array(gl, v, textures) {\n  const cache = this.cache;\n  const n = v.length;\n  const units = allocTexUnits(textures, n);\n  if (!arraysEqual(cache, units)) {\n    gl.uniform1iv(this.addr, units);\n    copyArray(cache, units);\n  }\n  for (let i = 0; i !== n; ++i) {\n    textures.setTextureCube(v[i] || emptyCubeTexture, units[i]);\n  }\n}\nfunction setValueT2DArrayArray(gl, v, textures) {\n  const cache = this.cache;\n  const n = v.length;\n  const units = allocTexUnits(textures, n);\n  if (!arraysEqual(cache, units)) {\n    gl.uniform1iv(this.addr, units);\n    copyArray(cache, units);\n  }\n  for (let i = 0; i !== n; ++i) {\n    textures.setTexture2DArray(v[i] || emptyArrayTexture, units[i]);\n  }\n}\nfunction getPureArraySetter(type) {\n  switch (type) {\n    case 5126:\n      return setValueV1fArray;\n    // FLOAT\n    case 35664:\n      return setValueV2fArray;\n    // _VEC2\n    case 35665:\n      return setValueV3fArray;\n    // _VEC3\n    case 35666:\n      return setValueV4fArray;\n    // _VEC4\n    case 35674:\n      return setValueM2Array;\n    // _MAT2\n    case 35675:\n      return setValueM3Array;\n    // _MAT3\n    case 35676:\n      return setValueM4Array;\n    // _MAT4\n    case 5124:\n    case 35670:\n      return setValueV1iArray;\n    // INT, BOOL\n    case 35667:\n    case 35671:\n      return setValueV2iArray;\n    // _VEC2\n    case 35668:\n    case 35672:\n      return setValueV3iArray;\n    // _VEC3\n    case 35669:\n    case 35673:\n      return setValueV4iArray;\n    // _VEC4\n    case 5125:\n      return setValueV1uiArray;\n    // UINT\n    case 36294:\n      return setValueV2uiArray;\n    // _VEC2\n    case 36295:\n      return setValueV3uiArray;\n    // _VEC3\n    case 36296:\n      return setValueV4uiArray;\n    // _VEC4\n    case 35678:\n    // SAMPLER_2D\n    case 36198:\n    // SAMPLER_EXTERNAL_OES\n    case 36298:\n    // INT_SAMPLER_2D\n    case 36306:\n    // UNSIGNED_INT_SAMPLER_2D\n    case 35682:\n      return setValueT1Array;\n    case 35679:\n    // SAMPLER_3D\n    case 36299:\n    // INT_SAMPLER_3D\n    case 36307:\n      return setValueT3DArray;\n    case 35680:\n    // SAMPLER_CUBE\n    case 36300:\n    // INT_SAMPLER_CUBE\n    case 36308:\n    // UNSIGNED_INT_SAMPLER_CUBE\n    case 36293:\n      return setValueT6Array;\n    case 36289:\n    // SAMPLER_2D_ARRAY\n    case 36303:\n    // INT_SAMPLER_2D_ARRAY\n    case 36311:\n    // UNSIGNED_INT_SAMPLER_2D_ARRAY\n    case 36292:\n      return setValueT2DArrayArray;\n  }\n}\nvar SingleUniform = class {\n  constructor(id, activeInfo, addr) {\n    this.id = id;\n    this.addr = addr;\n    this.cache = [];\n    this.type = activeInfo.type;\n    this.setValue = getSingularSetter(activeInfo.type);\n  }\n};\nvar PureArrayUniform = class {\n  constructor(id, activeInfo, addr) {\n    this.id = id;\n    this.addr = addr;\n    this.cache = [];\n    this.type = activeInfo.type;\n    this.size = activeInfo.size;\n    this.setValue = getPureArraySetter(activeInfo.type);\n  }\n};\nvar StructuredUniform = class {\n  constructor(id) {\n    this.id = id;\n    this.seq = [];\n    this.map = {};\n  }\n  setValue(gl, value, textures) {\n    const seq = this.seq;\n    for (let i = 0, n = seq.length; i !== n; ++i) {\n      const u = seq[i];\n      u.setValue(gl, value[u.id], textures);\n    }\n  }\n};\nvar RePathPart = /(\\w+)(\\])?(\\[|\\.)?/g;\nfunction addUniform(container, uniformObject) {\n  container.seq.push(uniformObject);\n  container.map[uniformObject.id] = uniformObject;\n}\nfunction parseUniform(activeInfo, addr, container) {\n  const path = activeInfo.name, pathLength = path.length;\n  RePathPart.lastIndex = 0;\n  while (true) {\n    const match = RePathPart.exec(path), matchEnd = RePathPart.lastIndex;\n    let id = match[1];\n    const idIsIndex = match[2] === \"]\", subscript = match[3];\n    if (idIsIndex) id = id | 0;\n    if (subscript === void 0 || subscript === \"[\" && matchEnd + 2 === pathLength) {\n      addUniform(container, subscript === void 0 ? new SingleUniform(id, activeInfo, addr) : new PureArrayUniform(id, activeInfo, addr));\n      break;\n    } else {\n      const map = container.map;\n      let next = map[id];\n      if (next === void 0) {\n        next = new StructuredUniform(id);\n        addUniform(container, next);\n      }\n      container = next;\n    }\n  }\n}\nvar WebGLUniforms = class {\n  constructor(gl, program) {\n    this.seq = [];\n    this.map = {};\n    const n = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n    for (let i = 0; i < n; ++i) {\n      const info = gl.getActiveUniform(program, i), addr = gl.getUniformLocation(program, info.name);\n      parseUniform(info, addr, this);\n    }\n  }\n  setValue(gl, name, value, textures) {\n    const u = this.map[name];\n    if (u !== void 0) u.setValue(gl, value, textures);\n  }\n  setOptional(gl, object, name) {\n    const v = object[name];\n    if (v !== void 0) this.setValue(gl, name, v);\n  }\n  static upload(gl, seq, values, textures) {\n    for (let i = 0, n = seq.length; i !== n; ++i) {\n      const u = seq[i], v = values[u.id];\n      if (v.needsUpdate !== false) {\n        u.setValue(gl, v.value, textures);\n      }\n    }\n  }\n  static seqWithValue(seq, values) {\n    const r = [];\n    for (let i = 0, n = seq.length; i !== n; ++i) {\n      const u = seq[i];\n      if (u.id in values) r.push(u);\n    }\n    return r;\n  }\n};\nfunction WebGLShader(gl, type, string) {\n  const shader = gl.createShader(type);\n  gl.shaderSource(shader, string);\n  gl.compileShader(shader);\n  return shader;\n}\nvar COMPLETION_STATUS_KHR = 37297;\nvar programIdCount = 0;\nfunction handleSource(string, errorLine) {\n  const lines = string.split(\"\\n\");\n  const lines2 = [];\n  const from = Math.max(errorLine - 6, 0);\n  const to = Math.min(errorLine + 6, lines.length);\n  for (let i = from; i < to; i++) {\n    const line = i + 1;\n    lines2.push(`${line === errorLine ? \">\" : \" \"} ${line}: ${lines[i]}`);\n  }\n  return lines2.join(\"\\n\");\n}\nfunction getEncodingComponents(colorSpace) {\n  const workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace);\n  const encodingPrimaries = ColorManagement.getPrimaries(colorSpace);\n  let gamutMapping;\n  if (workingPrimaries === encodingPrimaries) {\n    gamutMapping = \"\";\n  } else if (workingPrimaries === P3Primaries && encodingPrimaries === Rec709Primaries) {\n    gamutMapping = \"LinearDisplayP3ToLinearSRGB\";\n  } else if (workingPrimaries === Rec709Primaries && encodingPrimaries === P3Primaries) {\n    gamutMapping = \"LinearSRGBToLinearDisplayP3\";\n  }\n  switch (colorSpace) {\n    case LinearSRGBColorSpace:\n    case LinearDisplayP3ColorSpace:\n      return [gamutMapping, \"LinearTransferOETF\"];\n    case SRGBColorSpace:\n    case DisplayP3ColorSpace:\n      return [gamutMapping, \"sRGBTransferOETF\"];\n    default:\n      console.warn(\"THREE.WebGLProgram: Unsupported color space:\", colorSpace);\n      return [gamutMapping, \"LinearTransferOETF\"];\n  }\n}\nfunction getShaderErrors(gl, shader, type) {\n  const status = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n  const errors = gl.getShaderInfoLog(shader).trim();\n  if (status && errors === \"\") return \"\";\n  const errorMatches = /ERROR: 0:(\\d+)/.exec(errors);\n  if (errorMatches) {\n    const errorLine = parseInt(errorMatches[1]);\n    return type.toUpperCase() + \"\\n\\n\" + errors + \"\\n\\n\" + handleSource(gl.getShaderSource(shader), errorLine);\n  } else {\n    return errors;\n  }\n}\nfunction getTexelEncodingFunction(functionName, colorSpace) {\n  const components = getEncodingComponents(colorSpace);\n  return `vec4 ${functionName}( vec4 value ) { return ${components[0]}( ${components[1]}( value ) ); }`;\n}\nfunction getToneMappingFunction(functionName, toneMapping) {\n  let toneMappingName;\n  switch (toneMapping) {\n    case LinearToneMapping:\n      toneMappingName = \"Linear\";\n      break;\n    case ReinhardToneMapping:\n      toneMappingName = \"Reinhard\";\n      break;\n    case CineonToneMapping:\n      toneMappingName = \"Cineon\";\n      break;\n    case ACESFilmicToneMapping:\n      toneMappingName = \"ACESFilmic\";\n      break;\n    case AgXToneMapping:\n      toneMappingName = \"AgX\";\n      break;\n    case NeutralToneMapping:\n      toneMappingName = \"Neutral\";\n      break;\n    case CustomToneMapping:\n      toneMappingName = \"Custom\";\n      break;\n    default:\n      console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\", toneMapping);\n      toneMappingName = \"Linear\";\n  }\n  return \"vec3 \" + functionName + \"( vec3 color ) { return \" + toneMappingName + \"ToneMapping( color ); }\";\n}\nvar _v0$1 = /* @__PURE__ */ new Vector3();\nfunction getLuminanceFunction() {\n  ColorManagement.getLuminanceCoefficients(_v0$1);\n  const r = _v0$1.x.toFixed(4);\n  const g = _v0$1.y.toFixed(4);\n  const b = _v0$1.z.toFixed(4);\n  return [\n    \"float luminance( const in vec3 rgb ) {\",\n    `\tconst vec3 weights = vec3( ${r}, ${g}, ${b} );`,\n    \"\treturn dot( weights, rgb );\",\n    \"}\"\n  ].join(\"\\n\");\n}\nfunction generateVertexExtensions(parameters) {\n  const chunks = [\n    parameters.extensionClipCullDistance ? \"#extension GL_ANGLE_clip_cull_distance : require\" : \"\",\n    parameters.extensionMultiDraw ? \"#extension GL_ANGLE_multi_draw : require\" : \"\"\n  ];\n  return chunks.filter(filterEmptyLine).join(\"\\n\");\n}\nfunction generateDefines(defines) {\n  const chunks = [];\n  for (const name in defines) {\n    const value = defines[name];\n    if (value === false) continue;\n    chunks.push(\"#define \" + name + \" \" + value);\n  }\n  return chunks.join(\"\\n\");\n}\nfunction fetchAttributeLocations(gl, program) {\n  const attributes = {};\n  const n = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n  for (let i = 0; i < n; i++) {\n    const info = gl.getActiveAttrib(program, i);\n    const name = info.name;\n    let locationSize = 1;\n    if (info.type === gl.FLOAT_MAT2) locationSize = 2;\n    if (info.type === gl.FLOAT_MAT3) locationSize = 3;\n    if (info.type === gl.FLOAT_MAT4) locationSize = 4;\n    attributes[name] = {\n      type: info.type,\n      location: gl.getAttribLocation(program, name),\n      locationSize\n    };\n  }\n  return attributes;\n}\nfunction filterEmptyLine(string) {\n  return string !== \"\";\n}\nfunction replaceLightNums(string, parameters) {\n  const numSpotLightCoords = parameters.numSpotLightShadows + parameters.numSpotLightMaps - parameters.numSpotLightShadowsWithMaps;\n  return string.replace(/NUM_DIR_LIGHTS/g, parameters.numDirLights).replace(/NUM_SPOT_LIGHTS/g, parameters.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g, parameters.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g, numSpotLightCoords).replace(/NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g, parameters.numPointLights).replace(/NUM_HEMI_LIGHTS/g, parameters.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g, parameters.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows);\n}\nfunction replaceClippingPlaneNums(string, parameters) {\n  return string.replace(/NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g, parameters.numClippingPlanes - parameters.numClipIntersection);\n}\nvar includePattern = /^[ \\t]*#include +<([\\w\\d./]+)>/gm;\nfunction resolveIncludes(string) {\n  return string.replace(includePattern, includeReplacer);\n}\nvar shaderChunkMap = /* @__PURE__ */ new Map();\nfunction includeReplacer(match, include) {\n  let string = ShaderChunk[include];\n  if (string === void 0) {\n    const newInclude = shaderChunkMap.get(include);\n    if (newInclude !== void 0) {\n      string = ShaderChunk[newInclude];\n      console.warn('THREE.WebGLRenderer: Shader chunk \"%s\" has been deprecated. Use \"%s\" instead.', include, newInclude);\n    } else {\n      throw new Error(\"Can not resolve #include <\" + include + \">\");\n    }\n  }\n  return resolveIncludes(string);\n}\nvar unrollLoopPattern = /#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;\nfunction unrollLoops(string) {\n  return string.replace(unrollLoopPattern, loopReplacer);\n}\nfunction loopReplacer(match, start, end, snippet) {\n  let string = \"\";\n  for (let i = parseInt(start); i < parseInt(end); i++) {\n    string += snippet.replace(/\\[\\s*i\\s*\\]/g, \"[ \" + i + \" ]\").replace(/UNROLLED_LOOP_INDEX/g, i);\n  }\n  return string;\n}\nfunction generatePrecision(parameters) {\n  let precisionstring = `precision ${parameters.precision} float;\n\tprecision ${parameters.precision} int;\n\tprecision ${parameters.precision} sampler2D;\n\tprecision ${parameters.precision} samplerCube;\n\tprecision ${parameters.precision} sampler3D;\n\tprecision ${parameters.precision} sampler2DArray;\n\tprecision ${parameters.precision} sampler2DShadow;\n\tprecision ${parameters.precision} samplerCubeShadow;\n\tprecision ${parameters.precision} sampler2DArrayShadow;\n\tprecision ${parameters.precision} isampler2D;\n\tprecision ${parameters.precision} isampler3D;\n\tprecision ${parameters.precision} isamplerCube;\n\tprecision ${parameters.precision} isampler2DArray;\n\tprecision ${parameters.precision} usampler2D;\n\tprecision ${parameters.precision} usampler3D;\n\tprecision ${parameters.precision} usamplerCube;\n\tprecision ${parameters.precision} usampler2DArray;\n\t`;\n  if (parameters.precision === \"highp\") {\n    precisionstring += \"\\n#define HIGH_PRECISION\";\n  } else if (parameters.precision === \"mediump\") {\n    precisionstring += \"\\n#define MEDIUM_PRECISION\";\n  } else if (parameters.precision === \"lowp\") {\n    precisionstring += \"\\n#define LOW_PRECISION\";\n  }\n  return precisionstring;\n}\nfunction generateShadowMapTypeDefine(parameters) {\n  let shadowMapTypeDefine = \"SHADOWMAP_TYPE_BASIC\";\n  if (parameters.shadowMapType === PCFShadowMap) {\n    shadowMapTypeDefine = \"SHADOWMAP_TYPE_PCF\";\n  } else if (parameters.shadowMapType === PCFSoftShadowMap) {\n    shadowMapTypeDefine = \"SHADOWMAP_TYPE_PCF_SOFT\";\n  } else if (parameters.shadowMapType === VSMShadowMap) {\n    shadowMapTypeDefine = \"SHADOWMAP_TYPE_VSM\";\n  }\n  return shadowMapTypeDefine;\n}\nfunction generateEnvMapTypeDefine(parameters) {\n  let envMapTypeDefine = \"ENVMAP_TYPE_CUBE\";\n  if (parameters.envMap) {\n    switch (parameters.envMapMode) {\n      case CubeReflectionMapping:\n      case CubeRefractionMapping:\n        envMapTypeDefine = \"ENVMAP_TYPE_CUBE\";\n        break;\n      case CubeUVReflectionMapping:\n        envMapTypeDefine = \"ENVMAP_TYPE_CUBE_UV\";\n        break;\n    }\n  }\n  return envMapTypeDefine;\n}\nfunction generateEnvMapModeDefine(parameters) {\n  let envMapModeDefine = \"ENVMAP_MODE_REFLECTION\";\n  if (parameters.envMap) {\n    switch (parameters.envMapMode) {\n      case CubeRefractionMapping:\n        envMapModeDefine = \"ENVMAP_MODE_REFRACTION\";\n        break;\n    }\n  }\n  return envMapModeDefine;\n}\nfunction generateEnvMapBlendingDefine(parameters) {\n  let envMapBlendingDefine = \"ENVMAP_BLENDING_NONE\";\n  if (parameters.envMap) {\n    switch (parameters.combine) {\n      case MultiplyOperation:\n        envMapBlendingDefine = \"ENVMAP_BLENDING_MULTIPLY\";\n        break;\n      case MixOperation:\n        envMapBlendingDefine = \"ENVMAP_BLENDING_MIX\";\n        break;\n      case AddOperation:\n        envMapBlendingDefine = \"ENVMAP_BLENDING_ADD\";\n        break;\n    }\n  }\n  return envMapBlendingDefine;\n}\nfunction generateCubeUVSize(parameters) {\n  const imageHeight = parameters.envMapCubeUVHeight;\n  if (imageHeight === null) return null;\n  const maxMip = Math.log2(imageHeight) - 2;\n  const texelHeight = 1 / imageHeight;\n  const texelWidth = 1 / (3 * Math.max(Math.pow(2, maxMip), 7 * 16));\n  return { texelWidth, texelHeight, maxMip };\n}\nfunction WebGLProgram(renderer, cacheKey, parameters, bindingStates) {\n  const gl = renderer.getContext();\n  const defines = parameters.defines;\n  let vertexShader = parameters.vertexShader;\n  let fragmentShader = parameters.fragmentShader;\n  const shadowMapTypeDefine = generateShadowMapTypeDefine(parameters);\n  const envMapTypeDefine = generateEnvMapTypeDefine(parameters);\n  const envMapModeDefine = generateEnvMapModeDefine(parameters);\n  const envMapBlendingDefine = generateEnvMapBlendingDefine(parameters);\n  const envMapCubeUVSize = generateCubeUVSize(parameters);\n  const customVertexExtensions = generateVertexExtensions(parameters);\n  const customDefines = generateDefines(defines);\n  const program = gl.createProgram();\n  let prefixVertex, prefixFragment;\n  let versionString = parameters.glslVersion ? \"#version \" + parameters.glslVersion + \"\\n\" : \"\";\n  if (parameters.isRawShaderMaterial) {\n    prefixVertex = [\n      \"#define SHADER_TYPE \" + parameters.shaderType,\n      \"#define SHADER_NAME \" + parameters.shaderName,\n      customDefines\n    ].filter(filterEmptyLine).join(\"\\n\");\n    if (prefixVertex.length > 0) {\n      prefixVertex += \"\\n\";\n    }\n    prefixFragment = [\n      \"#define SHADER_TYPE \" + parameters.shaderType,\n      \"#define SHADER_NAME \" + parameters.shaderName,\n      customDefines\n    ].filter(filterEmptyLine).join(\"\\n\");\n    if (prefixFragment.length > 0) {\n      prefixFragment += \"\\n\";\n    }\n  } else {\n    prefixVertex = [\n      generatePrecision(parameters),\n      \"#define SHADER_TYPE \" + parameters.shaderType,\n      \"#define SHADER_NAME \" + parameters.shaderName,\n      customDefines,\n      parameters.extensionClipCullDistance ? \"#define USE_CLIP_DISTANCE\" : \"\",\n      parameters.batching ? \"#define USE_BATCHING\" : \"\",\n      parameters.batchingColor ? \"#define USE_BATCHING_COLOR\" : \"\",\n      parameters.instancing ? \"#define USE_INSTANCING\" : \"\",\n      parameters.instancingColor ? \"#define USE_INSTANCING_COLOR\" : \"\",\n      parameters.instancingMorph ? \"#define USE_INSTANCING_MORPH\" : \"\",\n      parameters.useFog && parameters.fog ? \"#define USE_FOG\" : \"\",\n      parameters.useFog && parameters.fogExp2 ? \"#define FOG_EXP2\" : \"\",\n      parameters.map ? \"#define USE_MAP\" : \"\",\n      parameters.envMap ? \"#define USE_ENVMAP\" : \"\",\n      parameters.envMap ? \"#define \" + envMapModeDefine : \"\",\n      parameters.lightMap ? \"#define USE_LIGHTMAP\" : \"\",\n      parameters.aoMap ? \"#define USE_AOMAP\" : \"\",\n      parameters.bumpMap ? \"#define USE_BUMPMAP\" : \"\",\n      parameters.normalMap ? \"#define USE_NORMALMAP\" : \"\",\n      parameters.normalMapObjectSpace ? \"#define USE_NORMALMAP_OBJECTSPACE\" : \"\",\n      parameters.normalMapTangentSpace ? \"#define USE_NORMALMAP_TANGENTSPACE\" : \"\",\n      parameters.displacementMap ? \"#define USE_DISPLACEMENTMAP\" : \"\",\n      parameters.emissiveMap ? \"#define USE_EMISSIVEMAP\" : \"\",\n      parameters.anisotropy ? \"#define USE_ANISOTROPY\" : \"\",\n      parameters.anisotropyMap ? \"#define USE_ANISOTROPYMAP\" : \"\",\n      parameters.clearcoatMap ? \"#define USE_CLEARCOATMAP\" : \"\",\n      parameters.clearcoatRoughnessMap ? \"#define USE_CLEARCOAT_ROUGHNESSMAP\" : \"\",\n      parameters.clearcoatNormalMap ? \"#define USE_CLEARCOAT_NORMALMAP\" : \"\",\n      parameters.iridescenceMap ? \"#define USE_IRIDESCENCEMAP\" : \"\",\n      parameters.iridescenceThicknessMap ? \"#define USE_IRIDESCENCE_THICKNESSMAP\" : \"\",\n      parameters.specularMap ? \"#define USE_SPECULARMAP\" : \"\",\n      parameters.specularColorMap ? \"#define USE_SPECULAR_COLORMAP\" : \"\",\n      parameters.specularIntensityMap ? \"#define USE_SPECULAR_INTENSITYMAP\" : \"\",\n      parameters.roughnessMap ? \"#define USE_ROUGHNESSMAP\" : \"\",\n      parameters.metalnessMap ? \"#define USE_METALNESSMAP\" : \"\",\n      parameters.alphaMap ? \"#define USE_ALPHAMAP\" : \"\",\n      parameters.alphaHash ? \"#define USE_ALPHAHASH\" : \"\",\n      parameters.transmission ? \"#define USE_TRANSMISSION\" : \"\",\n      parameters.transmissionMap ? \"#define USE_TRANSMISSIONMAP\" : \"\",\n      parameters.thicknessMap ? \"#define USE_THICKNESSMAP\" : \"\",\n      parameters.sheenColorMap ? \"#define USE_SHEEN_COLORMAP\" : \"\",\n      parameters.sheenRoughnessMap ? \"#define USE_SHEEN_ROUGHNESSMAP\" : \"\",\n      //\n      parameters.mapUv ? \"#define MAP_UV \" + parameters.mapUv : \"\",\n      parameters.alphaMapUv ? \"#define ALPHAMAP_UV \" + parameters.alphaMapUv : \"\",\n      parameters.lightMapUv ? \"#define LIGHTMAP_UV \" + parameters.lightMapUv : \"\",\n      parameters.aoMapUv ? \"#define AOMAP_UV \" + parameters.aoMapUv : \"\",\n      parameters.emissiveMapUv ? \"#define EMISSIVEMAP_UV \" + parameters.emissiveMapUv : \"\",\n      parameters.bumpMapUv ? \"#define BUMPMAP_UV \" + parameters.bumpMapUv : \"\",\n      parameters.normalMapUv ? \"#define NORMALMAP_UV \" + parameters.normalMapUv : \"\",\n      parameters.displacementMapUv ? \"#define DISPLACEMENTMAP_UV \" + parameters.displacementMapUv : \"\",\n      parameters.metalnessMapUv ? \"#define METALNESSMAP_UV \" + parameters.metalnessMapUv : \"\",\n      parameters.roughnessMapUv ? \"#define ROUGHNESSMAP_UV \" + parameters.roughnessMapUv : \"\",\n      parameters.anisotropyMapUv ? \"#define ANISOTROPYMAP_UV \" + parameters.anisotropyMapUv : \"\",\n      parameters.clearcoatMapUv ? \"#define CLEARCOATMAP_UV \" + parameters.clearcoatMapUv : \"\",\n      parameters.clearcoatNormalMapUv ? \"#define CLEARCOAT_NORMALMAP_UV \" + parameters.clearcoatNormalMapUv : \"\",\n      parameters.clearcoatRoughnessMapUv ? \"#define CLEARCOAT_ROUGHNESSMAP_UV \" + parameters.clearcoatRoughnessMapUv : \"\",\n      parameters.iridescenceMapUv ? \"#define IRIDESCENCEMAP_UV \" + parameters.iridescenceMapUv : \"\",\n      parameters.iridescenceThicknessMapUv ? \"#define IRIDESCENCE_THICKNESSMAP_UV \" + parameters.iridescenceThicknessMapUv : \"\",\n      parameters.sheenColorMapUv ? \"#define SHEEN_COLORMAP_UV \" + parameters.sheenColorMapUv : \"\",\n      parameters.sheenRoughnessMapUv ? \"#define SHEEN_ROUGHNESSMAP_UV \" + parameters.sheenRoughnessMapUv : \"\",\n      parameters.specularMapUv ? \"#define SPECULARMAP_UV \" + parameters.specularMapUv : \"\",\n      parameters.specularColorMapUv ? \"#define SPECULAR_COLORMAP_UV \" + parameters.specularColorMapUv : \"\",\n      parameters.specularIntensityMapUv ? \"#define SPECULAR_INTENSITYMAP_UV \" + parameters.specularIntensityMapUv : \"\",\n      parameters.transmissionMapUv ? \"#define TRANSMISSIONMAP_UV \" + parameters.transmissionMapUv : \"\",\n      parameters.thicknessMapUv ? \"#define THICKNESSMAP_UV \" + parameters.thicknessMapUv : \"\",\n      //\n      parameters.vertexTangents && parameters.flatShading === false ? \"#define USE_TANGENT\" : \"\",\n      parameters.vertexColors ? \"#define USE_COLOR\" : \"\",\n      parameters.vertexAlphas ? \"#define USE_COLOR_ALPHA\" : \"\",\n      parameters.vertexUv1s ? \"#define USE_UV1\" : \"\",\n      parameters.vertexUv2s ? \"#define USE_UV2\" : \"\",\n      parameters.vertexUv3s ? \"#define USE_UV3\" : \"\",\n      parameters.pointsUvs ? \"#define USE_POINTS_UV\" : \"\",\n      parameters.flatShading ? \"#define FLAT_SHADED\" : \"\",\n      parameters.skinning ? \"#define USE_SKINNING\" : \"\",\n      parameters.morphTargets ? \"#define USE_MORPHTARGETS\" : \"\",\n      parameters.morphNormals && parameters.flatShading === false ? \"#define USE_MORPHNORMALS\" : \"\",\n      parameters.morphColors ? \"#define USE_MORPHCOLORS\" : \"\",\n      parameters.morphTargetsCount > 0 ? \"#define MORPHTARGETS_TEXTURE_STRIDE \" + parameters.morphTextureStride : \"\",\n      parameters.morphTargetsCount > 0 ? \"#define MORPHTARGETS_COUNT \" + parameters.morphTargetsCount : \"\",\n      parameters.doubleSided ? \"#define DOUBLE_SIDED\" : \"\",\n      parameters.flipSided ? \"#define FLIP_SIDED\" : \"\",\n      parameters.shadowMapEnabled ? \"#define USE_SHADOWMAP\" : \"\",\n      parameters.shadowMapEnabled ? \"#define \" + shadowMapTypeDefine : \"\",\n      parameters.sizeAttenuation ? \"#define USE_SIZEATTENUATION\" : \"\",\n      parameters.numLightProbes > 0 ? \"#define USE_LIGHT_PROBES\" : \"\",\n      parameters.logarithmicDepthBuffer ? \"#define USE_LOGDEPTHBUF\" : \"\",\n      parameters.reverseDepthBuffer ? \"#define USE_REVERSEDEPTHBUF\" : \"\",\n      \"uniform mat4 modelMatrix;\",\n      \"uniform mat4 modelViewMatrix;\",\n      \"uniform mat4 projectionMatrix;\",\n      \"uniform mat4 viewMatrix;\",\n      \"uniform mat3 normalMatrix;\",\n      \"uniform vec3 cameraPosition;\",\n      \"uniform bool isOrthographic;\",\n      \"#ifdef USE_INSTANCING\",\n      \"\tattribute mat4 instanceMatrix;\",\n      \"#endif\",\n      \"#ifdef USE_INSTANCING_COLOR\",\n      \"\tattribute vec3 instanceColor;\",\n      \"#endif\",\n      \"#ifdef USE_INSTANCING_MORPH\",\n      \"\tuniform sampler2D morphTexture;\",\n      \"#endif\",\n      \"attribute vec3 position;\",\n      \"attribute vec3 normal;\",\n      \"attribute vec2 uv;\",\n      \"#ifdef USE_UV1\",\n      \"\tattribute vec2 uv1;\",\n      \"#endif\",\n      \"#ifdef USE_UV2\",\n      \"\tattribute vec2 uv2;\",\n      \"#endif\",\n      \"#ifdef USE_UV3\",\n      \"\tattribute vec2 uv3;\",\n      \"#endif\",\n      \"#ifdef USE_TANGENT\",\n      \"\tattribute vec4 tangent;\",\n      \"#endif\",\n      \"#if defined( USE_COLOR_ALPHA )\",\n      \"\tattribute vec4 color;\",\n      \"#elif defined( USE_COLOR )\",\n      \"\tattribute vec3 color;\",\n      \"#endif\",\n      \"#ifdef USE_SKINNING\",\n      \"\tattribute vec4 skinIndex;\",\n      \"\tattribute vec4 skinWeight;\",\n      \"#endif\",\n      \"\\n\"\n    ].filter(filterEmptyLine).join(\"\\n\");\n    prefixFragment = [\n      generatePrecision(parameters),\n      \"#define SHADER_TYPE \" + parameters.shaderType,\n      \"#define SHADER_NAME \" + parameters.shaderName,\n      customDefines,\n      parameters.useFog && parameters.fog ? \"#define USE_FOG\" : \"\",\n      parameters.useFog && parameters.fogExp2 ? \"#define FOG_EXP2\" : \"\",\n      parameters.alphaToCoverage ? \"#define ALPHA_TO_COVERAGE\" : \"\",\n      parameters.map ? \"#define USE_MAP\" : \"\",\n      parameters.matcap ? \"#define USE_MATCAP\" : \"\",\n      parameters.envMap ? \"#define USE_ENVMAP\" : \"\",\n      parameters.envMap ? \"#define \" + envMapTypeDefine : \"\",\n      parameters.envMap ? \"#define \" + envMapModeDefine : \"\",\n      parameters.envMap ? \"#define \" + envMapBlendingDefine : \"\",\n      envMapCubeUVSize ? \"#define CUBEUV_TEXEL_WIDTH \" + envMapCubeUVSize.texelWidth : \"\",\n      envMapCubeUVSize ? \"#define CUBEUV_TEXEL_HEIGHT \" + envMapCubeUVSize.texelHeight : \"\",\n      envMapCubeUVSize ? \"#define CUBEUV_MAX_MIP \" + envMapCubeUVSize.maxMip + \".0\" : \"\",\n      parameters.lightMap ? \"#define USE_LIGHTMAP\" : \"\",\n      parameters.aoMap ? \"#define USE_AOMAP\" : \"\",\n      parameters.bumpMap ? \"#define USE_BUMPMAP\" : \"\",\n      parameters.normalMap ? \"#define USE_NORMALMAP\" : \"\",\n      parameters.normalMapObjectSpace ? \"#define USE_NORMALMAP_OBJECTSPACE\" : \"\",\n      parameters.normalMapTangentSpace ? \"#define USE_NORMALMAP_TANGENTSPACE\" : \"\",\n      parameters.emissiveMap ? \"#define USE_EMISSIVEMAP\" : \"\",\n      parameters.anisotropy ? \"#define USE_ANISOTROPY\" : \"\",\n      parameters.anisotropyMap ? \"#define USE_ANISOTROPYMAP\" : \"\",\n      parameters.clearcoat ? \"#define USE_CLEARCOAT\" : \"\",\n      parameters.clearcoatMap ? \"#define USE_CLEARCOATMAP\" : \"\",\n      parameters.clearcoatRoughnessMap ? \"#define USE_CLEARCOAT_ROUGHNESSMAP\" : \"\",\n      parameters.clearcoatNormalMap ? \"#define USE_CLEARCOAT_NORMALMAP\" : \"\",\n      parameters.dispersion ? \"#define USE_DISPERSION\" : \"\",\n      parameters.iridescence ? \"#define USE_IRIDESCENCE\" : \"\",\n      parameters.iridescenceMap ? \"#define USE_IRIDESCENCEMAP\" : \"\",\n      parameters.iridescenceThicknessMap ? \"#define USE_IRIDESCENCE_THICKNESSMAP\" : \"\",\n      parameters.specularMap ? \"#define USE_SPECULARMAP\" : \"\",\n      parameters.specularColorMap ? \"#define USE_SPECULAR_COLORMAP\" : \"\",\n      parameters.specularIntensityMap ? \"#define USE_SPECULAR_INTENSITYMAP\" : \"\",\n      parameters.roughnessMap ? \"#define USE_ROUGHNESSMAP\" : \"\",\n      parameters.metalnessMap ? \"#define USE_METALNESSMAP\" : \"\",\n      parameters.alphaMap ? \"#define USE_ALPHAMAP\" : \"\",\n      parameters.alphaTest ? \"#define USE_ALPHATEST\" : \"\",\n      parameters.alphaHash ? \"#define USE_ALPHAHASH\" : \"\",\n      parameters.sheen ? \"#define USE_SHEEN\" : \"\",\n      parameters.sheenColorMap ? \"#define USE_SHEEN_COLORMAP\" : \"\",\n      parameters.sheenRoughnessMap ? \"#define USE_SHEEN_ROUGHNESSMAP\" : \"\",\n      parameters.transmission ? \"#define USE_TRANSMISSION\" : \"\",\n      parameters.transmissionMap ? \"#define USE_TRANSMISSIONMAP\" : \"\",\n      parameters.thicknessMap ? \"#define USE_THICKNESSMAP\" : \"\",\n      parameters.vertexTangents && parameters.flatShading === false ? \"#define USE_TANGENT\" : \"\",\n      parameters.vertexColors || parameters.instancingColor || parameters.batchingColor ? \"#define USE_COLOR\" : \"\",\n      parameters.vertexAlphas ? \"#define USE_COLOR_ALPHA\" : \"\",\n      parameters.vertexUv1s ? \"#define USE_UV1\" : \"\",\n      parameters.vertexUv2s ? \"#define USE_UV2\" : \"\",\n      parameters.vertexUv3s ? \"#define USE_UV3\" : \"\",\n      parameters.pointsUvs ? \"#define USE_POINTS_UV\" : \"\",\n      parameters.gradientMap ? \"#define USE_GRADIENTMAP\" : \"\",\n      parameters.flatShading ? \"#define FLAT_SHADED\" : \"\",\n      parameters.doubleSided ? \"#define DOUBLE_SIDED\" : \"\",\n      parameters.flipSided ? \"#define FLIP_SIDED\" : \"\",\n      parameters.shadowMapEnabled ? \"#define USE_SHADOWMAP\" : \"\",\n      parameters.shadowMapEnabled ? \"#define \" + shadowMapTypeDefine : \"\",\n      parameters.premultipliedAlpha ? \"#define PREMULTIPLIED_ALPHA\" : \"\",\n      parameters.numLightProbes > 0 ? \"#define USE_LIGHT_PROBES\" : \"\",\n      parameters.decodeVideoTexture ? \"#define DECODE_VIDEO_TEXTURE\" : \"\",\n      parameters.logarithmicDepthBuffer ? \"#define USE_LOGDEPTHBUF\" : \"\",\n      parameters.reverseDepthBuffer ? \"#define USE_REVERSEDEPTHBUF\" : \"\",\n      \"uniform mat4 viewMatrix;\",\n      \"uniform vec3 cameraPosition;\",\n      \"uniform bool isOrthographic;\",\n      parameters.toneMapping !== NoToneMapping ? \"#define TONE_MAPPING\" : \"\",\n      parameters.toneMapping !== NoToneMapping ? ShaderChunk[\"tonemapping_pars_fragment\"] : \"\",\n      // this code is required here because it is used by the toneMapping() function defined below\n      parameters.toneMapping !== NoToneMapping ? getToneMappingFunction(\"toneMapping\", parameters.toneMapping) : \"\",\n      parameters.dithering ? \"#define DITHERING\" : \"\",\n      parameters.opaque ? \"#define OPAQUE\" : \"\",\n      ShaderChunk[\"colorspace_pars_fragment\"],\n      // this code is required here because it is used by the various encoding/decoding function defined below\n      getTexelEncodingFunction(\"linearToOutputTexel\", parameters.outputColorSpace),\n      getLuminanceFunction(),\n      parameters.useDepthPacking ? \"#define DEPTH_PACKING \" + parameters.depthPacking : \"\",\n      \"\\n\"\n    ].filter(filterEmptyLine).join(\"\\n\");\n  }\n  vertexShader = resolveIncludes(vertexShader);\n  vertexShader = replaceLightNums(vertexShader, parameters);\n  vertexShader = replaceClippingPlaneNums(vertexShader, parameters);\n  fragmentShader = resolveIncludes(fragmentShader);\n  fragmentShader = replaceLightNums(fragmentShader, parameters);\n  fragmentShader = replaceClippingPlaneNums(fragmentShader, parameters);\n  vertexShader = unrollLoops(vertexShader);\n  fragmentShader = unrollLoops(fragmentShader);\n  if (parameters.isRawShaderMaterial !== true) {\n    versionString = \"#version 300 es\\n\";\n    prefixVertex = [\n      customVertexExtensions,\n      \"#define attribute in\",\n      \"#define varying out\",\n      \"#define texture2D texture\"\n    ].join(\"\\n\") + \"\\n\" + prefixVertex;\n    prefixFragment = [\n      \"#define varying in\",\n      parameters.glslVersion === GLSL3 ? \"\" : \"layout(location = 0) out highp vec4 pc_fragColor;\",\n      parameters.glslVersion === GLSL3 ? \"\" : \"#define gl_FragColor pc_fragColor\",\n      \"#define gl_FragDepthEXT gl_FragDepth\",\n      \"#define texture2D texture\",\n      \"#define textureCube texture\",\n      \"#define texture2DProj textureProj\",\n      \"#define texture2DLodEXT textureLod\",\n      \"#define texture2DProjLodEXT textureProjLod\",\n      \"#define textureCubeLodEXT textureLod\",\n      \"#define texture2DGradEXT textureGrad\",\n      \"#define texture2DProjGradEXT textureProjGrad\",\n      \"#define textureCubeGradEXT textureGrad\"\n    ].join(\"\\n\") + \"\\n\" + prefixFragment;\n  }\n  const vertexGlsl = versionString + prefixVertex + vertexShader;\n  const fragmentGlsl = versionString + prefixFragment + fragmentShader;\n  const glVertexShader = WebGLShader(gl, gl.VERTEX_SHADER, vertexGlsl);\n  const glFragmentShader = WebGLShader(gl, gl.FRAGMENT_SHADER, fragmentGlsl);\n  gl.attachShader(program, glVertexShader);\n  gl.attachShader(program, glFragmentShader);\n  if (parameters.index0AttributeName !== void 0) {\n    gl.bindAttribLocation(program, 0, parameters.index0AttributeName);\n  } else if (parameters.morphTargets === true) {\n    gl.bindAttribLocation(program, 0, \"position\");\n  }\n  gl.linkProgram(program);\n  function onFirstUse(self2) {\n    if (renderer.debug.checkShaderErrors) {\n      const programLog = gl.getProgramInfoLog(program).trim();\n      const vertexLog = gl.getShaderInfoLog(glVertexShader).trim();\n      const fragmentLog = gl.getShaderInfoLog(glFragmentShader).trim();\n      let runnable = true;\n      let haveDiagnostics = true;\n      if (gl.getProgramParameter(program, gl.LINK_STATUS) === false) {\n        runnable = false;\n        if (typeof renderer.debug.onShaderError === \"function\") {\n          renderer.debug.onShaderError(gl, program, glVertexShader, glFragmentShader);\n        } else {\n          const vertexErrors = getShaderErrors(gl, glVertexShader, \"vertex\");\n          const fragmentErrors = getShaderErrors(gl, glFragmentShader, \"fragment\");\n          console.error(\n            \"THREE.WebGLProgram: Shader Error \" + gl.getError() + \" - VALIDATE_STATUS \" + gl.getProgramParameter(program, gl.VALIDATE_STATUS) + \"\\n\\nMaterial Name: \" + self2.name + \"\\nMaterial Type: \" + self2.type + \"\\n\\nProgram Info Log: \" + programLog + \"\\n\" + vertexErrors + \"\\n\" + fragmentErrors\n          );\n        }\n      } else if (programLog !== \"\") {\n        console.warn(\"THREE.WebGLProgram: Program Info Log:\", programLog);\n      } else if (vertexLog === \"\" || fragmentLog === \"\") {\n        haveDiagnostics = false;\n      }\n      if (haveDiagnostics) {\n        self2.diagnostics = {\n          runnable,\n          programLog,\n          vertexShader: {\n            log: vertexLog,\n            prefix: prefixVertex\n          },\n          fragmentShader: {\n            log: fragmentLog,\n            prefix: prefixFragment\n          }\n        };\n      }\n    }\n    gl.deleteShader(glVertexShader);\n    gl.deleteShader(glFragmentShader);\n    cachedUniforms = new WebGLUniforms(gl, program);\n    cachedAttributes = fetchAttributeLocations(gl, program);\n  }\n  let cachedUniforms;\n  this.getUniforms = function() {\n    if (cachedUniforms === void 0) {\n      onFirstUse(this);\n    }\n    return cachedUniforms;\n  };\n  let cachedAttributes;\n  this.getAttributes = function() {\n    if (cachedAttributes === void 0) {\n      onFirstUse(this);\n    }\n    return cachedAttributes;\n  };\n  let programReady = parameters.rendererExtensionParallelShaderCompile === false;\n  this.isReady = function() {\n    if (programReady === false) {\n      programReady = gl.getProgramParameter(program, COMPLETION_STATUS_KHR);\n    }\n    return programReady;\n  };\n  this.destroy = function() {\n    bindingStates.releaseStatesOfProgram(this);\n    gl.deleteProgram(program);\n    this.program = void 0;\n  };\n  this.type = parameters.shaderType;\n  this.name = parameters.shaderName;\n  this.id = programIdCount++;\n  this.cacheKey = cacheKey;\n  this.usedTimes = 1;\n  this.program = program;\n  this.vertexShader = glVertexShader;\n  this.fragmentShader = glFragmentShader;\n  return this;\n}\nvar _id$1 = 0;\nvar WebGLShaderCache = class {\n  constructor() {\n    this.shaderCache = /* @__PURE__ */ new Map();\n    this.materialCache = /* @__PURE__ */ new Map();\n  }\n  update(material) {\n    const vertexShader = material.vertexShader;\n    const fragmentShader = material.fragmentShader;\n    const vertexShaderStage = this._getShaderStage(vertexShader);\n    const fragmentShaderStage = this._getShaderStage(fragmentShader);\n    const materialShaders = this._getShaderCacheForMaterial(material);\n    if (materialShaders.has(vertexShaderStage) === false) {\n      materialShaders.add(vertexShaderStage);\n      vertexShaderStage.usedTimes++;\n    }\n    if (materialShaders.has(fragmentShaderStage) === false) {\n      materialShaders.add(fragmentShaderStage);\n      fragmentShaderStage.usedTimes++;\n    }\n    return this;\n  }\n  remove(material) {\n    const materialShaders = this.materialCache.get(material);\n    for (const shaderStage of materialShaders) {\n      shaderStage.usedTimes--;\n      if (shaderStage.usedTimes === 0) this.shaderCache.delete(shaderStage.code);\n    }\n    this.materialCache.delete(material);\n    return this;\n  }\n  getVertexShaderID(material) {\n    return this._getShaderStage(material.vertexShader).id;\n  }\n  getFragmentShaderID(material) {\n    return this._getShaderStage(material.fragmentShader).id;\n  }\n  dispose() {\n    this.shaderCache.clear();\n    this.materialCache.clear();\n  }\n  _getShaderCacheForMaterial(material) {\n    const cache = this.materialCache;\n    let set = cache.get(material);\n    if (set === void 0) {\n      set = /* @__PURE__ */ new Set();\n      cache.set(material, set);\n    }\n    return set;\n  }\n  _getShaderStage(code) {\n    const cache = this.shaderCache;\n    let stage = cache.get(code);\n    if (stage === void 0) {\n      stage = new WebGLShaderStage(code);\n      cache.set(code, stage);\n    }\n    return stage;\n  }\n};\nvar WebGLShaderStage = class {\n  constructor(code) {\n    this.id = _id$1++;\n    this.code = code;\n    this.usedTimes = 0;\n  }\n};\nfunction WebGLPrograms(renderer, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping) {\n  const _programLayers = new Layers();\n  const _customShaders = new WebGLShaderCache();\n  const _activeChannels = /* @__PURE__ */ new Set();\n  const programs = [];\n  const logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer;\n  const reverseDepthBuffer = capabilities.reverseDepthBuffer;\n  const SUPPORTS_VERTEX_TEXTURES = capabilities.vertexTextures;\n  let precision = capabilities.precision;\n  const shaderIDs = {\n    MeshDepthMaterial: \"depth\",\n    MeshDistanceMaterial: \"distanceRGBA\",\n    MeshNormalMaterial: \"normal\",\n    MeshBasicMaterial: \"basic\",\n    MeshLambertMaterial: \"lambert\",\n    MeshPhongMaterial: \"phong\",\n    MeshToonMaterial: \"toon\",\n    MeshStandardMaterial: \"physical\",\n    MeshPhysicalMaterial: \"physical\",\n    MeshMatcapMaterial: \"matcap\",\n    LineBasicMaterial: \"basic\",\n    LineDashedMaterial: \"dashed\",\n    PointsMaterial: \"points\",\n    ShadowMaterial: \"shadow\",\n    SpriteMaterial: \"sprite\"\n  };\n  function getChannel(value) {\n    _activeChannels.add(value);\n    if (value === 0) return \"uv\";\n    return `uv${value}`;\n  }\n  function getParameters(material, lights, shadows, scene, object) {\n    const fog = scene.fog;\n    const geometry = object.geometry;\n    const environment = material.isMeshStandardMaterial ? scene.environment : null;\n    const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment);\n    const envMapCubeUVHeight = !!envMap && envMap.mapping === CubeUVReflectionMapping ? envMap.image.height : null;\n    const shaderID = shaderIDs[material.type];\n    if (material.precision !== null) {\n      precision = capabilities.getMaxPrecision(material.precision);\n      if (precision !== material.precision) {\n        console.warn(\"THREE.WebGLProgram.getParameters:\", material.precision, \"not supported, using\", precision, \"instead.\");\n      }\n    }\n    const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n    const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0;\n    let morphTextureStride = 0;\n    if (geometry.morphAttributes.position !== void 0) morphTextureStride = 1;\n    if (geometry.morphAttributes.normal !== void 0) morphTextureStride = 2;\n    if (geometry.morphAttributes.color !== void 0) morphTextureStride = 3;\n    let vertexShader, fragmentShader;\n    let customVertexShaderID, customFragmentShaderID;\n    if (shaderID) {\n      const shader = ShaderLib[shaderID];\n      vertexShader = shader.vertexShader;\n      fragmentShader = shader.fragmentShader;\n    } else {\n      vertexShader = material.vertexShader;\n      fragmentShader = material.fragmentShader;\n      _customShaders.update(material);\n      customVertexShaderID = _customShaders.getVertexShaderID(material);\n      customFragmentShaderID = _customShaders.getFragmentShaderID(material);\n    }\n    const currentRenderTarget = renderer.getRenderTarget();\n    const IS_INSTANCEDMESH = object.isInstancedMesh === true;\n    const IS_BATCHEDMESH = object.isBatchedMesh === true;\n    const HAS_MAP = !!material.map;\n    const HAS_MATCAP = !!material.matcap;\n    const HAS_ENVMAP = !!envMap;\n    const HAS_AOMAP = !!material.aoMap;\n    const HAS_LIGHTMAP = !!material.lightMap;\n    const HAS_BUMPMAP = !!material.bumpMap;\n    const HAS_NORMALMAP = !!material.normalMap;\n    const HAS_DISPLACEMENTMAP = !!material.displacementMap;\n    const HAS_EMISSIVEMAP = !!material.emissiveMap;\n    const HAS_METALNESSMAP = !!material.metalnessMap;\n    const HAS_ROUGHNESSMAP = !!material.roughnessMap;\n    const HAS_ANISOTROPY = material.anisotropy > 0;\n    const HAS_CLEARCOAT = material.clearcoat > 0;\n    const HAS_DISPERSION = material.dispersion > 0;\n    const HAS_IRIDESCENCE = material.iridescence > 0;\n    const HAS_SHEEN = material.sheen > 0;\n    const HAS_TRANSMISSION = material.transmission > 0;\n    const HAS_ANISOTROPYMAP = HAS_ANISOTROPY && !!material.anisotropyMap;\n    const HAS_CLEARCOATMAP = HAS_CLEARCOAT && !!material.clearcoatMap;\n    const HAS_CLEARCOAT_NORMALMAP = HAS_CLEARCOAT && !!material.clearcoatNormalMap;\n    const HAS_CLEARCOAT_ROUGHNESSMAP = HAS_CLEARCOAT && !!material.clearcoatRoughnessMap;\n    const HAS_IRIDESCENCEMAP = HAS_IRIDESCENCE && !!material.iridescenceMap;\n    const HAS_IRIDESCENCE_THICKNESSMAP = HAS_IRIDESCENCE && !!material.iridescenceThicknessMap;\n    const HAS_SHEEN_COLORMAP = HAS_SHEEN && !!material.sheenColorMap;\n    const HAS_SHEEN_ROUGHNESSMAP = HAS_SHEEN && !!material.sheenRoughnessMap;\n    const HAS_SPECULARMAP = !!material.specularMap;\n    const HAS_SPECULAR_COLORMAP = !!material.specularColorMap;\n    const HAS_SPECULAR_INTENSITYMAP = !!material.specularIntensityMap;\n    const HAS_TRANSMISSIONMAP = HAS_TRANSMISSION && !!material.transmissionMap;\n    const HAS_THICKNESSMAP = HAS_TRANSMISSION && !!material.thicknessMap;\n    const HAS_GRADIENTMAP = !!material.gradientMap;\n    const HAS_ALPHAMAP = !!material.alphaMap;\n    const HAS_ALPHATEST = material.alphaTest > 0;\n    const HAS_ALPHAHASH = !!material.alphaHash;\n    const HAS_EXTENSIONS = !!material.extensions;\n    let toneMapping = NoToneMapping;\n    if (material.toneMapped) {\n      if (currentRenderTarget === null || currentRenderTarget.isXRRenderTarget === true) {\n        toneMapping = renderer.toneMapping;\n      }\n    }\n    const parameters = {\n      shaderID,\n      shaderType: material.type,\n      shaderName: material.name,\n      vertexShader,\n      fragmentShader,\n      defines: material.defines,\n      customVertexShaderID,\n      customFragmentShaderID,\n      isRawShaderMaterial: material.isRawShaderMaterial === true,\n      glslVersion: material.glslVersion,\n      precision,\n      batching: IS_BATCHEDMESH,\n      batchingColor: IS_BATCHEDMESH && object._colorsTexture !== null,\n      instancing: IS_INSTANCEDMESH,\n      instancingColor: IS_INSTANCEDMESH && object.instanceColor !== null,\n      instancingMorph: IS_INSTANCEDMESH && object.morphTexture !== null,\n      supportsVertexTextures: SUPPORTS_VERTEX_TEXTURES,\n      outputColorSpace: currentRenderTarget === null ? renderer.outputColorSpace : currentRenderTarget.isXRRenderTarget === true ? currentRenderTarget.texture.colorSpace : LinearSRGBColorSpace,\n      alphaToCoverage: !!material.alphaToCoverage,\n      map: HAS_MAP,\n      matcap: HAS_MATCAP,\n      envMap: HAS_ENVMAP,\n      envMapMode: HAS_ENVMAP && envMap.mapping,\n      envMapCubeUVHeight,\n      aoMap: HAS_AOMAP,\n      lightMap: HAS_LIGHTMAP,\n      bumpMap: HAS_BUMPMAP,\n      normalMap: HAS_NORMALMAP,\n      displacementMap: SUPPORTS_VERTEX_TEXTURES && HAS_DISPLACEMENTMAP,\n      emissiveMap: HAS_EMISSIVEMAP,\n      normalMapObjectSpace: HAS_NORMALMAP && material.normalMapType === ObjectSpaceNormalMap,\n      normalMapTangentSpace: HAS_NORMALMAP && material.normalMapType === TangentSpaceNormalMap,\n      metalnessMap: HAS_METALNESSMAP,\n      roughnessMap: HAS_ROUGHNESSMAP,\n      anisotropy: HAS_ANISOTROPY,\n      anisotropyMap: HAS_ANISOTROPYMAP,\n      clearcoat: HAS_CLEARCOAT,\n      clearcoatMap: HAS_CLEARCOATMAP,\n      clearcoatNormalMap: HAS_CLEARCOAT_NORMALMAP,\n      clearcoatRoughnessMap: HAS_CLEARCOAT_ROUGHNESSMAP,\n      dispersion: HAS_DISPERSION,\n      iridescence: HAS_IRIDESCENCE,\n      iridescenceMap: HAS_IRIDESCENCEMAP,\n      iridescenceThicknessMap: HAS_IRIDESCENCE_THICKNESSMAP,\n      sheen: HAS_SHEEN,\n      sheenColorMap: HAS_SHEEN_COLORMAP,\n      sheenRoughnessMap: HAS_SHEEN_ROUGHNESSMAP,\n      specularMap: HAS_SPECULARMAP,\n      specularColorMap: HAS_SPECULAR_COLORMAP,\n      specularIntensityMap: HAS_SPECULAR_INTENSITYMAP,\n      transmission: HAS_TRANSMISSION,\n      transmissionMap: HAS_TRANSMISSIONMAP,\n      thicknessMap: HAS_THICKNESSMAP,\n      gradientMap: HAS_GRADIENTMAP,\n      opaque: material.transparent === false && material.blending === NormalBlending && material.alphaToCoverage === false,\n      alphaMap: HAS_ALPHAMAP,\n      alphaTest: HAS_ALPHATEST,\n      alphaHash: HAS_ALPHAHASH,\n      combine: material.combine,\n      //\n      mapUv: HAS_MAP && getChannel(material.map.channel),\n      aoMapUv: HAS_AOMAP && getChannel(material.aoMap.channel),\n      lightMapUv: HAS_LIGHTMAP && getChannel(material.lightMap.channel),\n      bumpMapUv: HAS_BUMPMAP && getChannel(material.bumpMap.channel),\n      normalMapUv: HAS_NORMALMAP && getChannel(material.normalMap.channel),\n      displacementMapUv: HAS_DISPLACEMENTMAP && getChannel(material.displacementMap.channel),\n      emissiveMapUv: HAS_EMISSIVEMAP && getChannel(material.emissiveMap.channel),\n      metalnessMapUv: HAS_METALNESSMAP && getChannel(material.metalnessMap.channel),\n      roughnessMapUv: HAS_ROUGHNESSMAP && getChannel(material.roughnessMap.channel),\n      anisotropyMapUv: HAS_ANISOTROPYMAP && getChannel(material.anisotropyMap.channel),\n      clearcoatMapUv: HAS_CLEARCOATMAP && getChannel(material.clearcoatMap.channel),\n      clearcoatNormalMapUv: HAS_CLEARCOAT_NORMALMAP && getChannel(material.clearcoatNormalMap.channel),\n      clearcoatRoughnessMapUv: HAS_CLEARCOAT_ROUGHNESSMAP && getChannel(material.clearcoatRoughnessMap.channel),\n      iridescenceMapUv: HAS_IRIDESCENCEMAP && getChannel(material.iridescenceMap.channel),\n      iridescenceThicknessMapUv: HAS_IRIDESCENCE_THICKNESSMAP && getChannel(material.iridescenceThicknessMap.channel),\n      sheenColorMapUv: HAS_SHEEN_COLORMAP && getChannel(material.sheenColorMap.channel),\n      sheenRoughnessMapUv: HAS_SHEEN_ROUGHNESSMAP && getChannel(material.sheenRoughnessMap.channel),\n      specularMapUv: HAS_SPECULARMAP && getChannel(material.specularMap.channel),\n      specularColorMapUv: HAS_SPECULAR_COLORMAP && getChannel(material.specularColorMap.channel),\n      specularIntensityMapUv: HAS_SPECULAR_INTENSITYMAP && getChannel(material.specularIntensityMap.channel),\n      transmissionMapUv: HAS_TRANSMISSIONMAP && getChannel(material.transmissionMap.channel),\n      thicknessMapUv: HAS_THICKNESSMAP && getChannel(material.thicknessMap.channel),\n      alphaMapUv: HAS_ALPHAMAP && getChannel(material.alphaMap.channel),\n      //\n      vertexTangents: !!geometry.attributes.tangent && (HAS_NORMALMAP || HAS_ANISOTROPY),\n      vertexColors: material.vertexColors,\n      vertexAlphas: material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4,\n      pointsUvs: object.isPoints === true && !!geometry.attributes.uv && (HAS_MAP || HAS_ALPHAMAP),\n      fog: !!fog,\n      useFog: material.fog === true,\n      fogExp2: !!fog && fog.isFogExp2,\n      flatShading: material.flatShading === true,\n      sizeAttenuation: material.sizeAttenuation === true,\n      logarithmicDepthBuffer,\n      reverseDepthBuffer,\n      skinning: object.isSkinnedMesh === true,\n      morphTargets: geometry.morphAttributes.position !== void 0,\n      morphNormals: geometry.morphAttributes.normal !== void 0,\n      morphColors: geometry.morphAttributes.color !== void 0,\n      morphTargetsCount,\n      morphTextureStride,\n      numDirLights: lights.directional.length,\n      numPointLights: lights.point.length,\n      numSpotLights: lights.spot.length,\n      numSpotLightMaps: lights.spotLightMap.length,\n      numRectAreaLights: lights.rectArea.length,\n      numHemiLights: lights.hemi.length,\n      numDirLightShadows: lights.directionalShadowMap.length,\n      numPointLightShadows: lights.pointShadowMap.length,\n      numSpotLightShadows: lights.spotShadowMap.length,\n      numSpotLightShadowsWithMaps: lights.numSpotLightShadowsWithMaps,\n      numLightProbes: lights.numLightProbes,\n      numClippingPlanes: clipping.numPlanes,\n      numClipIntersection: clipping.numIntersection,\n      dithering: material.dithering,\n      shadowMapEnabled: renderer.shadowMap.enabled && shadows.length > 0,\n      shadowMapType: renderer.shadowMap.type,\n      toneMapping,\n      decodeVideoTexture: HAS_MAP && material.map.isVideoTexture === true && ColorManagement.getTransfer(material.map.colorSpace) === SRGBTransfer,\n      premultipliedAlpha: material.premultipliedAlpha,\n      doubleSided: material.side === DoubleSide,\n      flipSided: material.side === BackSide,\n      useDepthPacking: material.depthPacking >= 0,\n      depthPacking: material.depthPacking || 0,\n      index0AttributeName: material.index0AttributeName,\n      extensionClipCullDistance: HAS_EXTENSIONS && material.extensions.clipCullDistance === true && extensions.has(\"WEBGL_clip_cull_distance\"),\n      extensionMultiDraw: (HAS_EXTENSIONS && material.extensions.multiDraw === true || IS_BATCHEDMESH) && extensions.has(\"WEBGL_multi_draw\"),\n      rendererExtensionParallelShaderCompile: extensions.has(\"KHR_parallel_shader_compile\"),\n      customProgramCacheKey: material.customProgramCacheKey()\n    };\n    parameters.vertexUv1s = _activeChannels.has(1);\n    parameters.vertexUv2s = _activeChannels.has(2);\n    parameters.vertexUv3s = _activeChannels.has(3);\n    _activeChannels.clear();\n    return parameters;\n  }\n  function getProgramCacheKey(parameters) {\n    const array = [];\n    if (parameters.shaderID) {\n      array.push(parameters.shaderID);\n    } else {\n      array.push(parameters.customVertexShaderID);\n      array.push(parameters.customFragmentShaderID);\n    }\n    if (parameters.defines !== void 0) {\n      for (const name in parameters.defines) {\n        array.push(name);\n        array.push(parameters.defines[name]);\n      }\n    }\n    if (parameters.isRawShaderMaterial === false) {\n      getProgramCacheKeyParameters(array, parameters);\n      getProgramCacheKeyBooleans(array, parameters);\n      array.push(renderer.outputColorSpace);\n    }\n    array.push(parameters.customProgramCacheKey);\n    return array.join();\n  }\n  function getProgramCacheKeyParameters(array, parameters) {\n    array.push(parameters.precision);\n    array.push(parameters.outputColorSpace);\n    array.push(parameters.envMapMode);\n    array.push(parameters.envMapCubeUVHeight);\n    array.push(parameters.mapUv);\n    array.push(parameters.alphaMapUv);\n    array.push(parameters.lightMapUv);\n    array.push(parameters.aoMapUv);\n    array.push(parameters.bumpMapUv);\n    array.push(parameters.normalMapUv);\n    array.push(parameters.displacementMapUv);\n    array.push(parameters.emissiveMapUv);\n    array.push(parameters.metalnessMapUv);\n    array.push(parameters.roughnessMapUv);\n    array.push(parameters.anisotropyMapUv);\n    array.push(parameters.clearcoatMapUv);\n    array.push(parameters.clearcoatNormalMapUv);\n    array.push(parameters.clearcoatRoughnessMapUv);\n    array.push(parameters.iridescenceMapUv);\n    array.push(parameters.iridescenceThicknessMapUv);\n    array.push(parameters.sheenColorMapUv);\n    array.push(parameters.sheenRoughnessMapUv);\n    array.push(parameters.specularMapUv);\n    array.push(parameters.specularColorMapUv);\n    array.push(parameters.specularIntensityMapUv);\n    array.push(parameters.transmissionMapUv);\n    array.push(parameters.thicknessMapUv);\n    array.push(parameters.combine);\n    array.push(parameters.fogExp2);\n    array.push(parameters.sizeAttenuation);\n    array.push(parameters.morphTargetsCount);\n    array.push(parameters.morphAttributeCount);\n    array.push(parameters.numDirLights);\n    array.push(parameters.numPointLights);\n    array.push(parameters.numSpotLights);\n    array.push(parameters.numSpotLightMaps);\n    array.push(parameters.numHemiLights);\n    array.push(parameters.numRectAreaLights);\n    array.push(parameters.numDirLightShadows);\n    array.push(parameters.numPointLightShadows);\n    array.push(parameters.numSpotLightShadows);\n    array.push(parameters.numSpotLightShadowsWithMaps);\n    array.push(parameters.numLightProbes);\n    array.push(parameters.shadowMapType);\n    array.push(parameters.toneMapping);\n    array.push(parameters.numClippingPlanes);\n    array.push(parameters.numClipIntersection);\n    array.push(parameters.depthPacking);\n  }\n  function getProgramCacheKeyBooleans(array, parameters) {\n    _programLayers.disableAll();\n    if (parameters.supportsVertexTextures)\n      _programLayers.enable(0);\n    if (parameters.instancing)\n      _programLayers.enable(1);\n    if (parameters.instancingColor)\n      _programLayers.enable(2);\n    if (parameters.instancingMorph)\n      _programLayers.enable(3);\n    if (parameters.matcap)\n      _programLayers.enable(4);\n    if (parameters.envMap)\n      _programLayers.enable(5);\n    if (parameters.normalMapObjectSpace)\n      _programLayers.enable(6);\n    if (parameters.normalMapTangentSpace)\n      _programLayers.enable(7);\n    if (parameters.clearcoat)\n      _programLayers.enable(8);\n    if (parameters.iridescence)\n      _programLayers.enable(9);\n    if (parameters.alphaTest)\n      _programLayers.enable(10);\n    if (parameters.vertexColors)\n      _programLayers.enable(11);\n    if (parameters.vertexAlphas)\n      _programLayers.enable(12);\n    if (parameters.vertexUv1s)\n      _programLayers.enable(13);\n    if (parameters.vertexUv2s)\n      _programLayers.enable(14);\n    if (parameters.vertexUv3s)\n      _programLayers.enable(15);\n    if (parameters.vertexTangents)\n      _programLayers.enable(16);\n    if (parameters.anisotropy)\n      _programLayers.enable(17);\n    if (parameters.alphaHash)\n      _programLayers.enable(18);\n    if (parameters.batching)\n      _programLayers.enable(19);\n    if (parameters.dispersion)\n      _programLayers.enable(20);\n    if (parameters.batchingColor)\n      _programLayers.enable(21);\n    array.push(_programLayers.mask);\n    _programLayers.disableAll();\n    if (parameters.fog)\n      _programLayers.enable(0);\n    if (parameters.useFog)\n      _programLayers.enable(1);\n    if (parameters.flatShading)\n      _programLayers.enable(2);\n    if (parameters.logarithmicDepthBuffer)\n      _programLayers.enable(3);\n    if (parameters.reverseDepthBuffer)\n      _programLayers.enable(4);\n    if (parameters.skinning)\n      _programLayers.enable(5);\n    if (parameters.morphTargets)\n      _programLayers.enable(6);\n    if (parameters.morphNormals)\n      _programLayers.enable(7);\n    if (parameters.morphColors)\n      _programLayers.enable(8);\n    if (parameters.premultipliedAlpha)\n      _programLayers.enable(9);\n    if (parameters.shadowMapEnabled)\n      _programLayers.enable(10);\n    if (parameters.doubleSided)\n      _programLayers.enable(11);\n    if (parameters.flipSided)\n      _programLayers.enable(12);\n    if (parameters.useDepthPacking)\n      _programLayers.enable(13);\n    if (parameters.dithering)\n      _programLayers.enable(14);\n    if (parameters.transmission)\n      _programLayers.enable(15);\n    if (parameters.sheen)\n      _programLayers.enable(16);\n    if (parameters.opaque)\n      _programLayers.enable(17);\n    if (parameters.pointsUvs)\n      _programLayers.enable(18);\n    if (parameters.decodeVideoTexture)\n      _programLayers.enable(19);\n    if (parameters.alphaToCoverage)\n      _programLayers.enable(20);\n    array.push(_programLayers.mask);\n  }\n  function getUniforms(material) {\n    const shaderID = shaderIDs[material.type];\n    let uniforms;\n    if (shaderID) {\n      const shader = ShaderLib[shaderID];\n      uniforms = UniformsUtils.clone(shader.uniforms);\n    } else {\n      uniforms = material.uniforms;\n    }\n    return uniforms;\n  }\n  function acquireProgram(parameters, cacheKey) {\n    let program;\n    for (let p = 0, pl = programs.length; p < pl; p++) {\n      const preexistingProgram = programs[p];\n      if (preexistingProgram.cacheKey === cacheKey) {\n        program = preexistingProgram;\n        ++program.usedTimes;\n        break;\n      }\n    }\n    if (program === void 0) {\n      program = new WebGLProgram(renderer, cacheKey, parameters, bindingStates);\n      programs.push(program);\n    }\n    return program;\n  }\n  function releaseProgram(program) {\n    if (--program.usedTimes === 0) {\n      const i = programs.indexOf(program);\n      programs[i] = programs[programs.length - 1];\n      programs.pop();\n      program.destroy();\n    }\n  }\n  function releaseShaderCache(material) {\n    _customShaders.remove(material);\n  }\n  function dispose() {\n    _customShaders.dispose();\n  }\n  return {\n    getParameters,\n    getProgramCacheKey,\n    getUniforms,\n    acquireProgram,\n    releaseProgram,\n    releaseShaderCache,\n    // Exposed for resource monitoring & error feedback via renderer.info:\n    programs,\n    dispose\n  };\n}\nfunction WebGLProperties() {\n  let properties = /* @__PURE__ */ new WeakMap();\n  function has(object) {\n    return properties.has(object);\n  }\n  function get(object) {\n    let map = properties.get(object);\n    if (map === void 0) {\n      map = {};\n      properties.set(object, map);\n    }\n    return map;\n  }\n  function remove(object) {\n    properties.delete(object);\n  }\n  function update(object, key, value) {\n    properties.get(object)[key] = value;\n  }\n  function dispose() {\n    properties = /* @__PURE__ */ new WeakMap();\n  }\n  return {\n    has,\n    get,\n    remove,\n    update,\n    dispose\n  };\n}\nfunction painterSortStable(a, b) {\n  if (a.groupOrder !== b.groupOrder) {\n    return a.groupOrder - b.groupOrder;\n  } else if (a.renderOrder !== b.renderOrder) {\n    return a.renderOrder - b.renderOrder;\n  } else if (a.material.id !== b.material.id) {\n    return a.material.id - b.material.id;\n  } else if (a.z !== b.z) {\n    return a.z - b.z;\n  } else {\n    return a.id - b.id;\n  }\n}\nfunction reversePainterSortStable(a, b) {\n  if (a.groupOrder !== b.groupOrder) {\n    return a.groupOrder - b.groupOrder;\n  } else if (a.renderOrder !== b.renderOrder) {\n    return a.renderOrder - b.renderOrder;\n  } else if (a.z !== b.z) {\n    return b.z - a.z;\n  } else {\n    return a.id - b.id;\n  }\n}\nfunction WebGLRenderList() {\n  const renderItems = [];\n  let renderItemsIndex = 0;\n  const opaque = [];\n  const transmissive = [];\n  const transparent = [];\n  function init() {\n    renderItemsIndex = 0;\n    opaque.length = 0;\n    transmissive.length = 0;\n    transparent.length = 0;\n  }\n  function getNextRenderItem(object, geometry, material, groupOrder, z, group) {\n    let renderItem = renderItems[renderItemsIndex];\n    if (renderItem === void 0) {\n      renderItem = {\n        id: object.id,\n        object,\n        geometry,\n        material,\n        groupOrder,\n        renderOrder: object.renderOrder,\n        z,\n        group\n      };\n      renderItems[renderItemsIndex] = renderItem;\n    } else {\n      renderItem.id = object.id;\n      renderItem.object = object;\n      renderItem.geometry = geometry;\n      renderItem.material = material;\n      renderItem.groupOrder = groupOrder;\n      renderItem.renderOrder = object.renderOrder;\n      renderItem.z = z;\n      renderItem.group = group;\n    }\n    renderItemsIndex++;\n    return renderItem;\n  }\n  function push(object, geometry, material, groupOrder, z, group) {\n    const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group);\n    if (material.transmission > 0) {\n      transmissive.push(renderItem);\n    } else if (material.transparent === true) {\n      transparent.push(renderItem);\n    } else {\n      opaque.push(renderItem);\n    }\n  }\n  function unshift(object, geometry, material, groupOrder, z, group) {\n    const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group);\n    if (material.transmission > 0) {\n      transmissive.unshift(renderItem);\n    } else if (material.transparent === true) {\n      transparent.unshift(renderItem);\n    } else {\n      opaque.unshift(renderItem);\n    }\n  }\n  function sort(customOpaqueSort, customTransparentSort) {\n    if (opaque.length > 1) opaque.sort(customOpaqueSort || painterSortStable);\n    if (transmissive.length > 1) transmissive.sort(customTransparentSort || reversePainterSortStable);\n    if (transparent.length > 1) transparent.sort(customTransparentSort || reversePainterSortStable);\n  }\n  function finish() {\n    for (let i = renderItemsIndex, il = renderItems.length; i < il; i++) {\n      const renderItem = renderItems[i];\n      if (renderItem.id === null) break;\n      renderItem.id = null;\n      renderItem.object = null;\n      renderItem.geometry = null;\n      renderItem.material = null;\n      renderItem.group = null;\n    }\n  }\n  return {\n    opaque,\n    transmissive,\n    transparent,\n    init,\n    push,\n    unshift,\n    finish,\n    sort\n  };\n}\nfunction WebGLRenderLists() {\n  let lists = /* @__PURE__ */ new WeakMap();\n  function get(scene, renderCallDepth) {\n    const listArray = lists.get(scene);\n    let list;\n    if (listArray === void 0) {\n      list = new WebGLRenderList();\n      lists.set(scene, [list]);\n    } else {\n      if (renderCallDepth >= listArray.length) {\n        list = new WebGLRenderList();\n        listArray.push(list);\n      } else {\n        list = listArray[renderCallDepth];\n      }\n    }\n    return list;\n  }\n  function dispose() {\n    lists = /* @__PURE__ */ new WeakMap();\n  }\n  return {\n    get,\n    dispose\n  };\n}\nfunction UniformsCache() {\n  const lights = {};\n  return {\n    get: function(light) {\n      if (lights[light.id] !== void 0) {\n        return lights[light.id];\n      }\n      let uniforms;\n      switch (light.type) {\n        case \"DirectionalLight\":\n          uniforms = {\n            direction: new Vector3(),\n            color: new Color()\n          };\n          break;\n        case \"SpotLight\":\n          uniforms = {\n            position: new Vector3(),\n            direction: new Vector3(),\n            color: new Color(),\n            distance: 0,\n            coneCos: 0,\n            penumbraCos: 0,\n            decay: 0\n          };\n          break;\n        case \"PointLight\":\n          uniforms = {\n            position: new Vector3(),\n            color: new Color(),\n            distance: 0,\n            decay: 0\n          };\n          break;\n        case \"HemisphereLight\":\n          uniforms = {\n            direction: new Vector3(),\n            skyColor: new Color(),\n            groundColor: new Color()\n          };\n          break;\n        case \"RectAreaLight\":\n          uniforms = {\n            color: new Color(),\n            position: new Vector3(),\n            halfWidth: new Vector3(),\n            halfHeight: new Vector3()\n          };\n          break;\n      }\n      lights[light.id] = uniforms;\n      return uniforms;\n    }\n  };\n}\nfunction ShadowUniformsCache() {\n  const lights = {};\n  return {\n    get: function(light) {\n      if (lights[light.id] !== void 0) {\n        return lights[light.id];\n      }\n      let uniforms;\n      switch (light.type) {\n        case \"DirectionalLight\":\n          uniforms = {\n            shadowIntensity: 1,\n            shadowBias: 0,\n            shadowNormalBias: 0,\n            shadowRadius: 1,\n            shadowMapSize: new Vector2()\n          };\n          break;\n        case \"SpotLight\":\n          uniforms = {\n            shadowIntensity: 1,\n            shadowBias: 0,\n            shadowNormalBias: 0,\n            shadowRadius: 1,\n            shadowMapSize: new Vector2()\n          };\n          break;\n        case \"PointLight\":\n          uniforms = {\n            shadowIntensity: 1,\n            shadowBias: 0,\n            shadowNormalBias: 0,\n            shadowRadius: 1,\n            shadowMapSize: new Vector2(),\n            shadowCameraNear: 1,\n            shadowCameraFar: 1e3\n          };\n          break;\n      }\n      lights[light.id] = uniforms;\n      return uniforms;\n    }\n  };\n}\nvar nextVersion = 0;\nfunction shadowCastingAndTexturingLightsFirst(lightA, lightB) {\n  return (lightB.castShadow ? 2 : 0) - (lightA.castShadow ? 2 : 0) + (lightB.map ? 1 : 0) - (lightA.map ? 1 : 0);\n}\nfunction WebGLLights(extensions) {\n  const cache = new UniformsCache();\n  const shadowCache = ShadowUniformsCache();\n  const state = {\n    version: 0,\n    hash: {\n      directionalLength: -1,\n      pointLength: -1,\n      spotLength: -1,\n      rectAreaLength: -1,\n      hemiLength: -1,\n      numDirectionalShadows: -1,\n      numPointShadows: -1,\n      numSpotShadows: -1,\n      numSpotMaps: -1,\n      numLightProbes: -1\n    },\n    ambient: [0, 0, 0],\n    probe: [],\n    directional: [],\n    directionalShadow: [],\n    directionalShadowMap: [],\n    directionalShadowMatrix: [],\n    spot: [],\n    spotLightMap: [],\n    spotShadow: [],\n    spotShadowMap: [],\n    spotLightMatrix: [],\n    rectArea: [],\n    rectAreaLTC1: null,\n    rectAreaLTC2: null,\n    point: [],\n    pointShadow: [],\n    pointShadowMap: [],\n    pointShadowMatrix: [],\n    hemi: [],\n    numSpotLightShadowsWithMaps: 0,\n    numLightProbes: 0\n  };\n  for (let i = 0; i < 9; i++) state.probe.push(new Vector3());\n  const vector3 = new Vector3();\n  const matrix4 = new Matrix4();\n  const matrix42 = new Matrix4();\n  function setup(lights) {\n    let r = 0, g = 0, b = 0;\n    for (let i = 0; i < 9; i++) state.probe[i].set(0, 0, 0);\n    let directionalLength = 0;\n    let pointLength = 0;\n    let spotLength = 0;\n    let rectAreaLength = 0;\n    let hemiLength = 0;\n    let numDirectionalShadows = 0;\n    let numPointShadows = 0;\n    let numSpotShadows = 0;\n    let numSpotMaps = 0;\n    let numSpotShadowsWithMaps = 0;\n    let numLightProbes = 0;\n    lights.sort(shadowCastingAndTexturingLightsFirst);\n    for (let i = 0, l = lights.length; i < l; i++) {\n      const light = lights[i];\n      const color = light.color;\n      const intensity = light.intensity;\n      const distance = light.distance;\n      const shadowMap = light.shadow && light.shadow.map ? light.shadow.map.texture : null;\n      if (light.isAmbientLight) {\n        r += color.r * intensity;\n        g += color.g * intensity;\n        b += color.b * intensity;\n      } else if (light.isLightProbe) {\n        for (let j = 0; j < 9; j++) {\n          state.probe[j].addScaledVector(light.sh.coefficients[j], intensity);\n        }\n        numLightProbes++;\n      } else if (light.isDirectionalLight) {\n        const uniforms = cache.get(light);\n        uniforms.color.copy(light.color).multiplyScalar(light.intensity);\n        if (light.castShadow) {\n          const shadow = light.shadow;\n          const shadowUniforms = shadowCache.get(light);\n          shadowUniforms.shadowIntensity = shadow.intensity;\n          shadowUniforms.shadowBias = shadow.bias;\n          shadowUniforms.shadowNormalBias = shadow.normalBias;\n          shadowUniforms.shadowRadius = shadow.radius;\n          shadowUniforms.shadowMapSize = shadow.mapSize;\n          state.directionalShadow[directionalLength] = shadowUniforms;\n          state.directionalShadowMap[directionalLength] = shadowMap;\n          state.directionalShadowMatrix[directionalLength] = light.shadow.matrix;\n          numDirectionalShadows++;\n        }\n        state.directional[directionalLength] = uniforms;\n        directionalLength++;\n      } else if (light.isSpotLight) {\n        const uniforms = cache.get(light);\n        uniforms.position.setFromMatrixPosition(light.matrixWorld);\n        uniforms.color.copy(color).multiplyScalar(intensity);\n        uniforms.distance = distance;\n        uniforms.coneCos = Math.cos(light.angle);\n        uniforms.penumbraCos = Math.cos(light.angle * (1 - light.penumbra));\n        uniforms.decay = light.decay;\n        state.spot[spotLength] = uniforms;\n        const shadow = light.shadow;\n        if (light.map) {\n          state.spotLightMap[numSpotMaps] = light.map;\n          numSpotMaps++;\n          shadow.updateMatrices(light);\n          if (light.castShadow) numSpotShadowsWithMaps++;\n        }\n        state.spotLightMatrix[spotLength] = shadow.matrix;\n        if (light.castShadow) {\n          const shadowUniforms = shadowCache.get(light);\n          shadowUniforms.shadowIntensity = shadow.intensity;\n          shadowUniforms.shadowBias = shadow.bias;\n          shadowUniforms.shadowNormalBias = shadow.normalBias;\n          shadowUniforms.shadowRadius = shadow.radius;\n          shadowUniforms.shadowMapSize = shadow.mapSize;\n          state.spotShadow[spotLength] = shadowUniforms;\n          state.spotShadowMap[spotLength] = shadowMap;\n          numSpotShadows++;\n        }\n        spotLength++;\n      } else if (light.isRectAreaLight) {\n        const uniforms = cache.get(light);\n        uniforms.color.copy(color).multiplyScalar(intensity);\n        uniforms.halfWidth.set(light.width * 0.5, 0, 0);\n        uniforms.halfHeight.set(0, light.height * 0.5, 0);\n        state.rectArea[rectAreaLength] = uniforms;\n        rectAreaLength++;\n      } else if (light.isPointLight) {\n        const uniforms = cache.get(light);\n        uniforms.color.copy(light.color).multiplyScalar(light.intensity);\n        uniforms.distance = light.distance;\n        uniforms.decay = light.decay;\n        if (light.castShadow) {\n          const shadow = light.shadow;\n          const shadowUniforms = shadowCache.get(light);\n          shadowUniforms.shadowIntensity = shadow.intensity;\n          shadowUniforms.shadowBias = shadow.bias;\n          shadowUniforms.shadowNormalBias = shadow.normalBias;\n          shadowUniforms.shadowRadius = shadow.radius;\n          shadowUniforms.shadowMapSize = shadow.mapSize;\n          shadowUniforms.shadowCameraNear = shadow.camera.near;\n          shadowUniforms.shadowCameraFar = shadow.camera.far;\n          state.pointShadow[pointLength] = shadowUniforms;\n          state.pointShadowMap[pointLength] = shadowMap;\n          state.pointShadowMatrix[pointLength] = light.shadow.matrix;\n          numPointShadows++;\n        }\n        state.point[pointLength] = uniforms;\n        pointLength++;\n      } else if (light.isHemisphereLight) {\n        const uniforms = cache.get(light);\n        uniforms.skyColor.copy(light.color).multiplyScalar(intensity);\n        uniforms.groundColor.copy(light.groundColor).multiplyScalar(intensity);\n        state.hemi[hemiLength] = uniforms;\n        hemiLength++;\n      }\n    }\n    if (rectAreaLength > 0) {\n      if (extensions.has(\"OES_texture_float_linear\") === true) {\n        state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1;\n        state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2;\n      } else {\n        state.rectAreaLTC1 = UniformsLib.LTC_HALF_1;\n        state.rectAreaLTC2 = UniformsLib.LTC_HALF_2;\n      }\n    }\n    state.ambient[0] = r;\n    state.ambient[1] = g;\n    state.ambient[2] = b;\n    const hash = state.hash;\n    if (hash.directionalLength !== directionalLength || hash.pointLength !== pointLength || hash.spotLength !== spotLength || hash.rectAreaLength !== rectAreaLength || hash.hemiLength !== hemiLength || hash.numDirectionalShadows !== numDirectionalShadows || hash.numPointShadows !== numPointShadows || hash.numSpotShadows !== numSpotShadows || hash.numSpotMaps !== numSpotMaps || hash.numLightProbes !== numLightProbes) {\n      state.directional.length = directionalLength;\n      state.spot.length = spotLength;\n      state.rectArea.length = rectAreaLength;\n      state.point.length = pointLength;\n      state.hemi.length = hemiLength;\n      state.directionalShadow.length = numDirectionalShadows;\n      state.directionalShadowMap.length = numDirectionalShadows;\n      state.pointShadow.length = numPointShadows;\n      state.pointShadowMap.length = numPointShadows;\n      state.spotShadow.length = numSpotShadows;\n      state.spotShadowMap.length = numSpotShadows;\n      state.directionalShadowMatrix.length = numDirectionalShadows;\n      state.pointShadowMatrix.length = numPointShadows;\n      state.spotLightMatrix.length = numSpotShadows + numSpotMaps - numSpotShadowsWithMaps;\n      state.spotLightMap.length = numSpotMaps;\n      state.numSpotLightShadowsWithMaps = numSpotShadowsWithMaps;\n      state.numLightProbes = numLightProbes;\n      hash.directionalLength = directionalLength;\n      hash.pointLength = pointLength;\n      hash.spotLength = spotLength;\n      hash.rectAreaLength = rectAreaLength;\n      hash.hemiLength = hemiLength;\n      hash.numDirectionalShadows = numDirectionalShadows;\n      hash.numPointShadows = numPointShadows;\n      hash.numSpotShadows = numSpotShadows;\n      hash.numSpotMaps = numSpotMaps;\n      hash.numLightProbes = numLightProbes;\n      state.version = nextVersion++;\n    }\n  }\n  function setupView(lights, camera) {\n    let directionalLength = 0;\n    let pointLength = 0;\n    let spotLength = 0;\n    let rectAreaLength = 0;\n    let hemiLength = 0;\n    const viewMatrix = camera.matrixWorldInverse;\n    for (let i = 0, l = lights.length; i < l; i++) {\n      const light = lights[i];\n      if (light.isDirectionalLight) {\n        const uniforms = state.directional[directionalLength];\n        uniforms.direction.setFromMatrixPosition(light.matrixWorld);\n        vector3.setFromMatrixPosition(light.target.matrixWorld);\n        uniforms.direction.sub(vector3);\n        uniforms.direction.transformDirection(viewMatrix);\n        directionalLength++;\n      } else if (light.isSpotLight) {\n        const uniforms = state.spot[spotLength];\n        uniforms.position.setFromMatrixPosition(light.matrixWorld);\n        uniforms.position.applyMatrix4(viewMatrix);\n        uniforms.direction.setFromMatrixPosition(light.matrixWorld);\n        vector3.setFromMatrixPosition(light.target.matrixWorld);\n        uniforms.direction.sub(vector3);\n        uniforms.direction.transformDirection(viewMatrix);\n        spotLength++;\n      } else if (light.isRectAreaLight) {\n        const uniforms = state.rectArea[rectAreaLength];\n        uniforms.position.setFromMatrixPosition(light.matrixWorld);\n        uniforms.position.applyMatrix4(viewMatrix);\n        matrix42.identity();\n        matrix4.copy(light.matrixWorld);\n        matrix4.premultiply(viewMatrix);\n        matrix42.extractRotation(matrix4);\n        uniforms.halfWidth.set(light.width * 0.5, 0, 0);\n        uniforms.halfHeight.set(0, light.height * 0.5, 0);\n        uniforms.halfWidth.applyMatrix4(matrix42);\n        uniforms.halfHeight.applyMatrix4(matrix42);\n        rectAreaLength++;\n      } else if (light.isPointLight) {\n        const uniforms = state.point[pointLength];\n        uniforms.position.setFromMatrixPosition(light.matrixWorld);\n        uniforms.position.applyMatrix4(viewMatrix);\n        pointLength++;\n      } else if (light.isHemisphereLight) {\n        const uniforms = state.hemi[hemiLength];\n        uniforms.direction.setFromMatrixPosition(light.matrixWorld);\n        uniforms.direction.transformDirection(viewMatrix);\n        hemiLength++;\n      }\n    }\n  }\n  return {\n    setup,\n    setupView,\n    state\n  };\n}\nfunction WebGLRenderState(extensions) {\n  const lights = new WebGLLights(extensions);\n  const lightsArray = [];\n  const shadowsArray = [];\n  function init(camera) {\n    state.camera = camera;\n    lightsArray.length = 0;\n    shadowsArray.length = 0;\n  }\n  function pushLight(light) {\n    lightsArray.push(light);\n  }\n  function pushShadow(shadowLight) {\n    shadowsArray.push(shadowLight);\n  }\n  function setupLights() {\n    lights.setup(lightsArray);\n  }\n  function setupLightsView(camera) {\n    lights.setupView(lightsArray, camera);\n  }\n  const state = {\n    lightsArray,\n    shadowsArray,\n    camera: null,\n    lights,\n    transmissionRenderTarget: {}\n  };\n  return {\n    init,\n    state,\n    setupLights,\n    setupLightsView,\n    pushLight,\n    pushShadow\n  };\n}\nfunction WebGLRenderStates(extensions) {\n  let renderStates = /* @__PURE__ */ new WeakMap();\n  function get(scene, renderCallDepth = 0) {\n    const renderStateArray = renderStates.get(scene);\n    let renderState;\n    if (renderStateArray === void 0) {\n      renderState = new WebGLRenderState(extensions);\n      renderStates.set(scene, [renderState]);\n    } else {\n      if (renderCallDepth >= renderStateArray.length) {\n        renderState = new WebGLRenderState(extensions);\n        renderStateArray.push(renderState);\n      } else {\n        renderState = renderStateArray[renderCallDepth];\n      }\n    }\n    return renderState;\n  }\n  function dispose() {\n    renderStates = /* @__PURE__ */ new WeakMap();\n  }\n  return {\n    get,\n    dispose\n  };\n}\nvar MeshDepthMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshDepthMaterial = true;\n    this.type = \"MeshDepthMaterial\";\n    this.depthPacking = BasicDepthPacking;\n    this.map = null;\n    this.alphaMap = null;\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.depthPacking = source.depthPacking;\n    this.map = source.map;\n    this.alphaMap = source.alphaMap;\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    return this;\n  }\n};\nvar MeshDistanceMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshDistanceMaterial = true;\n    this.type = \"MeshDistanceMaterial\";\n    this.map = null;\n    this.alphaMap = null;\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.map = source.map;\n    this.alphaMap = source.alphaMap;\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    return this;\n  }\n};\nvar vertex = \"void main() {\\n\tgl_Position = vec4( position, 1.0 );\\n}\";\nvar fragment = \"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\tconst float samples = float( VSM_SAMPLES );\\n\tfloat mean = 0.0;\\n\tfloat squared_mean = 0.0;\\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\t\tfloat uvOffset = uvStart + i * uvStride;\\n\t\t#ifdef HORIZONTAL_PASS\\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\t\t\tmean += distribution.x;\\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\t\t#else\\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\t\t\tmean += depth;\\n\t\t\tsquared_mean += depth * depth;\\n\t\t#endif\\n\t}\\n\tmean = mean / samples;\\n\tsquared_mean = squared_mean / samples;\\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";\nfunction WebGLShadowMap(renderer, objects, capabilities) {\n  let _frustum2 = new Frustum();\n  const _shadowMapSize = new Vector2(), _viewportSize = new Vector2(), _viewport = new Vector4(), _depthMaterial = new MeshDepthMaterial({ depthPacking: RGBADepthPacking }), _distanceMaterial = new MeshDistanceMaterial(), _materialCache = {}, _maxTextureSize = capabilities.maxTextureSize;\n  const shadowSide = { [FrontSide]: BackSide, [BackSide]: FrontSide, [DoubleSide]: DoubleSide };\n  const shadowMaterialVertical = new ShaderMaterial({\n    defines: {\n      VSM_SAMPLES: 8\n    },\n    uniforms: {\n      shadow_pass: { value: null },\n      resolution: { value: new Vector2() },\n      radius: { value: 4 }\n    },\n    vertexShader: vertex,\n    fragmentShader: fragment\n  });\n  const shadowMaterialHorizontal = shadowMaterialVertical.clone();\n  shadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1;\n  const fullScreenTri = new BufferGeometry();\n  fullScreenTri.setAttribute(\n    \"position\",\n    new BufferAttribute(\n      new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]),\n      3\n    )\n  );\n  const fullScreenMesh = new Mesh(fullScreenTri, shadowMaterialVertical);\n  const scope = this;\n  this.enabled = false;\n  this.autoUpdate = true;\n  this.needsUpdate = false;\n  this.type = PCFShadowMap;\n  let _previousType = this.type;\n  this.render = function(lights, scene, camera) {\n    if (scope.enabled === false) return;\n    if (scope.autoUpdate === false && scope.needsUpdate === false) return;\n    if (lights.length === 0) return;\n    const currentRenderTarget = renderer.getRenderTarget();\n    const activeCubeFace = renderer.getActiveCubeFace();\n    const activeMipmapLevel = renderer.getActiveMipmapLevel();\n    const _state = renderer.state;\n    _state.setBlending(NoBlending);\n    _state.buffers.color.setClear(1, 1, 1, 1);\n    _state.buffers.depth.setTest(true);\n    _state.setScissorTest(false);\n    const toVSM = _previousType !== VSMShadowMap && this.type === VSMShadowMap;\n    const fromVSM = _previousType === VSMShadowMap && this.type !== VSMShadowMap;\n    for (let i = 0, il = lights.length; i < il; i++) {\n      const light = lights[i];\n      const shadow = light.shadow;\n      if (shadow === void 0) {\n        console.warn(\"THREE.WebGLShadowMap:\", light, \"has no shadow.\");\n        continue;\n      }\n      if (shadow.autoUpdate === false && shadow.needsUpdate === false) continue;\n      _shadowMapSize.copy(shadow.mapSize);\n      const shadowFrameExtents = shadow.getFrameExtents();\n      _shadowMapSize.multiply(shadowFrameExtents);\n      _viewportSize.copy(shadow.mapSize);\n      if (_shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize) {\n        if (_shadowMapSize.x > _maxTextureSize) {\n          _viewportSize.x = Math.floor(_maxTextureSize / shadowFrameExtents.x);\n          _shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x;\n          shadow.mapSize.x = _viewportSize.x;\n        }\n        if (_shadowMapSize.y > _maxTextureSize) {\n          _viewportSize.y = Math.floor(_maxTextureSize / shadowFrameExtents.y);\n          _shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y;\n          shadow.mapSize.y = _viewportSize.y;\n        }\n      }\n      if (shadow.map === null || toVSM === true || fromVSM === true) {\n        const pars = this.type !== VSMShadowMap ? { minFilter: NearestFilter, magFilter: NearestFilter } : {};\n        if (shadow.map !== null) {\n          shadow.map.dispose();\n        }\n        shadow.map = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars);\n        shadow.map.texture.name = light.name + \".shadowMap\";\n        shadow.camera.updateProjectionMatrix();\n      }\n      renderer.setRenderTarget(shadow.map);\n      renderer.clear();\n      const viewportCount = shadow.getViewportCount();\n      for (let vp = 0; vp < viewportCount; vp++) {\n        const viewport = shadow.getViewport(vp);\n        _viewport.set(\n          _viewportSize.x * viewport.x,\n          _viewportSize.y * viewport.y,\n          _viewportSize.x * viewport.z,\n          _viewportSize.y * viewport.w\n        );\n        _state.viewport(_viewport);\n        shadow.updateMatrices(light, vp);\n        _frustum2 = shadow.getFrustum();\n        renderObject(scene, camera, shadow.camera, light, this.type);\n      }\n      if (shadow.isPointLightShadow !== true && this.type === VSMShadowMap) {\n        VSMPass(shadow, camera);\n      }\n      shadow.needsUpdate = false;\n    }\n    _previousType = this.type;\n    scope.needsUpdate = false;\n    renderer.setRenderTarget(currentRenderTarget, activeCubeFace, activeMipmapLevel);\n  };\n  function VSMPass(shadow, camera) {\n    const geometry = objects.update(fullScreenMesh);\n    if (shadowMaterialVertical.defines.VSM_SAMPLES !== shadow.blurSamples) {\n      shadowMaterialVertical.defines.VSM_SAMPLES = shadow.blurSamples;\n      shadowMaterialHorizontal.defines.VSM_SAMPLES = shadow.blurSamples;\n      shadowMaterialVertical.needsUpdate = true;\n      shadowMaterialHorizontal.needsUpdate = true;\n    }\n    if (shadow.mapPass === null) {\n      shadow.mapPass = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y);\n    }\n    shadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture;\n    shadowMaterialVertical.uniforms.resolution.value = shadow.mapSize;\n    shadowMaterialVertical.uniforms.radius.value = shadow.radius;\n    renderer.setRenderTarget(shadow.mapPass);\n    renderer.clear();\n    renderer.renderBufferDirect(camera, null, geometry, shadowMaterialVertical, fullScreenMesh, null);\n    shadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture;\n    shadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize;\n    shadowMaterialHorizontal.uniforms.radius.value = shadow.radius;\n    renderer.setRenderTarget(shadow.map);\n    renderer.clear();\n    renderer.renderBufferDirect(camera, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null);\n  }\n  function getDepthMaterial(object, material, light, type) {\n    let result = null;\n    const customMaterial = light.isPointLight === true ? object.customDistanceMaterial : object.customDepthMaterial;\n    if (customMaterial !== void 0) {\n      result = customMaterial;\n    } else {\n      result = light.isPointLight === true ? _distanceMaterial : _depthMaterial;\n      if (renderer.localClippingEnabled && material.clipShadows === true && Array.isArray(material.clippingPlanes) && material.clippingPlanes.length !== 0 || material.displacementMap && material.displacementScale !== 0 || material.alphaMap && material.alphaTest > 0 || material.map && material.alphaTest > 0) {\n        const keyA = result.uuid, keyB = material.uuid;\n        let materialsForVariant = _materialCache[keyA];\n        if (materialsForVariant === void 0) {\n          materialsForVariant = {};\n          _materialCache[keyA] = materialsForVariant;\n        }\n        let cachedMaterial = materialsForVariant[keyB];\n        if (cachedMaterial === void 0) {\n          cachedMaterial = result.clone();\n          materialsForVariant[keyB] = cachedMaterial;\n          material.addEventListener(\"dispose\", onMaterialDispose);\n        }\n        result = cachedMaterial;\n      }\n    }\n    result.visible = material.visible;\n    result.wireframe = material.wireframe;\n    if (type === VSMShadowMap) {\n      result.side = material.shadowSide !== null ? material.shadowSide : material.side;\n    } else {\n      result.side = material.shadowSide !== null ? material.shadowSide : shadowSide[material.side];\n    }\n    result.alphaMap = material.alphaMap;\n    result.alphaTest = material.alphaTest;\n    result.map = material.map;\n    result.clipShadows = material.clipShadows;\n    result.clippingPlanes = material.clippingPlanes;\n    result.clipIntersection = material.clipIntersection;\n    result.displacementMap = material.displacementMap;\n    result.displacementScale = material.displacementScale;\n    result.displacementBias = material.displacementBias;\n    result.wireframeLinewidth = material.wireframeLinewidth;\n    result.linewidth = material.linewidth;\n    if (light.isPointLight === true && result.isMeshDistanceMaterial === true) {\n      const materialProperties = renderer.properties.get(result);\n      materialProperties.light = light;\n    }\n    return result;\n  }\n  function renderObject(object, camera, shadowCamera, light, type) {\n    if (object.visible === false) return;\n    const visible = object.layers.test(camera.layers);\n    if (visible && (object.isMesh || object.isLine || object.isPoints)) {\n      if ((object.castShadow || object.receiveShadow && type === VSMShadowMap) && (!object.frustumCulled || _frustum2.intersectsObject(object))) {\n        object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse, object.matrixWorld);\n        const geometry = objects.update(object);\n        const material = object.material;\n        if (Array.isArray(material)) {\n          const groups = geometry.groups;\n          for (let k = 0, kl = groups.length; k < kl; k++) {\n            const group = groups[k];\n            const groupMaterial = material[group.materialIndex];\n            if (groupMaterial && groupMaterial.visible) {\n              const depthMaterial = getDepthMaterial(object, groupMaterial, light, type);\n              object.onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, group);\n              renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, group);\n              object.onAfterShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, group);\n            }\n          }\n        } else if (material.visible) {\n          const depthMaterial = getDepthMaterial(object, material, light, type);\n          object.onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, null);\n          renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, null);\n          object.onAfterShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial, null);\n        }\n      }\n    }\n    const children = object.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      renderObject(children[i], camera, shadowCamera, light, type);\n    }\n  }\n  function onMaterialDispose(event) {\n    const material = event.target;\n    material.removeEventListener(\"dispose\", onMaterialDispose);\n    for (const id in _materialCache) {\n      const cache = _materialCache[id];\n      const uuid = event.target.uuid;\n      if (uuid in cache) {\n        const shadowMaterial = cache[uuid];\n        shadowMaterial.dispose();\n        delete cache[uuid];\n      }\n    }\n  }\n}\nvar reversedFuncs = {\n  [NeverDepth]: AlwaysDepth,\n  [LessDepth]: GreaterDepth,\n  [EqualDepth]: NotEqualDepth,\n  [LessEqualDepth]: GreaterEqualDepth,\n  [AlwaysDepth]: NeverDepth,\n  [GreaterDepth]: LessDepth,\n  [NotEqualDepth]: EqualDepth,\n  [GreaterEqualDepth]: LessEqualDepth\n};\nfunction WebGLState(gl) {\n  function ColorBuffer() {\n    let locked = false;\n    const color = new Vector4();\n    let currentColorMask = null;\n    const currentColorClear = new Vector4(0, 0, 0, 0);\n    return {\n      setMask: function(colorMask) {\n        if (currentColorMask !== colorMask && !locked) {\n          gl.colorMask(colorMask, colorMask, colorMask, colorMask);\n          currentColorMask = colorMask;\n        }\n      },\n      setLocked: function(lock) {\n        locked = lock;\n      },\n      setClear: function(r, g, b, a, premultipliedAlpha) {\n        if (premultipliedAlpha === true) {\n          r *= a;\n          g *= a;\n          b *= a;\n        }\n        color.set(r, g, b, a);\n        if (currentColorClear.equals(color) === false) {\n          gl.clearColor(r, g, b, a);\n          currentColorClear.copy(color);\n        }\n      },\n      reset: function() {\n        locked = false;\n        currentColorMask = null;\n        currentColorClear.set(-1, 0, 0, 0);\n      }\n    };\n  }\n  function DepthBuffer() {\n    let locked = false;\n    let reversed = false;\n    let currentDepthMask = null;\n    let currentDepthFunc = null;\n    let currentDepthClear = null;\n    return {\n      setReversed: function(value) {\n        reversed = value;\n      },\n      setTest: function(depthTest) {\n        if (depthTest) {\n          enable(gl.DEPTH_TEST);\n        } else {\n          disable(gl.DEPTH_TEST);\n        }\n      },\n      setMask: function(depthMask) {\n        if (currentDepthMask !== depthMask && !locked) {\n          gl.depthMask(depthMask);\n          currentDepthMask = depthMask;\n        }\n      },\n      setFunc: function(depthFunc) {\n        if (reversed) depthFunc = reversedFuncs[depthFunc];\n        if (currentDepthFunc !== depthFunc) {\n          switch (depthFunc) {\n            case NeverDepth:\n              gl.depthFunc(gl.NEVER);\n              break;\n            case AlwaysDepth:\n              gl.depthFunc(gl.ALWAYS);\n              break;\n            case LessDepth:\n              gl.depthFunc(gl.LESS);\n              break;\n            case LessEqualDepth:\n              gl.depthFunc(gl.LEQUAL);\n              break;\n            case EqualDepth:\n              gl.depthFunc(gl.EQUAL);\n              break;\n            case GreaterEqualDepth:\n              gl.depthFunc(gl.GEQUAL);\n              break;\n            case GreaterDepth:\n              gl.depthFunc(gl.GREATER);\n              break;\n            case NotEqualDepth:\n              gl.depthFunc(gl.NOTEQUAL);\n              break;\n            default:\n              gl.depthFunc(gl.LEQUAL);\n          }\n          currentDepthFunc = depthFunc;\n        }\n      },\n      setLocked: function(lock) {\n        locked = lock;\n      },\n      setClear: function(depth) {\n        if (currentDepthClear !== depth) {\n          gl.clearDepth(depth);\n          currentDepthClear = depth;\n        }\n      },\n      reset: function() {\n        locked = false;\n        currentDepthMask = null;\n        currentDepthFunc = null;\n        currentDepthClear = null;\n      }\n    };\n  }\n  function StencilBuffer() {\n    let locked = false;\n    let currentStencilMask = null;\n    let currentStencilFunc = null;\n    let currentStencilRef = null;\n    let currentStencilFuncMask = null;\n    let currentStencilFail = null;\n    let currentStencilZFail = null;\n    let currentStencilZPass = null;\n    let currentStencilClear = null;\n    return {\n      setTest: function(stencilTest) {\n        if (!locked) {\n          if (stencilTest) {\n            enable(gl.STENCIL_TEST);\n          } else {\n            disable(gl.STENCIL_TEST);\n          }\n        }\n      },\n      setMask: function(stencilMask) {\n        if (currentStencilMask !== stencilMask && !locked) {\n          gl.stencilMask(stencilMask);\n          currentStencilMask = stencilMask;\n        }\n      },\n      setFunc: function(stencilFunc, stencilRef, stencilMask) {\n        if (currentStencilFunc !== stencilFunc || currentStencilRef !== stencilRef || currentStencilFuncMask !== stencilMask) {\n          gl.stencilFunc(stencilFunc, stencilRef, stencilMask);\n          currentStencilFunc = stencilFunc;\n          currentStencilRef = stencilRef;\n          currentStencilFuncMask = stencilMask;\n        }\n      },\n      setOp: function(stencilFail, stencilZFail, stencilZPass) {\n        if (currentStencilFail !== stencilFail || currentStencilZFail !== stencilZFail || currentStencilZPass !== stencilZPass) {\n          gl.stencilOp(stencilFail, stencilZFail, stencilZPass);\n          currentStencilFail = stencilFail;\n          currentStencilZFail = stencilZFail;\n          currentStencilZPass = stencilZPass;\n        }\n      },\n      setLocked: function(lock) {\n        locked = lock;\n      },\n      setClear: function(stencil) {\n        if (currentStencilClear !== stencil) {\n          gl.clearStencil(stencil);\n          currentStencilClear = stencil;\n        }\n      },\n      reset: function() {\n        locked = false;\n        currentStencilMask = null;\n        currentStencilFunc = null;\n        currentStencilRef = null;\n        currentStencilFuncMask = null;\n        currentStencilFail = null;\n        currentStencilZFail = null;\n        currentStencilZPass = null;\n        currentStencilClear = null;\n      }\n    };\n  }\n  const colorBuffer = new ColorBuffer();\n  const depthBuffer = new DepthBuffer();\n  const stencilBuffer = new StencilBuffer();\n  const uboBindings = /* @__PURE__ */ new WeakMap();\n  const uboProgramMap = /* @__PURE__ */ new WeakMap();\n  let enabledCapabilities = {};\n  let currentBoundFramebuffers = {};\n  let currentDrawbuffers = /* @__PURE__ */ new WeakMap();\n  let defaultDrawbuffers = [];\n  let currentProgram = null;\n  let currentBlendingEnabled = false;\n  let currentBlending = null;\n  let currentBlendEquation = null;\n  let currentBlendSrc = null;\n  let currentBlendDst = null;\n  let currentBlendEquationAlpha = null;\n  let currentBlendSrcAlpha = null;\n  let currentBlendDstAlpha = null;\n  let currentBlendColor = new Color(0, 0, 0);\n  let currentBlendAlpha = 0;\n  let currentPremultipledAlpha = false;\n  let currentFlipSided = null;\n  let currentCullFace = null;\n  let currentLineWidth = null;\n  let currentPolygonOffsetFactor = null;\n  let currentPolygonOffsetUnits = null;\n  const maxTextures = gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);\n  let lineWidthAvailable = false;\n  let version = 0;\n  const glVersion = gl.getParameter(gl.VERSION);\n  if (glVersion.indexOf(\"WebGL\") !== -1) {\n    version = parseFloat(/^WebGL (\\d)/.exec(glVersion)[1]);\n    lineWidthAvailable = version >= 1;\n  } else if (glVersion.indexOf(\"OpenGL ES\") !== -1) {\n    version = parseFloat(/^OpenGL ES (\\d)/.exec(glVersion)[1]);\n    lineWidthAvailable = version >= 2;\n  }\n  let currentTextureSlot = null;\n  let currentBoundTextures = {};\n  const scissorParam = gl.getParameter(gl.SCISSOR_BOX);\n  const viewportParam = gl.getParameter(gl.VIEWPORT);\n  const currentScissor = new Vector4().fromArray(scissorParam);\n  const currentViewport = new Vector4().fromArray(viewportParam);\n  function createTexture(type, target, count, dimensions) {\n    const data = new Uint8Array(4);\n    const texture = gl.createTexture();\n    gl.bindTexture(type, texture);\n    gl.texParameteri(type, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(type, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n    for (let i = 0; i < count; i++) {\n      if (type === gl.TEXTURE_3D || type === gl.TEXTURE_2D_ARRAY) {\n        gl.texImage3D(target, 0, gl.RGBA, 1, 1, dimensions, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);\n      } else {\n        gl.texImage2D(target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);\n      }\n    }\n    return texture;\n  }\n  const emptyTextures = {};\n  emptyTextures[gl.TEXTURE_2D] = createTexture(gl.TEXTURE_2D, gl.TEXTURE_2D, 1);\n  emptyTextures[gl.TEXTURE_CUBE_MAP] = createTexture(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_CUBE_MAP_POSITIVE_X, 6);\n  emptyTextures[gl.TEXTURE_2D_ARRAY] = createTexture(gl.TEXTURE_2D_ARRAY, gl.TEXTURE_2D_ARRAY, 1, 1);\n  emptyTextures[gl.TEXTURE_3D] = createTexture(gl.TEXTURE_3D, gl.TEXTURE_3D, 1, 1);\n  colorBuffer.setClear(0, 0, 0, 1);\n  depthBuffer.setClear(1);\n  stencilBuffer.setClear(0);\n  enable(gl.DEPTH_TEST);\n  depthBuffer.setFunc(LessEqualDepth);\n  setFlipSided(false);\n  setCullFace(CullFaceBack);\n  enable(gl.CULL_FACE);\n  setBlending(NoBlending);\n  function enable(id) {\n    if (enabledCapabilities[id] !== true) {\n      gl.enable(id);\n      enabledCapabilities[id] = true;\n    }\n  }\n  function disable(id) {\n    if (enabledCapabilities[id] !== false) {\n      gl.disable(id);\n      enabledCapabilities[id] = false;\n    }\n  }\n  function bindFramebuffer(target, framebuffer) {\n    if (currentBoundFramebuffers[target] !== framebuffer) {\n      gl.bindFramebuffer(target, framebuffer);\n      currentBoundFramebuffers[target] = framebuffer;\n      if (target === gl.DRAW_FRAMEBUFFER) {\n        currentBoundFramebuffers[gl.FRAMEBUFFER] = framebuffer;\n      }\n      if (target === gl.FRAMEBUFFER) {\n        currentBoundFramebuffers[gl.DRAW_FRAMEBUFFER] = framebuffer;\n      }\n      return true;\n    }\n    return false;\n  }\n  function drawBuffers(renderTarget, framebuffer) {\n    let drawBuffers2 = defaultDrawbuffers;\n    let needsUpdate = false;\n    if (renderTarget) {\n      drawBuffers2 = currentDrawbuffers.get(framebuffer);\n      if (drawBuffers2 === void 0) {\n        drawBuffers2 = [];\n        currentDrawbuffers.set(framebuffer, drawBuffers2);\n      }\n      const textures = renderTarget.textures;\n      if (drawBuffers2.length !== textures.length || drawBuffers2[0] !== gl.COLOR_ATTACHMENT0) {\n        for (let i = 0, il = textures.length; i < il; i++) {\n          drawBuffers2[i] = gl.COLOR_ATTACHMENT0 + i;\n        }\n        drawBuffers2.length = textures.length;\n        needsUpdate = true;\n      }\n    } else {\n      if (drawBuffers2[0] !== gl.BACK) {\n        drawBuffers2[0] = gl.BACK;\n        needsUpdate = true;\n      }\n    }\n    if (needsUpdate) {\n      gl.drawBuffers(drawBuffers2);\n    }\n  }\n  function useProgram(program) {\n    if (currentProgram !== program) {\n      gl.useProgram(program);\n      currentProgram = program;\n      return true;\n    }\n    return false;\n  }\n  const equationToGL = {\n    [AddEquation]: gl.FUNC_ADD,\n    [SubtractEquation]: gl.FUNC_SUBTRACT,\n    [ReverseSubtractEquation]: gl.FUNC_REVERSE_SUBTRACT\n  };\n  equationToGL[MinEquation] = gl.MIN;\n  equationToGL[MaxEquation] = gl.MAX;\n  const factorToGL = {\n    [ZeroFactor]: gl.ZERO,\n    [OneFactor]: gl.ONE,\n    [SrcColorFactor]: gl.SRC_COLOR,\n    [SrcAlphaFactor]: gl.SRC_ALPHA,\n    [SrcAlphaSaturateFactor]: gl.SRC_ALPHA_SATURATE,\n    [DstColorFactor]: gl.DST_COLOR,\n    [DstAlphaFactor]: gl.DST_ALPHA,\n    [OneMinusSrcColorFactor]: gl.ONE_MINUS_SRC_COLOR,\n    [OneMinusSrcAlphaFactor]: gl.ONE_MINUS_SRC_ALPHA,\n    [OneMinusDstColorFactor]: gl.ONE_MINUS_DST_COLOR,\n    [OneMinusDstAlphaFactor]: gl.ONE_MINUS_DST_ALPHA,\n    [ConstantColorFactor]: gl.CONSTANT_COLOR,\n    [OneMinusConstantColorFactor]: gl.ONE_MINUS_CONSTANT_COLOR,\n    [ConstantAlphaFactor]: gl.CONSTANT_ALPHA,\n    [OneMinusConstantAlphaFactor]: gl.ONE_MINUS_CONSTANT_ALPHA\n  };\n  function setBlending(blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, blendColor, blendAlpha, premultipliedAlpha) {\n    if (blending === NoBlending) {\n      if (currentBlendingEnabled === true) {\n        disable(gl.BLEND);\n        currentBlendingEnabled = false;\n      }\n      return;\n    }\n    if (currentBlendingEnabled === false) {\n      enable(gl.BLEND);\n      currentBlendingEnabled = true;\n    }\n    if (blending !== CustomBlending) {\n      if (blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha) {\n        if (currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation) {\n          gl.blendEquation(gl.FUNC_ADD);\n          currentBlendEquation = AddEquation;\n          currentBlendEquationAlpha = AddEquation;\n        }\n        if (premultipliedAlpha) {\n          switch (blending) {\n            case NormalBlending:\n              gl.blendFuncSeparate(gl.ONE, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n              break;\n            case AdditiveBlending:\n              gl.blendFunc(gl.ONE, gl.ONE);\n              break;\n            case SubtractiveBlending:\n              gl.blendFuncSeparate(gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ZERO, gl.ONE);\n              break;\n            case MultiplyBlending:\n              gl.blendFuncSeparate(gl.ZERO, gl.SRC_COLOR, gl.ZERO, gl.SRC_ALPHA);\n              break;\n            default:\n              console.error(\"THREE.WebGLState: Invalid blending: \", blending);\n              break;\n          }\n        } else {\n          switch (blending) {\n            case NormalBlending:\n              gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n              break;\n            case AdditiveBlending:\n              gl.blendFunc(gl.SRC_ALPHA, gl.ONE);\n              break;\n            case SubtractiveBlending:\n              gl.blendFuncSeparate(gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ZERO, gl.ONE);\n              break;\n            case MultiplyBlending:\n              gl.blendFunc(gl.ZERO, gl.SRC_COLOR);\n              break;\n            default:\n              console.error(\"THREE.WebGLState: Invalid blending: \", blending);\n              break;\n          }\n        }\n        currentBlendSrc = null;\n        currentBlendDst = null;\n        currentBlendSrcAlpha = null;\n        currentBlendDstAlpha = null;\n        currentBlendColor.set(0, 0, 0);\n        currentBlendAlpha = 0;\n        currentBlending = blending;\n        currentPremultipledAlpha = premultipliedAlpha;\n      }\n      return;\n    }\n    blendEquationAlpha = blendEquationAlpha || blendEquation;\n    blendSrcAlpha = blendSrcAlpha || blendSrc;\n    blendDstAlpha = blendDstAlpha || blendDst;\n    if (blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha) {\n      gl.blendEquationSeparate(equationToGL[blendEquation], equationToGL[blendEquationAlpha]);\n      currentBlendEquation = blendEquation;\n      currentBlendEquationAlpha = blendEquationAlpha;\n    }\n    if (blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha) {\n      gl.blendFuncSeparate(factorToGL[blendSrc], factorToGL[blendDst], factorToGL[blendSrcAlpha], factorToGL[blendDstAlpha]);\n      currentBlendSrc = blendSrc;\n      currentBlendDst = blendDst;\n      currentBlendSrcAlpha = blendSrcAlpha;\n      currentBlendDstAlpha = blendDstAlpha;\n    }\n    if (blendColor.equals(currentBlendColor) === false || blendAlpha !== currentBlendAlpha) {\n      gl.blendColor(blendColor.r, blendColor.g, blendColor.b, blendAlpha);\n      currentBlendColor.copy(blendColor);\n      currentBlendAlpha = blendAlpha;\n    }\n    currentBlending = blending;\n    currentPremultipledAlpha = false;\n  }\n  function setMaterial(material, frontFaceCW) {\n    material.side === DoubleSide ? disable(gl.CULL_FACE) : enable(gl.CULL_FACE);\n    let flipSided = material.side === BackSide;\n    if (frontFaceCW) flipSided = !flipSided;\n    setFlipSided(flipSided);\n    material.blending === NormalBlending && material.transparent === false ? setBlending(NoBlending) : setBlending(material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.blendColor, material.blendAlpha, material.premultipliedAlpha);\n    depthBuffer.setFunc(material.depthFunc);\n    depthBuffer.setTest(material.depthTest);\n    depthBuffer.setMask(material.depthWrite);\n    colorBuffer.setMask(material.colorWrite);\n    const stencilWrite = material.stencilWrite;\n    stencilBuffer.setTest(stencilWrite);\n    if (stencilWrite) {\n      stencilBuffer.setMask(material.stencilWriteMask);\n      stencilBuffer.setFunc(material.stencilFunc, material.stencilRef, material.stencilFuncMask);\n      stencilBuffer.setOp(material.stencilFail, material.stencilZFail, material.stencilZPass);\n    }\n    setPolygonOffset(material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits);\n    material.alphaToCoverage === true ? enable(gl.SAMPLE_ALPHA_TO_COVERAGE) : disable(gl.SAMPLE_ALPHA_TO_COVERAGE);\n  }\n  function setFlipSided(flipSided) {\n    if (currentFlipSided !== flipSided) {\n      if (flipSided) {\n        gl.frontFace(gl.CW);\n      } else {\n        gl.frontFace(gl.CCW);\n      }\n      currentFlipSided = flipSided;\n    }\n  }\n  function setCullFace(cullFace) {\n    if (cullFace !== CullFaceNone) {\n      enable(gl.CULL_FACE);\n      if (cullFace !== currentCullFace) {\n        if (cullFace === CullFaceBack) {\n          gl.cullFace(gl.BACK);\n        } else if (cullFace === CullFaceFront) {\n          gl.cullFace(gl.FRONT);\n        } else {\n          gl.cullFace(gl.FRONT_AND_BACK);\n        }\n      }\n    } else {\n      disable(gl.CULL_FACE);\n    }\n    currentCullFace = cullFace;\n  }\n  function setLineWidth(width) {\n    if (width !== currentLineWidth) {\n      if (lineWidthAvailable) gl.lineWidth(width);\n      currentLineWidth = width;\n    }\n  }\n  function setPolygonOffset(polygonOffset, factor, units) {\n    if (polygonOffset) {\n      enable(gl.POLYGON_OFFSET_FILL);\n      if (currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units) {\n        gl.polygonOffset(factor, units);\n        currentPolygonOffsetFactor = factor;\n        currentPolygonOffsetUnits = units;\n      }\n    } else {\n      disable(gl.POLYGON_OFFSET_FILL);\n    }\n  }\n  function setScissorTest(scissorTest) {\n    if (scissorTest) {\n      enable(gl.SCISSOR_TEST);\n    } else {\n      disable(gl.SCISSOR_TEST);\n    }\n  }\n  function activeTexture(webglSlot) {\n    if (webglSlot === void 0) webglSlot = gl.TEXTURE0 + maxTextures - 1;\n    if (currentTextureSlot !== webglSlot) {\n      gl.activeTexture(webglSlot);\n      currentTextureSlot = webglSlot;\n    }\n  }\n  function bindTexture(webglType, webglTexture, webglSlot) {\n    if (webglSlot === void 0) {\n      if (currentTextureSlot === null) {\n        webglSlot = gl.TEXTURE0 + maxTextures - 1;\n      } else {\n        webglSlot = currentTextureSlot;\n      }\n    }\n    let boundTexture = currentBoundTextures[webglSlot];\n    if (boundTexture === void 0) {\n      boundTexture = { type: void 0, texture: void 0 };\n      currentBoundTextures[webglSlot] = boundTexture;\n    }\n    if (boundTexture.type !== webglType || boundTexture.texture !== webglTexture) {\n      if (currentTextureSlot !== webglSlot) {\n        gl.activeTexture(webglSlot);\n        currentTextureSlot = webglSlot;\n      }\n      gl.bindTexture(webglType, webglTexture || emptyTextures[webglType]);\n      boundTexture.type = webglType;\n      boundTexture.texture = webglTexture;\n    }\n  }\n  function unbindTexture() {\n    const boundTexture = currentBoundTextures[currentTextureSlot];\n    if (boundTexture !== void 0 && boundTexture.type !== void 0) {\n      gl.bindTexture(boundTexture.type, null);\n      boundTexture.type = void 0;\n      boundTexture.texture = void 0;\n    }\n  }\n  function compressedTexImage2D() {\n    try {\n      gl.compressedTexImage2D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function compressedTexImage3D() {\n    try {\n      gl.compressedTexImage3D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texSubImage2D() {\n    try {\n      gl.texSubImage2D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texSubImage3D() {\n    try {\n      gl.texSubImage3D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function compressedTexSubImage2D() {\n    try {\n      gl.compressedTexSubImage2D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function compressedTexSubImage3D() {\n    try {\n      gl.compressedTexSubImage3D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texStorage2D() {\n    try {\n      gl.texStorage2D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texStorage3D() {\n    try {\n      gl.texStorage3D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texImage2D() {\n    try {\n      gl.texImage2D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function texImage3D() {\n    try {\n      gl.texImage3D.apply(gl, arguments);\n    } catch (error) {\n      console.error(\"THREE.WebGLState:\", error);\n    }\n  }\n  function scissor(scissor2) {\n    if (currentScissor.equals(scissor2) === false) {\n      gl.scissor(scissor2.x, scissor2.y, scissor2.z, scissor2.w);\n      currentScissor.copy(scissor2);\n    }\n  }\n  function viewport(viewport2) {\n    if (currentViewport.equals(viewport2) === false) {\n      gl.viewport(viewport2.x, viewport2.y, viewport2.z, viewport2.w);\n      currentViewport.copy(viewport2);\n    }\n  }\n  function updateUBOMapping(uniformsGroup, program) {\n    let mapping = uboProgramMap.get(program);\n    if (mapping === void 0) {\n      mapping = /* @__PURE__ */ new WeakMap();\n      uboProgramMap.set(program, mapping);\n    }\n    let blockIndex = mapping.get(uniformsGroup);\n    if (blockIndex === void 0) {\n      blockIndex = gl.getUniformBlockIndex(program, uniformsGroup.name);\n      mapping.set(uniformsGroup, blockIndex);\n    }\n  }\n  function uniformBlockBinding(uniformsGroup, program) {\n    const mapping = uboProgramMap.get(program);\n    const blockIndex = mapping.get(uniformsGroup);\n    if (uboBindings.get(program) !== blockIndex) {\n      gl.uniformBlockBinding(program, blockIndex, uniformsGroup.__bindingPointIndex);\n      uboBindings.set(program, blockIndex);\n    }\n  }\n  function reset() {\n    gl.disable(gl.BLEND);\n    gl.disable(gl.CULL_FACE);\n    gl.disable(gl.DEPTH_TEST);\n    gl.disable(gl.POLYGON_OFFSET_FILL);\n    gl.disable(gl.SCISSOR_TEST);\n    gl.disable(gl.STENCIL_TEST);\n    gl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE);\n    gl.blendEquation(gl.FUNC_ADD);\n    gl.blendFunc(gl.ONE, gl.ZERO);\n    gl.blendFuncSeparate(gl.ONE, gl.ZERO, gl.ONE, gl.ZERO);\n    gl.blendColor(0, 0, 0, 0);\n    gl.colorMask(true, true, true, true);\n    gl.clearColor(0, 0, 0, 0);\n    gl.depthMask(true);\n    gl.depthFunc(gl.LESS);\n    gl.clearDepth(1);\n    gl.stencilMask(4294967295);\n    gl.stencilFunc(gl.ALWAYS, 0, 4294967295);\n    gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);\n    gl.clearStencil(0);\n    gl.cullFace(gl.BACK);\n    gl.frontFace(gl.CCW);\n    gl.polygonOffset(0, 0);\n    gl.activeTexture(gl.TEXTURE0);\n    gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n    gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null);\n    gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null);\n    gl.useProgram(null);\n    gl.lineWidth(1);\n    gl.scissor(0, 0, gl.canvas.width, gl.canvas.height);\n    gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);\n    enabledCapabilities = {};\n    currentTextureSlot = null;\n    currentBoundTextures = {};\n    currentBoundFramebuffers = {};\n    currentDrawbuffers = /* @__PURE__ */ new WeakMap();\n    defaultDrawbuffers = [];\n    currentProgram = null;\n    currentBlendingEnabled = false;\n    currentBlending = null;\n    currentBlendEquation = null;\n    currentBlendSrc = null;\n    currentBlendDst = null;\n    currentBlendEquationAlpha = null;\n    currentBlendSrcAlpha = null;\n    currentBlendDstAlpha = null;\n    currentBlendColor = new Color(0, 0, 0);\n    currentBlendAlpha = 0;\n    currentPremultipledAlpha = false;\n    currentFlipSided = null;\n    currentCullFace = null;\n    currentLineWidth = null;\n    currentPolygonOffsetFactor = null;\n    currentPolygonOffsetUnits = null;\n    currentScissor.set(0, 0, gl.canvas.width, gl.canvas.height);\n    currentViewport.set(0, 0, gl.canvas.width, gl.canvas.height);\n    colorBuffer.reset();\n    depthBuffer.reset();\n    stencilBuffer.reset();\n  }\n  return {\n    buffers: {\n      color: colorBuffer,\n      depth: depthBuffer,\n      stencil: stencilBuffer\n    },\n    enable,\n    disable,\n    bindFramebuffer,\n    drawBuffers,\n    useProgram,\n    setBlending,\n    setMaterial,\n    setFlipSided,\n    setCullFace,\n    setLineWidth,\n    setPolygonOffset,\n    setScissorTest,\n    activeTexture,\n    bindTexture,\n    unbindTexture,\n    compressedTexImage2D,\n    compressedTexImage3D,\n    texImage2D,\n    texImage3D,\n    updateUBOMapping,\n    uniformBlockBinding,\n    texStorage2D,\n    texStorage3D,\n    texSubImage2D,\n    texSubImage3D,\n    compressedTexSubImage2D,\n    compressedTexSubImage3D,\n    scissor,\n    viewport,\n    reset\n  };\n}\nfunction contain(texture, aspect2) {\n  const imageAspect = texture.image && texture.image.width ? texture.image.width / texture.image.height : 1;\n  if (imageAspect > aspect2) {\n    texture.repeat.x = 1;\n    texture.repeat.y = imageAspect / aspect2;\n    texture.offset.x = 0;\n    texture.offset.y = (1 - texture.repeat.y) / 2;\n  } else {\n    texture.repeat.x = aspect2 / imageAspect;\n    texture.repeat.y = 1;\n    texture.offset.x = (1 - texture.repeat.x) / 2;\n    texture.offset.y = 0;\n  }\n  return texture;\n}\nfunction cover(texture, aspect2) {\n  const imageAspect = texture.image && texture.image.width ? texture.image.width / texture.image.height : 1;\n  if (imageAspect > aspect2) {\n    texture.repeat.x = aspect2 / imageAspect;\n    texture.repeat.y = 1;\n    texture.offset.x = (1 - texture.repeat.x) / 2;\n    texture.offset.y = 0;\n  } else {\n    texture.repeat.x = 1;\n    texture.repeat.y = imageAspect / aspect2;\n    texture.offset.x = 0;\n    texture.offset.y = (1 - texture.repeat.y) / 2;\n  }\n  return texture;\n}\nfunction fill(texture) {\n  texture.repeat.x = 1;\n  texture.repeat.y = 1;\n  texture.offset.x = 0;\n  texture.offset.y = 0;\n  return texture;\n}\nfunction getByteLength(width, height, format, type) {\n  const typeByteLength = getTextureTypeByteLength(type);\n  switch (format) {\n    // https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glTexImage2D.xhtml\n    case AlphaFormat:\n      return width * height;\n    case LuminanceFormat:\n      return width * height;\n    case LuminanceAlphaFormat:\n      return width * height * 2;\n    case RedFormat:\n      return width * height / typeByteLength.components * typeByteLength.byteLength;\n    case RedIntegerFormat:\n      return width * height / typeByteLength.components * typeByteLength.byteLength;\n    case RGFormat:\n      return width * height * 2 / typeByteLength.components * typeByteLength.byteLength;\n    case RGIntegerFormat:\n      return width * height * 2 / typeByteLength.components * typeByteLength.byteLength;\n    case RGBFormat:\n      return width * height * 3 / typeByteLength.components * typeByteLength.byteLength;\n    case RGBAFormat:\n      return width * height * 4 / typeByteLength.components * typeByteLength.byteLength;\n    case RGBAIntegerFormat:\n      return width * height * 4 / typeByteLength.components * typeByteLength.byteLength;\n    // https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_s3tc_srgb/\n    case RGB_S3TC_DXT1_Format:\n    case RGBA_S3TC_DXT1_Format:\n      return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n    case RGBA_S3TC_DXT3_Format:\n    case RGBA_S3TC_DXT5_Format:\n      return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n    // https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_pvrtc/\n    case RGB_PVRTC_2BPPV1_Format:\n    case RGBA_PVRTC_2BPPV1_Format:\n      return Math.max(width, 16) * Math.max(height, 8) / 4;\n    case RGB_PVRTC_4BPPV1_Format:\n    case RGBA_PVRTC_4BPPV1_Format:\n      return Math.max(width, 8) * Math.max(height, 8) / 2;\n    // https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_etc/\n    case RGB_ETC1_Format:\n    case RGB_ETC2_Format:\n      return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n    case RGBA_ETC2_EAC_Format:\n      return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n    // https://registry.khronos.org/webgl/extensions/WEBGL_compressed_texture_astc/\n    case RGBA_ASTC_4x4_Format:\n      return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n    case RGBA_ASTC_5x4_Format:\n      return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;\n    case RGBA_ASTC_5x5_Format:\n      return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;\n    case RGBA_ASTC_6x5_Format:\n      return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;\n    case RGBA_ASTC_6x6_Format:\n      return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;\n    case RGBA_ASTC_8x5_Format:\n      return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;\n    case RGBA_ASTC_8x6_Format:\n      return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;\n    case RGBA_ASTC_8x8_Format:\n      return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;\n    case RGBA_ASTC_10x5_Format:\n      return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;\n    case RGBA_ASTC_10x6_Format:\n      return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;\n    case RGBA_ASTC_10x8_Format:\n      return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;\n    case RGBA_ASTC_10x10_Format:\n      return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;\n    case RGBA_ASTC_12x10_Format:\n      return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;\n    case RGBA_ASTC_12x12_Format:\n      return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;\n    // https://registry.khronos.org/webgl/extensions/EXT_texture_compression_bptc/\n    case RGBA_BPTC_Format:\n    case RGB_BPTC_SIGNED_Format:\n    case RGB_BPTC_UNSIGNED_Format:\n      return Math.ceil(width / 4) * Math.ceil(height / 4) * 16;\n    // https://registry.khronos.org/webgl/extensions/EXT_texture_compression_rgtc/\n    case RED_RGTC1_Format:\n    case SIGNED_RED_RGTC1_Format:\n      return Math.ceil(width / 4) * Math.ceil(height / 4) * 8;\n    case RED_GREEN_RGTC2_Format:\n    case SIGNED_RED_GREEN_RGTC2_Format:\n      return Math.ceil(width / 4) * Math.ceil(height / 4) * 16;\n  }\n  throw new Error(\n    `Unable to determine texture byte length for ${format} format.`\n  );\n}\nfunction getTextureTypeByteLength(type) {\n  switch (type) {\n    case UnsignedByteType:\n    case ByteType:\n      return { byteLength: 1, components: 1 };\n    case UnsignedShortType:\n    case ShortType:\n    case HalfFloatType:\n      return { byteLength: 2, components: 1 };\n    case UnsignedShort4444Type:\n    case UnsignedShort5551Type:\n      return { byteLength: 2, components: 4 };\n    case UnsignedIntType:\n    case IntType:\n    case FloatType:\n      return { byteLength: 4, components: 1 };\n    case UnsignedInt5999Type:\n      return { byteLength: 4, components: 3 };\n  }\n  throw new Error(`Unknown texture type ${type}.`);\n}\nvar TextureUtils = {\n  contain,\n  cover,\n  fill,\n  getByteLength\n};\nfunction WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info) {\n  const multisampledRTTExt = extensions.has(\"WEBGL_multisampled_render_to_texture\") ? extensions.get(\"WEBGL_multisampled_render_to_texture\") : null;\n  const supportsInvalidateFramebuffer = typeof navigator === \"undefined\" ? false : /OculusBrowser/g.test(navigator.userAgent);\n  const _imageDimensions = new Vector2();\n  const _videoTextures = /* @__PURE__ */ new WeakMap();\n  let _canvas2;\n  const _sources = /* @__PURE__ */ new WeakMap();\n  let useOffscreenCanvas = false;\n  try {\n    useOffscreenCanvas = typeof OffscreenCanvas !== \"undefined\" && new OffscreenCanvas(1, 1).getContext(\"2d\") !== null;\n  } catch (err) {\n  }\n  function createCanvas(width, height) {\n    return useOffscreenCanvas ? (\n      // eslint-disable-next-line compat/compat\n      new OffscreenCanvas(width, height)\n    ) : createElementNS(\"canvas\");\n  }\n  function resizeImage(image, needsNewCanvas, maxSize) {\n    let scale = 1;\n    const dimensions = getDimensions(image);\n    if (dimensions.width > maxSize || dimensions.height > maxSize) {\n      scale = maxSize / Math.max(dimensions.width, dimensions.height);\n    }\n    if (scale < 1) {\n      if (typeof HTMLImageElement !== \"undefined\" && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== \"undefined\" && image instanceof HTMLCanvasElement || typeof ImageBitmap !== \"undefined\" && image instanceof ImageBitmap || typeof VideoFrame !== \"undefined\" && image instanceof VideoFrame) {\n        const width = Math.floor(scale * dimensions.width);\n        const height = Math.floor(scale * dimensions.height);\n        if (_canvas2 === void 0) _canvas2 = createCanvas(width, height);\n        const canvas = needsNewCanvas ? createCanvas(width, height) : _canvas2;\n        canvas.width = width;\n        canvas.height = height;\n        const context = canvas.getContext(\"2d\");\n        context.drawImage(image, 0, 0, width, height);\n        console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\" + dimensions.width + \"x\" + dimensions.height + \") to (\" + width + \"x\" + height + \").\");\n        return canvas;\n      } else {\n        if (\"data\" in image) {\n          console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\" + dimensions.width + \"x\" + dimensions.height + \").\");\n        }\n        return image;\n      }\n    }\n    return image;\n  }\n  function textureNeedsGenerateMipmaps(texture) {\n    return texture.generateMipmaps && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter;\n  }\n  function generateMipmap(target) {\n    _gl.generateMipmap(target);\n  }\n  function getInternalFormat(internalFormatName, glFormat, glType, colorSpace, forceLinearTransfer = false) {\n    if (internalFormatName !== null) {\n      if (_gl[internalFormatName] !== void 0) return _gl[internalFormatName];\n      console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\" + internalFormatName + \"'\");\n    }\n    let internalFormat = glFormat;\n    if (glFormat === _gl.RED) {\n      if (glType === _gl.FLOAT) internalFormat = _gl.R32F;\n      if (glType === _gl.HALF_FLOAT) internalFormat = _gl.R16F;\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.R8;\n    }\n    if (glFormat === _gl.RED_INTEGER) {\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.R8UI;\n      if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.R16UI;\n      if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.R32UI;\n      if (glType === _gl.BYTE) internalFormat = _gl.R8I;\n      if (glType === _gl.SHORT) internalFormat = _gl.R16I;\n      if (glType === _gl.INT) internalFormat = _gl.R32I;\n    }\n    if (glFormat === _gl.RG) {\n      if (glType === _gl.FLOAT) internalFormat = _gl.RG32F;\n      if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RG16F;\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RG8;\n    }\n    if (glFormat === _gl.RG_INTEGER) {\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RG8UI;\n      if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RG16UI;\n      if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RG32UI;\n      if (glType === _gl.BYTE) internalFormat = _gl.RG8I;\n      if (glType === _gl.SHORT) internalFormat = _gl.RG16I;\n      if (glType === _gl.INT) internalFormat = _gl.RG32I;\n    }\n    if (glFormat === _gl.RGB_INTEGER) {\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGB8UI;\n      if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RGB16UI;\n      if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RGB32UI;\n      if (glType === _gl.BYTE) internalFormat = _gl.RGB8I;\n      if (glType === _gl.SHORT) internalFormat = _gl.RGB16I;\n      if (glType === _gl.INT) internalFormat = _gl.RGB32I;\n    }\n    if (glFormat === _gl.RGBA_INTEGER) {\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGBA8UI;\n      if (glType === _gl.UNSIGNED_SHORT) internalFormat = _gl.RGBA16UI;\n      if (glType === _gl.UNSIGNED_INT) internalFormat = _gl.RGBA32UI;\n      if (glType === _gl.BYTE) internalFormat = _gl.RGBA8I;\n      if (glType === _gl.SHORT) internalFormat = _gl.RGBA16I;\n      if (glType === _gl.INT) internalFormat = _gl.RGBA32I;\n    }\n    if (glFormat === _gl.RGB) {\n      if (glType === _gl.UNSIGNED_INT_5_9_9_9_REV) internalFormat = _gl.RGB9_E5;\n    }\n    if (glFormat === _gl.RGBA) {\n      const transfer = forceLinearTransfer ? LinearTransfer : ColorManagement.getTransfer(colorSpace);\n      if (glType === _gl.FLOAT) internalFormat = _gl.RGBA32F;\n      if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RGBA16F;\n      if (glType === _gl.UNSIGNED_BYTE) internalFormat = transfer === SRGBTransfer ? _gl.SRGB8_ALPHA8 : _gl.RGBA8;\n      if (glType === _gl.UNSIGNED_SHORT_4_4_4_4) internalFormat = _gl.RGBA4;\n      if (glType === _gl.UNSIGNED_SHORT_5_5_5_1) internalFormat = _gl.RGB5_A1;\n    }\n    if (internalFormat === _gl.R16F || internalFormat === _gl.R32F || internalFormat === _gl.RG16F || internalFormat === _gl.RG32F || internalFormat === _gl.RGBA16F || internalFormat === _gl.RGBA32F) {\n      extensions.get(\"EXT_color_buffer_float\");\n    }\n    return internalFormat;\n  }\n  function getInternalDepthFormat(useStencil, depthType) {\n    let glInternalFormat;\n    if (useStencil) {\n      if (depthType === null || depthType === UnsignedIntType || depthType === UnsignedInt248Type) {\n        glInternalFormat = _gl.DEPTH24_STENCIL8;\n      } else if (depthType === FloatType) {\n        glInternalFormat = _gl.DEPTH32F_STENCIL8;\n      } else if (depthType === UnsignedShortType) {\n        glInternalFormat = _gl.DEPTH24_STENCIL8;\n        console.warn(\"DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.\");\n      }\n    } else {\n      if (depthType === null || depthType === UnsignedIntType || depthType === UnsignedInt248Type) {\n        glInternalFormat = _gl.DEPTH_COMPONENT24;\n      } else if (depthType === FloatType) {\n        glInternalFormat = _gl.DEPTH_COMPONENT32F;\n      } else if (depthType === UnsignedShortType) {\n        glInternalFormat = _gl.DEPTH_COMPONENT16;\n      }\n    }\n    return glInternalFormat;\n  }\n  function getMipLevels(texture, image) {\n    if (textureNeedsGenerateMipmaps(texture) === true || texture.isFramebufferTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter) {\n      return Math.log2(Math.max(image.width, image.height)) + 1;\n    } else if (texture.mipmaps !== void 0 && texture.mipmaps.length > 0) {\n      return texture.mipmaps.length;\n    } else if (texture.isCompressedTexture && Array.isArray(texture.image)) {\n      return image.mipmaps.length;\n    } else {\n      return 1;\n    }\n  }\n  function onTextureDispose(event) {\n    const texture = event.target;\n    texture.removeEventListener(\"dispose\", onTextureDispose);\n    deallocateTexture(texture);\n    if (texture.isVideoTexture) {\n      _videoTextures.delete(texture);\n    }\n  }\n  function onRenderTargetDispose(event) {\n    const renderTarget = event.target;\n    renderTarget.removeEventListener(\"dispose\", onRenderTargetDispose);\n    deallocateRenderTarget(renderTarget);\n  }\n  function deallocateTexture(texture) {\n    const textureProperties = properties.get(texture);\n    if (textureProperties.__webglInit === void 0) return;\n    const source = texture.source;\n    const webglTextures = _sources.get(source);\n    if (webglTextures) {\n      const webglTexture = webglTextures[textureProperties.__cacheKey];\n      webglTexture.usedTimes--;\n      if (webglTexture.usedTimes === 0) {\n        deleteTexture(texture);\n      }\n      if (Object.keys(webglTextures).length === 0) {\n        _sources.delete(source);\n      }\n    }\n    properties.remove(texture);\n  }\n  function deleteTexture(texture) {\n    const textureProperties = properties.get(texture);\n    _gl.deleteTexture(textureProperties.__webglTexture);\n    const source = texture.source;\n    const webglTextures = _sources.get(source);\n    delete webglTextures[textureProperties.__cacheKey];\n    info.memory.textures--;\n  }\n  function deallocateRenderTarget(renderTarget) {\n    const renderTargetProperties = properties.get(renderTarget);\n    if (renderTarget.depthTexture) {\n      renderTarget.depthTexture.dispose();\n    }\n    if (renderTarget.isWebGLCubeRenderTarget) {\n      for (let i = 0; i < 6; i++) {\n        if (Array.isArray(renderTargetProperties.__webglFramebuffer[i])) {\n          for (let level = 0; level < renderTargetProperties.__webglFramebuffer[i].length; level++) _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i][level]);\n        } else {\n          _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]);\n        }\n        if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]);\n      }\n    } else {\n      if (Array.isArray(renderTargetProperties.__webglFramebuffer)) {\n        for (let level = 0; level < renderTargetProperties.__webglFramebuffer.length; level++) _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[level]);\n      } else {\n        _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer);\n      }\n      if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer);\n      if (renderTargetProperties.__webglMultisampledFramebuffer) _gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer);\n      if (renderTargetProperties.__webglColorRenderbuffer) {\n        for (let i = 0; i < renderTargetProperties.__webglColorRenderbuffer.length; i++) {\n          if (renderTargetProperties.__webglColorRenderbuffer[i]) _gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer[i]);\n        }\n      }\n      if (renderTargetProperties.__webglDepthRenderbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer);\n    }\n    const textures = renderTarget.textures;\n    for (let i = 0, il = textures.length; i < il; i++) {\n      const attachmentProperties = properties.get(textures[i]);\n      if (attachmentProperties.__webglTexture) {\n        _gl.deleteTexture(attachmentProperties.__webglTexture);\n        info.memory.textures--;\n      }\n      properties.remove(textures[i]);\n    }\n    properties.remove(renderTarget);\n  }\n  let textureUnits = 0;\n  function resetTextureUnits() {\n    textureUnits = 0;\n  }\n  function allocateTextureUnit() {\n    const textureUnit = textureUnits;\n    if (textureUnit >= capabilities.maxTextures) {\n      console.warn(\"THREE.WebGLTextures: Trying to use \" + textureUnit + \" texture units while this GPU supports only \" + capabilities.maxTextures);\n    }\n    textureUnits += 1;\n    return textureUnit;\n  }\n  function getTextureCacheKey(texture) {\n    const array = [];\n    array.push(texture.wrapS);\n    array.push(texture.wrapT);\n    array.push(texture.wrapR || 0);\n    array.push(texture.magFilter);\n    array.push(texture.minFilter);\n    array.push(texture.anisotropy);\n    array.push(texture.internalFormat);\n    array.push(texture.format);\n    array.push(texture.type);\n    array.push(texture.generateMipmaps);\n    array.push(texture.premultiplyAlpha);\n    array.push(texture.flipY);\n    array.push(texture.unpackAlignment);\n    array.push(texture.colorSpace);\n    return array.join();\n  }\n  function setTexture2D(texture, slot) {\n    const textureProperties = properties.get(texture);\n    if (texture.isVideoTexture) updateVideoTexture(texture);\n    if (texture.isRenderTargetTexture === false && texture.version > 0 && textureProperties.__version !== texture.version) {\n      const image = texture.image;\n      if (image === null) {\n        console.warn(\"THREE.WebGLRenderer: Texture marked for update but no image data found.\");\n      } else if (image.complete === false) {\n        console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\");\n      } else {\n        uploadTexture(textureProperties, texture, slot);\n        return;\n      }\n    }\n    state.bindTexture(_gl.TEXTURE_2D, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n  }\n  function setTexture2DArray(texture, slot) {\n    const textureProperties = properties.get(texture);\n    if (texture.version > 0 && textureProperties.__version !== texture.version) {\n      uploadTexture(textureProperties, texture, slot);\n      return;\n    }\n    state.bindTexture(_gl.TEXTURE_2D_ARRAY, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n  }\n  function setTexture3D(texture, slot) {\n    const textureProperties = properties.get(texture);\n    if (texture.version > 0 && textureProperties.__version !== texture.version) {\n      uploadTexture(textureProperties, texture, slot);\n      return;\n    }\n    state.bindTexture(_gl.TEXTURE_3D, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n  }\n  function setTextureCube(texture, slot) {\n    const textureProperties = properties.get(texture);\n    if (texture.version > 0 && textureProperties.__version !== texture.version) {\n      uploadCubeTexture(textureProperties, texture, slot);\n      return;\n    }\n    state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n  }\n  const wrappingToGL = {\n    [RepeatWrapping]: _gl.REPEAT,\n    [ClampToEdgeWrapping]: _gl.CLAMP_TO_EDGE,\n    [MirroredRepeatWrapping]: _gl.MIRRORED_REPEAT\n  };\n  const filterToGL = {\n    [NearestFilter]: _gl.NEAREST,\n    [NearestMipmapNearestFilter]: _gl.NEAREST_MIPMAP_NEAREST,\n    [NearestMipmapLinearFilter]: _gl.NEAREST_MIPMAP_LINEAR,\n    [LinearFilter]: _gl.LINEAR,\n    [LinearMipmapNearestFilter]: _gl.LINEAR_MIPMAP_NEAREST,\n    [LinearMipmapLinearFilter]: _gl.LINEAR_MIPMAP_LINEAR\n  };\n  const compareToGL = {\n    [NeverCompare]: _gl.NEVER,\n    [AlwaysCompare]: _gl.ALWAYS,\n    [LessCompare]: _gl.LESS,\n    [LessEqualCompare]: _gl.LEQUAL,\n    [EqualCompare]: _gl.EQUAL,\n    [GreaterEqualCompare]: _gl.GEQUAL,\n    [GreaterCompare]: _gl.GREATER,\n    [NotEqualCompare]: _gl.NOTEQUAL\n  };\n  function setTextureParameters(textureType, texture) {\n    if (texture.type === FloatType && extensions.has(\"OES_texture_float_linear\") === false && (texture.magFilter === LinearFilter || texture.magFilter === LinearMipmapNearestFilter || texture.magFilter === NearestMipmapLinearFilter || texture.magFilter === LinearMipmapLinearFilter || texture.minFilter === LinearFilter || texture.minFilter === LinearMipmapNearestFilter || texture.minFilter === NearestMipmapLinearFilter || texture.minFilter === LinearMipmapLinearFilter)) {\n      console.warn(\"THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.\");\n    }\n    _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_S, wrappingToGL[texture.wrapS]);\n    _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_T, wrappingToGL[texture.wrapT]);\n    if (textureType === _gl.TEXTURE_3D || textureType === _gl.TEXTURE_2D_ARRAY) {\n      _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_R, wrappingToGL[texture.wrapR]);\n    }\n    _gl.texParameteri(textureType, _gl.TEXTURE_MAG_FILTER, filterToGL[texture.magFilter]);\n    _gl.texParameteri(textureType, _gl.TEXTURE_MIN_FILTER, filterToGL[texture.minFilter]);\n    if (texture.compareFunction) {\n      _gl.texParameteri(textureType, _gl.TEXTURE_COMPARE_MODE, _gl.COMPARE_REF_TO_TEXTURE);\n      _gl.texParameteri(textureType, _gl.TEXTURE_COMPARE_FUNC, compareToGL[texture.compareFunction]);\n    }\n    if (extensions.has(\"EXT_texture_filter_anisotropic\") === true) {\n      if (texture.magFilter === NearestFilter) return;\n      if (texture.minFilter !== NearestMipmapLinearFilter && texture.minFilter !== LinearMipmapLinearFilter) return;\n      if (texture.type === FloatType && extensions.has(\"OES_texture_float_linear\") === false) return;\n      if (texture.anisotropy > 1 || properties.get(texture).__currentAnisotropy) {\n        const extension = extensions.get(\"EXT_texture_filter_anisotropic\");\n        _gl.texParameterf(textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(texture.anisotropy, capabilities.getMaxAnisotropy()));\n        properties.get(texture).__currentAnisotropy = texture.anisotropy;\n      }\n    }\n  }\n  function initTexture(textureProperties, texture) {\n    let forceUpload = false;\n    if (textureProperties.__webglInit === void 0) {\n      textureProperties.__webglInit = true;\n      texture.addEventListener(\"dispose\", onTextureDispose);\n    }\n    const source = texture.source;\n    let webglTextures = _sources.get(source);\n    if (webglTextures === void 0) {\n      webglTextures = {};\n      _sources.set(source, webglTextures);\n    }\n    const textureCacheKey = getTextureCacheKey(texture);\n    if (textureCacheKey !== textureProperties.__cacheKey) {\n      if (webglTextures[textureCacheKey] === void 0) {\n        webglTextures[textureCacheKey] = {\n          texture: _gl.createTexture(),\n          usedTimes: 0\n        };\n        info.memory.textures++;\n        forceUpload = true;\n      }\n      webglTextures[textureCacheKey].usedTimes++;\n      const webglTexture = webglTextures[textureProperties.__cacheKey];\n      if (webglTexture !== void 0) {\n        webglTextures[textureProperties.__cacheKey].usedTimes--;\n        if (webglTexture.usedTimes === 0) {\n          deleteTexture(texture);\n        }\n      }\n      textureProperties.__cacheKey = textureCacheKey;\n      textureProperties.__webglTexture = webglTextures[textureCacheKey].texture;\n    }\n    return forceUpload;\n  }\n  function uploadTexture(textureProperties, texture, slot) {\n    let textureType = _gl.TEXTURE_2D;\n    if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) textureType = _gl.TEXTURE_2D_ARRAY;\n    if (texture.isData3DTexture) textureType = _gl.TEXTURE_3D;\n    const forceUpload = initTexture(textureProperties, texture);\n    const source = texture.source;\n    state.bindTexture(textureType, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n    const sourceProperties = properties.get(source);\n    if (source.version !== sourceProperties.__version || forceUpload === true) {\n      state.activeTexture(_gl.TEXTURE0 + slot);\n      const workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace);\n      const texturePrimaries = texture.colorSpace === NoColorSpace ? null : ColorManagement.getPrimaries(texture.colorSpace);\n      const unpackConversion = texture.colorSpace === NoColorSpace || workingPrimaries === texturePrimaries ? _gl.NONE : _gl.BROWSER_DEFAULT_WEBGL;\n      _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY);\n      _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha);\n      _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment);\n      _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, unpackConversion);\n      let image = resizeImage(texture.image, false, capabilities.maxTextureSize);\n      image = verifyColorSpace(texture, image);\n      const glFormat = utils.convert(texture.format, texture.colorSpace);\n      const glType = utils.convert(texture.type);\n      let glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace, texture.isVideoTexture);\n      setTextureParameters(textureType, texture);\n      let mipmap;\n      const mipmaps = texture.mipmaps;\n      const useTexStorage = texture.isVideoTexture !== true;\n      const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true;\n      const dataReady = source.dataReady;\n      const levels = getMipLevels(texture, image);\n      if (texture.isDepthTexture) {\n        glInternalFormat = getInternalDepthFormat(texture.format === DepthStencilFormat, texture.type);\n        if (allocateMemory) {\n          if (useTexStorage) {\n            state.texStorage2D(_gl.TEXTURE_2D, 1, glInternalFormat, image.width, image.height);\n          } else {\n            state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null);\n          }\n        }\n      } else if (texture.isDataTexture) {\n        if (mipmaps.length > 0) {\n          if (useTexStorage && allocateMemory) {\n            state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height);\n          }\n          for (let i = 0, il = mipmaps.length; i < il; i++) {\n            mipmap = mipmaps[i];\n            if (useTexStorage) {\n              if (dataReady) {\n                state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data);\n              }\n            } else {\n              state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data);\n            }\n          }\n          texture.generateMipmaps = false;\n        } else {\n          if (useTexStorage) {\n            if (allocateMemory) {\n              state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, image.width, image.height);\n            }\n            if (dataReady) {\n              state.texSubImage2D(_gl.TEXTURE_2D, 0, 0, 0, image.width, image.height, glFormat, glType, image.data);\n            }\n          } else {\n            state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data);\n          }\n        }\n      } else if (texture.isCompressedTexture) {\n        if (texture.isCompressedArrayTexture) {\n          if (useTexStorage && allocateMemory) {\n            state.texStorage3D(_gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height, image.depth);\n          }\n          for (let i = 0, il = mipmaps.length; i < il; i++) {\n            mipmap = mipmaps[i];\n            if (texture.format !== RGBAFormat) {\n              if (glFormat !== null) {\n                if (useTexStorage) {\n                  if (dataReady) {\n                    if (texture.layerUpdates.size > 0) {\n                      const layerByteLength = getByteLength(mipmap.width, mipmap.height, texture.format, texture.type);\n                      for (const layerIndex of texture.layerUpdates) {\n                        const layerData = mipmap.data.subarray(\n                          layerIndex * layerByteLength / mipmap.data.BYTES_PER_ELEMENT,\n                          (layerIndex + 1) * layerByteLength / mipmap.data.BYTES_PER_ELEMENT\n                        );\n                        state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, layerIndex, mipmap.width, mipmap.height, 1, glFormat, layerData, 0, 0);\n                      }\n                      texture.clearLayerUpdates();\n                    } else {\n                      state.compressedTexSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, mipmap.data, 0, 0);\n                    }\n                  }\n                } else {\n                  state.compressedTexImage3D(_gl.TEXTURE_2D_ARRAY, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, mipmap.data, 0, 0);\n                }\n              } else {\n                console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\");\n              }\n            } else {\n              if (useTexStorage) {\n                if (dataReady) {\n                  state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, i, 0, 0, 0, mipmap.width, mipmap.height, image.depth, glFormat, glType, mipmap.data);\n                }\n              } else {\n                state.texImage3D(_gl.TEXTURE_2D_ARRAY, i, glInternalFormat, mipmap.width, mipmap.height, image.depth, 0, glFormat, glType, mipmap.data);\n              }\n            }\n          }\n        } else {\n          if (useTexStorage && allocateMemory) {\n            state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height);\n          }\n          for (let i = 0, il = mipmaps.length; i < il; i++) {\n            mipmap = mipmaps[i];\n            if (texture.format !== RGBAFormat) {\n              if (glFormat !== null) {\n                if (useTexStorage) {\n                  if (dataReady) {\n                    state.compressedTexSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data);\n                  }\n                } else {\n                  state.compressedTexImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data);\n                }\n              } else {\n                console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\");\n              }\n            } else {\n              if (useTexStorage) {\n                if (dataReady) {\n                  state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data);\n                }\n              } else {\n                state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data);\n              }\n            }\n          }\n        }\n      } else if (texture.isDataArrayTexture) {\n        if (useTexStorage) {\n          if (allocateMemory) {\n            state.texStorage3D(_gl.TEXTURE_2D_ARRAY, levels, glInternalFormat, image.width, image.height, image.depth);\n          }\n          if (dataReady) {\n            if (texture.layerUpdates.size > 0) {\n              const layerByteLength = getByteLength(image.width, image.height, texture.format, texture.type);\n              for (const layerIndex of texture.layerUpdates) {\n                const layerData = image.data.subarray(\n                  layerIndex * layerByteLength / image.data.BYTES_PER_ELEMENT,\n                  (layerIndex + 1) * layerByteLength / image.data.BYTES_PER_ELEMENT\n                );\n                state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, 0, 0, 0, layerIndex, image.width, image.height, 1, glFormat, glType, layerData);\n              }\n              texture.clearLayerUpdates();\n            } else {\n              state.texSubImage3D(_gl.TEXTURE_2D_ARRAY, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data);\n            }\n          }\n        } else {\n          state.texImage3D(_gl.TEXTURE_2D_ARRAY, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data);\n        }\n      } else if (texture.isData3DTexture) {\n        if (useTexStorage) {\n          if (allocateMemory) {\n            state.texStorage3D(_gl.TEXTURE_3D, levels, glInternalFormat, image.width, image.height, image.depth);\n          }\n          if (dataReady) {\n            state.texSubImage3D(_gl.TEXTURE_3D, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data);\n          }\n        } else {\n          state.texImage3D(_gl.TEXTURE_3D, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data);\n        }\n      } else if (texture.isFramebufferTexture) {\n        if (allocateMemory) {\n          if (useTexStorage) {\n            state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, image.width, image.height);\n          } else {\n            let width = image.width, height = image.height;\n            for (let i = 0; i < levels; i++) {\n              state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, width, height, 0, glFormat, glType, null);\n              width >>= 1;\n              height >>= 1;\n            }\n          }\n        }\n      } else {\n        if (mipmaps.length > 0) {\n          if (useTexStorage && allocateMemory) {\n            const dimensions = getDimensions(mipmaps[0]);\n            state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, dimensions.width, dimensions.height);\n          }\n          for (let i = 0, il = mipmaps.length; i < il; i++) {\n            mipmap = mipmaps[i];\n            if (useTexStorage) {\n              if (dataReady) {\n                state.texSubImage2D(_gl.TEXTURE_2D, i, 0, 0, glFormat, glType, mipmap);\n              }\n            } else {\n              state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, glFormat, glType, mipmap);\n            }\n          }\n          texture.generateMipmaps = false;\n        } else {\n          if (useTexStorage) {\n            if (allocateMemory) {\n              const dimensions = getDimensions(image);\n              state.texStorage2D(_gl.TEXTURE_2D, levels, glInternalFormat, dimensions.width, dimensions.height);\n            }\n            if (dataReady) {\n              state.texSubImage2D(_gl.TEXTURE_2D, 0, 0, 0, glFormat, glType, image);\n            }\n          } else {\n            state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, glFormat, glType, image);\n          }\n        }\n      }\n      if (textureNeedsGenerateMipmaps(texture)) {\n        generateMipmap(textureType);\n      }\n      sourceProperties.__version = source.version;\n      if (texture.onUpdate) texture.onUpdate(texture);\n    }\n    textureProperties.__version = texture.version;\n  }\n  function uploadCubeTexture(textureProperties, texture, slot) {\n    if (texture.image.length !== 6) return;\n    const forceUpload = initTexture(textureProperties, texture);\n    const source = texture.source;\n    state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture, _gl.TEXTURE0 + slot);\n    const sourceProperties = properties.get(source);\n    if (source.version !== sourceProperties.__version || forceUpload === true) {\n      state.activeTexture(_gl.TEXTURE0 + slot);\n      const workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace);\n      const texturePrimaries = texture.colorSpace === NoColorSpace ? null : ColorManagement.getPrimaries(texture.colorSpace);\n      const unpackConversion = texture.colorSpace === NoColorSpace || workingPrimaries === texturePrimaries ? _gl.NONE : _gl.BROWSER_DEFAULT_WEBGL;\n      _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY);\n      _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha);\n      _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment);\n      _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, unpackConversion);\n      const isCompressed = texture.isCompressedTexture || texture.image[0].isCompressedTexture;\n      const isDataTexture = texture.image[0] && texture.image[0].isDataTexture;\n      const cubeImage = [];\n      for (let i = 0; i < 6; i++) {\n        if (!isCompressed && !isDataTexture) {\n          cubeImage[i] = resizeImage(texture.image[i], true, capabilities.maxCubemapSize);\n        } else {\n          cubeImage[i] = isDataTexture ? texture.image[i].image : texture.image[i];\n        }\n        cubeImage[i] = verifyColorSpace(texture, cubeImage[i]);\n      }\n      const image = cubeImage[0], glFormat = utils.convert(texture.format, texture.colorSpace), glType = utils.convert(texture.type), glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace);\n      const useTexStorage = texture.isVideoTexture !== true;\n      const allocateMemory = sourceProperties.__version === void 0 || forceUpload === true;\n      const dataReady = source.dataReady;\n      let levels = getMipLevels(texture, image);\n      setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture);\n      let mipmaps;\n      if (isCompressed) {\n        if (useTexStorage && allocateMemory) {\n          state.texStorage2D(_gl.TEXTURE_CUBE_MAP, levels, glInternalFormat, image.width, image.height);\n        }\n        for (let i = 0; i < 6; i++) {\n          mipmaps = cubeImage[i].mipmaps;\n          for (let j = 0; j < mipmaps.length; j++) {\n            const mipmap = mipmaps[j];\n            if (texture.format !== RGBAFormat) {\n              if (glFormat !== null) {\n                if (useTexStorage) {\n                  if (dataReady) {\n                    state.compressedTexSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data);\n                  }\n                } else {\n                  state.compressedTexImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data);\n                }\n              } else {\n                console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\");\n              }\n            } else {\n              if (useTexStorage) {\n                if (dataReady) {\n                  state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data);\n                }\n              } else {\n                state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data);\n              }\n            }\n          }\n        }\n      } else {\n        mipmaps = texture.mipmaps;\n        if (useTexStorage && allocateMemory) {\n          if (mipmaps.length > 0) levels++;\n          const dimensions = getDimensions(cubeImage[0]);\n          state.texStorage2D(_gl.TEXTURE_CUBE_MAP, levels, glInternalFormat, dimensions.width, dimensions.height);\n        }\n        for (let i = 0; i < 6; i++) {\n          if (isDataTexture) {\n            if (useTexStorage) {\n              if (dataReady) {\n                state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, 0, 0, cubeImage[i].width, cubeImage[i].height, glFormat, glType, cubeImage[i].data);\n              }\n            } else {\n              state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, cubeImage[i].width, cubeImage[i].height, 0, glFormat, glType, cubeImage[i].data);\n            }\n            for (let j = 0; j < mipmaps.length; j++) {\n              const mipmap = mipmaps[j];\n              const mipmapImage = mipmap.image[i].image;\n              if (useTexStorage) {\n                if (dataReady) {\n                  state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, 0, 0, mipmapImage.width, mipmapImage.height, glFormat, glType, mipmapImage.data);\n                }\n              } else {\n                state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data);\n              }\n            }\n          } else {\n            if (useTexStorage) {\n              if (dataReady) {\n                state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, 0, 0, glFormat, glType, cubeImage[i]);\n              }\n            } else {\n              state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, glFormat, glType, cubeImage[i]);\n            }\n            for (let j = 0; j < mipmaps.length; j++) {\n              const mipmap = mipmaps[j];\n              if (useTexStorage) {\n                if (dataReady) {\n                  state.texSubImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, 0, 0, glFormat, glType, mipmap.image[i]);\n                }\n              } else {\n                state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[i]);\n              }\n            }\n          }\n        }\n      }\n      if (textureNeedsGenerateMipmaps(texture)) {\n        generateMipmap(_gl.TEXTURE_CUBE_MAP);\n      }\n      sourceProperties.__version = source.version;\n      if (texture.onUpdate) texture.onUpdate(texture);\n    }\n    textureProperties.__version = texture.version;\n  }\n  function setupFrameBufferTexture(framebuffer, renderTarget, texture, attachment, textureTarget, level) {\n    const glFormat = utils.convert(texture.format, texture.colorSpace);\n    const glType = utils.convert(texture.type);\n    const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace);\n    const renderTargetProperties = properties.get(renderTarget);\n    if (!renderTargetProperties.__hasExternalTextures) {\n      const width = Math.max(1, renderTarget.width >> level);\n      const height = Math.max(1, renderTarget.height >> level);\n      if (textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY) {\n        state.texImage3D(textureTarget, level, glInternalFormat, width, height, renderTarget.depth, 0, glFormat, glType, null);\n      } else {\n        state.texImage2D(textureTarget, level, glInternalFormat, width, height, 0, glFormat, glType, null);\n      }\n    }\n    state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer);\n    if (useMultisampledRTT(renderTarget)) {\n      multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, attachment, textureTarget, properties.get(texture).__webglTexture, 0, getRenderTargetSamples(renderTarget));\n    } else if (textureTarget === _gl.TEXTURE_2D || textureTarget >= _gl.TEXTURE_CUBE_MAP_POSITIVE_X && textureTarget <= _gl.TEXTURE_CUBE_MAP_NEGATIVE_Z) {\n      _gl.framebufferTexture2D(_gl.FRAMEBUFFER, attachment, textureTarget, properties.get(texture).__webglTexture, level);\n    }\n    state.bindFramebuffer(_gl.FRAMEBUFFER, null);\n  }\n  function setupRenderBufferStorage(renderbuffer, renderTarget, isMultisample) {\n    _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer);\n    if (renderTarget.depthBuffer) {\n      const depthTexture = renderTarget.depthTexture;\n      const depthType = depthTexture && depthTexture.isDepthTexture ? depthTexture.type : null;\n      const glInternalFormat = getInternalDepthFormat(renderTarget.stencilBuffer, depthType);\n      const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT;\n      const samples = getRenderTargetSamples(renderTarget);\n      const isUseMultisampledRTT = useMultisampledRTT(renderTarget);\n      if (isUseMultisampledRTT) {\n        multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height);\n      } else if (isMultisample) {\n        _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height);\n      } else {\n        _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height);\n      }\n      _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer);\n    } else {\n      const textures = renderTarget.textures;\n      for (let i = 0; i < textures.length; i++) {\n        const texture = textures[i];\n        const glFormat = utils.convert(texture.format, texture.colorSpace);\n        const glType = utils.convert(texture.type);\n        const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType, texture.colorSpace);\n        const samples = getRenderTargetSamples(renderTarget);\n        if (isMultisample && useMultisampledRTT(renderTarget) === false) {\n          _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height);\n        } else if (useMultisampledRTT(renderTarget)) {\n          multisampledRTTExt.renderbufferStorageMultisampleEXT(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height);\n        } else {\n          _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height);\n        }\n      }\n    }\n    _gl.bindRenderbuffer(_gl.RENDERBUFFER, null);\n  }\n  function setupDepthTexture(framebuffer, renderTarget) {\n    const isCube = renderTarget && renderTarget.isWebGLCubeRenderTarget;\n    if (isCube) throw new Error(\"Depth Texture with cube render targets is not supported\");\n    state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer);\n    if (!(renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture)) {\n      throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");\n    }\n    if (!properties.get(renderTarget.depthTexture).__webglTexture || renderTarget.depthTexture.image.width !== renderTarget.width || renderTarget.depthTexture.image.height !== renderTarget.height) {\n      renderTarget.depthTexture.image.width = renderTarget.width;\n      renderTarget.depthTexture.image.height = renderTarget.height;\n      renderTarget.depthTexture.needsUpdate = true;\n    }\n    setTexture2D(renderTarget.depthTexture, 0);\n    const webglDepthTexture = properties.get(renderTarget.depthTexture).__webglTexture;\n    const samples = getRenderTargetSamples(renderTarget);\n    if (renderTarget.depthTexture.format === DepthFormat) {\n      if (useMultisampledRTT(renderTarget)) {\n        multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples);\n      } else {\n        _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0);\n      }\n    } else if (renderTarget.depthTexture.format === DepthStencilFormat) {\n      if (useMultisampledRTT(renderTarget)) {\n        multisampledRTTExt.framebufferTexture2DMultisampleEXT(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0, samples);\n      } else {\n        _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0);\n      }\n    } else {\n      throw new Error(\"Unknown depthTexture format\");\n    }\n  }\n  function setupDepthRenderbuffer(renderTarget) {\n    const renderTargetProperties = properties.get(renderTarget);\n    const isCube = renderTarget.isWebGLCubeRenderTarget === true;\n    if (renderTargetProperties.__boundDepthTexture !== renderTarget.depthTexture) {\n      const depthTexture = renderTarget.depthTexture;\n      if (renderTargetProperties.__depthDisposeCallback) {\n        renderTargetProperties.__depthDisposeCallback();\n      }\n      if (depthTexture) {\n        const disposeEvent = () => {\n          delete renderTargetProperties.__boundDepthTexture;\n          delete renderTargetProperties.__depthDisposeCallback;\n          depthTexture.removeEventListener(\"dispose\", disposeEvent);\n        };\n        depthTexture.addEventListener(\"dispose\", disposeEvent);\n        renderTargetProperties.__depthDisposeCallback = disposeEvent;\n      }\n      renderTargetProperties.__boundDepthTexture = depthTexture;\n    }\n    if (renderTarget.depthTexture && !renderTargetProperties.__autoAllocateDepthBuffer) {\n      if (isCube) throw new Error(\"target.depthTexture not supported in Cube render targets\");\n      setupDepthTexture(renderTargetProperties.__webglFramebuffer, renderTarget);\n    } else {\n      if (isCube) {\n        renderTargetProperties.__webglDepthbuffer = [];\n        for (let i = 0; i < 6; i++) {\n          state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer[i]);\n          if (renderTargetProperties.__webglDepthbuffer[i] === void 0) {\n            renderTargetProperties.__webglDepthbuffer[i] = _gl.createRenderbuffer();\n            setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer[i], renderTarget, false);\n          } else {\n            const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT;\n            const renderbuffer = renderTargetProperties.__webglDepthbuffer[i];\n            _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer);\n            _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer);\n          }\n        }\n      } else {\n        state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);\n        if (renderTargetProperties.__webglDepthbuffer === void 0) {\n          renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer();\n          setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer, renderTarget, false);\n        } else {\n          const glAttachmentType = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT;\n          const renderbuffer = renderTargetProperties.__webglDepthbuffer;\n          _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer);\n          _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, glAttachmentType, _gl.RENDERBUFFER, renderbuffer);\n        }\n      }\n    }\n    state.bindFramebuffer(_gl.FRAMEBUFFER, null);\n  }\n  function rebindTextures(renderTarget, colorTexture, depthTexture) {\n    const renderTargetProperties = properties.get(renderTarget);\n    if (colorTexture !== void 0) {\n      setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, renderTarget.texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, 0);\n    }\n    if (depthTexture !== void 0) {\n      setupDepthRenderbuffer(renderTarget);\n    }\n  }\n  function setupRenderTarget(renderTarget) {\n    const texture = renderTarget.texture;\n    const renderTargetProperties = properties.get(renderTarget);\n    const textureProperties = properties.get(texture);\n    renderTarget.addEventListener(\"dispose\", onRenderTargetDispose);\n    const textures = renderTarget.textures;\n    const isCube = renderTarget.isWebGLCubeRenderTarget === true;\n    const isMultipleRenderTargets = textures.length > 1;\n    if (!isMultipleRenderTargets) {\n      if (textureProperties.__webglTexture === void 0) {\n        textureProperties.__webglTexture = _gl.createTexture();\n      }\n      textureProperties.__version = texture.version;\n      info.memory.textures++;\n    }\n    if (isCube) {\n      renderTargetProperties.__webglFramebuffer = [];\n      for (let i = 0; i < 6; i++) {\n        if (texture.mipmaps && texture.mipmaps.length > 0) {\n          renderTargetProperties.__webglFramebuffer[i] = [];\n          for (let level = 0; level < texture.mipmaps.length; level++) {\n            renderTargetProperties.__webglFramebuffer[i][level] = _gl.createFramebuffer();\n          }\n        } else {\n          renderTargetProperties.__webglFramebuffer[i] = _gl.createFramebuffer();\n        }\n      }\n    } else {\n      if (texture.mipmaps && texture.mipmaps.length > 0) {\n        renderTargetProperties.__webglFramebuffer = [];\n        for (let level = 0; level < texture.mipmaps.length; level++) {\n          renderTargetProperties.__webglFramebuffer[level] = _gl.createFramebuffer();\n        }\n      } else {\n        renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer();\n      }\n      if (isMultipleRenderTargets) {\n        for (let i = 0, il = textures.length; i < il; i++) {\n          const attachmentProperties = properties.get(textures[i]);\n          if (attachmentProperties.__webglTexture === void 0) {\n            attachmentProperties.__webglTexture = _gl.createTexture();\n            info.memory.textures++;\n          }\n        }\n      }\n      if (renderTarget.samples > 0 && useMultisampledRTT(renderTarget) === false) {\n        renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer();\n        renderTargetProperties.__webglColorRenderbuffer = [];\n        state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);\n        for (let i = 0; i < textures.length; i++) {\n          const texture2 = textures[i];\n          renderTargetProperties.__webglColorRenderbuffer[i] = _gl.createRenderbuffer();\n          _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]);\n          const glFormat = utils.convert(texture2.format, texture2.colorSpace);\n          const glType = utils.convert(texture2.type);\n          const glInternalFormat = getInternalFormat(texture2.internalFormat, glFormat, glType, texture2.colorSpace, renderTarget.isXRRenderTarget === true);\n          const samples = getRenderTargetSamples(renderTarget);\n          _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height);\n          _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]);\n        }\n        _gl.bindRenderbuffer(_gl.RENDERBUFFER, null);\n        if (renderTarget.depthBuffer) {\n          renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer();\n          setupRenderBufferStorage(renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true);\n        }\n        state.bindFramebuffer(_gl.FRAMEBUFFER, null);\n      }\n    }\n    if (isCube) {\n      state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture);\n      setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture);\n      for (let i = 0; i < 6; i++) {\n        if (texture.mipmaps && texture.mipmaps.length > 0) {\n          for (let level = 0; level < texture.mipmaps.length; level++) {\n            setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i][level], renderTarget, texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, level);\n          }\n        } else {\n          setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i], renderTarget, texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0);\n        }\n      }\n      if (textureNeedsGenerateMipmaps(texture)) {\n        generateMipmap(_gl.TEXTURE_CUBE_MAP);\n      }\n      state.unbindTexture();\n    } else if (isMultipleRenderTargets) {\n      for (let i = 0, il = textures.length; i < il; i++) {\n        const attachment = textures[i];\n        const attachmentProperties = properties.get(attachment);\n        state.bindTexture(_gl.TEXTURE_2D, attachmentProperties.__webglTexture);\n        setTextureParameters(_gl.TEXTURE_2D, attachment);\n        setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, attachment, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, 0);\n        if (textureNeedsGenerateMipmaps(attachment)) {\n          generateMipmap(_gl.TEXTURE_2D);\n        }\n      }\n      state.unbindTexture();\n    } else {\n      let glTextureType = _gl.TEXTURE_2D;\n      if (renderTarget.isWebGL3DRenderTarget || renderTarget.isWebGLArrayRenderTarget) {\n        glTextureType = renderTarget.isWebGL3DRenderTarget ? _gl.TEXTURE_3D : _gl.TEXTURE_2D_ARRAY;\n      }\n      state.bindTexture(glTextureType, textureProperties.__webglTexture);\n      setTextureParameters(glTextureType, texture);\n      if (texture.mipmaps && texture.mipmaps.length > 0) {\n        for (let level = 0; level < texture.mipmaps.length; level++) {\n          setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[level], renderTarget, texture, _gl.COLOR_ATTACHMENT0, glTextureType, level);\n        }\n      } else {\n        setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, texture, _gl.COLOR_ATTACHMENT0, glTextureType, 0);\n      }\n      if (textureNeedsGenerateMipmaps(texture)) {\n        generateMipmap(glTextureType);\n      }\n      state.unbindTexture();\n    }\n    if (renderTarget.depthBuffer) {\n      setupDepthRenderbuffer(renderTarget);\n    }\n  }\n  function updateRenderTargetMipmap(renderTarget) {\n    const textures = renderTarget.textures;\n    for (let i = 0, il = textures.length; i < il; i++) {\n      const texture = textures[i];\n      if (textureNeedsGenerateMipmaps(texture)) {\n        const target = renderTarget.isWebGLCubeRenderTarget ? _gl.TEXTURE_CUBE_MAP : _gl.TEXTURE_2D;\n        const webglTexture = properties.get(texture).__webglTexture;\n        state.bindTexture(target, webglTexture);\n        generateMipmap(target);\n        state.unbindTexture();\n      }\n    }\n  }\n  const invalidationArrayRead = [];\n  const invalidationArrayDraw = [];\n  function updateMultisampleRenderTarget(renderTarget) {\n    if (renderTarget.samples > 0) {\n      if (useMultisampledRTT(renderTarget) === false) {\n        const textures = renderTarget.textures;\n        const width = renderTarget.width;\n        const height = renderTarget.height;\n        let mask = _gl.COLOR_BUFFER_BIT;\n        const depthStyle = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT;\n        const renderTargetProperties = properties.get(renderTarget);\n        const isMultipleRenderTargets = textures.length > 1;\n        if (isMultipleRenderTargets) {\n          for (let i = 0; i < textures.length; i++) {\n            state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);\n            _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, null);\n            state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);\n            _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, null, 0);\n          }\n        }\n        state.bindFramebuffer(_gl.READ_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);\n        state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);\n        for (let i = 0; i < textures.length; i++) {\n          if (renderTarget.resolveDepthBuffer) {\n            if (renderTarget.depthBuffer) mask |= _gl.DEPTH_BUFFER_BIT;\n            if (renderTarget.stencilBuffer && renderTarget.resolveStencilBuffer) mask |= _gl.STENCIL_BUFFER_BIT;\n          }\n          if (isMultipleRenderTargets) {\n            _gl.framebufferRenderbuffer(_gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]);\n            const webglTexture = properties.get(textures[i]).__webglTexture;\n            _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, webglTexture, 0);\n          }\n          _gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, _gl.NEAREST);\n          if (supportsInvalidateFramebuffer === true) {\n            invalidationArrayRead.length = 0;\n            invalidationArrayDraw.length = 0;\n            invalidationArrayRead.push(_gl.COLOR_ATTACHMENT0 + i);\n            if (renderTarget.depthBuffer && renderTarget.resolveDepthBuffer === false) {\n              invalidationArrayRead.push(depthStyle);\n              invalidationArrayDraw.push(depthStyle);\n              _gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER, invalidationArrayDraw);\n            }\n            _gl.invalidateFramebuffer(_gl.READ_FRAMEBUFFER, invalidationArrayRead);\n          }\n        }\n        state.bindFramebuffer(_gl.READ_FRAMEBUFFER, null);\n        state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, null);\n        if (isMultipleRenderTargets) {\n          for (let i = 0; i < textures.length; i++) {\n            state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);\n            _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer[i]);\n            const webglTexture = properties.get(textures[i]).__webglTexture;\n            state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer);\n            _gl.framebufferTexture2D(_gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D, webglTexture, 0);\n          }\n        }\n        state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer);\n      } else {\n        if (renderTarget.depthBuffer && renderTarget.resolveDepthBuffer === false && supportsInvalidateFramebuffer) {\n          const depthStyle = renderTarget.stencilBuffer ? _gl.DEPTH_STENCIL_ATTACHMENT : _gl.DEPTH_ATTACHMENT;\n          _gl.invalidateFramebuffer(_gl.DRAW_FRAMEBUFFER, [depthStyle]);\n        }\n      }\n    }\n  }\n  function getRenderTargetSamples(renderTarget) {\n    return Math.min(capabilities.maxSamples, renderTarget.samples);\n  }\n  function useMultisampledRTT(renderTarget) {\n    const renderTargetProperties = properties.get(renderTarget);\n    return renderTarget.samples > 0 && extensions.has(\"WEBGL_multisampled_render_to_texture\") === true && renderTargetProperties.__useRenderToTexture !== false;\n  }\n  function updateVideoTexture(texture) {\n    const frame = info.render.frame;\n    if (_videoTextures.get(texture) !== frame) {\n      _videoTextures.set(texture, frame);\n      texture.update();\n    }\n  }\n  function verifyColorSpace(texture, image) {\n    const colorSpace = texture.colorSpace;\n    const format = texture.format;\n    const type = texture.type;\n    if (texture.isCompressedTexture === true || texture.isVideoTexture === true) return image;\n    if (colorSpace !== LinearSRGBColorSpace && colorSpace !== NoColorSpace) {\n      if (ColorManagement.getTransfer(colorSpace) === SRGBTransfer) {\n        if (format !== RGBAFormat || type !== UnsignedByteType) {\n          console.warn(\"THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.\");\n        }\n      } else {\n        console.error(\"THREE.WebGLTextures: Unsupported texture color space:\", colorSpace);\n      }\n    }\n    return image;\n  }\n  function getDimensions(image) {\n    if (typeof HTMLImageElement !== \"undefined\" && image instanceof HTMLImageElement) {\n      _imageDimensions.width = image.naturalWidth || image.width;\n      _imageDimensions.height = image.naturalHeight || image.height;\n    } else if (typeof VideoFrame !== \"undefined\" && image instanceof VideoFrame) {\n      _imageDimensions.width = image.displayWidth;\n      _imageDimensions.height = image.displayHeight;\n    } else {\n      _imageDimensions.width = image.width;\n      _imageDimensions.height = image.height;\n    }\n    return _imageDimensions;\n  }\n  this.allocateTextureUnit = allocateTextureUnit;\n  this.resetTextureUnits = resetTextureUnits;\n  this.setTexture2D = setTexture2D;\n  this.setTexture2DArray = setTexture2DArray;\n  this.setTexture3D = setTexture3D;\n  this.setTextureCube = setTextureCube;\n  this.rebindTextures = rebindTextures;\n  this.setupRenderTarget = setupRenderTarget;\n  this.updateRenderTargetMipmap = updateRenderTargetMipmap;\n  this.updateMultisampleRenderTarget = updateMultisampleRenderTarget;\n  this.setupDepthRenderbuffer = setupDepthRenderbuffer;\n  this.setupFrameBufferTexture = setupFrameBufferTexture;\n  this.useMultisampledRTT = useMultisampledRTT;\n}\nfunction WebGLUtils(gl, extensions) {\n  function convert(p, colorSpace = NoColorSpace) {\n    let extension;\n    const transfer = ColorManagement.getTransfer(colorSpace);\n    if (p === UnsignedByteType) return gl.UNSIGNED_BYTE;\n    if (p === UnsignedShort4444Type) return gl.UNSIGNED_SHORT_4_4_4_4;\n    if (p === UnsignedShort5551Type) return gl.UNSIGNED_SHORT_5_5_5_1;\n    if (p === UnsignedInt5999Type) return gl.UNSIGNED_INT_5_9_9_9_REV;\n    if (p === ByteType) return gl.BYTE;\n    if (p === ShortType) return gl.SHORT;\n    if (p === UnsignedShortType) return gl.UNSIGNED_SHORT;\n    if (p === IntType) return gl.INT;\n    if (p === UnsignedIntType) return gl.UNSIGNED_INT;\n    if (p === FloatType) return gl.FLOAT;\n    if (p === HalfFloatType) return gl.HALF_FLOAT;\n    if (p === AlphaFormat) return gl.ALPHA;\n    if (p === RGBFormat) return gl.RGB;\n    if (p === RGBAFormat) return gl.RGBA;\n    if (p === LuminanceFormat) return gl.LUMINANCE;\n    if (p === LuminanceAlphaFormat) return gl.LUMINANCE_ALPHA;\n    if (p === DepthFormat) return gl.DEPTH_COMPONENT;\n    if (p === DepthStencilFormat) return gl.DEPTH_STENCIL;\n    if (p === RedFormat) return gl.RED;\n    if (p === RedIntegerFormat) return gl.RED_INTEGER;\n    if (p === RGFormat) return gl.RG;\n    if (p === RGIntegerFormat) return gl.RG_INTEGER;\n    if (p === RGBAIntegerFormat) return gl.RGBA_INTEGER;\n    if (p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format) {\n      if (transfer === SRGBTransfer) {\n        extension = extensions.get(\"WEBGL_compressed_texture_s3tc_srgb\");\n        if (extension !== null) {\n          if (p === RGB_S3TC_DXT1_Format) return extension.COMPRESSED_SRGB_S3TC_DXT1_EXT;\n          if (p === RGBA_S3TC_DXT1_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;\n          if (p === RGBA_S3TC_DXT3_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;\n          if (p === RGBA_S3TC_DXT5_Format) return extension.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT;\n        } else {\n          return null;\n        }\n      } else {\n        extension = extensions.get(\"WEBGL_compressed_texture_s3tc\");\n        if (extension !== null) {\n          if (p === RGB_S3TC_DXT1_Format) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT;\n          if (p === RGBA_S3TC_DXT1_Format) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT;\n          if (p === RGBA_S3TC_DXT3_Format) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT;\n          if (p === RGBA_S3TC_DXT5_Format) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT;\n        } else {\n          return null;\n        }\n      }\n    }\n    if (p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format) {\n      extension = extensions.get(\"WEBGL_compressed_texture_pvrtc\");\n      if (extension !== null) {\n        if (p === RGB_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;\n        if (p === RGB_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;\n        if (p === RGBA_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;\n        if (p === RGBA_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG;\n      } else {\n        return null;\n      }\n    }\n    if (p === RGB_ETC1_Format || p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format) {\n      extension = extensions.get(\"WEBGL_compressed_texture_etc\");\n      if (extension !== null) {\n        if (p === RGB_ETC1_Format || p === RGB_ETC2_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ETC2 : extension.COMPRESSED_RGB8_ETC2;\n        if (p === RGBA_ETC2_EAC_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : extension.COMPRESSED_RGBA8_ETC2_EAC;\n      } else {\n        return null;\n      }\n    }\n    if (p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format) {\n      extension = extensions.get(\"WEBGL_compressed_texture_astc\");\n      if (extension !== null) {\n        if (p === RGBA_ASTC_4x4_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : extension.COMPRESSED_RGBA_ASTC_4x4_KHR;\n        if (p === RGBA_ASTC_5x4_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : extension.COMPRESSED_RGBA_ASTC_5x4_KHR;\n        if (p === RGBA_ASTC_5x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : extension.COMPRESSED_RGBA_ASTC_5x5_KHR;\n        if (p === RGBA_ASTC_6x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : extension.COMPRESSED_RGBA_ASTC_6x5_KHR;\n        if (p === RGBA_ASTC_6x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : extension.COMPRESSED_RGBA_ASTC_6x6_KHR;\n        if (p === RGBA_ASTC_8x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : extension.COMPRESSED_RGBA_ASTC_8x5_KHR;\n        if (p === RGBA_ASTC_8x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : extension.COMPRESSED_RGBA_ASTC_8x6_KHR;\n        if (p === RGBA_ASTC_8x8_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : extension.COMPRESSED_RGBA_ASTC_8x8_KHR;\n        if (p === RGBA_ASTC_10x5_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : extension.COMPRESSED_RGBA_ASTC_10x5_KHR;\n        if (p === RGBA_ASTC_10x6_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : extension.COMPRESSED_RGBA_ASTC_10x6_KHR;\n        if (p === RGBA_ASTC_10x8_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : extension.COMPRESSED_RGBA_ASTC_10x8_KHR;\n        if (p === RGBA_ASTC_10x10_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : extension.COMPRESSED_RGBA_ASTC_10x10_KHR;\n        if (p === RGBA_ASTC_12x10_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : extension.COMPRESSED_RGBA_ASTC_12x10_KHR;\n        if (p === RGBA_ASTC_12x12_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : extension.COMPRESSED_RGBA_ASTC_12x12_KHR;\n      } else {\n        return null;\n      }\n    }\n    if (p === RGBA_BPTC_Format || p === RGB_BPTC_SIGNED_Format || p === RGB_BPTC_UNSIGNED_Format) {\n      extension = extensions.get(\"EXT_texture_compression_bptc\");\n      if (extension !== null) {\n        if (p === RGBA_BPTC_Format) return transfer === SRGBTransfer ? extension.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : extension.COMPRESSED_RGBA_BPTC_UNORM_EXT;\n        if (p === RGB_BPTC_SIGNED_Format) return extension.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;\n        if (p === RGB_BPTC_UNSIGNED_Format) return extension.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT;\n      } else {\n        return null;\n      }\n    }\n    if (p === RED_RGTC1_Format || p === SIGNED_RED_RGTC1_Format || p === RED_GREEN_RGTC2_Format || p === SIGNED_RED_GREEN_RGTC2_Format) {\n      extension = extensions.get(\"EXT_texture_compression_rgtc\");\n      if (extension !== null) {\n        if (p === RGBA_BPTC_Format) return extension.COMPRESSED_RED_RGTC1_EXT;\n        if (p === SIGNED_RED_RGTC1_Format) return extension.COMPRESSED_SIGNED_RED_RGTC1_EXT;\n        if (p === RED_GREEN_RGTC2_Format) return extension.COMPRESSED_RED_GREEN_RGTC2_EXT;\n        if (p === SIGNED_RED_GREEN_RGTC2_Format) return extension.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT;\n      } else {\n        return null;\n      }\n    }\n    if (p === UnsignedInt248Type) return gl.UNSIGNED_INT_24_8;\n    return gl[p] !== void 0 ? gl[p] : null;\n  }\n  return { convert };\n}\nvar ArrayCamera = class extends PerspectiveCamera {\n  constructor(array = []) {\n    super();\n    this.isArrayCamera = true;\n    this.cameras = array;\n  }\n};\nvar Group = class extends Object3D {\n  constructor() {\n    super();\n    this.isGroup = true;\n    this.type = \"Group\";\n  }\n};\nvar _moveEvent = { type: \"move\" };\nvar WebXRController = class {\n  constructor() {\n    this._targetRay = null;\n    this._grip = null;\n    this._hand = null;\n  }\n  getHandSpace() {\n    if (this._hand === null) {\n      this._hand = new Group();\n      this._hand.matrixAutoUpdate = false;\n      this._hand.visible = false;\n      this._hand.joints = {};\n      this._hand.inputState = { pinching: false };\n    }\n    return this._hand;\n  }\n  getTargetRaySpace() {\n    if (this._targetRay === null) {\n      this._targetRay = new Group();\n      this._targetRay.matrixAutoUpdate = false;\n      this._targetRay.visible = false;\n      this._targetRay.hasLinearVelocity = false;\n      this._targetRay.linearVelocity = new Vector3();\n      this._targetRay.hasAngularVelocity = false;\n      this._targetRay.angularVelocity = new Vector3();\n    }\n    return this._targetRay;\n  }\n  getGripSpace() {\n    if (this._grip === null) {\n      this._grip = new Group();\n      this._grip.matrixAutoUpdate = false;\n      this._grip.visible = false;\n      this._grip.hasLinearVelocity = false;\n      this._grip.linearVelocity = new Vector3();\n      this._grip.hasAngularVelocity = false;\n      this._grip.angularVelocity = new Vector3();\n    }\n    return this._grip;\n  }\n  dispatchEvent(event) {\n    if (this._targetRay !== null) {\n      this._targetRay.dispatchEvent(event);\n    }\n    if (this._grip !== null) {\n      this._grip.dispatchEvent(event);\n    }\n    if (this._hand !== null) {\n      this._hand.dispatchEvent(event);\n    }\n    return this;\n  }\n  connect(inputSource) {\n    if (inputSource && inputSource.hand) {\n      const hand = this._hand;\n      if (hand) {\n        for (const inputjoint of inputSource.hand.values()) {\n          this._getHandJoint(hand, inputjoint);\n        }\n      }\n    }\n    this.dispatchEvent({ type: \"connected\", data: inputSource });\n    return this;\n  }\n  disconnect(inputSource) {\n    this.dispatchEvent({ type: \"disconnected\", data: inputSource });\n    if (this._targetRay !== null) {\n      this._targetRay.visible = false;\n    }\n    if (this._grip !== null) {\n      this._grip.visible = false;\n    }\n    if (this._hand !== null) {\n      this._hand.visible = false;\n    }\n    return this;\n  }\n  update(inputSource, frame, referenceSpace) {\n    let inputPose = null;\n    let gripPose = null;\n    let handPose = null;\n    const targetRay = this._targetRay;\n    const grip = this._grip;\n    const hand = this._hand;\n    if (inputSource && frame.session.visibilityState !== \"visible-blurred\") {\n      if (hand && inputSource.hand) {\n        handPose = true;\n        for (const inputjoint of inputSource.hand.values()) {\n          const jointPose = frame.getJointPose(inputjoint, referenceSpace);\n          const joint = this._getHandJoint(hand, inputjoint);\n          if (jointPose !== null) {\n            joint.matrix.fromArray(jointPose.transform.matrix);\n            joint.matrix.decompose(joint.position, joint.rotation, joint.scale);\n            joint.matrixWorldNeedsUpdate = true;\n            joint.jointRadius = jointPose.radius;\n          }\n          joint.visible = jointPose !== null;\n        }\n        const indexTip = hand.joints[\"index-finger-tip\"];\n        const thumbTip = hand.joints[\"thumb-tip\"];\n        const distance = indexTip.position.distanceTo(thumbTip.position);\n        const distanceToPinch = 0.02;\n        const threshold = 5e-3;\n        if (hand.inputState.pinching && distance > distanceToPinch + threshold) {\n          hand.inputState.pinching = false;\n          this.dispatchEvent({\n            type: \"pinchend\",\n            handedness: inputSource.handedness,\n            target: this\n          });\n        } else if (!hand.inputState.pinching && distance <= distanceToPinch - threshold) {\n          hand.inputState.pinching = true;\n          this.dispatchEvent({\n            type: \"pinchstart\",\n            handedness: inputSource.handedness,\n            target: this\n          });\n        }\n      } else {\n        if (grip !== null && inputSource.gripSpace) {\n          gripPose = frame.getPose(inputSource.gripSpace, referenceSpace);\n          if (gripPose !== null) {\n            grip.matrix.fromArray(gripPose.transform.matrix);\n            grip.matrix.decompose(grip.position, grip.rotation, grip.scale);\n            grip.matrixWorldNeedsUpdate = true;\n            if (gripPose.linearVelocity) {\n              grip.hasLinearVelocity = true;\n              grip.linearVelocity.copy(gripPose.linearVelocity);\n            } else {\n              grip.hasLinearVelocity = false;\n            }\n            if (gripPose.angularVelocity) {\n              grip.hasAngularVelocity = true;\n              grip.angularVelocity.copy(gripPose.angularVelocity);\n            } else {\n              grip.hasAngularVelocity = false;\n            }\n          }\n        }\n      }\n      if (targetRay !== null) {\n        inputPose = frame.getPose(inputSource.targetRaySpace, referenceSpace);\n        if (inputPose === null && gripPose !== null) {\n          inputPose = gripPose;\n        }\n        if (inputPose !== null) {\n          targetRay.matrix.fromArray(inputPose.transform.matrix);\n          targetRay.matrix.decompose(targetRay.position, targetRay.rotation, targetRay.scale);\n          targetRay.matrixWorldNeedsUpdate = true;\n          if (inputPose.linearVelocity) {\n            targetRay.hasLinearVelocity = true;\n            targetRay.linearVelocity.copy(inputPose.linearVelocity);\n          } else {\n            targetRay.hasLinearVelocity = false;\n          }\n          if (inputPose.angularVelocity) {\n            targetRay.hasAngularVelocity = true;\n            targetRay.angularVelocity.copy(inputPose.angularVelocity);\n          } else {\n            targetRay.hasAngularVelocity = false;\n          }\n          this.dispatchEvent(_moveEvent);\n        }\n      }\n    }\n    if (targetRay !== null) {\n      targetRay.visible = inputPose !== null;\n    }\n    if (grip !== null) {\n      grip.visible = gripPose !== null;\n    }\n    if (hand !== null) {\n      hand.visible = handPose !== null;\n    }\n    return this;\n  }\n  // private method\n  _getHandJoint(hand, inputjoint) {\n    if (hand.joints[inputjoint.jointName] === void 0) {\n      const joint = new Group();\n      joint.matrixAutoUpdate = false;\n      joint.visible = false;\n      hand.joints[inputjoint.jointName] = joint;\n      hand.add(joint);\n    }\n    return hand.joints[inputjoint.jointName];\n  }\n};\nvar _occlusion_vertex = `\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}`;\nvar _occlusion_fragment = `\nuniform sampler2DArray depthColor;\nuniform float depthWidth;\nuniform float depthHeight;\n\nvoid main() {\n\n\tvec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );\n\n\tif ( coord.x >= 1.0 ) {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;\n\n\t} else {\n\n\t\tgl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;\n\n\t}\n\n}`;\nvar WebXRDepthSensing = class {\n  constructor() {\n    this.texture = null;\n    this.mesh = null;\n    this.depthNear = 0;\n    this.depthFar = 0;\n  }\n  init(renderer, depthData, renderState) {\n    if (this.texture === null) {\n      const texture = new Texture();\n      const texProps = renderer.properties.get(texture);\n      texProps.__webglTexture = depthData.texture;\n      if (depthData.depthNear != renderState.depthNear || depthData.depthFar != renderState.depthFar) {\n        this.depthNear = depthData.depthNear;\n        this.depthFar = depthData.depthFar;\n      }\n      this.texture = texture;\n    }\n  }\n  getMesh(cameraXR) {\n    if (this.texture !== null) {\n      if (this.mesh === null) {\n        const viewport = cameraXR.cameras[0].viewport;\n        const material = new ShaderMaterial({\n          vertexShader: _occlusion_vertex,\n          fragmentShader: _occlusion_fragment,\n          uniforms: {\n            depthColor: { value: this.texture },\n            depthWidth: { value: viewport.z },\n            depthHeight: { value: viewport.w }\n          }\n        });\n        this.mesh = new Mesh(new PlaneGeometry(20, 20), material);\n      }\n    }\n    return this.mesh;\n  }\n  reset() {\n    this.texture = null;\n    this.mesh = null;\n  }\n  getDepthTexture() {\n    return this.texture;\n  }\n};\nvar WebXRManager = class extends EventDispatcher {\n  constructor(renderer, gl) {\n    super();\n    const scope = this;\n    let session = null;\n    let framebufferScaleFactor = 1;\n    let referenceSpace = null;\n    let referenceSpaceType = \"local-floor\";\n    let foveation = 1;\n    let customReferenceSpace = null;\n    let pose = null;\n    let glBinding = null;\n    let glProjLayer = null;\n    let glBaseLayer = null;\n    let xrFrame = null;\n    const depthSensing = new WebXRDepthSensing();\n    const attributes = gl.getContextAttributes();\n    let initialRenderTarget = null;\n    let newRenderTarget = null;\n    const controllers = [];\n    const controllerInputSources = [];\n    const currentSize = new Vector2();\n    let currentPixelRatio = null;\n    const cameraL = new PerspectiveCamera();\n    cameraL.layers.enable(1);\n    cameraL.viewport = new Vector4();\n    const cameraR = new PerspectiveCamera();\n    cameraR.layers.enable(2);\n    cameraR.viewport = new Vector4();\n    const cameras = [cameraL, cameraR];\n    const cameraXR = new ArrayCamera();\n    cameraXR.layers.enable(1);\n    cameraXR.layers.enable(2);\n    let _currentDepthNear = null;\n    let _currentDepthFar = null;\n    this.cameraAutoUpdate = true;\n    this.enabled = false;\n    this.isPresenting = false;\n    this.getController = function(index) {\n      let controller = controllers[index];\n      if (controller === void 0) {\n        controller = new WebXRController();\n        controllers[index] = controller;\n      }\n      return controller.getTargetRaySpace();\n    };\n    this.getControllerGrip = function(index) {\n      let controller = controllers[index];\n      if (controller === void 0) {\n        controller = new WebXRController();\n        controllers[index] = controller;\n      }\n      return controller.getGripSpace();\n    };\n    this.getHand = function(index) {\n      let controller = controllers[index];\n      if (controller === void 0) {\n        controller = new WebXRController();\n        controllers[index] = controller;\n      }\n      return controller.getHandSpace();\n    };\n    function onSessionEvent(event) {\n      const controllerIndex = controllerInputSources.indexOf(event.inputSource);\n      if (controllerIndex === -1) {\n        return;\n      }\n      const controller = controllers[controllerIndex];\n      if (controller !== void 0) {\n        controller.update(event.inputSource, event.frame, customReferenceSpace || referenceSpace);\n        controller.dispatchEvent({ type: event.type, data: event.inputSource });\n      }\n    }\n    function onSessionEnd() {\n      session.removeEventListener(\"select\", onSessionEvent);\n      session.removeEventListener(\"selectstart\", onSessionEvent);\n      session.removeEventListener(\"selectend\", onSessionEvent);\n      session.removeEventListener(\"squeeze\", onSessionEvent);\n      session.removeEventListener(\"squeezestart\", onSessionEvent);\n      session.removeEventListener(\"squeezeend\", onSessionEvent);\n      session.removeEventListener(\"end\", onSessionEnd);\n      session.removeEventListener(\"inputsourceschange\", onInputSourcesChange);\n      for (let i = 0; i < controllers.length; i++) {\n        const inputSource = controllerInputSources[i];\n        if (inputSource === null) continue;\n        controllerInputSources[i] = null;\n        controllers[i].disconnect(inputSource);\n      }\n      _currentDepthNear = null;\n      _currentDepthFar = null;\n      depthSensing.reset();\n      renderer.setRenderTarget(initialRenderTarget);\n      glBaseLayer = null;\n      glProjLayer = null;\n      glBinding = null;\n      session = null;\n      newRenderTarget = null;\n      animation.stop();\n      scope.isPresenting = false;\n      renderer.setPixelRatio(currentPixelRatio);\n      renderer.setSize(currentSize.width, currentSize.height, false);\n      scope.dispatchEvent({ type: \"sessionend\" });\n    }\n    this.setFramebufferScaleFactor = function(value) {\n      framebufferScaleFactor = value;\n      if (scope.isPresenting === true) {\n        console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\");\n      }\n    };\n    this.setReferenceSpaceType = function(value) {\n      referenceSpaceType = value;\n      if (scope.isPresenting === true) {\n        console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\");\n      }\n    };\n    this.getReferenceSpace = function() {\n      return customReferenceSpace || referenceSpace;\n    };\n    this.setReferenceSpace = function(space) {\n      customReferenceSpace = space;\n    };\n    this.getBaseLayer = function() {\n      return glProjLayer !== null ? glProjLayer : glBaseLayer;\n    };\n    this.getBinding = function() {\n      return glBinding;\n    };\n    this.getFrame = function() {\n      return xrFrame;\n    };\n    this.getSession = function() {\n      return session;\n    };\n    this.setSession = function(value) {\n      return __async(this, null, function* () {\n        session = value;\n        if (session !== null) {\n          initialRenderTarget = renderer.getRenderTarget();\n          session.addEventListener(\"select\", onSessionEvent);\n          session.addEventListener(\"selectstart\", onSessionEvent);\n          session.addEventListener(\"selectend\", onSessionEvent);\n          session.addEventListener(\"squeeze\", onSessionEvent);\n          session.addEventListener(\"squeezestart\", onSessionEvent);\n          session.addEventListener(\"squeezeend\", onSessionEvent);\n          session.addEventListener(\"end\", onSessionEnd);\n          session.addEventListener(\"inputsourceschange\", onInputSourcesChange);\n          if (attributes.xrCompatible !== true) {\n            yield gl.makeXRCompatible();\n          }\n          currentPixelRatio = renderer.getPixelRatio();\n          renderer.getSize(currentSize);\n          if (session.renderState.layers === void 0) {\n            const layerInit = {\n              antialias: attributes.antialias,\n              alpha: true,\n              depth: attributes.depth,\n              stencil: attributes.stencil,\n              framebufferScaleFactor\n            };\n            glBaseLayer = new XRWebGLLayer(session, gl, layerInit);\n            session.updateRenderState({ baseLayer: glBaseLayer });\n            renderer.setPixelRatio(1);\n            renderer.setSize(glBaseLayer.framebufferWidth, glBaseLayer.framebufferHeight, false);\n            newRenderTarget = new WebGLRenderTarget(\n              glBaseLayer.framebufferWidth,\n              glBaseLayer.framebufferHeight,\n              {\n                format: RGBAFormat,\n                type: UnsignedByteType,\n                colorSpace: renderer.outputColorSpace,\n                stencilBuffer: attributes.stencil\n              }\n            );\n          } else {\n            let depthFormat = null;\n            let depthType = null;\n            let glDepthFormat = null;\n            if (attributes.depth) {\n              glDepthFormat = attributes.stencil ? gl.DEPTH24_STENCIL8 : gl.DEPTH_COMPONENT24;\n              depthFormat = attributes.stencil ? DepthStencilFormat : DepthFormat;\n              depthType = attributes.stencil ? UnsignedInt248Type : UnsignedIntType;\n            }\n            const projectionlayerInit = {\n              colorFormat: gl.RGBA8,\n              depthFormat: glDepthFormat,\n              scaleFactor: framebufferScaleFactor\n            };\n            glBinding = new XRWebGLBinding(session, gl);\n            glProjLayer = glBinding.createProjectionLayer(projectionlayerInit);\n            session.updateRenderState({ layers: [glProjLayer] });\n            renderer.setPixelRatio(1);\n            renderer.setSize(glProjLayer.textureWidth, glProjLayer.textureHeight, false);\n            newRenderTarget = new WebGLRenderTarget(\n              glProjLayer.textureWidth,\n              glProjLayer.textureHeight,\n              {\n                format: RGBAFormat,\n                type: UnsignedByteType,\n                depthTexture: new DepthTexture(glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, void 0, void 0, void 0, void 0, void 0, void 0, depthFormat),\n                stencilBuffer: attributes.stencil,\n                colorSpace: renderer.outputColorSpace,\n                samples: attributes.antialias ? 4 : 0,\n                resolveDepthBuffer: glProjLayer.ignoreDepthValues === false\n              }\n            );\n          }\n          newRenderTarget.isXRRenderTarget = true;\n          this.setFoveation(foveation);\n          customReferenceSpace = null;\n          referenceSpace = yield session.requestReferenceSpace(referenceSpaceType);\n          animation.setContext(session);\n          animation.start();\n          scope.isPresenting = true;\n          scope.dispatchEvent({ type: \"sessionstart\" });\n        }\n      });\n    };\n    this.getEnvironmentBlendMode = function() {\n      if (session !== null) {\n        return session.environmentBlendMode;\n      }\n    };\n    this.getDepthTexture = function() {\n      return depthSensing.getDepthTexture();\n    };\n    function onInputSourcesChange(event) {\n      for (let i = 0; i < event.removed.length; i++) {\n        const inputSource = event.removed[i];\n        const index = controllerInputSources.indexOf(inputSource);\n        if (index >= 0) {\n          controllerInputSources[index] = null;\n          controllers[index].disconnect(inputSource);\n        }\n      }\n      for (let i = 0; i < event.added.length; i++) {\n        const inputSource = event.added[i];\n        let controllerIndex = controllerInputSources.indexOf(inputSource);\n        if (controllerIndex === -1) {\n          for (let i2 = 0; i2 < controllers.length; i2++) {\n            if (i2 >= controllerInputSources.length) {\n              controllerInputSources.push(inputSource);\n              controllerIndex = i2;\n              break;\n            } else if (controllerInputSources[i2] === null) {\n              controllerInputSources[i2] = inputSource;\n              controllerIndex = i2;\n              break;\n            }\n          }\n          if (controllerIndex === -1) break;\n        }\n        const controller = controllers[controllerIndex];\n        if (controller) {\n          controller.connect(inputSource);\n        }\n      }\n    }\n    const cameraLPos = new Vector3();\n    const cameraRPos = new Vector3();\n    function setProjectionFromUnion(camera, cameraL2, cameraR2) {\n      cameraLPos.setFromMatrixPosition(cameraL2.matrixWorld);\n      cameraRPos.setFromMatrixPosition(cameraR2.matrixWorld);\n      const ipd = cameraLPos.distanceTo(cameraRPos);\n      const projL = cameraL2.projectionMatrix.elements;\n      const projR = cameraR2.projectionMatrix.elements;\n      const near = projL[14] / (projL[10] - 1);\n      const far = projL[14] / (projL[10] + 1);\n      const topFov = (projL[9] + 1) / projL[5];\n      const bottomFov = (projL[9] - 1) / projL[5];\n      const leftFov = (projL[8] - 1) / projL[0];\n      const rightFov = (projR[8] + 1) / projR[0];\n      const left = near * leftFov;\n      const right = near * rightFov;\n      const zOffset = ipd / (-leftFov + rightFov);\n      const xOffset = zOffset * -leftFov;\n      cameraL2.matrixWorld.decompose(camera.position, camera.quaternion, camera.scale);\n      camera.translateX(xOffset);\n      camera.translateZ(zOffset);\n      camera.matrixWorld.compose(camera.position, camera.quaternion, camera.scale);\n      camera.matrixWorldInverse.copy(camera.matrixWorld).invert();\n      if (projL[10] === -1) {\n        camera.projectionMatrix.copy(cameraL2.projectionMatrix);\n        camera.projectionMatrixInverse.copy(cameraL2.projectionMatrixInverse);\n      } else {\n        const near2 = near + zOffset;\n        const far2 = far + zOffset;\n        const left2 = left - xOffset;\n        const right2 = right + (ipd - xOffset);\n        const top2 = topFov * far / far2 * near2;\n        const bottom2 = bottomFov * far / far2 * near2;\n        camera.projectionMatrix.makePerspective(left2, right2, top2, bottom2, near2, far2);\n        camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert();\n      }\n    }\n    function updateCamera(camera, parent) {\n      if (parent === null) {\n        camera.matrixWorld.copy(camera.matrix);\n      } else {\n        camera.matrixWorld.multiplyMatrices(parent.matrixWorld, camera.matrix);\n      }\n      camera.matrixWorldInverse.copy(camera.matrixWorld).invert();\n    }\n    this.updateCamera = function(camera) {\n      if (session === null) return;\n      let depthNear = camera.near;\n      let depthFar = camera.far;\n      if (depthSensing.texture !== null) {\n        if (depthSensing.depthNear > 0) depthNear = depthSensing.depthNear;\n        if (depthSensing.depthFar > 0) depthFar = depthSensing.depthFar;\n      }\n      cameraXR.near = cameraR.near = cameraL.near = depthNear;\n      cameraXR.far = cameraR.far = cameraL.far = depthFar;\n      if (_currentDepthNear !== cameraXR.near || _currentDepthFar !== cameraXR.far) {\n        session.updateRenderState({\n          depthNear: cameraXR.near,\n          depthFar: cameraXR.far\n        });\n        _currentDepthNear = cameraXR.near;\n        _currentDepthFar = cameraXR.far;\n      }\n      const parent = camera.parent;\n      const cameras2 = cameraXR.cameras;\n      updateCamera(cameraXR, parent);\n      for (let i = 0; i < cameras2.length; i++) {\n        updateCamera(cameras2[i], parent);\n      }\n      if (cameras2.length === 2) {\n        setProjectionFromUnion(cameraXR, cameraL, cameraR);\n      } else {\n        cameraXR.projectionMatrix.copy(cameraL.projectionMatrix);\n      }\n      updateUserCamera(camera, cameraXR, parent);\n    };\n    function updateUserCamera(camera, cameraXR2, parent) {\n      if (parent === null) {\n        camera.matrix.copy(cameraXR2.matrixWorld);\n      } else {\n        camera.matrix.copy(parent.matrixWorld);\n        camera.matrix.invert();\n        camera.matrix.multiply(cameraXR2.matrixWorld);\n      }\n      camera.matrix.decompose(camera.position, camera.quaternion, camera.scale);\n      camera.updateMatrixWorld(true);\n      camera.projectionMatrix.copy(cameraXR2.projectionMatrix);\n      camera.projectionMatrixInverse.copy(cameraXR2.projectionMatrixInverse);\n      if (camera.isPerspectiveCamera) {\n        camera.fov = RAD2DEG * 2 * Math.atan(1 / camera.projectionMatrix.elements[5]);\n        camera.zoom = 1;\n      }\n    }\n    this.getCamera = function() {\n      return cameraXR;\n    };\n    this.getFoveation = function() {\n      if (glProjLayer === null && glBaseLayer === null) {\n        return void 0;\n      }\n      return foveation;\n    };\n    this.setFoveation = function(value) {\n      foveation = value;\n      if (glProjLayer !== null) {\n        glProjLayer.fixedFoveation = value;\n      }\n      if (glBaseLayer !== null && glBaseLayer.fixedFoveation !== void 0) {\n        glBaseLayer.fixedFoveation = value;\n      }\n    };\n    this.hasDepthSensing = function() {\n      return depthSensing.texture !== null;\n    };\n    this.getDepthSensingMesh = function() {\n      return depthSensing.getMesh(cameraXR);\n    };\n    let onAnimationFrameCallback = null;\n    function onAnimationFrame(time, frame) {\n      pose = frame.getViewerPose(customReferenceSpace || referenceSpace);\n      xrFrame = frame;\n      if (pose !== null) {\n        const views = pose.views;\n        if (glBaseLayer !== null) {\n          renderer.setRenderTargetFramebuffer(newRenderTarget, glBaseLayer.framebuffer);\n          renderer.setRenderTarget(newRenderTarget);\n        }\n        let cameraXRNeedsUpdate = false;\n        if (views.length !== cameraXR.cameras.length) {\n          cameraXR.cameras.length = 0;\n          cameraXRNeedsUpdate = true;\n        }\n        for (let i = 0; i < views.length; i++) {\n          const view = views[i];\n          let viewport = null;\n          if (glBaseLayer !== null) {\n            viewport = glBaseLayer.getViewport(view);\n          } else {\n            const glSubImage = glBinding.getViewSubImage(glProjLayer, view);\n            viewport = glSubImage.viewport;\n            if (i === 0) {\n              renderer.setRenderTargetTextures(\n                newRenderTarget,\n                glSubImage.colorTexture,\n                glProjLayer.ignoreDepthValues ? void 0 : glSubImage.depthStencilTexture\n              );\n              renderer.setRenderTarget(newRenderTarget);\n            }\n          }\n          let camera = cameras[i];\n          if (camera === void 0) {\n            camera = new PerspectiveCamera();\n            camera.layers.enable(i);\n            camera.viewport = new Vector4();\n            cameras[i] = camera;\n          }\n          camera.matrix.fromArray(view.transform.matrix);\n          camera.matrix.decompose(camera.position, camera.quaternion, camera.scale);\n          camera.projectionMatrix.fromArray(view.projectionMatrix);\n          camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert();\n          camera.viewport.set(viewport.x, viewport.y, viewport.width, viewport.height);\n          if (i === 0) {\n            cameraXR.matrix.copy(camera.matrix);\n            cameraXR.matrix.decompose(cameraXR.position, cameraXR.quaternion, cameraXR.scale);\n          }\n          if (cameraXRNeedsUpdate === true) {\n            cameraXR.cameras.push(camera);\n          }\n        }\n        const enabledFeatures = session.enabledFeatures;\n        if (enabledFeatures && enabledFeatures.includes(\"depth-sensing\")) {\n          const depthData = glBinding.getDepthInformation(views[0]);\n          if (depthData && depthData.isValid && depthData.texture) {\n            depthSensing.init(renderer, depthData, session.renderState);\n          }\n        }\n      }\n      for (let i = 0; i < controllers.length; i++) {\n        const inputSource = controllerInputSources[i];\n        const controller = controllers[i];\n        if (inputSource !== null && controller !== void 0) {\n          controller.update(inputSource, frame, customReferenceSpace || referenceSpace);\n        }\n      }\n      if (onAnimationFrameCallback) onAnimationFrameCallback(time, frame);\n      if (frame.detectedPlanes) {\n        scope.dispatchEvent({ type: \"planesdetected\", data: frame });\n      }\n      xrFrame = null;\n    }\n    const animation = new WebGLAnimation();\n    animation.setAnimationLoop(onAnimationFrame);\n    this.setAnimationLoop = function(callback) {\n      onAnimationFrameCallback = callback;\n    };\n    this.dispose = function() {\n    };\n  }\n};\nvar _e1 = /* @__PURE__ */ new Euler();\nvar _m1 = /* @__PURE__ */ new Matrix4();\nfunction WebGLMaterials(renderer, properties) {\n  function refreshTransformUniform(map, uniform) {\n    if (map.matrixAutoUpdate === true) {\n      map.updateMatrix();\n    }\n    uniform.value.copy(map.matrix);\n  }\n  function refreshFogUniforms(uniforms, fog) {\n    fog.color.getRGB(uniforms.fogColor.value, getUnlitUniformColorSpace(renderer));\n    if (fog.isFog) {\n      uniforms.fogNear.value = fog.near;\n      uniforms.fogFar.value = fog.far;\n    } else if (fog.isFogExp2) {\n      uniforms.fogDensity.value = fog.density;\n    }\n  }\n  function refreshMaterialUniforms(uniforms, material, pixelRatio, height, transmissionRenderTarget) {\n    if (material.isMeshBasicMaterial) {\n      refreshUniformsCommon(uniforms, material);\n    } else if (material.isMeshLambertMaterial) {\n      refreshUniformsCommon(uniforms, material);\n    } else if (material.isMeshToonMaterial) {\n      refreshUniformsCommon(uniforms, material);\n      refreshUniformsToon(uniforms, material);\n    } else if (material.isMeshPhongMaterial) {\n      refreshUniformsCommon(uniforms, material);\n      refreshUniformsPhong(uniforms, material);\n    } else if (material.isMeshStandardMaterial) {\n      refreshUniformsCommon(uniforms, material);\n      refreshUniformsStandard(uniforms, material);\n      if (material.isMeshPhysicalMaterial) {\n        refreshUniformsPhysical(uniforms, material, transmissionRenderTarget);\n      }\n    } else if (material.isMeshMatcapMaterial) {\n      refreshUniformsCommon(uniforms, material);\n      refreshUniformsMatcap(uniforms, material);\n    } else if (material.isMeshDepthMaterial) {\n      refreshUniformsCommon(uniforms, material);\n    } else if (material.isMeshDistanceMaterial) {\n      refreshUniformsCommon(uniforms, material);\n      refreshUniformsDistance(uniforms, material);\n    } else if (material.isMeshNormalMaterial) {\n      refreshUniformsCommon(uniforms, material);\n    } else if (material.isLineBasicMaterial) {\n      refreshUniformsLine(uniforms, material);\n      if (material.isLineDashedMaterial) {\n        refreshUniformsDash(uniforms, material);\n      }\n    } else if (material.isPointsMaterial) {\n      refreshUniformsPoints(uniforms, material, pixelRatio, height);\n    } else if (material.isSpriteMaterial) {\n      refreshUniformsSprites(uniforms, material);\n    } else if (material.isShadowMaterial) {\n      uniforms.color.value.copy(material.color);\n      uniforms.opacity.value = material.opacity;\n    } else if (material.isShaderMaterial) {\n      material.uniformsNeedUpdate = false;\n    }\n  }\n  function refreshUniformsCommon(uniforms, material) {\n    uniforms.opacity.value = material.opacity;\n    if (material.color) {\n      uniforms.diffuse.value.copy(material.color);\n    }\n    if (material.emissive) {\n      uniforms.emissive.value.copy(material.emissive).multiplyScalar(material.emissiveIntensity);\n    }\n    if (material.map) {\n      uniforms.map.value = material.map;\n      refreshTransformUniform(material.map, uniforms.mapTransform);\n    }\n    if (material.alphaMap) {\n      uniforms.alphaMap.value = material.alphaMap;\n      refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform);\n    }\n    if (material.bumpMap) {\n      uniforms.bumpMap.value = material.bumpMap;\n      refreshTransformUniform(material.bumpMap, uniforms.bumpMapTransform);\n      uniforms.bumpScale.value = material.bumpScale;\n      if (material.side === BackSide) {\n        uniforms.bumpScale.value *= -1;\n      }\n    }\n    if (material.normalMap) {\n      uniforms.normalMap.value = material.normalMap;\n      refreshTransformUniform(material.normalMap, uniforms.normalMapTransform);\n      uniforms.normalScale.value.copy(material.normalScale);\n      if (material.side === BackSide) {\n        uniforms.normalScale.value.negate();\n      }\n    }\n    if (material.displacementMap) {\n      uniforms.displacementMap.value = material.displacementMap;\n      refreshTransformUniform(material.displacementMap, uniforms.displacementMapTransform);\n      uniforms.displacementScale.value = material.displacementScale;\n      uniforms.displacementBias.value = material.displacementBias;\n    }\n    if (material.emissiveMap) {\n      uniforms.emissiveMap.value = material.emissiveMap;\n      refreshTransformUniform(material.emissiveMap, uniforms.emissiveMapTransform);\n    }\n    if (material.specularMap) {\n      uniforms.specularMap.value = material.specularMap;\n      refreshTransformUniform(material.specularMap, uniforms.specularMapTransform);\n    }\n    if (material.alphaTest > 0) {\n      uniforms.alphaTest.value = material.alphaTest;\n    }\n    const materialProperties = properties.get(material);\n    const envMap = materialProperties.envMap;\n    const envMapRotation = materialProperties.envMapRotation;\n    if (envMap) {\n      uniforms.envMap.value = envMap;\n      _e1.copy(envMapRotation);\n      _e1.x *= -1;\n      _e1.y *= -1;\n      _e1.z *= -1;\n      if (envMap.isCubeTexture && envMap.isRenderTargetTexture === false) {\n        _e1.y *= -1;\n        _e1.z *= -1;\n      }\n      uniforms.envMapRotation.value.setFromMatrix4(_m1.makeRotationFromEuler(_e1));\n      uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1;\n      uniforms.reflectivity.value = material.reflectivity;\n      uniforms.ior.value = material.ior;\n      uniforms.refractionRatio.value = material.refractionRatio;\n    }\n    if (material.lightMap) {\n      uniforms.lightMap.value = material.lightMap;\n      uniforms.lightMapIntensity.value = material.lightMapIntensity;\n      refreshTransformUniform(material.lightMap, uniforms.lightMapTransform);\n    }\n    if (material.aoMap) {\n      uniforms.aoMap.value = material.aoMap;\n      uniforms.aoMapIntensity.value = material.aoMapIntensity;\n      refreshTransformUniform(material.aoMap, uniforms.aoMapTransform);\n    }\n  }\n  function refreshUniformsLine(uniforms, material) {\n    uniforms.diffuse.value.copy(material.color);\n    uniforms.opacity.value = material.opacity;\n    if (material.map) {\n      uniforms.map.value = material.map;\n      refreshTransformUniform(material.map, uniforms.mapTransform);\n    }\n  }\n  function refreshUniformsDash(uniforms, material) {\n    uniforms.dashSize.value = material.dashSize;\n    uniforms.totalSize.value = material.dashSize + material.gapSize;\n    uniforms.scale.value = material.scale;\n  }\n  function refreshUniformsPoints(uniforms, material, pixelRatio, height) {\n    uniforms.diffuse.value.copy(material.color);\n    uniforms.opacity.value = material.opacity;\n    uniforms.size.value = material.size * pixelRatio;\n    uniforms.scale.value = height * 0.5;\n    if (material.map) {\n      uniforms.map.value = material.map;\n      refreshTransformUniform(material.map, uniforms.uvTransform);\n    }\n    if (material.alphaMap) {\n      uniforms.alphaMap.value = material.alphaMap;\n      refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform);\n    }\n    if (material.alphaTest > 0) {\n      uniforms.alphaTest.value = material.alphaTest;\n    }\n  }\n  function refreshUniformsSprites(uniforms, material) {\n    uniforms.diffuse.value.copy(material.color);\n    uniforms.opacity.value = material.opacity;\n    uniforms.rotation.value = material.rotation;\n    if (material.map) {\n      uniforms.map.value = material.map;\n      refreshTransformUniform(material.map, uniforms.mapTransform);\n    }\n    if (material.alphaMap) {\n      uniforms.alphaMap.value = material.alphaMap;\n      refreshTransformUniform(material.alphaMap, uniforms.alphaMapTransform);\n    }\n    if (material.alphaTest > 0) {\n      uniforms.alphaTest.value = material.alphaTest;\n    }\n  }\n  function refreshUniformsPhong(uniforms, material) {\n    uniforms.specular.value.copy(material.specular);\n    uniforms.shininess.value = Math.max(material.shininess, 1e-4);\n  }\n  function refreshUniformsToon(uniforms, material) {\n    if (material.gradientMap) {\n      uniforms.gradientMap.value = material.gradientMap;\n    }\n  }\n  function refreshUniformsStandard(uniforms, material) {\n    uniforms.metalness.value = material.metalness;\n    if (material.metalnessMap) {\n      uniforms.metalnessMap.value = material.metalnessMap;\n      refreshTransformUniform(material.metalnessMap, uniforms.metalnessMapTransform);\n    }\n    uniforms.roughness.value = material.roughness;\n    if (material.roughnessMap) {\n      uniforms.roughnessMap.value = material.roughnessMap;\n      refreshTransformUniform(material.roughnessMap, uniforms.roughnessMapTransform);\n    }\n    if (material.envMap) {\n      uniforms.envMapIntensity.value = material.envMapIntensity;\n    }\n  }\n  function refreshUniformsPhysical(uniforms, material, transmissionRenderTarget) {\n    uniforms.ior.value = material.ior;\n    if (material.sheen > 0) {\n      uniforms.sheenColor.value.copy(material.sheenColor).multiplyScalar(material.sheen);\n      uniforms.sheenRoughness.value = material.sheenRoughness;\n      if (material.sheenColorMap) {\n        uniforms.sheenColorMap.value = material.sheenColorMap;\n        refreshTransformUniform(material.sheenColorMap, uniforms.sheenColorMapTransform);\n      }\n      if (material.sheenRoughnessMap) {\n        uniforms.sheenRoughnessMap.value = material.sheenRoughnessMap;\n        refreshTransformUniform(material.sheenRoughnessMap, uniforms.sheenRoughnessMapTransform);\n      }\n    }\n    if (material.clearcoat > 0) {\n      uniforms.clearcoat.value = material.clearcoat;\n      uniforms.clearcoatRoughness.value = material.clearcoatRoughness;\n      if (material.clearcoatMap) {\n        uniforms.clearcoatMap.value = material.clearcoatMap;\n        refreshTransformUniform(material.clearcoatMap, uniforms.clearcoatMapTransform);\n      }\n      if (material.clearcoatRoughnessMap) {\n        uniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap;\n        refreshTransformUniform(material.clearcoatRoughnessMap, uniforms.clearcoatRoughnessMapTransform);\n      }\n      if (material.clearcoatNormalMap) {\n        uniforms.clearcoatNormalMap.value = material.clearcoatNormalMap;\n        refreshTransformUniform(material.clearcoatNormalMap, uniforms.clearcoatNormalMapTransform);\n        uniforms.clearcoatNormalScale.value.copy(material.clearcoatNormalScale);\n        if (material.side === BackSide) {\n          uniforms.clearcoatNormalScale.value.negate();\n        }\n      }\n    }\n    if (material.dispersion > 0) {\n      uniforms.dispersion.value = material.dispersion;\n    }\n    if (material.iridescence > 0) {\n      uniforms.iridescence.value = material.iridescence;\n      uniforms.iridescenceIOR.value = material.iridescenceIOR;\n      uniforms.iridescenceThicknessMinimum.value = material.iridescenceThicknessRange[0];\n      uniforms.iridescenceThicknessMaximum.value = material.iridescenceThicknessRange[1];\n      if (material.iridescenceMap) {\n        uniforms.iridescenceMap.value = material.iridescenceMap;\n        refreshTransformUniform(material.iridescenceMap, uniforms.iridescenceMapTransform);\n      }\n      if (material.iridescenceThicknessMap) {\n        uniforms.iridescenceThicknessMap.value = material.iridescenceThicknessMap;\n        refreshTransformUniform(material.iridescenceThicknessMap, uniforms.iridescenceThicknessMapTransform);\n      }\n    }\n    if (material.transmission > 0) {\n      uniforms.transmission.value = material.transmission;\n      uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture;\n      uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width, transmissionRenderTarget.height);\n      if (material.transmissionMap) {\n        uniforms.transmissionMap.value = material.transmissionMap;\n        refreshTransformUniform(material.transmissionMap, uniforms.transmissionMapTransform);\n      }\n      uniforms.thickness.value = material.thickness;\n      if (material.thicknessMap) {\n        uniforms.thicknessMap.value = material.thicknessMap;\n        refreshTransformUniform(material.thicknessMap, uniforms.thicknessMapTransform);\n      }\n      uniforms.attenuationDistance.value = material.attenuationDistance;\n      uniforms.attenuationColor.value.copy(material.attenuationColor);\n    }\n    if (material.anisotropy > 0) {\n      uniforms.anisotropyVector.value.set(material.anisotropy * Math.cos(material.anisotropyRotation), material.anisotropy * Math.sin(material.anisotropyRotation));\n      if (material.anisotropyMap) {\n        uniforms.anisotropyMap.value = material.anisotropyMap;\n        refreshTransformUniform(material.anisotropyMap, uniforms.anisotropyMapTransform);\n      }\n    }\n    uniforms.specularIntensity.value = material.specularIntensity;\n    uniforms.specularColor.value.copy(material.specularColor);\n    if (material.specularColorMap) {\n      uniforms.specularColorMap.value = material.specularColorMap;\n      refreshTransformUniform(material.specularColorMap, uniforms.specularColorMapTransform);\n    }\n    if (material.specularIntensityMap) {\n      uniforms.specularIntensityMap.value = material.specularIntensityMap;\n      refreshTransformUniform(material.specularIntensityMap, uniforms.specularIntensityMapTransform);\n    }\n  }\n  function refreshUniformsMatcap(uniforms, material) {\n    if (material.matcap) {\n      uniforms.matcap.value = material.matcap;\n    }\n  }\n  function refreshUniformsDistance(uniforms, material) {\n    const light = properties.get(material).light;\n    uniforms.referencePosition.value.setFromMatrixPosition(light.matrixWorld);\n    uniforms.nearDistance.value = light.shadow.camera.near;\n    uniforms.farDistance.value = light.shadow.camera.far;\n  }\n  return {\n    refreshFogUniforms,\n    refreshMaterialUniforms\n  };\n}\nfunction WebGLUniformsGroups(gl, info, capabilities, state) {\n  let buffers = {};\n  let updateList = {};\n  let allocatedBindingPoints = [];\n  const maxBindingPoints = gl.getParameter(gl.MAX_UNIFORM_BUFFER_BINDINGS);\n  function bind(uniformsGroup, program) {\n    const webglProgram = program.program;\n    state.uniformBlockBinding(uniformsGroup, webglProgram);\n  }\n  function update(uniformsGroup, program) {\n    let buffer = buffers[uniformsGroup.id];\n    if (buffer === void 0) {\n      prepareUniformsGroup(uniformsGroup);\n      buffer = createBuffer(uniformsGroup);\n      buffers[uniformsGroup.id] = buffer;\n      uniformsGroup.addEventListener(\"dispose\", onUniformsGroupsDispose);\n    }\n    const webglProgram = program.program;\n    state.updateUBOMapping(uniformsGroup, webglProgram);\n    const frame = info.render.frame;\n    if (updateList[uniformsGroup.id] !== frame) {\n      updateBufferData(uniformsGroup);\n      updateList[uniformsGroup.id] = frame;\n    }\n  }\n  function createBuffer(uniformsGroup) {\n    const bindingPointIndex = allocateBindingPointIndex();\n    uniformsGroup.__bindingPointIndex = bindingPointIndex;\n    const buffer = gl.createBuffer();\n    const size = uniformsGroup.__size;\n    const usage = uniformsGroup.usage;\n    gl.bindBuffer(gl.UNIFORM_BUFFER, buffer);\n    gl.bufferData(gl.UNIFORM_BUFFER, size, usage);\n    gl.bindBuffer(gl.UNIFORM_BUFFER, null);\n    gl.bindBufferBase(gl.UNIFORM_BUFFER, bindingPointIndex, buffer);\n    return buffer;\n  }\n  function allocateBindingPointIndex() {\n    for (let i = 0; i < maxBindingPoints; i++) {\n      if (allocatedBindingPoints.indexOf(i) === -1) {\n        allocatedBindingPoints.push(i);\n        return i;\n      }\n    }\n    console.error(\"THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.\");\n    return 0;\n  }\n  function updateBufferData(uniformsGroup) {\n    const buffer = buffers[uniformsGroup.id];\n    const uniforms = uniformsGroup.uniforms;\n    const cache = uniformsGroup.__cache;\n    gl.bindBuffer(gl.UNIFORM_BUFFER, buffer);\n    for (let i = 0, il = uniforms.length; i < il; i++) {\n      const uniformArray = Array.isArray(uniforms[i]) ? uniforms[i] : [uniforms[i]];\n      for (let j = 0, jl = uniformArray.length; j < jl; j++) {\n        const uniform = uniformArray[j];\n        if (hasUniformChanged(uniform, i, j, cache) === true) {\n          const offset = uniform.__offset;\n          const values = Array.isArray(uniform.value) ? uniform.value : [uniform.value];\n          let arrayOffset = 0;\n          for (let k = 0; k < values.length; k++) {\n            const value = values[k];\n            const info2 = getUniformSize(value);\n            if (typeof value === \"number\" || typeof value === \"boolean\") {\n              uniform.__data[0] = value;\n              gl.bufferSubData(gl.UNIFORM_BUFFER, offset + arrayOffset, uniform.__data);\n            } else if (value.isMatrix3) {\n              uniform.__data[0] = value.elements[0];\n              uniform.__data[1] = value.elements[1];\n              uniform.__data[2] = value.elements[2];\n              uniform.__data[3] = 0;\n              uniform.__data[4] = value.elements[3];\n              uniform.__data[5] = value.elements[4];\n              uniform.__data[6] = value.elements[5];\n              uniform.__data[7] = 0;\n              uniform.__data[8] = value.elements[6];\n              uniform.__data[9] = value.elements[7];\n              uniform.__data[10] = value.elements[8];\n              uniform.__data[11] = 0;\n            } else {\n              value.toArray(uniform.__data, arrayOffset);\n              arrayOffset += info2.storage / Float32Array.BYTES_PER_ELEMENT;\n            }\n          }\n          gl.bufferSubData(gl.UNIFORM_BUFFER, offset, uniform.__data);\n        }\n      }\n    }\n    gl.bindBuffer(gl.UNIFORM_BUFFER, null);\n  }\n  function hasUniformChanged(uniform, index, indexArray, cache) {\n    const value = uniform.value;\n    const indexString = index + \"_\" + indexArray;\n    if (cache[indexString] === void 0) {\n      if (typeof value === \"number\" || typeof value === \"boolean\") {\n        cache[indexString] = value;\n      } else {\n        cache[indexString] = value.clone();\n      }\n      return true;\n    } else {\n      const cachedObject = cache[indexString];\n      if (typeof value === \"number\" || typeof value === \"boolean\") {\n        if (cachedObject !== value) {\n          cache[indexString] = value;\n          return true;\n        }\n      } else {\n        if (cachedObject.equals(value) === false) {\n          cachedObject.copy(value);\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n  function prepareUniformsGroup(uniformsGroup) {\n    const uniforms = uniformsGroup.uniforms;\n    let offset = 0;\n    const chunkSize = 16;\n    for (let i = 0, l = uniforms.length; i < l; i++) {\n      const uniformArray = Array.isArray(uniforms[i]) ? uniforms[i] : [uniforms[i]];\n      for (let j = 0, jl = uniformArray.length; j < jl; j++) {\n        const uniform = uniformArray[j];\n        const values = Array.isArray(uniform.value) ? uniform.value : [uniform.value];\n        for (let k = 0, kl = values.length; k < kl; k++) {\n          const value = values[k];\n          const info2 = getUniformSize(value);\n          const chunkOffset2 = offset % chunkSize;\n          const chunkPadding = chunkOffset2 % info2.boundary;\n          const chunkStart = chunkOffset2 + chunkPadding;\n          offset += chunkPadding;\n          if (chunkStart !== 0 && chunkSize - chunkStart < info2.storage) {\n            offset += chunkSize - chunkStart;\n          }\n          uniform.__data = new Float32Array(info2.storage / Float32Array.BYTES_PER_ELEMENT);\n          uniform.__offset = offset;\n          offset += info2.storage;\n        }\n      }\n    }\n    const chunkOffset = offset % chunkSize;\n    if (chunkOffset > 0) offset += chunkSize - chunkOffset;\n    uniformsGroup.__size = offset;\n    uniformsGroup.__cache = {};\n    return this;\n  }\n  function getUniformSize(value) {\n    const info2 = {\n      boundary: 0,\n      // bytes\n      storage: 0\n      // bytes\n    };\n    if (typeof value === \"number\" || typeof value === \"boolean\") {\n      info2.boundary = 4;\n      info2.storage = 4;\n    } else if (value.isVector2) {\n      info2.boundary = 8;\n      info2.storage = 8;\n    } else if (value.isVector3 || value.isColor) {\n      info2.boundary = 16;\n      info2.storage = 12;\n    } else if (value.isVector4) {\n      info2.boundary = 16;\n      info2.storage = 16;\n    } else if (value.isMatrix3) {\n      info2.boundary = 48;\n      info2.storage = 48;\n    } else if (value.isMatrix4) {\n      info2.boundary = 64;\n      info2.storage = 64;\n    } else if (value.isTexture) {\n      console.warn(\"THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group.\");\n    } else {\n      console.warn(\"THREE.WebGLRenderer: Unsupported uniform value type.\", value);\n    }\n    return info2;\n  }\n  function onUniformsGroupsDispose(event) {\n    const uniformsGroup = event.target;\n    uniformsGroup.removeEventListener(\"dispose\", onUniformsGroupsDispose);\n    const index = allocatedBindingPoints.indexOf(uniformsGroup.__bindingPointIndex);\n    allocatedBindingPoints.splice(index, 1);\n    gl.deleteBuffer(buffers[uniformsGroup.id]);\n    delete buffers[uniformsGroup.id];\n    delete updateList[uniformsGroup.id];\n  }\n  function dispose() {\n    for (const id in buffers) {\n      gl.deleteBuffer(buffers[id]);\n    }\n    allocatedBindingPoints = [];\n    buffers = {};\n    updateList = {};\n  }\n  return {\n    bind,\n    update,\n    dispose\n  };\n}\nvar WebGLRenderer = class {\n  constructor(parameters = {}) {\n    const {\n      canvas = createCanvasElement(),\n      context = null,\n      depth = true,\n      stencil = false,\n      alpha = false,\n      antialias = false,\n      premultipliedAlpha = true,\n      preserveDrawingBuffer = false,\n      powerPreference = \"default\",\n      failIfMajorPerformanceCaveat = false\n    } = parameters;\n    this.isWebGLRenderer = true;\n    let _alpha;\n    if (context !== null) {\n      if (typeof WebGLRenderingContext !== \"undefined\" && context instanceof WebGLRenderingContext) {\n        throw new Error(\"THREE.WebGLRenderer: WebGL 1 is not supported since r163.\");\n      }\n      _alpha = context.getContextAttributes().alpha;\n    } else {\n      _alpha = alpha;\n    }\n    const uintClearColor = new Uint32Array(4);\n    const intClearColor = new Int32Array(4);\n    let currentRenderList = null;\n    let currentRenderState = null;\n    const renderListStack = [];\n    const renderStateStack = [];\n    this.domElement = canvas;\n    this.debug = {\n      /**\n       * Enables error checking and reporting when shader programs are being compiled\n       * @type {boolean}\n       */\n      checkShaderErrors: true,\n      /**\n       * Callback for custom error reporting.\n       * @type {?Function}\n       */\n      onShaderError: null\n    };\n    this.autoClear = true;\n    this.autoClearColor = true;\n    this.autoClearDepth = true;\n    this.autoClearStencil = true;\n    this.sortObjects = true;\n    this.clippingPlanes = [];\n    this.localClippingEnabled = false;\n    this._outputColorSpace = SRGBColorSpace;\n    this.toneMapping = NoToneMapping;\n    this.toneMappingExposure = 1;\n    const _this = this;\n    let _isContextLost = false;\n    let _currentActiveCubeFace = 0;\n    let _currentActiveMipmapLevel = 0;\n    let _currentRenderTarget = null;\n    let _currentMaterialId = -1;\n    let _currentCamera = null;\n    const _currentViewport = new Vector4();\n    const _currentScissor = new Vector4();\n    let _currentScissorTest = null;\n    const _currentClearColor = new Color(0);\n    let _currentClearAlpha = 0;\n    let _width = canvas.width;\n    let _height = canvas.height;\n    let _pixelRatio = 1;\n    let _opaqueSort = null;\n    let _transparentSort = null;\n    const _viewport = new Vector4(0, 0, _width, _height);\n    const _scissor = new Vector4(0, 0, _width, _height);\n    let _scissorTest = false;\n    const _frustum2 = new Frustum();\n    let _clippingEnabled = false;\n    let _localClippingEnabled = false;\n    const _currentProjectionMatrix = new Matrix4();\n    const _projScreenMatrix2 = new Matrix4();\n    const _vector32 = new Vector3();\n    const _vector4 = new Vector4();\n    const _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: true };\n    let _renderBackground = false;\n    function getTargetPixelRatio() {\n      return _currentRenderTarget === null ? _pixelRatio : 1;\n    }\n    let _gl = context;\n    function getContext(contextName, contextAttributes) {\n      return canvas.getContext(contextName, contextAttributes);\n    }\n    try {\n      const contextAttributes = {\n        alpha: true,\n        depth,\n        stencil,\n        antialias,\n        premultipliedAlpha,\n        preserveDrawingBuffer,\n        powerPreference,\n        failIfMajorPerformanceCaveat\n      };\n      if (\"setAttribute\" in canvas) canvas.setAttribute(\"data-engine\", `three.js r${REVISION}`);\n      canvas.addEventListener(\"webglcontextlost\", onContextLost, false);\n      canvas.addEventListener(\"webglcontextrestored\", onContextRestore, false);\n      canvas.addEventListener(\"webglcontextcreationerror\", onContextCreationError, false);\n      if (_gl === null) {\n        const contextName = \"webgl2\";\n        _gl = getContext(contextName, contextAttributes);\n        if (_gl === null) {\n          if (getContext(contextName)) {\n            throw new Error(\"Error creating WebGL context with your selected attributes.\");\n          } else {\n            throw new Error(\"Error creating WebGL context.\");\n          }\n        }\n      }\n    } catch (error) {\n      console.error(\"THREE.WebGLRenderer: \" + error.message);\n      throw error;\n    }\n    let extensions, capabilities, state, info;\n    let properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects;\n    let programCache, materials, renderLists, renderStates, clipping, shadowMap;\n    let background, morphtargets, bufferRenderer, indexedBufferRenderer;\n    let utils, bindingStates, uniformsGroups;\n    function initGLContext() {\n      extensions = new WebGLExtensions(_gl);\n      extensions.init();\n      utils = new WebGLUtils(_gl, extensions);\n      capabilities = new WebGLCapabilities(_gl, extensions, parameters, utils);\n      state = new WebGLState(_gl);\n      if (capabilities.reverseDepthBuffer) state.buffers.depth.setReversed(true);\n      info = new WebGLInfo(_gl);\n      properties = new WebGLProperties();\n      textures = new WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info);\n      cubemaps = new WebGLCubeMaps(_this);\n      cubeuvmaps = new WebGLCubeUVMaps(_this);\n      attributes = new WebGLAttributes(_gl);\n      bindingStates = new WebGLBindingStates(_gl, attributes);\n      geometries = new WebGLGeometries(_gl, attributes, info, bindingStates);\n      objects = new WebGLObjects(_gl, geometries, attributes, info);\n      morphtargets = new WebGLMorphtargets(_gl, capabilities, textures);\n      clipping = new WebGLClipping(properties);\n      programCache = new WebGLPrograms(_this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping);\n      materials = new WebGLMaterials(_this, properties);\n      renderLists = new WebGLRenderLists();\n      renderStates = new WebGLRenderStates(extensions);\n      background = new WebGLBackground(_this, cubemaps, cubeuvmaps, state, objects, _alpha, premultipliedAlpha);\n      shadowMap = new WebGLShadowMap(_this, objects, capabilities);\n      uniformsGroups = new WebGLUniformsGroups(_gl, info, capabilities, state);\n      bufferRenderer = new WebGLBufferRenderer(_gl, extensions, info);\n      indexedBufferRenderer = new WebGLIndexedBufferRenderer(_gl, extensions, info);\n      info.programs = programCache.programs;\n      _this.capabilities = capabilities;\n      _this.extensions = extensions;\n      _this.properties = properties;\n      _this.renderLists = renderLists;\n      _this.shadowMap = shadowMap;\n      _this.state = state;\n      _this.info = info;\n    }\n    initGLContext();\n    const xr = new WebXRManager(_this, _gl);\n    this.xr = xr;\n    this.getContext = function() {\n      return _gl;\n    };\n    this.getContextAttributes = function() {\n      return _gl.getContextAttributes();\n    };\n    this.forceContextLoss = function() {\n      const extension = extensions.get(\"WEBGL_lose_context\");\n      if (extension) extension.loseContext();\n    };\n    this.forceContextRestore = function() {\n      const extension = extensions.get(\"WEBGL_lose_context\");\n      if (extension) extension.restoreContext();\n    };\n    this.getPixelRatio = function() {\n      return _pixelRatio;\n    };\n    this.setPixelRatio = function(value) {\n      if (value === void 0) return;\n      _pixelRatio = value;\n      this.setSize(_width, _height, false);\n    };\n    this.getSize = function(target) {\n      return target.set(_width, _height);\n    };\n    this.setSize = function(width, height, updateStyle = true) {\n      if (xr.isPresenting) {\n        console.warn(\"THREE.WebGLRenderer: Can't change size while VR device is presenting.\");\n        return;\n      }\n      _width = width;\n      _height = height;\n      canvas.width = Math.floor(width * _pixelRatio);\n      canvas.height = Math.floor(height * _pixelRatio);\n      if (updateStyle === true) {\n        canvas.style.width = width + \"px\";\n        canvas.style.height = height + \"px\";\n      }\n      this.setViewport(0, 0, width, height);\n    };\n    this.getDrawingBufferSize = function(target) {\n      return target.set(_width * _pixelRatio, _height * _pixelRatio).floor();\n    };\n    this.setDrawingBufferSize = function(width, height, pixelRatio) {\n      _width = width;\n      _height = height;\n      _pixelRatio = pixelRatio;\n      canvas.width = Math.floor(width * pixelRatio);\n      canvas.height = Math.floor(height * pixelRatio);\n      this.setViewport(0, 0, width, height);\n    };\n    this.getCurrentViewport = function(target) {\n      return target.copy(_currentViewport);\n    };\n    this.getViewport = function(target) {\n      return target.copy(_viewport);\n    };\n    this.setViewport = function(x, y, width, height) {\n      if (x.isVector4) {\n        _viewport.set(x.x, x.y, x.z, x.w);\n      } else {\n        _viewport.set(x, y, width, height);\n      }\n      state.viewport(_currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).round());\n    };\n    this.getScissor = function(target) {\n      return target.copy(_scissor);\n    };\n    this.setScissor = function(x, y, width, height) {\n      if (x.isVector4) {\n        _scissor.set(x.x, x.y, x.z, x.w);\n      } else {\n        _scissor.set(x, y, width, height);\n      }\n      state.scissor(_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).round());\n    };\n    this.getScissorTest = function() {\n      return _scissorTest;\n    };\n    this.setScissorTest = function(boolean) {\n      state.setScissorTest(_scissorTest = boolean);\n    };\n    this.setOpaqueSort = function(method) {\n      _opaqueSort = method;\n    };\n    this.setTransparentSort = function(method) {\n      _transparentSort = method;\n    };\n    this.getClearColor = function(target) {\n      return target.copy(background.getClearColor());\n    };\n    this.setClearColor = function() {\n      background.setClearColor.apply(background, arguments);\n    };\n    this.getClearAlpha = function() {\n      return background.getClearAlpha();\n    };\n    this.setClearAlpha = function() {\n      background.setClearAlpha.apply(background, arguments);\n    };\n    this.clear = function(color = true, depth2 = true, stencil2 = true) {\n      let bits = 0;\n      if (color) {\n        let isIntegerFormat = false;\n        if (_currentRenderTarget !== null) {\n          const targetFormat = _currentRenderTarget.texture.format;\n          isIntegerFormat = targetFormat === RGBAIntegerFormat || targetFormat === RGIntegerFormat || targetFormat === RedIntegerFormat;\n        }\n        if (isIntegerFormat) {\n          const targetType = _currentRenderTarget.texture.type;\n          const isUnsignedType = targetType === UnsignedByteType || targetType === UnsignedIntType || targetType === UnsignedShortType || targetType === UnsignedInt248Type || targetType === UnsignedShort4444Type || targetType === UnsignedShort5551Type;\n          const clearColor = background.getClearColor();\n          const a = background.getClearAlpha();\n          const r = clearColor.r;\n          const g = clearColor.g;\n          const b = clearColor.b;\n          if (isUnsignedType) {\n            uintClearColor[0] = r;\n            uintClearColor[1] = g;\n            uintClearColor[2] = b;\n            uintClearColor[3] = a;\n            _gl.clearBufferuiv(_gl.COLOR, 0, uintClearColor);\n          } else {\n            intClearColor[0] = r;\n            intClearColor[1] = g;\n            intClearColor[2] = b;\n            intClearColor[3] = a;\n            _gl.clearBufferiv(_gl.COLOR, 0, intClearColor);\n          }\n        } else {\n          bits |= _gl.COLOR_BUFFER_BIT;\n        }\n      }\n      if (depth2) {\n        bits |= _gl.DEPTH_BUFFER_BIT;\n        _gl.clearDepth(this.capabilities.reverseDepthBuffer ? 0 : 1);\n      }\n      if (stencil2) {\n        bits |= _gl.STENCIL_BUFFER_BIT;\n        this.state.buffers.stencil.setMask(4294967295);\n      }\n      _gl.clear(bits);\n    };\n    this.clearColor = function() {\n      this.clear(true, false, false);\n    };\n    this.clearDepth = function() {\n      this.clear(false, true, false);\n    };\n    this.clearStencil = function() {\n      this.clear(false, false, true);\n    };\n    this.dispose = function() {\n      canvas.removeEventListener(\"webglcontextlost\", onContextLost, false);\n      canvas.removeEventListener(\"webglcontextrestored\", onContextRestore, false);\n      canvas.removeEventListener(\"webglcontextcreationerror\", onContextCreationError, false);\n      renderLists.dispose();\n      renderStates.dispose();\n      properties.dispose();\n      cubemaps.dispose();\n      cubeuvmaps.dispose();\n      objects.dispose();\n      bindingStates.dispose();\n      uniformsGroups.dispose();\n      programCache.dispose();\n      xr.dispose();\n      xr.removeEventListener(\"sessionstart\", onXRSessionStart);\n      xr.removeEventListener(\"sessionend\", onXRSessionEnd);\n      animation.stop();\n    };\n    function onContextLost(event) {\n      event.preventDefault();\n      console.log(\"THREE.WebGLRenderer: Context Lost.\");\n      _isContextLost = true;\n    }\n    function onContextRestore() {\n      console.log(\"THREE.WebGLRenderer: Context Restored.\");\n      _isContextLost = false;\n      const infoAutoReset = info.autoReset;\n      const shadowMapEnabled = shadowMap.enabled;\n      const shadowMapAutoUpdate = shadowMap.autoUpdate;\n      const shadowMapNeedsUpdate = shadowMap.needsUpdate;\n      const shadowMapType = shadowMap.type;\n      initGLContext();\n      info.autoReset = infoAutoReset;\n      shadowMap.enabled = shadowMapEnabled;\n      shadowMap.autoUpdate = shadowMapAutoUpdate;\n      shadowMap.needsUpdate = shadowMapNeedsUpdate;\n      shadowMap.type = shadowMapType;\n    }\n    function onContextCreationError(event) {\n      console.error(\"THREE.WebGLRenderer: A WebGL context could not be created. Reason: \", event.statusMessage);\n    }\n    function onMaterialDispose(event) {\n      const material = event.target;\n      material.removeEventListener(\"dispose\", onMaterialDispose);\n      deallocateMaterial(material);\n    }\n    function deallocateMaterial(material) {\n      releaseMaterialProgramReferences(material);\n      properties.remove(material);\n    }\n    function releaseMaterialProgramReferences(material) {\n      const programs = properties.get(material).programs;\n      if (programs !== void 0) {\n        programs.forEach(function(program) {\n          programCache.releaseProgram(program);\n        });\n        if (material.isShaderMaterial) {\n          programCache.releaseShaderCache(material);\n        }\n      }\n    }\n    this.renderBufferDirect = function(camera, scene, geometry, material, object, group) {\n      if (scene === null) scene = _emptyScene;\n      const frontFaceCW = object.isMesh && object.matrixWorld.determinant() < 0;\n      const program = setProgram(camera, scene, geometry, material, object);\n      state.setMaterial(material, frontFaceCW);\n      let index = geometry.index;\n      let rangeFactor = 1;\n      if (material.wireframe === true) {\n        index = geometries.getWireframeAttribute(geometry);\n        if (index === void 0) return;\n        rangeFactor = 2;\n      }\n      const drawRange = geometry.drawRange;\n      const position = geometry.attributes.position;\n      let drawStart = drawRange.start * rangeFactor;\n      let drawEnd = (drawRange.start + drawRange.count) * rangeFactor;\n      if (group !== null) {\n        drawStart = Math.max(drawStart, group.start * rangeFactor);\n        drawEnd = Math.min(drawEnd, (group.start + group.count) * rangeFactor);\n      }\n      if (index !== null) {\n        drawStart = Math.max(drawStart, 0);\n        drawEnd = Math.min(drawEnd, index.count);\n      } else if (position !== void 0 && position !== null) {\n        drawStart = Math.max(drawStart, 0);\n        drawEnd = Math.min(drawEnd, position.count);\n      }\n      const drawCount = drawEnd - drawStart;\n      if (drawCount < 0 || drawCount === Infinity) return;\n      bindingStates.setup(object, material, program, geometry, index);\n      let attribute;\n      let renderer = bufferRenderer;\n      if (index !== null) {\n        attribute = attributes.get(index);\n        renderer = indexedBufferRenderer;\n        renderer.setIndex(attribute);\n      }\n      if (object.isMesh) {\n        if (material.wireframe === true) {\n          state.setLineWidth(material.wireframeLinewidth * getTargetPixelRatio());\n          renderer.setMode(_gl.LINES);\n        } else {\n          renderer.setMode(_gl.TRIANGLES);\n        }\n      } else if (object.isLine) {\n        let lineWidth = material.linewidth;\n        if (lineWidth === void 0) lineWidth = 1;\n        state.setLineWidth(lineWidth * getTargetPixelRatio());\n        if (object.isLineSegments) {\n          renderer.setMode(_gl.LINES);\n        } else if (object.isLineLoop) {\n          renderer.setMode(_gl.LINE_LOOP);\n        } else {\n          renderer.setMode(_gl.LINE_STRIP);\n        }\n      } else if (object.isPoints) {\n        renderer.setMode(_gl.POINTS);\n      } else if (object.isSprite) {\n        renderer.setMode(_gl.TRIANGLES);\n      }\n      if (object.isBatchedMesh) {\n        if (object._multiDrawInstances !== null) {\n          renderer.renderMultiDrawInstances(object._multiDrawStarts, object._multiDrawCounts, object._multiDrawCount, object._multiDrawInstances);\n        } else {\n          if (!extensions.get(\"WEBGL_multi_draw\")) {\n            const starts = object._multiDrawStarts;\n            const counts = object._multiDrawCounts;\n            const drawCount2 = object._multiDrawCount;\n            const bytesPerElement = index ? attributes.get(index).bytesPerElement : 1;\n            const uniforms = properties.get(material).currentProgram.getUniforms();\n            for (let i = 0; i < drawCount2; i++) {\n              uniforms.setValue(_gl, \"_gl_DrawID\", i);\n              renderer.render(starts[i] / bytesPerElement, counts[i]);\n            }\n          } else {\n            renderer.renderMultiDraw(object._multiDrawStarts, object._multiDrawCounts, object._multiDrawCount);\n          }\n        }\n      } else if (object.isInstancedMesh) {\n        renderer.renderInstances(drawStart, drawCount, object.count);\n      } else if (geometry.isInstancedBufferGeometry) {\n        const maxInstanceCount = geometry._maxInstanceCount !== void 0 ? geometry._maxInstanceCount : Infinity;\n        const instanceCount = Math.min(geometry.instanceCount, maxInstanceCount);\n        renderer.renderInstances(drawStart, drawCount, instanceCount);\n      } else {\n        renderer.render(drawStart, drawCount);\n      }\n    };\n    function prepareMaterial(material, scene, object) {\n      if (material.transparent === true && material.side === DoubleSide && material.forceSinglePass === false) {\n        material.side = BackSide;\n        material.needsUpdate = true;\n        getProgram(material, scene, object);\n        material.side = FrontSide;\n        material.needsUpdate = true;\n        getProgram(material, scene, object);\n        material.side = DoubleSide;\n      } else {\n        getProgram(material, scene, object);\n      }\n    }\n    this.compile = function(scene, camera, targetScene = null) {\n      if (targetScene === null) targetScene = scene;\n      currentRenderState = renderStates.get(targetScene);\n      currentRenderState.init(camera);\n      renderStateStack.push(currentRenderState);\n      targetScene.traverseVisible(function(object) {\n        if (object.isLight && object.layers.test(camera.layers)) {\n          currentRenderState.pushLight(object);\n          if (object.castShadow) {\n            currentRenderState.pushShadow(object);\n          }\n        }\n      });\n      if (scene !== targetScene) {\n        scene.traverseVisible(function(object) {\n          if (object.isLight && object.layers.test(camera.layers)) {\n            currentRenderState.pushLight(object);\n            if (object.castShadow) {\n              currentRenderState.pushShadow(object);\n            }\n          }\n        });\n      }\n      currentRenderState.setupLights();\n      const materials2 = /* @__PURE__ */ new Set();\n      scene.traverse(function(object) {\n        if (!(object.isMesh || object.isPoints || object.isLine || object.isSprite)) {\n          return;\n        }\n        const material = object.material;\n        if (material) {\n          if (Array.isArray(material)) {\n            for (let i = 0; i < material.length; i++) {\n              const material2 = material[i];\n              prepareMaterial(material2, targetScene, object);\n              materials2.add(material2);\n            }\n          } else {\n            prepareMaterial(material, targetScene, object);\n            materials2.add(material);\n          }\n        }\n      });\n      renderStateStack.pop();\n      currentRenderState = null;\n      return materials2;\n    };\n    this.compileAsync = function(scene, camera, targetScene = null) {\n      const materials2 = this.compile(scene, camera, targetScene);\n      return new Promise((resolve) => {\n        function checkMaterialsReady() {\n          materials2.forEach(function(material) {\n            const materialProperties = properties.get(material);\n            const program = materialProperties.currentProgram;\n            if (program.isReady()) {\n              materials2.delete(material);\n            }\n          });\n          if (materials2.size === 0) {\n            resolve(scene);\n            return;\n          }\n          setTimeout(checkMaterialsReady, 10);\n        }\n        if (extensions.get(\"KHR_parallel_shader_compile\") !== null) {\n          checkMaterialsReady();\n        } else {\n          setTimeout(checkMaterialsReady, 10);\n        }\n      });\n    };\n    let onAnimationFrameCallback = null;\n    function onAnimationFrame(time) {\n      if (onAnimationFrameCallback) onAnimationFrameCallback(time);\n    }\n    function onXRSessionStart() {\n      animation.stop();\n    }\n    function onXRSessionEnd() {\n      animation.start();\n    }\n    const animation = new WebGLAnimation();\n    animation.setAnimationLoop(onAnimationFrame);\n    if (typeof self !== \"undefined\") animation.setContext(self);\n    this.setAnimationLoop = function(callback) {\n      onAnimationFrameCallback = callback;\n      xr.setAnimationLoop(callback);\n      callback === null ? animation.stop() : animation.start();\n    };\n    xr.addEventListener(\"sessionstart\", onXRSessionStart);\n    xr.addEventListener(\"sessionend\", onXRSessionEnd);\n    this.render = function(scene, camera) {\n      if (camera !== void 0 && camera.isCamera !== true) {\n        console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");\n        return;\n      }\n      if (_isContextLost === true) return;\n      if (scene.matrixWorldAutoUpdate === true) scene.updateMatrixWorld();\n      if (camera.parent === null && camera.matrixWorldAutoUpdate === true) camera.updateMatrixWorld();\n      if (xr.enabled === true && xr.isPresenting === true) {\n        if (xr.cameraAutoUpdate === true) xr.updateCamera(camera);\n        camera = xr.getCamera();\n      }\n      if (scene.isScene === true) scene.onBeforeRender(_this, scene, camera, _currentRenderTarget);\n      currentRenderState = renderStates.get(scene, renderStateStack.length);\n      currentRenderState.init(camera);\n      renderStateStack.push(currentRenderState);\n      _projScreenMatrix2.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);\n      _frustum2.setFromProjectionMatrix(_projScreenMatrix2);\n      _localClippingEnabled = this.localClippingEnabled;\n      _clippingEnabled = clipping.init(this.clippingPlanes, _localClippingEnabled);\n      currentRenderList = renderLists.get(scene, renderListStack.length);\n      currentRenderList.init();\n      renderListStack.push(currentRenderList);\n      if (xr.enabled === true && xr.isPresenting === true) {\n        const depthSensingMesh = _this.xr.getDepthSensingMesh();\n        if (depthSensingMesh !== null) {\n          projectObject(depthSensingMesh, camera, -Infinity, _this.sortObjects);\n        }\n      }\n      projectObject(scene, camera, 0, _this.sortObjects);\n      currentRenderList.finish();\n      if (_this.sortObjects === true) {\n        currentRenderList.sort(_opaqueSort, _transparentSort);\n      }\n      _renderBackground = xr.enabled === false || xr.isPresenting === false || xr.hasDepthSensing() === false;\n      if (_renderBackground) {\n        background.addToRenderList(currentRenderList, scene);\n      }\n      this.info.render.frame++;\n      if (_clippingEnabled === true) clipping.beginShadows();\n      const shadowsArray = currentRenderState.state.shadowsArray;\n      shadowMap.render(shadowsArray, scene, camera);\n      if (_clippingEnabled === true) clipping.endShadows();\n      if (this.info.autoReset === true) this.info.reset();\n      const opaqueObjects = currentRenderList.opaque;\n      const transmissiveObjects = currentRenderList.transmissive;\n      currentRenderState.setupLights();\n      if (camera.isArrayCamera) {\n        const cameras = camera.cameras;\n        if (transmissiveObjects.length > 0) {\n          for (let i = 0, l = cameras.length; i < l; i++) {\n            const camera2 = cameras[i];\n            renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera2);\n          }\n        }\n        if (_renderBackground) background.render(scene);\n        for (let i = 0, l = cameras.length; i < l; i++) {\n          const camera2 = cameras[i];\n          renderScene(currentRenderList, scene, camera2, camera2.viewport);\n        }\n      } else {\n        if (transmissiveObjects.length > 0) renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera);\n        if (_renderBackground) background.render(scene);\n        renderScene(currentRenderList, scene, camera);\n      }\n      if (_currentRenderTarget !== null) {\n        textures.updateMultisampleRenderTarget(_currentRenderTarget);\n        textures.updateRenderTargetMipmap(_currentRenderTarget);\n      }\n      if (scene.isScene === true) scene.onAfterRender(_this, scene, camera);\n      bindingStates.resetDefaultState();\n      _currentMaterialId = -1;\n      _currentCamera = null;\n      renderStateStack.pop();\n      if (renderStateStack.length > 0) {\n        currentRenderState = renderStateStack[renderStateStack.length - 1];\n        if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, currentRenderState.state.camera);\n      } else {\n        currentRenderState = null;\n      }\n      renderListStack.pop();\n      if (renderListStack.length > 0) {\n        currentRenderList = renderListStack[renderListStack.length - 1];\n      } else {\n        currentRenderList = null;\n      }\n    };\n    function projectObject(object, camera, groupOrder, sortObjects) {\n      if (object.visible === false) return;\n      const visible = object.layers.test(camera.layers);\n      if (visible) {\n        if (object.isGroup) {\n          groupOrder = object.renderOrder;\n        } else if (object.isLOD) {\n          if (object.autoUpdate === true) object.update(camera);\n        } else if (object.isLight) {\n          currentRenderState.pushLight(object);\n          if (object.castShadow) {\n            currentRenderState.pushShadow(object);\n          }\n        } else if (object.isSprite) {\n          if (!object.frustumCulled || _frustum2.intersectsSprite(object)) {\n            if (sortObjects) {\n              _vector4.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix2);\n            }\n            const geometry = objects.update(object);\n            const material = object.material;\n            if (material.visible) {\n              currentRenderList.push(object, geometry, material, groupOrder, _vector4.z, null);\n            }\n          }\n        } else if (object.isMesh || object.isLine || object.isPoints) {\n          if (!object.frustumCulled || _frustum2.intersectsObject(object)) {\n            const geometry = objects.update(object);\n            const material = object.material;\n            if (sortObjects) {\n              if (object.boundingSphere !== void 0) {\n                if (object.boundingSphere === null) object.computeBoundingSphere();\n                _vector4.copy(object.boundingSphere.center);\n              } else {\n                if (geometry.boundingSphere === null) geometry.computeBoundingSphere();\n                _vector4.copy(geometry.boundingSphere.center);\n              }\n              _vector4.applyMatrix4(object.matrixWorld).applyMatrix4(_projScreenMatrix2);\n            }\n            if (Array.isArray(material)) {\n              const groups = geometry.groups;\n              for (let i = 0, l = groups.length; i < l; i++) {\n                const group = groups[i];\n                const groupMaterial = material[group.materialIndex];\n                if (groupMaterial && groupMaterial.visible) {\n                  currentRenderList.push(object, geometry, groupMaterial, groupOrder, _vector4.z, group);\n                }\n              }\n            } else if (material.visible) {\n              currentRenderList.push(object, geometry, material, groupOrder, _vector4.z, null);\n            }\n          }\n        }\n      }\n      const children = object.children;\n      for (let i = 0, l = children.length; i < l; i++) {\n        projectObject(children[i], camera, groupOrder, sortObjects);\n      }\n    }\n    function renderScene(currentRenderList2, scene, camera, viewport) {\n      const opaqueObjects = currentRenderList2.opaque;\n      const transmissiveObjects = currentRenderList2.transmissive;\n      const transparentObjects = currentRenderList2.transparent;\n      currentRenderState.setupLightsView(camera);\n      if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, camera);\n      if (viewport) state.viewport(_currentViewport.copy(viewport));\n      if (opaqueObjects.length > 0) renderObjects(opaqueObjects, scene, camera);\n      if (transmissiveObjects.length > 0) renderObjects(transmissiveObjects, scene, camera);\n      if (transparentObjects.length > 0) renderObjects(transparentObjects, scene, camera);\n      state.buffers.depth.setTest(true);\n      state.buffers.depth.setMask(true);\n      state.buffers.color.setMask(true);\n      state.setPolygonOffset(false);\n    }\n    function renderTransmissionPass(opaqueObjects, transmissiveObjects, scene, camera) {\n      const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null;\n      if (overrideMaterial !== null) {\n        return;\n      }\n      if (currentRenderState.state.transmissionRenderTarget[camera.id] === void 0) {\n        currentRenderState.state.transmissionRenderTarget[camera.id] = new WebGLRenderTarget(1, 1, {\n          generateMipmaps: true,\n          type: extensions.has(\"EXT_color_buffer_half_float\") || extensions.has(\"EXT_color_buffer_float\") ? HalfFloatType : UnsignedByteType,\n          minFilter: LinearMipmapLinearFilter,\n          samples: 4,\n          stencilBuffer: stencil,\n          resolveDepthBuffer: false,\n          resolveStencilBuffer: false,\n          colorSpace: ColorManagement.workingColorSpace\n        });\n      }\n      const transmissionRenderTarget = currentRenderState.state.transmissionRenderTarget[camera.id];\n      const activeViewport = camera.viewport || _currentViewport;\n      transmissionRenderTarget.setSize(activeViewport.z, activeViewport.w);\n      const currentRenderTarget = _this.getRenderTarget();\n      _this.setRenderTarget(transmissionRenderTarget);\n      _this.getClearColor(_currentClearColor);\n      _currentClearAlpha = _this.getClearAlpha();\n      if (_currentClearAlpha < 1) _this.setClearColor(16777215, 0.5);\n      _this.clear();\n      if (_renderBackground) background.render(scene);\n      const currentToneMapping = _this.toneMapping;\n      _this.toneMapping = NoToneMapping;\n      const currentCameraViewport = camera.viewport;\n      if (camera.viewport !== void 0) camera.viewport = void 0;\n      currentRenderState.setupLightsView(camera);\n      if (_clippingEnabled === true) clipping.setGlobalState(_this.clippingPlanes, camera);\n      renderObjects(opaqueObjects, scene, camera);\n      textures.updateMultisampleRenderTarget(transmissionRenderTarget);\n      textures.updateRenderTargetMipmap(transmissionRenderTarget);\n      if (extensions.has(\"WEBGL_multisampled_render_to_texture\") === false) {\n        let renderTargetNeedsUpdate = false;\n        for (let i = 0, l = transmissiveObjects.length; i < l; i++) {\n          const renderItem = transmissiveObjects[i];\n          const object = renderItem.object;\n          const geometry = renderItem.geometry;\n          const material = renderItem.material;\n          const group = renderItem.group;\n          if (material.side === DoubleSide && object.layers.test(camera.layers)) {\n            const currentSide = material.side;\n            material.side = BackSide;\n            material.needsUpdate = true;\n            renderObject(object, scene, camera, geometry, material, group);\n            material.side = currentSide;\n            material.needsUpdate = true;\n            renderTargetNeedsUpdate = true;\n          }\n        }\n        if (renderTargetNeedsUpdate === true) {\n          textures.updateMultisampleRenderTarget(transmissionRenderTarget);\n          textures.updateRenderTargetMipmap(transmissionRenderTarget);\n        }\n      }\n      _this.setRenderTarget(currentRenderTarget);\n      _this.setClearColor(_currentClearColor, _currentClearAlpha);\n      if (currentCameraViewport !== void 0) camera.viewport = currentCameraViewport;\n      _this.toneMapping = currentToneMapping;\n    }\n    function renderObjects(renderList, scene, camera) {\n      const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null;\n      for (let i = 0, l = renderList.length; i < l; i++) {\n        const renderItem = renderList[i];\n        const object = renderItem.object;\n        const geometry = renderItem.geometry;\n        const material = overrideMaterial === null ? renderItem.material : overrideMaterial;\n        const group = renderItem.group;\n        if (object.layers.test(camera.layers)) {\n          renderObject(object, scene, camera, geometry, material, group);\n        }\n      }\n    }\n    function renderObject(object, scene, camera, geometry, material, group) {\n      object.onBeforeRender(_this, scene, camera, geometry, material, group);\n      object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld);\n      object.normalMatrix.getNormalMatrix(object.modelViewMatrix);\n      material.onBeforeRender(_this, scene, camera, geometry, object, group);\n      if (material.transparent === true && material.side === DoubleSide && material.forceSinglePass === false) {\n        material.side = BackSide;\n        material.needsUpdate = true;\n        _this.renderBufferDirect(camera, scene, geometry, material, object, group);\n        material.side = FrontSide;\n        material.needsUpdate = true;\n        _this.renderBufferDirect(camera, scene, geometry, material, object, group);\n        material.side = DoubleSide;\n      } else {\n        _this.renderBufferDirect(camera, scene, geometry, material, object, group);\n      }\n      object.onAfterRender(_this, scene, camera, geometry, material, group);\n    }\n    function getProgram(material, scene, object) {\n      if (scene.isScene !== true) scene = _emptyScene;\n      const materialProperties = properties.get(material);\n      const lights = currentRenderState.state.lights;\n      const shadowsArray = currentRenderState.state.shadowsArray;\n      const lightsStateVersion = lights.state.version;\n      const parameters2 = programCache.getParameters(material, lights.state, shadowsArray, scene, object);\n      const programCacheKey = programCache.getProgramCacheKey(parameters2);\n      let programs = materialProperties.programs;\n      materialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null;\n      materialProperties.fog = scene.fog;\n      materialProperties.envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || materialProperties.environment);\n      materialProperties.envMapRotation = materialProperties.environment !== null && material.envMap === null ? scene.environmentRotation : material.envMapRotation;\n      if (programs === void 0) {\n        material.addEventListener(\"dispose\", onMaterialDispose);\n        programs = /* @__PURE__ */ new Map();\n        materialProperties.programs = programs;\n      }\n      let program = programs.get(programCacheKey);\n      if (program !== void 0) {\n        if (materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion) {\n          updateCommonMaterialProperties(material, parameters2);\n          return program;\n        }\n      } else {\n        parameters2.uniforms = programCache.getUniforms(material);\n        material.onBeforeCompile(parameters2, _this);\n        program = programCache.acquireProgram(parameters2, programCacheKey);\n        programs.set(programCacheKey, program);\n        materialProperties.uniforms = parameters2.uniforms;\n      }\n      const uniforms = materialProperties.uniforms;\n      if (!material.isShaderMaterial && !material.isRawShaderMaterial || material.clipping === true) {\n        uniforms.clippingPlanes = clipping.uniform;\n      }\n      updateCommonMaterialProperties(material, parameters2);\n      materialProperties.needsLights = materialNeedsLights(material);\n      materialProperties.lightsStateVersion = lightsStateVersion;\n      if (materialProperties.needsLights) {\n        uniforms.ambientLightColor.value = lights.state.ambient;\n        uniforms.lightProbe.value = lights.state.probe;\n        uniforms.directionalLights.value = lights.state.directional;\n        uniforms.directionalLightShadows.value = lights.state.directionalShadow;\n        uniforms.spotLights.value = lights.state.spot;\n        uniforms.spotLightShadows.value = lights.state.spotShadow;\n        uniforms.rectAreaLights.value = lights.state.rectArea;\n        uniforms.ltc_1.value = lights.state.rectAreaLTC1;\n        uniforms.ltc_2.value = lights.state.rectAreaLTC2;\n        uniforms.pointLights.value = lights.state.point;\n        uniforms.pointLightShadows.value = lights.state.pointShadow;\n        uniforms.hemisphereLights.value = lights.state.hemi;\n        uniforms.directionalShadowMap.value = lights.state.directionalShadowMap;\n        uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix;\n        uniforms.spotShadowMap.value = lights.state.spotShadowMap;\n        uniforms.spotLightMatrix.value = lights.state.spotLightMatrix;\n        uniforms.spotLightMap.value = lights.state.spotLightMap;\n        uniforms.pointShadowMap.value = lights.state.pointShadowMap;\n        uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix;\n      }\n      materialProperties.currentProgram = program;\n      materialProperties.uniformsList = null;\n      return program;\n    }\n    function getUniformList(materialProperties) {\n      if (materialProperties.uniformsList === null) {\n        const progUniforms = materialProperties.currentProgram.getUniforms();\n        materialProperties.uniformsList = WebGLUniforms.seqWithValue(progUniforms.seq, materialProperties.uniforms);\n      }\n      return materialProperties.uniformsList;\n    }\n    function updateCommonMaterialProperties(material, parameters2) {\n      const materialProperties = properties.get(material);\n      materialProperties.outputColorSpace = parameters2.outputColorSpace;\n      materialProperties.batching = parameters2.batching;\n      materialProperties.batchingColor = parameters2.batchingColor;\n      materialProperties.instancing = parameters2.instancing;\n      materialProperties.instancingColor = parameters2.instancingColor;\n      materialProperties.instancingMorph = parameters2.instancingMorph;\n      materialProperties.skinning = parameters2.skinning;\n      materialProperties.morphTargets = parameters2.morphTargets;\n      materialProperties.morphNormals = parameters2.morphNormals;\n      materialProperties.morphColors = parameters2.morphColors;\n      materialProperties.morphTargetsCount = parameters2.morphTargetsCount;\n      materialProperties.numClippingPlanes = parameters2.numClippingPlanes;\n      materialProperties.numIntersection = parameters2.numClipIntersection;\n      materialProperties.vertexAlphas = parameters2.vertexAlphas;\n      materialProperties.vertexTangents = parameters2.vertexTangents;\n      materialProperties.toneMapping = parameters2.toneMapping;\n    }\n    function setProgram(camera, scene, geometry, material, object) {\n      if (scene.isScene !== true) scene = _emptyScene;\n      textures.resetTextureUnits();\n      const fog = scene.fog;\n      const environment = material.isMeshStandardMaterial ? scene.environment : null;\n      const colorSpace = _currentRenderTarget === null ? _this.outputColorSpace : _currentRenderTarget.isXRRenderTarget === true ? _currentRenderTarget.texture.colorSpace : LinearSRGBColorSpace;\n      const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment);\n      const vertexAlphas = material.vertexColors === true && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4;\n      const vertexTangents = !!geometry.attributes.tangent && (!!material.normalMap || material.anisotropy > 0);\n      const morphTargets = !!geometry.morphAttributes.position;\n      const morphNormals = !!geometry.morphAttributes.normal;\n      const morphColors = !!geometry.morphAttributes.color;\n      let toneMapping = NoToneMapping;\n      if (material.toneMapped) {\n        if (_currentRenderTarget === null || _currentRenderTarget.isXRRenderTarget === true) {\n          toneMapping = _this.toneMapping;\n        }\n      }\n      const morphAttribute = geometry.morphAttributes.position || geometry.morphAttributes.normal || geometry.morphAttributes.color;\n      const morphTargetsCount = morphAttribute !== void 0 ? morphAttribute.length : 0;\n      const materialProperties = properties.get(material);\n      const lights = currentRenderState.state.lights;\n      if (_clippingEnabled === true) {\n        if (_localClippingEnabled === true || camera !== _currentCamera) {\n          const useCache = camera === _currentCamera && material.id === _currentMaterialId;\n          clipping.setState(material, camera, useCache);\n        }\n      }\n      let needsProgramChange = false;\n      if (material.version === materialProperties.__version) {\n        if (materialProperties.needsLights && materialProperties.lightsStateVersion !== lights.state.version) {\n          needsProgramChange = true;\n        } else if (materialProperties.outputColorSpace !== colorSpace) {\n          needsProgramChange = true;\n        } else if (object.isBatchedMesh && materialProperties.batching === false) {\n          needsProgramChange = true;\n        } else if (!object.isBatchedMesh && materialProperties.batching === true) {\n          needsProgramChange = true;\n        } else if (object.isBatchedMesh && materialProperties.batchingColor === true && object.colorTexture === null) {\n          needsProgramChange = true;\n        } else if (object.isBatchedMesh && materialProperties.batchingColor === false && object.colorTexture !== null) {\n          needsProgramChange = true;\n        } else if (object.isInstancedMesh && materialProperties.instancing === false) {\n          needsProgramChange = true;\n        } else if (!object.isInstancedMesh && materialProperties.instancing === true) {\n          needsProgramChange = true;\n        } else if (object.isSkinnedMesh && materialProperties.skinning === false) {\n          needsProgramChange = true;\n        } else if (!object.isSkinnedMesh && materialProperties.skinning === true) {\n          needsProgramChange = true;\n        } else if (object.isInstancedMesh && materialProperties.instancingColor === true && object.instanceColor === null) {\n          needsProgramChange = true;\n        } else if (object.isInstancedMesh && materialProperties.instancingColor === false && object.instanceColor !== null) {\n          needsProgramChange = true;\n        } else if (object.isInstancedMesh && materialProperties.instancingMorph === true && object.morphTexture === null) {\n          needsProgramChange = true;\n        } else if (object.isInstancedMesh && materialProperties.instancingMorph === false && object.morphTexture !== null) {\n          needsProgramChange = true;\n        } else if (materialProperties.envMap !== envMap) {\n          needsProgramChange = true;\n        } else if (material.fog === true && materialProperties.fog !== fog) {\n          needsProgramChange = true;\n        } else if (materialProperties.numClippingPlanes !== void 0 && (materialProperties.numClippingPlanes !== clipping.numPlanes || materialProperties.numIntersection !== clipping.numIntersection)) {\n          needsProgramChange = true;\n        } else if (materialProperties.vertexAlphas !== vertexAlphas) {\n          needsProgramChange = true;\n        } else if (materialProperties.vertexTangents !== vertexTangents) {\n          needsProgramChange = true;\n        } else if (materialProperties.morphTargets !== morphTargets) {\n          needsProgramChange = true;\n        } else if (materialProperties.morphNormals !== morphNormals) {\n          needsProgramChange = true;\n        } else if (materialProperties.morphColors !== morphColors) {\n          needsProgramChange = true;\n        } else if (materialProperties.toneMapping !== toneMapping) {\n          needsProgramChange = true;\n        } else if (materialProperties.morphTargetsCount !== morphTargetsCount) {\n          needsProgramChange = true;\n        }\n      } else {\n        needsProgramChange = true;\n        materialProperties.__version = material.version;\n      }\n      let program = materialProperties.currentProgram;\n      if (needsProgramChange === true) {\n        program = getProgram(material, scene, object);\n      }\n      let refreshProgram = false;\n      let refreshMaterial = false;\n      let refreshLights = false;\n      const p_uniforms = program.getUniforms(), m_uniforms = materialProperties.uniforms;\n      if (state.useProgram(program.program)) {\n        refreshProgram = true;\n        refreshMaterial = true;\n        refreshLights = true;\n      }\n      if (material.id !== _currentMaterialId) {\n        _currentMaterialId = material.id;\n        refreshMaterial = true;\n      }\n      if (refreshProgram || _currentCamera !== camera) {\n        if (capabilities.reverseDepthBuffer) {\n          _currentProjectionMatrix.copy(camera.projectionMatrix);\n          toNormalizedProjectionMatrix(_currentProjectionMatrix);\n          toReversedProjectionMatrix(_currentProjectionMatrix);\n          p_uniforms.setValue(_gl, \"projectionMatrix\", _currentProjectionMatrix);\n        } else {\n          p_uniforms.setValue(_gl, \"projectionMatrix\", camera.projectionMatrix);\n        }\n        p_uniforms.setValue(_gl, \"viewMatrix\", camera.matrixWorldInverse);\n        const uCamPos = p_uniforms.map.cameraPosition;\n        if (uCamPos !== void 0) {\n          uCamPos.setValue(_gl, _vector32.setFromMatrixPosition(camera.matrixWorld));\n        }\n        if (capabilities.logarithmicDepthBuffer) {\n          p_uniforms.setValue(\n            _gl,\n            \"logDepthBufFC\",\n            2 / (Math.log(camera.far + 1) / Math.LN2)\n          );\n        }\n        if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial) {\n          p_uniforms.setValue(_gl, \"isOrthographic\", camera.isOrthographicCamera === true);\n        }\n        if (_currentCamera !== camera) {\n          _currentCamera = camera;\n          refreshMaterial = true;\n          refreshLights = true;\n        }\n      }\n      if (object.isSkinnedMesh) {\n        p_uniforms.setOptional(_gl, object, \"bindMatrix\");\n        p_uniforms.setOptional(_gl, object, \"bindMatrixInverse\");\n        const skeleton = object.skeleton;\n        if (skeleton) {\n          if (skeleton.boneTexture === null) skeleton.computeBoneTexture();\n          p_uniforms.setValue(_gl, \"boneTexture\", skeleton.boneTexture, textures);\n        }\n      }\n      if (object.isBatchedMesh) {\n        p_uniforms.setOptional(_gl, object, \"batchingTexture\");\n        p_uniforms.setValue(_gl, \"batchingTexture\", object._matricesTexture, textures);\n        p_uniforms.setOptional(_gl, object, \"batchingIdTexture\");\n        p_uniforms.setValue(_gl, \"batchingIdTexture\", object._indirectTexture, textures);\n        p_uniforms.setOptional(_gl, object, \"batchingColorTexture\");\n        if (object._colorsTexture !== null) {\n          p_uniforms.setValue(_gl, \"batchingColorTexture\", object._colorsTexture, textures);\n        }\n      }\n      const morphAttributes = geometry.morphAttributes;\n      if (morphAttributes.position !== void 0 || morphAttributes.normal !== void 0 || morphAttributes.color !== void 0) {\n        morphtargets.update(object, geometry, program);\n      }\n      if (refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow) {\n        materialProperties.receiveShadow = object.receiveShadow;\n        p_uniforms.setValue(_gl, \"receiveShadow\", object.receiveShadow);\n      }\n      if (material.isMeshGouraudMaterial && material.envMap !== null) {\n        m_uniforms.envMap.value = envMap;\n        m_uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1;\n      }\n      if (material.isMeshStandardMaterial && material.envMap === null && scene.environment !== null) {\n        m_uniforms.envMapIntensity.value = scene.environmentIntensity;\n      }\n      if (refreshMaterial) {\n        p_uniforms.setValue(_gl, \"toneMappingExposure\", _this.toneMappingExposure);\n        if (materialProperties.needsLights) {\n          markUniformsLightsNeedsUpdate(m_uniforms, refreshLights);\n        }\n        if (fog && material.fog === true) {\n          materials.refreshFogUniforms(m_uniforms, fog);\n        }\n        materials.refreshMaterialUniforms(m_uniforms, material, _pixelRatio, _height, currentRenderState.state.transmissionRenderTarget[camera.id]);\n        WebGLUniforms.upload(_gl, getUniformList(materialProperties), m_uniforms, textures);\n      }\n      if (material.isShaderMaterial && material.uniformsNeedUpdate === true) {\n        WebGLUniforms.upload(_gl, getUniformList(materialProperties), m_uniforms, textures);\n        material.uniformsNeedUpdate = false;\n      }\n      if (material.isSpriteMaterial) {\n        p_uniforms.setValue(_gl, \"center\", object.center);\n      }\n      p_uniforms.setValue(_gl, \"modelViewMatrix\", object.modelViewMatrix);\n      p_uniforms.setValue(_gl, \"normalMatrix\", object.normalMatrix);\n      p_uniforms.setValue(_gl, \"modelMatrix\", object.matrixWorld);\n      if (material.isShaderMaterial || material.isRawShaderMaterial) {\n        const groups = material.uniformsGroups;\n        for (let i = 0, l = groups.length; i < l; i++) {\n          const group = groups[i];\n          uniformsGroups.update(group, program);\n          uniformsGroups.bind(group, program);\n        }\n      }\n      return program;\n    }\n    function markUniformsLightsNeedsUpdate(uniforms, value) {\n      uniforms.ambientLightColor.needsUpdate = value;\n      uniforms.lightProbe.needsUpdate = value;\n      uniforms.directionalLights.needsUpdate = value;\n      uniforms.directionalLightShadows.needsUpdate = value;\n      uniforms.pointLights.needsUpdate = value;\n      uniforms.pointLightShadows.needsUpdate = value;\n      uniforms.spotLights.needsUpdate = value;\n      uniforms.spotLightShadows.needsUpdate = value;\n      uniforms.rectAreaLights.needsUpdate = value;\n      uniforms.hemisphereLights.needsUpdate = value;\n    }\n    function materialNeedsLights(material) {\n      return material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.isShadowMaterial || material.isShaderMaterial && material.lights === true;\n    }\n    this.getActiveCubeFace = function() {\n      return _currentActiveCubeFace;\n    };\n    this.getActiveMipmapLevel = function() {\n      return _currentActiveMipmapLevel;\n    };\n    this.getRenderTarget = function() {\n      return _currentRenderTarget;\n    };\n    this.setRenderTargetTextures = function(renderTarget, colorTexture, depthTexture) {\n      properties.get(renderTarget.texture).__webglTexture = colorTexture;\n      properties.get(renderTarget.depthTexture).__webglTexture = depthTexture;\n      const renderTargetProperties = properties.get(renderTarget);\n      renderTargetProperties.__hasExternalTextures = true;\n      renderTargetProperties.__autoAllocateDepthBuffer = depthTexture === void 0;\n      if (!renderTargetProperties.__autoAllocateDepthBuffer) {\n        if (extensions.has(\"WEBGL_multisampled_render_to_texture\") === true) {\n          console.warn(\"THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided\");\n          renderTargetProperties.__useRenderToTexture = false;\n        }\n      }\n    };\n    this.setRenderTargetFramebuffer = function(renderTarget, defaultFramebuffer) {\n      const renderTargetProperties = properties.get(renderTarget);\n      renderTargetProperties.__webglFramebuffer = defaultFramebuffer;\n      renderTargetProperties.__useDefaultFramebuffer = defaultFramebuffer === void 0;\n    };\n    this.setRenderTarget = function(renderTarget, activeCubeFace = 0, activeMipmapLevel = 0) {\n      _currentRenderTarget = renderTarget;\n      _currentActiveCubeFace = activeCubeFace;\n      _currentActiveMipmapLevel = activeMipmapLevel;\n      let useDefaultFramebuffer = true;\n      let framebuffer = null;\n      let isCube = false;\n      let isRenderTarget3D = false;\n      if (renderTarget) {\n        const renderTargetProperties = properties.get(renderTarget);\n        if (renderTargetProperties.__useDefaultFramebuffer !== void 0) {\n          state.bindFramebuffer(_gl.FRAMEBUFFER, null);\n          useDefaultFramebuffer = false;\n        } else if (renderTargetProperties.__webglFramebuffer === void 0) {\n          textures.setupRenderTarget(renderTarget);\n        } else if (renderTargetProperties.__hasExternalTextures) {\n          textures.rebindTextures(renderTarget, properties.get(renderTarget.texture).__webglTexture, properties.get(renderTarget.depthTexture).__webglTexture);\n        } else if (renderTarget.depthBuffer) {\n          const depthTexture = renderTarget.depthTexture;\n          if (renderTargetProperties.__boundDepthTexture !== depthTexture) {\n            if (depthTexture !== null && properties.has(depthTexture) && (renderTarget.width !== depthTexture.image.width || renderTarget.height !== depthTexture.image.height)) {\n              throw new Error(\"WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.\");\n            }\n            textures.setupDepthRenderbuffer(renderTarget);\n          }\n        }\n        const texture = renderTarget.texture;\n        if (texture.isData3DTexture || texture.isDataArrayTexture || texture.isCompressedArrayTexture) {\n          isRenderTarget3D = true;\n        }\n        const __webglFramebuffer = properties.get(renderTarget).__webglFramebuffer;\n        if (renderTarget.isWebGLCubeRenderTarget) {\n          if (Array.isArray(__webglFramebuffer[activeCubeFace])) {\n            framebuffer = __webglFramebuffer[activeCubeFace][activeMipmapLevel];\n          } else {\n            framebuffer = __webglFramebuffer[activeCubeFace];\n          }\n          isCube = true;\n        } else if (renderTarget.samples > 0 && textures.useMultisampledRTT(renderTarget) === false) {\n          framebuffer = properties.get(renderTarget).__webglMultisampledFramebuffer;\n        } else {\n          if (Array.isArray(__webglFramebuffer)) {\n            framebuffer = __webglFramebuffer[activeMipmapLevel];\n          } else {\n            framebuffer = __webglFramebuffer;\n          }\n        }\n        _currentViewport.copy(renderTarget.viewport);\n        _currentScissor.copy(renderTarget.scissor);\n        _currentScissorTest = renderTarget.scissorTest;\n      } else {\n        _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor();\n        _currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor();\n        _currentScissorTest = _scissorTest;\n      }\n      const framebufferBound = state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer);\n      if (framebufferBound && useDefaultFramebuffer) {\n        state.drawBuffers(renderTarget, framebuffer);\n      }\n      state.viewport(_currentViewport);\n      state.scissor(_currentScissor);\n      state.setScissorTest(_currentScissorTest);\n      if (isCube) {\n        const textureProperties = properties.get(renderTarget.texture);\n        _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel);\n      } else if (isRenderTarget3D) {\n        const textureProperties = properties.get(renderTarget.texture);\n        const layer = activeCubeFace || 0;\n        _gl.framebufferTextureLayer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, textureProperties.__webglTexture, activeMipmapLevel || 0, layer);\n      }\n      _currentMaterialId = -1;\n    };\n    this.readRenderTargetPixels = function(renderTarget, x, y, width, height, buffer, activeCubeFaceIndex) {\n      if (!(renderTarget && renderTarget.isWebGLRenderTarget)) {\n        console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");\n        return;\n      }\n      let framebuffer = properties.get(renderTarget).__webglFramebuffer;\n      if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== void 0) {\n        framebuffer = framebuffer[activeCubeFaceIndex];\n      }\n      if (framebuffer) {\n        state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer);\n        try {\n          const texture = renderTarget.texture;\n          const textureFormat = texture.format;\n          const textureType = texture.type;\n          if (!capabilities.textureFormatReadable(textureFormat)) {\n            console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");\n            return;\n          }\n          if (!capabilities.textureTypeReadable(textureType)) {\n            console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");\n            return;\n          }\n          if (x >= 0 && x <= renderTarget.width - width && (y >= 0 && y <= renderTarget.height - height)) {\n            _gl.readPixels(x, y, width, height, utils.convert(textureFormat), utils.convert(textureType), buffer);\n          }\n        } finally {\n          const framebuffer2 = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null;\n          state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer2);\n        }\n      }\n    };\n    this.readRenderTargetPixelsAsync = function(renderTarget, x, y, width, height, buffer, activeCubeFaceIndex) {\n      return __async(this, null, function* () {\n        if (!(renderTarget && renderTarget.isWebGLRenderTarget)) {\n          throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");\n        }\n        let framebuffer = properties.get(renderTarget).__webglFramebuffer;\n        if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== void 0) {\n          framebuffer = framebuffer[activeCubeFaceIndex];\n        }\n        if (framebuffer) {\n          const texture = renderTarget.texture;\n          const textureFormat = texture.format;\n          const textureType = texture.type;\n          if (!capabilities.textureFormatReadable(textureFormat)) {\n            throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.\");\n          }\n          if (!capabilities.textureTypeReadable(textureType)) {\n            throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.\");\n          }\n          if (x >= 0 && x <= renderTarget.width - width && (y >= 0 && y <= renderTarget.height - height)) {\n            state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer);\n            const glBuffer = _gl.createBuffer();\n            _gl.bindBuffer(_gl.PIXEL_PACK_BUFFER, glBuffer);\n            _gl.bufferData(_gl.PIXEL_PACK_BUFFER, buffer.byteLength, _gl.STREAM_READ);\n            _gl.readPixels(x, y, width, height, utils.convert(textureFormat), utils.convert(textureType), 0);\n            const currFramebuffer = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null;\n            state.bindFramebuffer(_gl.FRAMEBUFFER, currFramebuffer);\n            const sync = _gl.fenceSync(_gl.SYNC_GPU_COMMANDS_COMPLETE, 0);\n            _gl.flush();\n            yield probeAsync(_gl, sync, 4);\n            _gl.bindBuffer(_gl.PIXEL_PACK_BUFFER, glBuffer);\n            _gl.getBufferSubData(_gl.PIXEL_PACK_BUFFER, 0, buffer);\n            _gl.deleteBuffer(glBuffer);\n            _gl.deleteSync(sync);\n            return buffer;\n          } else {\n            throw new Error(\"THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.\");\n          }\n        }\n      });\n    };\n    this.copyFramebufferToTexture = function(texture, position = null, level = 0) {\n      if (texture.isTexture !== true) {\n        warnOnce(\"WebGLRenderer: copyFramebufferToTexture function signature has changed.\");\n        position = arguments[0] || null;\n        texture = arguments[1];\n      }\n      const levelScale = Math.pow(2, -level);\n      const width = Math.floor(texture.image.width * levelScale);\n      const height = Math.floor(texture.image.height * levelScale);\n      const x = position !== null ? position.x : 0;\n      const y = position !== null ? position.y : 0;\n      textures.setTexture2D(texture, 0);\n      _gl.copyTexSubImage2D(_gl.TEXTURE_2D, level, 0, 0, x, y, width, height);\n      state.unbindTexture();\n    };\n    this.copyTextureToTexture = function(srcTexture, dstTexture, srcRegion = null, dstPosition = null, level = 0) {\n      if (srcTexture.isTexture !== true) {\n        warnOnce(\"WebGLRenderer: copyTextureToTexture function signature has changed.\");\n        dstPosition = arguments[0] || null;\n        srcTexture = arguments[1];\n        dstTexture = arguments[2];\n        level = arguments[3] || 0;\n        srcRegion = null;\n      }\n      let width, height, minX, minY;\n      let dstX, dstY;\n      if (srcRegion !== null) {\n        width = srcRegion.max.x - srcRegion.min.x;\n        height = srcRegion.max.y - srcRegion.min.y;\n        minX = srcRegion.min.x;\n        minY = srcRegion.min.y;\n      } else {\n        width = srcTexture.image.width;\n        height = srcTexture.image.height;\n        minX = 0;\n        minY = 0;\n      }\n      if (dstPosition !== null) {\n        dstX = dstPosition.x;\n        dstY = dstPosition.y;\n      } else {\n        dstX = 0;\n        dstY = 0;\n      }\n      const glFormat = utils.convert(dstTexture.format);\n      const glType = utils.convert(dstTexture.type);\n      textures.setTexture2D(dstTexture, 0);\n      _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, dstTexture.flipY);\n      _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, dstTexture.premultiplyAlpha);\n      _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, dstTexture.unpackAlignment);\n      const currentUnpackRowLen = _gl.getParameter(_gl.UNPACK_ROW_LENGTH);\n      const currentUnpackImageHeight = _gl.getParameter(_gl.UNPACK_IMAGE_HEIGHT);\n      const currentUnpackSkipPixels = _gl.getParameter(_gl.UNPACK_SKIP_PIXELS);\n      const currentUnpackSkipRows = _gl.getParameter(_gl.UNPACK_SKIP_ROWS);\n      const currentUnpackSkipImages = _gl.getParameter(_gl.UNPACK_SKIP_IMAGES);\n      const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[level] : srcTexture.image;\n      _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, image.width);\n      _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, image.height);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, minX);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, minY);\n      if (srcTexture.isDataTexture) {\n        _gl.texSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image.data);\n      } else {\n        if (srcTexture.isCompressedTexture) {\n          _gl.compressedTexSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, image.width, image.height, glFormat, image.data);\n        } else {\n          _gl.texSubImage2D(_gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image);\n        }\n      }\n      _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, currentUnpackRowLen);\n      _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, currentUnpackImageHeight);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, currentUnpackSkipPixels);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, currentUnpackSkipRows);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, currentUnpackSkipImages);\n      if (level === 0 && dstTexture.generateMipmaps) _gl.generateMipmap(_gl.TEXTURE_2D);\n      state.unbindTexture();\n    };\n    this.copyTextureToTexture3D = function(srcTexture, dstTexture, srcRegion = null, dstPosition = null, level = 0) {\n      if (srcTexture.isTexture !== true) {\n        warnOnce(\"WebGLRenderer: copyTextureToTexture3D function signature has changed.\");\n        srcRegion = arguments[0] || null;\n        dstPosition = arguments[1] || null;\n        srcTexture = arguments[2];\n        dstTexture = arguments[3];\n        level = arguments[4] || 0;\n      }\n      let width, height, depth2, minX, minY, minZ;\n      let dstX, dstY, dstZ;\n      const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[level] : srcTexture.image;\n      if (srcRegion !== null) {\n        width = srcRegion.max.x - srcRegion.min.x;\n        height = srcRegion.max.y - srcRegion.min.y;\n        depth2 = srcRegion.max.z - srcRegion.min.z;\n        minX = srcRegion.min.x;\n        minY = srcRegion.min.y;\n        minZ = srcRegion.min.z;\n      } else {\n        width = image.width;\n        height = image.height;\n        depth2 = image.depth;\n        minX = 0;\n        minY = 0;\n        minZ = 0;\n      }\n      if (dstPosition !== null) {\n        dstX = dstPosition.x;\n        dstY = dstPosition.y;\n        dstZ = dstPosition.z;\n      } else {\n        dstX = 0;\n        dstY = 0;\n        dstZ = 0;\n      }\n      const glFormat = utils.convert(dstTexture.format);\n      const glType = utils.convert(dstTexture.type);\n      let glTarget;\n      if (dstTexture.isData3DTexture) {\n        textures.setTexture3D(dstTexture, 0);\n        glTarget = _gl.TEXTURE_3D;\n      } else if (dstTexture.isDataArrayTexture || dstTexture.isCompressedArrayTexture) {\n        textures.setTexture2DArray(dstTexture, 0);\n        glTarget = _gl.TEXTURE_2D_ARRAY;\n      } else {\n        console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");\n        return;\n      }\n      _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, dstTexture.flipY);\n      _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, dstTexture.premultiplyAlpha);\n      _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, dstTexture.unpackAlignment);\n      const currentUnpackRowLen = _gl.getParameter(_gl.UNPACK_ROW_LENGTH);\n      const currentUnpackImageHeight = _gl.getParameter(_gl.UNPACK_IMAGE_HEIGHT);\n      const currentUnpackSkipPixels = _gl.getParameter(_gl.UNPACK_SKIP_PIXELS);\n      const currentUnpackSkipRows = _gl.getParameter(_gl.UNPACK_SKIP_ROWS);\n      const currentUnpackSkipImages = _gl.getParameter(_gl.UNPACK_SKIP_IMAGES);\n      _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, image.width);\n      _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, image.height);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, minX);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, minY);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, minZ);\n      if (srcTexture.isDataTexture || srcTexture.isData3DTexture) {\n        _gl.texSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, glType, image.data);\n      } else {\n        if (dstTexture.isCompressedArrayTexture) {\n          _gl.compressedTexSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, image.data);\n        } else {\n          _gl.texSubImage3D(glTarget, level, dstX, dstY, dstZ, width, height, depth2, glFormat, glType, image);\n        }\n      }\n      _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, currentUnpackRowLen);\n      _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, currentUnpackImageHeight);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, currentUnpackSkipPixels);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, currentUnpackSkipRows);\n      _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, currentUnpackSkipImages);\n      if (level === 0 && dstTexture.generateMipmaps) _gl.generateMipmap(glTarget);\n      state.unbindTexture();\n    };\n    this.initRenderTarget = function(target) {\n      if (properties.get(target).__webglFramebuffer === void 0) {\n        textures.setupRenderTarget(target);\n      }\n    };\n    this.initTexture = function(texture) {\n      if (texture.isCubeTexture) {\n        textures.setTextureCube(texture, 0);\n      } else if (texture.isData3DTexture) {\n        textures.setTexture3D(texture, 0);\n      } else if (texture.isDataArrayTexture || texture.isCompressedArrayTexture) {\n        textures.setTexture2DArray(texture, 0);\n      } else {\n        textures.setTexture2D(texture, 0);\n      }\n      state.unbindTexture();\n    };\n    this.resetState = function() {\n      _currentActiveCubeFace = 0;\n      _currentActiveMipmapLevel = 0;\n      _currentRenderTarget = null;\n      state.reset();\n      bindingStates.reset();\n    };\n    if (typeof __THREE_DEVTOOLS__ !== \"undefined\") {\n      __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\", { detail: this }));\n    }\n  }\n  get coordinateSystem() {\n    return WebGLCoordinateSystem;\n  }\n  get outputColorSpace() {\n    return this._outputColorSpace;\n  }\n  set outputColorSpace(colorSpace) {\n    this._outputColorSpace = colorSpace;\n    const gl = this.getContext();\n    gl.drawingBufferColorSpace = colorSpace === DisplayP3ColorSpace ? \"display-p3\" : \"srgb\";\n    gl.unpackColorSpace = ColorManagement.workingColorSpace === LinearDisplayP3ColorSpace ? \"display-p3\" : \"srgb\";\n  }\n};\nvar FogExp2 = class _FogExp2 {\n  constructor(color, density = 25e-5) {\n    this.isFogExp2 = true;\n    this.name = \"\";\n    this.color = new Color(color);\n    this.density = density;\n  }\n  clone() {\n    return new _FogExp2(this.color, this.density);\n  }\n  toJSON() {\n    return {\n      type: \"FogExp2\",\n      name: this.name,\n      color: this.color.getHex(),\n      density: this.density\n    };\n  }\n};\nvar Fog = class _Fog {\n  constructor(color, near = 1, far = 1e3) {\n    this.isFog = true;\n    this.name = \"\";\n    this.color = new Color(color);\n    this.near = near;\n    this.far = far;\n  }\n  clone() {\n    return new _Fog(this.color, this.near, this.far);\n  }\n  toJSON() {\n    return {\n      type: \"Fog\",\n      name: this.name,\n      color: this.color.getHex(),\n      near: this.near,\n      far: this.far\n    };\n  }\n};\nvar Scene = class extends Object3D {\n  constructor() {\n    super();\n    this.isScene = true;\n    this.type = \"Scene\";\n    this.background = null;\n    this.environment = null;\n    this.fog = null;\n    this.backgroundBlurriness = 0;\n    this.backgroundIntensity = 1;\n    this.backgroundRotation = new Euler();\n    this.environmentIntensity = 1;\n    this.environmentRotation = new Euler();\n    this.overrideMaterial = null;\n    if (typeof __THREE_DEVTOOLS__ !== \"undefined\") {\n      __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\", { detail: this }));\n    }\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    if (source.background !== null) this.background = source.background.clone();\n    if (source.environment !== null) this.environment = source.environment.clone();\n    if (source.fog !== null) this.fog = source.fog.clone();\n    this.backgroundBlurriness = source.backgroundBlurriness;\n    this.backgroundIntensity = source.backgroundIntensity;\n    this.backgroundRotation.copy(source.backgroundRotation);\n    this.environmentIntensity = source.environmentIntensity;\n    this.environmentRotation.copy(source.environmentRotation);\n    if (source.overrideMaterial !== null) this.overrideMaterial = source.overrideMaterial.clone();\n    this.matrixAutoUpdate = source.matrixAutoUpdate;\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    if (this.fog !== null) data.object.fog = this.fog.toJSON();\n    if (this.backgroundBlurriness > 0) data.object.backgroundBlurriness = this.backgroundBlurriness;\n    if (this.backgroundIntensity !== 1) data.object.backgroundIntensity = this.backgroundIntensity;\n    data.object.backgroundRotation = this.backgroundRotation.toArray();\n    if (this.environmentIntensity !== 1) data.object.environmentIntensity = this.environmentIntensity;\n    data.object.environmentRotation = this.environmentRotation.toArray();\n    return data;\n  }\n};\nvar InterleavedBuffer = class {\n  constructor(array, stride) {\n    this.isInterleavedBuffer = true;\n    this.array = array;\n    this.stride = stride;\n    this.count = array !== void 0 ? array.length / stride : 0;\n    this.usage = StaticDrawUsage;\n    this.updateRanges = [];\n    this.version = 0;\n    this.uuid = generateUUID();\n  }\n  onUploadCallback() {\n  }\n  set needsUpdate(value) {\n    if (value === true) this.version++;\n  }\n  setUsage(value) {\n    this.usage = value;\n    return this;\n  }\n  addUpdateRange(start, count) {\n    this.updateRanges.push({ start, count });\n  }\n  clearUpdateRanges() {\n    this.updateRanges.length = 0;\n  }\n  copy(source) {\n    this.array = new source.array.constructor(source.array);\n    this.count = source.count;\n    this.stride = source.stride;\n    this.usage = source.usage;\n    return this;\n  }\n  copyAt(index1, attribute, index2) {\n    index1 *= this.stride;\n    index2 *= attribute.stride;\n    for (let i = 0, l = this.stride; i < l; i++) {\n      this.array[index1 + i] = attribute.array[index2 + i];\n    }\n    return this;\n  }\n  set(value, offset = 0) {\n    this.array.set(value, offset);\n    return this;\n  }\n  clone(data) {\n    if (data.arrayBuffers === void 0) {\n      data.arrayBuffers = {};\n    }\n    if (this.array.buffer._uuid === void 0) {\n      this.array.buffer._uuid = generateUUID();\n    }\n    if (data.arrayBuffers[this.array.buffer._uuid] === void 0) {\n      data.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer;\n    }\n    const array = new this.array.constructor(data.arrayBuffers[this.array.buffer._uuid]);\n    const ib = new this.constructor(array, this.stride);\n    ib.setUsage(this.usage);\n    return ib;\n  }\n  onUpload(callback) {\n    this.onUploadCallback = callback;\n    return this;\n  }\n  toJSON(data) {\n    if (data.arrayBuffers === void 0) {\n      data.arrayBuffers = {};\n    }\n    if (this.array.buffer._uuid === void 0) {\n      this.array.buffer._uuid = generateUUID();\n    }\n    if (data.arrayBuffers[this.array.buffer._uuid] === void 0) {\n      data.arrayBuffers[this.array.buffer._uuid] = Array.from(new Uint32Array(this.array.buffer));\n    }\n    return {\n      uuid: this.uuid,\n      buffer: this.array.buffer._uuid,\n      type: this.array.constructor.name,\n      stride: this.stride\n    };\n  }\n};\nvar _vector$6 = /* @__PURE__ */ new Vector3();\nvar InterleavedBufferAttribute = class _InterleavedBufferAttribute {\n  constructor(interleavedBuffer, itemSize, offset, normalized = false) {\n    this.isInterleavedBufferAttribute = true;\n    this.name = \"\";\n    this.data = interleavedBuffer;\n    this.itemSize = itemSize;\n    this.offset = offset;\n    this.normalized = normalized;\n  }\n  get count() {\n    return this.data.count;\n  }\n  get array() {\n    return this.data.array;\n  }\n  set needsUpdate(value) {\n    this.data.needsUpdate = value;\n  }\n  applyMatrix4(m) {\n    for (let i = 0, l = this.data.count; i < l; i++) {\n      _vector$6.fromBufferAttribute(this, i);\n      _vector$6.applyMatrix4(m);\n      this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z);\n    }\n    return this;\n  }\n  applyNormalMatrix(m) {\n    for (let i = 0, l = this.count; i < l; i++) {\n      _vector$6.fromBufferAttribute(this, i);\n      _vector$6.applyNormalMatrix(m);\n      this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z);\n    }\n    return this;\n  }\n  transformDirection(m) {\n    for (let i = 0, l = this.count; i < l; i++) {\n      _vector$6.fromBufferAttribute(this, i);\n      _vector$6.transformDirection(m);\n      this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z);\n    }\n    return this;\n  }\n  getComponent(index, component) {\n    let value = this.array[index * this.data.stride + this.offset + component];\n    if (this.normalized) value = denormalize(value, this.array);\n    return value;\n  }\n  setComponent(index, component, value) {\n    if (this.normalized) value = normalize(value, this.array);\n    this.data.array[index * this.data.stride + this.offset + component] = value;\n    return this;\n  }\n  setX(index, x) {\n    if (this.normalized) x = normalize(x, this.array);\n    this.data.array[index * this.data.stride + this.offset] = x;\n    return this;\n  }\n  setY(index, y) {\n    if (this.normalized) y = normalize(y, this.array);\n    this.data.array[index * this.data.stride + this.offset + 1] = y;\n    return this;\n  }\n  setZ(index, z) {\n    if (this.normalized) z = normalize(z, this.array);\n    this.data.array[index * this.data.stride + this.offset + 2] = z;\n    return this;\n  }\n  setW(index, w) {\n    if (this.normalized) w = normalize(w, this.array);\n    this.data.array[index * this.data.stride + this.offset + 3] = w;\n    return this;\n  }\n  getX(index) {\n    let x = this.data.array[index * this.data.stride + this.offset];\n    if (this.normalized) x = denormalize(x, this.array);\n    return x;\n  }\n  getY(index) {\n    let y = this.data.array[index * this.data.stride + this.offset + 1];\n    if (this.normalized) y = denormalize(y, this.array);\n    return y;\n  }\n  getZ(index) {\n    let z = this.data.array[index * this.data.stride + this.offset + 2];\n    if (this.normalized) z = denormalize(z, this.array);\n    return z;\n  }\n  getW(index) {\n    let w = this.data.array[index * this.data.stride + this.offset + 3];\n    if (this.normalized) w = denormalize(w, this.array);\n    return w;\n  }\n  setXY(index, x, y) {\n    index = index * this.data.stride + this.offset;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n    }\n    this.data.array[index + 0] = x;\n    this.data.array[index + 1] = y;\n    return this;\n  }\n  setXYZ(index, x, y, z) {\n    index = index * this.data.stride + this.offset;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n    }\n    this.data.array[index + 0] = x;\n    this.data.array[index + 1] = y;\n    this.data.array[index + 2] = z;\n    return this;\n  }\n  setXYZW(index, x, y, z, w) {\n    index = index * this.data.stride + this.offset;\n    if (this.normalized) {\n      x = normalize(x, this.array);\n      y = normalize(y, this.array);\n      z = normalize(z, this.array);\n      w = normalize(w, this.array);\n    }\n    this.data.array[index + 0] = x;\n    this.data.array[index + 1] = y;\n    this.data.array[index + 2] = z;\n    this.data.array[index + 3] = w;\n    return this;\n  }\n  clone(data) {\n    if (data === void 0) {\n      console.log(\"THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.\");\n      const array = [];\n      for (let i = 0; i < this.count; i++) {\n        const index = i * this.data.stride + this.offset;\n        for (let j = 0; j < this.itemSize; j++) {\n          array.push(this.data.array[index + j]);\n        }\n      }\n      return new BufferAttribute(new this.array.constructor(array), this.itemSize, this.normalized);\n    } else {\n      if (data.interleavedBuffers === void 0) {\n        data.interleavedBuffers = {};\n      }\n      if (data.interleavedBuffers[this.data.uuid] === void 0) {\n        data.interleavedBuffers[this.data.uuid] = this.data.clone(data);\n      }\n      return new _InterleavedBufferAttribute(data.interleavedBuffers[this.data.uuid], this.itemSize, this.offset, this.normalized);\n    }\n  }\n  toJSON(data) {\n    if (data === void 0) {\n      console.log(\"THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.\");\n      const array = [];\n      for (let i = 0; i < this.count; i++) {\n        const index = i * this.data.stride + this.offset;\n        for (let j = 0; j < this.itemSize; j++) {\n          array.push(this.data.array[index + j]);\n        }\n      }\n      return {\n        itemSize: this.itemSize,\n        type: this.array.constructor.name,\n        array,\n        normalized: this.normalized\n      };\n    } else {\n      if (data.interleavedBuffers === void 0) {\n        data.interleavedBuffers = {};\n      }\n      if (data.interleavedBuffers[this.data.uuid] === void 0) {\n        data.interleavedBuffers[this.data.uuid] = this.data.toJSON(data);\n      }\n      return {\n        isInterleavedBufferAttribute: true,\n        itemSize: this.itemSize,\n        data: this.data.uuid,\n        offset: this.offset,\n        normalized: this.normalized\n      };\n    }\n  }\n};\nvar SpriteMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isSpriteMaterial = true;\n    this.type = \"SpriteMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.alphaMap = null;\n    this.rotation = 0;\n    this.sizeAttenuation = true;\n    this.transparent = true;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.alphaMap = source.alphaMap;\n    this.rotation = source.rotation;\n    this.sizeAttenuation = source.sizeAttenuation;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar _geometry;\nvar _intersectPoint = /* @__PURE__ */ new Vector3();\nvar _worldScale = /* @__PURE__ */ new Vector3();\nvar _mvPosition = /* @__PURE__ */ new Vector3();\nvar _alignedPosition = /* @__PURE__ */ new Vector2();\nvar _rotatedPosition = /* @__PURE__ */ new Vector2();\nvar _viewWorldMatrix = /* @__PURE__ */ new Matrix4();\nvar _vA = /* @__PURE__ */ new Vector3();\nvar _vB = /* @__PURE__ */ new Vector3();\nvar _vC = /* @__PURE__ */ new Vector3();\nvar _uvA = /* @__PURE__ */ new Vector2();\nvar _uvB = /* @__PURE__ */ new Vector2();\nvar _uvC = /* @__PURE__ */ new Vector2();\nvar Sprite = class extends Object3D {\n  constructor(material = new SpriteMaterial()) {\n    super();\n    this.isSprite = true;\n    this.type = \"Sprite\";\n    if (_geometry === void 0) {\n      _geometry = new BufferGeometry();\n      const float32Array = new Float32Array([\n        -0.5,\n        -0.5,\n        0,\n        0,\n        0,\n        0.5,\n        -0.5,\n        0,\n        1,\n        0,\n        0.5,\n        0.5,\n        0,\n        1,\n        1,\n        -0.5,\n        0.5,\n        0,\n        0,\n        1\n      ]);\n      const interleavedBuffer = new InterleavedBuffer(float32Array, 5);\n      _geometry.setIndex([0, 1, 2, 0, 2, 3]);\n      _geometry.setAttribute(\"position\", new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false));\n      _geometry.setAttribute(\"uv\", new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false));\n    }\n    this.geometry = _geometry;\n    this.material = material;\n    this.center = new Vector2(0.5, 0.5);\n  }\n  raycast(raycaster, intersects2) {\n    if (raycaster.camera === null) {\n      console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.');\n    }\n    _worldScale.setFromMatrixScale(this.matrixWorld);\n    _viewWorldMatrix.copy(raycaster.camera.matrixWorld);\n    this.modelViewMatrix.multiplyMatrices(raycaster.camera.matrixWorldInverse, this.matrixWorld);\n    _mvPosition.setFromMatrixPosition(this.modelViewMatrix);\n    if (raycaster.camera.isPerspectiveCamera && this.material.sizeAttenuation === false) {\n      _worldScale.multiplyScalar(-_mvPosition.z);\n    }\n    const rotation = this.material.rotation;\n    let sin, cos;\n    if (rotation !== 0) {\n      cos = Math.cos(rotation);\n      sin = Math.sin(rotation);\n    }\n    const center = this.center;\n    transformVertex(_vA.set(-0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos);\n    transformVertex(_vB.set(0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos);\n    transformVertex(_vC.set(0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos);\n    _uvA.set(0, 0);\n    _uvB.set(1, 0);\n    _uvC.set(1, 1);\n    let intersect2 = raycaster.ray.intersectTriangle(_vA, _vB, _vC, false, _intersectPoint);\n    if (intersect2 === null) {\n      transformVertex(_vB.set(-0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos);\n      _uvB.set(0, 1);\n      intersect2 = raycaster.ray.intersectTriangle(_vA, _vC, _vB, false, _intersectPoint);\n      if (intersect2 === null) {\n        return;\n      }\n    }\n    const distance = raycaster.ray.origin.distanceTo(_intersectPoint);\n    if (distance < raycaster.near || distance > raycaster.far) return;\n    intersects2.push({\n      distance,\n      point: _intersectPoint.clone(),\n      uv: Triangle.getInterpolation(_intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2()),\n      face: null,\n      object: this\n    });\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    if (source.center !== void 0) this.center.copy(source.center);\n    this.material = source.material;\n    return this;\n  }\n};\nfunction transformVertex(vertexPosition, mvPosition, center, scale, sin, cos) {\n  _alignedPosition.subVectors(vertexPosition, center).addScalar(0.5).multiply(scale);\n  if (sin !== void 0) {\n    _rotatedPosition.x = cos * _alignedPosition.x - sin * _alignedPosition.y;\n    _rotatedPosition.y = sin * _alignedPosition.x + cos * _alignedPosition.y;\n  } else {\n    _rotatedPosition.copy(_alignedPosition);\n  }\n  vertexPosition.copy(mvPosition);\n  vertexPosition.x += _rotatedPosition.x;\n  vertexPosition.y += _rotatedPosition.y;\n  vertexPosition.applyMatrix4(_viewWorldMatrix);\n}\nvar _v1$2 = /* @__PURE__ */ new Vector3();\nvar _v2$1 = /* @__PURE__ */ new Vector3();\nvar LOD = class extends Object3D {\n  constructor() {\n    super();\n    this._currentLevel = 0;\n    this.type = \"LOD\";\n    Object.defineProperties(this, {\n      levels: {\n        enumerable: true,\n        value: []\n      },\n      isLOD: {\n        value: true\n      }\n    });\n    this.autoUpdate = true;\n  }\n  copy(source) {\n    super.copy(source, false);\n    const levels = source.levels;\n    for (let i = 0, l = levels.length; i < l; i++) {\n      const level = levels[i];\n      this.addLevel(level.object.clone(), level.distance, level.hysteresis);\n    }\n    this.autoUpdate = source.autoUpdate;\n    return this;\n  }\n  addLevel(object, distance = 0, hysteresis = 0) {\n    distance = Math.abs(distance);\n    const levels = this.levels;\n    let l;\n    for (l = 0; l < levels.length; l++) {\n      if (distance < levels[l].distance) {\n        break;\n      }\n    }\n    levels.splice(l, 0, { distance, hysteresis, object });\n    this.add(object);\n    return this;\n  }\n  removeLevel(distance) {\n    const levels = this.levels;\n    for (let i = 0; i < levels.length; i++) {\n      if (levels[i].distance === distance) {\n        const removedElements = levels.splice(i, 1);\n        this.remove(removedElements[0].object);\n        return true;\n      }\n    }\n    return false;\n  }\n  getCurrentLevel() {\n    return this._currentLevel;\n  }\n  getObjectForDistance(distance) {\n    const levels = this.levels;\n    if (levels.length > 0) {\n      let i, l;\n      for (i = 1, l = levels.length; i < l; i++) {\n        let levelDistance = levels[i].distance;\n        if (levels[i].object.visible) {\n          levelDistance -= levelDistance * levels[i].hysteresis;\n        }\n        if (distance < levelDistance) {\n          break;\n        }\n      }\n      return levels[i - 1].object;\n    }\n    return null;\n  }\n  raycast(raycaster, intersects2) {\n    const levels = this.levels;\n    if (levels.length > 0) {\n      _v1$2.setFromMatrixPosition(this.matrixWorld);\n      const distance = raycaster.ray.origin.distanceTo(_v1$2);\n      this.getObjectForDistance(distance).raycast(raycaster, intersects2);\n    }\n  }\n  update(camera) {\n    const levels = this.levels;\n    if (levels.length > 1) {\n      _v1$2.setFromMatrixPosition(camera.matrixWorld);\n      _v2$1.setFromMatrixPosition(this.matrixWorld);\n      const distance = _v1$2.distanceTo(_v2$1) / camera.zoom;\n      levels[0].object.visible = true;\n      let i, l;\n      for (i = 1, l = levels.length; i < l; i++) {\n        let levelDistance = levels[i].distance;\n        if (levels[i].object.visible) {\n          levelDistance -= levelDistance * levels[i].hysteresis;\n        }\n        if (distance >= levelDistance) {\n          levels[i - 1].object.visible = false;\n          levels[i].object.visible = true;\n        } else {\n          break;\n        }\n      }\n      this._currentLevel = i - 1;\n      for (; i < l; i++) {\n        levels[i].object.visible = false;\n      }\n    }\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    if (this.autoUpdate === false) data.object.autoUpdate = false;\n    data.object.levels = [];\n    const levels = this.levels;\n    for (let i = 0, l = levels.length; i < l; i++) {\n      const level = levels[i];\n      data.object.levels.push({\n        object: level.object.uuid,\n        distance: level.distance,\n        hysteresis: level.hysteresis\n      });\n    }\n    return data;\n  }\n};\nvar _basePosition = /* @__PURE__ */ new Vector3();\nvar _skinIndex = /* @__PURE__ */ new Vector4();\nvar _skinWeight = /* @__PURE__ */ new Vector4();\nvar _vector3 = /* @__PURE__ */ new Vector3();\nvar _matrix4 = /* @__PURE__ */ new Matrix4();\nvar _vertex = /* @__PURE__ */ new Vector3();\nvar _sphere$4 = /* @__PURE__ */ new Sphere();\nvar _inverseMatrix$2 = /* @__PURE__ */ new Matrix4();\nvar _ray$2 = /* @__PURE__ */ new Ray();\nvar SkinnedMesh = class extends Mesh {\n  constructor(geometry, material) {\n    super(geometry, material);\n    this.isSkinnedMesh = true;\n    this.type = \"SkinnedMesh\";\n    this.bindMode = AttachedBindMode;\n    this.bindMatrix = new Matrix4();\n    this.bindMatrixInverse = new Matrix4();\n    this.boundingBox = null;\n    this.boundingSphere = null;\n  }\n  computeBoundingBox() {\n    const geometry = this.geometry;\n    if (this.boundingBox === null) {\n      this.boundingBox = new Box3();\n    }\n    this.boundingBox.makeEmpty();\n    const positionAttribute = geometry.getAttribute(\"position\");\n    for (let i = 0; i < positionAttribute.count; i++) {\n      this.getVertexPosition(i, _vertex);\n      this.boundingBox.expandByPoint(_vertex);\n    }\n  }\n  computeBoundingSphere() {\n    const geometry = this.geometry;\n    if (this.boundingSphere === null) {\n      this.boundingSphere = new Sphere();\n    }\n    this.boundingSphere.makeEmpty();\n    const positionAttribute = geometry.getAttribute(\"position\");\n    for (let i = 0; i < positionAttribute.count; i++) {\n      this.getVertexPosition(i, _vertex);\n      this.boundingSphere.expandByPoint(_vertex);\n    }\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.bindMode = source.bindMode;\n    this.bindMatrix.copy(source.bindMatrix);\n    this.bindMatrixInverse.copy(source.bindMatrixInverse);\n    this.skeleton = source.skeleton;\n    if (source.boundingBox !== null) this.boundingBox = source.boundingBox.clone();\n    if (source.boundingSphere !== null) this.boundingSphere = source.boundingSphere.clone();\n    return this;\n  }\n  raycast(raycaster, intersects2) {\n    const material = this.material;\n    const matrixWorld = this.matrixWorld;\n    if (material === void 0) return;\n    if (this.boundingSphere === null) this.computeBoundingSphere();\n    _sphere$4.copy(this.boundingSphere);\n    _sphere$4.applyMatrix4(matrixWorld);\n    if (raycaster.ray.intersectsSphere(_sphere$4) === false) return;\n    _inverseMatrix$2.copy(matrixWorld).invert();\n    _ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2);\n    if (this.boundingBox !== null) {\n      if (_ray$2.intersectsBox(this.boundingBox) === false) return;\n    }\n    this._computeIntersections(raycaster, intersects2, _ray$2);\n  }\n  getVertexPosition(index, target) {\n    super.getVertexPosition(index, target);\n    this.applyBoneTransform(index, target);\n    return target;\n  }\n  bind(skeleton, bindMatrix) {\n    this.skeleton = skeleton;\n    if (bindMatrix === void 0) {\n      this.updateMatrixWorld(true);\n      this.skeleton.calculateInverses();\n      bindMatrix = this.matrixWorld;\n    }\n    this.bindMatrix.copy(bindMatrix);\n    this.bindMatrixInverse.copy(bindMatrix).invert();\n  }\n  pose() {\n    this.skeleton.pose();\n  }\n  normalizeSkinWeights() {\n    const vector = new Vector4();\n    const skinWeight = this.geometry.attributes.skinWeight;\n    for (let i = 0, l = skinWeight.count; i < l; i++) {\n      vector.fromBufferAttribute(skinWeight, i);\n      const scale = 1 / vector.manhattanLength();\n      if (scale !== Infinity) {\n        vector.multiplyScalar(scale);\n      } else {\n        vector.set(1, 0, 0, 0);\n      }\n      skinWeight.setXYZW(i, vector.x, vector.y, vector.z, vector.w);\n    }\n  }\n  updateMatrixWorld(force) {\n    super.updateMatrixWorld(force);\n    if (this.bindMode === AttachedBindMode) {\n      this.bindMatrixInverse.copy(this.matrixWorld).invert();\n    } else if (this.bindMode === DetachedBindMode) {\n      this.bindMatrixInverse.copy(this.bindMatrix).invert();\n    } else {\n      console.warn(\"THREE.SkinnedMesh: Unrecognized bindMode: \" + this.bindMode);\n    }\n  }\n  applyBoneTransform(index, vector) {\n    const skeleton = this.skeleton;\n    const geometry = this.geometry;\n    _skinIndex.fromBufferAttribute(geometry.attributes.skinIndex, index);\n    _skinWeight.fromBufferAttribute(geometry.attributes.skinWeight, index);\n    _basePosition.copy(vector).applyMatrix4(this.bindMatrix);\n    vector.set(0, 0, 0);\n    for (let i = 0; i < 4; i++) {\n      const weight = _skinWeight.getComponent(i);\n      if (weight !== 0) {\n        const boneIndex = _skinIndex.getComponent(i);\n        _matrix4.multiplyMatrices(skeleton.bones[boneIndex].matrixWorld, skeleton.boneInverses[boneIndex]);\n        vector.addScaledVector(_vector3.copy(_basePosition).applyMatrix4(_matrix4), weight);\n      }\n    }\n    return vector.applyMatrix4(this.bindMatrixInverse);\n  }\n};\nvar Bone = class extends Object3D {\n  constructor() {\n    super();\n    this.isBone = true;\n    this.type = \"Bone\";\n  }\n};\nvar DataTexture = class extends Texture {\n  constructor(data = null, width = 1, height = 1, format, type, mapping, wrapS, wrapT, magFilter = NearestFilter, minFilter = NearestFilter, anisotropy, colorSpace) {\n    super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace);\n    this.isDataTexture = true;\n    this.image = { data, width, height };\n    this.generateMipmaps = false;\n    this.flipY = false;\n    this.unpackAlignment = 1;\n  }\n};\nvar _offsetMatrix = /* @__PURE__ */ new Matrix4();\nvar _identityMatrix$1 = /* @__PURE__ */ new Matrix4();\nvar Skeleton = class _Skeleton {\n  constructor(bones = [], boneInverses = []) {\n    this.uuid = generateUUID();\n    this.bones = bones.slice(0);\n    this.boneInverses = boneInverses;\n    this.boneMatrices = null;\n    this.boneTexture = null;\n    this.init();\n  }\n  init() {\n    const bones = this.bones;\n    const boneInverses = this.boneInverses;\n    this.boneMatrices = new Float32Array(bones.length * 16);\n    if (boneInverses.length === 0) {\n      this.calculateInverses();\n    } else {\n      if (bones.length !== boneInverses.length) {\n        console.warn(\"THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.\");\n        this.boneInverses = [];\n        for (let i = 0, il = this.bones.length; i < il; i++) {\n          this.boneInverses.push(new Matrix4());\n        }\n      }\n    }\n  }\n  calculateInverses() {\n    this.boneInverses.length = 0;\n    for (let i = 0, il = this.bones.length; i < il; i++) {\n      const inverse = new Matrix4();\n      if (this.bones[i]) {\n        inverse.copy(this.bones[i].matrixWorld).invert();\n      }\n      this.boneInverses.push(inverse);\n    }\n  }\n  pose() {\n    for (let i = 0, il = this.bones.length; i < il; i++) {\n      const bone = this.bones[i];\n      if (bone) {\n        bone.matrixWorld.copy(this.boneInverses[i]).invert();\n      }\n    }\n    for (let i = 0, il = this.bones.length; i < il; i++) {\n      const bone = this.bones[i];\n      if (bone) {\n        if (bone.parent && bone.parent.isBone) {\n          bone.matrix.copy(bone.parent.matrixWorld).invert();\n          bone.matrix.multiply(bone.matrixWorld);\n        } else {\n          bone.matrix.copy(bone.matrixWorld);\n        }\n        bone.matrix.decompose(bone.position, bone.quaternion, bone.scale);\n      }\n    }\n  }\n  update() {\n    const bones = this.bones;\n    const boneInverses = this.boneInverses;\n    const boneMatrices = this.boneMatrices;\n    const boneTexture = this.boneTexture;\n    for (let i = 0, il = bones.length; i < il; i++) {\n      const matrix = bones[i] ? bones[i].matrixWorld : _identityMatrix$1;\n      _offsetMatrix.multiplyMatrices(matrix, boneInverses[i]);\n      _offsetMatrix.toArray(boneMatrices, i * 16);\n    }\n    if (boneTexture !== null) {\n      boneTexture.needsUpdate = true;\n    }\n  }\n  clone() {\n    return new _Skeleton(this.bones, this.boneInverses);\n  }\n  computeBoneTexture() {\n    let size = Math.sqrt(this.bones.length * 4);\n    size = Math.ceil(size / 4) * 4;\n    size = Math.max(size, 4);\n    const boneMatrices = new Float32Array(size * size * 4);\n    boneMatrices.set(this.boneMatrices);\n    const boneTexture = new DataTexture(boneMatrices, size, size, RGBAFormat, FloatType);\n    boneTexture.needsUpdate = true;\n    this.boneMatrices = boneMatrices;\n    this.boneTexture = boneTexture;\n    return this;\n  }\n  getBoneByName(name) {\n    for (let i = 0, il = this.bones.length; i < il; i++) {\n      const bone = this.bones[i];\n      if (bone.name === name) {\n        return bone;\n      }\n    }\n    return void 0;\n  }\n  dispose() {\n    if (this.boneTexture !== null) {\n      this.boneTexture.dispose();\n      this.boneTexture = null;\n    }\n  }\n  fromJSON(json, bones) {\n    this.uuid = json.uuid;\n    for (let i = 0, l = json.bones.length; i < l; i++) {\n      const uuid = json.bones[i];\n      let bone = bones[uuid];\n      if (bone === void 0) {\n        console.warn(\"THREE.Skeleton: No bone found with UUID:\", uuid);\n        bone = new Bone();\n      }\n      this.bones.push(bone);\n      this.boneInverses.push(new Matrix4().fromArray(json.boneInverses[i]));\n    }\n    this.init();\n    return this;\n  }\n  toJSON() {\n    const data = {\n      metadata: {\n        version: 4.6,\n        type: \"Skeleton\",\n        generator: \"Skeleton.toJSON\"\n      },\n      bones: [],\n      boneInverses: []\n    };\n    data.uuid = this.uuid;\n    const bones = this.bones;\n    const boneInverses = this.boneInverses;\n    for (let i = 0, l = bones.length; i < l; i++) {\n      const bone = bones[i];\n      data.bones.push(bone.uuid);\n      const boneInverse = boneInverses[i];\n      data.boneInverses.push(boneInverse.toArray());\n    }\n    return data;\n  }\n};\nvar InstancedBufferAttribute = class extends BufferAttribute {\n  constructor(array, itemSize, normalized, meshPerAttribute = 1) {\n    super(array, itemSize, normalized);\n    this.isInstancedBufferAttribute = true;\n    this.meshPerAttribute = meshPerAttribute;\n  }\n  copy(source) {\n    super.copy(source);\n    this.meshPerAttribute = source.meshPerAttribute;\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.meshPerAttribute = this.meshPerAttribute;\n    data.isInstancedBufferAttribute = true;\n    return data;\n  }\n};\nvar _instanceLocalMatrix = /* @__PURE__ */ new Matrix4();\nvar _instanceWorldMatrix = /* @__PURE__ */ new Matrix4();\nvar _instanceIntersects = [];\nvar _box3 = /* @__PURE__ */ new Box3();\nvar _identity = /* @__PURE__ */ new Matrix4();\nvar _mesh$1 = /* @__PURE__ */ new Mesh();\nvar _sphere$3 = /* @__PURE__ */ new Sphere();\nvar InstancedMesh = class extends Mesh {\n  constructor(geometry, material, count) {\n    super(geometry, material);\n    this.isInstancedMesh = true;\n    this.instanceMatrix = new InstancedBufferAttribute(new Float32Array(count * 16), 16);\n    this.instanceColor = null;\n    this.morphTexture = null;\n    this.count = count;\n    this.boundingBox = null;\n    this.boundingSphere = null;\n    for (let i = 0; i < count; i++) {\n      this.setMatrixAt(i, _identity);\n    }\n  }\n  computeBoundingBox() {\n    const geometry = this.geometry;\n    const count = this.count;\n    if (this.boundingBox === null) {\n      this.boundingBox = new Box3();\n    }\n    if (geometry.boundingBox === null) {\n      geometry.computeBoundingBox();\n    }\n    this.boundingBox.makeEmpty();\n    for (let i = 0; i < count; i++) {\n      this.getMatrixAt(i, _instanceLocalMatrix);\n      _box3.copy(geometry.boundingBox).applyMatrix4(_instanceLocalMatrix);\n      this.boundingBox.union(_box3);\n    }\n  }\n  computeBoundingSphere() {\n    const geometry = this.geometry;\n    const count = this.count;\n    if (this.boundingSphere === null) {\n      this.boundingSphere = new Sphere();\n    }\n    if (geometry.boundingSphere === null) {\n      geometry.computeBoundingSphere();\n    }\n    this.boundingSphere.makeEmpty();\n    for (let i = 0; i < count; i++) {\n      this.getMatrixAt(i, _instanceLocalMatrix);\n      _sphere$3.copy(geometry.boundingSphere).applyMatrix4(_instanceLocalMatrix);\n      this.boundingSphere.union(_sphere$3);\n    }\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.instanceMatrix.copy(source.instanceMatrix);\n    if (source.morphTexture !== null) this.morphTexture = source.morphTexture.clone();\n    if (source.instanceColor !== null) this.instanceColor = source.instanceColor.clone();\n    this.count = source.count;\n    if (source.boundingBox !== null) this.boundingBox = source.boundingBox.clone();\n    if (source.boundingSphere !== null) this.boundingSphere = source.boundingSphere.clone();\n    return this;\n  }\n  getColorAt(index, color) {\n    color.fromArray(this.instanceColor.array, index * 3);\n  }\n  getMatrixAt(index, matrix) {\n    matrix.fromArray(this.instanceMatrix.array, index * 16);\n  }\n  getMorphAt(index, object) {\n    const objectInfluences = object.morphTargetInfluences;\n    const array = this.morphTexture.source.data.data;\n    const len = objectInfluences.length + 1;\n    const dataIndex = index * len + 1;\n    for (let i = 0; i < objectInfluences.length; i++) {\n      objectInfluences[i] = array[dataIndex + i];\n    }\n  }\n  raycast(raycaster, intersects2) {\n    const matrixWorld = this.matrixWorld;\n    const raycastTimes = this.count;\n    _mesh$1.geometry = this.geometry;\n    _mesh$1.material = this.material;\n    if (_mesh$1.material === void 0) return;\n    if (this.boundingSphere === null) this.computeBoundingSphere();\n    _sphere$3.copy(this.boundingSphere);\n    _sphere$3.applyMatrix4(matrixWorld);\n    if (raycaster.ray.intersectsSphere(_sphere$3) === false) return;\n    for (let instanceId = 0; instanceId < raycastTimes; instanceId++) {\n      this.getMatrixAt(instanceId, _instanceLocalMatrix);\n      _instanceWorldMatrix.multiplyMatrices(matrixWorld, _instanceLocalMatrix);\n      _mesh$1.matrixWorld = _instanceWorldMatrix;\n      _mesh$1.raycast(raycaster, _instanceIntersects);\n      for (let i = 0, l = _instanceIntersects.length; i < l; i++) {\n        const intersect2 = _instanceIntersects[i];\n        intersect2.instanceId = instanceId;\n        intersect2.object = this;\n        intersects2.push(intersect2);\n      }\n      _instanceIntersects.length = 0;\n    }\n  }\n  setColorAt(index, color) {\n    if (this.instanceColor === null) {\n      this.instanceColor = new InstancedBufferAttribute(new Float32Array(this.instanceMatrix.count * 3).fill(1), 3);\n    }\n    color.toArray(this.instanceColor.array, index * 3);\n  }\n  setMatrixAt(index, matrix) {\n    matrix.toArray(this.instanceMatrix.array, index * 16);\n  }\n  setMorphAt(index, object) {\n    const objectInfluences = object.morphTargetInfluences;\n    const len = objectInfluences.length + 1;\n    if (this.morphTexture === null) {\n      this.morphTexture = new DataTexture(new Float32Array(len * this.count), len, this.count, RedFormat, FloatType);\n    }\n    const array = this.morphTexture.source.data.data;\n    let morphInfluencesSum = 0;\n    for (let i = 0; i < objectInfluences.length; i++) {\n      morphInfluencesSum += objectInfluences[i];\n    }\n    const morphBaseInfluence = this.geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum;\n    const dataIndex = len * index;\n    array[dataIndex] = morphBaseInfluence;\n    array.set(objectInfluences, dataIndex + 1);\n  }\n  updateMorphTargets() {\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n    if (this.morphTexture !== null) {\n      this.morphTexture.dispose();\n      this.morphTexture = null;\n    }\n    return this;\n  }\n};\nfunction sortOpaque(a, b) {\n  return a.z - b.z;\n}\nfunction sortTransparent(a, b) {\n  return b.z - a.z;\n}\nvar MultiDrawRenderList = class {\n  constructor() {\n    this.index = 0;\n    this.pool = [];\n    this.list = [];\n  }\n  push(drawRange, z, index) {\n    const pool = this.pool;\n    const list = this.list;\n    if (this.index >= pool.length) {\n      pool.push({\n        start: -1,\n        count: -1,\n        z: -1,\n        index: -1\n      });\n    }\n    const item = pool[this.index];\n    list.push(item);\n    this.index++;\n    item.start = drawRange.start;\n    item.count = drawRange.count;\n    item.z = z;\n    item.index = index;\n  }\n  reset() {\n    this.list.length = 0;\n    this.index = 0;\n  }\n};\nvar _matrix$1 = /* @__PURE__ */ new Matrix4();\nvar _invMatrixWorld = /* @__PURE__ */ new Matrix4();\nvar _identityMatrix = /* @__PURE__ */ new Matrix4();\nvar _whiteColor = /* @__PURE__ */ new Color(1, 1, 1);\nvar _projScreenMatrix$2 = /* @__PURE__ */ new Matrix4();\nvar _frustum = /* @__PURE__ */ new Frustum();\nvar _box$1 = /* @__PURE__ */ new Box3();\nvar _sphere$2 = /* @__PURE__ */ new Sphere();\nvar _vector$5 = /* @__PURE__ */ new Vector3();\nvar _forward = /* @__PURE__ */ new Vector3();\nvar _temp = /* @__PURE__ */ new Vector3();\nvar _renderList = /* @__PURE__ */ new MultiDrawRenderList();\nvar _mesh = /* @__PURE__ */ new Mesh();\nvar _batchIntersects = [];\nfunction copyAttributeData(src, target, targetOffset = 0) {\n  const itemSize = target.itemSize;\n  if (src.isInterleavedBufferAttribute || src.array.constructor !== target.array.constructor) {\n    const vertexCount = src.count;\n    for (let i = 0; i < vertexCount; i++) {\n      for (let c = 0; c < itemSize; c++) {\n        target.setComponent(i + targetOffset, c, src.getComponent(i, c));\n      }\n    }\n  } else {\n    target.array.set(src.array, targetOffset * itemSize);\n  }\n  target.needsUpdate = true;\n}\nvar BatchedMesh = class extends Mesh {\n  get maxInstanceCount() {\n    return this._maxInstanceCount;\n  }\n  constructor(maxInstanceCount, maxVertexCount, maxIndexCount = maxVertexCount * 2, material) {\n    super(new BufferGeometry(), material);\n    this.isBatchedMesh = true;\n    this.perObjectFrustumCulled = true;\n    this.sortObjects = true;\n    this.boundingBox = null;\n    this.boundingSphere = null;\n    this.customSort = null;\n    this._drawInfo = [];\n    this._availableInstanceIds = [];\n    this._drawRanges = [];\n    this._reservedRanges = [];\n    this._bounds = [];\n    this._maxInstanceCount = maxInstanceCount;\n    this._maxVertexCount = maxVertexCount;\n    this._maxIndexCount = maxIndexCount;\n    this._geometryInitialized = false;\n    this._geometryCount = 0;\n    this._multiDrawCounts = new Int32Array(maxInstanceCount);\n    this._multiDrawStarts = new Int32Array(maxInstanceCount);\n    this._multiDrawCount = 0;\n    this._multiDrawInstances = null;\n    this._visibilityChanged = true;\n    this._matricesTexture = null;\n    this._indirectTexture = null;\n    this._colorsTexture = null;\n    this._initMatricesTexture();\n    this._initIndirectTexture();\n  }\n  _initMatricesTexture() {\n    let size = Math.sqrt(this._maxInstanceCount * 4);\n    size = Math.ceil(size / 4) * 4;\n    size = Math.max(size, 4);\n    const matricesArray = new Float32Array(size * size * 4);\n    const matricesTexture = new DataTexture(matricesArray, size, size, RGBAFormat, FloatType);\n    this._matricesTexture = matricesTexture;\n  }\n  _initIndirectTexture() {\n    let size = Math.sqrt(this._maxInstanceCount);\n    size = Math.ceil(size);\n    const indirectArray = new Uint32Array(size * size);\n    const indirectTexture = new DataTexture(indirectArray, size, size, RedIntegerFormat, UnsignedIntType);\n    this._indirectTexture = indirectTexture;\n  }\n  _initColorsTexture() {\n    let size = Math.sqrt(this._maxInstanceCount);\n    size = Math.ceil(size);\n    const colorsArray = new Float32Array(size * size * 4).fill(1);\n    const colorsTexture = new DataTexture(colorsArray, size, size, RGBAFormat, FloatType);\n    colorsTexture.colorSpace = ColorManagement.workingColorSpace;\n    this._colorsTexture = colorsTexture;\n  }\n  _initializeGeometry(reference) {\n    const geometry = this.geometry;\n    const maxVertexCount = this._maxVertexCount;\n    const maxIndexCount = this._maxIndexCount;\n    if (this._geometryInitialized === false) {\n      for (const attributeName in reference.attributes) {\n        const srcAttribute = reference.getAttribute(attributeName);\n        const { array, itemSize, normalized } = srcAttribute;\n        const dstArray = new array.constructor(maxVertexCount * itemSize);\n        const dstAttribute = new BufferAttribute(dstArray, itemSize, normalized);\n        geometry.setAttribute(attributeName, dstAttribute);\n      }\n      if (reference.getIndex() !== null) {\n        const indexArray = maxVertexCount > 65535 ? new Uint32Array(maxIndexCount) : new Uint16Array(maxIndexCount);\n        geometry.setIndex(new BufferAttribute(indexArray, 1));\n      }\n      this._geometryInitialized = true;\n    }\n  }\n  // Make sure the geometry is compatible with the existing combined geometry attributes\n  _validateGeometry(geometry) {\n    const batchGeometry = this.geometry;\n    if (Boolean(geometry.getIndex()) !== Boolean(batchGeometry.getIndex())) {\n      throw new Error('BatchedMesh: All geometries must consistently have \"index\".');\n    }\n    for (const attributeName in batchGeometry.attributes) {\n      if (!geometry.hasAttribute(attributeName)) {\n        throw new Error(`BatchedMesh: Added geometry missing \"${attributeName}\". All geometries must have consistent attributes.`);\n      }\n      const srcAttribute = geometry.getAttribute(attributeName);\n      const dstAttribute = batchGeometry.getAttribute(attributeName);\n      if (srcAttribute.itemSize !== dstAttribute.itemSize || srcAttribute.normalized !== dstAttribute.normalized) {\n        throw new Error(\"BatchedMesh: All attributes must have a consistent itemSize and normalized value.\");\n      }\n    }\n  }\n  setCustomSort(func) {\n    this.customSort = func;\n    return this;\n  }\n  computeBoundingBox() {\n    if (this.boundingBox === null) {\n      this.boundingBox = new Box3();\n    }\n    const boundingBox = this.boundingBox;\n    const drawInfo = this._drawInfo;\n    boundingBox.makeEmpty();\n    for (let i = 0, l = drawInfo.length; i < l; i++) {\n      if (drawInfo[i].active === false) continue;\n      const geometryId = drawInfo[i].geometryIndex;\n      this.getMatrixAt(i, _matrix$1);\n      this.getBoundingBoxAt(geometryId, _box$1).applyMatrix4(_matrix$1);\n      boundingBox.union(_box$1);\n    }\n  }\n  computeBoundingSphere() {\n    if (this.boundingSphere === null) {\n      this.boundingSphere = new Sphere();\n    }\n    const boundingSphere = this.boundingSphere;\n    const drawInfo = this._drawInfo;\n    boundingSphere.makeEmpty();\n    for (let i = 0, l = drawInfo.length; i < l; i++) {\n      if (drawInfo[i].active === false) continue;\n      const geometryId = drawInfo[i].geometryIndex;\n      this.getMatrixAt(i, _matrix$1);\n      this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1);\n      boundingSphere.union(_sphere$2);\n    }\n  }\n  addInstance(geometryId) {\n    const atCapacity = this._drawInfo.length >= this.maxInstanceCount;\n    if (atCapacity && this._availableInstanceIds.length === 0) {\n      throw new Error(\"BatchedMesh: Maximum item count reached.\");\n    }\n    const instanceDrawInfo = {\n      visible: true,\n      active: true,\n      geometryIndex: geometryId\n    };\n    let drawId = null;\n    if (this._availableInstanceIds.length > 0) {\n      drawId = this._availableInstanceIds.pop();\n      this._drawInfo[drawId] = instanceDrawInfo;\n    } else {\n      drawId = this._drawInfo.length;\n      this._drawInfo.push(instanceDrawInfo);\n    }\n    const matricesTexture = this._matricesTexture;\n    const matricesArray = matricesTexture.image.data;\n    _identityMatrix.toArray(matricesArray, drawId * 16);\n    matricesTexture.needsUpdate = true;\n    const colorsTexture = this._colorsTexture;\n    if (colorsTexture) {\n      _whiteColor.toArray(colorsTexture.image.data, drawId * 4);\n      colorsTexture.needsUpdate = true;\n    }\n    return drawId;\n  }\n  addGeometry(geometry, vertexCount = -1, indexCount = -1) {\n    this._initializeGeometry(geometry);\n    this._validateGeometry(geometry);\n    if (this._drawInfo.length >= this._maxInstanceCount) {\n      throw new Error(\"BatchedMesh: Maximum item count reached.\");\n    }\n    const reservedRange = {\n      vertexStart: -1,\n      vertexCount: -1,\n      indexStart: -1,\n      indexCount: -1\n    };\n    let lastRange = null;\n    const reservedRanges = this._reservedRanges;\n    const drawRanges = this._drawRanges;\n    const bounds = this._bounds;\n    if (this._geometryCount !== 0) {\n      lastRange = reservedRanges[reservedRanges.length - 1];\n    }\n    if (vertexCount === -1) {\n      reservedRange.vertexCount = geometry.getAttribute(\"position\").count;\n    } else {\n      reservedRange.vertexCount = vertexCount;\n    }\n    if (lastRange === null) {\n      reservedRange.vertexStart = 0;\n    } else {\n      reservedRange.vertexStart = lastRange.vertexStart + lastRange.vertexCount;\n    }\n    const index = geometry.getIndex();\n    const hasIndex = index !== null;\n    if (hasIndex) {\n      if (indexCount === -1) {\n        reservedRange.indexCount = index.count;\n      } else {\n        reservedRange.indexCount = indexCount;\n      }\n      if (lastRange === null) {\n        reservedRange.indexStart = 0;\n      } else {\n        reservedRange.indexStart = lastRange.indexStart + lastRange.indexCount;\n      }\n    }\n    if (reservedRange.indexStart !== -1 && reservedRange.indexStart + reservedRange.indexCount > this._maxIndexCount || reservedRange.vertexStart + reservedRange.vertexCount > this._maxVertexCount) {\n      throw new Error(\"BatchedMesh: Reserved space request exceeds the maximum buffer size.\");\n    }\n    const geometryId = this._geometryCount;\n    this._geometryCount++;\n    reservedRanges.push(reservedRange);\n    drawRanges.push({\n      start: hasIndex ? reservedRange.indexStart : reservedRange.vertexStart,\n      count: -1\n    });\n    bounds.push({\n      boxInitialized: false,\n      box: new Box3(),\n      sphereInitialized: false,\n      sphere: new Sphere()\n    });\n    this.setGeometryAt(geometryId, geometry);\n    return geometryId;\n  }\n  setGeometryAt(geometryId, geometry) {\n    if (geometryId >= this._geometryCount) {\n      throw new Error(\"BatchedMesh: Maximum geometry count reached.\");\n    }\n    this._validateGeometry(geometry);\n    const batchGeometry = this.geometry;\n    const hasIndex = batchGeometry.getIndex() !== null;\n    const dstIndex = batchGeometry.getIndex();\n    const srcIndex = geometry.getIndex();\n    const reservedRange = this._reservedRanges[geometryId];\n    if (hasIndex && srcIndex.count > reservedRange.indexCount || geometry.attributes.position.count > reservedRange.vertexCount) {\n      throw new Error(\"BatchedMesh: Reserved space not large enough for provided geometry.\");\n    }\n    const vertexStart = reservedRange.vertexStart;\n    const vertexCount = reservedRange.vertexCount;\n    for (const attributeName in batchGeometry.attributes) {\n      const srcAttribute = geometry.getAttribute(attributeName);\n      const dstAttribute = batchGeometry.getAttribute(attributeName);\n      copyAttributeData(srcAttribute, dstAttribute, vertexStart);\n      const itemSize = srcAttribute.itemSize;\n      for (let i = srcAttribute.count, l = vertexCount; i < l; i++) {\n        const index = vertexStart + i;\n        for (let c = 0; c < itemSize; c++) {\n          dstAttribute.setComponent(index, c, 0);\n        }\n      }\n      dstAttribute.needsUpdate = true;\n      dstAttribute.addUpdateRange(vertexStart * itemSize, vertexCount * itemSize);\n    }\n    if (hasIndex) {\n      const indexStart = reservedRange.indexStart;\n      for (let i = 0; i < srcIndex.count; i++) {\n        dstIndex.setX(indexStart + i, vertexStart + srcIndex.getX(i));\n      }\n      for (let i = srcIndex.count, l = reservedRange.indexCount; i < l; i++) {\n        dstIndex.setX(indexStart + i, vertexStart);\n      }\n      dstIndex.needsUpdate = true;\n      dstIndex.addUpdateRange(indexStart, reservedRange.indexCount);\n    }\n    const bound = this._bounds[geometryId];\n    if (geometry.boundingBox !== null) {\n      bound.box.copy(geometry.boundingBox);\n      bound.boxInitialized = true;\n    } else {\n      bound.boxInitialized = false;\n    }\n    if (geometry.boundingSphere !== null) {\n      bound.sphere.copy(geometry.boundingSphere);\n      bound.sphereInitialized = true;\n    } else {\n      bound.sphereInitialized = false;\n    }\n    const drawRange = this._drawRanges[geometryId];\n    const posAttr = geometry.getAttribute(\"position\");\n    drawRange.count = hasIndex ? srcIndex.count : posAttr.count;\n    this._visibilityChanged = true;\n    return geometryId;\n  }\n  /*\n  \tdeleteGeometry( geometryId ) {\n  \n  \t\t// TODO: delete geometry and associated instances\n  \n  \t}\n  \t*/\n  deleteInstance(instanceId) {\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return this;\n    }\n    drawInfo[instanceId].active = false;\n    this._availableInstanceIds.push(instanceId);\n    this._visibilityChanged = true;\n    return this;\n  }\n  // get bounding box and compute it if it doesn't exist\n  getBoundingBoxAt(geometryId, target) {\n    if (geometryId >= this._geometryCount) {\n      return null;\n    }\n    const bound = this._bounds[geometryId];\n    const box = bound.box;\n    const geometry = this.geometry;\n    if (bound.boxInitialized === false) {\n      box.makeEmpty();\n      const index = geometry.index;\n      const position = geometry.attributes.position;\n      const drawRange = this._drawRanges[geometryId];\n      for (let i = drawRange.start, l = drawRange.start + drawRange.count; i < l; i++) {\n        let iv = i;\n        if (index) {\n          iv = index.getX(iv);\n        }\n        box.expandByPoint(_vector$5.fromBufferAttribute(position, iv));\n      }\n      bound.boxInitialized = true;\n    }\n    target.copy(box);\n    return target;\n  }\n  // get bounding sphere and compute it if it doesn't exist\n  getBoundingSphereAt(geometryId, target) {\n    if (geometryId >= this._geometryCount) {\n      return null;\n    }\n    const bound = this._bounds[geometryId];\n    const sphere = bound.sphere;\n    const geometry = this.geometry;\n    if (bound.sphereInitialized === false) {\n      sphere.makeEmpty();\n      this.getBoundingBoxAt(geometryId, _box$1);\n      _box$1.getCenter(sphere.center);\n      const index = geometry.index;\n      const position = geometry.attributes.position;\n      const drawRange = this._drawRanges[geometryId];\n      let maxRadiusSq = 0;\n      for (let i = drawRange.start, l = drawRange.start + drawRange.count; i < l; i++) {\n        let iv = i;\n        if (index) {\n          iv = index.getX(iv);\n        }\n        _vector$5.fromBufferAttribute(position, iv);\n        maxRadiusSq = Math.max(maxRadiusSq, sphere.center.distanceToSquared(_vector$5));\n      }\n      sphere.radius = Math.sqrt(maxRadiusSq);\n      bound.sphereInitialized = true;\n    }\n    target.copy(sphere);\n    return target;\n  }\n  setMatrixAt(instanceId, matrix) {\n    const drawInfo = this._drawInfo;\n    const matricesTexture = this._matricesTexture;\n    const matricesArray = this._matricesTexture.image.data;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return this;\n    }\n    matrix.toArray(matricesArray, instanceId * 16);\n    matricesTexture.needsUpdate = true;\n    return this;\n  }\n  getMatrixAt(instanceId, matrix) {\n    const drawInfo = this._drawInfo;\n    const matricesArray = this._matricesTexture.image.data;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return null;\n    }\n    return matrix.fromArray(matricesArray, instanceId * 16);\n  }\n  setColorAt(instanceId, color) {\n    if (this._colorsTexture === null) {\n      this._initColorsTexture();\n    }\n    const colorsTexture = this._colorsTexture;\n    const colorsArray = this._colorsTexture.image.data;\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return this;\n    }\n    color.toArray(colorsArray, instanceId * 4);\n    colorsTexture.needsUpdate = true;\n    return this;\n  }\n  getColorAt(instanceId, color) {\n    const colorsArray = this._colorsTexture.image.data;\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return null;\n    }\n    return color.fromArray(colorsArray, instanceId * 4);\n  }\n  setVisibleAt(instanceId, value) {\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false || drawInfo[instanceId].visible === value) {\n      return this;\n    }\n    drawInfo[instanceId].visible = value;\n    this._visibilityChanged = true;\n    return this;\n  }\n  getVisibleAt(instanceId) {\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return false;\n    }\n    return drawInfo[instanceId].visible;\n  }\n  setGeometryIdAt(instanceId, geometryId) {\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return null;\n    }\n    if (geometryId < 0 || geometryId >= this._geometryCount) {\n      return null;\n    }\n    drawInfo[instanceId].geometryIndex = geometryId;\n    return this;\n  }\n  getGeometryIdAt(instanceId) {\n    const drawInfo = this._drawInfo;\n    if (instanceId >= drawInfo.length || drawInfo[instanceId].active === false) {\n      return -1;\n    }\n    return drawInfo[instanceId].geometryIndex;\n  }\n  getGeometryRangeAt(geometryId, target = {}) {\n    if (geometryId < 0 || geometryId >= this._geometryCount) {\n      return null;\n    }\n    const drawRange = this._drawRanges[geometryId];\n    target.start = drawRange.start;\n    target.count = drawRange.count;\n    return target;\n  }\n  raycast(raycaster, intersects2) {\n    const drawInfo = this._drawInfo;\n    const drawRanges = this._drawRanges;\n    const matrixWorld = this.matrixWorld;\n    const batchGeometry = this.geometry;\n    _mesh.material = this.material;\n    _mesh.geometry.index = batchGeometry.index;\n    _mesh.geometry.attributes = batchGeometry.attributes;\n    if (_mesh.geometry.boundingBox === null) {\n      _mesh.geometry.boundingBox = new Box3();\n    }\n    if (_mesh.geometry.boundingSphere === null) {\n      _mesh.geometry.boundingSphere = new Sphere();\n    }\n    for (let i = 0, l = drawInfo.length; i < l; i++) {\n      if (!drawInfo[i].visible || !drawInfo[i].active) {\n        continue;\n      }\n      const geometryId = drawInfo[i].geometryIndex;\n      const drawRange = drawRanges[geometryId];\n      _mesh.geometry.setDrawRange(drawRange.start, drawRange.count);\n      this.getMatrixAt(i, _mesh.matrixWorld).premultiply(matrixWorld);\n      this.getBoundingBoxAt(geometryId, _mesh.geometry.boundingBox);\n      this.getBoundingSphereAt(geometryId, _mesh.geometry.boundingSphere);\n      _mesh.raycast(raycaster, _batchIntersects);\n      for (let j = 0, l2 = _batchIntersects.length; j < l2; j++) {\n        const intersect2 = _batchIntersects[j];\n        intersect2.object = this;\n        intersect2.batchId = i;\n        intersects2.push(intersect2);\n      }\n      _batchIntersects.length = 0;\n    }\n    _mesh.material = null;\n    _mesh.geometry.index = null;\n    _mesh.geometry.attributes = {};\n    _mesh.geometry.setDrawRange(0, Infinity);\n  }\n  copy(source) {\n    super.copy(source);\n    this.geometry = source.geometry.clone();\n    this.perObjectFrustumCulled = source.perObjectFrustumCulled;\n    this.sortObjects = source.sortObjects;\n    this.boundingBox = source.boundingBox !== null ? source.boundingBox.clone() : null;\n    this.boundingSphere = source.boundingSphere !== null ? source.boundingSphere.clone() : null;\n    this._drawRanges = source._drawRanges.map((range) => __spreadValues({}, range));\n    this._reservedRanges = source._reservedRanges.map((range) => __spreadValues({}, range));\n    this._drawInfo = source._drawInfo.map((inf) => __spreadValues({}, inf));\n    this._bounds = source._bounds.map((bound) => ({\n      boxInitialized: bound.boxInitialized,\n      box: bound.box.clone(),\n      sphereInitialized: bound.sphereInitialized,\n      sphere: bound.sphere.clone()\n    }));\n    this._maxInstanceCount = source._maxInstanceCount;\n    this._maxVertexCount = source._maxVertexCount;\n    this._maxIndexCount = source._maxIndexCount;\n    this._geometryInitialized = source._geometryInitialized;\n    this._geometryCount = source._geometryCount;\n    this._multiDrawCounts = source._multiDrawCounts.slice();\n    this._multiDrawStarts = source._multiDrawStarts.slice();\n    this._matricesTexture = source._matricesTexture.clone();\n    this._matricesTexture.image.data = this._matricesTexture.image.data.slice();\n    if (this._colorsTexture !== null) {\n      this._colorsTexture = source._colorsTexture.clone();\n      this._colorsTexture.image.data = this._colorsTexture.image.data.slice();\n    }\n    return this;\n  }\n  dispose() {\n    this.geometry.dispose();\n    this._matricesTexture.dispose();\n    this._matricesTexture = null;\n    this._indirectTexture.dispose();\n    this._indirectTexture = null;\n    if (this._colorsTexture !== null) {\n      this._colorsTexture.dispose();\n      this._colorsTexture = null;\n    }\n    return this;\n  }\n  onBeforeRender(renderer, scene, camera, geometry, material) {\n    if (!this._visibilityChanged && !this.perObjectFrustumCulled && !this.sortObjects) {\n      return;\n    }\n    const index = geometry.getIndex();\n    const bytesPerElement = index === null ? 1 : index.array.BYTES_PER_ELEMENT;\n    const drawInfo = this._drawInfo;\n    const multiDrawStarts = this._multiDrawStarts;\n    const multiDrawCounts = this._multiDrawCounts;\n    const drawRanges = this._drawRanges;\n    const perObjectFrustumCulled = this.perObjectFrustumCulled;\n    const indirectTexture = this._indirectTexture;\n    const indirectArray = indirectTexture.image.data;\n    if (perObjectFrustumCulled) {\n      _projScreenMatrix$2.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse).multiply(this.matrixWorld);\n      _frustum.setFromProjectionMatrix(\n        _projScreenMatrix$2,\n        renderer.coordinateSystem\n      );\n    }\n    let count = 0;\n    if (this.sortObjects) {\n      _invMatrixWorld.copy(this.matrixWorld).invert();\n      _vector$5.setFromMatrixPosition(camera.matrixWorld).applyMatrix4(_invMatrixWorld);\n      _forward.set(0, 0, -1).transformDirection(camera.matrixWorld).transformDirection(_invMatrixWorld);\n      for (let i = 0, l = drawInfo.length; i < l; i++) {\n        if (drawInfo[i].visible && drawInfo[i].active) {\n          const geometryId = drawInfo[i].geometryIndex;\n          this.getMatrixAt(i, _matrix$1);\n          this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1);\n          let culled = false;\n          if (perObjectFrustumCulled) {\n            culled = !_frustum.intersectsSphere(_sphere$2);\n          }\n          if (!culled) {\n            const z = _temp.subVectors(_sphere$2.center, _vector$5).dot(_forward);\n            _renderList.push(drawRanges[geometryId], z, i);\n          }\n        }\n      }\n      const list = _renderList.list;\n      const customSort = this.customSort;\n      if (customSort === null) {\n        list.sort(material.transparent ? sortTransparent : sortOpaque);\n      } else {\n        customSort.call(this, list, camera);\n      }\n      for (let i = 0, l = list.length; i < l; i++) {\n        const item = list[i];\n        multiDrawStarts[count] = item.start * bytesPerElement;\n        multiDrawCounts[count] = item.count;\n        indirectArray[count] = item.index;\n        count++;\n      }\n      _renderList.reset();\n    } else {\n      for (let i = 0, l = drawInfo.length; i < l; i++) {\n        if (drawInfo[i].visible && drawInfo[i].active) {\n          const geometryId = drawInfo[i].geometryIndex;\n          let culled = false;\n          if (perObjectFrustumCulled) {\n            this.getMatrixAt(i, _matrix$1);\n            this.getBoundingSphereAt(geometryId, _sphere$2).applyMatrix4(_matrix$1);\n            culled = !_frustum.intersectsSphere(_sphere$2);\n          }\n          if (!culled) {\n            const range = drawRanges[geometryId];\n            multiDrawStarts[count] = range.start * bytesPerElement;\n            multiDrawCounts[count] = range.count;\n            indirectArray[count] = i;\n            count++;\n          }\n        }\n      }\n    }\n    indirectTexture.needsUpdate = true;\n    this._multiDrawCount = count;\n    this._visibilityChanged = false;\n  }\n  onBeforeShadow(renderer, object, camera, shadowCamera, geometry, depthMaterial) {\n    this.onBeforeRender(renderer, null, shadowCamera, geometry, depthMaterial);\n  }\n};\nvar LineBasicMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isLineBasicMaterial = true;\n    this.type = \"LineBasicMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.linewidth = 1;\n    this.linecap = \"round\";\n    this.linejoin = \"round\";\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.linewidth = source.linewidth;\n    this.linecap = source.linecap;\n    this.linejoin = source.linejoin;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar _vStart = /* @__PURE__ */ new Vector3();\nvar _vEnd = /* @__PURE__ */ new Vector3();\nvar _inverseMatrix$1 = /* @__PURE__ */ new Matrix4();\nvar _ray$1 = /* @__PURE__ */ new Ray();\nvar _sphere$1 = /* @__PURE__ */ new Sphere();\nvar _intersectPointOnRay = /* @__PURE__ */ new Vector3();\nvar _intersectPointOnSegment = /* @__PURE__ */ new Vector3();\nvar Line = class extends Object3D {\n  constructor(geometry = new BufferGeometry(), material = new LineBasicMaterial()) {\n    super();\n    this.isLine = true;\n    this.type = \"Line\";\n    this.geometry = geometry;\n    this.material = material;\n    this.updateMorphTargets();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.material = Array.isArray(source.material) ? source.material.slice() : source.material;\n    this.geometry = source.geometry;\n    return this;\n  }\n  computeLineDistances() {\n    const geometry = this.geometry;\n    if (geometry.index === null) {\n      const positionAttribute = geometry.attributes.position;\n      const lineDistances = [0];\n      for (let i = 1, l = positionAttribute.count; i < l; i++) {\n        _vStart.fromBufferAttribute(positionAttribute, i - 1);\n        _vEnd.fromBufferAttribute(positionAttribute, i);\n        lineDistances[i] = lineDistances[i - 1];\n        lineDistances[i] += _vStart.distanceTo(_vEnd);\n      }\n      geometry.setAttribute(\"lineDistance\", new Float32BufferAttribute(lineDistances, 1));\n    } else {\n      console.warn(\"THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");\n    }\n    return this;\n  }\n  raycast(raycaster, intersects2) {\n    const geometry = this.geometry;\n    const matrixWorld = this.matrixWorld;\n    const threshold = raycaster.params.Line.threshold;\n    const drawRange = geometry.drawRange;\n    if (geometry.boundingSphere === null) geometry.computeBoundingSphere();\n    _sphere$1.copy(geometry.boundingSphere);\n    _sphere$1.applyMatrix4(matrixWorld);\n    _sphere$1.radius += threshold;\n    if (raycaster.ray.intersectsSphere(_sphere$1) === false) return;\n    _inverseMatrix$1.copy(matrixWorld).invert();\n    _ray$1.copy(raycaster.ray).applyMatrix4(_inverseMatrix$1);\n    const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3);\n    const localThresholdSq = localThreshold * localThreshold;\n    const step = this.isLineSegments ? 2 : 1;\n    const index = geometry.index;\n    const attributes = geometry.attributes;\n    const positionAttribute = attributes.position;\n    if (index !== null) {\n      const start = Math.max(0, drawRange.start);\n      const end = Math.min(index.count, drawRange.start + drawRange.count);\n      for (let i = start, l = end - 1; i < l; i += step) {\n        const a = index.getX(i);\n        const b = index.getX(i + 1);\n        const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, a, b);\n        if (intersect2) {\n          intersects2.push(intersect2);\n        }\n      }\n      if (this.isLineLoop) {\n        const a = index.getX(end - 1);\n        const b = index.getX(start);\n        const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, a, b);\n        if (intersect2) {\n          intersects2.push(intersect2);\n        }\n      }\n    } else {\n      const start = Math.max(0, drawRange.start);\n      const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count);\n      for (let i = start, l = end - 1; i < l; i += step) {\n        const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, i, i + 1);\n        if (intersect2) {\n          intersects2.push(intersect2);\n        }\n      }\n      if (this.isLineLoop) {\n        const intersect2 = checkIntersection(this, raycaster, _ray$1, localThresholdSq, end - 1, start);\n        if (intersect2) {\n          intersects2.push(intersect2);\n        }\n      }\n    }\n  }\n  updateMorphTargets() {\n    const geometry = this.geometry;\n    const morphAttributes = geometry.morphAttributes;\n    const keys = Object.keys(morphAttributes);\n    if (keys.length > 0) {\n      const morphAttribute = morphAttributes[keys[0]];\n      if (morphAttribute !== void 0) {\n        this.morphTargetInfluences = [];\n        this.morphTargetDictionary = {};\n        for (let m = 0, ml = morphAttribute.length; m < ml; m++) {\n          const name = morphAttribute[m].name || String(m);\n          this.morphTargetInfluences.push(0);\n          this.morphTargetDictionary[name] = m;\n        }\n      }\n    }\n  }\n};\nfunction checkIntersection(object, raycaster, ray, thresholdSq, a, b) {\n  const positionAttribute = object.geometry.attributes.position;\n  _vStart.fromBufferAttribute(positionAttribute, a);\n  _vEnd.fromBufferAttribute(positionAttribute, b);\n  const distSq = ray.distanceSqToSegment(_vStart, _vEnd, _intersectPointOnRay, _intersectPointOnSegment);\n  if (distSq > thresholdSq) return;\n  _intersectPointOnRay.applyMatrix4(object.matrixWorld);\n  const distance = raycaster.ray.origin.distanceTo(_intersectPointOnRay);\n  if (distance < raycaster.near || distance > raycaster.far) return;\n  return {\n    distance,\n    // What do we want? intersection point on the ray or on the segment??\n    // point: raycaster.ray.at( distance ),\n    point: _intersectPointOnSegment.clone().applyMatrix4(object.matrixWorld),\n    index: a,\n    face: null,\n    faceIndex: null,\n    barycoord: null,\n    object\n  };\n}\nvar _start = /* @__PURE__ */ new Vector3();\nvar _end = /* @__PURE__ */ new Vector3();\nvar LineSegments = class extends Line {\n  constructor(geometry, material) {\n    super(geometry, material);\n    this.isLineSegments = true;\n    this.type = \"LineSegments\";\n  }\n  computeLineDistances() {\n    const geometry = this.geometry;\n    if (geometry.index === null) {\n      const positionAttribute = geometry.attributes.position;\n      const lineDistances = [];\n      for (let i = 0, l = positionAttribute.count; i < l; i += 2) {\n        _start.fromBufferAttribute(positionAttribute, i);\n        _end.fromBufferAttribute(positionAttribute, i + 1);\n        lineDistances[i] = i === 0 ? 0 : lineDistances[i - 1];\n        lineDistances[i + 1] = lineDistances[i] + _start.distanceTo(_end);\n      }\n      geometry.setAttribute(\"lineDistance\", new Float32BufferAttribute(lineDistances, 1));\n    } else {\n      console.warn(\"THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");\n    }\n    return this;\n  }\n};\nvar LineLoop = class extends Line {\n  constructor(geometry, material) {\n    super(geometry, material);\n    this.isLineLoop = true;\n    this.type = \"LineLoop\";\n  }\n};\nvar PointsMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isPointsMaterial = true;\n    this.type = \"PointsMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.alphaMap = null;\n    this.size = 1;\n    this.sizeAttenuation = true;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.alphaMap = source.alphaMap;\n    this.size = source.size;\n    this.sizeAttenuation = source.sizeAttenuation;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar _inverseMatrix = /* @__PURE__ */ new Matrix4();\nvar _ray = /* @__PURE__ */ new Ray();\nvar _sphere = /* @__PURE__ */ new Sphere();\nvar _position$2 = /* @__PURE__ */ new Vector3();\nvar Points = class extends Object3D {\n  constructor(geometry = new BufferGeometry(), material = new PointsMaterial()) {\n    super();\n    this.isPoints = true;\n    this.type = \"Points\";\n    this.geometry = geometry;\n    this.material = material;\n    this.updateMorphTargets();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.material = Array.isArray(source.material) ? source.material.slice() : source.material;\n    this.geometry = source.geometry;\n    return this;\n  }\n  raycast(raycaster, intersects2) {\n    const geometry = this.geometry;\n    const matrixWorld = this.matrixWorld;\n    const threshold = raycaster.params.Points.threshold;\n    const drawRange = geometry.drawRange;\n    if (geometry.boundingSphere === null) geometry.computeBoundingSphere();\n    _sphere.copy(geometry.boundingSphere);\n    _sphere.applyMatrix4(matrixWorld);\n    _sphere.radius += threshold;\n    if (raycaster.ray.intersectsSphere(_sphere) === false) return;\n    _inverseMatrix.copy(matrixWorld).invert();\n    _ray.copy(raycaster.ray).applyMatrix4(_inverseMatrix);\n    const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3);\n    const localThresholdSq = localThreshold * localThreshold;\n    const index = geometry.index;\n    const attributes = geometry.attributes;\n    const positionAttribute = attributes.position;\n    if (index !== null) {\n      const start = Math.max(0, drawRange.start);\n      const end = Math.min(index.count, drawRange.start + drawRange.count);\n      for (let i = start, il = end; i < il; i++) {\n        const a = index.getX(i);\n        _position$2.fromBufferAttribute(positionAttribute, a);\n        testPoint(_position$2, a, localThresholdSq, matrixWorld, raycaster, intersects2, this);\n      }\n    } else {\n      const start = Math.max(0, drawRange.start);\n      const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count);\n      for (let i = start, l = end; i < l; i++) {\n        _position$2.fromBufferAttribute(positionAttribute, i);\n        testPoint(_position$2, i, localThresholdSq, matrixWorld, raycaster, intersects2, this);\n      }\n    }\n  }\n  updateMorphTargets() {\n    const geometry = this.geometry;\n    const morphAttributes = geometry.morphAttributes;\n    const keys = Object.keys(morphAttributes);\n    if (keys.length > 0) {\n      const morphAttribute = morphAttributes[keys[0]];\n      if (morphAttribute !== void 0) {\n        this.morphTargetInfluences = [];\n        this.morphTargetDictionary = {};\n        for (let m = 0, ml = morphAttribute.length; m < ml; m++) {\n          const name = morphAttribute[m].name || String(m);\n          this.morphTargetInfluences.push(0);\n          this.morphTargetDictionary[name] = m;\n        }\n      }\n    }\n  }\n};\nfunction testPoint(point, index, localThresholdSq, matrixWorld, raycaster, intersects2, object) {\n  const rayPointDistanceSq = _ray.distanceSqToPoint(point);\n  if (rayPointDistanceSq < localThresholdSq) {\n    const intersectPoint = new Vector3();\n    _ray.closestPointToPoint(point, intersectPoint);\n    intersectPoint.applyMatrix4(matrixWorld);\n    const distance = raycaster.ray.origin.distanceTo(intersectPoint);\n    if (distance < raycaster.near || distance > raycaster.far) return;\n    intersects2.push({\n      distance,\n      distanceToRay: Math.sqrt(rayPointDistanceSq),\n      point: intersectPoint,\n      index,\n      face: null,\n      faceIndex: null,\n      barycoord: null,\n      object\n    });\n  }\n}\nvar VideoTexture = class extends Texture {\n  constructor(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) {\n    super(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy);\n    this.isVideoTexture = true;\n    this.minFilter = minFilter !== void 0 ? minFilter : LinearFilter;\n    this.magFilter = magFilter !== void 0 ? magFilter : LinearFilter;\n    this.generateMipmaps = false;\n    const scope = this;\n    function updateVideo() {\n      scope.needsUpdate = true;\n      video.requestVideoFrameCallback(updateVideo);\n    }\n    if (\"requestVideoFrameCallback\" in video) {\n      video.requestVideoFrameCallback(updateVideo);\n    }\n  }\n  clone() {\n    return new this.constructor(this.image).copy(this);\n  }\n  update() {\n    const video = this.image;\n    const hasVideoFrameCallback = \"requestVideoFrameCallback\" in video;\n    if (hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA) {\n      this.needsUpdate = true;\n    }\n  }\n};\nvar FramebufferTexture = class extends Texture {\n  constructor(width, height) {\n    super({ width, height });\n    this.isFramebufferTexture = true;\n    this.magFilter = NearestFilter;\n    this.minFilter = NearestFilter;\n    this.generateMipmaps = false;\n    this.needsUpdate = true;\n  }\n};\nvar CompressedTexture = class extends Texture {\n  constructor(mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, colorSpace) {\n    super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, colorSpace);\n    this.isCompressedTexture = true;\n    this.image = { width, height };\n    this.mipmaps = mipmaps;\n    this.flipY = false;\n    this.generateMipmaps = false;\n  }\n};\nvar CompressedArrayTexture = class extends CompressedTexture {\n  constructor(mipmaps, width, height, depth, format, type) {\n    super(mipmaps, width, height, format, type);\n    this.isCompressedArrayTexture = true;\n    this.image.depth = depth;\n    this.wrapR = ClampToEdgeWrapping;\n    this.layerUpdates = /* @__PURE__ */ new Set();\n  }\n  addLayerUpdate(layerIndex) {\n    this.layerUpdates.add(layerIndex);\n  }\n  clearLayerUpdates() {\n    this.layerUpdates.clear();\n  }\n};\nvar CompressedCubeTexture = class extends CompressedTexture {\n  constructor(images, format, type) {\n    super(void 0, images[0].width, images[0].height, format, type, CubeReflectionMapping);\n    this.isCompressedCubeTexture = true;\n    this.isCubeTexture = true;\n    this.image = images;\n  }\n};\nvar CanvasTexture = class extends Texture {\n  constructor(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) {\n    super(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy);\n    this.isCanvasTexture = true;\n    this.needsUpdate = true;\n  }\n};\nvar Curve = class {\n  constructor() {\n    this.type = \"Curve\";\n    this.arcLengthDivisions = 200;\n  }\n  // Virtual base class method to overwrite and implement in subclasses\n  //\t- t [0 .. 1]\n  getPoint() {\n    console.warn(\"THREE.Curve: .getPoint() not implemented.\");\n    return null;\n  }\n  // Get point at relative position in curve according to arc length\n  // - u [0 .. 1]\n  getPointAt(u, optionalTarget) {\n    const t = this.getUtoTmapping(u);\n    return this.getPoint(t, optionalTarget);\n  }\n  // Get sequence of points using getPoint( t )\n  getPoints(divisions = 5) {\n    const points = [];\n    for (let d = 0; d <= divisions; d++) {\n      points.push(this.getPoint(d / divisions));\n    }\n    return points;\n  }\n  // Get sequence of points using getPointAt( u )\n  getSpacedPoints(divisions = 5) {\n    const points = [];\n    for (let d = 0; d <= divisions; d++) {\n      points.push(this.getPointAt(d / divisions));\n    }\n    return points;\n  }\n  // Get total curve arc length\n  getLength() {\n    const lengths = this.getLengths();\n    return lengths[lengths.length - 1];\n  }\n  // Get list of cumulative segment lengths\n  getLengths(divisions = this.arcLengthDivisions) {\n    if (this.cacheArcLengths && this.cacheArcLengths.length === divisions + 1 && !this.needsUpdate) {\n      return this.cacheArcLengths;\n    }\n    this.needsUpdate = false;\n    const cache = [];\n    let current, last = this.getPoint(0);\n    let sum = 0;\n    cache.push(0);\n    for (let p = 1; p <= divisions; p++) {\n      current = this.getPoint(p / divisions);\n      sum += current.distanceTo(last);\n      cache.push(sum);\n      last = current;\n    }\n    this.cacheArcLengths = cache;\n    return cache;\n  }\n  updateArcLengths() {\n    this.needsUpdate = true;\n    this.getLengths();\n  }\n  // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant\n  getUtoTmapping(u, distance) {\n    const arcLengths = this.getLengths();\n    let i = 0;\n    const il = arcLengths.length;\n    let targetArcLength;\n    if (distance) {\n      targetArcLength = distance;\n    } else {\n      targetArcLength = u * arcLengths[il - 1];\n    }\n    let low = 0, high = il - 1, comparison;\n    while (low <= high) {\n      i = Math.floor(low + (high - low) / 2);\n      comparison = arcLengths[i] - targetArcLength;\n      if (comparison < 0) {\n        low = i + 1;\n      } else if (comparison > 0) {\n        high = i - 1;\n      } else {\n        high = i;\n        break;\n      }\n    }\n    i = high;\n    if (arcLengths[i] === targetArcLength) {\n      return i / (il - 1);\n    }\n    const lengthBefore = arcLengths[i];\n    const lengthAfter = arcLengths[i + 1];\n    const segmentLength = lengthAfter - lengthBefore;\n    const segmentFraction = (targetArcLength - lengthBefore) / segmentLength;\n    const t = (i + segmentFraction) / (il - 1);\n    return t;\n  }\n  // Returns a unit vector tangent at t\n  // In case any sub curve does not implement its tangent derivation,\n  // 2 points a small delta apart will be used to find its gradient\n  // which seems to give a reasonable approximation\n  getTangent(t, optionalTarget) {\n    const delta = 1e-4;\n    let t1 = t - delta;\n    let t2 = t + delta;\n    if (t1 < 0) t1 = 0;\n    if (t2 > 1) t2 = 1;\n    const pt1 = this.getPoint(t1);\n    const pt2 = this.getPoint(t2);\n    const tangent = optionalTarget || (pt1.isVector2 ? new Vector2() : new Vector3());\n    tangent.copy(pt2).sub(pt1).normalize();\n    return tangent;\n  }\n  getTangentAt(u, optionalTarget) {\n    const t = this.getUtoTmapping(u);\n    return this.getTangent(t, optionalTarget);\n  }\n  computeFrenetFrames(segments, closed) {\n    const normal = new Vector3();\n    const tangents = [];\n    const normals = [];\n    const binormals = [];\n    const vec = new Vector3();\n    const mat = new Matrix4();\n    for (let i = 0; i <= segments; i++) {\n      const u = i / segments;\n      tangents[i] = this.getTangentAt(u, new Vector3());\n    }\n    normals[0] = new Vector3();\n    binormals[0] = new Vector3();\n    let min = Number.MAX_VALUE;\n    const tx = Math.abs(tangents[0].x);\n    const ty = Math.abs(tangents[0].y);\n    const tz = Math.abs(tangents[0].z);\n    if (tx <= min) {\n      min = tx;\n      normal.set(1, 0, 0);\n    }\n    if (ty <= min) {\n      min = ty;\n      normal.set(0, 1, 0);\n    }\n    if (tz <= min) {\n      normal.set(0, 0, 1);\n    }\n    vec.crossVectors(tangents[0], normal).normalize();\n    normals[0].crossVectors(tangents[0], vec);\n    binormals[0].crossVectors(tangents[0], normals[0]);\n    for (let i = 1; i <= segments; i++) {\n      normals[i] = normals[i - 1].clone();\n      binormals[i] = binormals[i - 1].clone();\n      vec.crossVectors(tangents[i - 1], tangents[i]);\n      if (vec.length() > Number.EPSILON) {\n        vec.normalize();\n        const theta = Math.acos(clamp(tangents[i - 1].dot(tangents[i]), -1, 1));\n        normals[i].applyMatrix4(mat.makeRotationAxis(vec, theta));\n      }\n      binormals[i].crossVectors(tangents[i], normals[i]);\n    }\n    if (closed === true) {\n      let theta = Math.acos(clamp(normals[0].dot(normals[segments]), -1, 1));\n      theta /= segments;\n      if (tangents[0].dot(vec.crossVectors(normals[0], normals[segments])) > 0) {\n        theta = -theta;\n      }\n      for (let i = 1; i <= segments; i++) {\n        normals[i].applyMatrix4(mat.makeRotationAxis(tangents[i], theta * i));\n        binormals[i].crossVectors(tangents[i], normals[i]);\n      }\n    }\n    return {\n      tangents,\n      normals,\n      binormals\n    };\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(source) {\n    this.arcLengthDivisions = source.arcLengthDivisions;\n    return this;\n  }\n  toJSON() {\n    const data = {\n      metadata: {\n        version: 4.6,\n        type: \"Curve\",\n        generator: \"Curve.toJSON\"\n      }\n    };\n    data.arcLengthDivisions = this.arcLengthDivisions;\n    data.type = this.type;\n    return data;\n  }\n  fromJSON(json) {\n    this.arcLengthDivisions = json.arcLengthDivisions;\n    return this;\n  }\n};\nvar EllipseCurve = class extends Curve {\n  constructor(aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0) {\n    super();\n    this.isEllipseCurve = true;\n    this.type = \"EllipseCurve\";\n    this.aX = aX;\n    this.aY = aY;\n    this.xRadius = xRadius;\n    this.yRadius = yRadius;\n    this.aStartAngle = aStartAngle;\n    this.aEndAngle = aEndAngle;\n    this.aClockwise = aClockwise;\n    this.aRotation = aRotation;\n  }\n  getPoint(t, optionalTarget = new Vector2()) {\n    const point = optionalTarget;\n    const twoPi = Math.PI * 2;\n    let deltaAngle = this.aEndAngle - this.aStartAngle;\n    const samePoints = Math.abs(deltaAngle) < Number.EPSILON;\n    while (deltaAngle < 0) deltaAngle += twoPi;\n    while (deltaAngle > twoPi) deltaAngle -= twoPi;\n    if (deltaAngle < Number.EPSILON) {\n      if (samePoints) {\n        deltaAngle = 0;\n      } else {\n        deltaAngle = twoPi;\n      }\n    }\n    if (this.aClockwise === true && !samePoints) {\n      if (deltaAngle === twoPi) {\n        deltaAngle = -twoPi;\n      } else {\n        deltaAngle = deltaAngle - twoPi;\n      }\n    }\n    const angle = this.aStartAngle + t * deltaAngle;\n    let x = this.aX + this.xRadius * Math.cos(angle);\n    let y = this.aY + this.yRadius * Math.sin(angle);\n    if (this.aRotation !== 0) {\n      const cos = Math.cos(this.aRotation);\n      const sin = Math.sin(this.aRotation);\n      const tx = x - this.aX;\n      const ty = y - this.aY;\n      x = tx * cos - ty * sin + this.aX;\n      y = tx * sin + ty * cos + this.aY;\n    }\n    return point.set(x, y);\n  }\n  copy(source) {\n    super.copy(source);\n    this.aX = source.aX;\n    this.aY = source.aY;\n    this.xRadius = source.xRadius;\n    this.yRadius = source.yRadius;\n    this.aStartAngle = source.aStartAngle;\n    this.aEndAngle = source.aEndAngle;\n    this.aClockwise = source.aClockwise;\n    this.aRotation = source.aRotation;\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.aX = this.aX;\n    data.aY = this.aY;\n    data.xRadius = this.xRadius;\n    data.yRadius = this.yRadius;\n    data.aStartAngle = this.aStartAngle;\n    data.aEndAngle = this.aEndAngle;\n    data.aClockwise = this.aClockwise;\n    data.aRotation = this.aRotation;\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.aX = json.aX;\n    this.aY = json.aY;\n    this.xRadius = json.xRadius;\n    this.yRadius = json.yRadius;\n    this.aStartAngle = json.aStartAngle;\n    this.aEndAngle = json.aEndAngle;\n    this.aClockwise = json.aClockwise;\n    this.aRotation = json.aRotation;\n    return this;\n  }\n};\nvar ArcCurve = class extends EllipseCurve {\n  constructor(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {\n    super(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise);\n    this.isArcCurve = true;\n    this.type = \"ArcCurve\";\n  }\n};\nfunction CubicPoly() {\n  let c0 = 0, c1 = 0, c2 = 0, c3 = 0;\n  function init(x0, x1, t0, t1) {\n    c0 = x0;\n    c1 = t0;\n    c2 = -3 * x0 + 3 * x1 - 2 * t0 - t1;\n    c3 = 2 * x0 - 2 * x1 + t0 + t1;\n  }\n  return {\n    initCatmullRom: function(x0, x1, x2, x3, tension) {\n      init(x1, x2, tension * (x2 - x0), tension * (x3 - x1));\n    },\n    initNonuniformCatmullRom: function(x0, x1, x2, x3, dt0, dt1, dt2) {\n      let t1 = (x1 - x0) / dt0 - (x2 - x0) / (dt0 + dt1) + (x2 - x1) / dt1;\n      let t2 = (x2 - x1) / dt1 - (x3 - x1) / (dt1 + dt2) + (x3 - x2) / dt2;\n      t1 *= dt1;\n      t2 *= dt1;\n      init(x1, x2, t1, t2);\n    },\n    calc: function(t) {\n      const t2 = t * t;\n      const t3 = t2 * t;\n      return c0 + c1 * t + c2 * t2 + c3 * t3;\n    }\n  };\n}\nvar tmp = /* @__PURE__ */ new Vector3();\nvar px = /* @__PURE__ */ new CubicPoly();\nvar py = /* @__PURE__ */ new CubicPoly();\nvar pz = /* @__PURE__ */ new CubicPoly();\nvar CatmullRomCurve3 = class extends Curve {\n  constructor(points = [], closed = false, curveType = \"centripetal\", tension = 0.5) {\n    super();\n    this.isCatmullRomCurve3 = true;\n    this.type = \"CatmullRomCurve3\";\n    this.points = points;\n    this.closed = closed;\n    this.curveType = curveType;\n    this.tension = tension;\n  }\n  getPoint(t, optionalTarget = new Vector3()) {\n    const point = optionalTarget;\n    const points = this.points;\n    const l = points.length;\n    const p = (l - (this.closed ? 0 : 1)) * t;\n    let intPoint = Math.floor(p);\n    let weight = p - intPoint;\n    if (this.closed) {\n      intPoint += intPoint > 0 ? 0 : (Math.floor(Math.abs(intPoint) / l) + 1) * l;\n    } else if (weight === 0 && intPoint === l - 1) {\n      intPoint = l - 2;\n      weight = 1;\n    }\n    let p0, p3;\n    if (this.closed || intPoint > 0) {\n      p0 = points[(intPoint - 1) % l];\n    } else {\n      tmp.subVectors(points[0], points[1]).add(points[0]);\n      p0 = tmp;\n    }\n    const p1 = points[intPoint % l];\n    const p2 = points[(intPoint + 1) % l];\n    if (this.closed || intPoint + 2 < l) {\n      p3 = points[(intPoint + 2) % l];\n    } else {\n      tmp.subVectors(points[l - 1], points[l - 2]).add(points[l - 1]);\n      p3 = tmp;\n    }\n    if (this.curveType === \"centripetal\" || this.curveType === \"chordal\") {\n      const pow = this.curveType === \"chordal\" ? 0.5 : 0.25;\n      let dt0 = Math.pow(p0.distanceToSquared(p1), pow);\n      let dt1 = Math.pow(p1.distanceToSquared(p2), pow);\n      let dt2 = Math.pow(p2.distanceToSquared(p3), pow);\n      if (dt1 < 1e-4) dt1 = 1;\n      if (dt0 < 1e-4) dt0 = dt1;\n      if (dt2 < 1e-4) dt2 = dt1;\n      px.initNonuniformCatmullRom(p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2);\n      py.initNonuniformCatmullRom(p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2);\n      pz.initNonuniformCatmullRom(p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2);\n    } else if (this.curveType === \"catmullrom\") {\n      px.initCatmullRom(p0.x, p1.x, p2.x, p3.x, this.tension);\n      py.initCatmullRom(p0.y, p1.y, p2.y, p3.y, this.tension);\n      pz.initCatmullRom(p0.z, p1.z, p2.z, p3.z, this.tension);\n    }\n    point.set(\n      px.calc(weight),\n      py.calc(weight),\n      pz.calc(weight)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.points = [];\n    for (let i = 0, l = source.points.length; i < l; i++) {\n      const point = source.points[i];\n      this.points.push(point.clone());\n    }\n    this.closed = source.closed;\n    this.curveType = source.curveType;\n    this.tension = source.tension;\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.points = [];\n    for (let i = 0, l = this.points.length; i < l; i++) {\n      const point = this.points[i];\n      data.points.push(point.toArray());\n    }\n    data.closed = this.closed;\n    data.curveType = this.curveType;\n    data.tension = this.tension;\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.points = [];\n    for (let i = 0, l = json.points.length; i < l; i++) {\n      const point = json.points[i];\n      this.points.push(new Vector3().fromArray(point));\n    }\n    this.closed = json.closed;\n    this.curveType = json.curveType;\n    this.tension = json.tension;\n    return this;\n  }\n};\nfunction CatmullRom(t, p0, p1, p2, p3) {\n  const v0 = (p2 - p0) * 0.5;\n  const v1 = (p3 - p1) * 0.5;\n  const t2 = t * t;\n  const t3 = t * t2;\n  return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\nfunction QuadraticBezierP0(t, p) {\n  const k = 1 - t;\n  return k * k * p;\n}\nfunction QuadraticBezierP1(t, p) {\n  return 2 * (1 - t) * t * p;\n}\nfunction QuadraticBezierP2(t, p) {\n  return t * t * p;\n}\nfunction QuadraticBezier(t, p0, p1, p2) {\n  return QuadraticBezierP0(t, p0) + QuadraticBezierP1(t, p1) + QuadraticBezierP2(t, p2);\n}\nfunction CubicBezierP0(t, p) {\n  const k = 1 - t;\n  return k * k * k * p;\n}\nfunction CubicBezierP1(t, p) {\n  const k = 1 - t;\n  return 3 * k * k * t * p;\n}\nfunction CubicBezierP2(t, p) {\n  return 3 * (1 - t) * t * t * p;\n}\nfunction CubicBezierP3(t, p) {\n  return t * t * t * p;\n}\nfunction CubicBezier(t, p0, p1, p2, p3) {\n  return CubicBezierP0(t, p0) + CubicBezierP1(t, p1) + CubicBezierP2(t, p2) + CubicBezierP3(t, p3);\n}\nvar CubicBezierCurve = class extends Curve {\n  constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2()) {\n    super();\n    this.isCubicBezierCurve = true;\n    this.type = \"CubicBezierCurve\";\n    this.v0 = v0;\n    this.v1 = v1;\n    this.v2 = v2;\n    this.v3 = v3;\n  }\n  getPoint(t, optionalTarget = new Vector2()) {\n    const point = optionalTarget;\n    const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3;\n    point.set(\n      CubicBezier(t, v0.x, v1.x, v2.x, v3.x),\n      CubicBezier(t, v0.y, v1.y, v2.y, v3.y)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.v0.copy(source.v0);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    this.v3.copy(source.v3);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v0 = this.v0.toArray();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    data.v3 = this.v3.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v0.fromArray(json.v0);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    this.v3.fromArray(json.v3);\n    return this;\n  }\n};\nvar CubicBezierCurve3 = class extends Curve {\n  constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3()) {\n    super();\n    this.isCubicBezierCurve3 = true;\n    this.type = \"CubicBezierCurve3\";\n    this.v0 = v0;\n    this.v1 = v1;\n    this.v2 = v2;\n    this.v3 = v3;\n  }\n  getPoint(t, optionalTarget = new Vector3()) {\n    const point = optionalTarget;\n    const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3;\n    point.set(\n      CubicBezier(t, v0.x, v1.x, v2.x, v3.x),\n      CubicBezier(t, v0.y, v1.y, v2.y, v3.y),\n      CubicBezier(t, v0.z, v1.z, v2.z, v3.z)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.v0.copy(source.v0);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    this.v3.copy(source.v3);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v0 = this.v0.toArray();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    data.v3 = this.v3.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v0.fromArray(json.v0);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    this.v3.fromArray(json.v3);\n    return this;\n  }\n};\nvar LineCurve = class extends Curve {\n  constructor(v1 = new Vector2(), v2 = new Vector2()) {\n    super();\n    this.isLineCurve = true;\n    this.type = \"LineCurve\";\n    this.v1 = v1;\n    this.v2 = v2;\n  }\n  getPoint(t, optionalTarget = new Vector2()) {\n    const point = optionalTarget;\n    if (t === 1) {\n      point.copy(this.v2);\n    } else {\n      point.copy(this.v2).sub(this.v1);\n      point.multiplyScalar(t).add(this.v1);\n    }\n    return point;\n  }\n  // Line curve is linear, so we can overwrite default getPointAt\n  getPointAt(u, optionalTarget) {\n    return this.getPoint(u, optionalTarget);\n  }\n  getTangent(t, optionalTarget = new Vector2()) {\n    return optionalTarget.subVectors(this.v2, this.v1).normalize();\n  }\n  getTangentAt(u, optionalTarget) {\n    return this.getTangent(u, optionalTarget);\n  }\n  copy(source) {\n    super.copy(source);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    return this;\n  }\n};\nvar LineCurve3 = class extends Curve {\n  constructor(v1 = new Vector3(), v2 = new Vector3()) {\n    super();\n    this.isLineCurve3 = true;\n    this.type = \"LineCurve3\";\n    this.v1 = v1;\n    this.v2 = v2;\n  }\n  getPoint(t, optionalTarget = new Vector3()) {\n    const point = optionalTarget;\n    if (t === 1) {\n      point.copy(this.v2);\n    } else {\n      point.copy(this.v2).sub(this.v1);\n      point.multiplyScalar(t).add(this.v1);\n    }\n    return point;\n  }\n  // Line curve is linear, so we can overwrite default getPointAt\n  getPointAt(u, optionalTarget) {\n    return this.getPoint(u, optionalTarget);\n  }\n  getTangent(t, optionalTarget = new Vector3()) {\n    return optionalTarget.subVectors(this.v2, this.v1).normalize();\n  }\n  getTangentAt(u, optionalTarget) {\n    return this.getTangent(u, optionalTarget);\n  }\n  copy(source) {\n    super.copy(source);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    return this;\n  }\n};\nvar QuadraticBezierCurve = class extends Curve {\n  constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2()) {\n    super();\n    this.isQuadraticBezierCurve = true;\n    this.type = \"QuadraticBezierCurve\";\n    this.v0 = v0;\n    this.v1 = v1;\n    this.v2 = v2;\n  }\n  getPoint(t, optionalTarget = new Vector2()) {\n    const point = optionalTarget;\n    const v0 = this.v0, v1 = this.v1, v2 = this.v2;\n    point.set(\n      QuadraticBezier(t, v0.x, v1.x, v2.x),\n      QuadraticBezier(t, v0.y, v1.y, v2.y)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.v0.copy(source.v0);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v0 = this.v0.toArray();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v0.fromArray(json.v0);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    return this;\n  }\n};\nvar QuadraticBezierCurve3 = class extends Curve {\n  constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3()) {\n    super();\n    this.isQuadraticBezierCurve3 = true;\n    this.type = \"QuadraticBezierCurve3\";\n    this.v0 = v0;\n    this.v1 = v1;\n    this.v2 = v2;\n  }\n  getPoint(t, optionalTarget = new Vector3()) {\n    const point = optionalTarget;\n    const v0 = this.v0, v1 = this.v1, v2 = this.v2;\n    point.set(\n      QuadraticBezier(t, v0.x, v1.x, v2.x),\n      QuadraticBezier(t, v0.y, v1.y, v2.y),\n      QuadraticBezier(t, v0.z, v1.z, v2.z)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.v0.copy(source.v0);\n    this.v1.copy(source.v1);\n    this.v2.copy(source.v2);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.v0 = this.v0.toArray();\n    data.v1 = this.v1.toArray();\n    data.v2 = this.v2.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.v0.fromArray(json.v0);\n    this.v1.fromArray(json.v1);\n    this.v2.fromArray(json.v2);\n    return this;\n  }\n};\nvar SplineCurve = class extends Curve {\n  constructor(points = []) {\n    super();\n    this.isSplineCurve = true;\n    this.type = \"SplineCurve\";\n    this.points = points;\n  }\n  getPoint(t, optionalTarget = new Vector2()) {\n    const point = optionalTarget;\n    const points = this.points;\n    const p = (points.length - 1) * t;\n    const intPoint = Math.floor(p);\n    const weight = p - intPoint;\n    const p0 = points[intPoint === 0 ? intPoint : intPoint - 1];\n    const p1 = points[intPoint];\n    const p2 = points[intPoint > points.length - 2 ? points.length - 1 : intPoint + 1];\n    const p3 = points[intPoint > points.length - 3 ? points.length - 1 : intPoint + 2];\n    point.set(\n      CatmullRom(weight, p0.x, p1.x, p2.x, p3.x),\n      CatmullRom(weight, p0.y, p1.y, p2.y, p3.y)\n    );\n    return point;\n  }\n  copy(source) {\n    super.copy(source);\n    this.points = [];\n    for (let i = 0, l = source.points.length; i < l; i++) {\n      const point = source.points[i];\n      this.points.push(point.clone());\n    }\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.points = [];\n    for (let i = 0, l = this.points.length; i < l; i++) {\n      const point = this.points[i];\n      data.points.push(point.toArray());\n    }\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.points = [];\n    for (let i = 0, l = json.points.length; i < l; i++) {\n      const point = json.points[i];\n      this.points.push(new Vector2().fromArray(point));\n    }\n    return this;\n  }\n};\nvar Curves = /* @__PURE__ */ Object.freeze({\n  __proto__: null,\n  ArcCurve,\n  CatmullRomCurve3,\n  CubicBezierCurve,\n  CubicBezierCurve3,\n  EllipseCurve,\n  LineCurve,\n  LineCurve3,\n  QuadraticBezierCurve,\n  QuadraticBezierCurve3,\n  SplineCurve\n});\nvar CurvePath = class extends Curve {\n  constructor() {\n    super();\n    this.type = \"CurvePath\";\n    this.curves = [];\n    this.autoClose = false;\n  }\n  add(curve) {\n    this.curves.push(curve);\n  }\n  closePath() {\n    const startPoint = this.curves[0].getPoint(0);\n    const endPoint = this.curves[this.curves.length - 1].getPoint(1);\n    if (!startPoint.equals(endPoint)) {\n      const lineType = startPoint.isVector2 === true ? \"LineCurve\" : \"LineCurve3\";\n      this.curves.push(new Curves[lineType](endPoint, startPoint));\n    }\n    return this;\n  }\n  // To get accurate point with reference to\n  // entire path distance at time t,\n  // following has to be done:\n  // 1. Length of each sub path have to be known\n  // 2. Locate and identify type of curve\n  // 3. Get t for the curve\n  // 4. Return curve.getPointAt(t')\n  getPoint(t, optionalTarget) {\n    const d = t * this.getLength();\n    const curveLengths = this.getCurveLengths();\n    let i = 0;\n    while (i < curveLengths.length) {\n      if (curveLengths[i] >= d) {\n        const diff = curveLengths[i] - d;\n        const curve = this.curves[i];\n        const segmentLength = curve.getLength();\n        const u = segmentLength === 0 ? 0 : 1 - diff / segmentLength;\n        return curve.getPointAt(u, optionalTarget);\n      }\n      i++;\n    }\n    return null;\n  }\n  // We cannot use the default THREE.Curve getPoint() with getLength() because in\n  // THREE.Curve, getLength() depends on getPoint() but in THREE.CurvePath\n  // getPoint() depends on getLength\n  getLength() {\n    const lens = this.getCurveLengths();\n    return lens[lens.length - 1];\n  }\n  // cacheLengths must be recalculated.\n  updateArcLengths() {\n    this.needsUpdate = true;\n    this.cacheLengths = null;\n    this.getCurveLengths();\n  }\n  // Compute lengths and cache them\n  // We cannot overwrite getLengths() because UtoT mapping uses it.\n  getCurveLengths() {\n    if (this.cacheLengths && this.cacheLengths.length === this.curves.length) {\n      return this.cacheLengths;\n    }\n    const lengths = [];\n    let sums = 0;\n    for (let i = 0, l = this.curves.length; i < l; i++) {\n      sums += this.curves[i].getLength();\n      lengths.push(sums);\n    }\n    this.cacheLengths = lengths;\n    return lengths;\n  }\n  getSpacedPoints(divisions = 40) {\n    const points = [];\n    for (let i = 0; i <= divisions; i++) {\n      points.push(this.getPoint(i / divisions));\n    }\n    if (this.autoClose) {\n      points.push(points[0]);\n    }\n    return points;\n  }\n  getPoints(divisions = 12) {\n    const points = [];\n    let last;\n    for (let i = 0, curves = this.curves; i < curves.length; i++) {\n      const curve = curves[i];\n      const resolution = curve.isEllipseCurve ? divisions * 2 : curve.isLineCurve || curve.isLineCurve3 ? 1 : curve.isSplineCurve ? divisions * curve.points.length : divisions;\n      const pts = curve.getPoints(resolution);\n      for (let j = 0; j < pts.length; j++) {\n        const point = pts[j];\n        if (last && last.equals(point)) continue;\n        points.push(point);\n        last = point;\n      }\n    }\n    if (this.autoClose && points.length > 1 && !points[points.length - 1].equals(points[0])) {\n      points.push(points[0]);\n    }\n    return points;\n  }\n  copy(source) {\n    super.copy(source);\n    this.curves = [];\n    for (let i = 0, l = source.curves.length; i < l; i++) {\n      const curve = source.curves[i];\n      this.curves.push(curve.clone());\n    }\n    this.autoClose = source.autoClose;\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.autoClose = this.autoClose;\n    data.curves = [];\n    for (let i = 0, l = this.curves.length; i < l; i++) {\n      const curve = this.curves[i];\n      data.curves.push(curve.toJSON());\n    }\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.autoClose = json.autoClose;\n    this.curves = [];\n    for (let i = 0, l = json.curves.length; i < l; i++) {\n      const curve = json.curves[i];\n      this.curves.push(new Curves[curve.type]().fromJSON(curve));\n    }\n    return this;\n  }\n};\nvar Path = class extends CurvePath {\n  constructor(points) {\n    super();\n    this.type = \"Path\";\n    this.currentPoint = new Vector2();\n    if (points) {\n      this.setFromPoints(points);\n    }\n  }\n  setFromPoints(points) {\n    this.moveTo(points[0].x, points[0].y);\n    for (let i = 1, l = points.length; i < l; i++) {\n      this.lineTo(points[i].x, points[i].y);\n    }\n    return this;\n  }\n  moveTo(x, y) {\n    this.currentPoint.set(x, y);\n    return this;\n  }\n  lineTo(x, y) {\n    const curve = new LineCurve(this.currentPoint.clone(), new Vector2(x, y));\n    this.curves.push(curve);\n    this.currentPoint.set(x, y);\n    return this;\n  }\n  quadraticCurveTo(aCPx, aCPy, aX, aY) {\n    const curve = new QuadraticBezierCurve(\n      this.currentPoint.clone(),\n      new Vector2(aCPx, aCPy),\n      new Vector2(aX, aY)\n    );\n    this.curves.push(curve);\n    this.currentPoint.set(aX, aY);\n    return this;\n  }\n  bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) {\n    const curve = new CubicBezierCurve(\n      this.currentPoint.clone(),\n      new Vector2(aCP1x, aCP1y),\n      new Vector2(aCP2x, aCP2y),\n      new Vector2(aX, aY)\n    );\n    this.curves.push(curve);\n    this.currentPoint.set(aX, aY);\n    return this;\n  }\n  splineThru(pts) {\n    const npts = [this.currentPoint.clone()].concat(pts);\n    const curve = new SplineCurve(npts);\n    this.curves.push(curve);\n    this.currentPoint.copy(pts[pts.length - 1]);\n    return this;\n  }\n  arc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {\n    const x0 = this.currentPoint.x;\n    const y0 = this.currentPoint.y;\n    this.absarc(\n      aX + x0,\n      aY + y0,\n      aRadius,\n      aStartAngle,\n      aEndAngle,\n      aClockwise\n    );\n    return this;\n  }\n  absarc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) {\n    this.absellipse(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise);\n    return this;\n  }\n  ellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) {\n    const x0 = this.currentPoint.x;\n    const y0 = this.currentPoint.y;\n    this.absellipse(aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation);\n    return this;\n  }\n  absellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) {\n    const curve = new EllipseCurve(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation);\n    if (this.curves.length > 0) {\n      const firstPoint = curve.getPoint(0);\n      if (!firstPoint.equals(this.currentPoint)) {\n        this.lineTo(firstPoint.x, firstPoint.y);\n      }\n    }\n    this.curves.push(curve);\n    const lastPoint = curve.getPoint(1);\n    this.currentPoint.copy(lastPoint);\n    return this;\n  }\n  copy(source) {\n    super.copy(source);\n    this.currentPoint.copy(source.currentPoint);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.currentPoint = this.currentPoint.toArray();\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.currentPoint.fromArray(json.currentPoint);\n    return this;\n  }\n};\nvar LatheGeometry = class _LatheGeometry extends BufferGeometry {\n  constructor(points = [new Vector2(0, -0.5), new Vector2(0.5, 0), new Vector2(0, 0.5)], segments = 12, phiStart = 0, phiLength = Math.PI * 2) {\n    super();\n    this.type = \"LatheGeometry\";\n    this.parameters = {\n      points,\n      segments,\n      phiStart,\n      phiLength\n    };\n    segments = Math.floor(segments);\n    phiLength = clamp(phiLength, 0, Math.PI * 2);\n    const indices = [];\n    const vertices = [];\n    const uvs = [];\n    const initNormals = [];\n    const normals = [];\n    const inverseSegments = 1 / segments;\n    const vertex2 = new Vector3();\n    const uv = new Vector2();\n    const normal = new Vector3();\n    const curNormal = new Vector3();\n    const prevNormal = new Vector3();\n    let dx = 0;\n    let dy = 0;\n    for (let j = 0; j <= points.length - 1; j++) {\n      switch (j) {\n        case 0:\n          dx = points[j + 1].x - points[j].x;\n          dy = points[j + 1].y - points[j].y;\n          normal.x = dy * 1;\n          normal.y = -dx;\n          normal.z = dy * 0;\n          prevNormal.copy(normal);\n          normal.normalize();\n          initNormals.push(normal.x, normal.y, normal.z);\n          break;\n        case points.length - 1:\n          initNormals.push(prevNormal.x, prevNormal.y, prevNormal.z);\n          break;\n        default:\n          dx = points[j + 1].x - points[j].x;\n          dy = points[j + 1].y - points[j].y;\n          normal.x = dy * 1;\n          normal.y = -dx;\n          normal.z = dy * 0;\n          curNormal.copy(normal);\n          normal.x += prevNormal.x;\n          normal.y += prevNormal.y;\n          normal.z += prevNormal.z;\n          normal.normalize();\n          initNormals.push(normal.x, normal.y, normal.z);\n          prevNormal.copy(curNormal);\n      }\n    }\n    for (let i = 0; i <= segments; i++) {\n      const phi = phiStart + i * inverseSegments * phiLength;\n      const sin = Math.sin(phi);\n      const cos = Math.cos(phi);\n      for (let j = 0; j <= points.length - 1; j++) {\n        vertex2.x = points[j].x * sin;\n        vertex2.y = points[j].y;\n        vertex2.z = points[j].x * cos;\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        uv.x = i / segments;\n        uv.y = j / (points.length - 1);\n        uvs.push(uv.x, uv.y);\n        const x = initNormals[3 * j + 0] * sin;\n        const y = initNormals[3 * j + 1];\n        const z = initNormals[3 * j + 0] * cos;\n        normals.push(x, y, z);\n      }\n    }\n    for (let i = 0; i < segments; i++) {\n      for (let j = 0; j < points.length - 1; j++) {\n        const base = j + i * points.length;\n        const a = base;\n        const b = base + points.length;\n        const c = base + points.length + 1;\n        const d = base + 1;\n        indices.push(a, b, d);\n        indices.push(c, d, b);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _LatheGeometry(data.points, data.segments, data.phiStart, data.phiLength);\n  }\n};\nvar CapsuleGeometry = class _CapsuleGeometry extends LatheGeometry {\n  constructor(radius = 1, length = 1, capSegments = 4, radialSegments = 8) {\n    const path = new Path();\n    path.absarc(0, -length / 2, radius, Math.PI * 1.5, 0);\n    path.absarc(0, length / 2, radius, 0, Math.PI * 0.5);\n    super(path.getPoints(capSegments), radialSegments);\n    this.type = \"CapsuleGeometry\";\n    this.parameters = {\n      radius,\n      length,\n      capSegments,\n      radialSegments\n    };\n  }\n  static fromJSON(data) {\n    return new _CapsuleGeometry(data.radius, data.length, data.capSegments, data.radialSegments);\n  }\n};\nvar CircleGeometry = class _CircleGeometry extends BufferGeometry {\n  constructor(radius = 1, segments = 32, thetaStart = 0, thetaLength = Math.PI * 2) {\n    super();\n    this.type = \"CircleGeometry\";\n    this.parameters = {\n      radius,\n      segments,\n      thetaStart,\n      thetaLength\n    };\n    segments = Math.max(3, segments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    const vertex2 = new Vector3();\n    const uv = new Vector2();\n    vertices.push(0, 0, 0);\n    normals.push(0, 0, 1);\n    uvs.push(0.5, 0.5);\n    for (let s = 0, i = 3; s <= segments; s++, i += 3) {\n      const segment = thetaStart + s / segments * thetaLength;\n      vertex2.x = radius * Math.cos(segment);\n      vertex2.y = radius * Math.sin(segment);\n      vertices.push(vertex2.x, vertex2.y, vertex2.z);\n      normals.push(0, 0, 1);\n      uv.x = (vertices[i] / radius + 1) / 2;\n      uv.y = (vertices[i + 1] / radius + 1) / 2;\n      uvs.push(uv.x, uv.y);\n    }\n    for (let i = 1; i <= segments; i++) {\n      indices.push(i, i + 1, 0);\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _CircleGeometry(data.radius, data.segments, data.thetaStart, data.thetaLength);\n  }\n};\nvar CylinderGeometry = class _CylinderGeometry extends BufferGeometry {\n  constructor(radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 32, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) {\n    super();\n    this.type = \"CylinderGeometry\";\n    this.parameters = {\n      radiusTop,\n      radiusBottom,\n      height,\n      radialSegments,\n      heightSegments,\n      openEnded,\n      thetaStart,\n      thetaLength\n    };\n    const scope = this;\n    radialSegments = Math.floor(radialSegments);\n    heightSegments = Math.floor(heightSegments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    let index = 0;\n    const indexArray = [];\n    const halfHeight = height / 2;\n    let groupStart = 0;\n    generateTorso();\n    if (openEnded === false) {\n      if (radiusTop > 0) generateCap(true);\n      if (radiusBottom > 0) generateCap(false);\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    function generateTorso() {\n      const normal = new Vector3();\n      const vertex2 = new Vector3();\n      let groupCount = 0;\n      const slope = (radiusBottom - radiusTop) / height;\n      for (let y = 0; y <= heightSegments; y++) {\n        const indexRow = [];\n        const v = y / heightSegments;\n        const radius = v * (radiusBottom - radiusTop) + radiusTop;\n        for (let x = 0; x <= radialSegments; x++) {\n          const u = x / radialSegments;\n          const theta = u * thetaLength + thetaStart;\n          const sinTheta = Math.sin(theta);\n          const cosTheta = Math.cos(theta);\n          vertex2.x = radius * sinTheta;\n          vertex2.y = -v * height + halfHeight;\n          vertex2.z = radius * cosTheta;\n          vertices.push(vertex2.x, vertex2.y, vertex2.z);\n          normal.set(sinTheta, slope, cosTheta).normalize();\n          normals.push(normal.x, normal.y, normal.z);\n          uvs.push(u, 1 - v);\n          indexRow.push(index++);\n        }\n        indexArray.push(indexRow);\n      }\n      for (let x = 0; x < radialSegments; x++) {\n        for (let y = 0; y < heightSegments; y++) {\n          const a = indexArray[y][x];\n          const b = indexArray[y + 1][x];\n          const c = indexArray[y + 1][x + 1];\n          const d = indexArray[y][x + 1];\n          if (radiusTop > 0) {\n            indices.push(a, b, d);\n            groupCount += 3;\n          }\n          if (radiusBottom > 0) {\n            indices.push(b, c, d);\n            groupCount += 3;\n          }\n        }\n      }\n      scope.addGroup(groupStart, groupCount, 0);\n      groupStart += groupCount;\n    }\n    function generateCap(top) {\n      const centerIndexStart = index;\n      const uv = new Vector2();\n      const vertex2 = new Vector3();\n      let groupCount = 0;\n      const radius = top === true ? radiusTop : radiusBottom;\n      const sign2 = top === true ? 1 : -1;\n      for (let x = 1; x <= radialSegments; x++) {\n        vertices.push(0, halfHeight * sign2, 0);\n        normals.push(0, sign2, 0);\n        uvs.push(0.5, 0.5);\n        index++;\n      }\n      const centerIndexEnd = index;\n      for (let x = 0; x <= radialSegments; x++) {\n        const u = x / radialSegments;\n        const theta = u * thetaLength + thetaStart;\n        const cosTheta = Math.cos(theta);\n        const sinTheta = Math.sin(theta);\n        vertex2.x = radius * sinTheta;\n        vertex2.y = halfHeight * sign2;\n        vertex2.z = radius * cosTheta;\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        normals.push(0, sign2, 0);\n        uv.x = cosTheta * 0.5 + 0.5;\n        uv.y = sinTheta * 0.5 * sign2 + 0.5;\n        uvs.push(uv.x, uv.y);\n        index++;\n      }\n      for (let x = 0; x < radialSegments; x++) {\n        const c = centerIndexStart + x;\n        const i = centerIndexEnd + x;\n        if (top === true) {\n          indices.push(i, i + 1, c);\n        } else {\n          indices.push(i + 1, i, c);\n        }\n        groupCount += 3;\n      }\n      scope.addGroup(groupStart, groupCount, top === true ? 1 : 2);\n      groupStart += groupCount;\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _CylinderGeometry(data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength);\n  }\n};\nvar ConeGeometry = class _ConeGeometry extends CylinderGeometry {\n  constructor(radius = 1, height = 1, radialSegments = 32, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) {\n    super(0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength);\n    this.type = \"ConeGeometry\";\n    this.parameters = {\n      radius,\n      height,\n      radialSegments,\n      heightSegments,\n      openEnded,\n      thetaStart,\n      thetaLength\n    };\n  }\n  static fromJSON(data) {\n    return new _ConeGeometry(data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength);\n  }\n};\nvar PolyhedronGeometry = class _PolyhedronGeometry extends BufferGeometry {\n  constructor(vertices = [], indices = [], radius = 1, detail = 0) {\n    super();\n    this.type = \"PolyhedronGeometry\";\n    this.parameters = {\n      vertices,\n      indices,\n      radius,\n      detail\n    };\n    const vertexBuffer = [];\n    const uvBuffer = [];\n    subdivide(detail);\n    applyRadius(radius);\n    generateUVs();\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertexBuffer, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(vertexBuffer.slice(), 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvBuffer, 2));\n    if (detail === 0) {\n      this.computeVertexNormals();\n    } else {\n      this.normalizeNormals();\n    }\n    function subdivide(detail2) {\n      const a = new Vector3();\n      const b = new Vector3();\n      const c = new Vector3();\n      for (let i = 0; i < indices.length; i += 3) {\n        getVertexByIndex(indices[i + 0], a);\n        getVertexByIndex(indices[i + 1], b);\n        getVertexByIndex(indices[i + 2], c);\n        subdivideFace(a, b, c, detail2);\n      }\n    }\n    function subdivideFace(a, b, c, detail2) {\n      const cols = detail2 + 1;\n      const v = [];\n      for (let i = 0; i <= cols; i++) {\n        v[i] = [];\n        const aj = a.clone().lerp(c, i / cols);\n        const bj = b.clone().lerp(c, i / cols);\n        const rows = cols - i;\n        for (let j = 0; j <= rows; j++) {\n          if (j === 0 && i === cols) {\n            v[i][j] = aj;\n          } else {\n            v[i][j] = aj.clone().lerp(bj, j / rows);\n          }\n        }\n      }\n      for (let i = 0; i < cols; i++) {\n        for (let j = 0; j < 2 * (cols - i) - 1; j++) {\n          const k = Math.floor(j / 2);\n          if (j % 2 === 0) {\n            pushVertex(v[i][k + 1]);\n            pushVertex(v[i + 1][k]);\n            pushVertex(v[i][k]);\n          } else {\n            pushVertex(v[i][k + 1]);\n            pushVertex(v[i + 1][k + 1]);\n            pushVertex(v[i + 1][k]);\n          }\n        }\n      }\n    }\n    function applyRadius(radius2) {\n      const vertex2 = new Vector3();\n      for (let i = 0; i < vertexBuffer.length; i += 3) {\n        vertex2.x = vertexBuffer[i + 0];\n        vertex2.y = vertexBuffer[i + 1];\n        vertex2.z = vertexBuffer[i + 2];\n        vertex2.normalize().multiplyScalar(radius2);\n        vertexBuffer[i + 0] = vertex2.x;\n        vertexBuffer[i + 1] = vertex2.y;\n        vertexBuffer[i + 2] = vertex2.z;\n      }\n    }\n    function generateUVs() {\n      const vertex2 = new Vector3();\n      for (let i = 0; i < vertexBuffer.length; i += 3) {\n        vertex2.x = vertexBuffer[i + 0];\n        vertex2.y = vertexBuffer[i + 1];\n        vertex2.z = vertexBuffer[i + 2];\n        const u = azimuth(vertex2) / 2 / Math.PI + 0.5;\n        const v = inclination(vertex2) / Math.PI + 0.5;\n        uvBuffer.push(u, 1 - v);\n      }\n      correctUVs();\n      correctSeam();\n    }\n    function correctSeam() {\n      for (let i = 0; i < uvBuffer.length; i += 6) {\n        const x0 = uvBuffer[i + 0];\n        const x1 = uvBuffer[i + 2];\n        const x2 = uvBuffer[i + 4];\n        const max = Math.max(x0, x1, x2);\n        const min = Math.min(x0, x1, x2);\n        if (max > 0.9 && min < 0.1) {\n          if (x0 < 0.2) uvBuffer[i + 0] += 1;\n          if (x1 < 0.2) uvBuffer[i + 2] += 1;\n          if (x2 < 0.2) uvBuffer[i + 4] += 1;\n        }\n      }\n    }\n    function pushVertex(vertex2) {\n      vertexBuffer.push(vertex2.x, vertex2.y, vertex2.z);\n    }\n    function getVertexByIndex(index, vertex2) {\n      const stride = index * 3;\n      vertex2.x = vertices[stride + 0];\n      vertex2.y = vertices[stride + 1];\n      vertex2.z = vertices[stride + 2];\n    }\n    function correctUVs() {\n      const a = new Vector3();\n      const b = new Vector3();\n      const c = new Vector3();\n      const centroid = new Vector3();\n      const uvA = new Vector2();\n      const uvB = new Vector2();\n      const uvC = new Vector2();\n      for (let i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6) {\n        a.set(vertexBuffer[i + 0], vertexBuffer[i + 1], vertexBuffer[i + 2]);\n        b.set(vertexBuffer[i + 3], vertexBuffer[i + 4], vertexBuffer[i + 5]);\n        c.set(vertexBuffer[i + 6], vertexBuffer[i + 7], vertexBuffer[i + 8]);\n        uvA.set(uvBuffer[j + 0], uvBuffer[j + 1]);\n        uvB.set(uvBuffer[j + 2], uvBuffer[j + 3]);\n        uvC.set(uvBuffer[j + 4], uvBuffer[j + 5]);\n        centroid.copy(a).add(b).add(c).divideScalar(3);\n        const azi = azimuth(centroid);\n        correctUV(uvA, j + 0, a, azi);\n        correctUV(uvB, j + 2, b, azi);\n        correctUV(uvC, j + 4, c, azi);\n      }\n    }\n    function correctUV(uv, stride, vector, azimuth2) {\n      if (azimuth2 < 0 && uv.x === 1) {\n        uvBuffer[stride] = uv.x - 1;\n      }\n      if (vector.x === 0 && vector.z === 0) {\n        uvBuffer[stride] = azimuth2 / 2 / Math.PI + 0.5;\n      }\n    }\n    function azimuth(vector) {\n      return Math.atan2(vector.z, -vector.x);\n    }\n    function inclination(vector) {\n      return Math.atan2(-vector.y, Math.sqrt(vector.x * vector.x + vector.z * vector.z));\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _PolyhedronGeometry(data.vertices, data.indices, data.radius, data.details);\n  }\n};\nvar DodecahedronGeometry = class _DodecahedronGeometry extends PolyhedronGeometry {\n  constructor(radius = 1, detail = 0) {\n    const t = (1 + Math.sqrt(5)) / 2;\n    const r = 1 / t;\n    const vertices = [\n      // (±1, ±1, ±1)\n      -1,\n      -1,\n      -1,\n      -1,\n      -1,\n      1,\n      -1,\n      1,\n      -1,\n      -1,\n      1,\n      1,\n      1,\n      -1,\n      -1,\n      1,\n      -1,\n      1,\n      1,\n      1,\n      -1,\n      1,\n      1,\n      1,\n      // (0, ±1/φ, ±φ)\n      0,\n      -r,\n      -t,\n      0,\n      -r,\n      t,\n      0,\n      r,\n      -t,\n      0,\n      r,\n      t,\n      // (±1/φ, ±φ, 0)\n      -r,\n      -t,\n      0,\n      -r,\n      t,\n      0,\n      r,\n      -t,\n      0,\n      r,\n      t,\n      0,\n      // (±φ, 0, ±1/φ)\n      -t,\n      0,\n      -r,\n      t,\n      0,\n      -r,\n      -t,\n      0,\n      r,\n      t,\n      0,\n      r\n    ];\n    const indices = [\n      3,\n      11,\n      7,\n      3,\n      7,\n      15,\n      3,\n      15,\n      13,\n      7,\n      19,\n      17,\n      7,\n      17,\n      6,\n      7,\n      6,\n      15,\n      17,\n      4,\n      8,\n      17,\n      8,\n      10,\n      17,\n      10,\n      6,\n      8,\n      0,\n      16,\n      8,\n      16,\n      2,\n      8,\n      2,\n      10,\n      0,\n      12,\n      1,\n      0,\n      1,\n      18,\n      0,\n      18,\n      16,\n      6,\n      10,\n      2,\n      6,\n      2,\n      13,\n      6,\n      13,\n      15,\n      2,\n      16,\n      18,\n      2,\n      18,\n      3,\n      2,\n      3,\n      13,\n      18,\n      1,\n      9,\n      18,\n      9,\n      11,\n      18,\n      11,\n      3,\n      4,\n      14,\n      12,\n      4,\n      12,\n      0,\n      4,\n      0,\n      8,\n      11,\n      9,\n      5,\n      11,\n      5,\n      19,\n      11,\n      19,\n      7,\n      19,\n      5,\n      14,\n      19,\n      14,\n      4,\n      19,\n      4,\n      17,\n      1,\n      12,\n      14,\n      1,\n      14,\n      5,\n      1,\n      5,\n      9\n    ];\n    super(vertices, indices, radius, detail);\n    this.type = \"DodecahedronGeometry\";\n    this.parameters = {\n      radius,\n      detail\n    };\n  }\n  static fromJSON(data) {\n    return new _DodecahedronGeometry(data.radius, data.detail);\n  }\n};\nvar _v0 = /* @__PURE__ */ new Vector3();\nvar _v1$1 = /* @__PURE__ */ new Vector3();\nvar _normal = /* @__PURE__ */ new Vector3();\nvar _triangle = /* @__PURE__ */ new Triangle();\nvar EdgesGeometry = class extends BufferGeometry {\n  constructor(geometry = null, thresholdAngle = 1) {\n    super();\n    this.type = \"EdgesGeometry\";\n    this.parameters = {\n      geometry,\n      thresholdAngle\n    };\n    if (geometry !== null) {\n      const precisionPoints = 4;\n      const precision = Math.pow(10, precisionPoints);\n      const thresholdDot = Math.cos(DEG2RAD * thresholdAngle);\n      const indexAttr = geometry.getIndex();\n      const positionAttr = geometry.getAttribute(\"position\");\n      const indexCount = indexAttr ? indexAttr.count : positionAttr.count;\n      const indexArr = [0, 0, 0];\n      const vertKeys = [\"a\", \"b\", \"c\"];\n      const hashes = new Array(3);\n      const edgeData = {};\n      const vertices = [];\n      for (let i = 0; i < indexCount; i += 3) {\n        if (indexAttr) {\n          indexArr[0] = indexAttr.getX(i);\n          indexArr[1] = indexAttr.getX(i + 1);\n          indexArr[2] = indexAttr.getX(i + 2);\n        } else {\n          indexArr[0] = i;\n          indexArr[1] = i + 1;\n          indexArr[2] = i + 2;\n        }\n        const { a, b, c } = _triangle;\n        a.fromBufferAttribute(positionAttr, indexArr[0]);\n        b.fromBufferAttribute(positionAttr, indexArr[1]);\n        c.fromBufferAttribute(positionAttr, indexArr[2]);\n        _triangle.getNormal(_normal);\n        hashes[0] = `${Math.round(a.x * precision)},${Math.round(a.y * precision)},${Math.round(a.z * precision)}`;\n        hashes[1] = `${Math.round(b.x * precision)},${Math.round(b.y * precision)},${Math.round(b.z * precision)}`;\n        hashes[2] = `${Math.round(c.x * precision)},${Math.round(c.y * precision)},${Math.round(c.z * precision)}`;\n        if (hashes[0] === hashes[1] || hashes[1] === hashes[2] || hashes[2] === hashes[0]) {\n          continue;\n        }\n        for (let j = 0; j < 3; j++) {\n          const jNext = (j + 1) % 3;\n          const vecHash0 = hashes[j];\n          const vecHash1 = hashes[jNext];\n          const v0 = _triangle[vertKeys[j]];\n          const v1 = _triangle[vertKeys[jNext]];\n          const hash = `${vecHash0}_${vecHash1}`;\n          const reverseHash = `${vecHash1}_${vecHash0}`;\n          if (reverseHash in edgeData && edgeData[reverseHash]) {\n            if (_normal.dot(edgeData[reverseHash].normal) <= thresholdDot) {\n              vertices.push(v0.x, v0.y, v0.z);\n              vertices.push(v1.x, v1.y, v1.z);\n            }\n            edgeData[reverseHash] = null;\n          } else if (!(hash in edgeData)) {\n            edgeData[hash] = {\n              index0: indexArr[j],\n              index1: indexArr[jNext],\n              normal: _normal.clone()\n            };\n          }\n        }\n      }\n      for (const key in edgeData) {\n        if (edgeData[key]) {\n          const { index0, index1 } = edgeData[key];\n          _v0.fromBufferAttribute(positionAttr, index0);\n          _v1$1.fromBufferAttribute(positionAttr, index1);\n          vertices.push(_v0.x, _v0.y, _v0.z);\n          vertices.push(_v1$1.x, _v1$1.y, _v1$1.z);\n        }\n      }\n      this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n};\nvar Shape = class extends Path {\n  constructor(points) {\n    super(points);\n    this.uuid = generateUUID();\n    this.type = \"Shape\";\n    this.holes = [];\n  }\n  getPointsHoles(divisions) {\n    const holesPts = [];\n    for (let i = 0, l = this.holes.length; i < l; i++) {\n      holesPts[i] = this.holes[i].getPoints(divisions);\n    }\n    return holesPts;\n  }\n  // get points of shape and holes (keypoints based on segments parameter)\n  extractPoints(divisions) {\n    return {\n      shape: this.getPoints(divisions),\n      holes: this.getPointsHoles(divisions)\n    };\n  }\n  copy(source) {\n    super.copy(source);\n    this.holes = [];\n    for (let i = 0, l = source.holes.length; i < l; i++) {\n      const hole = source.holes[i];\n      this.holes.push(hole.clone());\n    }\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.uuid = this.uuid;\n    data.holes = [];\n    for (let i = 0, l = this.holes.length; i < l; i++) {\n      const hole = this.holes[i];\n      data.holes.push(hole.toJSON());\n    }\n    return data;\n  }\n  fromJSON(json) {\n    super.fromJSON(json);\n    this.uuid = json.uuid;\n    this.holes = [];\n    for (let i = 0, l = json.holes.length; i < l; i++) {\n      const hole = json.holes[i];\n      this.holes.push(new Path().fromJSON(hole));\n    }\n    return this;\n  }\n};\nvar Earcut = {\n  triangulate: function(data, holeIndices, dim = 2) {\n    const hasHoles = holeIndices && holeIndices.length;\n    const outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n    let outerNode = linkedList(data, 0, outerLen, dim, true);\n    const triangles = [];\n    if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n    let minX, minY, maxX, maxY, x, y, invSize;\n    if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n    if (data.length > 80 * dim) {\n      minX = maxX = data[0];\n      minY = maxY = data[1];\n      for (let i = dim; i < outerLen; i += dim) {\n        x = data[i];\n        y = data[i + 1];\n        if (x < minX) minX = x;\n        if (y < minY) minY = y;\n        if (x > maxX) maxX = x;\n        if (y > maxY) maxY = y;\n      }\n      invSize = Math.max(maxX - minX, maxY - minY);\n      invSize = invSize !== 0 ? 32767 / invSize : 0;\n    }\n    earcutLinked(outerNode, triangles, dim, minX, minY, invSize, 0);\n    return triangles;\n  }\n};\nfunction linkedList(data, start, end, dim, clockwise) {\n  let i, last;\n  if (clockwise === signedArea(data, start, end, dim) > 0) {\n    for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n  } else {\n    for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n  }\n  if (last && equals(last, last.next)) {\n    removeNode(last);\n    last = last.next;\n  }\n  return last;\n}\nfunction filterPoints(start, end) {\n  if (!start) return start;\n  if (!end) end = start;\n  let p = start, again;\n  do {\n    again = false;\n    if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n      removeNode(p);\n      p = end = p.prev;\n      if (p === p.next) break;\n      again = true;\n    } else {\n      p = p.next;\n    }\n  } while (again || p !== end);\n  return end;\n}\nfunction earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {\n  if (!ear) return;\n  if (!pass && invSize) indexCurve(ear, minX, minY, invSize);\n  let stop = ear, prev, next;\n  while (ear.prev !== ear.next) {\n    prev = ear.prev;\n    next = ear.next;\n    if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {\n      triangles.push(prev.i / dim | 0);\n      triangles.push(ear.i / dim | 0);\n      triangles.push(next.i / dim | 0);\n      removeNode(ear);\n      ear = next.next;\n      stop = next.next;\n      continue;\n    }\n    ear = next;\n    if (ear === stop) {\n      if (!pass) {\n        earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);\n      } else if (pass === 1) {\n        ear = cureLocalIntersections(filterPoints(ear), triangles, dim);\n        earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);\n      } else if (pass === 2) {\n        splitEarcut(ear, triangles, dim, minX, minY, invSize);\n      }\n      break;\n    }\n  }\n}\nfunction isEar(ear) {\n  const a = ear.prev, b = ear, c = ear.next;\n  if (area(a, b, c) >= 0) return false;\n  const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;\n  const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy;\n  let p = c.next;\n  while (p !== a) {\n    if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n    p = p.next;\n  }\n  return true;\n}\nfunction isEarHashed(ear, minX, minY, invSize) {\n  const a = ear.prev, b = ear, c = ear.next;\n  if (area(a, b, c) >= 0) return false;\n  const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;\n  const x0 = ax < bx ? ax < cx ? ax : cx : bx < cx ? bx : cx, y0 = ay < by ? ay < cy ? ay : cy : by < cy ? by : cy, x1 = ax > bx ? ax > cx ? ax : cx : bx > cx ? bx : cx, y1 = ay > by ? ay > cy ? ay : cy : by > cy ? by : cy;\n  const minZ = zOrder(x0, y0, minX, minY, invSize), maxZ = zOrder(x1, y1, minX, minY, invSize);\n  let p = ear.prevZ, n = ear.nextZ;\n  while (p && p.z >= minZ && n && n.z <= maxZ) {\n    if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n    p = p.prevZ;\n    if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;\n    n = n.nextZ;\n  }\n  while (p && p.z >= minZ) {\n    if (p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c && pointInTriangle(ax, ay, bx, by, cx, cy, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false;\n    p = p.prevZ;\n  }\n  while (n && n.z <= maxZ) {\n    if (n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c && pointInTriangle(ax, ay, bx, by, cx, cy, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false;\n    n = n.nextZ;\n  }\n  return true;\n}\nfunction cureLocalIntersections(start, triangles, dim) {\n  let p = start;\n  do {\n    const a = p.prev, b = p.next.next;\n    if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n      triangles.push(a.i / dim | 0);\n      triangles.push(p.i / dim | 0);\n      triangles.push(b.i / dim | 0);\n      removeNode(p);\n      removeNode(p.next);\n      p = start = b;\n    }\n    p = p.next;\n  } while (p !== start);\n  return filterPoints(p);\n}\nfunction splitEarcut(start, triangles, dim, minX, minY, invSize) {\n  let a = start;\n  do {\n    let b = a.next.next;\n    while (b !== a.prev) {\n      if (a.i !== b.i && isValidDiagonal(a, b)) {\n        let c = splitPolygon(a, b);\n        a = filterPoints(a, a.next);\n        c = filterPoints(c, c.next);\n        earcutLinked(a, triangles, dim, minX, minY, invSize, 0);\n        earcutLinked(c, triangles, dim, minX, minY, invSize, 0);\n        return;\n      }\n      b = b.next;\n    }\n    a = a.next;\n  } while (a !== start);\n}\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n  const queue = [];\n  let i, len, start, end, list;\n  for (i = 0, len = holeIndices.length; i < len; i++) {\n    start = holeIndices[i] * dim;\n    end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n    list = linkedList(data, start, end, dim, false);\n    if (list === list.next) list.steiner = true;\n    queue.push(getLeftmost(list));\n  }\n  queue.sort(compareX);\n  for (i = 0; i < queue.length; i++) {\n    outerNode = eliminateHole(queue[i], outerNode);\n  }\n  return outerNode;\n}\nfunction compareX(a, b) {\n  return a.x - b.x;\n}\nfunction eliminateHole(hole, outerNode) {\n  const bridge = findHoleBridge(hole, outerNode);\n  if (!bridge) {\n    return outerNode;\n  }\n  const bridgeReverse = splitPolygon(bridge, hole);\n  filterPoints(bridgeReverse, bridgeReverse.next);\n  return filterPoints(bridge, bridge.next);\n}\nfunction findHoleBridge(hole, outerNode) {\n  let p = outerNode, qx = -Infinity, m;\n  const hx = hole.x, hy = hole.y;\n  do {\n    if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n      const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n      if (x <= hx && x > qx) {\n        qx = x;\n        m = p.x < p.next.x ? p : p.next;\n        if (x === hx) return m;\n      }\n    }\n    p = p.next;\n  } while (p !== outerNode);\n  if (!m) return null;\n  const stop = m, mx = m.x, my = m.y;\n  let tanMin = Infinity, tan;\n  p = m;\n  do {\n    if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n      tan = Math.abs(hy - p.y) / (hx - p.x);\n      if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) {\n        m = p;\n        tanMin = tan;\n      }\n    }\n    p = p.next;\n  } while (p !== stop);\n  return m;\n}\nfunction sectorContainsSector(m, p) {\n  return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;\n}\nfunction indexCurve(start, minX, minY, invSize) {\n  let p = start;\n  do {\n    if (p.z === 0) p.z = zOrder(p.x, p.y, minX, minY, invSize);\n    p.prevZ = p.prev;\n    p.nextZ = p.next;\n    p = p.next;\n  } while (p !== start);\n  p.prevZ.nextZ = null;\n  p.prevZ = null;\n  sortLinked(p);\n}\nfunction sortLinked(list) {\n  let i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1;\n  do {\n    p = list;\n    list = null;\n    tail = null;\n    numMerges = 0;\n    while (p) {\n      numMerges++;\n      q = p;\n      pSize = 0;\n      for (i = 0; i < inSize; i++) {\n        pSize++;\n        q = q.nextZ;\n        if (!q) break;\n      }\n      qSize = inSize;\n      while (pSize > 0 || qSize > 0 && q) {\n        if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n          e = p;\n          p = p.nextZ;\n          pSize--;\n        } else {\n          e = q;\n          q = q.nextZ;\n          qSize--;\n        }\n        if (tail) tail.nextZ = e;\n        else list = e;\n        e.prevZ = tail;\n        tail = e;\n      }\n      p = q;\n    }\n    tail.nextZ = null;\n    inSize *= 2;\n  } while (numMerges > 1);\n  return list;\n}\nfunction zOrder(x, y, minX, minY, invSize) {\n  x = (x - minX) * invSize | 0;\n  y = (y - minY) * invSize | 0;\n  x = (x | x << 8) & 16711935;\n  x = (x | x << 4) & 252645135;\n  x = (x | x << 2) & 858993459;\n  x = (x | x << 1) & 1431655765;\n  y = (y | y << 8) & 16711935;\n  y = (y | y << 4) & 252645135;\n  y = (y | y << 2) & 858993459;\n  y = (y | y << 1) & 1431655765;\n  return x | y << 1;\n}\nfunction getLeftmost(start) {\n  let p = start, leftmost = start;\n  do {\n    if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y) leftmost = p;\n    p = p.next;\n  } while (p !== start);\n  return leftmost;\n}\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px2, py2) {\n  return (cx - px2) * (ay - py2) >= (ax - px2) * (cy - py2) && (ax - px2) * (by - py2) >= (bx - px2) * (ay - py2) && (bx - px2) * (cy - py2) >= (cx - px2) * (by - py2);\n}\nfunction isValidDiagonal(a, b) {\n  return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges\n  (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible\n  (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors\n  equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0);\n}\nfunction area(p, q, r) {\n  return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\nfunction equals(p1, p2) {\n  return p1.x === p2.x && p1.y === p2.y;\n}\nfunction intersects(p1, q1, p2, q2) {\n  const o1 = sign(area(p1, q1, p2));\n  const o2 = sign(area(p1, q1, q2));\n  const o3 = sign(area(p2, q2, p1));\n  const o4 = sign(area(p2, q2, q1));\n  if (o1 !== o2 && o3 !== o4) return true;\n  if (o1 === 0 && onSegment(p1, p2, q1)) return true;\n  if (o2 === 0 && onSegment(p1, q2, q1)) return true;\n  if (o3 === 0 && onSegment(p2, p1, q2)) return true;\n  if (o4 === 0 && onSegment(p2, q1, q2)) return true;\n  return false;\n}\nfunction onSegment(p, q, r) {\n  return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);\n}\nfunction sign(num) {\n  return num > 0 ? 1 : num < 0 ? -1 : 0;\n}\nfunction intersectsPolygon(a, b) {\n  let p = a;\n  do {\n    if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b)) return true;\n    p = p.next;\n  } while (p !== a);\n  return false;\n}\nfunction locallyInside(a, b) {\n  return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\nfunction middleInside(a, b) {\n  let p = a, inside = false;\n  const px2 = (a.x + b.x) / 2, py2 = (a.y + b.y) / 2;\n  do {\n    if (p.y > py2 !== p.next.y > py2 && p.next.y !== p.y && px2 < (p.next.x - p.x) * (py2 - p.y) / (p.next.y - p.y) + p.x)\n      inside = !inside;\n    p = p.next;\n  } while (p !== a);\n  return inside;\n}\nfunction splitPolygon(a, b) {\n  const a2 = new Node(a.i, a.x, a.y), b2 = new Node(b.i, b.x, b.y), an = a.next, bp = b.prev;\n  a.next = b;\n  b.prev = a;\n  a2.next = an;\n  an.prev = a2;\n  b2.next = a2;\n  a2.prev = b2;\n  bp.next = b2;\n  b2.prev = bp;\n  return b2;\n}\nfunction insertNode(i, x, y, last) {\n  const p = new Node(i, x, y);\n  if (!last) {\n    p.prev = p;\n    p.next = p;\n  } else {\n    p.next = last.next;\n    p.prev = last;\n    last.next.prev = p;\n    last.next = p;\n  }\n  return p;\n}\nfunction removeNode(p) {\n  p.next.prev = p.prev;\n  p.prev.next = p.next;\n  if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n  if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\nfunction Node(i, x, y) {\n  this.i = i;\n  this.x = x;\n  this.y = y;\n  this.prev = null;\n  this.next = null;\n  this.z = 0;\n  this.prevZ = null;\n  this.nextZ = null;\n  this.steiner = false;\n}\nfunction signedArea(data, start, end, dim) {\n  let sum = 0;\n  for (let i = start, j = end - dim; i < end; i += dim) {\n    sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n    j = i;\n  }\n  return sum;\n}\nvar ShapeUtils = class _ShapeUtils {\n  // calculate area of the contour polygon\n  static area(contour) {\n    const n = contour.length;\n    let a = 0;\n    for (let p = n - 1, q = 0; q < n; p = q++) {\n      a += contour[p].x * contour[q].y - contour[q].x * contour[p].y;\n    }\n    return a * 0.5;\n  }\n  static isClockWise(pts) {\n    return _ShapeUtils.area(pts) < 0;\n  }\n  static triangulateShape(contour, holes) {\n    const vertices = [];\n    const holeIndices = [];\n    const faces = [];\n    removeDupEndPts(contour);\n    addContour(vertices, contour);\n    let holeIndex = contour.length;\n    holes.forEach(removeDupEndPts);\n    for (let i = 0; i < holes.length; i++) {\n      holeIndices.push(holeIndex);\n      holeIndex += holes[i].length;\n      addContour(vertices, holes[i]);\n    }\n    const triangles = Earcut.triangulate(vertices, holeIndices);\n    for (let i = 0; i < triangles.length; i += 3) {\n      faces.push(triangles.slice(i, i + 3));\n    }\n    return faces;\n  }\n};\nfunction removeDupEndPts(points) {\n  const l = points.length;\n  if (l > 2 && points[l - 1].equals(points[0])) {\n    points.pop();\n  }\n}\nfunction addContour(vertices, contour) {\n  for (let i = 0; i < contour.length; i++) {\n    vertices.push(contour[i].x);\n    vertices.push(contour[i].y);\n  }\n}\nvar ExtrudeGeometry = class _ExtrudeGeometry extends BufferGeometry {\n  constructor(shapes = new Shape([new Vector2(0.5, 0.5), new Vector2(-0.5, 0.5), new Vector2(-0.5, -0.5), new Vector2(0.5, -0.5)]), options = {}) {\n    super();\n    this.type = \"ExtrudeGeometry\";\n    this.parameters = {\n      shapes,\n      options\n    };\n    shapes = Array.isArray(shapes) ? shapes : [shapes];\n    const scope = this;\n    const verticesArray = [];\n    const uvArray = [];\n    for (let i = 0, l = shapes.length; i < l; i++) {\n      const shape = shapes[i];\n      addShape(shape);\n    }\n    this.setAttribute(\"position\", new Float32BufferAttribute(verticesArray, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvArray, 2));\n    this.computeVertexNormals();\n    function addShape(shape) {\n      const placeholder = [];\n      const curveSegments = options.curveSegments !== void 0 ? options.curveSegments : 12;\n      const steps = options.steps !== void 0 ? options.steps : 1;\n      const depth = options.depth !== void 0 ? options.depth : 1;\n      let bevelEnabled = options.bevelEnabled !== void 0 ? options.bevelEnabled : true;\n      let bevelThickness = options.bevelThickness !== void 0 ? options.bevelThickness : 0.2;\n      let bevelSize = options.bevelSize !== void 0 ? options.bevelSize : bevelThickness - 0.1;\n      let bevelOffset = options.bevelOffset !== void 0 ? options.bevelOffset : 0;\n      let bevelSegments = options.bevelSegments !== void 0 ? options.bevelSegments : 3;\n      const extrudePath = options.extrudePath;\n      const uvgen = options.UVGenerator !== void 0 ? options.UVGenerator : WorldUVGenerator;\n      let extrudePts, extrudeByPath = false;\n      let splineTube, binormal, normal, position2;\n      if (extrudePath) {\n        extrudePts = extrudePath.getSpacedPoints(steps);\n        extrudeByPath = true;\n        bevelEnabled = false;\n        splineTube = extrudePath.computeFrenetFrames(steps, false);\n        binormal = new Vector3();\n        normal = new Vector3();\n        position2 = new Vector3();\n      }\n      if (!bevelEnabled) {\n        bevelSegments = 0;\n        bevelThickness = 0;\n        bevelSize = 0;\n        bevelOffset = 0;\n      }\n      const shapePoints = shape.extractPoints(curveSegments);\n      let vertices = shapePoints.shape;\n      const holes = shapePoints.holes;\n      const reverse = !ShapeUtils.isClockWise(vertices);\n      if (reverse) {\n        vertices = vertices.reverse();\n        for (let h = 0, hl = holes.length; h < hl; h++) {\n          const ahole = holes[h];\n          if (ShapeUtils.isClockWise(ahole)) {\n            holes[h] = ahole.reverse();\n          }\n        }\n      }\n      const faces = ShapeUtils.triangulateShape(vertices, holes);\n      const contour = vertices;\n      for (let h = 0, hl = holes.length; h < hl; h++) {\n        const ahole = holes[h];\n        vertices = vertices.concat(ahole);\n      }\n      function scalePt2(pt, vec, size) {\n        if (!vec) console.error(\"THREE.ExtrudeGeometry: vec does not exist\");\n        return pt.clone().addScaledVector(vec, size);\n      }\n      const vlen = vertices.length, flen = faces.length;\n      function getBevelVec(inPt, inPrev, inNext) {\n        let v_trans_x, v_trans_y, shrink_by;\n        const v_prev_x = inPt.x - inPrev.x, v_prev_y = inPt.y - inPrev.y;\n        const v_next_x = inNext.x - inPt.x, v_next_y = inNext.y - inPt.y;\n        const v_prev_lensq = v_prev_x * v_prev_x + v_prev_y * v_prev_y;\n        const collinear0 = v_prev_x * v_next_y - v_prev_y * v_next_x;\n        if (Math.abs(collinear0) > Number.EPSILON) {\n          const v_prev_len = Math.sqrt(v_prev_lensq);\n          const v_next_len = Math.sqrt(v_next_x * v_next_x + v_next_y * v_next_y);\n          const ptPrevShift_x = inPrev.x - v_prev_y / v_prev_len;\n          const ptPrevShift_y = inPrev.y + v_prev_x / v_prev_len;\n          const ptNextShift_x = inNext.x - v_next_y / v_next_len;\n          const ptNextShift_y = inNext.y + v_next_x / v_next_len;\n          const sf = ((ptNextShift_x - ptPrevShift_x) * v_next_y - (ptNextShift_y - ptPrevShift_y) * v_next_x) / (v_prev_x * v_next_y - v_prev_y * v_next_x);\n          v_trans_x = ptPrevShift_x + v_prev_x * sf - inPt.x;\n          v_trans_y = ptPrevShift_y + v_prev_y * sf - inPt.y;\n          const v_trans_lensq = v_trans_x * v_trans_x + v_trans_y * v_trans_y;\n          if (v_trans_lensq <= 2) {\n            return new Vector2(v_trans_x, v_trans_y);\n          } else {\n            shrink_by = Math.sqrt(v_trans_lensq / 2);\n          }\n        } else {\n          let direction_eq = false;\n          if (v_prev_x > Number.EPSILON) {\n            if (v_next_x > Number.EPSILON) {\n              direction_eq = true;\n            }\n          } else {\n            if (v_prev_x < -Number.EPSILON) {\n              if (v_next_x < -Number.EPSILON) {\n                direction_eq = true;\n              }\n            } else {\n              if (Math.sign(v_prev_y) === Math.sign(v_next_y)) {\n                direction_eq = true;\n              }\n            }\n          }\n          if (direction_eq) {\n            v_trans_x = -v_prev_y;\n            v_trans_y = v_prev_x;\n            shrink_by = Math.sqrt(v_prev_lensq);\n          } else {\n            v_trans_x = v_prev_x;\n            v_trans_y = v_prev_y;\n            shrink_by = Math.sqrt(v_prev_lensq / 2);\n          }\n        }\n        return new Vector2(v_trans_x / shrink_by, v_trans_y / shrink_by);\n      }\n      const contourMovements = [];\n      for (let i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) {\n        if (j === il) j = 0;\n        if (k === il) k = 0;\n        contourMovements[i] = getBevelVec(contour[i], contour[j], contour[k]);\n      }\n      const holesMovements = [];\n      let oneHoleMovements, verticesMovements = contourMovements.concat();\n      for (let h = 0, hl = holes.length; h < hl; h++) {\n        const ahole = holes[h];\n        oneHoleMovements = [];\n        for (let i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) {\n          if (j === il) j = 0;\n          if (k === il) k = 0;\n          oneHoleMovements[i] = getBevelVec(ahole[i], ahole[j], ahole[k]);\n        }\n        holesMovements.push(oneHoleMovements);\n        verticesMovements = verticesMovements.concat(oneHoleMovements);\n      }\n      for (let b = 0; b < bevelSegments; b++) {\n        const t = b / bevelSegments;\n        const z = bevelThickness * Math.cos(t * Math.PI / 2);\n        const bs2 = bevelSize * Math.sin(t * Math.PI / 2) + bevelOffset;\n        for (let i = 0, il = contour.length; i < il; i++) {\n          const vert = scalePt2(contour[i], contourMovements[i], bs2);\n          v(vert.x, vert.y, -z);\n        }\n        for (let h = 0, hl = holes.length; h < hl; h++) {\n          const ahole = holes[h];\n          oneHoleMovements = holesMovements[h];\n          for (let i = 0, il = ahole.length; i < il; i++) {\n            const vert = scalePt2(ahole[i], oneHoleMovements[i], bs2);\n            v(vert.x, vert.y, -z);\n          }\n        }\n      }\n      const bs = bevelSize + bevelOffset;\n      for (let i = 0; i < vlen; i++) {\n        const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i];\n        if (!extrudeByPath) {\n          v(vert.x, vert.y, 0);\n        } else {\n          normal.copy(splineTube.normals[0]).multiplyScalar(vert.x);\n          binormal.copy(splineTube.binormals[0]).multiplyScalar(vert.y);\n          position2.copy(extrudePts[0]).add(normal).add(binormal);\n          v(position2.x, position2.y, position2.z);\n        }\n      }\n      for (let s = 1; s <= steps; s++) {\n        for (let i = 0; i < vlen; i++) {\n          const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i];\n          if (!extrudeByPath) {\n            v(vert.x, vert.y, depth / steps * s);\n          } else {\n            normal.copy(splineTube.normals[s]).multiplyScalar(vert.x);\n            binormal.copy(splineTube.binormals[s]).multiplyScalar(vert.y);\n            position2.copy(extrudePts[s]).add(normal).add(binormal);\n            v(position2.x, position2.y, position2.z);\n          }\n        }\n      }\n      for (let b = bevelSegments - 1; b >= 0; b--) {\n        const t = b / bevelSegments;\n        const z = bevelThickness * Math.cos(t * Math.PI / 2);\n        const bs2 = bevelSize * Math.sin(t * Math.PI / 2) + bevelOffset;\n        for (let i = 0, il = contour.length; i < il; i++) {\n          const vert = scalePt2(contour[i], contourMovements[i], bs2);\n          v(vert.x, vert.y, depth + z);\n        }\n        for (let h = 0, hl = holes.length; h < hl; h++) {\n          const ahole = holes[h];\n          oneHoleMovements = holesMovements[h];\n          for (let i = 0, il = ahole.length; i < il; i++) {\n            const vert = scalePt2(ahole[i], oneHoleMovements[i], bs2);\n            if (!extrudeByPath) {\n              v(vert.x, vert.y, depth + z);\n            } else {\n              v(vert.x, vert.y + extrudePts[steps - 1].y, extrudePts[steps - 1].x + z);\n            }\n          }\n        }\n      }\n      buildLidFaces();\n      buildSideFaces();\n      function buildLidFaces() {\n        const start = verticesArray.length / 3;\n        if (bevelEnabled) {\n          let layer = 0;\n          let offset = vlen * layer;\n          for (let i = 0; i < flen; i++) {\n            const face = faces[i];\n            f3(face[2] + offset, face[1] + offset, face[0] + offset);\n          }\n          layer = steps + bevelSegments * 2;\n          offset = vlen * layer;\n          for (let i = 0; i < flen; i++) {\n            const face = faces[i];\n            f3(face[0] + offset, face[1] + offset, face[2] + offset);\n          }\n        } else {\n          for (let i = 0; i < flen; i++) {\n            const face = faces[i];\n            f3(face[2], face[1], face[0]);\n          }\n          for (let i = 0; i < flen; i++) {\n            const face = faces[i];\n            f3(face[0] + vlen * steps, face[1] + vlen * steps, face[2] + vlen * steps);\n          }\n        }\n        scope.addGroup(start, verticesArray.length / 3 - start, 0);\n      }\n      function buildSideFaces() {\n        const start = verticesArray.length / 3;\n        let layeroffset = 0;\n        sidewalls(contour, layeroffset);\n        layeroffset += contour.length;\n        for (let h = 0, hl = holes.length; h < hl; h++) {\n          const ahole = holes[h];\n          sidewalls(ahole, layeroffset);\n          layeroffset += ahole.length;\n        }\n        scope.addGroup(start, verticesArray.length / 3 - start, 1);\n      }\n      function sidewalls(contour2, layeroffset) {\n        let i = contour2.length;\n        while (--i >= 0) {\n          const j = i;\n          let k = i - 1;\n          if (k < 0) k = contour2.length - 1;\n          for (let s = 0, sl = steps + bevelSegments * 2; s < sl; s++) {\n            const slen1 = vlen * s;\n            const slen2 = vlen * (s + 1);\n            const a = layeroffset + j + slen1, b = layeroffset + k + slen1, c = layeroffset + k + slen2, d = layeroffset + j + slen2;\n            f4(a, b, c, d);\n          }\n        }\n      }\n      function v(x, y, z) {\n        placeholder.push(x);\n        placeholder.push(y);\n        placeholder.push(z);\n      }\n      function f3(a, b, c) {\n        addVertex(a);\n        addVertex(b);\n        addVertex(c);\n        const nextIndex = verticesArray.length / 3;\n        const uvs = uvgen.generateTopUV(scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1);\n        addUV(uvs[0]);\n        addUV(uvs[1]);\n        addUV(uvs[2]);\n      }\n      function f4(a, b, c, d) {\n        addVertex(a);\n        addVertex(b);\n        addVertex(d);\n        addVertex(b);\n        addVertex(c);\n        addVertex(d);\n        const nextIndex = verticesArray.length / 3;\n        const uvs = uvgen.generateSideWallUV(scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1);\n        addUV(uvs[0]);\n        addUV(uvs[1]);\n        addUV(uvs[3]);\n        addUV(uvs[1]);\n        addUV(uvs[2]);\n        addUV(uvs[3]);\n      }\n      function addVertex(index) {\n        verticesArray.push(placeholder[index * 3 + 0]);\n        verticesArray.push(placeholder[index * 3 + 1]);\n        verticesArray.push(placeholder[index * 3 + 2]);\n      }\n      function addUV(vector2) {\n        uvArray.push(vector2.x);\n        uvArray.push(vector2.y);\n      }\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    const shapes = this.parameters.shapes;\n    const options = this.parameters.options;\n    return toJSON$1(shapes, options, data);\n  }\n  static fromJSON(data, shapes) {\n    const geometryShapes = [];\n    for (let j = 0, jl = data.shapes.length; j < jl; j++) {\n      const shape = shapes[data.shapes[j]];\n      geometryShapes.push(shape);\n    }\n    const extrudePath = data.options.extrudePath;\n    if (extrudePath !== void 0) {\n      data.options.extrudePath = new Curves[extrudePath.type]().fromJSON(extrudePath);\n    }\n    return new _ExtrudeGeometry(geometryShapes, data.options);\n  }\n};\nvar WorldUVGenerator = {\n  generateTopUV: function(geometry, vertices, indexA, indexB, indexC) {\n    const a_x = vertices[indexA * 3];\n    const a_y = vertices[indexA * 3 + 1];\n    const b_x = vertices[indexB * 3];\n    const b_y = vertices[indexB * 3 + 1];\n    const c_x = vertices[indexC * 3];\n    const c_y = vertices[indexC * 3 + 1];\n    return [\n      new Vector2(a_x, a_y),\n      new Vector2(b_x, b_y),\n      new Vector2(c_x, c_y)\n    ];\n  },\n  generateSideWallUV: function(geometry, vertices, indexA, indexB, indexC, indexD) {\n    const a_x = vertices[indexA * 3];\n    const a_y = vertices[indexA * 3 + 1];\n    const a_z = vertices[indexA * 3 + 2];\n    const b_x = vertices[indexB * 3];\n    const b_y = vertices[indexB * 3 + 1];\n    const b_z = vertices[indexB * 3 + 2];\n    const c_x = vertices[indexC * 3];\n    const c_y = vertices[indexC * 3 + 1];\n    const c_z = vertices[indexC * 3 + 2];\n    const d_x = vertices[indexD * 3];\n    const d_y = vertices[indexD * 3 + 1];\n    const d_z = vertices[indexD * 3 + 2];\n    if (Math.abs(a_y - b_y) < Math.abs(a_x - b_x)) {\n      return [\n        new Vector2(a_x, 1 - a_z),\n        new Vector2(b_x, 1 - b_z),\n        new Vector2(c_x, 1 - c_z),\n        new Vector2(d_x, 1 - d_z)\n      ];\n    } else {\n      return [\n        new Vector2(a_y, 1 - a_z),\n        new Vector2(b_y, 1 - b_z),\n        new Vector2(c_y, 1 - c_z),\n        new Vector2(d_y, 1 - d_z)\n      ];\n    }\n  }\n};\nfunction toJSON$1(shapes, options, data) {\n  data.shapes = [];\n  if (Array.isArray(shapes)) {\n    for (let i = 0, l = shapes.length; i < l; i++) {\n      const shape = shapes[i];\n      data.shapes.push(shape.uuid);\n    }\n  } else {\n    data.shapes.push(shapes.uuid);\n  }\n  data.options = Object.assign({}, options);\n  if (options.extrudePath !== void 0) data.options.extrudePath = options.extrudePath.toJSON();\n  return data;\n}\nvar IcosahedronGeometry = class _IcosahedronGeometry extends PolyhedronGeometry {\n  constructor(radius = 1, detail = 0) {\n    const t = (1 + Math.sqrt(5)) / 2;\n    const vertices = [\n      -1,\n      t,\n      0,\n      1,\n      t,\n      0,\n      -1,\n      -t,\n      0,\n      1,\n      -t,\n      0,\n      0,\n      -1,\n      t,\n      0,\n      1,\n      t,\n      0,\n      -1,\n      -t,\n      0,\n      1,\n      -t,\n      t,\n      0,\n      -1,\n      t,\n      0,\n      1,\n      -t,\n      0,\n      -1,\n      -t,\n      0,\n      1\n    ];\n    const indices = [\n      0,\n      11,\n      5,\n      0,\n      5,\n      1,\n      0,\n      1,\n      7,\n      0,\n      7,\n      10,\n      0,\n      10,\n      11,\n      1,\n      5,\n      9,\n      5,\n      11,\n      4,\n      11,\n      10,\n      2,\n      10,\n      7,\n      6,\n      7,\n      1,\n      8,\n      3,\n      9,\n      4,\n      3,\n      4,\n      2,\n      3,\n      2,\n      6,\n      3,\n      6,\n      8,\n      3,\n      8,\n      9,\n      4,\n      9,\n      5,\n      2,\n      4,\n      11,\n      6,\n      2,\n      10,\n      8,\n      6,\n      7,\n      9,\n      8,\n      1\n    ];\n    super(vertices, indices, radius, detail);\n    this.type = \"IcosahedronGeometry\";\n    this.parameters = {\n      radius,\n      detail\n    };\n  }\n  static fromJSON(data) {\n    return new _IcosahedronGeometry(data.radius, data.detail);\n  }\n};\nvar OctahedronGeometry = class _OctahedronGeometry extends PolyhedronGeometry {\n  constructor(radius = 1, detail = 0) {\n    const vertices = [\n      1,\n      0,\n      0,\n      -1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      -1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      -1\n    ];\n    const indices = [\n      0,\n      2,\n      4,\n      0,\n      4,\n      3,\n      0,\n      3,\n      5,\n      0,\n      5,\n      2,\n      1,\n      2,\n      5,\n      1,\n      5,\n      3,\n      1,\n      3,\n      4,\n      1,\n      4,\n      2\n    ];\n    super(vertices, indices, radius, detail);\n    this.type = \"OctahedronGeometry\";\n    this.parameters = {\n      radius,\n      detail\n    };\n  }\n  static fromJSON(data) {\n    return new _OctahedronGeometry(data.radius, data.detail);\n  }\n};\nvar RingGeometry = class _RingGeometry extends BufferGeometry {\n  constructor(innerRadius = 0.5, outerRadius = 1, thetaSegments = 32, phiSegments = 1, thetaStart = 0, thetaLength = Math.PI * 2) {\n    super();\n    this.type = \"RingGeometry\";\n    this.parameters = {\n      innerRadius,\n      outerRadius,\n      thetaSegments,\n      phiSegments,\n      thetaStart,\n      thetaLength\n    };\n    thetaSegments = Math.max(3, thetaSegments);\n    phiSegments = Math.max(1, phiSegments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    let radius = innerRadius;\n    const radiusStep = (outerRadius - innerRadius) / phiSegments;\n    const vertex2 = new Vector3();\n    const uv = new Vector2();\n    for (let j = 0; j <= phiSegments; j++) {\n      for (let i = 0; i <= thetaSegments; i++) {\n        const segment = thetaStart + i / thetaSegments * thetaLength;\n        vertex2.x = radius * Math.cos(segment);\n        vertex2.y = radius * Math.sin(segment);\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        normals.push(0, 0, 1);\n        uv.x = (vertex2.x / outerRadius + 1) / 2;\n        uv.y = (vertex2.y / outerRadius + 1) / 2;\n        uvs.push(uv.x, uv.y);\n      }\n      radius += radiusStep;\n    }\n    for (let j = 0; j < phiSegments; j++) {\n      const thetaSegmentLevel = j * (thetaSegments + 1);\n      for (let i = 0; i < thetaSegments; i++) {\n        const segment = i + thetaSegmentLevel;\n        const a = segment;\n        const b = segment + thetaSegments + 1;\n        const c = segment + thetaSegments + 2;\n        const d = segment + 1;\n        indices.push(a, b, d);\n        indices.push(b, c, d);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _RingGeometry(data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength);\n  }\n};\nvar ShapeGeometry = class _ShapeGeometry extends BufferGeometry {\n  constructor(shapes = new Shape([new Vector2(0, 0.5), new Vector2(-0.5, -0.5), new Vector2(0.5, -0.5)]), curveSegments = 12) {\n    super();\n    this.type = \"ShapeGeometry\";\n    this.parameters = {\n      shapes,\n      curveSegments\n    };\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    let groupStart = 0;\n    let groupCount = 0;\n    if (Array.isArray(shapes) === false) {\n      addShape(shapes);\n    } else {\n      for (let i = 0; i < shapes.length; i++) {\n        addShape(shapes[i]);\n        this.addGroup(groupStart, groupCount, i);\n        groupStart += groupCount;\n        groupCount = 0;\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    function addShape(shape) {\n      const indexOffset = vertices.length / 3;\n      const points = shape.extractPoints(curveSegments);\n      let shapeVertices = points.shape;\n      const shapeHoles = points.holes;\n      if (ShapeUtils.isClockWise(shapeVertices) === false) {\n        shapeVertices = shapeVertices.reverse();\n      }\n      for (let i = 0, l = shapeHoles.length; i < l; i++) {\n        const shapeHole = shapeHoles[i];\n        if (ShapeUtils.isClockWise(shapeHole) === true) {\n          shapeHoles[i] = shapeHole.reverse();\n        }\n      }\n      const faces = ShapeUtils.triangulateShape(shapeVertices, shapeHoles);\n      for (let i = 0, l = shapeHoles.length; i < l; i++) {\n        const shapeHole = shapeHoles[i];\n        shapeVertices = shapeVertices.concat(shapeHole);\n      }\n      for (let i = 0, l = shapeVertices.length; i < l; i++) {\n        const vertex2 = shapeVertices[i];\n        vertices.push(vertex2.x, vertex2.y, 0);\n        normals.push(0, 0, 1);\n        uvs.push(vertex2.x, vertex2.y);\n      }\n      for (let i = 0, l = faces.length; i < l; i++) {\n        const face = faces[i];\n        const a = face[0] + indexOffset;\n        const b = face[1] + indexOffset;\n        const c = face[2] + indexOffset;\n        indices.push(a, b, c);\n        groupCount += 3;\n      }\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    const shapes = this.parameters.shapes;\n    return toJSON(shapes, data);\n  }\n  static fromJSON(data, shapes) {\n    const geometryShapes = [];\n    for (let j = 0, jl = data.shapes.length; j < jl; j++) {\n      const shape = shapes[data.shapes[j]];\n      geometryShapes.push(shape);\n    }\n    return new _ShapeGeometry(geometryShapes, data.curveSegments);\n  }\n};\nfunction toJSON(shapes, data) {\n  data.shapes = [];\n  if (Array.isArray(shapes)) {\n    for (let i = 0, l = shapes.length; i < l; i++) {\n      const shape = shapes[i];\n      data.shapes.push(shape.uuid);\n    }\n  } else {\n    data.shapes.push(shapes.uuid);\n  }\n  return data;\n}\nvar SphereGeometry = class _SphereGeometry extends BufferGeometry {\n  constructor(radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI) {\n    super();\n    this.type = \"SphereGeometry\";\n    this.parameters = {\n      radius,\n      widthSegments,\n      heightSegments,\n      phiStart,\n      phiLength,\n      thetaStart,\n      thetaLength\n    };\n    widthSegments = Math.max(3, Math.floor(widthSegments));\n    heightSegments = Math.max(2, Math.floor(heightSegments));\n    const thetaEnd = Math.min(thetaStart + thetaLength, Math.PI);\n    let index = 0;\n    const grid = [];\n    const vertex2 = new Vector3();\n    const normal = new Vector3();\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    for (let iy = 0; iy <= heightSegments; iy++) {\n      const verticesRow = [];\n      const v = iy / heightSegments;\n      let uOffset = 0;\n      if (iy === 0 && thetaStart === 0) {\n        uOffset = 0.5 / widthSegments;\n      } else if (iy === heightSegments && thetaEnd === Math.PI) {\n        uOffset = -0.5 / widthSegments;\n      }\n      for (let ix = 0; ix <= widthSegments; ix++) {\n        const u = ix / widthSegments;\n        vertex2.x = -radius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength);\n        vertex2.y = radius * Math.cos(thetaStart + v * thetaLength);\n        vertex2.z = radius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength);\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        normal.copy(vertex2).normalize();\n        normals.push(normal.x, normal.y, normal.z);\n        uvs.push(u + uOffset, 1 - v);\n        verticesRow.push(index++);\n      }\n      grid.push(verticesRow);\n    }\n    for (let iy = 0; iy < heightSegments; iy++) {\n      for (let ix = 0; ix < widthSegments; ix++) {\n        const a = grid[iy][ix + 1];\n        const b = grid[iy][ix];\n        const c = grid[iy + 1][ix];\n        const d = grid[iy + 1][ix + 1];\n        if (iy !== 0 || thetaStart > 0) indices.push(a, b, d);\n        if (iy !== heightSegments - 1 || thetaEnd < Math.PI) indices.push(b, c, d);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _SphereGeometry(data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength);\n  }\n};\nvar TetrahedronGeometry = class _TetrahedronGeometry extends PolyhedronGeometry {\n  constructor(radius = 1, detail = 0) {\n    const vertices = [\n      1,\n      1,\n      1,\n      -1,\n      -1,\n      1,\n      -1,\n      1,\n      -1,\n      1,\n      -1,\n      -1\n    ];\n    const indices = [\n      2,\n      1,\n      0,\n      0,\n      3,\n      2,\n      1,\n      3,\n      0,\n      2,\n      3,\n      1\n    ];\n    super(vertices, indices, radius, detail);\n    this.type = \"TetrahedronGeometry\";\n    this.parameters = {\n      radius,\n      detail\n    };\n  }\n  static fromJSON(data) {\n    return new _TetrahedronGeometry(data.radius, data.detail);\n  }\n};\nvar TorusGeometry = class _TorusGeometry extends BufferGeometry {\n  constructor(radius = 1, tube = 0.4, radialSegments = 12, tubularSegments = 48, arc = Math.PI * 2) {\n    super();\n    this.type = \"TorusGeometry\";\n    this.parameters = {\n      radius,\n      tube,\n      radialSegments,\n      tubularSegments,\n      arc\n    };\n    radialSegments = Math.floor(radialSegments);\n    tubularSegments = Math.floor(tubularSegments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    const center = new Vector3();\n    const vertex2 = new Vector3();\n    const normal = new Vector3();\n    for (let j = 0; j <= radialSegments; j++) {\n      for (let i = 0; i <= tubularSegments; i++) {\n        const u = i / tubularSegments * arc;\n        const v = j / radialSegments * Math.PI * 2;\n        vertex2.x = (radius + tube * Math.cos(v)) * Math.cos(u);\n        vertex2.y = (radius + tube * Math.cos(v)) * Math.sin(u);\n        vertex2.z = tube * Math.sin(v);\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        center.x = radius * Math.cos(u);\n        center.y = radius * Math.sin(u);\n        normal.subVectors(vertex2, center).normalize();\n        normals.push(normal.x, normal.y, normal.z);\n        uvs.push(i / tubularSegments);\n        uvs.push(j / radialSegments);\n      }\n    }\n    for (let j = 1; j <= radialSegments; j++) {\n      for (let i = 1; i <= tubularSegments; i++) {\n        const a = (tubularSegments + 1) * j + i - 1;\n        const b = (tubularSegments + 1) * (j - 1) + i - 1;\n        const c = (tubularSegments + 1) * (j - 1) + i;\n        const d = (tubularSegments + 1) * j + i;\n        indices.push(a, b, d);\n        indices.push(b, c, d);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _TorusGeometry(data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc);\n  }\n};\nvar TorusKnotGeometry = class _TorusKnotGeometry extends BufferGeometry {\n  constructor(radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3) {\n    super();\n    this.type = \"TorusKnotGeometry\";\n    this.parameters = {\n      radius,\n      tube,\n      tubularSegments,\n      radialSegments,\n      p,\n      q\n    };\n    tubularSegments = Math.floor(tubularSegments);\n    radialSegments = Math.floor(radialSegments);\n    const indices = [];\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    const vertex2 = new Vector3();\n    const normal = new Vector3();\n    const P1 = new Vector3();\n    const P2 = new Vector3();\n    const B = new Vector3();\n    const T = new Vector3();\n    const N = new Vector3();\n    for (let i = 0; i <= tubularSegments; ++i) {\n      const u = i / tubularSegments * p * Math.PI * 2;\n      calculatePositionOnCurve(u, p, q, radius, P1);\n      calculatePositionOnCurve(u + 0.01, p, q, radius, P2);\n      T.subVectors(P2, P1);\n      N.addVectors(P2, P1);\n      B.crossVectors(T, N);\n      N.crossVectors(B, T);\n      B.normalize();\n      N.normalize();\n      for (let j = 0; j <= radialSegments; ++j) {\n        const v = j / radialSegments * Math.PI * 2;\n        const cx = -tube * Math.cos(v);\n        const cy = tube * Math.sin(v);\n        vertex2.x = P1.x + (cx * N.x + cy * B.x);\n        vertex2.y = P1.y + (cx * N.y + cy * B.y);\n        vertex2.z = P1.z + (cx * N.z + cy * B.z);\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n        normal.subVectors(vertex2, P1).normalize();\n        normals.push(normal.x, normal.y, normal.z);\n        uvs.push(i / tubularSegments);\n        uvs.push(j / radialSegments);\n      }\n    }\n    for (let j = 1; j <= tubularSegments; j++) {\n      for (let i = 1; i <= radialSegments; i++) {\n        const a = (radialSegments + 1) * (j - 1) + (i - 1);\n        const b = (radialSegments + 1) * j + (i - 1);\n        const c = (radialSegments + 1) * j + i;\n        const d = (radialSegments + 1) * (j - 1) + i;\n        indices.push(a, b, d);\n        indices.push(b, c, d);\n      }\n    }\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    function calculatePositionOnCurve(u, p2, q2, radius2, position) {\n      const cu = Math.cos(u);\n      const su = Math.sin(u);\n      const quOverP = q2 / p2 * u;\n      const cs = Math.cos(quOverP);\n      position.x = radius2 * (2 + cs) * 0.5 * cu;\n      position.y = radius2 * (2 + cs) * su * 0.5;\n      position.z = radius2 * Math.sin(quOverP) * 0.5;\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  static fromJSON(data) {\n    return new _TorusKnotGeometry(data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q);\n  }\n};\nvar TubeGeometry = class _TubeGeometry extends BufferGeometry {\n  constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) {\n    super();\n    this.type = \"TubeGeometry\";\n    this.parameters = {\n      path,\n      tubularSegments,\n      radius,\n      radialSegments,\n      closed\n    };\n    const frames = path.computeFrenetFrames(tubularSegments, closed);\n    this.tangents = frames.tangents;\n    this.normals = frames.normals;\n    this.binormals = frames.binormals;\n    const vertex2 = new Vector3();\n    const normal = new Vector3();\n    const uv = new Vector2();\n    let P = new Vector3();\n    const vertices = [];\n    const normals = [];\n    const uvs = [];\n    const indices = [];\n    generateBufferData();\n    this.setIndex(indices);\n    this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    this.setAttribute(\"normal\", new Float32BufferAttribute(normals, 3));\n    this.setAttribute(\"uv\", new Float32BufferAttribute(uvs, 2));\n    function generateBufferData() {\n      for (let i = 0; i < tubularSegments; i++) {\n        generateSegment(i);\n      }\n      generateSegment(closed === false ? tubularSegments : 0);\n      generateUVs();\n      generateIndices();\n    }\n    function generateSegment(i) {\n      P = path.getPointAt(i / tubularSegments, P);\n      const N = frames.normals[i];\n      const B = frames.binormals[i];\n      for (let j = 0; j <= radialSegments; j++) {\n        const v = j / radialSegments * Math.PI * 2;\n        const sin = Math.sin(v);\n        const cos = -Math.cos(v);\n        normal.x = cos * N.x + sin * B.x;\n        normal.y = cos * N.y + sin * B.y;\n        normal.z = cos * N.z + sin * B.z;\n        normal.normalize();\n        normals.push(normal.x, normal.y, normal.z);\n        vertex2.x = P.x + radius * normal.x;\n        vertex2.y = P.y + radius * normal.y;\n        vertex2.z = P.z + radius * normal.z;\n        vertices.push(vertex2.x, vertex2.y, vertex2.z);\n      }\n    }\n    function generateIndices() {\n      for (let j = 1; j <= tubularSegments; j++) {\n        for (let i = 1; i <= radialSegments; i++) {\n          const a = (radialSegments + 1) * (j - 1) + (i - 1);\n          const b = (radialSegments + 1) * j + (i - 1);\n          const c = (radialSegments + 1) * j + i;\n          const d = (radialSegments + 1) * (j - 1) + i;\n          indices.push(a, b, d);\n          indices.push(b, c, d);\n        }\n      }\n    }\n    function generateUVs() {\n      for (let i = 0; i <= tubularSegments; i++) {\n        for (let j = 0; j <= radialSegments; j++) {\n          uv.x = i / tubularSegments;\n          uv.y = j / radialSegments;\n          uvs.push(uv.x, uv.y);\n        }\n      }\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.path = this.parameters.path.toJSON();\n    return data;\n  }\n  static fromJSON(data) {\n    return new _TubeGeometry(\n      new Curves[data.path.type]().fromJSON(data.path),\n      data.tubularSegments,\n      data.radius,\n      data.radialSegments,\n      data.closed\n    );\n  }\n};\nvar WireframeGeometry = class extends BufferGeometry {\n  constructor(geometry = null) {\n    super();\n    this.type = \"WireframeGeometry\";\n    this.parameters = {\n      geometry\n    };\n    if (geometry !== null) {\n      const vertices = [];\n      const edges = /* @__PURE__ */ new Set();\n      const start = new Vector3();\n      const end = new Vector3();\n      if (geometry.index !== null) {\n        const position = geometry.attributes.position;\n        const indices = geometry.index;\n        let groups = geometry.groups;\n        if (groups.length === 0) {\n          groups = [{ start: 0, count: indices.count, materialIndex: 0 }];\n        }\n        for (let o = 0, ol = groups.length; o < ol; ++o) {\n          const group = groups[o];\n          const groupStart = group.start;\n          const groupCount = group.count;\n          for (let i = groupStart, l = groupStart + groupCount; i < l; i += 3) {\n            for (let j = 0; j < 3; j++) {\n              const index1 = indices.getX(i + j);\n              const index2 = indices.getX(i + (j + 1) % 3);\n              start.fromBufferAttribute(position, index1);\n              end.fromBufferAttribute(position, index2);\n              if (isUniqueEdge(start, end, edges) === true) {\n                vertices.push(start.x, start.y, start.z);\n                vertices.push(end.x, end.y, end.z);\n              }\n            }\n          }\n        }\n      } else {\n        const position = geometry.attributes.position;\n        for (let i = 0, l = position.count / 3; i < l; i++) {\n          for (let j = 0; j < 3; j++) {\n            const index1 = 3 * i + j;\n            const index2 = 3 * i + (j + 1) % 3;\n            start.fromBufferAttribute(position, index1);\n            end.fromBufferAttribute(position, index2);\n            if (isUniqueEdge(start, end, edges) === true) {\n              vertices.push(start.x, start.y, start.z);\n              vertices.push(end.x, end.y, end.z);\n            }\n          }\n        }\n      }\n      this.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    }\n  }\n  copy(source) {\n    super.copy(source);\n    this.parameters = Object.assign({}, source.parameters);\n    return this;\n  }\n};\nfunction isUniqueEdge(start, end, edges) {\n  const hash1 = `${start.x},${start.y},${start.z}-${end.x},${end.y},${end.z}`;\n  const hash2 = `${end.x},${end.y},${end.z}-${start.x},${start.y},${start.z}`;\n  if (edges.has(hash1) === true || edges.has(hash2) === true) {\n    return false;\n  } else {\n    edges.add(hash1);\n    edges.add(hash2);\n    return true;\n  }\n}\nvar Geometries = /* @__PURE__ */ Object.freeze({\n  __proto__: null,\n  BoxGeometry,\n  CapsuleGeometry,\n  CircleGeometry,\n  ConeGeometry,\n  CylinderGeometry,\n  DodecahedronGeometry,\n  EdgesGeometry,\n  ExtrudeGeometry,\n  IcosahedronGeometry,\n  LatheGeometry,\n  OctahedronGeometry,\n  PlaneGeometry,\n  PolyhedronGeometry,\n  RingGeometry,\n  ShapeGeometry,\n  SphereGeometry,\n  TetrahedronGeometry,\n  TorusGeometry,\n  TorusKnotGeometry,\n  TubeGeometry,\n  WireframeGeometry\n});\nvar ShadowMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isShadowMaterial = true;\n    this.type = \"ShadowMaterial\";\n    this.color = new Color(0);\n    this.transparent = true;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar RawShaderMaterial = class extends ShaderMaterial {\n  constructor(parameters) {\n    super(parameters);\n    this.isRawShaderMaterial = true;\n    this.type = \"RawShaderMaterial\";\n  }\n};\nvar MeshStandardMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshStandardMaterial = true;\n    this.defines = { \"STANDARD\": \"\" };\n    this.type = \"MeshStandardMaterial\";\n    this.color = new Color(16777215);\n    this.roughness = 1;\n    this.metalness = 0;\n    this.map = null;\n    this.lightMap = null;\n    this.lightMapIntensity = 1;\n    this.aoMap = null;\n    this.aoMapIntensity = 1;\n    this.emissive = new Color(0);\n    this.emissiveIntensity = 1;\n    this.emissiveMap = null;\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.roughnessMap = null;\n    this.metalnessMap = null;\n    this.alphaMap = null;\n    this.envMap = null;\n    this.envMapRotation = new Euler();\n    this.envMapIntensity = 1;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.wireframeLinecap = \"round\";\n    this.wireframeLinejoin = \"round\";\n    this.flatShading = false;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.defines = { \"STANDARD\": \"\" };\n    this.color.copy(source.color);\n    this.roughness = source.roughness;\n    this.metalness = source.metalness;\n    this.map = source.map;\n    this.lightMap = source.lightMap;\n    this.lightMapIntensity = source.lightMapIntensity;\n    this.aoMap = source.aoMap;\n    this.aoMapIntensity = source.aoMapIntensity;\n    this.emissive.copy(source.emissive);\n    this.emissiveMap = source.emissiveMap;\n    this.emissiveIntensity = source.emissiveIntensity;\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.roughnessMap = source.roughnessMap;\n    this.metalnessMap = source.metalnessMap;\n    this.alphaMap = source.alphaMap;\n    this.envMap = source.envMap;\n    this.envMapRotation.copy(source.envMapRotation);\n    this.envMapIntensity = source.envMapIntensity;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.wireframeLinecap = source.wireframeLinecap;\n    this.wireframeLinejoin = source.wireframeLinejoin;\n    this.flatShading = source.flatShading;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar MeshPhysicalMaterial = class extends MeshStandardMaterial {\n  constructor(parameters) {\n    super();\n    this.isMeshPhysicalMaterial = true;\n    this.defines = {\n      \"STANDARD\": \"\",\n      \"PHYSICAL\": \"\"\n    };\n    this.type = \"MeshPhysicalMaterial\";\n    this.anisotropyRotation = 0;\n    this.anisotropyMap = null;\n    this.clearcoatMap = null;\n    this.clearcoatRoughness = 0;\n    this.clearcoatRoughnessMap = null;\n    this.clearcoatNormalScale = new Vector2(1, 1);\n    this.clearcoatNormalMap = null;\n    this.ior = 1.5;\n    Object.defineProperty(this, \"reflectivity\", {\n      get: function() {\n        return clamp(2.5 * (this.ior - 1) / (this.ior + 1), 0, 1);\n      },\n      set: function(reflectivity) {\n        this.ior = (1 + 0.4 * reflectivity) / (1 - 0.4 * reflectivity);\n      }\n    });\n    this.iridescenceMap = null;\n    this.iridescenceIOR = 1.3;\n    this.iridescenceThicknessRange = [100, 400];\n    this.iridescenceThicknessMap = null;\n    this.sheenColor = new Color(0);\n    this.sheenColorMap = null;\n    this.sheenRoughness = 1;\n    this.sheenRoughnessMap = null;\n    this.transmissionMap = null;\n    this.thickness = 0;\n    this.thicknessMap = null;\n    this.attenuationDistance = Infinity;\n    this.attenuationColor = new Color(1, 1, 1);\n    this.specularIntensity = 1;\n    this.specularIntensityMap = null;\n    this.specularColor = new Color(1, 1, 1);\n    this.specularColorMap = null;\n    this._anisotropy = 0;\n    this._clearcoat = 0;\n    this._dispersion = 0;\n    this._iridescence = 0;\n    this._sheen = 0;\n    this._transmission = 0;\n    this.setValues(parameters);\n  }\n  get anisotropy() {\n    return this._anisotropy;\n  }\n  set anisotropy(value) {\n    if (this._anisotropy > 0 !== value > 0) {\n      this.version++;\n    }\n    this._anisotropy = value;\n  }\n  get clearcoat() {\n    return this._clearcoat;\n  }\n  set clearcoat(value) {\n    if (this._clearcoat > 0 !== value > 0) {\n      this.version++;\n    }\n    this._clearcoat = value;\n  }\n  get iridescence() {\n    return this._iridescence;\n  }\n  set iridescence(value) {\n    if (this._iridescence > 0 !== value > 0) {\n      this.version++;\n    }\n    this._iridescence = value;\n  }\n  get dispersion() {\n    return this._dispersion;\n  }\n  set dispersion(value) {\n    if (this._dispersion > 0 !== value > 0) {\n      this.version++;\n    }\n    this._dispersion = value;\n  }\n  get sheen() {\n    return this._sheen;\n  }\n  set sheen(value) {\n    if (this._sheen > 0 !== value > 0) {\n      this.version++;\n    }\n    this._sheen = value;\n  }\n  get transmission() {\n    return this._transmission;\n  }\n  set transmission(value) {\n    if (this._transmission > 0 !== value > 0) {\n      this.version++;\n    }\n    this._transmission = value;\n  }\n  copy(source) {\n    super.copy(source);\n    this.defines = {\n      \"STANDARD\": \"\",\n      \"PHYSICAL\": \"\"\n    };\n    this.anisotropy = source.anisotropy;\n    this.anisotropyRotation = source.anisotropyRotation;\n    this.anisotropyMap = source.anisotropyMap;\n    this.clearcoat = source.clearcoat;\n    this.clearcoatMap = source.clearcoatMap;\n    this.clearcoatRoughness = source.clearcoatRoughness;\n    this.clearcoatRoughnessMap = source.clearcoatRoughnessMap;\n    this.clearcoatNormalMap = source.clearcoatNormalMap;\n    this.clearcoatNormalScale.copy(source.clearcoatNormalScale);\n    this.dispersion = source.dispersion;\n    this.ior = source.ior;\n    this.iridescence = source.iridescence;\n    this.iridescenceMap = source.iridescenceMap;\n    this.iridescenceIOR = source.iridescenceIOR;\n    this.iridescenceThicknessRange = [...source.iridescenceThicknessRange];\n    this.iridescenceThicknessMap = source.iridescenceThicknessMap;\n    this.sheen = source.sheen;\n    this.sheenColor.copy(source.sheenColor);\n    this.sheenColorMap = source.sheenColorMap;\n    this.sheenRoughness = source.sheenRoughness;\n    this.sheenRoughnessMap = source.sheenRoughnessMap;\n    this.transmission = source.transmission;\n    this.transmissionMap = source.transmissionMap;\n    this.thickness = source.thickness;\n    this.thicknessMap = source.thicknessMap;\n    this.attenuationDistance = source.attenuationDistance;\n    this.attenuationColor.copy(source.attenuationColor);\n    this.specularIntensity = source.specularIntensity;\n    this.specularIntensityMap = source.specularIntensityMap;\n    this.specularColor.copy(source.specularColor);\n    this.specularColorMap = source.specularColorMap;\n    return this;\n  }\n};\nvar MeshPhongMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshPhongMaterial = true;\n    this.type = \"MeshPhongMaterial\";\n    this.color = new Color(16777215);\n    this.specular = new Color(1118481);\n    this.shininess = 30;\n    this.map = null;\n    this.lightMap = null;\n    this.lightMapIntensity = 1;\n    this.aoMap = null;\n    this.aoMapIntensity = 1;\n    this.emissive = new Color(0);\n    this.emissiveIntensity = 1;\n    this.emissiveMap = null;\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.specularMap = null;\n    this.alphaMap = null;\n    this.envMap = null;\n    this.envMapRotation = new Euler();\n    this.combine = MultiplyOperation;\n    this.reflectivity = 1;\n    this.refractionRatio = 0.98;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.wireframeLinecap = \"round\";\n    this.wireframeLinejoin = \"round\";\n    this.flatShading = false;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.specular.copy(source.specular);\n    this.shininess = source.shininess;\n    this.map = source.map;\n    this.lightMap = source.lightMap;\n    this.lightMapIntensity = source.lightMapIntensity;\n    this.aoMap = source.aoMap;\n    this.aoMapIntensity = source.aoMapIntensity;\n    this.emissive.copy(source.emissive);\n    this.emissiveMap = source.emissiveMap;\n    this.emissiveIntensity = source.emissiveIntensity;\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.specularMap = source.specularMap;\n    this.alphaMap = source.alphaMap;\n    this.envMap = source.envMap;\n    this.envMapRotation.copy(source.envMapRotation);\n    this.combine = source.combine;\n    this.reflectivity = source.reflectivity;\n    this.refractionRatio = source.refractionRatio;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.wireframeLinecap = source.wireframeLinecap;\n    this.wireframeLinejoin = source.wireframeLinejoin;\n    this.flatShading = source.flatShading;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar MeshToonMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshToonMaterial = true;\n    this.defines = { \"TOON\": \"\" };\n    this.type = \"MeshToonMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.gradientMap = null;\n    this.lightMap = null;\n    this.lightMapIntensity = 1;\n    this.aoMap = null;\n    this.aoMapIntensity = 1;\n    this.emissive = new Color(0);\n    this.emissiveIntensity = 1;\n    this.emissiveMap = null;\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.alphaMap = null;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.wireframeLinecap = \"round\";\n    this.wireframeLinejoin = \"round\";\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.gradientMap = source.gradientMap;\n    this.lightMap = source.lightMap;\n    this.lightMapIntensity = source.lightMapIntensity;\n    this.aoMap = source.aoMap;\n    this.aoMapIntensity = source.aoMapIntensity;\n    this.emissive.copy(source.emissive);\n    this.emissiveMap = source.emissiveMap;\n    this.emissiveIntensity = source.emissiveIntensity;\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.alphaMap = source.alphaMap;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.wireframeLinecap = source.wireframeLinecap;\n    this.wireframeLinejoin = source.wireframeLinejoin;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar MeshNormalMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshNormalMaterial = true;\n    this.type = \"MeshNormalMaterial\";\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.flatShading = false;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.flatShading = source.flatShading;\n    return this;\n  }\n};\nvar MeshLambertMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshLambertMaterial = true;\n    this.type = \"MeshLambertMaterial\";\n    this.color = new Color(16777215);\n    this.map = null;\n    this.lightMap = null;\n    this.lightMapIntensity = 1;\n    this.aoMap = null;\n    this.aoMapIntensity = 1;\n    this.emissive = new Color(0);\n    this.emissiveIntensity = 1;\n    this.emissiveMap = null;\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.specularMap = null;\n    this.alphaMap = null;\n    this.envMap = null;\n    this.envMapRotation = new Euler();\n    this.combine = MultiplyOperation;\n    this.reflectivity = 1;\n    this.refractionRatio = 0.98;\n    this.wireframe = false;\n    this.wireframeLinewidth = 1;\n    this.wireframeLinecap = \"round\";\n    this.wireframeLinejoin = \"round\";\n    this.flatShading = false;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.color.copy(source.color);\n    this.map = source.map;\n    this.lightMap = source.lightMap;\n    this.lightMapIntensity = source.lightMapIntensity;\n    this.aoMap = source.aoMap;\n    this.aoMapIntensity = source.aoMapIntensity;\n    this.emissive.copy(source.emissive);\n    this.emissiveMap = source.emissiveMap;\n    this.emissiveIntensity = source.emissiveIntensity;\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.specularMap = source.specularMap;\n    this.alphaMap = source.alphaMap;\n    this.envMap = source.envMap;\n    this.envMapRotation.copy(source.envMapRotation);\n    this.combine = source.combine;\n    this.reflectivity = source.reflectivity;\n    this.refractionRatio = source.refractionRatio;\n    this.wireframe = source.wireframe;\n    this.wireframeLinewidth = source.wireframeLinewidth;\n    this.wireframeLinecap = source.wireframeLinecap;\n    this.wireframeLinejoin = source.wireframeLinejoin;\n    this.flatShading = source.flatShading;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar MeshMatcapMaterial = class extends Material {\n  constructor(parameters) {\n    super();\n    this.isMeshMatcapMaterial = true;\n    this.defines = { \"MATCAP\": \"\" };\n    this.type = \"MeshMatcapMaterial\";\n    this.color = new Color(16777215);\n    this.matcap = null;\n    this.map = null;\n    this.bumpMap = null;\n    this.bumpScale = 1;\n    this.normalMap = null;\n    this.normalMapType = TangentSpaceNormalMap;\n    this.normalScale = new Vector2(1, 1);\n    this.displacementMap = null;\n    this.displacementScale = 1;\n    this.displacementBias = 0;\n    this.alphaMap = null;\n    this.flatShading = false;\n    this.fog = true;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.defines = { \"MATCAP\": \"\" };\n    this.color.copy(source.color);\n    this.matcap = source.matcap;\n    this.map = source.map;\n    this.bumpMap = source.bumpMap;\n    this.bumpScale = source.bumpScale;\n    this.normalMap = source.normalMap;\n    this.normalMapType = source.normalMapType;\n    this.normalScale.copy(source.normalScale);\n    this.displacementMap = source.displacementMap;\n    this.displacementScale = source.displacementScale;\n    this.displacementBias = source.displacementBias;\n    this.alphaMap = source.alphaMap;\n    this.flatShading = source.flatShading;\n    this.fog = source.fog;\n    return this;\n  }\n};\nvar LineDashedMaterial = class extends LineBasicMaterial {\n  constructor(parameters) {\n    super();\n    this.isLineDashedMaterial = true;\n    this.type = \"LineDashedMaterial\";\n    this.scale = 1;\n    this.dashSize = 3;\n    this.gapSize = 1;\n    this.setValues(parameters);\n  }\n  copy(source) {\n    super.copy(source);\n    this.scale = source.scale;\n    this.dashSize = source.dashSize;\n    this.gapSize = source.gapSize;\n    return this;\n  }\n};\nfunction convertArray(array, type, forceClone) {\n  if (!array || // let 'undefined' and 'null' pass\n  !forceClone && array.constructor === type) return array;\n  if (typeof type.BYTES_PER_ELEMENT === \"number\") {\n    return new type(array);\n  }\n  return Array.prototype.slice.call(array);\n}\nfunction isTypedArray(object) {\n  return ArrayBuffer.isView(object) && !(object instanceof DataView);\n}\nfunction getKeyframeOrder(times) {\n  function compareTime(i, j) {\n    return times[i] - times[j];\n  }\n  const n = times.length;\n  const result = new Array(n);\n  for (let i = 0; i !== n; ++i) result[i] = i;\n  result.sort(compareTime);\n  return result;\n}\nfunction sortedArray(values, stride, order) {\n  const nValues = values.length;\n  const result = new values.constructor(nValues);\n  for (let i = 0, dstOffset = 0; dstOffset !== nValues; ++i) {\n    const srcOffset = order[i] * stride;\n    for (let j = 0; j !== stride; ++j) {\n      result[dstOffset++] = values[srcOffset + j];\n    }\n  }\n  return result;\n}\nfunction flattenJSON(jsonKeys, times, values, valuePropertyName) {\n  let i = 1, key = jsonKeys[0];\n  while (key !== void 0 && key[valuePropertyName] === void 0) {\n    key = jsonKeys[i++];\n  }\n  if (key === void 0) return;\n  let value = key[valuePropertyName];\n  if (value === void 0) return;\n  if (Array.isArray(value)) {\n    do {\n      value = key[valuePropertyName];\n      if (value !== void 0) {\n        times.push(key.time);\n        values.push.apply(values, value);\n      }\n      key = jsonKeys[i++];\n    } while (key !== void 0);\n  } else if (value.toArray !== void 0) {\n    do {\n      value = key[valuePropertyName];\n      if (value !== void 0) {\n        times.push(key.time);\n        value.toArray(values, values.length);\n      }\n      key = jsonKeys[i++];\n    } while (key !== void 0);\n  } else {\n    do {\n      value = key[valuePropertyName];\n      if (value !== void 0) {\n        times.push(key.time);\n        values.push(value);\n      }\n      key = jsonKeys[i++];\n    } while (key !== void 0);\n  }\n}\nfunction subclip(sourceClip, name, startFrame, endFrame, fps = 30) {\n  const clip = sourceClip.clone();\n  clip.name = name;\n  const tracks = [];\n  for (let i = 0; i < clip.tracks.length; ++i) {\n    const track = clip.tracks[i];\n    const valueSize = track.getValueSize();\n    const times = [];\n    const values = [];\n    for (let j = 0; j < track.times.length; ++j) {\n      const frame = track.times[j] * fps;\n      if (frame < startFrame || frame >= endFrame) continue;\n      times.push(track.times[j]);\n      for (let k = 0; k < valueSize; ++k) {\n        values.push(track.values[j * valueSize + k]);\n      }\n    }\n    if (times.length === 0) continue;\n    track.times = convertArray(times, track.times.constructor);\n    track.values = convertArray(values, track.values.constructor);\n    tracks.push(track);\n  }\n  clip.tracks = tracks;\n  let minStartTime = Infinity;\n  for (let i = 0; i < clip.tracks.length; ++i) {\n    if (minStartTime > clip.tracks[i].times[0]) {\n      minStartTime = clip.tracks[i].times[0];\n    }\n  }\n  for (let i = 0; i < clip.tracks.length; ++i) {\n    clip.tracks[i].shift(-1 * minStartTime);\n  }\n  clip.resetDuration();\n  return clip;\n}\nfunction makeClipAdditive(targetClip, referenceFrame = 0, referenceClip = targetClip, fps = 30) {\n  if (fps <= 0) fps = 30;\n  const numTracks = referenceClip.tracks.length;\n  const referenceTime = referenceFrame / fps;\n  for (let i = 0; i < numTracks; ++i) {\n    const referenceTrack = referenceClip.tracks[i];\n    const referenceTrackType = referenceTrack.ValueTypeName;\n    if (referenceTrackType === \"bool\" || referenceTrackType === \"string\") continue;\n    const targetTrack = targetClip.tracks.find(function(track) {\n      return track.name === referenceTrack.name && track.ValueTypeName === referenceTrackType;\n    });\n    if (targetTrack === void 0) continue;\n    let referenceOffset = 0;\n    const referenceValueSize = referenceTrack.getValueSize();\n    if (referenceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) {\n      referenceOffset = referenceValueSize / 3;\n    }\n    let targetOffset = 0;\n    const targetValueSize = targetTrack.getValueSize();\n    if (targetTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) {\n      targetOffset = targetValueSize / 3;\n    }\n    const lastIndex = referenceTrack.times.length - 1;\n    let referenceValue;\n    if (referenceTime <= referenceTrack.times[0]) {\n      const startIndex = referenceOffset;\n      const endIndex = referenceValueSize - referenceOffset;\n      referenceValue = referenceTrack.values.slice(startIndex, endIndex);\n    } else if (referenceTime >= referenceTrack.times[lastIndex]) {\n      const startIndex = lastIndex * referenceValueSize + referenceOffset;\n      const endIndex = startIndex + referenceValueSize - referenceOffset;\n      referenceValue = referenceTrack.values.slice(startIndex, endIndex);\n    } else {\n      const interpolant = referenceTrack.createInterpolant();\n      const startIndex = referenceOffset;\n      const endIndex = referenceValueSize - referenceOffset;\n      interpolant.evaluate(referenceTime);\n      referenceValue = interpolant.resultBuffer.slice(startIndex, endIndex);\n    }\n    if (referenceTrackType === \"quaternion\") {\n      const referenceQuat = new Quaternion().fromArray(referenceValue).normalize().conjugate();\n      referenceQuat.toArray(referenceValue);\n    }\n    const numTimes = targetTrack.times.length;\n    for (let j = 0; j < numTimes; ++j) {\n      const valueStart = j * targetValueSize + targetOffset;\n      if (referenceTrackType === \"quaternion\") {\n        Quaternion.multiplyQuaternionsFlat(\n          targetTrack.values,\n          valueStart,\n          referenceValue,\n          0,\n          targetTrack.values,\n          valueStart\n        );\n      } else {\n        const valueEnd = targetValueSize - targetOffset * 2;\n        for (let k = 0; k < valueEnd; ++k) {\n          targetTrack.values[valueStart + k] -= referenceValue[k];\n        }\n      }\n    }\n  }\n  targetClip.blendMode = AdditiveAnimationBlendMode;\n  return targetClip;\n}\nvar AnimationUtils = {\n  convertArray,\n  isTypedArray,\n  getKeyframeOrder,\n  sortedArray,\n  flattenJSON,\n  subclip,\n  makeClipAdditive\n};\nvar Interpolant = class {\n  constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n    this.parameterPositions = parameterPositions;\n    this._cachedIndex = 0;\n    this.resultBuffer = resultBuffer !== void 0 ? resultBuffer : new sampleValues.constructor(sampleSize);\n    this.sampleValues = sampleValues;\n    this.valueSize = sampleSize;\n    this.settings = null;\n    this.DefaultSettings_ = {};\n  }\n  evaluate(t) {\n    const pp = this.parameterPositions;\n    let i1 = this._cachedIndex, t1 = pp[i1], t0 = pp[i1 - 1];\n    validate_interval: {\n      seek: {\n        let right;\n        linear_scan: {\n          forward_scan: if (!(t < t1)) {\n            for (let giveUpAt = i1 + 2; ; ) {\n              if (t1 === void 0) {\n                if (t < t0) break forward_scan;\n                i1 = pp.length;\n                this._cachedIndex = i1;\n                return this.copySampleValue_(i1 - 1);\n              }\n              if (i1 === giveUpAt) break;\n              t0 = t1;\n              t1 = pp[++i1];\n              if (t < t1) {\n                break seek;\n              }\n            }\n            right = pp.length;\n            break linear_scan;\n          }\n          if (!(t >= t0)) {\n            const t1global = pp[1];\n            if (t < t1global) {\n              i1 = 2;\n              t0 = t1global;\n            }\n            for (let giveUpAt = i1 - 2; ; ) {\n              if (t0 === void 0) {\n                this._cachedIndex = 0;\n                return this.copySampleValue_(0);\n              }\n              if (i1 === giveUpAt) break;\n              t1 = t0;\n              t0 = pp[--i1 - 1];\n              if (t >= t0) {\n                break seek;\n              }\n            }\n            right = i1;\n            i1 = 0;\n            break linear_scan;\n          }\n          break validate_interval;\n        }\n        while (i1 < right) {\n          const mid = i1 + right >>> 1;\n          if (t < pp[mid]) {\n            right = mid;\n          } else {\n            i1 = mid + 1;\n          }\n        }\n        t1 = pp[i1];\n        t0 = pp[i1 - 1];\n        if (t0 === void 0) {\n          this._cachedIndex = 0;\n          return this.copySampleValue_(0);\n        }\n        if (t1 === void 0) {\n          i1 = pp.length;\n          this._cachedIndex = i1;\n          return this.copySampleValue_(i1 - 1);\n        }\n      }\n      this._cachedIndex = i1;\n      this.intervalChanged_(i1, t0, t1);\n    }\n    return this.interpolate_(i1, t0, t, t1);\n  }\n  getSettings_() {\n    return this.settings || this.DefaultSettings_;\n  }\n  copySampleValue_(index) {\n    const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset = index * stride;\n    for (let i = 0; i !== stride; ++i) {\n      result[i] = values[offset + i];\n    }\n    return result;\n  }\n  // Template methods for derived classes:\n  interpolate_() {\n    throw new Error(\"call to abstract method\");\n  }\n  intervalChanged_() {\n  }\n};\nvar CubicInterpolant = class extends Interpolant {\n  constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n    super(parameterPositions, sampleValues, sampleSize, resultBuffer);\n    this._weightPrev = -0;\n    this._offsetPrev = -0;\n    this._weightNext = -0;\n    this._offsetNext = -0;\n    this.DefaultSettings_ = {\n      endingStart: ZeroCurvatureEnding,\n      endingEnd: ZeroCurvatureEnding\n    };\n  }\n  intervalChanged_(i1, t0, t1) {\n    const pp = this.parameterPositions;\n    let iPrev = i1 - 2, iNext = i1 + 1, tPrev = pp[iPrev], tNext = pp[iNext];\n    if (tPrev === void 0) {\n      switch (this.getSettings_().endingStart) {\n        case ZeroSlopeEnding:\n          iPrev = i1;\n          tPrev = 2 * t0 - t1;\n          break;\n        case WrapAroundEnding:\n          iPrev = pp.length - 2;\n          tPrev = t0 + pp[iPrev] - pp[iPrev + 1];\n          break;\n        default:\n          iPrev = i1;\n          tPrev = t1;\n      }\n    }\n    if (tNext === void 0) {\n      switch (this.getSettings_().endingEnd) {\n        case ZeroSlopeEnding:\n          iNext = i1;\n          tNext = 2 * t1 - t0;\n          break;\n        case WrapAroundEnding:\n          iNext = 1;\n          tNext = t1 + pp[1] - pp[0];\n          break;\n        default:\n          iNext = i1 - 1;\n          tNext = t0;\n      }\n    }\n    const halfDt = (t1 - t0) * 0.5, stride = this.valueSize;\n    this._weightPrev = halfDt / (t0 - tPrev);\n    this._weightNext = halfDt / (tNext - t1);\n    this._offsetPrev = iPrev * stride;\n    this._offsetNext = iNext * stride;\n  }\n  interpolate_(i1, t0, t, t1) {\n    const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, o1 = i1 * stride, o0 = o1 - stride, oP = this._offsetPrev, oN = this._offsetNext, wP = this._weightPrev, wN = this._weightNext, p = (t - t0) / (t1 - t0), pp = p * p, ppp = pp * p;\n    const sP = -wP * ppp + 2 * wP * pp - wP * p;\n    const s0 = (1 + wP) * ppp + (-1.5 - 2 * wP) * pp + (-0.5 + wP) * p + 1;\n    const s1 = (-1 - wN) * ppp + (1.5 + wN) * pp + 0.5 * p;\n    const sN = wN * ppp - wN * pp;\n    for (let i = 0; i !== stride; ++i) {\n      result[i] = sP * values[oP + i] + s0 * values[o0 + i] + s1 * values[o1 + i] + sN * values[oN + i];\n    }\n    return result;\n  }\n};\nvar LinearInterpolant = class extends Interpolant {\n  constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n    super(parameterPositions, sampleValues, sampleSize, resultBuffer);\n  }\n  interpolate_(i1, t0, t, t1) {\n    const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset1 = i1 * stride, offset0 = offset1 - stride, weight1 = (t - t0) / (t1 - t0), weight0 = 1 - weight1;\n    for (let i = 0; i !== stride; ++i) {\n      result[i] = values[offset0 + i] * weight0 + values[offset1 + i] * weight1;\n    }\n    return result;\n  }\n};\nvar DiscreteInterpolant = class extends Interpolant {\n  constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n    super(parameterPositions, sampleValues, sampleSize, resultBuffer);\n  }\n  interpolate_(i1) {\n    return this.copySampleValue_(i1 - 1);\n  }\n};\nvar KeyframeTrack = class {\n  constructor(name, times, values, interpolation) {\n    if (name === void 0) throw new Error(\"THREE.KeyframeTrack: track name is undefined\");\n    if (times === void 0 || times.length === 0) throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \" + name);\n    this.name = name;\n    this.times = convertArray(times, this.TimeBufferType);\n    this.values = convertArray(values, this.ValueBufferType);\n    this.setInterpolation(interpolation || this.DefaultInterpolation);\n  }\n  // Serialization (in static context, because of constructor invocation\n  // and automatic invocation of .toJSON):\n  static toJSON(track) {\n    const trackType = track.constructor;\n    let json;\n    if (trackType.toJSON !== this.toJSON) {\n      json = trackType.toJSON(track);\n    } else {\n      json = {\n        \"name\": track.name,\n        \"times\": convertArray(track.times, Array),\n        \"values\": convertArray(track.values, Array)\n      };\n      const interpolation = track.getInterpolation();\n      if (interpolation !== track.DefaultInterpolation) {\n        json.interpolation = interpolation;\n      }\n    }\n    json.type = track.ValueTypeName;\n    return json;\n  }\n  InterpolantFactoryMethodDiscrete(result) {\n    return new DiscreteInterpolant(this.times, this.values, this.getValueSize(), result);\n  }\n  InterpolantFactoryMethodLinear(result) {\n    return new LinearInterpolant(this.times, this.values, this.getValueSize(), result);\n  }\n  InterpolantFactoryMethodSmooth(result) {\n    return new CubicInterpolant(this.times, this.values, this.getValueSize(), result);\n  }\n  setInterpolation(interpolation) {\n    let factoryMethod;\n    switch (interpolation) {\n      case InterpolateDiscrete:\n        factoryMethod = this.InterpolantFactoryMethodDiscrete;\n        break;\n      case InterpolateLinear:\n        factoryMethod = this.InterpolantFactoryMethodLinear;\n        break;\n      case InterpolateSmooth:\n        factoryMethod = this.InterpolantFactoryMethodSmooth;\n        break;\n    }\n    if (factoryMethod === void 0) {\n      const message = \"unsupported interpolation for \" + this.ValueTypeName + \" keyframe track named \" + this.name;\n      if (this.createInterpolant === void 0) {\n        if (interpolation !== this.DefaultInterpolation) {\n          this.setInterpolation(this.DefaultInterpolation);\n        } else {\n          throw new Error(message);\n        }\n      }\n      console.warn(\"THREE.KeyframeTrack:\", message);\n      return this;\n    }\n    this.createInterpolant = factoryMethod;\n    return this;\n  }\n  getInterpolation() {\n    switch (this.createInterpolant) {\n      case this.InterpolantFactoryMethodDiscrete:\n        return InterpolateDiscrete;\n      case this.InterpolantFactoryMethodLinear:\n        return InterpolateLinear;\n      case this.InterpolantFactoryMethodSmooth:\n        return InterpolateSmooth;\n    }\n  }\n  getValueSize() {\n    return this.values.length / this.times.length;\n  }\n  // move all keyframes either forwards or backwards in time\n  shift(timeOffset) {\n    if (timeOffset !== 0) {\n      const times = this.times;\n      for (let i = 0, n = times.length; i !== n; ++i) {\n        times[i] += timeOffset;\n      }\n    }\n    return this;\n  }\n  // scale all keyframe times by a factor (useful for frame <-> seconds conversions)\n  scale(timeScale) {\n    if (timeScale !== 1) {\n      const times = this.times;\n      for (let i = 0, n = times.length; i !== n; ++i) {\n        times[i] *= timeScale;\n      }\n    }\n    return this;\n  }\n  // removes keyframes before and after animation without changing any values within the range [startTime, endTime].\n  // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values\n  trim(startTime, endTime) {\n    const times = this.times, nKeys = times.length;\n    let from = 0, to = nKeys - 1;\n    while (from !== nKeys && times[from] < startTime) {\n      ++from;\n    }\n    while (to !== -1 && times[to] > endTime) {\n      --to;\n    }\n    ++to;\n    if (from !== 0 || to !== nKeys) {\n      if (from >= to) {\n        to = Math.max(to, 1);\n        from = to - 1;\n      }\n      const stride = this.getValueSize();\n      this.times = times.slice(from, to);\n      this.values = this.values.slice(from * stride, to * stride);\n    }\n    return this;\n  }\n  // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable\n  validate() {\n    let valid = true;\n    const valueSize = this.getValueSize();\n    if (valueSize - Math.floor(valueSize) !== 0) {\n      console.error(\"THREE.KeyframeTrack: Invalid value size in track.\", this);\n      valid = false;\n    }\n    const times = this.times, values = this.values, nKeys = times.length;\n    if (nKeys === 0) {\n      console.error(\"THREE.KeyframeTrack: Track is empty.\", this);\n      valid = false;\n    }\n    let prevTime = null;\n    for (let i = 0; i !== nKeys; i++) {\n      const currTime = times[i];\n      if (typeof currTime === \"number\" && isNaN(currTime)) {\n        console.error(\"THREE.KeyframeTrack: Time is not a valid number.\", this, i, currTime);\n        valid = false;\n        break;\n      }\n      if (prevTime !== null && prevTime > currTime) {\n        console.error(\"THREE.KeyframeTrack: Out of order keys.\", this, i, currTime, prevTime);\n        valid = false;\n        break;\n      }\n      prevTime = currTime;\n    }\n    if (values !== void 0) {\n      if (isTypedArray(values)) {\n        for (let i = 0, n = values.length; i !== n; ++i) {\n          const value = values[i];\n          if (isNaN(value)) {\n            console.error(\"THREE.KeyframeTrack: Value is not a valid number.\", this, i, value);\n            valid = false;\n            break;\n          }\n        }\n      }\n    }\n    return valid;\n  }\n  // removes equivalent sequential keys as common in morph target sequences\n  // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0)\n  optimize() {\n    const times = this.times.slice(), values = this.values.slice(), stride = this.getValueSize(), smoothInterpolation = this.getInterpolation() === InterpolateSmooth, lastIndex = times.length - 1;\n    let writeIndex = 1;\n    for (let i = 1; i < lastIndex; ++i) {\n      let keep = false;\n      const time = times[i];\n      const timeNext = times[i + 1];\n      if (time !== timeNext && (i !== 1 || time !== times[0])) {\n        if (!smoothInterpolation) {\n          const offset = i * stride, offsetP = offset - stride, offsetN = offset + stride;\n          for (let j = 0; j !== stride; ++j) {\n            const value = values[offset + j];\n            if (value !== values[offsetP + j] || value !== values[offsetN + j]) {\n              keep = true;\n              break;\n            }\n          }\n        } else {\n          keep = true;\n        }\n      }\n      if (keep) {\n        if (i !== writeIndex) {\n          times[writeIndex] = times[i];\n          const readOffset = i * stride, writeOffset = writeIndex * stride;\n          for (let j = 0; j !== stride; ++j) {\n            values[writeOffset + j] = values[readOffset + j];\n          }\n        }\n        ++writeIndex;\n      }\n    }\n    if (lastIndex > 0) {\n      times[writeIndex] = times[lastIndex];\n      for (let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++j) {\n        values[writeOffset + j] = values[readOffset + j];\n      }\n      ++writeIndex;\n    }\n    if (writeIndex !== times.length) {\n      this.times = times.slice(0, writeIndex);\n      this.values = values.slice(0, writeIndex * stride);\n    } else {\n      this.times = times;\n      this.values = values;\n    }\n    return this;\n  }\n  clone() {\n    const times = this.times.slice();\n    const values = this.values.slice();\n    const TypedKeyframeTrack = this.constructor;\n    const track = new TypedKeyframeTrack(this.name, times, values);\n    track.createInterpolant = this.createInterpolant;\n    return track;\n  }\n};\nKeyframeTrack.prototype.TimeBufferType = Float32Array;\nKeyframeTrack.prototype.ValueBufferType = Float32Array;\nKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear;\nvar BooleanKeyframeTrack = class extends KeyframeTrack {\n  // No interpolation parameter because only InterpolateDiscrete is valid.\n  constructor(name, times, values) {\n    super(name, times, values);\n  }\n};\nBooleanKeyframeTrack.prototype.ValueTypeName = \"bool\";\nBooleanKeyframeTrack.prototype.ValueBufferType = Array;\nBooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete;\nBooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0;\nBooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0;\nvar ColorKeyframeTrack = class extends KeyframeTrack {\n};\nColorKeyframeTrack.prototype.ValueTypeName = \"color\";\nvar NumberKeyframeTrack = class extends KeyframeTrack {\n};\nNumberKeyframeTrack.prototype.ValueTypeName = \"number\";\nvar QuaternionLinearInterpolant = class extends Interpolant {\n  constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) {\n    super(parameterPositions, sampleValues, sampleSize, resultBuffer);\n  }\n  interpolate_(i1, t0, t, t1) {\n    const result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, alpha = (t - t0) / (t1 - t0);\n    let offset = i1 * stride;\n    for (let end = offset + stride; offset !== end; offset += 4) {\n      Quaternion.slerpFlat(result, 0, values, offset - stride, values, offset, alpha);\n    }\n    return result;\n  }\n};\nvar QuaternionKeyframeTrack = class extends KeyframeTrack {\n  InterpolantFactoryMethodLinear(result) {\n    return new QuaternionLinearInterpolant(this.times, this.values, this.getValueSize(), result);\n  }\n};\nQuaternionKeyframeTrack.prototype.ValueTypeName = \"quaternion\";\nQuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0;\nvar StringKeyframeTrack = class extends KeyframeTrack {\n  // No interpolation parameter because only InterpolateDiscrete is valid.\n  constructor(name, times, values) {\n    super(name, times, values);\n  }\n};\nStringKeyframeTrack.prototype.ValueTypeName = \"string\";\nStringKeyframeTrack.prototype.ValueBufferType = Array;\nStringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete;\nStringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = void 0;\nStringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = void 0;\nvar VectorKeyframeTrack = class extends KeyframeTrack {\n};\nVectorKeyframeTrack.prototype.ValueTypeName = \"vector\";\nvar AnimationClip = class {\n  constructor(name = \"\", duration = -1, tracks = [], blendMode = NormalAnimationBlendMode) {\n    this.name = name;\n    this.tracks = tracks;\n    this.duration = duration;\n    this.blendMode = blendMode;\n    this.uuid = generateUUID();\n    if (this.duration < 0) {\n      this.resetDuration();\n    }\n  }\n  static parse(json) {\n    const tracks = [], jsonTracks = json.tracks, frameTime = 1 / (json.fps || 1);\n    for (let i = 0, n = jsonTracks.length; i !== n; ++i) {\n      tracks.push(parseKeyframeTrack(jsonTracks[i]).scale(frameTime));\n    }\n    const clip = new this(json.name, json.duration, tracks, json.blendMode);\n    clip.uuid = json.uuid;\n    return clip;\n  }\n  static toJSON(clip) {\n    const tracks = [], clipTracks = clip.tracks;\n    const json = {\n      \"name\": clip.name,\n      \"duration\": clip.duration,\n      \"tracks\": tracks,\n      \"uuid\": clip.uuid,\n      \"blendMode\": clip.blendMode\n    };\n    for (let i = 0, n = clipTracks.length; i !== n; ++i) {\n      tracks.push(KeyframeTrack.toJSON(clipTracks[i]));\n    }\n    return json;\n  }\n  static CreateFromMorphTargetSequence(name, morphTargetSequence, fps, noLoop) {\n    const numMorphTargets = morphTargetSequence.length;\n    const tracks = [];\n    for (let i = 0; i < numMorphTargets; i++) {\n      let times = [];\n      let values = [];\n      times.push(\n        (i + numMorphTargets - 1) % numMorphTargets,\n        i,\n        (i + 1) % numMorphTargets\n      );\n      values.push(0, 1, 0);\n      const order = getKeyframeOrder(times);\n      times = sortedArray(times, 1, order);\n      values = sortedArray(values, 1, order);\n      if (!noLoop && times[0] === 0) {\n        times.push(numMorphTargets);\n        values.push(values[0]);\n      }\n      tracks.push(\n        new NumberKeyframeTrack(\n          \".morphTargetInfluences[\" + morphTargetSequence[i].name + \"]\",\n          times,\n          values\n        ).scale(1 / fps)\n      );\n    }\n    return new this(name, -1, tracks);\n  }\n  static findByName(objectOrClipArray, name) {\n    let clipArray = objectOrClipArray;\n    if (!Array.isArray(objectOrClipArray)) {\n      const o = objectOrClipArray;\n      clipArray = o.geometry && o.geometry.animations || o.animations;\n    }\n    for (let i = 0; i < clipArray.length; i++) {\n      if (clipArray[i].name === name) {\n        return clipArray[i];\n      }\n    }\n    return null;\n  }\n  static CreateClipsFromMorphTargetSequences(morphTargets, fps, noLoop) {\n    const animationToMorphTargets = {};\n    const pattern = /^([\\w-]*?)([\\d]+)$/;\n    for (let i = 0, il = morphTargets.length; i < il; i++) {\n      const morphTarget = morphTargets[i];\n      const parts = morphTarget.name.match(pattern);\n      if (parts && parts.length > 1) {\n        const name = parts[1];\n        let animationMorphTargets = animationToMorphTargets[name];\n        if (!animationMorphTargets) {\n          animationToMorphTargets[name] = animationMorphTargets = [];\n        }\n        animationMorphTargets.push(morphTarget);\n      }\n    }\n    const clips = [];\n    for (const name in animationToMorphTargets) {\n      clips.push(this.CreateFromMorphTargetSequence(name, animationToMorphTargets[name], fps, noLoop));\n    }\n    return clips;\n  }\n  // parse the animation.hierarchy format\n  static parseAnimation(animation, bones) {\n    if (!animation) {\n      console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\");\n      return null;\n    }\n    const addNonemptyTrack = function(trackType, trackName, animationKeys, propertyName, destTracks) {\n      if (animationKeys.length !== 0) {\n        const times = [];\n        const values = [];\n        flattenJSON(animationKeys, times, values, propertyName);\n        if (times.length !== 0) {\n          destTracks.push(new trackType(trackName, times, values));\n        }\n      }\n    };\n    const tracks = [];\n    const clipName = animation.name || \"default\";\n    const fps = animation.fps || 30;\n    const blendMode = animation.blendMode;\n    let duration = animation.length || -1;\n    const hierarchyTracks = animation.hierarchy || [];\n    for (let h = 0; h < hierarchyTracks.length; h++) {\n      const animationKeys = hierarchyTracks[h].keys;\n      if (!animationKeys || animationKeys.length === 0) continue;\n      if (animationKeys[0].morphTargets) {\n        const morphTargetNames = {};\n        let k;\n        for (k = 0; k < animationKeys.length; k++) {\n          if (animationKeys[k].morphTargets) {\n            for (let m = 0; m < animationKeys[k].morphTargets.length; m++) {\n              morphTargetNames[animationKeys[k].morphTargets[m]] = -1;\n            }\n          }\n        }\n        for (const morphTargetName in morphTargetNames) {\n          const times = [];\n          const values = [];\n          for (let m = 0; m !== animationKeys[k].morphTargets.length; ++m) {\n            const animationKey = animationKeys[k];\n            times.push(animationKey.time);\n            values.push(animationKey.morphTarget === morphTargetName ? 1 : 0);\n          }\n          tracks.push(new NumberKeyframeTrack(\".morphTargetInfluence[\" + morphTargetName + \"]\", times, values));\n        }\n        duration = morphTargetNames.length * fps;\n      } else {\n        const boneName = \".bones[\" + bones[h].name + \"]\";\n        addNonemptyTrack(\n          VectorKeyframeTrack,\n          boneName + \".position\",\n          animationKeys,\n          \"pos\",\n          tracks\n        );\n        addNonemptyTrack(\n          QuaternionKeyframeTrack,\n          boneName + \".quaternion\",\n          animationKeys,\n          \"rot\",\n          tracks\n        );\n        addNonemptyTrack(\n          VectorKeyframeTrack,\n          boneName + \".scale\",\n          animationKeys,\n          \"scl\",\n          tracks\n        );\n      }\n    }\n    if (tracks.length === 0) {\n      return null;\n    }\n    const clip = new this(clipName, duration, tracks, blendMode);\n    return clip;\n  }\n  resetDuration() {\n    const tracks = this.tracks;\n    let duration = 0;\n    for (let i = 0, n = tracks.length; i !== n; ++i) {\n      const track = this.tracks[i];\n      duration = Math.max(duration, track.times[track.times.length - 1]);\n    }\n    this.duration = duration;\n    return this;\n  }\n  trim() {\n    for (let i = 0; i < this.tracks.length; i++) {\n      this.tracks[i].trim(0, this.duration);\n    }\n    return this;\n  }\n  validate() {\n    let valid = true;\n    for (let i = 0; i < this.tracks.length; i++) {\n      valid = valid && this.tracks[i].validate();\n    }\n    return valid;\n  }\n  optimize() {\n    for (let i = 0; i < this.tracks.length; i++) {\n      this.tracks[i].optimize();\n    }\n    return this;\n  }\n  clone() {\n    const tracks = [];\n    for (let i = 0; i < this.tracks.length; i++) {\n      tracks.push(this.tracks[i].clone());\n    }\n    return new this.constructor(this.name, this.duration, tracks, this.blendMode);\n  }\n  toJSON() {\n    return this.constructor.toJSON(this);\n  }\n};\nfunction getTrackTypeForValueTypeName(typeName) {\n  switch (typeName.toLowerCase()) {\n    case \"scalar\":\n    case \"double\":\n    case \"float\":\n    case \"number\":\n    case \"integer\":\n      return NumberKeyframeTrack;\n    case \"vector\":\n    case \"vector2\":\n    case \"vector3\":\n    case \"vector4\":\n      return VectorKeyframeTrack;\n    case \"color\":\n      return ColorKeyframeTrack;\n    case \"quaternion\":\n      return QuaternionKeyframeTrack;\n    case \"bool\":\n    case \"boolean\":\n      return BooleanKeyframeTrack;\n    case \"string\":\n      return StringKeyframeTrack;\n  }\n  throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \" + typeName);\n}\nfunction parseKeyframeTrack(json) {\n  if (json.type === void 0) {\n    throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");\n  }\n  const trackType = getTrackTypeForValueTypeName(json.type);\n  if (json.times === void 0) {\n    const times = [], values = [];\n    flattenJSON(json.keys, times, values, \"value\");\n    json.times = times;\n    json.values = values;\n  }\n  if (trackType.parse !== void 0) {\n    return trackType.parse(json);\n  } else {\n    return new trackType(json.name, json.times, json.values, json.interpolation);\n  }\n}\nvar Cache = {\n  enabled: false,\n  files: {},\n  add: function(key, file) {\n    if (this.enabled === false) return;\n    this.files[key] = file;\n  },\n  get: function(key) {\n    if (this.enabled === false) return;\n    return this.files[key];\n  },\n  remove: function(key) {\n    delete this.files[key];\n  },\n  clear: function() {\n    this.files = {};\n  }\n};\nvar LoadingManager = class {\n  constructor(onLoad, onProgress, onError) {\n    const scope = this;\n    let isLoading = false;\n    let itemsLoaded = 0;\n    let itemsTotal = 0;\n    let urlModifier = void 0;\n    const handlers = [];\n    this.onStart = void 0;\n    this.onLoad = onLoad;\n    this.onProgress = onProgress;\n    this.onError = onError;\n    this.itemStart = function(url) {\n      itemsTotal++;\n      if (isLoading === false) {\n        if (scope.onStart !== void 0) {\n          scope.onStart(url, itemsLoaded, itemsTotal);\n        }\n      }\n      isLoading = true;\n    };\n    this.itemEnd = function(url) {\n      itemsLoaded++;\n      if (scope.onProgress !== void 0) {\n        scope.onProgress(url, itemsLoaded, itemsTotal);\n      }\n      if (itemsLoaded === itemsTotal) {\n        isLoading = false;\n        if (scope.onLoad !== void 0) {\n          scope.onLoad();\n        }\n      }\n    };\n    this.itemError = function(url) {\n      if (scope.onError !== void 0) {\n        scope.onError(url);\n      }\n    };\n    this.resolveURL = function(url) {\n      if (urlModifier) {\n        return urlModifier(url);\n      }\n      return url;\n    };\n    this.setURLModifier = function(transform) {\n      urlModifier = transform;\n      return this;\n    };\n    this.addHandler = function(regex, loader) {\n      handlers.push(regex, loader);\n      return this;\n    };\n    this.removeHandler = function(regex) {\n      const index = handlers.indexOf(regex);\n      if (index !== -1) {\n        handlers.splice(index, 2);\n      }\n      return this;\n    };\n    this.getHandler = function(file) {\n      for (let i = 0, l = handlers.length; i < l; i += 2) {\n        const regex = handlers[i];\n        const loader = handlers[i + 1];\n        if (regex.global) regex.lastIndex = 0;\n        if (regex.test(file)) {\n          return loader;\n        }\n      }\n      return null;\n    };\n  }\n};\nvar DefaultLoadingManager = /* @__PURE__ */ new LoadingManager();\nvar Loader = class {\n  constructor(manager) {\n    this.manager = manager !== void 0 ? manager : DefaultLoadingManager;\n    this.crossOrigin = \"anonymous\";\n    this.withCredentials = false;\n    this.path = \"\";\n    this.resourcePath = \"\";\n    this.requestHeader = {};\n  }\n  load() {\n  }\n  loadAsync(url, onProgress) {\n    const scope = this;\n    return new Promise(function(resolve, reject) {\n      scope.load(url, resolve, onProgress, reject);\n    });\n  }\n  parse() {\n  }\n  setCrossOrigin(crossOrigin) {\n    this.crossOrigin = crossOrigin;\n    return this;\n  }\n  setWithCredentials(value) {\n    this.withCredentials = value;\n    return this;\n  }\n  setPath(path) {\n    this.path = path;\n    return this;\n  }\n  setResourcePath(resourcePath) {\n    this.resourcePath = resourcePath;\n    return this;\n  }\n  setRequestHeader(requestHeader) {\n    this.requestHeader = requestHeader;\n    return this;\n  }\n};\nLoader.DEFAULT_MATERIAL_NAME = \"__DEFAULT\";\nvar loading = {};\nvar HttpError = class extends Error {\n  constructor(message, response) {\n    super(message);\n    this.response = response;\n  }\n};\nvar FileLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    if (url === void 0) url = \"\";\n    if (this.path !== void 0) url = this.path + url;\n    url = this.manager.resolveURL(url);\n    const cached = Cache.get(url);\n    if (cached !== void 0) {\n      this.manager.itemStart(url);\n      setTimeout(() => {\n        if (onLoad) onLoad(cached);\n        this.manager.itemEnd(url);\n      }, 0);\n      return cached;\n    }\n    if (loading[url] !== void 0) {\n      loading[url].push({\n        onLoad,\n        onProgress,\n        onError\n      });\n      return;\n    }\n    loading[url] = [];\n    loading[url].push({\n      onLoad,\n      onProgress,\n      onError\n    });\n    const req = new Request(url, {\n      headers: new Headers(this.requestHeader),\n      credentials: this.withCredentials ? \"include\" : \"same-origin\"\n      // An abort controller could be added within a future PR\n    });\n    const mimeType = this.mimeType;\n    const responseType = this.responseType;\n    fetch(req).then((response) => {\n      if (response.status === 200 || response.status === 0) {\n        if (response.status === 0) {\n          console.warn(\"THREE.FileLoader: HTTP Status 0 received.\");\n        }\n        if (typeof ReadableStream === \"undefined\" || response.body === void 0 || response.body.getReader === void 0) {\n          return response;\n        }\n        const callbacks = loading[url];\n        const reader = response.body.getReader();\n        const contentLength = response.headers.get(\"X-File-Size\") || response.headers.get(\"Content-Length\");\n        const total = contentLength ? parseInt(contentLength) : 0;\n        const lengthComputable = total !== 0;\n        let loaded = 0;\n        const stream = new ReadableStream({\n          start(controller) {\n            readData();\n            function readData() {\n              reader.read().then(({ done, value }) => {\n                if (done) {\n                  controller.close();\n                } else {\n                  loaded += value.byteLength;\n                  const event = new ProgressEvent(\"progress\", { lengthComputable, loaded, total });\n                  for (let i = 0, il = callbacks.length; i < il; i++) {\n                    const callback = callbacks[i];\n                    if (callback.onProgress) callback.onProgress(event);\n                  }\n                  controller.enqueue(value);\n                  readData();\n                }\n              }, (e) => {\n                controller.error(e);\n              });\n            }\n          }\n        });\n        return new Response(stream);\n      } else {\n        throw new HttpError(`fetch for \"${response.url}\" responded with ${response.status}: ${response.statusText}`, response);\n      }\n    }).then((response) => {\n      switch (responseType) {\n        case \"arraybuffer\":\n          return response.arrayBuffer();\n        case \"blob\":\n          return response.blob();\n        case \"document\":\n          return response.text().then((text) => {\n            const parser = new DOMParser();\n            return parser.parseFromString(text, mimeType);\n          });\n        case \"json\":\n          return response.json();\n        default:\n          if (mimeType === void 0) {\n            return response.text();\n          } else {\n            const re = /charset=\"?([^;\"\\s]*)\"?/i;\n            const exec = re.exec(mimeType);\n            const label = exec && exec[1] ? exec[1].toLowerCase() : void 0;\n            const decoder = new TextDecoder(label);\n            return response.arrayBuffer().then((ab) => decoder.decode(ab));\n          }\n      }\n    }).then((data) => {\n      Cache.add(url, data);\n      const callbacks = loading[url];\n      delete loading[url];\n      for (let i = 0, il = callbacks.length; i < il; i++) {\n        const callback = callbacks[i];\n        if (callback.onLoad) callback.onLoad(data);\n      }\n    }).catch((err) => {\n      const callbacks = loading[url];\n      if (callbacks === void 0) {\n        this.manager.itemError(url);\n        throw err;\n      }\n      delete loading[url];\n      for (let i = 0, il = callbacks.length; i < il; i++) {\n        const callback = callbacks[i];\n        if (callback.onError) callback.onError(err);\n      }\n      this.manager.itemError(url);\n    }).finally(() => {\n      this.manager.itemEnd(url);\n    });\n    this.manager.itemStart(url);\n  }\n  setResponseType(value) {\n    this.responseType = value;\n    return this;\n  }\n  setMimeType(value) {\n    this.mimeType = value;\n    return this;\n  }\n};\nvar AnimationLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const loader = new FileLoader(this.manager);\n    loader.setPath(this.path);\n    loader.setRequestHeader(this.requestHeader);\n    loader.setWithCredentials(this.withCredentials);\n    loader.load(url, function(text) {\n      try {\n        onLoad(scope.parse(JSON.parse(text)));\n      } catch (e) {\n        if (onError) {\n          onError(e);\n        } else {\n          console.error(e);\n        }\n        scope.manager.itemError(url);\n      }\n    }, onProgress, onError);\n  }\n  parse(json) {\n    const animations = [];\n    for (let i = 0; i < json.length; i++) {\n      const clip = AnimationClip.parse(json[i]);\n      animations.push(clip);\n    }\n    return animations;\n  }\n};\nvar CompressedTextureLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const images = [];\n    const texture = new CompressedTexture();\n    const loader = new FileLoader(this.manager);\n    loader.setPath(this.path);\n    loader.setResponseType(\"arraybuffer\");\n    loader.setRequestHeader(this.requestHeader);\n    loader.setWithCredentials(scope.withCredentials);\n    let loaded = 0;\n    function loadTexture(i) {\n      loader.load(url[i], function(buffer) {\n        const texDatas = scope.parse(buffer, true);\n        images[i] = {\n          width: texDatas.width,\n          height: texDatas.height,\n          format: texDatas.format,\n          mipmaps: texDatas.mipmaps\n        };\n        loaded += 1;\n        if (loaded === 6) {\n          if (texDatas.mipmapCount === 1) texture.minFilter = LinearFilter;\n          texture.image = images;\n          texture.format = texDatas.format;\n          texture.needsUpdate = true;\n          if (onLoad) onLoad(texture);\n        }\n      }, onProgress, onError);\n    }\n    if (Array.isArray(url)) {\n      for (let i = 0, il = url.length; i < il; ++i) {\n        loadTexture(i);\n      }\n    } else {\n      loader.load(url, function(buffer) {\n        const texDatas = scope.parse(buffer, true);\n        if (texDatas.isCubemap) {\n          const faces = texDatas.mipmaps.length / texDatas.mipmapCount;\n          for (let f = 0; f < faces; f++) {\n            images[f] = { mipmaps: [] };\n            for (let i = 0; i < texDatas.mipmapCount; i++) {\n              images[f].mipmaps.push(texDatas.mipmaps[f * texDatas.mipmapCount + i]);\n              images[f].format = texDatas.format;\n              images[f].width = texDatas.width;\n              images[f].height = texDatas.height;\n            }\n          }\n          texture.image = images;\n        } else {\n          texture.image.width = texDatas.width;\n          texture.image.height = texDatas.height;\n          texture.mipmaps = texDatas.mipmaps;\n        }\n        if (texDatas.mipmapCount === 1) {\n          texture.minFilter = LinearFilter;\n        }\n        texture.format = texDatas.format;\n        texture.needsUpdate = true;\n        if (onLoad) onLoad(texture);\n      }, onProgress, onError);\n    }\n    return texture;\n  }\n};\nvar ImageLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    if (this.path !== void 0) url = this.path + url;\n    url = this.manager.resolveURL(url);\n    const scope = this;\n    const cached = Cache.get(url);\n    if (cached !== void 0) {\n      scope.manager.itemStart(url);\n      setTimeout(function() {\n        if (onLoad) onLoad(cached);\n        scope.manager.itemEnd(url);\n      }, 0);\n      return cached;\n    }\n    const image = createElementNS(\"img\");\n    function onImageLoad() {\n      removeEventListeners();\n      Cache.add(url, this);\n      if (onLoad) onLoad(this);\n      scope.manager.itemEnd(url);\n    }\n    function onImageError(event) {\n      removeEventListeners();\n      if (onError) onError(event);\n      scope.manager.itemError(url);\n      scope.manager.itemEnd(url);\n    }\n    function removeEventListeners() {\n      image.removeEventListener(\"load\", onImageLoad, false);\n      image.removeEventListener(\"error\", onImageError, false);\n    }\n    image.addEventListener(\"load\", onImageLoad, false);\n    image.addEventListener(\"error\", onImageError, false);\n    if (url.slice(0, 5) !== \"data:\") {\n      if (this.crossOrigin !== void 0) image.crossOrigin = this.crossOrigin;\n    }\n    scope.manager.itemStart(url);\n    image.src = url;\n    return image;\n  }\n};\nvar CubeTextureLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(urls, onLoad, onProgress, onError) {\n    const texture = new CubeTexture();\n    texture.colorSpace = SRGBColorSpace;\n    const loader = new ImageLoader(this.manager);\n    loader.setCrossOrigin(this.crossOrigin);\n    loader.setPath(this.path);\n    let loaded = 0;\n    function loadTexture(i) {\n      loader.load(urls[i], function(image) {\n        texture.images[i] = image;\n        loaded++;\n        if (loaded === 6) {\n          texture.needsUpdate = true;\n          if (onLoad) onLoad(texture);\n        }\n      }, void 0, onError);\n    }\n    for (let i = 0; i < urls.length; ++i) {\n      loadTexture(i);\n    }\n    return texture;\n  }\n};\nvar DataTextureLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const texture = new DataTexture();\n    const loader = new FileLoader(this.manager);\n    loader.setResponseType(\"arraybuffer\");\n    loader.setRequestHeader(this.requestHeader);\n    loader.setPath(this.path);\n    loader.setWithCredentials(scope.withCredentials);\n    loader.load(url, function(buffer) {\n      let texData;\n      try {\n        texData = scope.parse(buffer);\n      } catch (error) {\n        if (onError !== void 0) {\n          onError(error);\n        } else {\n          console.error(error);\n          return;\n        }\n      }\n      if (texData.image !== void 0) {\n        texture.image = texData.image;\n      } else if (texData.data !== void 0) {\n        texture.image.width = texData.width;\n        texture.image.height = texData.height;\n        texture.image.data = texData.data;\n      }\n      texture.wrapS = texData.wrapS !== void 0 ? texData.wrapS : ClampToEdgeWrapping;\n      texture.wrapT = texData.wrapT !== void 0 ? texData.wrapT : ClampToEdgeWrapping;\n      texture.magFilter = texData.magFilter !== void 0 ? texData.magFilter : LinearFilter;\n      texture.minFilter = texData.minFilter !== void 0 ? texData.minFilter : LinearFilter;\n      texture.anisotropy = texData.anisotropy !== void 0 ? texData.anisotropy : 1;\n      if (texData.colorSpace !== void 0) {\n        texture.colorSpace = texData.colorSpace;\n      }\n      if (texData.flipY !== void 0) {\n        texture.flipY = texData.flipY;\n      }\n      if (texData.format !== void 0) {\n        texture.format = texData.format;\n      }\n      if (texData.type !== void 0) {\n        texture.type = texData.type;\n      }\n      if (texData.mipmaps !== void 0) {\n        texture.mipmaps = texData.mipmaps;\n        texture.minFilter = LinearMipmapLinearFilter;\n      }\n      if (texData.mipmapCount === 1) {\n        texture.minFilter = LinearFilter;\n      }\n      if (texData.generateMipmaps !== void 0) {\n        texture.generateMipmaps = texData.generateMipmaps;\n      }\n      texture.needsUpdate = true;\n      if (onLoad) onLoad(texture, texData);\n    }, onProgress, onError);\n    return texture;\n  }\n};\nvar TextureLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const texture = new Texture();\n    const loader = new ImageLoader(this.manager);\n    loader.setCrossOrigin(this.crossOrigin);\n    loader.setPath(this.path);\n    loader.load(url, function(image) {\n      texture.image = image;\n      texture.needsUpdate = true;\n      if (onLoad !== void 0) {\n        onLoad(texture);\n      }\n    }, onProgress, onError);\n    return texture;\n  }\n};\nvar Light = class extends Object3D {\n  constructor(color, intensity = 1) {\n    super();\n    this.isLight = true;\n    this.type = \"Light\";\n    this.color = new Color(color);\n    this.intensity = intensity;\n  }\n  dispose() {\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.color.copy(source.color);\n    this.intensity = source.intensity;\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.object.color = this.color.getHex();\n    data.object.intensity = this.intensity;\n    if (this.groundColor !== void 0) data.object.groundColor = this.groundColor.getHex();\n    if (this.distance !== void 0) data.object.distance = this.distance;\n    if (this.angle !== void 0) data.object.angle = this.angle;\n    if (this.decay !== void 0) data.object.decay = this.decay;\n    if (this.penumbra !== void 0) data.object.penumbra = this.penumbra;\n    if (this.shadow !== void 0) data.object.shadow = this.shadow.toJSON();\n    if (this.target !== void 0) data.object.target = this.target.uuid;\n    return data;\n  }\n};\nvar HemisphereLight = class extends Light {\n  constructor(skyColor, groundColor, intensity) {\n    super(skyColor, intensity);\n    this.isHemisphereLight = true;\n    this.type = \"HemisphereLight\";\n    this.position.copy(Object3D.DEFAULT_UP);\n    this.updateMatrix();\n    this.groundColor = new Color(groundColor);\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.groundColor.copy(source.groundColor);\n    return this;\n  }\n};\nvar _projScreenMatrix$1 = /* @__PURE__ */ new Matrix4();\nvar _lightPositionWorld$1 = /* @__PURE__ */ new Vector3();\nvar _lookTarget$1 = /* @__PURE__ */ new Vector3();\nvar LightShadow = class {\n  constructor(camera) {\n    this.camera = camera;\n    this.intensity = 1;\n    this.bias = 0;\n    this.normalBias = 0;\n    this.radius = 1;\n    this.blurSamples = 8;\n    this.mapSize = new Vector2(512, 512);\n    this.map = null;\n    this.mapPass = null;\n    this.matrix = new Matrix4();\n    this.autoUpdate = true;\n    this.needsUpdate = false;\n    this._frustum = new Frustum();\n    this._frameExtents = new Vector2(1, 1);\n    this._viewportCount = 1;\n    this._viewports = [\n      new Vector4(0, 0, 1, 1)\n    ];\n  }\n  getViewportCount() {\n    return this._viewportCount;\n  }\n  getFrustum() {\n    return this._frustum;\n  }\n  updateMatrices(light) {\n    const shadowCamera = this.camera;\n    const shadowMatrix = this.matrix;\n    _lightPositionWorld$1.setFromMatrixPosition(light.matrixWorld);\n    shadowCamera.position.copy(_lightPositionWorld$1);\n    _lookTarget$1.setFromMatrixPosition(light.target.matrixWorld);\n    shadowCamera.lookAt(_lookTarget$1);\n    shadowCamera.updateMatrixWorld();\n    _projScreenMatrix$1.multiplyMatrices(shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse);\n    this._frustum.setFromProjectionMatrix(_projScreenMatrix$1);\n    shadowMatrix.set(\n      0.5,\n      0,\n      0,\n      0.5,\n      0,\n      0.5,\n      0,\n      0.5,\n      0,\n      0,\n      0.5,\n      0.5,\n      0,\n      0,\n      0,\n      1\n    );\n    shadowMatrix.multiply(_projScreenMatrix$1);\n  }\n  getViewport(viewportIndex) {\n    return this._viewports[viewportIndex];\n  }\n  getFrameExtents() {\n    return this._frameExtents;\n  }\n  dispose() {\n    if (this.map) {\n      this.map.dispose();\n    }\n    if (this.mapPass) {\n      this.mapPass.dispose();\n    }\n  }\n  copy(source) {\n    this.camera = source.camera.clone();\n    this.intensity = source.intensity;\n    this.bias = source.bias;\n    this.radius = source.radius;\n    this.mapSize.copy(source.mapSize);\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  toJSON() {\n    const object = {};\n    if (this.intensity !== 1) object.intensity = this.intensity;\n    if (this.bias !== 0) object.bias = this.bias;\n    if (this.normalBias !== 0) object.normalBias = this.normalBias;\n    if (this.radius !== 1) object.radius = this.radius;\n    if (this.mapSize.x !== 512 || this.mapSize.y !== 512) object.mapSize = this.mapSize.toArray();\n    object.camera = this.camera.toJSON(false).object;\n    delete object.camera.matrix;\n    return object;\n  }\n};\nvar SpotLightShadow = class extends LightShadow {\n  constructor() {\n    super(new PerspectiveCamera(50, 1, 0.5, 500));\n    this.isSpotLightShadow = true;\n    this.focus = 1;\n  }\n  updateMatrices(light) {\n    const camera = this.camera;\n    const fov2 = RAD2DEG * 2 * light.angle * this.focus;\n    const aspect2 = this.mapSize.width / this.mapSize.height;\n    const far = light.distance || camera.far;\n    if (fov2 !== camera.fov || aspect2 !== camera.aspect || far !== camera.far) {\n      camera.fov = fov2;\n      camera.aspect = aspect2;\n      camera.far = far;\n      camera.updateProjectionMatrix();\n    }\n    super.updateMatrices(light);\n  }\n  copy(source) {\n    super.copy(source);\n    this.focus = source.focus;\n    return this;\n  }\n};\nvar SpotLight = class extends Light {\n  constructor(color, intensity, distance = 0, angle = Math.PI / 3, penumbra = 0, decay = 2) {\n    super(color, intensity);\n    this.isSpotLight = true;\n    this.type = \"SpotLight\";\n    this.position.copy(Object3D.DEFAULT_UP);\n    this.updateMatrix();\n    this.target = new Object3D();\n    this.distance = distance;\n    this.angle = angle;\n    this.penumbra = penumbra;\n    this.decay = decay;\n    this.map = null;\n    this.shadow = new SpotLightShadow();\n  }\n  get power() {\n    return this.intensity * Math.PI;\n  }\n  set power(power) {\n    this.intensity = power / Math.PI;\n  }\n  dispose() {\n    this.shadow.dispose();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.distance = source.distance;\n    this.angle = source.angle;\n    this.penumbra = source.penumbra;\n    this.decay = source.decay;\n    this.target = source.target.clone();\n    this.shadow = source.shadow.clone();\n    return this;\n  }\n};\nvar _projScreenMatrix = /* @__PURE__ */ new Matrix4();\nvar _lightPositionWorld = /* @__PURE__ */ new Vector3();\nvar _lookTarget = /* @__PURE__ */ new Vector3();\nvar PointLightShadow = class extends LightShadow {\n  constructor() {\n    super(new PerspectiveCamera(90, 1, 0.5, 500));\n    this.isPointLightShadow = true;\n    this._frameExtents = new Vector2(4, 2);\n    this._viewportCount = 6;\n    this._viewports = [\n      // These viewports map a cube-map onto a 2D texture with the\n      // following orientation:\n      //\n      //  xzXZ\n      //   y Y\n      //\n      // X - Positive x direction\n      // x - Negative x direction\n      // Y - Positive y direction\n      // y - Negative y direction\n      // Z - Positive z direction\n      // z - Negative z direction\n      // positive X\n      new Vector4(2, 1, 1, 1),\n      // negative X\n      new Vector4(0, 1, 1, 1),\n      // positive Z\n      new Vector4(3, 1, 1, 1),\n      // negative Z\n      new Vector4(1, 1, 1, 1),\n      // positive Y\n      new Vector4(3, 0, 1, 1),\n      // negative Y\n      new Vector4(1, 0, 1, 1)\n    ];\n    this._cubeDirections = [\n      new Vector3(1, 0, 0),\n      new Vector3(-1, 0, 0),\n      new Vector3(0, 0, 1),\n      new Vector3(0, 0, -1),\n      new Vector3(0, 1, 0),\n      new Vector3(0, -1, 0)\n    ];\n    this._cubeUps = [\n      new Vector3(0, 1, 0),\n      new Vector3(0, 1, 0),\n      new Vector3(0, 1, 0),\n      new Vector3(0, 1, 0),\n      new Vector3(0, 0, 1),\n      new Vector3(0, 0, -1)\n    ];\n  }\n  updateMatrices(light, viewportIndex = 0) {\n    const camera = this.camera;\n    const shadowMatrix = this.matrix;\n    const far = light.distance || camera.far;\n    if (far !== camera.far) {\n      camera.far = far;\n      camera.updateProjectionMatrix();\n    }\n    _lightPositionWorld.setFromMatrixPosition(light.matrixWorld);\n    camera.position.copy(_lightPositionWorld);\n    _lookTarget.copy(camera.position);\n    _lookTarget.add(this._cubeDirections[viewportIndex]);\n    camera.up.copy(this._cubeUps[viewportIndex]);\n    camera.lookAt(_lookTarget);\n    camera.updateMatrixWorld();\n    shadowMatrix.makeTranslation(-_lightPositionWorld.x, -_lightPositionWorld.y, -_lightPositionWorld.z);\n    _projScreenMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);\n    this._frustum.setFromProjectionMatrix(_projScreenMatrix);\n  }\n};\nvar PointLight = class extends Light {\n  constructor(color, intensity, distance = 0, decay = 2) {\n    super(color, intensity);\n    this.isPointLight = true;\n    this.type = \"PointLight\";\n    this.distance = distance;\n    this.decay = decay;\n    this.shadow = new PointLightShadow();\n  }\n  get power() {\n    return this.intensity * 4 * Math.PI;\n  }\n  set power(power) {\n    this.intensity = power / (4 * Math.PI);\n  }\n  dispose() {\n    this.shadow.dispose();\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.distance = source.distance;\n    this.decay = source.decay;\n    this.shadow = source.shadow.clone();\n    return this;\n  }\n};\nvar DirectionalLightShadow = class extends LightShadow {\n  constructor() {\n    super(new OrthographicCamera(-5, 5, 5, -5, 0.5, 500));\n    this.isDirectionalLightShadow = true;\n  }\n};\nvar DirectionalLight = class extends Light {\n  constructor(color, intensity) {\n    super(color, intensity);\n    this.isDirectionalLight = true;\n    this.type = \"DirectionalLight\";\n    this.position.copy(Object3D.DEFAULT_UP);\n    this.updateMatrix();\n    this.target = new Object3D();\n    this.shadow = new DirectionalLightShadow();\n  }\n  dispose() {\n    this.shadow.dispose();\n  }\n  copy(source) {\n    super.copy(source);\n    this.target = source.target.clone();\n    this.shadow = source.shadow.clone();\n    return this;\n  }\n};\nvar AmbientLight = class extends Light {\n  constructor(color, intensity) {\n    super(color, intensity);\n    this.isAmbientLight = true;\n    this.type = \"AmbientLight\";\n  }\n};\nvar RectAreaLight = class extends Light {\n  constructor(color, intensity, width = 10, height = 10) {\n    super(color, intensity);\n    this.isRectAreaLight = true;\n    this.type = \"RectAreaLight\";\n    this.width = width;\n    this.height = height;\n  }\n  get power() {\n    return this.intensity * this.width * this.height * Math.PI;\n  }\n  set power(power) {\n    this.intensity = power / (this.width * this.height * Math.PI);\n  }\n  copy(source) {\n    super.copy(source);\n    this.width = source.width;\n    this.height = source.height;\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.object.width = this.width;\n    data.object.height = this.height;\n    return data;\n  }\n};\nvar SphericalHarmonics3 = class {\n  constructor() {\n    this.isSphericalHarmonics3 = true;\n    this.coefficients = [];\n    for (let i = 0; i < 9; i++) {\n      this.coefficients.push(new Vector3());\n    }\n  }\n  set(coefficients) {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].copy(coefficients[i]);\n    }\n    return this;\n  }\n  zero() {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].set(0, 0, 0);\n    }\n    return this;\n  }\n  // get the radiance in the direction of the normal\n  // target is a Vector3\n  getAt(normal, target) {\n    const x = normal.x, y = normal.y, z = normal.z;\n    const coeff = this.coefficients;\n    target.copy(coeff[0]).multiplyScalar(0.282095);\n    target.addScaledVector(coeff[1], 0.488603 * y);\n    target.addScaledVector(coeff[2], 0.488603 * z);\n    target.addScaledVector(coeff[3], 0.488603 * x);\n    target.addScaledVector(coeff[4], 1.092548 * (x * y));\n    target.addScaledVector(coeff[5], 1.092548 * (y * z));\n    target.addScaledVector(coeff[6], 0.315392 * (3 * z * z - 1));\n    target.addScaledVector(coeff[7], 1.092548 * (x * z));\n    target.addScaledVector(coeff[8], 0.546274 * (x * x - y * y));\n    return target;\n  }\n  // get the irradiance (radiance convolved with cosine lobe) in the direction of the normal\n  // target is a Vector3\n  // https://graphics.stanford.edu/papers/envmap/envmap.pdf\n  getIrradianceAt(normal, target) {\n    const x = normal.x, y = normal.y, z = normal.z;\n    const coeff = this.coefficients;\n    target.copy(coeff[0]).multiplyScalar(0.886227);\n    target.addScaledVector(coeff[1], 2 * 0.511664 * y);\n    target.addScaledVector(coeff[2], 2 * 0.511664 * z);\n    target.addScaledVector(coeff[3], 2 * 0.511664 * x);\n    target.addScaledVector(coeff[4], 2 * 0.429043 * x * y);\n    target.addScaledVector(coeff[5], 2 * 0.429043 * y * z);\n    target.addScaledVector(coeff[6], 0.743125 * z * z - 0.247708);\n    target.addScaledVector(coeff[7], 2 * 0.429043 * x * z);\n    target.addScaledVector(coeff[8], 0.429043 * (x * x - y * y));\n    return target;\n  }\n  add(sh) {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].add(sh.coefficients[i]);\n    }\n    return this;\n  }\n  addScaledSH(sh, s) {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].addScaledVector(sh.coefficients[i], s);\n    }\n    return this;\n  }\n  scale(s) {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].multiplyScalar(s);\n    }\n    return this;\n  }\n  lerp(sh, alpha) {\n    for (let i = 0; i < 9; i++) {\n      this.coefficients[i].lerp(sh.coefficients[i], alpha);\n    }\n    return this;\n  }\n  equals(sh) {\n    for (let i = 0; i < 9; i++) {\n      if (!this.coefficients[i].equals(sh.coefficients[i])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  copy(sh) {\n    return this.set(sh.coefficients);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  fromArray(array, offset = 0) {\n    const coefficients = this.coefficients;\n    for (let i = 0; i < 9; i++) {\n      coefficients[i].fromArray(array, offset + i * 3);\n    }\n    return this;\n  }\n  toArray(array = [], offset = 0) {\n    const coefficients = this.coefficients;\n    for (let i = 0; i < 9; i++) {\n      coefficients[i].toArray(array, offset + i * 3);\n    }\n    return array;\n  }\n  // evaluate the basis functions\n  // shBasis is an Array[ 9 ]\n  static getBasisAt(normal, shBasis) {\n    const x = normal.x, y = normal.y, z = normal.z;\n    shBasis[0] = 0.282095;\n    shBasis[1] = 0.488603 * y;\n    shBasis[2] = 0.488603 * z;\n    shBasis[3] = 0.488603 * x;\n    shBasis[4] = 1.092548 * x * y;\n    shBasis[5] = 1.092548 * y * z;\n    shBasis[6] = 0.315392 * (3 * z * z - 1);\n    shBasis[7] = 1.092548 * x * z;\n    shBasis[8] = 0.546274 * (x * x - y * y);\n  }\n};\nvar LightProbe = class extends Light {\n  constructor(sh = new SphericalHarmonics3(), intensity = 1) {\n    super(void 0, intensity);\n    this.isLightProbe = true;\n    this.sh = sh;\n  }\n  copy(source) {\n    super.copy(source);\n    this.sh.copy(source.sh);\n    return this;\n  }\n  fromJSON(json) {\n    this.intensity = json.intensity;\n    this.sh.fromArray(json.sh);\n    return this;\n  }\n  toJSON(meta) {\n    const data = super.toJSON(meta);\n    data.object.sh = this.sh.toArray();\n    return data;\n  }\n};\nvar MaterialLoader = class _MaterialLoader extends Loader {\n  constructor(manager) {\n    super(manager);\n    this.textures = {};\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const loader = new FileLoader(scope.manager);\n    loader.setPath(scope.path);\n    loader.setRequestHeader(scope.requestHeader);\n    loader.setWithCredentials(scope.withCredentials);\n    loader.load(url, function(text) {\n      try {\n        onLoad(scope.parse(JSON.parse(text)));\n      } catch (e) {\n        if (onError) {\n          onError(e);\n        } else {\n          console.error(e);\n        }\n        scope.manager.itemError(url);\n      }\n    }, onProgress, onError);\n  }\n  parse(json) {\n    const textures = this.textures;\n    function getTexture(name) {\n      if (textures[name] === void 0) {\n        console.warn(\"THREE.MaterialLoader: Undefined texture\", name);\n      }\n      return textures[name];\n    }\n    const material = this.createMaterialFromType(json.type);\n    if (json.uuid !== void 0) material.uuid = json.uuid;\n    if (json.name !== void 0) material.name = json.name;\n    if (json.color !== void 0 && material.color !== void 0) material.color.setHex(json.color);\n    if (json.roughness !== void 0) material.roughness = json.roughness;\n    if (json.metalness !== void 0) material.metalness = json.metalness;\n    if (json.sheen !== void 0) material.sheen = json.sheen;\n    if (json.sheenColor !== void 0) material.sheenColor = new Color().setHex(json.sheenColor);\n    if (json.sheenRoughness !== void 0) material.sheenRoughness = json.sheenRoughness;\n    if (json.emissive !== void 0 && material.emissive !== void 0) material.emissive.setHex(json.emissive);\n    if (json.specular !== void 0 && material.specular !== void 0) material.specular.setHex(json.specular);\n    if (json.specularIntensity !== void 0) material.specularIntensity = json.specularIntensity;\n    if (json.specularColor !== void 0 && material.specularColor !== void 0) material.specularColor.setHex(json.specularColor);\n    if (json.shininess !== void 0) material.shininess = json.shininess;\n    if (json.clearcoat !== void 0) material.clearcoat = json.clearcoat;\n    if (json.clearcoatRoughness !== void 0) material.clearcoatRoughness = json.clearcoatRoughness;\n    if (json.dispersion !== void 0) material.dispersion = json.dispersion;\n    if (json.iridescence !== void 0) material.iridescence = json.iridescence;\n    if (json.iridescenceIOR !== void 0) material.iridescenceIOR = json.iridescenceIOR;\n    if (json.iridescenceThicknessRange !== void 0) material.iridescenceThicknessRange = json.iridescenceThicknessRange;\n    if (json.transmission !== void 0) material.transmission = json.transmission;\n    if (json.thickness !== void 0) material.thickness = json.thickness;\n    if (json.attenuationDistance !== void 0) material.attenuationDistance = json.attenuationDistance;\n    if (json.attenuationColor !== void 0 && material.attenuationColor !== void 0) material.attenuationColor.setHex(json.attenuationColor);\n    if (json.anisotropy !== void 0) material.anisotropy = json.anisotropy;\n    if (json.anisotropyRotation !== void 0) material.anisotropyRotation = json.anisotropyRotation;\n    if (json.fog !== void 0) material.fog = json.fog;\n    if (json.flatShading !== void 0) material.flatShading = json.flatShading;\n    if (json.blending !== void 0) material.blending = json.blending;\n    if (json.combine !== void 0) material.combine = json.combine;\n    if (json.side !== void 0) material.side = json.side;\n    if (json.shadowSide !== void 0) material.shadowSide = json.shadowSide;\n    if (json.opacity !== void 0) material.opacity = json.opacity;\n    if (json.transparent !== void 0) material.transparent = json.transparent;\n    if (json.alphaTest !== void 0) material.alphaTest = json.alphaTest;\n    if (json.alphaHash !== void 0) material.alphaHash = json.alphaHash;\n    if (json.depthFunc !== void 0) material.depthFunc = json.depthFunc;\n    if (json.depthTest !== void 0) material.depthTest = json.depthTest;\n    if (json.depthWrite !== void 0) material.depthWrite = json.depthWrite;\n    if (json.colorWrite !== void 0) material.colorWrite = json.colorWrite;\n    if (json.blendSrc !== void 0) material.blendSrc = json.blendSrc;\n    if (json.blendDst !== void 0) material.blendDst = json.blendDst;\n    if (json.blendEquation !== void 0) material.blendEquation = json.blendEquation;\n    if (json.blendSrcAlpha !== void 0) material.blendSrcAlpha = json.blendSrcAlpha;\n    if (json.blendDstAlpha !== void 0) material.blendDstAlpha = json.blendDstAlpha;\n    if (json.blendEquationAlpha !== void 0) material.blendEquationAlpha = json.blendEquationAlpha;\n    if (json.blendColor !== void 0 && material.blendColor !== void 0) material.blendColor.setHex(json.blendColor);\n    if (json.blendAlpha !== void 0) material.blendAlpha = json.blendAlpha;\n    if (json.stencilWriteMask !== void 0) material.stencilWriteMask = json.stencilWriteMask;\n    if (json.stencilFunc !== void 0) material.stencilFunc = json.stencilFunc;\n    if (json.stencilRef !== void 0) material.stencilRef = json.stencilRef;\n    if (json.stencilFuncMask !== void 0) material.stencilFuncMask = json.stencilFuncMask;\n    if (json.stencilFail !== void 0) material.stencilFail = json.stencilFail;\n    if (json.stencilZFail !== void 0) material.stencilZFail = json.stencilZFail;\n    if (json.stencilZPass !== void 0) material.stencilZPass = json.stencilZPass;\n    if (json.stencilWrite !== void 0) material.stencilWrite = json.stencilWrite;\n    if (json.wireframe !== void 0) material.wireframe = json.wireframe;\n    if (json.wireframeLinewidth !== void 0) material.wireframeLinewidth = json.wireframeLinewidth;\n    if (json.wireframeLinecap !== void 0) material.wireframeLinecap = json.wireframeLinecap;\n    if (json.wireframeLinejoin !== void 0) material.wireframeLinejoin = json.wireframeLinejoin;\n    if (json.rotation !== void 0) material.rotation = json.rotation;\n    if (json.linewidth !== void 0) material.linewidth = json.linewidth;\n    if (json.dashSize !== void 0) material.dashSize = json.dashSize;\n    if (json.gapSize !== void 0) material.gapSize = json.gapSize;\n    if (json.scale !== void 0) material.scale = json.scale;\n    if (json.polygonOffset !== void 0) material.polygonOffset = json.polygonOffset;\n    if (json.polygonOffsetFactor !== void 0) material.polygonOffsetFactor = json.polygonOffsetFactor;\n    if (json.polygonOffsetUnits !== void 0) material.polygonOffsetUnits = json.polygonOffsetUnits;\n    if (json.dithering !== void 0) material.dithering = json.dithering;\n    if (json.alphaToCoverage !== void 0) material.alphaToCoverage = json.alphaToCoverage;\n    if (json.premultipliedAlpha !== void 0) material.premultipliedAlpha = json.premultipliedAlpha;\n    if (json.forceSinglePass !== void 0) material.forceSinglePass = json.forceSinglePass;\n    if (json.visible !== void 0) material.visible = json.visible;\n    if (json.toneMapped !== void 0) material.toneMapped = json.toneMapped;\n    if (json.userData !== void 0) material.userData = json.userData;\n    if (json.vertexColors !== void 0) {\n      if (typeof json.vertexColors === \"number\") {\n        material.vertexColors = json.vertexColors > 0 ? true : false;\n      } else {\n        material.vertexColors = json.vertexColors;\n      }\n    }\n    if (json.uniforms !== void 0) {\n      for (const name in json.uniforms) {\n        const uniform = json.uniforms[name];\n        material.uniforms[name] = {};\n        switch (uniform.type) {\n          case \"t\":\n            material.uniforms[name].value = getTexture(uniform.value);\n            break;\n          case \"c\":\n            material.uniforms[name].value = new Color().setHex(uniform.value);\n            break;\n          case \"v2\":\n            material.uniforms[name].value = new Vector2().fromArray(uniform.value);\n            break;\n          case \"v3\":\n            material.uniforms[name].value = new Vector3().fromArray(uniform.value);\n            break;\n          case \"v4\":\n            material.uniforms[name].value = new Vector4().fromArray(uniform.value);\n            break;\n          case \"m3\":\n            material.uniforms[name].value = new Matrix3().fromArray(uniform.value);\n            break;\n          case \"m4\":\n            material.uniforms[name].value = new Matrix4().fromArray(uniform.value);\n            break;\n          default:\n            material.uniforms[name].value = uniform.value;\n        }\n      }\n    }\n    if (json.defines !== void 0) material.defines = json.defines;\n    if (json.vertexShader !== void 0) material.vertexShader = json.vertexShader;\n    if (json.fragmentShader !== void 0) material.fragmentShader = json.fragmentShader;\n    if (json.glslVersion !== void 0) material.glslVersion = json.glslVersion;\n    if (json.extensions !== void 0) {\n      for (const key in json.extensions) {\n        material.extensions[key] = json.extensions[key];\n      }\n    }\n    if (json.lights !== void 0) material.lights = json.lights;\n    if (json.clipping !== void 0) material.clipping = json.clipping;\n    if (json.size !== void 0) material.size = json.size;\n    if (json.sizeAttenuation !== void 0) material.sizeAttenuation = json.sizeAttenuation;\n    if (json.map !== void 0) material.map = getTexture(json.map);\n    if (json.matcap !== void 0) material.matcap = getTexture(json.matcap);\n    if (json.alphaMap !== void 0) material.alphaMap = getTexture(json.alphaMap);\n    if (json.bumpMap !== void 0) material.bumpMap = getTexture(json.bumpMap);\n    if (json.bumpScale !== void 0) material.bumpScale = json.bumpScale;\n    if (json.normalMap !== void 0) material.normalMap = getTexture(json.normalMap);\n    if (json.normalMapType !== void 0) material.normalMapType = json.normalMapType;\n    if (json.normalScale !== void 0) {\n      let normalScale = json.normalScale;\n      if (Array.isArray(normalScale) === false) {\n        normalScale = [normalScale, normalScale];\n      }\n      material.normalScale = new Vector2().fromArray(normalScale);\n    }\n    if (json.displacementMap !== void 0) material.displacementMap = getTexture(json.displacementMap);\n    if (json.displacementScale !== void 0) material.displacementScale = json.displacementScale;\n    if (json.displacementBias !== void 0) material.displacementBias = json.displacementBias;\n    if (json.roughnessMap !== void 0) material.roughnessMap = getTexture(json.roughnessMap);\n    if (json.metalnessMap !== void 0) material.metalnessMap = getTexture(json.metalnessMap);\n    if (json.emissiveMap !== void 0) material.emissiveMap = getTexture(json.emissiveMap);\n    if (json.emissiveIntensity !== void 0) material.emissiveIntensity = json.emissiveIntensity;\n    if (json.specularMap !== void 0) material.specularMap = getTexture(json.specularMap);\n    if (json.specularIntensityMap !== void 0) material.specularIntensityMap = getTexture(json.specularIntensityMap);\n    if (json.specularColorMap !== void 0) material.specularColorMap = getTexture(json.specularColorMap);\n    if (json.envMap !== void 0) material.envMap = getTexture(json.envMap);\n    if (json.envMapRotation !== void 0) material.envMapRotation.fromArray(json.envMapRotation);\n    if (json.envMapIntensity !== void 0) material.envMapIntensity = json.envMapIntensity;\n    if (json.reflectivity !== void 0) material.reflectivity = json.reflectivity;\n    if (json.refractionRatio !== void 0) material.refractionRatio = json.refractionRatio;\n    if (json.lightMap !== void 0) material.lightMap = getTexture(json.lightMap);\n    if (json.lightMapIntensity !== void 0) material.lightMapIntensity = json.lightMapIntensity;\n    if (json.aoMap !== void 0) material.aoMap = getTexture(json.aoMap);\n    if (json.aoMapIntensity !== void 0) material.aoMapIntensity = json.aoMapIntensity;\n    if (json.gradientMap !== void 0) material.gradientMap = getTexture(json.gradientMap);\n    if (json.clearcoatMap !== void 0) material.clearcoatMap = getTexture(json.clearcoatMap);\n    if (json.clearcoatRoughnessMap !== void 0) material.clearcoatRoughnessMap = getTexture(json.clearcoatRoughnessMap);\n    if (json.clearcoatNormalMap !== void 0) material.clearcoatNormalMap = getTexture(json.clearcoatNormalMap);\n    if (json.clearcoatNormalScale !== void 0) material.clearcoatNormalScale = new Vector2().fromArray(json.clearcoatNormalScale);\n    if (json.iridescenceMap !== void 0) material.iridescenceMap = getTexture(json.iridescenceMap);\n    if (json.iridescenceThicknessMap !== void 0) material.iridescenceThicknessMap = getTexture(json.iridescenceThicknessMap);\n    if (json.transmissionMap !== void 0) material.transmissionMap = getTexture(json.transmissionMap);\n    if (json.thicknessMap !== void 0) material.thicknessMap = getTexture(json.thicknessMap);\n    if (json.anisotropyMap !== void 0) material.anisotropyMap = getTexture(json.anisotropyMap);\n    if (json.sheenColorMap !== void 0) material.sheenColorMap = getTexture(json.sheenColorMap);\n    if (json.sheenRoughnessMap !== void 0) material.sheenRoughnessMap = getTexture(json.sheenRoughnessMap);\n    return material;\n  }\n  setTextures(value) {\n    this.textures = value;\n    return this;\n  }\n  createMaterialFromType(type) {\n    return _MaterialLoader.createMaterialFromType(type);\n  }\n  static createMaterialFromType(type) {\n    const materialLib = {\n      ShadowMaterial,\n      SpriteMaterial,\n      RawShaderMaterial,\n      ShaderMaterial,\n      PointsMaterial,\n      MeshPhysicalMaterial,\n      MeshStandardMaterial,\n      MeshPhongMaterial,\n      MeshToonMaterial,\n      MeshNormalMaterial,\n      MeshLambertMaterial,\n      MeshDepthMaterial,\n      MeshDistanceMaterial,\n      MeshBasicMaterial,\n      MeshMatcapMaterial,\n      LineDashedMaterial,\n      LineBasicMaterial,\n      Material\n    };\n    return new materialLib[type]();\n  }\n};\nvar LoaderUtils = class {\n  static decodeText(array) {\n    console.warn(\"THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead.\");\n    if (typeof TextDecoder !== \"undefined\") {\n      return new TextDecoder().decode(array);\n    }\n    let s = \"\";\n    for (let i = 0, il = array.length; i < il; i++) {\n      s += String.fromCharCode(array[i]);\n    }\n    try {\n      return decodeURIComponent(escape(s));\n    } catch (e) {\n      return s;\n    }\n  }\n  static extractUrlBase(url) {\n    const index = url.lastIndexOf(\"/\");\n    if (index === -1) return \"./\";\n    return url.slice(0, index + 1);\n  }\n  static resolveURL(url, path) {\n    if (typeof url !== \"string\" || url === \"\") return \"\";\n    if (/^https?:\\/\\//i.test(path) && /^\\//.test(url)) {\n      path = path.replace(/(^https?:\\/\\/[^\\/]+).*/i, \"$1\");\n    }\n    if (/^(https?:)?\\/\\//i.test(url)) return url;\n    if (/^data:.*,.*$/i.test(url)) return url;\n    if (/^blob:.*$/i.test(url)) return url;\n    return path + url;\n  }\n};\nvar InstancedBufferGeometry = class extends BufferGeometry {\n  constructor() {\n    super();\n    this.isInstancedBufferGeometry = true;\n    this.type = \"InstancedBufferGeometry\";\n    this.instanceCount = Infinity;\n  }\n  copy(source) {\n    super.copy(source);\n    this.instanceCount = source.instanceCount;\n    return this;\n  }\n  toJSON() {\n    const data = super.toJSON();\n    data.instanceCount = this.instanceCount;\n    data.isInstancedBufferGeometry = true;\n    return data;\n  }\n};\nvar BufferGeometryLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const loader = new FileLoader(scope.manager);\n    loader.setPath(scope.path);\n    loader.setRequestHeader(scope.requestHeader);\n    loader.setWithCredentials(scope.withCredentials);\n    loader.load(url, function(text) {\n      try {\n        onLoad(scope.parse(JSON.parse(text)));\n      } catch (e) {\n        if (onError) {\n          onError(e);\n        } else {\n          console.error(e);\n        }\n        scope.manager.itemError(url);\n      }\n    }, onProgress, onError);\n  }\n  parse(json) {\n    const interleavedBufferMap = {};\n    const arrayBufferMap = {};\n    function getInterleavedBuffer(json2, uuid) {\n      if (interleavedBufferMap[uuid] !== void 0) return interleavedBufferMap[uuid];\n      const interleavedBuffers = json2.interleavedBuffers;\n      const interleavedBuffer = interleavedBuffers[uuid];\n      const buffer = getArrayBuffer(json2, interleavedBuffer.buffer);\n      const array = getTypedArray(interleavedBuffer.type, buffer);\n      const ib = new InterleavedBuffer(array, interleavedBuffer.stride);\n      ib.uuid = interleavedBuffer.uuid;\n      interleavedBufferMap[uuid] = ib;\n      return ib;\n    }\n    function getArrayBuffer(json2, uuid) {\n      if (arrayBufferMap[uuid] !== void 0) return arrayBufferMap[uuid];\n      const arrayBuffers = json2.arrayBuffers;\n      const arrayBuffer = arrayBuffers[uuid];\n      const ab = new Uint32Array(arrayBuffer).buffer;\n      arrayBufferMap[uuid] = ab;\n      return ab;\n    }\n    const geometry = json.isInstancedBufferGeometry ? new InstancedBufferGeometry() : new BufferGeometry();\n    const index = json.data.index;\n    if (index !== void 0) {\n      const typedArray = getTypedArray(index.type, index.array);\n      geometry.setIndex(new BufferAttribute(typedArray, 1));\n    }\n    const attributes = json.data.attributes;\n    for (const key in attributes) {\n      const attribute = attributes[key];\n      let bufferAttribute;\n      if (attribute.isInterleavedBufferAttribute) {\n        const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data);\n        bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized);\n      } else {\n        const typedArray = getTypedArray(attribute.type, attribute.array);\n        const bufferAttributeConstr = attribute.isInstancedBufferAttribute ? InstancedBufferAttribute : BufferAttribute;\n        bufferAttribute = new bufferAttributeConstr(typedArray, attribute.itemSize, attribute.normalized);\n      }\n      if (attribute.name !== void 0) bufferAttribute.name = attribute.name;\n      if (attribute.usage !== void 0) bufferAttribute.setUsage(attribute.usage);\n      geometry.setAttribute(key, bufferAttribute);\n    }\n    const morphAttributes = json.data.morphAttributes;\n    if (morphAttributes) {\n      for (const key in morphAttributes) {\n        const attributeArray = morphAttributes[key];\n        const array = [];\n        for (let i = 0, il = attributeArray.length; i < il; i++) {\n          const attribute = attributeArray[i];\n          let bufferAttribute;\n          if (attribute.isInterleavedBufferAttribute) {\n            const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data);\n            bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized);\n          } else {\n            const typedArray = getTypedArray(attribute.type, attribute.array);\n            bufferAttribute = new BufferAttribute(typedArray, attribute.itemSize, attribute.normalized);\n          }\n          if (attribute.name !== void 0) bufferAttribute.name = attribute.name;\n          array.push(bufferAttribute);\n        }\n        geometry.morphAttributes[key] = array;\n      }\n    }\n    const morphTargetsRelative = json.data.morphTargetsRelative;\n    if (morphTargetsRelative) {\n      geometry.morphTargetsRelative = true;\n    }\n    const groups = json.data.groups || json.data.drawcalls || json.data.offsets;\n    if (groups !== void 0) {\n      for (let i = 0, n = groups.length; i !== n; ++i) {\n        const group = groups[i];\n        geometry.addGroup(group.start, group.count, group.materialIndex);\n      }\n    }\n    const boundingSphere = json.data.boundingSphere;\n    if (boundingSphere !== void 0) {\n      const center = new Vector3();\n      if (boundingSphere.center !== void 0) {\n        center.fromArray(boundingSphere.center);\n      }\n      geometry.boundingSphere = new Sphere(center, boundingSphere.radius);\n    }\n    if (json.name) geometry.name = json.name;\n    if (json.userData) geometry.userData = json.userData;\n    return geometry;\n  }\n};\nvar ObjectLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const path = this.path === \"\" ? LoaderUtils.extractUrlBase(url) : this.path;\n    this.resourcePath = this.resourcePath || path;\n    const loader = new FileLoader(this.manager);\n    loader.setPath(this.path);\n    loader.setRequestHeader(this.requestHeader);\n    loader.setWithCredentials(this.withCredentials);\n    loader.load(url, function(text) {\n      let json = null;\n      try {\n        json = JSON.parse(text);\n      } catch (error) {\n        if (onError !== void 0) onError(error);\n        console.error(\"THREE:ObjectLoader: Can't parse \" + url + \".\", error.message);\n        return;\n      }\n      const metadata = json.metadata;\n      if (metadata === void 0 || metadata.type === void 0 || metadata.type.toLowerCase() === \"geometry\") {\n        if (onError !== void 0) onError(new Error(\"THREE.ObjectLoader: Can't load \" + url));\n        console.error(\"THREE.ObjectLoader: Can't load \" + url);\n        return;\n      }\n      scope.parse(json, onLoad);\n    }, onProgress, onError);\n  }\n  loadAsync(url, onProgress) {\n    return __async(this, null, function* () {\n      const scope = this;\n      const path = this.path === \"\" ? LoaderUtils.extractUrlBase(url) : this.path;\n      this.resourcePath = this.resourcePath || path;\n      const loader = new FileLoader(this.manager);\n      loader.setPath(this.path);\n      loader.setRequestHeader(this.requestHeader);\n      loader.setWithCredentials(this.withCredentials);\n      const text = yield loader.loadAsync(url, onProgress);\n      const json = JSON.parse(text);\n      const metadata = json.metadata;\n      if (metadata === void 0 || metadata.type === void 0 || metadata.type.toLowerCase() === \"geometry\") {\n        throw new Error(\"THREE.ObjectLoader: Can't load \" + url);\n      }\n      return yield scope.parseAsync(json);\n    });\n  }\n  parse(json, onLoad) {\n    const animations = this.parseAnimations(json.animations);\n    const shapes = this.parseShapes(json.shapes);\n    const geometries = this.parseGeometries(json.geometries, shapes);\n    const images = this.parseImages(json.images, function() {\n      if (onLoad !== void 0) onLoad(object);\n    });\n    const textures = this.parseTextures(json.textures, images);\n    const materials = this.parseMaterials(json.materials, textures);\n    const object = this.parseObject(json.object, geometries, materials, textures, animations);\n    const skeletons = this.parseSkeletons(json.skeletons, object);\n    this.bindSkeletons(object, skeletons);\n    this.bindLightTargets(object);\n    if (onLoad !== void 0) {\n      let hasImages = false;\n      for (const uuid in images) {\n        if (images[uuid].data instanceof HTMLImageElement) {\n          hasImages = true;\n          break;\n        }\n      }\n      if (hasImages === false) onLoad(object);\n    }\n    return object;\n  }\n  parseAsync(json) {\n    return __async(this, null, function* () {\n      const animations = this.parseAnimations(json.animations);\n      const shapes = this.parseShapes(json.shapes);\n      const geometries = this.parseGeometries(json.geometries, shapes);\n      const images = yield this.parseImagesAsync(json.images);\n      const textures = this.parseTextures(json.textures, images);\n      const materials = this.parseMaterials(json.materials, textures);\n      const object = this.parseObject(json.object, geometries, materials, textures, animations);\n      const skeletons = this.parseSkeletons(json.skeletons, object);\n      this.bindSkeletons(object, skeletons);\n      this.bindLightTargets(object);\n      return object;\n    });\n  }\n  parseShapes(json) {\n    const shapes = {};\n    if (json !== void 0) {\n      for (let i = 0, l = json.length; i < l; i++) {\n        const shape = new Shape().fromJSON(json[i]);\n        shapes[shape.uuid] = shape;\n      }\n    }\n    return shapes;\n  }\n  parseSkeletons(json, object) {\n    const skeletons = {};\n    const bones = {};\n    object.traverse(function(child) {\n      if (child.isBone) bones[child.uuid] = child;\n    });\n    if (json !== void 0) {\n      for (let i = 0, l = json.length; i < l; i++) {\n        const skeleton = new Skeleton().fromJSON(json[i], bones);\n        skeletons[skeleton.uuid] = skeleton;\n      }\n    }\n    return skeletons;\n  }\n  parseGeometries(json, shapes) {\n    const geometries = {};\n    if (json !== void 0) {\n      const bufferGeometryLoader = new BufferGeometryLoader();\n      for (let i = 0, l = json.length; i < l; i++) {\n        let geometry;\n        const data = json[i];\n        switch (data.type) {\n          case \"BufferGeometry\":\n          case \"InstancedBufferGeometry\":\n            geometry = bufferGeometryLoader.parse(data);\n            break;\n          default:\n            if (data.type in Geometries) {\n              geometry = Geometries[data.type].fromJSON(data, shapes);\n            } else {\n              console.warn(`THREE.ObjectLoader: Unsupported geometry type \"${data.type}\"`);\n            }\n        }\n        geometry.uuid = data.uuid;\n        if (data.name !== void 0) geometry.name = data.name;\n        if (data.userData !== void 0) geometry.userData = data.userData;\n        geometries[data.uuid] = geometry;\n      }\n    }\n    return geometries;\n  }\n  parseMaterials(json, textures) {\n    const cache = {};\n    const materials = {};\n    if (json !== void 0) {\n      const loader = new MaterialLoader();\n      loader.setTextures(textures);\n      for (let i = 0, l = json.length; i < l; i++) {\n        const data = json[i];\n        if (cache[data.uuid] === void 0) {\n          cache[data.uuid] = loader.parse(data);\n        }\n        materials[data.uuid] = cache[data.uuid];\n      }\n    }\n    return materials;\n  }\n  parseAnimations(json) {\n    const animations = {};\n    if (json !== void 0) {\n      for (let i = 0; i < json.length; i++) {\n        const data = json[i];\n        const clip = AnimationClip.parse(data);\n        animations[clip.uuid] = clip;\n      }\n    }\n    return animations;\n  }\n  parseImages(json, onLoad) {\n    const scope = this;\n    const images = {};\n    let loader;\n    function loadImage(url) {\n      scope.manager.itemStart(url);\n      return loader.load(url, function() {\n        scope.manager.itemEnd(url);\n      }, void 0, function() {\n        scope.manager.itemError(url);\n        scope.manager.itemEnd(url);\n      });\n    }\n    function deserializeImage(image) {\n      if (typeof image === \"string\") {\n        const url = image;\n        const path = /^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(url) ? url : scope.resourcePath + url;\n        return loadImage(path);\n      } else {\n        if (image.data) {\n          return {\n            data: getTypedArray(image.type, image.data),\n            width: image.width,\n            height: image.height\n          };\n        } else {\n          return null;\n        }\n      }\n    }\n    if (json !== void 0 && json.length > 0) {\n      const manager = new LoadingManager(onLoad);\n      loader = new ImageLoader(manager);\n      loader.setCrossOrigin(this.crossOrigin);\n      for (let i = 0, il = json.length; i < il; i++) {\n        const image = json[i];\n        const url = image.url;\n        if (Array.isArray(url)) {\n          const imageArray = [];\n          for (let j = 0, jl = url.length; j < jl; j++) {\n            const currentUrl = url[j];\n            const deserializedImage = deserializeImage(currentUrl);\n            if (deserializedImage !== null) {\n              if (deserializedImage instanceof HTMLImageElement) {\n                imageArray.push(deserializedImage);\n              } else {\n                imageArray.push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height));\n              }\n            }\n          }\n          images[image.uuid] = new Source(imageArray);\n        } else {\n          const deserializedImage = deserializeImage(image.url);\n          images[image.uuid] = new Source(deserializedImage);\n        }\n      }\n    }\n    return images;\n  }\n  parseImagesAsync(json) {\n    return __async(this, null, function* () {\n      const scope = this;\n      const images = {};\n      let loader;\n      function deserializeImage(image) {\n        return __async(this, null, function* () {\n          if (typeof image === \"string\") {\n            const url = image;\n            const path = /^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(url) ? url : scope.resourcePath + url;\n            return yield loader.loadAsync(path);\n          } else {\n            if (image.data) {\n              return {\n                data: getTypedArray(image.type, image.data),\n                width: image.width,\n                height: image.height\n              };\n            } else {\n              return null;\n            }\n          }\n        });\n      }\n      if (json !== void 0 && json.length > 0) {\n        loader = new ImageLoader(this.manager);\n        loader.setCrossOrigin(this.crossOrigin);\n        for (let i = 0, il = json.length; i < il; i++) {\n          const image = json[i];\n          const url = image.url;\n          if (Array.isArray(url)) {\n            const imageArray = [];\n            for (let j = 0, jl = url.length; j < jl; j++) {\n              const currentUrl = url[j];\n              const deserializedImage = yield deserializeImage(currentUrl);\n              if (deserializedImage !== null) {\n                if (deserializedImage instanceof HTMLImageElement) {\n                  imageArray.push(deserializedImage);\n                } else {\n                  imageArray.push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height));\n                }\n              }\n            }\n            images[image.uuid] = new Source(imageArray);\n          } else {\n            const deserializedImage = yield deserializeImage(image.url);\n            images[image.uuid] = new Source(deserializedImage);\n          }\n        }\n      }\n      return images;\n    });\n  }\n  parseTextures(json, images) {\n    function parseConstant(value, type) {\n      if (typeof value === \"number\") return value;\n      console.warn(\"THREE.ObjectLoader.parseTexture: Constant should be in numeric form.\", value);\n      return type[value];\n    }\n    const textures = {};\n    if (json !== void 0) {\n      for (let i = 0, l = json.length; i < l; i++) {\n        const data = json[i];\n        if (data.image === void 0) {\n          console.warn('THREE.ObjectLoader: No \"image\" specified for', data.uuid);\n        }\n        if (images[data.image] === void 0) {\n          console.warn(\"THREE.ObjectLoader: Undefined image\", data.image);\n        }\n        const source = images[data.image];\n        const image = source.data;\n        let texture;\n        if (Array.isArray(image)) {\n          texture = new CubeTexture();\n          if (image.length === 6) texture.needsUpdate = true;\n        } else {\n          if (image && image.data) {\n            texture = new DataTexture();\n          } else {\n            texture = new Texture();\n          }\n          if (image) texture.needsUpdate = true;\n        }\n        texture.source = source;\n        texture.uuid = data.uuid;\n        if (data.name !== void 0) texture.name = data.name;\n        if (data.mapping !== void 0) texture.mapping = parseConstant(data.mapping, TEXTURE_MAPPING);\n        if (data.channel !== void 0) texture.channel = data.channel;\n        if (data.offset !== void 0) texture.offset.fromArray(data.offset);\n        if (data.repeat !== void 0) texture.repeat.fromArray(data.repeat);\n        if (data.center !== void 0) texture.center.fromArray(data.center);\n        if (data.rotation !== void 0) texture.rotation = data.rotation;\n        if (data.wrap !== void 0) {\n          texture.wrapS = parseConstant(data.wrap[0], TEXTURE_WRAPPING);\n          texture.wrapT = parseConstant(data.wrap[1], TEXTURE_WRAPPING);\n        }\n        if (data.format !== void 0) texture.format = data.format;\n        if (data.internalFormat !== void 0) texture.internalFormat = data.internalFormat;\n        if (data.type !== void 0) texture.type = data.type;\n        if (data.colorSpace !== void 0) texture.colorSpace = data.colorSpace;\n        if (data.minFilter !== void 0) texture.minFilter = parseConstant(data.minFilter, TEXTURE_FILTER);\n        if (data.magFilter !== void 0) texture.magFilter = parseConstant(data.magFilter, TEXTURE_FILTER);\n        if (data.anisotropy !== void 0) texture.anisotropy = data.anisotropy;\n        if (data.flipY !== void 0) texture.flipY = data.flipY;\n        if (data.generateMipmaps !== void 0) texture.generateMipmaps = data.generateMipmaps;\n        if (data.premultiplyAlpha !== void 0) texture.premultiplyAlpha = data.premultiplyAlpha;\n        if (data.unpackAlignment !== void 0) texture.unpackAlignment = data.unpackAlignment;\n        if (data.compareFunction !== void 0) texture.compareFunction = data.compareFunction;\n        if (data.userData !== void 0) texture.userData = data.userData;\n        textures[data.uuid] = texture;\n      }\n    }\n    return textures;\n  }\n  parseObject(data, geometries, materials, textures, animations) {\n    let object;\n    function getGeometry(name) {\n      if (geometries[name] === void 0) {\n        console.warn(\"THREE.ObjectLoader: Undefined geometry\", name);\n      }\n      return geometries[name];\n    }\n    function getMaterial(name) {\n      if (name === void 0) return void 0;\n      if (Array.isArray(name)) {\n        const array = [];\n        for (let i = 0, l = name.length; i < l; i++) {\n          const uuid = name[i];\n          if (materials[uuid] === void 0) {\n            console.warn(\"THREE.ObjectLoader: Undefined material\", uuid);\n          }\n          array.push(materials[uuid]);\n        }\n        return array;\n      }\n      if (materials[name] === void 0) {\n        console.warn(\"THREE.ObjectLoader: Undefined material\", name);\n      }\n      return materials[name];\n    }\n    function getTexture(uuid) {\n      if (textures[uuid] === void 0) {\n        console.warn(\"THREE.ObjectLoader: Undefined texture\", uuid);\n      }\n      return textures[uuid];\n    }\n    let geometry, material;\n    switch (data.type) {\n      case \"Scene\":\n        object = new Scene();\n        if (data.background !== void 0) {\n          if (Number.isInteger(data.background)) {\n            object.background = new Color(data.background);\n          } else {\n            object.background = getTexture(data.background);\n          }\n        }\n        if (data.environment !== void 0) {\n          object.environment = getTexture(data.environment);\n        }\n        if (data.fog !== void 0) {\n          if (data.fog.type === \"Fog\") {\n            object.fog = new Fog(data.fog.color, data.fog.near, data.fog.far);\n          } else if (data.fog.type === \"FogExp2\") {\n            object.fog = new FogExp2(data.fog.color, data.fog.density);\n          }\n          if (data.fog.name !== \"\") {\n            object.fog.name = data.fog.name;\n          }\n        }\n        if (data.backgroundBlurriness !== void 0) object.backgroundBlurriness = data.backgroundBlurriness;\n        if (data.backgroundIntensity !== void 0) object.backgroundIntensity = data.backgroundIntensity;\n        if (data.backgroundRotation !== void 0) object.backgroundRotation.fromArray(data.backgroundRotation);\n        if (data.environmentIntensity !== void 0) object.environmentIntensity = data.environmentIntensity;\n        if (data.environmentRotation !== void 0) object.environmentRotation.fromArray(data.environmentRotation);\n        break;\n      case \"PerspectiveCamera\":\n        object = new PerspectiveCamera(data.fov, data.aspect, data.near, data.far);\n        if (data.focus !== void 0) object.focus = data.focus;\n        if (data.zoom !== void 0) object.zoom = data.zoom;\n        if (data.filmGauge !== void 0) object.filmGauge = data.filmGauge;\n        if (data.filmOffset !== void 0) object.filmOffset = data.filmOffset;\n        if (data.view !== void 0) object.view = Object.assign({}, data.view);\n        break;\n      case \"OrthographicCamera\":\n        object = new OrthographicCamera(data.left, data.right, data.top, data.bottom, data.near, data.far);\n        if (data.zoom !== void 0) object.zoom = data.zoom;\n        if (data.view !== void 0) object.view = Object.assign({}, data.view);\n        break;\n      case \"AmbientLight\":\n        object = new AmbientLight(data.color, data.intensity);\n        break;\n      case \"DirectionalLight\":\n        object = new DirectionalLight(data.color, data.intensity);\n        object.target = data.target || \"\";\n        break;\n      case \"PointLight\":\n        object = new PointLight(data.color, data.intensity, data.distance, data.decay);\n        break;\n      case \"RectAreaLight\":\n        object = new RectAreaLight(data.color, data.intensity, data.width, data.height);\n        break;\n      case \"SpotLight\":\n        object = new SpotLight(data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay);\n        object.target = data.target || \"\";\n        break;\n      case \"HemisphereLight\":\n        object = new HemisphereLight(data.color, data.groundColor, data.intensity);\n        break;\n      case \"LightProbe\":\n        object = new LightProbe().fromJSON(data);\n        break;\n      case \"SkinnedMesh\":\n        geometry = getGeometry(data.geometry);\n        material = getMaterial(data.material);\n        object = new SkinnedMesh(geometry, material);\n        if (data.bindMode !== void 0) object.bindMode = data.bindMode;\n        if (data.bindMatrix !== void 0) object.bindMatrix.fromArray(data.bindMatrix);\n        if (data.skeleton !== void 0) object.skeleton = data.skeleton;\n        break;\n      case \"Mesh\":\n        geometry = getGeometry(data.geometry);\n        material = getMaterial(data.material);\n        object = new Mesh(geometry, material);\n        break;\n      case \"InstancedMesh\":\n        geometry = getGeometry(data.geometry);\n        material = getMaterial(data.material);\n        const count = data.count;\n        const instanceMatrix = data.instanceMatrix;\n        const instanceColor = data.instanceColor;\n        object = new InstancedMesh(geometry, material, count);\n        object.instanceMatrix = new InstancedBufferAttribute(new Float32Array(instanceMatrix.array), 16);\n        if (instanceColor !== void 0) object.instanceColor = new InstancedBufferAttribute(new Float32Array(instanceColor.array), instanceColor.itemSize);\n        break;\n      case \"BatchedMesh\":\n        geometry = getGeometry(data.geometry);\n        material = getMaterial(data.material);\n        object = new BatchedMesh(data.maxInstanceCount, data.maxVertexCount, data.maxIndexCount, material);\n        object.geometry = geometry;\n        object.perObjectFrustumCulled = data.perObjectFrustumCulled;\n        object.sortObjects = data.sortObjects;\n        object._drawRanges = data.drawRanges;\n        object._reservedRanges = data.reservedRanges;\n        object._visibility = data.visibility;\n        object._active = data.active;\n        object._bounds = data.bounds.map((bound) => {\n          const box = new Box3();\n          box.min.fromArray(bound.boxMin);\n          box.max.fromArray(bound.boxMax);\n          const sphere = new Sphere();\n          sphere.radius = bound.sphereRadius;\n          sphere.center.fromArray(bound.sphereCenter);\n          return {\n            boxInitialized: bound.boxInitialized,\n            box,\n            sphereInitialized: bound.sphereInitialized,\n            sphere\n          };\n        });\n        object._maxInstanceCount = data.maxInstanceCount;\n        object._maxVertexCount = data.maxVertexCount;\n        object._maxIndexCount = data.maxIndexCount;\n        object._geometryInitialized = data.geometryInitialized;\n        object._geometryCount = data.geometryCount;\n        object._matricesTexture = getTexture(data.matricesTexture.uuid);\n        if (data.colorsTexture !== void 0) object._colorsTexture = getTexture(data.colorsTexture.uuid);\n        break;\n      case \"LOD\":\n        object = new LOD();\n        break;\n      case \"Line\":\n        object = new Line(getGeometry(data.geometry), getMaterial(data.material));\n        break;\n      case \"LineLoop\":\n        object = new LineLoop(getGeometry(data.geometry), getMaterial(data.material));\n        break;\n      case \"LineSegments\":\n        object = new LineSegments(getGeometry(data.geometry), getMaterial(data.material));\n        break;\n      case \"PointCloud\":\n      case \"Points\":\n        object = new Points(getGeometry(data.geometry), getMaterial(data.material));\n        break;\n      case \"Sprite\":\n        object = new Sprite(getMaterial(data.material));\n        break;\n      case \"Group\":\n        object = new Group();\n        break;\n      case \"Bone\":\n        object = new Bone();\n        break;\n      default:\n        object = new Object3D();\n    }\n    object.uuid = data.uuid;\n    if (data.name !== void 0) object.name = data.name;\n    if (data.matrix !== void 0) {\n      object.matrix.fromArray(data.matrix);\n      if (data.matrixAutoUpdate !== void 0) object.matrixAutoUpdate = data.matrixAutoUpdate;\n      if (object.matrixAutoUpdate) object.matrix.decompose(object.position, object.quaternion, object.scale);\n    } else {\n      if (data.position !== void 0) object.position.fromArray(data.position);\n      if (data.rotation !== void 0) object.rotation.fromArray(data.rotation);\n      if (data.quaternion !== void 0) object.quaternion.fromArray(data.quaternion);\n      if (data.scale !== void 0) object.scale.fromArray(data.scale);\n    }\n    if (data.up !== void 0) object.up.fromArray(data.up);\n    if (data.castShadow !== void 0) object.castShadow = data.castShadow;\n    if (data.receiveShadow !== void 0) object.receiveShadow = data.receiveShadow;\n    if (data.shadow) {\n      if (data.shadow.intensity !== void 0) object.shadow.intensity = data.shadow.intensity;\n      if (data.shadow.bias !== void 0) object.shadow.bias = data.shadow.bias;\n      if (data.shadow.normalBias !== void 0) object.shadow.normalBias = data.shadow.normalBias;\n      if (data.shadow.radius !== void 0) object.shadow.radius = data.shadow.radius;\n      if (data.shadow.mapSize !== void 0) object.shadow.mapSize.fromArray(data.shadow.mapSize);\n      if (data.shadow.camera !== void 0) object.shadow.camera = this.parseObject(data.shadow.camera);\n    }\n    if (data.visible !== void 0) object.visible = data.visible;\n    if (data.frustumCulled !== void 0) object.frustumCulled = data.frustumCulled;\n    if (data.renderOrder !== void 0) object.renderOrder = data.renderOrder;\n    if (data.userData !== void 0) object.userData = data.userData;\n    if (data.layers !== void 0) object.layers.mask = data.layers;\n    if (data.children !== void 0) {\n      const children = data.children;\n      for (let i = 0; i < children.length; i++) {\n        object.add(this.parseObject(children[i], geometries, materials, textures, animations));\n      }\n    }\n    if (data.animations !== void 0) {\n      const objectAnimations = data.animations;\n      for (let i = 0; i < objectAnimations.length; i++) {\n        const uuid = objectAnimations[i];\n        object.animations.push(animations[uuid]);\n      }\n    }\n    if (data.type === \"LOD\") {\n      if (data.autoUpdate !== void 0) object.autoUpdate = data.autoUpdate;\n      const levels = data.levels;\n      for (let l = 0; l < levels.length; l++) {\n        const level = levels[l];\n        const child = object.getObjectByProperty(\"uuid\", level.object);\n        if (child !== void 0) {\n          object.addLevel(child, level.distance, level.hysteresis);\n        }\n      }\n    }\n    return object;\n  }\n  bindSkeletons(object, skeletons) {\n    if (Object.keys(skeletons).length === 0) return;\n    object.traverse(function(child) {\n      if (child.isSkinnedMesh === true && child.skeleton !== void 0) {\n        const skeleton = skeletons[child.skeleton];\n        if (skeleton === void 0) {\n          console.warn(\"THREE.ObjectLoader: No skeleton found with UUID:\", child.skeleton);\n        } else {\n          child.bind(skeleton, child.bindMatrix);\n        }\n      }\n    });\n  }\n  bindLightTargets(object) {\n    object.traverse(function(child) {\n      if (child.isDirectionalLight || child.isSpotLight) {\n        const uuid = child.target;\n        const target = object.getObjectByProperty(\"uuid\", uuid);\n        if (target !== void 0) {\n          child.target = target;\n        } else {\n          child.target = new Object3D();\n        }\n      }\n    });\n  }\n};\nvar TEXTURE_MAPPING = {\n  UVMapping,\n  CubeReflectionMapping,\n  CubeRefractionMapping,\n  EquirectangularReflectionMapping,\n  EquirectangularRefractionMapping,\n  CubeUVReflectionMapping\n};\nvar TEXTURE_WRAPPING = {\n  RepeatWrapping,\n  ClampToEdgeWrapping,\n  MirroredRepeatWrapping\n};\nvar TEXTURE_FILTER = {\n  NearestFilter,\n  NearestMipmapNearestFilter,\n  NearestMipmapLinearFilter,\n  LinearFilter,\n  LinearMipmapNearestFilter,\n  LinearMipmapLinearFilter\n};\nvar ImageBitmapLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n    this.isImageBitmapLoader = true;\n    if (typeof createImageBitmap === \"undefined\") {\n      console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");\n    }\n    if (typeof fetch === \"undefined\") {\n      console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");\n    }\n    this.options = { premultiplyAlpha: \"none\" };\n  }\n  setOptions(options) {\n    this.options = options;\n    return this;\n  }\n  load(url, onLoad, onProgress, onError) {\n    if (url === void 0) url = \"\";\n    if (this.path !== void 0) url = this.path + url;\n    url = this.manager.resolveURL(url);\n    const scope = this;\n    const cached = Cache.get(url);\n    if (cached !== void 0) {\n      scope.manager.itemStart(url);\n      if (cached.then) {\n        cached.then((imageBitmap) => {\n          if (onLoad) onLoad(imageBitmap);\n          scope.manager.itemEnd(url);\n        }).catch((e) => {\n          if (onError) onError(e);\n        });\n        return;\n      }\n      setTimeout(function() {\n        if (onLoad) onLoad(cached);\n        scope.manager.itemEnd(url);\n      }, 0);\n      return cached;\n    }\n    const fetchOptions = {};\n    fetchOptions.credentials = this.crossOrigin === \"anonymous\" ? \"same-origin\" : \"include\";\n    fetchOptions.headers = this.requestHeader;\n    const promise = fetch(url, fetchOptions).then(function(res) {\n      return res.blob();\n    }).then(function(blob) {\n      return createImageBitmap(blob, Object.assign(scope.options, { colorSpaceConversion: \"none\" }));\n    }).then(function(imageBitmap) {\n      Cache.add(url, imageBitmap);\n      if (onLoad) onLoad(imageBitmap);\n      scope.manager.itemEnd(url);\n      return imageBitmap;\n    }).catch(function(e) {\n      if (onError) onError(e);\n      Cache.remove(url);\n      scope.manager.itemError(url);\n      scope.manager.itemEnd(url);\n    });\n    Cache.add(url, promise);\n    scope.manager.itemStart(url);\n  }\n};\nvar _context;\nvar AudioContext = class {\n  static getContext() {\n    if (_context === void 0) {\n      _context = new (window.AudioContext || window.webkitAudioContext)();\n    }\n    return _context;\n  }\n  static setContext(value) {\n    _context = value;\n  }\n};\nvar AudioLoader = class extends Loader {\n  constructor(manager) {\n    super(manager);\n  }\n  load(url, onLoad, onProgress, onError) {\n    const scope = this;\n    const loader = new FileLoader(this.manager);\n    loader.setResponseType(\"arraybuffer\");\n    loader.setPath(this.path);\n    loader.setRequestHeader(this.requestHeader);\n    loader.setWithCredentials(this.withCredentials);\n    loader.load(url, function(buffer) {\n      try {\n        const bufferCopy = buffer.slice(0);\n        const context = AudioContext.getContext();\n        context.decodeAudioData(bufferCopy, function(audioBuffer) {\n          onLoad(audioBuffer);\n        }).catch(handleError);\n      } catch (e) {\n        handleError(e);\n      }\n    }, onProgress, onError);\n    function handleError(e) {\n      if (onError) {\n        onError(e);\n      } else {\n        console.error(e);\n      }\n      scope.manager.itemError(url);\n    }\n  }\n};\nvar _eyeRight = /* @__PURE__ */ new Matrix4();\nvar _eyeLeft = /* @__PURE__ */ new Matrix4();\nvar _projectionMatrix = /* @__PURE__ */ new Matrix4();\nvar StereoCamera = class {\n  constructor() {\n    this.type = \"StereoCamera\";\n    this.aspect = 1;\n    this.eyeSep = 0.064;\n    this.cameraL = new PerspectiveCamera();\n    this.cameraL.layers.enable(1);\n    this.cameraL.matrixAutoUpdate = false;\n    this.cameraR = new PerspectiveCamera();\n    this.cameraR.layers.enable(2);\n    this.cameraR.matrixAutoUpdate = false;\n    this._cache = {\n      focus: null,\n      fov: null,\n      aspect: null,\n      near: null,\n      far: null,\n      zoom: null,\n      eyeSep: null\n    };\n  }\n  update(camera) {\n    const cache = this._cache;\n    const needsUpdate = cache.focus !== camera.focus || cache.fov !== camera.fov || cache.aspect !== camera.aspect * this.aspect || cache.near !== camera.near || cache.far !== camera.far || cache.zoom !== camera.zoom || cache.eyeSep !== this.eyeSep;\n    if (needsUpdate) {\n      cache.focus = camera.focus;\n      cache.fov = camera.fov;\n      cache.aspect = camera.aspect * this.aspect;\n      cache.near = camera.near;\n      cache.far = camera.far;\n      cache.zoom = camera.zoom;\n      cache.eyeSep = this.eyeSep;\n      _projectionMatrix.copy(camera.projectionMatrix);\n      const eyeSepHalf = cache.eyeSep / 2;\n      const eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus;\n      const ymax = cache.near * Math.tan(DEG2RAD * cache.fov * 0.5) / cache.zoom;\n      let xmin, xmax;\n      _eyeLeft.elements[12] = -eyeSepHalf;\n      _eyeRight.elements[12] = eyeSepHalf;\n      xmin = -ymax * cache.aspect + eyeSepOnProjection;\n      xmax = ymax * cache.aspect + eyeSepOnProjection;\n      _projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin);\n      _projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin);\n      this.cameraL.projectionMatrix.copy(_projectionMatrix);\n      xmin = -ymax * cache.aspect - eyeSepOnProjection;\n      xmax = ymax * cache.aspect - eyeSepOnProjection;\n      _projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin);\n      _projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin);\n      this.cameraR.projectionMatrix.copy(_projectionMatrix);\n    }\n    this.cameraL.matrixWorld.copy(camera.matrixWorld).multiply(_eyeLeft);\n    this.cameraR.matrixWorld.copy(camera.matrixWorld).multiply(_eyeRight);\n  }\n};\nvar Clock = class {\n  constructor(autoStart = true) {\n    this.autoStart = autoStart;\n    this.startTime = 0;\n    this.oldTime = 0;\n    this.elapsedTime = 0;\n    this.running = false;\n  }\n  start() {\n    this.startTime = now();\n    this.oldTime = this.startTime;\n    this.elapsedTime = 0;\n    this.running = true;\n  }\n  stop() {\n    this.getElapsedTime();\n    this.running = false;\n    this.autoStart = false;\n  }\n  getElapsedTime() {\n    this.getDelta();\n    return this.elapsedTime;\n  }\n  getDelta() {\n    let diff = 0;\n    if (this.autoStart && !this.running) {\n      this.start();\n      return 0;\n    }\n    if (this.running) {\n      const newTime = now();\n      diff = (newTime - this.oldTime) / 1e3;\n      this.oldTime = newTime;\n      this.elapsedTime += diff;\n    }\n    return diff;\n  }\n};\nfunction now() {\n  return performance.now();\n}\nvar _position$1 = /* @__PURE__ */ new Vector3();\nvar _quaternion$1 = /* @__PURE__ */ new Quaternion();\nvar _scale$1 = /* @__PURE__ */ new Vector3();\nvar _orientation$1 = /* @__PURE__ */ new Vector3();\nvar AudioListener = class extends Object3D {\n  constructor() {\n    super();\n    this.type = \"AudioListener\";\n    this.context = AudioContext.getContext();\n    this.gain = this.context.createGain();\n    this.gain.connect(this.context.destination);\n    this.filter = null;\n    this.timeDelta = 0;\n    this._clock = new Clock();\n  }\n  getInput() {\n    return this.gain;\n  }\n  removeFilter() {\n    if (this.filter !== null) {\n      this.gain.disconnect(this.filter);\n      this.filter.disconnect(this.context.destination);\n      this.gain.connect(this.context.destination);\n      this.filter = null;\n    }\n    return this;\n  }\n  getFilter() {\n    return this.filter;\n  }\n  setFilter(value) {\n    if (this.filter !== null) {\n      this.gain.disconnect(this.filter);\n      this.filter.disconnect(this.context.destination);\n    } else {\n      this.gain.disconnect(this.context.destination);\n    }\n    this.filter = value;\n    this.gain.connect(this.filter);\n    this.filter.connect(this.context.destination);\n    return this;\n  }\n  getMasterVolume() {\n    return this.gain.gain.value;\n  }\n  setMasterVolume(value) {\n    this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01);\n    return this;\n  }\n  updateMatrixWorld(force) {\n    super.updateMatrixWorld(force);\n    const listener = this.context.listener;\n    const up = this.up;\n    this.timeDelta = this._clock.getDelta();\n    this.matrixWorld.decompose(_position$1, _quaternion$1, _scale$1);\n    _orientation$1.set(0, 0, -1).applyQuaternion(_quaternion$1);\n    if (listener.positionX) {\n      const endTime = this.context.currentTime + this.timeDelta;\n      listener.positionX.linearRampToValueAtTime(_position$1.x, endTime);\n      listener.positionY.linearRampToValueAtTime(_position$1.y, endTime);\n      listener.positionZ.linearRampToValueAtTime(_position$1.z, endTime);\n      listener.forwardX.linearRampToValueAtTime(_orientation$1.x, endTime);\n      listener.forwardY.linearRampToValueAtTime(_orientation$1.y, endTime);\n      listener.forwardZ.linearRampToValueAtTime(_orientation$1.z, endTime);\n      listener.upX.linearRampToValueAtTime(up.x, endTime);\n      listener.upY.linearRampToValueAtTime(up.y, endTime);\n      listener.upZ.linearRampToValueAtTime(up.z, endTime);\n    } else {\n      listener.setPosition(_position$1.x, _position$1.y, _position$1.z);\n      listener.setOrientation(_orientation$1.x, _orientation$1.y, _orientation$1.z, up.x, up.y, up.z);\n    }\n  }\n};\nvar Audio = class extends Object3D {\n  constructor(listener) {\n    super();\n    this.type = \"Audio\";\n    this.listener = listener;\n    this.context = listener.context;\n    this.gain = this.context.createGain();\n    this.gain.connect(listener.getInput());\n    this.autoplay = false;\n    this.buffer = null;\n    this.detune = 0;\n    this.loop = false;\n    this.loopStart = 0;\n    this.loopEnd = 0;\n    this.offset = 0;\n    this.duration = void 0;\n    this.playbackRate = 1;\n    this.isPlaying = false;\n    this.hasPlaybackControl = true;\n    this.source = null;\n    this.sourceType = \"empty\";\n    this._startedAt = 0;\n    this._progress = 0;\n    this._connected = false;\n    this.filters = [];\n  }\n  getOutput() {\n    return this.gain;\n  }\n  setNodeSource(audioNode) {\n    this.hasPlaybackControl = false;\n    this.sourceType = \"audioNode\";\n    this.source = audioNode;\n    this.connect();\n    return this;\n  }\n  setMediaElementSource(mediaElement) {\n    this.hasPlaybackControl = false;\n    this.sourceType = \"mediaNode\";\n    this.source = this.context.createMediaElementSource(mediaElement);\n    this.connect();\n    return this;\n  }\n  setMediaStreamSource(mediaStream) {\n    this.hasPlaybackControl = false;\n    this.sourceType = \"mediaStreamNode\";\n    this.source = this.context.createMediaStreamSource(mediaStream);\n    this.connect();\n    return this;\n  }\n  setBuffer(audioBuffer) {\n    this.buffer = audioBuffer;\n    this.sourceType = \"buffer\";\n    if (this.autoplay) this.play();\n    return this;\n  }\n  play(delay = 0) {\n    if (this.isPlaying === true) {\n      console.warn(\"THREE.Audio: Audio is already playing.\");\n      return;\n    }\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return;\n    }\n    this._startedAt = this.context.currentTime + delay;\n    const source = this.context.createBufferSource();\n    source.buffer = this.buffer;\n    source.loop = this.loop;\n    source.loopStart = this.loopStart;\n    source.loopEnd = this.loopEnd;\n    source.onended = this.onEnded.bind(this);\n    source.start(this._startedAt, this._progress + this.offset, this.duration);\n    this.isPlaying = true;\n    this.source = source;\n    this.setDetune(this.detune);\n    this.setPlaybackRate(this.playbackRate);\n    return this.connect();\n  }\n  pause() {\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return;\n    }\n    if (this.isPlaying === true) {\n      this._progress += Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate;\n      if (this.loop === true) {\n        this._progress = this._progress % (this.duration || this.buffer.duration);\n      }\n      this.source.stop();\n      this.source.onended = null;\n      this.isPlaying = false;\n    }\n    return this;\n  }\n  stop(delay = 0) {\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return;\n    }\n    this._progress = 0;\n    if (this.source !== null) {\n      this.source.stop(this.context.currentTime + delay);\n      this.source.onended = null;\n    }\n    this.isPlaying = false;\n    return this;\n  }\n  connect() {\n    if (this.filters.length > 0) {\n      this.source.connect(this.filters[0]);\n      for (let i = 1, l = this.filters.length; i < l; i++) {\n        this.filters[i - 1].connect(this.filters[i]);\n      }\n      this.filters[this.filters.length - 1].connect(this.getOutput());\n    } else {\n      this.source.connect(this.getOutput());\n    }\n    this._connected = true;\n    return this;\n  }\n  disconnect() {\n    if (this._connected === false) {\n      return;\n    }\n    if (this.filters.length > 0) {\n      this.source.disconnect(this.filters[0]);\n      for (let i = 1, l = this.filters.length; i < l; i++) {\n        this.filters[i - 1].disconnect(this.filters[i]);\n      }\n      this.filters[this.filters.length - 1].disconnect(this.getOutput());\n    } else {\n      this.source.disconnect(this.getOutput());\n    }\n    this._connected = false;\n    return this;\n  }\n  getFilters() {\n    return this.filters;\n  }\n  setFilters(value) {\n    if (!value) value = [];\n    if (this._connected === true) {\n      this.disconnect();\n      this.filters = value.slice();\n      this.connect();\n    } else {\n      this.filters = value.slice();\n    }\n    return this;\n  }\n  setDetune(value) {\n    this.detune = value;\n    if (this.isPlaying === true && this.source.detune !== void 0) {\n      this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01);\n    }\n    return this;\n  }\n  getDetune() {\n    return this.detune;\n  }\n  getFilter() {\n    return this.getFilters()[0];\n  }\n  setFilter(filter) {\n    return this.setFilters(filter ? [filter] : []);\n  }\n  setPlaybackRate(value) {\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return;\n    }\n    this.playbackRate = value;\n    if (this.isPlaying === true) {\n      this.source.playbackRate.setTargetAtTime(this.playbackRate, this.context.currentTime, 0.01);\n    }\n    return this;\n  }\n  getPlaybackRate() {\n    return this.playbackRate;\n  }\n  onEnded() {\n    this.isPlaying = false;\n  }\n  getLoop() {\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return false;\n    }\n    return this.loop;\n  }\n  setLoop(value) {\n    if (this.hasPlaybackControl === false) {\n      console.warn(\"THREE.Audio: this Audio has no playback control.\");\n      return;\n    }\n    this.loop = value;\n    if (this.isPlaying === true) {\n      this.source.loop = this.loop;\n    }\n    return this;\n  }\n  setLoopStart(value) {\n    this.loopStart = value;\n    return this;\n  }\n  setLoopEnd(value) {\n    this.loopEnd = value;\n    return this;\n  }\n  getVolume() {\n    return this.gain.gain.value;\n  }\n  setVolume(value) {\n    this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01);\n    return this;\n  }\n};\nvar _position = /* @__PURE__ */ new Vector3();\nvar _quaternion = /* @__PURE__ */ new Quaternion();\nvar _scale = /* @__PURE__ */ new Vector3();\nvar _orientation = /* @__PURE__ */ new Vector3();\nvar PositionalAudio = class extends Audio {\n  constructor(listener) {\n    super(listener);\n    this.panner = this.context.createPanner();\n    this.panner.panningModel = \"HRTF\";\n    this.panner.connect(this.gain);\n  }\n  connect() {\n    super.connect();\n    this.panner.connect(this.gain);\n  }\n  disconnect() {\n    super.disconnect();\n    this.panner.disconnect(this.gain);\n  }\n  getOutput() {\n    return this.panner;\n  }\n  getRefDistance() {\n    return this.panner.refDistance;\n  }\n  setRefDistance(value) {\n    this.panner.refDistance = value;\n    return this;\n  }\n  getRolloffFactor() {\n    return this.panner.rolloffFactor;\n  }\n  setRolloffFactor(value) {\n    this.panner.rolloffFactor = value;\n    return this;\n  }\n  getDistanceModel() {\n    return this.panner.distanceModel;\n  }\n  setDistanceModel(value) {\n    this.panner.distanceModel = value;\n    return this;\n  }\n  getMaxDistance() {\n    return this.panner.maxDistance;\n  }\n  setMaxDistance(value) {\n    this.panner.maxDistance = value;\n    return this;\n  }\n  setDirectionalCone(coneInnerAngle, coneOuterAngle, coneOuterGain) {\n    this.panner.coneInnerAngle = coneInnerAngle;\n    this.panner.coneOuterAngle = coneOuterAngle;\n    this.panner.coneOuterGain = coneOuterGain;\n    return this;\n  }\n  updateMatrixWorld(force) {\n    super.updateMatrixWorld(force);\n    if (this.hasPlaybackControl === true && this.isPlaying === false) return;\n    this.matrixWorld.decompose(_position, _quaternion, _scale);\n    _orientation.set(0, 0, 1).applyQuaternion(_quaternion);\n    const panner = this.panner;\n    if (panner.positionX) {\n      const endTime = this.context.currentTime + this.listener.timeDelta;\n      panner.positionX.linearRampToValueAtTime(_position.x, endTime);\n      panner.positionY.linearRampToValueAtTime(_position.y, endTime);\n      panner.positionZ.linearRampToValueAtTime(_position.z, endTime);\n      panner.orientationX.linearRampToValueAtTime(_orientation.x, endTime);\n      panner.orientationY.linearRampToValueAtTime(_orientation.y, endTime);\n      panner.orientationZ.linearRampToValueAtTime(_orientation.z, endTime);\n    } else {\n      panner.setPosition(_position.x, _position.y, _position.z);\n      panner.setOrientation(_orientation.x, _orientation.y, _orientation.z);\n    }\n  }\n};\nvar AudioAnalyser = class {\n  constructor(audio, fftSize = 2048) {\n    this.analyser = audio.context.createAnalyser();\n    this.analyser.fftSize = fftSize;\n    this.data = new Uint8Array(this.analyser.frequencyBinCount);\n    audio.getOutput().connect(this.analyser);\n  }\n  getFrequencyData() {\n    this.analyser.getByteFrequencyData(this.data);\n    return this.data;\n  }\n  getAverageFrequency() {\n    let value = 0;\n    const data = this.getFrequencyData();\n    for (let i = 0; i < data.length; i++) {\n      value += data[i];\n    }\n    return value / data.length;\n  }\n};\nvar PropertyMixer = class {\n  constructor(binding, typeName, valueSize) {\n    this.binding = binding;\n    this.valueSize = valueSize;\n    let mixFunction, mixFunctionAdditive, setIdentity;\n    switch (typeName) {\n      case \"quaternion\":\n        mixFunction = this._slerp;\n        mixFunctionAdditive = this._slerpAdditive;\n        setIdentity = this._setAdditiveIdentityQuaternion;\n        this.buffer = new Float64Array(valueSize * 6);\n        this._workIndex = 5;\n        break;\n      case \"string\":\n      case \"bool\":\n        mixFunction = this._select;\n        mixFunctionAdditive = this._select;\n        setIdentity = this._setAdditiveIdentityOther;\n        this.buffer = new Array(valueSize * 5);\n        break;\n      default:\n        mixFunction = this._lerp;\n        mixFunctionAdditive = this._lerpAdditive;\n        setIdentity = this._setAdditiveIdentityNumeric;\n        this.buffer = new Float64Array(valueSize * 5);\n    }\n    this._mixBufferRegion = mixFunction;\n    this._mixBufferRegionAdditive = mixFunctionAdditive;\n    this._setIdentity = setIdentity;\n    this._origIndex = 3;\n    this._addIndex = 4;\n    this.cumulativeWeight = 0;\n    this.cumulativeWeightAdditive = 0;\n    this.useCount = 0;\n    this.referenceCount = 0;\n  }\n  // accumulate data in the 'incoming' region into 'accu<i>'\n  accumulate(accuIndex, weight) {\n    const buffer = this.buffer, stride = this.valueSize, offset = accuIndex * stride + stride;\n    let currentWeight = this.cumulativeWeight;\n    if (currentWeight === 0) {\n      for (let i = 0; i !== stride; ++i) {\n        buffer[offset + i] = buffer[i];\n      }\n      currentWeight = weight;\n    } else {\n      currentWeight += weight;\n      const mix = weight / currentWeight;\n      this._mixBufferRegion(buffer, offset, 0, mix, stride);\n    }\n    this.cumulativeWeight = currentWeight;\n  }\n  // accumulate data in the 'incoming' region into 'add'\n  accumulateAdditive(weight) {\n    const buffer = this.buffer, stride = this.valueSize, offset = stride * this._addIndex;\n    if (this.cumulativeWeightAdditive === 0) {\n      this._setIdentity();\n    }\n    this._mixBufferRegionAdditive(buffer, offset, 0, weight, stride);\n    this.cumulativeWeightAdditive += weight;\n  }\n  // apply the state of 'accu<i>' to the binding when accus differ\n  apply(accuIndex) {\n    const stride = this.valueSize, buffer = this.buffer, offset = accuIndex * stride + stride, weight = this.cumulativeWeight, weightAdditive = this.cumulativeWeightAdditive, binding = this.binding;\n    this.cumulativeWeight = 0;\n    this.cumulativeWeightAdditive = 0;\n    if (weight < 1) {\n      const originalValueOffset = stride * this._origIndex;\n      this._mixBufferRegion(\n        buffer,\n        offset,\n        originalValueOffset,\n        1 - weight,\n        stride\n      );\n    }\n    if (weightAdditive > 0) {\n      this._mixBufferRegionAdditive(buffer, offset, this._addIndex * stride, 1, stride);\n    }\n    for (let i = stride, e = stride + stride; i !== e; ++i) {\n      if (buffer[i] !== buffer[i + stride]) {\n        binding.setValue(buffer, offset);\n        break;\n      }\n    }\n  }\n  // remember the state of the bound property and copy it to both accus\n  saveOriginalState() {\n    const binding = this.binding;\n    const buffer = this.buffer, stride = this.valueSize, originalValueOffset = stride * this._origIndex;\n    binding.getValue(buffer, originalValueOffset);\n    for (let i = stride, e = originalValueOffset; i !== e; ++i) {\n      buffer[i] = buffer[originalValueOffset + i % stride];\n    }\n    this._setIdentity();\n    this.cumulativeWeight = 0;\n    this.cumulativeWeightAdditive = 0;\n  }\n  // apply the state previously taken via 'saveOriginalState' to the binding\n  restoreOriginalState() {\n    const originalValueOffset = this.valueSize * 3;\n    this.binding.setValue(this.buffer, originalValueOffset);\n  }\n  _setAdditiveIdentityNumeric() {\n    const startIndex = this._addIndex * this.valueSize;\n    const endIndex = startIndex + this.valueSize;\n    for (let i = startIndex; i < endIndex; i++) {\n      this.buffer[i] = 0;\n    }\n  }\n  _setAdditiveIdentityQuaternion() {\n    this._setAdditiveIdentityNumeric();\n    this.buffer[this._addIndex * this.valueSize + 3] = 1;\n  }\n  _setAdditiveIdentityOther() {\n    const startIndex = this._origIndex * this.valueSize;\n    const targetIndex = this._addIndex * this.valueSize;\n    for (let i = 0; i < this.valueSize; i++) {\n      this.buffer[targetIndex + i] = this.buffer[startIndex + i];\n    }\n  }\n  // mix functions\n  _select(buffer, dstOffset, srcOffset, t, stride) {\n    if (t >= 0.5) {\n      for (let i = 0; i !== stride; ++i) {\n        buffer[dstOffset + i] = buffer[srcOffset + i];\n      }\n    }\n  }\n  _slerp(buffer, dstOffset, srcOffset, t) {\n    Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t);\n  }\n  _slerpAdditive(buffer, dstOffset, srcOffset, t, stride) {\n    const workOffset = this._workIndex * stride;\n    Quaternion.multiplyQuaternionsFlat(buffer, workOffset, buffer, dstOffset, buffer, srcOffset);\n    Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, workOffset, t);\n  }\n  _lerp(buffer, dstOffset, srcOffset, t, stride) {\n    const s = 1 - t;\n    for (let i = 0; i !== stride; ++i) {\n      const j = dstOffset + i;\n      buffer[j] = buffer[j] * s + buffer[srcOffset + i] * t;\n    }\n  }\n  _lerpAdditive(buffer, dstOffset, srcOffset, t, stride) {\n    for (let i = 0; i !== stride; ++i) {\n      const j = dstOffset + i;\n      buffer[j] = buffer[j] + buffer[srcOffset + i] * t;\n    }\n  }\n};\nvar _RESERVED_CHARS_RE = \"\\\\[\\\\]\\\\.:\\\\/\";\nvar _reservedRe = new RegExp(\"[\" + _RESERVED_CHARS_RE + \"]\", \"g\");\nvar _wordChar = \"[^\" + _RESERVED_CHARS_RE + \"]\";\nvar _wordCharOrDot = \"[^\" + _RESERVED_CHARS_RE.replace(\"\\\\.\", \"\") + \"]\";\nvar _directoryRe = /* @__PURE__ */ /((?:WC+[\\/:])*)/.source.replace(\"WC\", _wordChar);\nvar _nodeRe = /* @__PURE__ */ /(WCOD+)?/.source.replace(\"WCOD\", _wordCharOrDot);\nvar _objectRe = /* @__PURE__ */ /(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\", _wordChar);\nvar _propertyRe = /* @__PURE__ */ /\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\", _wordChar);\nvar _trackRe = new RegExp(\n  \"^\" + _directoryRe + _nodeRe + _objectRe + _propertyRe + \"$\"\n);\nvar _supportedObjectNames = [\"material\", \"materials\", \"bones\", \"map\"];\nvar Composite = class {\n  constructor(targetGroup, path, optionalParsedPath) {\n    const parsedPath = optionalParsedPath || PropertyBinding.parseTrackName(path);\n    this._targetGroup = targetGroup;\n    this._bindings = targetGroup.subscribe_(path, parsedPath);\n  }\n  getValue(array, offset) {\n    this.bind();\n    const firstValidIndex = this._targetGroup.nCachedObjects_, binding = this._bindings[firstValidIndex];\n    if (binding !== void 0) binding.getValue(array, offset);\n  }\n  setValue(array, offset) {\n    const bindings = this._bindings;\n    for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) {\n      bindings[i].setValue(array, offset);\n    }\n  }\n  bind() {\n    const bindings = this._bindings;\n    for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) {\n      bindings[i].bind();\n    }\n  }\n  unbind() {\n    const bindings = this._bindings;\n    for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) {\n      bindings[i].unbind();\n    }\n  }\n};\nvar PropertyBinding = class _PropertyBinding {\n  constructor(rootNode, path, parsedPath) {\n    this.path = path;\n    this.parsedPath = parsedPath || _PropertyBinding.parseTrackName(path);\n    this.node = _PropertyBinding.findNode(rootNode, this.parsedPath.nodeName);\n    this.rootNode = rootNode;\n    this.getValue = this._getValue_unbound;\n    this.setValue = this._setValue_unbound;\n  }\n  static create(root, path, parsedPath) {\n    if (!(root && root.isAnimationObjectGroup)) {\n      return new _PropertyBinding(root, path, parsedPath);\n    } else {\n      return new _PropertyBinding.Composite(root, path, parsedPath);\n    }\n  }\n  /**\n   * Replaces spaces with underscores and removes unsupported characters from\n   * node names, to ensure compatibility with parseTrackName().\n   *\n   * @param {string} name Node name to be sanitized.\n   * @return {string}\n   */\n  static sanitizeNodeName(name) {\n    return name.replace(/\\s/g, \"_\").replace(_reservedRe, \"\");\n  }\n  static parseTrackName(trackName) {\n    const matches = _trackRe.exec(trackName);\n    if (matches === null) {\n      throw new Error(\"PropertyBinding: Cannot parse trackName: \" + trackName);\n    }\n    const results = {\n      // directoryName: matches[ 1 ], // (tschw) currently unused\n      nodeName: matches[2],\n      objectName: matches[3],\n      objectIndex: matches[4],\n      propertyName: matches[5],\n      // required\n      propertyIndex: matches[6]\n    };\n    const lastDot = results.nodeName && results.nodeName.lastIndexOf(\".\");\n    if (lastDot !== void 0 && lastDot !== -1) {\n      const objectName = results.nodeName.substring(lastDot + 1);\n      if (_supportedObjectNames.indexOf(objectName) !== -1) {\n        results.nodeName = results.nodeName.substring(0, lastDot);\n        results.objectName = objectName;\n      }\n    }\n    if (results.propertyName === null || results.propertyName.length === 0) {\n      throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \" + trackName);\n    }\n    return results;\n  }\n  static findNode(root, nodeName) {\n    if (nodeName === void 0 || nodeName === \"\" || nodeName === \".\" || nodeName === -1 || nodeName === root.name || nodeName === root.uuid) {\n      return root;\n    }\n    if (root.skeleton) {\n      const bone = root.skeleton.getBoneByName(nodeName);\n      if (bone !== void 0) {\n        return bone;\n      }\n    }\n    if (root.children) {\n      const searchNodeSubtree = function(children) {\n        for (let i = 0; i < children.length; i++) {\n          const childNode = children[i];\n          if (childNode.name === nodeName || childNode.uuid === nodeName) {\n            return childNode;\n          }\n          const result = searchNodeSubtree(childNode.children);\n          if (result) return result;\n        }\n        return null;\n      };\n      const subTreeNode = searchNodeSubtree(root.children);\n      if (subTreeNode) {\n        return subTreeNode;\n      }\n    }\n    return null;\n  }\n  // these are used to \"bind\" a nonexistent property\n  _getValue_unavailable() {\n  }\n  _setValue_unavailable() {\n  }\n  // Getters\n  _getValue_direct(buffer, offset) {\n    buffer[offset] = this.targetObject[this.propertyName];\n  }\n  _getValue_array(buffer, offset) {\n    const source = this.resolvedProperty;\n    for (let i = 0, n = source.length; i !== n; ++i) {\n      buffer[offset++] = source[i];\n    }\n  }\n  _getValue_arrayElement(buffer, offset) {\n    buffer[offset] = this.resolvedProperty[this.propertyIndex];\n  }\n  _getValue_toArray(buffer, offset) {\n    this.resolvedProperty.toArray(buffer, offset);\n  }\n  // Direct\n  _setValue_direct(buffer, offset) {\n    this.targetObject[this.propertyName] = buffer[offset];\n  }\n  _setValue_direct_setNeedsUpdate(buffer, offset) {\n    this.targetObject[this.propertyName] = buffer[offset];\n    this.targetObject.needsUpdate = true;\n  }\n  _setValue_direct_setMatrixWorldNeedsUpdate(buffer, offset) {\n    this.targetObject[this.propertyName] = buffer[offset];\n    this.targetObject.matrixWorldNeedsUpdate = true;\n  }\n  // EntireArray\n  _setValue_array(buffer, offset) {\n    const dest = this.resolvedProperty;\n    for (let i = 0, n = dest.length; i !== n; ++i) {\n      dest[i] = buffer[offset++];\n    }\n  }\n  _setValue_array_setNeedsUpdate(buffer, offset) {\n    const dest = this.resolvedProperty;\n    for (let i = 0, n = dest.length; i !== n; ++i) {\n      dest[i] = buffer[offset++];\n    }\n    this.targetObject.needsUpdate = true;\n  }\n  _setValue_array_setMatrixWorldNeedsUpdate(buffer, offset) {\n    const dest = this.resolvedProperty;\n    for (let i = 0, n = dest.length; i !== n; ++i) {\n      dest[i] = buffer[offset++];\n    }\n    this.targetObject.matrixWorldNeedsUpdate = true;\n  }\n  // ArrayElement\n  _setValue_arrayElement(buffer, offset) {\n    this.resolvedProperty[this.propertyIndex] = buffer[offset];\n  }\n  _setValue_arrayElement_setNeedsUpdate(buffer, offset) {\n    this.resolvedProperty[this.propertyIndex] = buffer[offset];\n    this.targetObject.needsUpdate = true;\n  }\n  _setValue_arrayElement_setMatrixWorldNeedsUpdate(buffer, offset) {\n    this.resolvedProperty[this.propertyIndex] = buffer[offset];\n    this.targetObject.matrixWorldNeedsUpdate = true;\n  }\n  // HasToFromArray\n  _setValue_fromArray(buffer, offset) {\n    this.resolvedProperty.fromArray(buffer, offset);\n  }\n  _setValue_fromArray_setNeedsUpdate(buffer, offset) {\n    this.resolvedProperty.fromArray(buffer, offset);\n    this.targetObject.needsUpdate = true;\n  }\n  _setValue_fromArray_setMatrixWorldNeedsUpdate(buffer, offset) {\n    this.resolvedProperty.fromArray(buffer, offset);\n    this.targetObject.matrixWorldNeedsUpdate = true;\n  }\n  _getValue_unbound(targetArray, offset) {\n    this.bind();\n    this.getValue(targetArray, offset);\n  }\n  _setValue_unbound(sourceArray, offset) {\n    this.bind();\n    this.setValue(sourceArray, offset);\n  }\n  // create getter / setter pair for a property in the scene graph\n  bind() {\n    let targetObject = this.node;\n    const parsedPath = this.parsedPath;\n    const objectName = parsedPath.objectName;\n    const propertyName = parsedPath.propertyName;\n    let propertyIndex = parsedPath.propertyIndex;\n    if (!targetObject) {\n      targetObject = _PropertyBinding.findNode(this.rootNode, parsedPath.nodeName);\n      this.node = targetObject;\n    }\n    this.getValue = this._getValue_unavailable;\n    this.setValue = this._setValue_unavailable;\n    if (!targetObject) {\n      console.warn(\"THREE.PropertyBinding: No target node found for track: \" + this.path + \".\");\n      return;\n    }\n    if (objectName) {\n      let objectIndex = parsedPath.objectIndex;\n      switch (objectName) {\n        case \"materials\":\n          if (!targetObject.material) {\n            console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\", this);\n            return;\n          }\n          if (!targetObject.material.materials) {\n            console.error(\"THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\", this);\n            return;\n          }\n          targetObject = targetObject.material.materials;\n          break;\n        case \"bones\":\n          if (!targetObject.skeleton) {\n            console.error(\"THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.\", this);\n            return;\n          }\n          targetObject = targetObject.skeleton.bones;\n          for (let i = 0; i < targetObject.length; i++) {\n            if (targetObject[i].name === objectIndex) {\n              objectIndex = i;\n              break;\n            }\n          }\n          break;\n        case \"map\":\n          if (\"map\" in targetObject) {\n            targetObject = targetObject.map;\n            break;\n          }\n          if (!targetObject.material) {\n            console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\", this);\n            return;\n          }\n          if (!targetObject.material.map) {\n            console.error(\"THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.\", this);\n            return;\n          }\n          targetObject = targetObject.material.map;\n          break;\n        default:\n          if (targetObject[objectName] === void 0) {\n            console.error(\"THREE.PropertyBinding: Can not bind to objectName of node undefined.\", this);\n            return;\n          }\n          targetObject = targetObject[objectName];\n      }\n      if (objectIndex !== void 0) {\n        if (targetObject[objectIndex] === void 0) {\n          console.error(\"THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\", this, targetObject);\n          return;\n        }\n        targetObject = targetObject[objectIndex];\n      }\n    }\n    const nodeProperty = targetObject[propertyName];\n    if (nodeProperty === void 0) {\n      const nodeName = parsedPath.nodeName;\n      console.error(\"THREE.PropertyBinding: Trying to update property for track: \" + nodeName + \".\" + propertyName + \" but it wasn't found.\", targetObject);\n      return;\n    }\n    let versioning = this.Versioning.None;\n    this.targetObject = targetObject;\n    if (targetObject.needsUpdate !== void 0) {\n      versioning = this.Versioning.NeedsUpdate;\n    } else if (targetObject.matrixWorldNeedsUpdate !== void 0) {\n      versioning = this.Versioning.MatrixWorldNeedsUpdate;\n    }\n    let bindingType = this.BindingType.Direct;\n    if (propertyIndex !== void 0) {\n      if (propertyName === \"morphTargetInfluences\") {\n        if (!targetObject.geometry) {\n          console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\", this);\n          return;\n        }\n        if (!targetObject.geometry.morphAttributes) {\n          console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\", this);\n          return;\n        }\n        if (targetObject.morphTargetDictionary[propertyIndex] !== void 0) {\n          propertyIndex = targetObject.morphTargetDictionary[propertyIndex];\n        }\n      }\n      bindingType = this.BindingType.ArrayElement;\n      this.resolvedProperty = nodeProperty;\n      this.propertyIndex = propertyIndex;\n    } else if (nodeProperty.fromArray !== void 0 && nodeProperty.toArray !== void 0) {\n      bindingType = this.BindingType.HasFromToArray;\n      this.resolvedProperty = nodeProperty;\n    } else if (Array.isArray(nodeProperty)) {\n      bindingType = this.BindingType.EntireArray;\n      this.resolvedProperty = nodeProperty;\n    } else {\n      this.propertyName = propertyName;\n    }\n    this.getValue = this.GetterByBindingType[bindingType];\n    this.setValue = this.SetterByBindingTypeAndVersioning[bindingType][versioning];\n  }\n  unbind() {\n    this.node = null;\n    this.getValue = this._getValue_unbound;\n    this.setValue = this._setValue_unbound;\n  }\n};\nPropertyBinding.Composite = Composite;\nPropertyBinding.prototype.BindingType = {\n  Direct: 0,\n  EntireArray: 1,\n  ArrayElement: 2,\n  HasFromToArray: 3\n};\nPropertyBinding.prototype.Versioning = {\n  None: 0,\n  NeedsUpdate: 1,\n  MatrixWorldNeedsUpdate: 2\n};\nPropertyBinding.prototype.GetterByBindingType = [\n  PropertyBinding.prototype._getValue_direct,\n  PropertyBinding.prototype._getValue_array,\n  PropertyBinding.prototype._getValue_arrayElement,\n  PropertyBinding.prototype._getValue_toArray\n];\nPropertyBinding.prototype.SetterByBindingTypeAndVersioning = [\n  [\n    // Direct\n    PropertyBinding.prototype._setValue_direct,\n    PropertyBinding.prototype._setValue_direct_setNeedsUpdate,\n    PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate\n  ],\n  [\n    // EntireArray\n    PropertyBinding.prototype._setValue_array,\n    PropertyBinding.prototype._setValue_array_setNeedsUpdate,\n    PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate\n  ],\n  [\n    // ArrayElement\n    PropertyBinding.prototype._setValue_arrayElement,\n    PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,\n    PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate\n  ],\n  [\n    // HasToFromArray\n    PropertyBinding.prototype._setValue_fromArray,\n    PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,\n    PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate\n  ]\n];\nvar AnimationObjectGroup = class {\n  constructor() {\n    this.isAnimationObjectGroup = true;\n    this.uuid = generateUUID();\n    this._objects = Array.prototype.slice.call(arguments);\n    this.nCachedObjects_ = 0;\n    const indices = {};\n    this._indicesByUUID = indices;\n    for (let i = 0, n = arguments.length; i !== n; ++i) {\n      indices[arguments[i].uuid] = i;\n    }\n    this._paths = [];\n    this._parsedPaths = [];\n    this._bindings = [];\n    this._bindingsIndicesByPath = {};\n    const scope = this;\n    this.stats = {\n      objects: {\n        get total() {\n          return scope._objects.length;\n        },\n        get inUse() {\n          return this.total - scope.nCachedObjects_;\n        }\n      },\n      get bindingsPerObject() {\n        return scope._bindings.length;\n      }\n    };\n  }\n  add() {\n    const objects = this._objects, indicesByUUID = this._indicesByUUID, paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, nBindings = bindings.length;\n    let knownObject = void 0, nObjects = objects.length, nCachedObjects = this.nCachedObjects_;\n    for (let i = 0, n = arguments.length; i !== n; ++i) {\n      const object = arguments[i], uuid = object.uuid;\n      let index = indicesByUUID[uuid];\n      if (index === void 0) {\n        index = nObjects++;\n        indicesByUUID[uuid] = index;\n        objects.push(object);\n        for (let j = 0, m = nBindings; j !== m; ++j) {\n          bindings[j].push(new PropertyBinding(object, paths[j], parsedPaths[j]));\n        }\n      } else if (index < nCachedObjects) {\n        knownObject = objects[index];\n        const firstActiveIndex = --nCachedObjects, lastCachedObject = objects[firstActiveIndex];\n        indicesByUUID[lastCachedObject.uuid] = index;\n        objects[index] = lastCachedObject;\n        indicesByUUID[uuid] = firstActiveIndex;\n        objects[firstActiveIndex] = object;\n        for (let j = 0, m = nBindings; j !== m; ++j) {\n          const bindingsForPath = bindings[j], lastCached = bindingsForPath[firstActiveIndex];\n          let binding = bindingsForPath[index];\n          bindingsForPath[index] = lastCached;\n          if (binding === void 0) {\n            binding = new PropertyBinding(object, paths[j], parsedPaths[j]);\n          }\n          bindingsForPath[firstActiveIndex] = binding;\n        }\n      } else if (objects[index] !== knownObject) {\n        console.error(\"THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\");\n      }\n    }\n    this.nCachedObjects_ = nCachedObjects;\n  }\n  remove() {\n    const objects = this._objects, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length;\n    let nCachedObjects = this.nCachedObjects_;\n    for (let i = 0, n = arguments.length; i !== n; ++i) {\n      const object = arguments[i], uuid = object.uuid, index = indicesByUUID[uuid];\n      if (index !== void 0 && index >= nCachedObjects) {\n        const lastCachedIndex = nCachedObjects++, firstActiveObject = objects[lastCachedIndex];\n        indicesByUUID[firstActiveObject.uuid] = index;\n        objects[index] = firstActiveObject;\n        indicesByUUID[uuid] = lastCachedIndex;\n        objects[lastCachedIndex] = object;\n        for (let j = 0, m = nBindings; j !== m; ++j) {\n          const bindingsForPath = bindings[j], firstActive = bindingsForPath[lastCachedIndex], binding = bindingsForPath[index];\n          bindingsForPath[index] = firstActive;\n          bindingsForPath[lastCachedIndex] = binding;\n        }\n      }\n    }\n    this.nCachedObjects_ = nCachedObjects;\n  }\n  // remove & forget\n  uncache() {\n    const objects = this._objects, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length;\n    let nCachedObjects = this.nCachedObjects_, nObjects = objects.length;\n    for (let i = 0, n = arguments.length; i !== n; ++i) {\n      const object = arguments[i], uuid = object.uuid, index = indicesByUUID[uuid];\n      if (index !== void 0) {\n        delete indicesByUUID[uuid];\n        if (index < nCachedObjects) {\n          const firstActiveIndex = --nCachedObjects, lastCachedObject = objects[firstActiveIndex], lastIndex = --nObjects, lastObject = objects[lastIndex];\n          indicesByUUID[lastCachedObject.uuid] = index;\n          objects[index] = lastCachedObject;\n          indicesByUUID[lastObject.uuid] = firstActiveIndex;\n          objects[firstActiveIndex] = lastObject;\n          objects.pop();\n          for (let j = 0, m = nBindings; j !== m; ++j) {\n            const bindingsForPath = bindings[j], lastCached = bindingsForPath[firstActiveIndex], last = bindingsForPath[lastIndex];\n            bindingsForPath[index] = lastCached;\n            bindingsForPath[firstActiveIndex] = last;\n            bindingsForPath.pop();\n          }\n        } else {\n          const lastIndex = --nObjects, lastObject = objects[lastIndex];\n          if (lastIndex > 0) {\n            indicesByUUID[lastObject.uuid] = index;\n          }\n          objects[index] = lastObject;\n          objects.pop();\n          for (let j = 0, m = nBindings; j !== m; ++j) {\n            const bindingsForPath = bindings[j];\n            bindingsForPath[index] = bindingsForPath[lastIndex];\n            bindingsForPath.pop();\n          }\n        }\n      }\n    }\n    this.nCachedObjects_ = nCachedObjects;\n  }\n  // Internal interface used by befriended PropertyBinding.Composite:\n  subscribe_(path, parsedPath) {\n    const indicesByPath = this._bindingsIndicesByPath;\n    let index = indicesByPath[path];\n    const bindings = this._bindings;\n    if (index !== void 0) return bindings[index];\n    const paths = this._paths, parsedPaths = this._parsedPaths, objects = this._objects, nObjects = objects.length, nCachedObjects = this.nCachedObjects_, bindingsForPath = new Array(nObjects);\n    index = bindings.length;\n    indicesByPath[path] = index;\n    paths.push(path);\n    parsedPaths.push(parsedPath);\n    bindings.push(bindingsForPath);\n    for (let i = nCachedObjects, n = objects.length; i !== n; ++i) {\n      const object = objects[i];\n      bindingsForPath[i] = new PropertyBinding(object, path, parsedPath);\n    }\n    return bindingsForPath;\n  }\n  unsubscribe_(path) {\n    const indicesByPath = this._bindingsIndicesByPath, index = indicesByPath[path];\n    if (index !== void 0) {\n      const paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, lastBindingsIndex = bindings.length - 1, lastBindings = bindings[lastBindingsIndex], lastBindingsPath = path[lastBindingsIndex];\n      indicesByPath[lastBindingsPath] = index;\n      bindings[index] = lastBindings;\n      bindings.pop();\n      parsedPaths[index] = parsedPaths[lastBindingsIndex];\n      parsedPaths.pop();\n      paths[index] = paths[lastBindingsIndex];\n      paths.pop();\n    }\n  }\n};\nvar AnimationAction = class {\n  constructor(mixer, clip, localRoot = null, blendMode = clip.blendMode) {\n    this._mixer = mixer;\n    this._clip = clip;\n    this._localRoot = localRoot;\n    this.blendMode = blendMode;\n    const tracks = clip.tracks, nTracks = tracks.length, interpolants = new Array(nTracks);\n    const interpolantSettings = {\n      endingStart: ZeroCurvatureEnding,\n      endingEnd: ZeroCurvatureEnding\n    };\n    for (let i = 0; i !== nTracks; ++i) {\n      const interpolant = tracks[i].createInterpolant(null);\n      interpolants[i] = interpolant;\n      interpolant.settings = interpolantSettings;\n    }\n    this._interpolantSettings = interpolantSettings;\n    this._interpolants = interpolants;\n    this._propertyBindings = new Array(nTracks);\n    this._cacheIndex = null;\n    this._byClipCacheIndex = null;\n    this._timeScaleInterpolant = null;\n    this._weightInterpolant = null;\n    this.loop = LoopRepeat;\n    this._loopCount = -1;\n    this._startTime = null;\n    this.time = 0;\n    this.timeScale = 1;\n    this._effectiveTimeScale = 1;\n    this.weight = 1;\n    this._effectiveWeight = 1;\n    this.repetitions = Infinity;\n    this.paused = false;\n    this.enabled = true;\n    this.clampWhenFinished = false;\n    this.zeroSlopeAtStart = true;\n    this.zeroSlopeAtEnd = true;\n  }\n  // State & Scheduling\n  play() {\n    this._mixer._activateAction(this);\n    return this;\n  }\n  stop() {\n    this._mixer._deactivateAction(this);\n    return this.reset();\n  }\n  reset() {\n    this.paused = false;\n    this.enabled = true;\n    this.time = 0;\n    this._loopCount = -1;\n    this._startTime = null;\n    return this.stopFading().stopWarping();\n  }\n  isRunning() {\n    return this.enabled && !this.paused && this.timeScale !== 0 && this._startTime === null && this._mixer._isActiveAction(this);\n  }\n  // return true when play has been called\n  isScheduled() {\n    return this._mixer._isActiveAction(this);\n  }\n  startAt(time) {\n    this._startTime = time;\n    return this;\n  }\n  setLoop(mode, repetitions) {\n    this.loop = mode;\n    this.repetitions = repetitions;\n    return this;\n  }\n  // Weight\n  // set the weight stopping any scheduled fading\n  // although .enabled = false yields an effective weight of zero, this\n  // method does *not* change .enabled, because it would be confusing\n  setEffectiveWeight(weight) {\n    this.weight = weight;\n    this._effectiveWeight = this.enabled ? weight : 0;\n    return this.stopFading();\n  }\n  // return the weight considering fading and .enabled\n  getEffectiveWeight() {\n    return this._effectiveWeight;\n  }\n  fadeIn(duration) {\n    return this._scheduleFading(duration, 0, 1);\n  }\n  fadeOut(duration) {\n    return this._scheduleFading(duration, 1, 0);\n  }\n  crossFadeFrom(fadeOutAction, duration, warp) {\n    fadeOutAction.fadeOut(duration);\n    this.fadeIn(duration);\n    if (warp) {\n      const fadeInDuration = this._clip.duration, fadeOutDuration = fadeOutAction._clip.duration, startEndRatio = fadeOutDuration / fadeInDuration, endStartRatio = fadeInDuration / fadeOutDuration;\n      fadeOutAction.warp(1, startEndRatio, duration);\n      this.warp(endStartRatio, 1, duration);\n    }\n    return this;\n  }\n  crossFadeTo(fadeInAction, duration, warp) {\n    return fadeInAction.crossFadeFrom(this, duration, warp);\n  }\n  stopFading() {\n    const weightInterpolant = this._weightInterpolant;\n    if (weightInterpolant !== null) {\n      this._weightInterpolant = null;\n      this._mixer._takeBackControlInterpolant(weightInterpolant);\n    }\n    return this;\n  }\n  // Time Scale Control\n  // set the time scale stopping any scheduled warping\n  // although .paused = true yields an effective time scale of zero, this\n  // method does *not* change .paused, because it would be confusing\n  setEffectiveTimeScale(timeScale) {\n    this.timeScale = timeScale;\n    this._effectiveTimeScale = this.paused ? 0 : timeScale;\n    return this.stopWarping();\n  }\n  // return the time scale considering warping and .paused\n  getEffectiveTimeScale() {\n    return this._effectiveTimeScale;\n  }\n  setDuration(duration) {\n    this.timeScale = this._clip.duration / duration;\n    return this.stopWarping();\n  }\n  syncWith(action) {\n    this.time = action.time;\n    this.timeScale = action.timeScale;\n    return this.stopWarping();\n  }\n  halt(duration) {\n    return this.warp(this._effectiveTimeScale, 0, duration);\n  }\n  warp(startTimeScale, endTimeScale, duration) {\n    const mixer = this._mixer, now2 = mixer.time, timeScale = this.timeScale;\n    let interpolant = this._timeScaleInterpolant;\n    if (interpolant === null) {\n      interpolant = mixer._lendControlInterpolant();\n      this._timeScaleInterpolant = interpolant;\n    }\n    const times = interpolant.parameterPositions, values = interpolant.sampleValues;\n    times[0] = now2;\n    times[1] = now2 + duration;\n    values[0] = startTimeScale / timeScale;\n    values[1] = endTimeScale / timeScale;\n    return this;\n  }\n  stopWarping() {\n    const timeScaleInterpolant = this._timeScaleInterpolant;\n    if (timeScaleInterpolant !== null) {\n      this._timeScaleInterpolant = null;\n      this._mixer._takeBackControlInterpolant(timeScaleInterpolant);\n    }\n    return this;\n  }\n  // Object Accessors\n  getMixer() {\n    return this._mixer;\n  }\n  getClip() {\n    return this._clip;\n  }\n  getRoot() {\n    return this._localRoot || this._mixer._root;\n  }\n  // Interna\n  _update(time, deltaTime, timeDirection, accuIndex) {\n    if (!this.enabled) {\n      this._updateWeight(time);\n      return;\n    }\n    const startTime = this._startTime;\n    if (startTime !== null) {\n      const timeRunning = (time - startTime) * timeDirection;\n      if (timeRunning < 0 || timeDirection === 0) {\n        deltaTime = 0;\n      } else {\n        this._startTime = null;\n        deltaTime = timeDirection * timeRunning;\n      }\n    }\n    deltaTime *= this._updateTimeScale(time);\n    const clipTime = this._updateTime(deltaTime);\n    const weight = this._updateWeight(time);\n    if (weight > 0) {\n      const interpolants = this._interpolants;\n      const propertyMixers = this._propertyBindings;\n      switch (this.blendMode) {\n        case AdditiveAnimationBlendMode:\n          for (let j = 0, m = interpolants.length; j !== m; ++j) {\n            interpolants[j].evaluate(clipTime);\n            propertyMixers[j].accumulateAdditive(weight);\n          }\n          break;\n        case NormalAnimationBlendMode:\n        default:\n          for (let j = 0, m = interpolants.length; j !== m; ++j) {\n            interpolants[j].evaluate(clipTime);\n            propertyMixers[j].accumulate(accuIndex, weight);\n          }\n      }\n    }\n  }\n  _updateWeight(time) {\n    let weight = 0;\n    if (this.enabled) {\n      weight = this.weight;\n      const interpolant = this._weightInterpolant;\n      if (interpolant !== null) {\n        const interpolantValue = interpolant.evaluate(time)[0];\n        weight *= interpolantValue;\n        if (time > interpolant.parameterPositions[1]) {\n          this.stopFading();\n          if (interpolantValue === 0) {\n            this.enabled = false;\n          }\n        }\n      }\n    }\n    this._effectiveWeight = weight;\n    return weight;\n  }\n  _updateTimeScale(time) {\n    let timeScale = 0;\n    if (!this.paused) {\n      timeScale = this.timeScale;\n      const interpolant = this._timeScaleInterpolant;\n      if (interpolant !== null) {\n        const interpolantValue = interpolant.evaluate(time)[0];\n        timeScale *= interpolantValue;\n        if (time > interpolant.parameterPositions[1]) {\n          this.stopWarping();\n          if (timeScale === 0) {\n            this.paused = true;\n          } else {\n            this.timeScale = timeScale;\n          }\n        }\n      }\n    }\n    this._effectiveTimeScale = timeScale;\n    return timeScale;\n  }\n  _updateTime(deltaTime) {\n    const duration = this._clip.duration;\n    const loop = this.loop;\n    let time = this.time + deltaTime;\n    let loopCount = this._loopCount;\n    const pingPong = loop === LoopPingPong;\n    if (deltaTime === 0) {\n      if (loopCount === -1) return time;\n      return pingPong && (loopCount & 1) === 1 ? duration - time : time;\n    }\n    if (loop === LoopOnce) {\n      if (loopCount === -1) {\n        this._loopCount = 0;\n        this._setEndings(true, true, false);\n      }\n      handle_stop: {\n        if (time >= duration) {\n          time = duration;\n        } else if (time < 0) {\n          time = 0;\n        } else {\n          this.time = time;\n          break handle_stop;\n        }\n        if (this.clampWhenFinished) this.paused = true;\n        else this.enabled = false;\n        this.time = time;\n        this._mixer.dispatchEvent({\n          type: \"finished\",\n          action: this,\n          direction: deltaTime < 0 ? -1 : 1\n        });\n      }\n    } else {\n      if (loopCount === -1) {\n        if (deltaTime >= 0) {\n          loopCount = 0;\n          this._setEndings(true, this.repetitions === 0, pingPong);\n        } else {\n          this._setEndings(this.repetitions === 0, true, pingPong);\n        }\n      }\n      if (time >= duration || time < 0) {\n        const loopDelta = Math.floor(time / duration);\n        time -= duration * loopDelta;\n        loopCount += Math.abs(loopDelta);\n        const pending = this.repetitions - loopCount;\n        if (pending <= 0) {\n          if (this.clampWhenFinished) this.paused = true;\n          else this.enabled = false;\n          time = deltaTime > 0 ? duration : 0;\n          this.time = time;\n          this._mixer.dispatchEvent({\n            type: \"finished\",\n            action: this,\n            direction: deltaTime > 0 ? 1 : -1\n          });\n        } else {\n          if (pending === 1) {\n            const atStart = deltaTime < 0;\n            this._setEndings(atStart, !atStart, pingPong);\n          } else {\n            this._setEndings(false, false, pingPong);\n          }\n          this._loopCount = loopCount;\n          this.time = time;\n          this._mixer.dispatchEvent({\n            type: \"loop\",\n            action: this,\n            loopDelta\n          });\n        }\n      } else {\n        this.time = time;\n      }\n      if (pingPong && (loopCount & 1) === 1) {\n        return duration - time;\n      }\n    }\n    return time;\n  }\n  _setEndings(atStart, atEnd, pingPong) {\n    const settings = this._interpolantSettings;\n    if (pingPong) {\n      settings.endingStart = ZeroSlopeEnding;\n      settings.endingEnd = ZeroSlopeEnding;\n    } else {\n      if (atStart) {\n        settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding;\n      } else {\n        settings.endingStart = WrapAroundEnding;\n      }\n      if (atEnd) {\n        settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding;\n      } else {\n        settings.endingEnd = WrapAroundEnding;\n      }\n    }\n  }\n  _scheduleFading(duration, weightNow, weightThen) {\n    const mixer = this._mixer, now2 = mixer.time;\n    let interpolant = this._weightInterpolant;\n    if (interpolant === null) {\n      interpolant = mixer._lendControlInterpolant();\n      this._weightInterpolant = interpolant;\n    }\n    const times = interpolant.parameterPositions, values = interpolant.sampleValues;\n    times[0] = now2;\n    values[0] = weightNow;\n    times[1] = now2 + duration;\n    values[1] = weightThen;\n    return this;\n  }\n};\nvar _controlInterpolantsResultBuffer = new Float32Array(1);\nvar AnimationMixer = class extends EventDispatcher {\n  constructor(root) {\n    super();\n    this._root = root;\n    this._initMemoryManager();\n    this._accuIndex = 0;\n    this.time = 0;\n    this.timeScale = 1;\n  }\n  _bindAction(action, prototypeAction) {\n    const root = action._localRoot || this._root, tracks = action._clip.tracks, nTracks = tracks.length, bindings = action._propertyBindings, interpolants = action._interpolants, rootUuid = root.uuid, bindingsByRoot = this._bindingsByRootAndName;\n    let bindingsByName = bindingsByRoot[rootUuid];\n    if (bindingsByName === void 0) {\n      bindingsByName = {};\n      bindingsByRoot[rootUuid] = bindingsByName;\n    }\n    for (let i = 0; i !== nTracks; ++i) {\n      const track = tracks[i], trackName = track.name;\n      let binding = bindingsByName[trackName];\n      if (binding !== void 0) {\n        ++binding.referenceCount;\n        bindings[i] = binding;\n      } else {\n        binding = bindings[i];\n        if (binding !== void 0) {\n          if (binding._cacheIndex === null) {\n            ++binding.referenceCount;\n            this._addInactiveBinding(binding, rootUuid, trackName);\n          }\n          continue;\n        }\n        const path = prototypeAction && prototypeAction._propertyBindings[i].binding.parsedPath;\n        binding = new PropertyMixer(\n          PropertyBinding.create(root, trackName, path),\n          track.ValueTypeName,\n          track.getValueSize()\n        );\n        ++binding.referenceCount;\n        this._addInactiveBinding(binding, rootUuid, trackName);\n        bindings[i] = binding;\n      }\n      interpolants[i].resultBuffer = binding.buffer;\n    }\n  }\n  _activateAction(action) {\n    if (!this._isActiveAction(action)) {\n      if (action._cacheIndex === null) {\n        const rootUuid = (action._localRoot || this._root).uuid, clipUuid = action._clip.uuid, actionsForClip = this._actionsByClip[clipUuid];\n        this._bindAction(\n          action,\n          actionsForClip && actionsForClip.knownActions[0]\n        );\n        this._addInactiveAction(action, clipUuid, rootUuid);\n      }\n      const bindings = action._propertyBindings;\n      for (let i = 0, n = bindings.length; i !== n; ++i) {\n        const binding = bindings[i];\n        if (binding.useCount++ === 0) {\n          this._lendBinding(binding);\n          binding.saveOriginalState();\n        }\n      }\n      this._lendAction(action);\n    }\n  }\n  _deactivateAction(action) {\n    if (this._isActiveAction(action)) {\n      const bindings = action._propertyBindings;\n      for (let i = 0, n = bindings.length; i !== n; ++i) {\n        const binding = bindings[i];\n        if (--binding.useCount === 0) {\n          binding.restoreOriginalState();\n          this._takeBackBinding(binding);\n        }\n      }\n      this._takeBackAction(action);\n    }\n  }\n  // Memory manager\n  _initMemoryManager() {\n    this._actions = [];\n    this._nActiveActions = 0;\n    this._actionsByClip = {};\n    this._bindings = [];\n    this._nActiveBindings = 0;\n    this._bindingsByRootAndName = {};\n    this._controlInterpolants = [];\n    this._nActiveControlInterpolants = 0;\n    const scope = this;\n    this.stats = {\n      actions: {\n        get total() {\n          return scope._actions.length;\n        },\n        get inUse() {\n          return scope._nActiveActions;\n        }\n      },\n      bindings: {\n        get total() {\n          return scope._bindings.length;\n        },\n        get inUse() {\n          return scope._nActiveBindings;\n        }\n      },\n      controlInterpolants: {\n        get total() {\n          return scope._controlInterpolants.length;\n        },\n        get inUse() {\n          return scope._nActiveControlInterpolants;\n        }\n      }\n    };\n  }\n  // Memory management for AnimationAction objects\n  _isActiveAction(action) {\n    const index = action._cacheIndex;\n    return index !== null && index < this._nActiveActions;\n  }\n  _addInactiveAction(action, clipUuid, rootUuid) {\n    const actions = this._actions, actionsByClip = this._actionsByClip;\n    let actionsForClip = actionsByClip[clipUuid];\n    if (actionsForClip === void 0) {\n      actionsForClip = {\n        knownActions: [action],\n        actionByRoot: {}\n      };\n      action._byClipCacheIndex = 0;\n      actionsByClip[clipUuid] = actionsForClip;\n    } else {\n      const knownActions = actionsForClip.knownActions;\n      action._byClipCacheIndex = knownActions.length;\n      knownActions.push(action);\n    }\n    action._cacheIndex = actions.length;\n    actions.push(action);\n    actionsForClip.actionByRoot[rootUuid] = action;\n  }\n  _removeInactiveAction(action) {\n    const actions = this._actions, lastInactiveAction = actions[actions.length - 1], cacheIndex = action._cacheIndex;\n    lastInactiveAction._cacheIndex = cacheIndex;\n    actions[cacheIndex] = lastInactiveAction;\n    actions.pop();\n    action._cacheIndex = null;\n    const clipUuid = action._clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[clipUuid], knownActionsForClip = actionsForClip.knownActions, lastKnownAction = knownActionsForClip[knownActionsForClip.length - 1], byClipCacheIndex = action._byClipCacheIndex;\n    lastKnownAction._byClipCacheIndex = byClipCacheIndex;\n    knownActionsForClip[byClipCacheIndex] = lastKnownAction;\n    knownActionsForClip.pop();\n    action._byClipCacheIndex = null;\n    const actionByRoot = actionsForClip.actionByRoot, rootUuid = (action._localRoot || this._root).uuid;\n    delete actionByRoot[rootUuid];\n    if (knownActionsForClip.length === 0) {\n      delete actionsByClip[clipUuid];\n    }\n    this._removeInactiveBindingsForAction(action);\n  }\n  _removeInactiveBindingsForAction(action) {\n    const bindings = action._propertyBindings;\n    for (let i = 0, n = bindings.length; i !== n; ++i) {\n      const binding = bindings[i];\n      if (--binding.referenceCount === 0) {\n        this._removeInactiveBinding(binding);\n      }\n    }\n  }\n  _lendAction(action) {\n    const actions = this._actions, prevIndex = action._cacheIndex, lastActiveIndex = this._nActiveActions++, firstInactiveAction = actions[lastActiveIndex];\n    action._cacheIndex = lastActiveIndex;\n    actions[lastActiveIndex] = action;\n    firstInactiveAction._cacheIndex = prevIndex;\n    actions[prevIndex] = firstInactiveAction;\n  }\n  _takeBackAction(action) {\n    const actions = this._actions, prevIndex = action._cacheIndex, firstInactiveIndex = --this._nActiveActions, lastActiveAction = actions[firstInactiveIndex];\n    action._cacheIndex = firstInactiveIndex;\n    actions[firstInactiveIndex] = action;\n    lastActiveAction._cacheIndex = prevIndex;\n    actions[prevIndex] = lastActiveAction;\n  }\n  // Memory management for PropertyMixer objects\n  _addInactiveBinding(binding, rootUuid, trackName) {\n    const bindingsByRoot = this._bindingsByRootAndName, bindings = this._bindings;\n    let bindingByName = bindingsByRoot[rootUuid];\n    if (bindingByName === void 0) {\n      bindingByName = {};\n      bindingsByRoot[rootUuid] = bindingByName;\n    }\n    bindingByName[trackName] = binding;\n    binding._cacheIndex = bindings.length;\n    bindings.push(binding);\n  }\n  _removeInactiveBinding(binding) {\n    const bindings = this._bindings, propBinding = binding.binding, rootUuid = propBinding.rootNode.uuid, trackName = propBinding.path, bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[rootUuid], lastInactiveBinding = bindings[bindings.length - 1], cacheIndex = binding._cacheIndex;\n    lastInactiveBinding._cacheIndex = cacheIndex;\n    bindings[cacheIndex] = lastInactiveBinding;\n    bindings.pop();\n    delete bindingByName[trackName];\n    if (Object.keys(bindingByName).length === 0) {\n      delete bindingsByRoot[rootUuid];\n    }\n  }\n  _lendBinding(binding) {\n    const bindings = this._bindings, prevIndex = binding._cacheIndex, lastActiveIndex = this._nActiveBindings++, firstInactiveBinding = bindings[lastActiveIndex];\n    binding._cacheIndex = lastActiveIndex;\n    bindings[lastActiveIndex] = binding;\n    firstInactiveBinding._cacheIndex = prevIndex;\n    bindings[prevIndex] = firstInactiveBinding;\n  }\n  _takeBackBinding(binding) {\n    const bindings = this._bindings, prevIndex = binding._cacheIndex, firstInactiveIndex = --this._nActiveBindings, lastActiveBinding = bindings[firstInactiveIndex];\n    binding._cacheIndex = firstInactiveIndex;\n    bindings[firstInactiveIndex] = binding;\n    lastActiveBinding._cacheIndex = prevIndex;\n    bindings[prevIndex] = lastActiveBinding;\n  }\n  // Memory management of Interpolants for weight and time scale\n  _lendControlInterpolant() {\n    const interpolants = this._controlInterpolants, lastActiveIndex = this._nActiveControlInterpolants++;\n    let interpolant = interpolants[lastActiveIndex];\n    if (interpolant === void 0) {\n      interpolant = new LinearInterpolant(\n        new Float32Array(2),\n        new Float32Array(2),\n        1,\n        _controlInterpolantsResultBuffer\n      );\n      interpolant.__cacheIndex = lastActiveIndex;\n      interpolants[lastActiveIndex] = interpolant;\n    }\n    return interpolant;\n  }\n  _takeBackControlInterpolant(interpolant) {\n    const interpolants = this._controlInterpolants, prevIndex = interpolant.__cacheIndex, firstInactiveIndex = --this._nActiveControlInterpolants, lastActiveInterpolant = interpolants[firstInactiveIndex];\n    interpolant.__cacheIndex = firstInactiveIndex;\n    interpolants[firstInactiveIndex] = interpolant;\n    lastActiveInterpolant.__cacheIndex = prevIndex;\n    interpolants[prevIndex] = lastActiveInterpolant;\n  }\n  // return an action for a clip optionally using a custom root target\n  // object (this method allocates a lot of dynamic memory in case a\n  // previously unknown clip/root combination is specified)\n  clipAction(clip, optionalRoot, blendMode) {\n    const root = optionalRoot || this._root, rootUuid = root.uuid;\n    let clipObject = typeof clip === \"string\" ? AnimationClip.findByName(root, clip) : clip;\n    const clipUuid = clipObject !== null ? clipObject.uuid : clip;\n    const actionsForClip = this._actionsByClip[clipUuid];\n    let prototypeAction = null;\n    if (blendMode === void 0) {\n      if (clipObject !== null) {\n        blendMode = clipObject.blendMode;\n      } else {\n        blendMode = NormalAnimationBlendMode;\n      }\n    }\n    if (actionsForClip !== void 0) {\n      const existingAction = actionsForClip.actionByRoot[rootUuid];\n      if (existingAction !== void 0 && existingAction.blendMode === blendMode) {\n        return existingAction;\n      }\n      prototypeAction = actionsForClip.knownActions[0];\n      if (clipObject === null)\n        clipObject = prototypeAction._clip;\n    }\n    if (clipObject === null) return null;\n    const newAction = new AnimationAction(this, clipObject, optionalRoot, blendMode);\n    this._bindAction(newAction, prototypeAction);\n    this._addInactiveAction(newAction, clipUuid, rootUuid);\n    return newAction;\n  }\n  // get an existing action\n  existingAction(clip, optionalRoot) {\n    const root = optionalRoot || this._root, rootUuid = root.uuid, clipObject = typeof clip === \"string\" ? AnimationClip.findByName(root, clip) : clip, clipUuid = clipObject ? clipObject.uuid : clip, actionsForClip = this._actionsByClip[clipUuid];\n    if (actionsForClip !== void 0) {\n      return actionsForClip.actionByRoot[rootUuid] || null;\n    }\n    return null;\n  }\n  // deactivates all previously scheduled actions\n  stopAllAction() {\n    const actions = this._actions, nActions = this._nActiveActions;\n    for (let i = nActions - 1; i >= 0; --i) {\n      actions[i].stop();\n    }\n    return this;\n  }\n  // advance the time and update apply the animation\n  update(deltaTime) {\n    deltaTime *= this.timeScale;\n    const actions = this._actions, nActions = this._nActiveActions, time = this.time += deltaTime, timeDirection = Math.sign(deltaTime), accuIndex = this._accuIndex ^= 1;\n    for (let i = 0; i !== nActions; ++i) {\n      const action = actions[i];\n      action._update(time, deltaTime, timeDirection, accuIndex);\n    }\n    const bindings = this._bindings, nBindings = this._nActiveBindings;\n    for (let i = 0; i !== nBindings; ++i) {\n      bindings[i].apply(accuIndex);\n    }\n    return this;\n  }\n  // Allows you to seek to a specific time in an animation.\n  setTime(timeInSeconds) {\n    this.time = 0;\n    for (let i = 0; i < this._actions.length; i++) {\n      this._actions[i].time = 0;\n    }\n    return this.update(timeInSeconds);\n  }\n  // return this mixer's root target object\n  getRoot() {\n    return this._root;\n  }\n  // free all resources specific to a particular clip\n  uncacheClip(clip) {\n    const actions = this._actions, clipUuid = clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[clipUuid];\n    if (actionsForClip !== void 0) {\n      const actionsToRemove = actionsForClip.knownActions;\n      for (let i = 0, n = actionsToRemove.length; i !== n; ++i) {\n        const action = actionsToRemove[i];\n        this._deactivateAction(action);\n        const cacheIndex = action._cacheIndex, lastInactiveAction = actions[actions.length - 1];\n        action._cacheIndex = null;\n        action._byClipCacheIndex = null;\n        lastInactiveAction._cacheIndex = cacheIndex;\n        actions[cacheIndex] = lastInactiveAction;\n        actions.pop();\n        this._removeInactiveBindingsForAction(action);\n      }\n      delete actionsByClip[clipUuid];\n    }\n  }\n  // free all resources specific to a particular root target object\n  uncacheRoot(root) {\n    const rootUuid = root.uuid, actionsByClip = this._actionsByClip;\n    for (const clipUuid in actionsByClip) {\n      const actionByRoot = actionsByClip[clipUuid].actionByRoot, action = actionByRoot[rootUuid];\n      if (action !== void 0) {\n        this._deactivateAction(action);\n        this._removeInactiveAction(action);\n      }\n    }\n    const bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[rootUuid];\n    if (bindingByName !== void 0) {\n      for (const trackName in bindingByName) {\n        const binding = bindingByName[trackName];\n        binding.restoreOriginalState();\n        this._removeInactiveBinding(binding);\n      }\n    }\n  }\n  // remove a targeted clip from the cache\n  uncacheAction(clip, optionalRoot) {\n    const action = this.existingAction(clip, optionalRoot);\n    if (action !== null) {\n      this._deactivateAction(action);\n      this._removeInactiveAction(action);\n    }\n  }\n};\nvar Uniform = class _Uniform {\n  constructor(value) {\n    this.value = value;\n  }\n  clone() {\n    return new _Uniform(this.value.clone === void 0 ? this.value : this.value.clone());\n  }\n};\nvar _id = 0;\nvar UniformsGroup = class extends EventDispatcher {\n  constructor() {\n    super();\n    this.isUniformsGroup = true;\n    Object.defineProperty(this, \"id\", { value: _id++ });\n    this.name = \"\";\n    this.usage = StaticDrawUsage;\n    this.uniforms = [];\n  }\n  add(uniform) {\n    this.uniforms.push(uniform);\n    return this;\n  }\n  remove(uniform) {\n    const index = this.uniforms.indexOf(uniform);\n    if (index !== -1) this.uniforms.splice(index, 1);\n    return this;\n  }\n  setName(name) {\n    this.name = name;\n    return this;\n  }\n  setUsage(value) {\n    this.usage = value;\n    return this;\n  }\n  dispose() {\n    this.dispatchEvent({ type: \"dispose\" });\n    return this;\n  }\n  copy(source) {\n    this.name = source.name;\n    this.usage = source.usage;\n    const uniformsSource = source.uniforms;\n    this.uniforms.length = 0;\n    for (let i = 0, l = uniformsSource.length; i < l; i++) {\n      const uniforms = Array.isArray(uniformsSource[i]) ? uniformsSource[i] : [uniformsSource[i]];\n      for (let j = 0; j < uniforms.length; j++) {\n        this.uniforms.push(uniforms[j].clone());\n      }\n    }\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar InstancedInterleavedBuffer = class extends InterleavedBuffer {\n  constructor(array, stride, meshPerAttribute = 1) {\n    super(array, stride);\n    this.isInstancedInterleavedBuffer = true;\n    this.meshPerAttribute = meshPerAttribute;\n  }\n  copy(source) {\n    super.copy(source);\n    this.meshPerAttribute = source.meshPerAttribute;\n    return this;\n  }\n  clone(data) {\n    const ib = super.clone(data);\n    ib.meshPerAttribute = this.meshPerAttribute;\n    return ib;\n  }\n  toJSON(data) {\n    const json = super.toJSON(data);\n    json.isInstancedInterleavedBuffer = true;\n    json.meshPerAttribute = this.meshPerAttribute;\n    return json;\n  }\n};\nvar GLBufferAttribute = class {\n  constructor(buffer, type, itemSize, elementSize, count) {\n    this.isGLBufferAttribute = true;\n    this.name = \"\";\n    this.buffer = buffer;\n    this.type = type;\n    this.itemSize = itemSize;\n    this.elementSize = elementSize;\n    this.count = count;\n    this.version = 0;\n  }\n  set needsUpdate(value) {\n    if (value === true) this.version++;\n  }\n  setBuffer(buffer) {\n    this.buffer = buffer;\n    return this;\n  }\n  setType(type, elementSize) {\n    this.type = type;\n    this.elementSize = elementSize;\n    return this;\n  }\n  setItemSize(itemSize) {\n    this.itemSize = itemSize;\n    return this;\n  }\n  setCount(count) {\n    this.count = count;\n    return this;\n  }\n};\nvar _matrix = /* @__PURE__ */ new Matrix4();\nvar Raycaster = class {\n  constructor(origin, direction, near = 0, far = Infinity) {\n    this.ray = new Ray(origin, direction);\n    this.near = near;\n    this.far = far;\n    this.camera = null;\n    this.layers = new Layers();\n    this.params = {\n      Mesh: {},\n      Line: { threshold: 1 },\n      LOD: {},\n      Points: { threshold: 1 },\n      Sprite: {}\n    };\n  }\n  set(origin, direction) {\n    this.ray.set(origin, direction);\n  }\n  setFromCamera(coords, camera) {\n    if (camera.isPerspectiveCamera) {\n      this.ray.origin.setFromMatrixPosition(camera.matrixWorld);\n      this.ray.direction.set(coords.x, coords.y, 0.5).unproject(camera).sub(this.ray.origin).normalize();\n      this.camera = camera;\n    } else if (camera.isOrthographicCamera) {\n      this.ray.origin.set(coords.x, coords.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera);\n      this.ray.direction.set(0, 0, -1).transformDirection(camera.matrixWorld);\n      this.camera = camera;\n    } else {\n      console.error(\"THREE.Raycaster: Unsupported camera type: \" + camera.type);\n    }\n  }\n  setFromXRController(controller) {\n    _matrix.identity().extractRotation(controller.matrixWorld);\n    this.ray.origin.setFromMatrixPosition(controller.matrixWorld);\n    this.ray.direction.set(0, 0, -1).applyMatrix4(_matrix);\n    return this;\n  }\n  intersectObject(object, recursive = true, intersects2 = []) {\n    intersect(object, this, intersects2, recursive);\n    intersects2.sort(ascSort);\n    return intersects2;\n  }\n  intersectObjects(objects, recursive = true, intersects2 = []) {\n    for (let i = 0, l = objects.length; i < l; i++) {\n      intersect(objects[i], this, intersects2, recursive);\n    }\n    intersects2.sort(ascSort);\n    return intersects2;\n  }\n};\nfunction ascSort(a, b) {\n  return a.distance - b.distance;\n}\nfunction intersect(object, raycaster, intersects2, recursive) {\n  let propagate = true;\n  if (object.layers.test(raycaster.layers)) {\n    const result = object.raycast(raycaster, intersects2);\n    if (result === false) propagate = false;\n  }\n  if (propagate === true && recursive === true) {\n    const children = object.children;\n    for (let i = 0, l = children.length; i < l; i++) {\n      intersect(children[i], raycaster, intersects2, true);\n    }\n  }\n}\nvar Spherical = class {\n  constructor(radius = 1, phi = 0, theta = 0) {\n    this.radius = radius;\n    this.phi = phi;\n    this.theta = theta;\n    return this;\n  }\n  set(radius, phi, theta) {\n    this.radius = radius;\n    this.phi = phi;\n    this.theta = theta;\n    return this;\n  }\n  copy(other) {\n    this.radius = other.radius;\n    this.phi = other.phi;\n    this.theta = other.theta;\n    return this;\n  }\n  // restrict phi to be between EPS and PI-EPS\n  makeSafe() {\n    const EPS = 1e-6;\n    this.phi = Math.max(EPS, Math.min(Math.PI - EPS, this.phi));\n    return this;\n  }\n  setFromVector3(v) {\n    return this.setFromCartesianCoords(v.x, v.y, v.z);\n  }\n  setFromCartesianCoords(x, y, z) {\n    this.radius = Math.sqrt(x * x + y * y + z * z);\n    if (this.radius === 0) {\n      this.theta = 0;\n      this.phi = 0;\n    } else {\n      this.theta = Math.atan2(x, z);\n      this.phi = Math.acos(clamp(y / this.radius, -1, 1));\n    }\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar Cylindrical = class {\n  constructor(radius = 1, theta = 0, y = 0) {\n    this.radius = radius;\n    this.theta = theta;\n    this.y = y;\n    return this;\n  }\n  set(radius, theta, y) {\n    this.radius = radius;\n    this.theta = theta;\n    this.y = y;\n    return this;\n  }\n  copy(other) {\n    this.radius = other.radius;\n    this.theta = other.theta;\n    this.y = other.y;\n    return this;\n  }\n  setFromVector3(v) {\n    return this.setFromCartesianCoords(v.x, v.y, v.z);\n  }\n  setFromCartesianCoords(x, y, z) {\n    this.radius = Math.sqrt(x * x + z * z);\n    this.theta = Math.atan2(x, z);\n    this.y = y;\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar Matrix2 = class _Matrix2 {\n  constructor(n11, n12, n21, n22) {\n    _Matrix2.prototype.isMatrix2 = true;\n    this.elements = [\n      1,\n      0,\n      0,\n      1\n    ];\n    if (n11 !== void 0) {\n      this.set(n11, n12, n21, n22);\n    }\n  }\n  identity() {\n    this.set(\n      1,\n      0,\n      0,\n      1\n    );\n    return this;\n  }\n  fromArray(array, offset = 0) {\n    for (let i = 0; i < 4; i++) {\n      this.elements[i] = array[i + offset];\n    }\n    return this;\n  }\n  set(n11, n12, n21, n22) {\n    const te = this.elements;\n    te[0] = n11;\n    te[2] = n12;\n    te[1] = n21;\n    te[3] = n22;\n    return this;\n  }\n};\nvar _vector$4 = /* @__PURE__ */ new Vector2();\nvar Box2 = class {\n  constructor(min = new Vector2(Infinity, Infinity), max = new Vector2(-Infinity, -Infinity)) {\n    this.isBox2 = true;\n    this.min = min;\n    this.max = max;\n  }\n  set(min, max) {\n    this.min.copy(min);\n    this.max.copy(max);\n    return this;\n  }\n  setFromPoints(points) {\n    this.makeEmpty();\n    for (let i = 0, il = points.length; i < il; i++) {\n      this.expandByPoint(points[i]);\n    }\n    return this;\n  }\n  setFromCenterAndSize(center, size) {\n    const halfSize = _vector$4.copy(size).multiplyScalar(0.5);\n    this.min.copy(center).sub(halfSize);\n    this.max.copy(center).add(halfSize);\n    return this;\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n  copy(box) {\n    this.min.copy(box.min);\n    this.max.copy(box.max);\n    return this;\n  }\n  makeEmpty() {\n    this.min.x = this.min.y = Infinity;\n    this.max.x = this.max.y = -Infinity;\n    return this;\n  }\n  isEmpty() {\n    return this.max.x < this.min.x || this.max.y < this.min.y;\n  }\n  getCenter(target) {\n    return this.isEmpty() ? target.set(0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5);\n  }\n  getSize(target) {\n    return this.isEmpty() ? target.set(0, 0) : target.subVectors(this.max, this.min);\n  }\n  expandByPoint(point) {\n    this.min.min(point);\n    this.max.max(point);\n    return this;\n  }\n  expandByVector(vector) {\n    this.min.sub(vector);\n    this.max.add(vector);\n    return this;\n  }\n  expandByScalar(scalar) {\n    this.min.addScalar(-scalar);\n    this.max.addScalar(scalar);\n    return this;\n  }\n  containsPoint(point) {\n    return point.x >= this.min.x && point.x <= this.max.x && point.y >= this.min.y && point.y <= this.max.y;\n  }\n  containsBox(box) {\n    return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y;\n  }\n  getParameter(point, target) {\n    return target.set(\n      (point.x - this.min.x) / (this.max.x - this.min.x),\n      (point.y - this.min.y) / (this.max.y - this.min.y)\n    );\n  }\n  intersectsBox(box) {\n    return box.max.x >= this.min.x && box.min.x <= this.max.x && box.max.y >= this.min.y && box.min.y <= this.max.y;\n  }\n  clampPoint(point, target) {\n    return target.copy(point).clamp(this.min, this.max);\n  }\n  distanceToPoint(point) {\n    return this.clampPoint(point, _vector$4).distanceTo(point);\n  }\n  intersect(box) {\n    this.min.max(box.min);\n    this.max.min(box.max);\n    if (this.isEmpty()) this.makeEmpty();\n    return this;\n  }\n  union(box) {\n    this.min.min(box.min);\n    this.max.max(box.max);\n    return this;\n  }\n  translate(offset) {\n    this.min.add(offset);\n    this.max.add(offset);\n    return this;\n  }\n  equals(box) {\n    return box.min.equals(this.min) && box.max.equals(this.max);\n  }\n};\nvar _startP = /* @__PURE__ */ new Vector3();\nvar _startEnd = /* @__PURE__ */ new Vector3();\nvar Line3 = class {\n  constructor(start = new Vector3(), end = new Vector3()) {\n    this.start = start;\n    this.end = end;\n  }\n  set(start, end) {\n    this.start.copy(start);\n    this.end.copy(end);\n    return this;\n  }\n  copy(line) {\n    this.start.copy(line.start);\n    this.end.copy(line.end);\n    return this;\n  }\n  getCenter(target) {\n    return target.addVectors(this.start, this.end).multiplyScalar(0.5);\n  }\n  delta(target) {\n    return target.subVectors(this.end, this.start);\n  }\n  distanceSq() {\n    return this.start.distanceToSquared(this.end);\n  }\n  distance() {\n    return this.start.distanceTo(this.end);\n  }\n  at(t, target) {\n    return this.delta(target).multiplyScalar(t).add(this.start);\n  }\n  closestPointToPointParameter(point, clampToLine) {\n    _startP.subVectors(point, this.start);\n    _startEnd.subVectors(this.end, this.start);\n    const startEnd2 = _startEnd.dot(_startEnd);\n    const startEnd_startP = _startEnd.dot(_startP);\n    let t = startEnd_startP / startEnd2;\n    if (clampToLine) {\n      t = clamp(t, 0, 1);\n    }\n    return t;\n  }\n  closestPointToPoint(point, clampToLine, target) {\n    const t = this.closestPointToPointParameter(point, clampToLine);\n    return this.delta(target).multiplyScalar(t).add(this.start);\n  }\n  applyMatrix4(matrix) {\n    this.start.applyMatrix4(matrix);\n    this.end.applyMatrix4(matrix);\n    return this;\n  }\n  equals(line) {\n    return line.start.equals(this.start) && line.end.equals(this.end);\n  }\n  clone() {\n    return new this.constructor().copy(this);\n  }\n};\nvar _vector$3 = /* @__PURE__ */ new Vector3();\nvar SpotLightHelper = class extends Object3D {\n  constructor(light, color) {\n    super();\n    this.light = light;\n    this.matrixAutoUpdate = false;\n    this.color = color;\n    this.type = \"SpotLightHelper\";\n    const geometry = new BufferGeometry();\n    const positions = [\n      0,\n      0,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      1,\n      0,\n      0,\n      0,\n      -1,\n      0,\n      1,\n      0,\n      0,\n      0,\n      0,\n      1,\n      1,\n      0,\n      0,\n      0,\n      0,\n      -1,\n      1\n    ];\n    for (let i = 0, j = 1, l = 32; i < l; i++, j++) {\n      const p1 = i / l * Math.PI * 2;\n      const p2 = j / l * Math.PI * 2;\n      positions.push(\n        Math.cos(p1),\n        Math.sin(p1),\n        1,\n        Math.cos(p2),\n        Math.sin(p2),\n        1\n      );\n    }\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(positions, 3));\n    const material = new LineBasicMaterial({ fog: false, toneMapped: false });\n    this.cone = new LineSegments(geometry, material);\n    this.add(this.cone);\n    this.update();\n  }\n  dispose() {\n    this.cone.geometry.dispose();\n    this.cone.material.dispose();\n  }\n  update() {\n    this.light.updateWorldMatrix(true, false);\n    this.light.target.updateWorldMatrix(true, false);\n    if (this.parent) {\n      this.parent.updateWorldMatrix(true);\n      this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld);\n    } else {\n      this.matrix.copy(this.light.matrixWorld);\n    }\n    this.matrixWorld.copy(this.light.matrixWorld);\n    const coneLength = this.light.distance ? this.light.distance : 1e3;\n    const coneWidth = coneLength * Math.tan(this.light.angle);\n    this.cone.scale.set(coneWidth, coneWidth, coneLength);\n    _vector$3.setFromMatrixPosition(this.light.target.matrixWorld);\n    this.cone.lookAt(_vector$3);\n    if (this.color !== void 0) {\n      this.cone.material.color.set(this.color);\n    } else {\n      this.cone.material.color.copy(this.light.color);\n    }\n  }\n};\nvar _vector$2 = /* @__PURE__ */ new Vector3();\nvar _boneMatrix = /* @__PURE__ */ new Matrix4();\nvar _matrixWorldInv = /* @__PURE__ */ new Matrix4();\nvar SkeletonHelper = class extends LineSegments {\n  constructor(object) {\n    const bones = getBoneList(object);\n    const geometry = new BufferGeometry();\n    const vertices = [];\n    const colors = [];\n    const color1 = new Color(0, 0, 1);\n    const color2 = new Color(0, 1, 0);\n    for (let i = 0; i < bones.length; i++) {\n      const bone = bones[i];\n      if (bone.parent && bone.parent.isBone) {\n        vertices.push(0, 0, 0);\n        vertices.push(0, 0, 0);\n        colors.push(color1.r, color1.g, color1.b);\n        colors.push(color2.r, color2.g, color2.b);\n      }\n    }\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    geometry.setAttribute(\"color\", new Float32BufferAttribute(colors, 3));\n    const material = new LineBasicMaterial({ vertexColors: true, depthTest: false, depthWrite: false, toneMapped: false, transparent: true });\n    super(geometry, material);\n    this.isSkeletonHelper = true;\n    this.type = \"SkeletonHelper\";\n    this.root = object;\n    this.bones = bones;\n    this.matrix = object.matrixWorld;\n    this.matrixAutoUpdate = false;\n  }\n  updateMatrixWorld(force) {\n    const bones = this.bones;\n    const geometry = this.geometry;\n    const position = geometry.getAttribute(\"position\");\n    _matrixWorldInv.copy(this.root.matrixWorld).invert();\n    for (let i = 0, j = 0; i < bones.length; i++) {\n      const bone = bones[i];\n      if (bone.parent && bone.parent.isBone) {\n        _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.matrixWorld);\n        _vector$2.setFromMatrixPosition(_boneMatrix);\n        position.setXYZ(j, _vector$2.x, _vector$2.y, _vector$2.z);\n        _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.parent.matrixWorld);\n        _vector$2.setFromMatrixPosition(_boneMatrix);\n        position.setXYZ(j + 1, _vector$2.x, _vector$2.y, _vector$2.z);\n        j += 2;\n      }\n    }\n    geometry.getAttribute(\"position\").needsUpdate = true;\n    super.updateMatrixWorld(force);\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nfunction getBoneList(object) {\n  const boneList = [];\n  if (object.isBone === true) {\n    boneList.push(object);\n  }\n  for (let i = 0; i < object.children.length; i++) {\n    boneList.push.apply(boneList, getBoneList(object.children[i]));\n  }\n  return boneList;\n}\nvar PointLightHelper = class extends Mesh {\n  constructor(light, sphereSize, color) {\n    const geometry = new SphereGeometry(sphereSize, 4, 2);\n    const material = new MeshBasicMaterial({ wireframe: true, fog: false, toneMapped: false });\n    super(geometry, material);\n    this.light = light;\n    this.color = color;\n    this.type = \"PointLightHelper\";\n    this.matrix = this.light.matrixWorld;\n    this.matrixAutoUpdate = false;\n    this.update();\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n  update() {\n    this.light.updateWorldMatrix(true, false);\n    if (this.color !== void 0) {\n      this.material.color.set(this.color);\n    } else {\n      this.material.color.copy(this.light.color);\n    }\n  }\n};\nvar _vector$1 = /* @__PURE__ */ new Vector3();\nvar _color1 = /* @__PURE__ */ new Color();\nvar _color2 = /* @__PURE__ */ new Color();\nvar HemisphereLightHelper = class extends Object3D {\n  constructor(light, size, color) {\n    super();\n    this.light = light;\n    this.matrix = light.matrixWorld;\n    this.matrixAutoUpdate = false;\n    this.color = color;\n    this.type = \"HemisphereLightHelper\";\n    const geometry = new OctahedronGeometry(size);\n    geometry.rotateY(Math.PI * 0.5);\n    this.material = new MeshBasicMaterial({ wireframe: true, fog: false, toneMapped: false });\n    if (this.color === void 0) this.material.vertexColors = true;\n    const position = geometry.getAttribute(\"position\");\n    const colors = new Float32Array(position.count * 3);\n    geometry.setAttribute(\"color\", new BufferAttribute(colors, 3));\n    this.add(new Mesh(geometry, this.material));\n    this.update();\n  }\n  dispose() {\n    this.children[0].geometry.dispose();\n    this.children[0].material.dispose();\n  }\n  update() {\n    const mesh = this.children[0];\n    if (this.color !== void 0) {\n      this.material.color.set(this.color);\n    } else {\n      const colors = mesh.geometry.getAttribute(\"color\");\n      _color1.copy(this.light.color);\n      _color2.copy(this.light.groundColor);\n      for (let i = 0, l = colors.count; i < l; i++) {\n        const color = i < l / 2 ? _color1 : _color2;\n        colors.setXYZ(i, color.r, color.g, color.b);\n      }\n      colors.needsUpdate = true;\n    }\n    this.light.updateWorldMatrix(true, false);\n    mesh.lookAt(_vector$1.setFromMatrixPosition(this.light.matrixWorld).negate());\n  }\n};\nvar GridHelper = class extends LineSegments {\n  constructor(size = 10, divisions = 10, color1 = 4473924, color2 = 8947848) {\n    color1 = new Color(color1);\n    color2 = new Color(color2);\n    const center = divisions / 2;\n    const step = size / divisions;\n    const halfSize = size / 2;\n    const vertices = [], colors = [];\n    for (let i = 0, j = 0, k = -halfSize; i <= divisions; i++, k += step) {\n      vertices.push(-halfSize, 0, k, halfSize, 0, k);\n      vertices.push(k, 0, -halfSize, k, 0, halfSize);\n      const color = i === center ? color1 : color2;\n      color.toArray(colors, j);\n      j += 3;\n      color.toArray(colors, j);\n      j += 3;\n      color.toArray(colors, j);\n      j += 3;\n      color.toArray(colors, j);\n      j += 3;\n    }\n    const geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    geometry.setAttribute(\"color\", new Float32BufferAttribute(colors, 3));\n    const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false });\n    super(geometry, material);\n    this.type = \"GridHelper\";\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nvar PolarGridHelper = class extends LineSegments {\n  constructor(radius = 10, sectors = 16, rings = 8, divisions = 64, color1 = 4473924, color2 = 8947848) {\n    color1 = new Color(color1);\n    color2 = new Color(color2);\n    const vertices = [];\n    const colors = [];\n    if (sectors > 1) {\n      for (let i = 0; i < sectors; i++) {\n        const v = i / sectors * (Math.PI * 2);\n        const x = Math.sin(v) * radius;\n        const z = Math.cos(v) * radius;\n        vertices.push(0, 0, 0);\n        vertices.push(x, 0, z);\n        const color = i & 1 ? color1 : color2;\n        colors.push(color.r, color.g, color.b);\n        colors.push(color.r, color.g, color.b);\n      }\n    }\n    for (let i = 0; i < rings; i++) {\n      const color = i & 1 ? color1 : color2;\n      const r = radius - radius / rings * i;\n      for (let j = 0; j < divisions; j++) {\n        let v = j / divisions * (Math.PI * 2);\n        let x = Math.sin(v) * r;\n        let z = Math.cos(v) * r;\n        vertices.push(x, 0, z);\n        colors.push(color.r, color.g, color.b);\n        v = (j + 1) / divisions * (Math.PI * 2);\n        x = Math.sin(v) * r;\n        z = Math.cos(v) * r;\n        vertices.push(x, 0, z);\n        colors.push(color.r, color.g, color.b);\n      }\n    }\n    const geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    geometry.setAttribute(\"color\", new Float32BufferAttribute(colors, 3));\n    const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false });\n    super(geometry, material);\n    this.type = \"PolarGridHelper\";\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nvar _v1 = /* @__PURE__ */ new Vector3();\nvar _v2 = /* @__PURE__ */ new Vector3();\nvar _v3 = /* @__PURE__ */ new Vector3();\nvar DirectionalLightHelper = class extends Object3D {\n  constructor(light, size, color) {\n    super();\n    this.light = light;\n    this.matrix = light.matrixWorld;\n    this.matrixAutoUpdate = false;\n    this.color = color;\n    this.type = \"DirectionalLightHelper\";\n    if (size === void 0) size = 1;\n    let geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute([\n      -size,\n      size,\n      0,\n      size,\n      size,\n      0,\n      size,\n      -size,\n      0,\n      -size,\n      -size,\n      0,\n      -size,\n      size,\n      0\n    ], 3));\n    const material = new LineBasicMaterial({ fog: false, toneMapped: false });\n    this.lightPlane = new Line(geometry, material);\n    this.add(this.lightPlane);\n    geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute([0, 0, 0, 0, 0, 1], 3));\n    this.targetLine = new Line(geometry, material);\n    this.add(this.targetLine);\n    this.update();\n  }\n  dispose() {\n    this.lightPlane.geometry.dispose();\n    this.lightPlane.material.dispose();\n    this.targetLine.geometry.dispose();\n    this.targetLine.material.dispose();\n  }\n  update() {\n    this.light.updateWorldMatrix(true, false);\n    this.light.target.updateWorldMatrix(true, false);\n    _v1.setFromMatrixPosition(this.light.matrixWorld);\n    _v2.setFromMatrixPosition(this.light.target.matrixWorld);\n    _v3.subVectors(_v2, _v1);\n    this.lightPlane.lookAt(_v2);\n    if (this.color !== void 0) {\n      this.lightPlane.material.color.set(this.color);\n      this.targetLine.material.color.set(this.color);\n    } else {\n      this.lightPlane.material.color.copy(this.light.color);\n      this.targetLine.material.color.copy(this.light.color);\n    }\n    this.targetLine.lookAt(_v2);\n    this.targetLine.scale.z = _v3.length();\n  }\n};\nvar _vector = /* @__PURE__ */ new Vector3();\nvar _camera = /* @__PURE__ */ new Camera();\nvar CameraHelper = class extends LineSegments {\n  constructor(camera) {\n    const geometry = new BufferGeometry();\n    const material = new LineBasicMaterial({ color: 16777215, vertexColors: true, toneMapped: false });\n    const vertices = [];\n    const colors = [];\n    const pointMap = {};\n    addLine(\"n1\", \"n2\");\n    addLine(\"n2\", \"n4\");\n    addLine(\"n4\", \"n3\");\n    addLine(\"n3\", \"n1\");\n    addLine(\"f1\", \"f2\");\n    addLine(\"f2\", \"f4\");\n    addLine(\"f4\", \"f3\");\n    addLine(\"f3\", \"f1\");\n    addLine(\"n1\", \"f1\");\n    addLine(\"n2\", \"f2\");\n    addLine(\"n3\", \"f3\");\n    addLine(\"n4\", \"f4\");\n    addLine(\"p\", \"n1\");\n    addLine(\"p\", \"n2\");\n    addLine(\"p\", \"n3\");\n    addLine(\"p\", \"n4\");\n    addLine(\"u1\", \"u2\");\n    addLine(\"u2\", \"u3\");\n    addLine(\"u3\", \"u1\");\n    addLine(\"c\", \"t\");\n    addLine(\"p\", \"c\");\n    addLine(\"cn1\", \"cn2\");\n    addLine(\"cn3\", \"cn4\");\n    addLine(\"cf1\", \"cf2\");\n    addLine(\"cf3\", \"cf4\");\n    function addLine(a, b) {\n      addPoint(a);\n      addPoint(b);\n    }\n    function addPoint(id) {\n      vertices.push(0, 0, 0);\n      colors.push(0, 0, 0);\n      if (pointMap[id] === void 0) {\n        pointMap[id] = [];\n      }\n      pointMap[id].push(vertices.length / 3 - 1);\n    }\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    geometry.setAttribute(\"color\", new Float32BufferAttribute(colors, 3));\n    super(geometry, material);\n    this.type = \"CameraHelper\";\n    this.camera = camera;\n    if (this.camera.updateProjectionMatrix) this.camera.updateProjectionMatrix();\n    this.matrix = camera.matrixWorld;\n    this.matrixAutoUpdate = false;\n    this.pointMap = pointMap;\n    this.update();\n    const colorFrustum = new Color(16755200);\n    const colorCone = new Color(16711680);\n    const colorUp = new Color(43775);\n    const colorTarget = new Color(16777215);\n    const colorCross = new Color(3355443);\n    this.setColors(colorFrustum, colorCone, colorUp, colorTarget, colorCross);\n  }\n  setColors(frustum, cone, up, target, cross) {\n    const geometry = this.geometry;\n    const colorAttribute = geometry.getAttribute(\"color\");\n    colorAttribute.setXYZ(0, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(1, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(2, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(3, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(4, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(5, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(6, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(7, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(8, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(9, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(10, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(11, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(12, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(13, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(14, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(15, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(16, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(17, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(18, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(19, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(20, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(21, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(22, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(23, frustum.r, frustum.g, frustum.b);\n    colorAttribute.setXYZ(24, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(25, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(26, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(27, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(28, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(29, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(30, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(31, cone.r, cone.g, cone.b);\n    colorAttribute.setXYZ(32, up.r, up.g, up.b);\n    colorAttribute.setXYZ(33, up.r, up.g, up.b);\n    colorAttribute.setXYZ(34, up.r, up.g, up.b);\n    colorAttribute.setXYZ(35, up.r, up.g, up.b);\n    colorAttribute.setXYZ(36, up.r, up.g, up.b);\n    colorAttribute.setXYZ(37, up.r, up.g, up.b);\n    colorAttribute.setXYZ(38, target.r, target.g, target.b);\n    colorAttribute.setXYZ(39, target.r, target.g, target.b);\n    colorAttribute.setXYZ(40, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(41, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(42, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(43, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(44, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(45, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(46, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(47, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(48, cross.r, cross.g, cross.b);\n    colorAttribute.setXYZ(49, cross.r, cross.g, cross.b);\n    colorAttribute.needsUpdate = true;\n  }\n  update() {\n    const geometry = this.geometry;\n    const pointMap = this.pointMap;\n    const w = 1, h = 1;\n    _camera.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);\n    setPoint(\"c\", pointMap, geometry, _camera, 0, 0, -1);\n    setPoint(\"t\", pointMap, geometry, _camera, 0, 0, 1);\n    setPoint(\"n1\", pointMap, geometry, _camera, -w, -h, -1);\n    setPoint(\"n2\", pointMap, geometry, _camera, w, -h, -1);\n    setPoint(\"n3\", pointMap, geometry, _camera, -w, h, -1);\n    setPoint(\"n4\", pointMap, geometry, _camera, w, h, -1);\n    setPoint(\"f1\", pointMap, geometry, _camera, -w, -h, 1);\n    setPoint(\"f2\", pointMap, geometry, _camera, w, -h, 1);\n    setPoint(\"f3\", pointMap, geometry, _camera, -w, h, 1);\n    setPoint(\"f4\", pointMap, geometry, _camera, w, h, 1);\n    setPoint(\"u1\", pointMap, geometry, _camera, w * 0.7, h * 1.1, -1);\n    setPoint(\"u2\", pointMap, geometry, _camera, -w * 0.7, h * 1.1, -1);\n    setPoint(\"u3\", pointMap, geometry, _camera, 0, h * 2, -1);\n    setPoint(\"cf1\", pointMap, geometry, _camera, -w, 0, 1);\n    setPoint(\"cf2\", pointMap, geometry, _camera, w, 0, 1);\n    setPoint(\"cf3\", pointMap, geometry, _camera, 0, -h, 1);\n    setPoint(\"cf4\", pointMap, geometry, _camera, 0, h, 1);\n    setPoint(\"cn1\", pointMap, geometry, _camera, -w, 0, -1);\n    setPoint(\"cn2\", pointMap, geometry, _camera, w, 0, -1);\n    setPoint(\"cn3\", pointMap, geometry, _camera, 0, -h, -1);\n    setPoint(\"cn4\", pointMap, geometry, _camera, 0, h, -1);\n    geometry.getAttribute(\"position\").needsUpdate = true;\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nfunction setPoint(point, pointMap, geometry, camera, x, y, z) {\n  _vector.set(x, y, z).unproject(camera);\n  const points = pointMap[point];\n  if (points !== void 0) {\n    const position = geometry.getAttribute(\"position\");\n    for (let i = 0, l = points.length; i < l; i++) {\n      position.setXYZ(points[i], _vector.x, _vector.y, _vector.z);\n    }\n  }\n}\nvar _box = /* @__PURE__ */ new Box3();\nvar BoxHelper = class extends LineSegments {\n  constructor(object, color = 16776960) {\n    const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]);\n    const positions = new Float32Array(8 * 3);\n    const geometry = new BufferGeometry();\n    geometry.setIndex(new BufferAttribute(indices, 1));\n    geometry.setAttribute(\"position\", new BufferAttribute(positions, 3));\n    super(geometry, new LineBasicMaterial({ color, toneMapped: false }));\n    this.object = object;\n    this.type = \"BoxHelper\";\n    this.matrixAutoUpdate = false;\n    this.update();\n  }\n  update(object) {\n    if (object !== void 0) {\n      console.warn(\"THREE.BoxHelper: .update() has no longer arguments.\");\n    }\n    if (this.object !== void 0) {\n      _box.setFromObject(this.object);\n    }\n    if (_box.isEmpty()) return;\n    const min = _box.min;\n    const max = _box.max;\n    const position = this.geometry.attributes.position;\n    const array = position.array;\n    array[0] = max.x;\n    array[1] = max.y;\n    array[2] = max.z;\n    array[3] = min.x;\n    array[4] = max.y;\n    array[5] = max.z;\n    array[6] = min.x;\n    array[7] = min.y;\n    array[8] = max.z;\n    array[9] = max.x;\n    array[10] = min.y;\n    array[11] = max.z;\n    array[12] = max.x;\n    array[13] = max.y;\n    array[14] = min.z;\n    array[15] = min.x;\n    array[16] = max.y;\n    array[17] = min.z;\n    array[18] = min.x;\n    array[19] = min.y;\n    array[20] = min.z;\n    array[21] = max.x;\n    array[22] = min.y;\n    array[23] = min.z;\n    position.needsUpdate = true;\n    this.geometry.computeBoundingSphere();\n  }\n  setFromObject(object) {\n    this.object = object;\n    this.update();\n    return this;\n  }\n  copy(source, recursive) {\n    super.copy(source, recursive);\n    this.object = source.object;\n    return this;\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nvar Box3Helper = class extends LineSegments {\n  constructor(box, color = 16776960) {\n    const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]);\n    const positions = [1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1];\n    const geometry = new BufferGeometry();\n    geometry.setIndex(new BufferAttribute(indices, 1));\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(positions, 3));\n    super(geometry, new LineBasicMaterial({ color, toneMapped: false }));\n    this.box = box;\n    this.type = \"Box3Helper\";\n    this.geometry.computeBoundingSphere();\n  }\n  updateMatrixWorld(force) {\n    const box = this.box;\n    if (box.isEmpty()) return;\n    box.getCenter(this.position);\n    box.getSize(this.scale);\n    this.scale.multiplyScalar(0.5);\n    super.updateMatrixWorld(force);\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nvar PlaneHelper = class extends Line {\n  constructor(plane, size = 1, hex = 16776960) {\n    const color = hex;\n    const positions = [1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0, 1, 1, 0];\n    const geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(positions, 3));\n    geometry.computeBoundingSphere();\n    super(geometry, new LineBasicMaterial({ color, toneMapped: false }));\n    this.type = \"PlaneHelper\";\n    this.plane = plane;\n    this.size = size;\n    const positions2 = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0];\n    const geometry2 = new BufferGeometry();\n    geometry2.setAttribute(\"position\", new Float32BufferAttribute(positions2, 3));\n    geometry2.computeBoundingSphere();\n    this.add(new Mesh(geometry2, new MeshBasicMaterial({ color, opacity: 0.2, transparent: true, depthWrite: false, toneMapped: false })));\n  }\n  updateMatrixWorld(force) {\n    this.position.set(0, 0, 0);\n    this.scale.set(0.5 * this.size, 0.5 * this.size, 1);\n    this.lookAt(this.plane.normal);\n    this.translateZ(-this.plane.constant);\n    super.updateMatrixWorld(force);\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n    this.children[0].geometry.dispose();\n    this.children[0].material.dispose();\n  }\n};\nvar _axis = /* @__PURE__ */ new Vector3();\nvar _lineGeometry;\nvar _coneGeometry;\nvar ArrowHelper = class extends Object3D {\n  // dir is assumed to be normalized\n  constructor(dir = new Vector3(0, 0, 1), origin = new Vector3(0, 0, 0), length = 1, color = 16776960, headLength = length * 0.2, headWidth = headLength * 0.2) {\n    super();\n    this.type = \"ArrowHelper\";\n    if (_lineGeometry === void 0) {\n      _lineGeometry = new BufferGeometry();\n      _lineGeometry.setAttribute(\"position\", new Float32BufferAttribute([0, 0, 0, 0, 1, 0], 3));\n      _coneGeometry = new CylinderGeometry(0, 0.5, 1, 5, 1);\n      _coneGeometry.translate(0, -0.5, 0);\n    }\n    this.position.copy(origin);\n    this.line = new Line(_lineGeometry, new LineBasicMaterial({ color, toneMapped: false }));\n    this.line.matrixAutoUpdate = false;\n    this.add(this.line);\n    this.cone = new Mesh(_coneGeometry, new MeshBasicMaterial({ color, toneMapped: false }));\n    this.cone.matrixAutoUpdate = false;\n    this.add(this.cone);\n    this.setDirection(dir);\n    this.setLength(length, headLength, headWidth);\n  }\n  setDirection(dir) {\n    if (dir.y > 0.99999) {\n      this.quaternion.set(0, 0, 0, 1);\n    } else if (dir.y < -0.99999) {\n      this.quaternion.set(1, 0, 0, 0);\n    } else {\n      _axis.set(dir.z, 0, -dir.x).normalize();\n      const radians = Math.acos(dir.y);\n      this.quaternion.setFromAxisAngle(_axis, radians);\n    }\n  }\n  setLength(length, headLength = length * 0.2, headWidth = headLength * 0.2) {\n    this.line.scale.set(1, Math.max(1e-4, length - headLength), 1);\n    this.line.updateMatrix();\n    this.cone.scale.set(headWidth, headLength, headWidth);\n    this.cone.position.y = length;\n    this.cone.updateMatrix();\n  }\n  setColor(color) {\n    this.line.material.color.set(color);\n    this.cone.material.color.set(color);\n  }\n  copy(source) {\n    super.copy(source, false);\n    this.line.copy(source.line);\n    this.cone.copy(source.cone);\n    return this;\n  }\n  dispose() {\n    this.line.geometry.dispose();\n    this.line.material.dispose();\n    this.cone.geometry.dispose();\n    this.cone.material.dispose();\n  }\n};\nvar AxesHelper = class extends LineSegments {\n  constructor(size = 1) {\n    const vertices = [\n      0,\n      0,\n      0,\n      size,\n      0,\n      0,\n      0,\n      0,\n      0,\n      0,\n      size,\n      0,\n      0,\n      0,\n      0,\n      0,\n      0,\n      size\n    ];\n    const colors = [\n      1,\n      0,\n      0,\n      1,\n      0.6,\n      0,\n      0,\n      1,\n      0,\n      0.6,\n      1,\n      0,\n      0,\n      0,\n      1,\n      0,\n      0.6,\n      1\n    ];\n    const geometry = new BufferGeometry();\n    geometry.setAttribute(\"position\", new Float32BufferAttribute(vertices, 3));\n    geometry.setAttribute(\"color\", new Float32BufferAttribute(colors, 3));\n    const material = new LineBasicMaterial({ vertexColors: true, toneMapped: false });\n    super(geometry, material);\n    this.type = \"AxesHelper\";\n  }\n  setColors(xAxisColor, yAxisColor, zAxisColor) {\n    const color = new Color();\n    const array = this.geometry.attributes.color.array;\n    color.set(xAxisColor);\n    color.toArray(array, 0);\n    color.toArray(array, 3);\n    color.set(yAxisColor);\n    color.toArray(array, 6);\n    color.toArray(array, 9);\n    color.set(zAxisColor);\n    color.toArray(array, 12);\n    color.toArray(array, 15);\n    this.geometry.attributes.color.needsUpdate = true;\n    return this;\n  }\n  dispose() {\n    this.geometry.dispose();\n    this.material.dispose();\n  }\n};\nvar ShapePath = class {\n  constructor() {\n    this.type = \"ShapePath\";\n    this.color = new Color();\n    this.subPaths = [];\n    this.currentPath = null;\n  }\n  moveTo(x, y) {\n    this.currentPath = new Path();\n    this.subPaths.push(this.currentPath);\n    this.currentPath.moveTo(x, y);\n    return this;\n  }\n  lineTo(x, y) {\n    this.currentPath.lineTo(x, y);\n    return this;\n  }\n  quadraticCurveTo(aCPx, aCPy, aX, aY) {\n    this.currentPath.quadraticCurveTo(aCPx, aCPy, aX, aY);\n    return this;\n  }\n  bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) {\n    this.currentPath.bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY);\n    return this;\n  }\n  splineThru(pts) {\n    this.currentPath.splineThru(pts);\n    return this;\n  }\n  toShapes(isCCW) {\n    function toShapesNoHoles(inSubpaths) {\n      const shapes2 = [];\n      for (let i = 0, l = inSubpaths.length; i < l; i++) {\n        const tmpPath2 = inSubpaths[i];\n        const tmpShape2 = new Shape();\n        tmpShape2.curves = tmpPath2.curves;\n        shapes2.push(tmpShape2);\n      }\n      return shapes2;\n    }\n    function isPointInsidePolygon(inPt, inPolygon) {\n      const polyLen = inPolygon.length;\n      let inside = false;\n      for (let p = polyLen - 1, q = 0; q < polyLen; p = q++) {\n        let edgeLowPt = inPolygon[p];\n        let edgeHighPt = inPolygon[q];\n        let edgeDx = edgeHighPt.x - edgeLowPt.x;\n        let edgeDy = edgeHighPt.y - edgeLowPt.y;\n        if (Math.abs(edgeDy) > Number.EPSILON) {\n          if (edgeDy < 0) {\n            edgeLowPt = inPolygon[q];\n            edgeDx = -edgeDx;\n            edgeHighPt = inPolygon[p];\n            edgeDy = -edgeDy;\n          }\n          if (inPt.y < edgeLowPt.y || inPt.y > edgeHighPt.y) continue;\n          if (inPt.y === edgeLowPt.y) {\n            if (inPt.x === edgeLowPt.x) return true;\n          } else {\n            const perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y);\n            if (perpEdge === 0) return true;\n            if (perpEdge < 0) continue;\n            inside = !inside;\n          }\n        } else {\n          if (inPt.y !== edgeLowPt.y) continue;\n          if (edgeHighPt.x <= inPt.x && inPt.x <= edgeLowPt.x || edgeLowPt.x <= inPt.x && inPt.x <= edgeHighPt.x) return true;\n        }\n      }\n      return inside;\n    }\n    const isClockWise = ShapeUtils.isClockWise;\n    const subPaths = this.subPaths;\n    if (subPaths.length === 0) return [];\n    let solid, tmpPath, tmpShape;\n    const shapes = [];\n    if (subPaths.length === 1) {\n      tmpPath = subPaths[0];\n      tmpShape = new Shape();\n      tmpShape.curves = tmpPath.curves;\n      shapes.push(tmpShape);\n      return shapes;\n    }\n    let holesFirst = !isClockWise(subPaths[0].getPoints());\n    holesFirst = isCCW ? !holesFirst : holesFirst;\n    const betterShapeHoles = [];\n    const newShapes = [];\n    let newShapeHoles = [];\n    let mainIdx = 0;\n    let tmpPoints;\n    newShapes[mainIdx] = void 0;\n    newShapeHoles[mainIdx] = [];\n    for (let i = 0, l = subPaths.length; i < l; i++) {\n      tmpPath = subPaths[i];\n      tmpPoints = tmpPath.getPoints();\n      solid = isClockWise(tmpPoints);\n      solid = isCCW ? !solid : solid;\n      if (solid) {\n        if (!holesFirst && newShapes[mainIdx]) mainIdx++;\n        newShapes[mainIdx] = { s: new Shape(), p: tmpPoints };\n        newShapes[mainIdx].s.curves = tmpPath.curves;\n        if (holesFirst) mainIdx++;\n        newShapeHoles[mainIdx] = [];\n      } else {\n        newShapeHoles[mainIdx].push({ h: tmpPath, p: tmpPoints[0] });\n      }\n    }\n    if (!newShapes[0]) return toShapesNoHoles(subPaths);\n    if (newShapes.length > 1) {\n      let ambiguous = false;\n      let toChange = 0;\n      for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) {\n        betterShapeHoles[sIdx] = [];\n      }\n      for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) {\n        const sho = newShapeHoles[sIdx];\n        for (let hIdx = 0; hIdx < sho.length; hIdx++) {\n          const ho = sho[hIdx];\n          let hole_unassigned = true;\n          for (let s2Idx = 0; s2Idx < newShapes.length; s2Idx++) {\n            if (isPointInsidePolygon(ho.p, newShapes[s2Idx].p)) {\n              if (sIdx !== s2Idx) toChange++;\n              if (hole_unassigned) {\n                hole_unassigned = false;\n                betterShapeHoles[s2Idx].push(ho);\n              } else {\n                ambiguous = true;\n              }\n            }\n          }\n          if (hole_unassigned) {\n            betterShapeHoles[sIdx].push(ho);\n          }\n        }\n      }\n      if (toChange > 0 && ambiguous === false) {\n        newShapeHoles = betterShapeHoles;\n      }\n    }\n    let tmpHoles;\n    for (let i = 0, il = newShapes.length; i < il; i++) {\n      tmpShape = newShapes[i].s;\n      shapes.push(tmpShape);\n      tmpHoles = newShapeHoles[i];\n      for (let j = 0, jl = tmpHoles.length; j < jl; j++) {\n        tmpShape.holes.push(tmpHoles[j].h);\n      }\n    }\n    return shapes;\n  }\n};\nvar Controls = class extends EventDispatcher {\n  constructor(object, domElement = null) {\n    super();\n    this.object = object;\n    this.domElement = domElement;\n    this.enabled = true;\n    this.state = -1;\n    this.keys = {};\n    this.mouseButtons = { LEFT: null, MIDDLE: null, RIGHT: null };\n    this.touches = { ONE: null, TWO: null };\n  }\n  connect() {\n  }\n  disconnect() {\n  }\n  dispose() {\n  }\n  update() {\n  }\n};\nvar WebGLMultipleRenderTargets = class extends WebGLRenderTarget {\n  // @deprecated, r162\n  constructor(width = 1, height = 1, count = 1, options = {}) {\n    console.warn('THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the \"count\" parameter to enable MRT.');\n    super(width, height, __spreadProps(__spreadValues({}, options), { count }));\n    this.isWebGLMultipleRenderTargets = true;\n  }\n  get texture() {\n    return this.textures;\n  }\n};\nif (typeof __THREE_DEVTOOLS__ !== \"undefined\") {\n  __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\", { detail: {\n    revision: REVISION\n  } }));\n}\nif (typeof window !== \"undefined\") {\n  if (window.__THREE__) {\n    console.warn(\"WARNING: Multiple instances of Three.js being imported.\");\n  } else {\n    window.__THREE__ = REVISION;\n  }\n}\n\nexport {\n  BasicShadowMap,\n  PCFShadowMap,\n  PCFSoftShadowMap,\n  VSMShadowMap,\n  DoubleSide,\n  NoToneMapping,\n  ACESFilmicToneMapping,\n  EquirectangularReflectionMapping,\n  LinearFilter,\n  UnsignedByteType,\n  FloatType,\n  HalfFloatType,\n  RGBAFormat,\n  EventDispatcher,\n  Vector2,\n  Texture,\n  WebGLRenderTarget,\n  Vector3,\n  Layers,\n  Color,\n  Material,\n  DataUtils,\n  Float32BufferAttribute,\n  BufferGeometry,\n  Mesh,\n  UniformsUtils,\n  ShaderMaterial,\n  Camera,\n  PerspectiveCamera,\n  ShaderChunk,\n  OrthographicCamera,\n  WebGLRenderer,\n  Scene,\n  MeshPhysicalMaterial,\n  DataTextureLoader,\n  Clock,\n  Uniform,\n  Raycaster,\n  three_module_exports\n};\n/*! Bundled license information:\n\nthree/build/three.module.js:\n  (**\n   * @license\n   * Copyright 2010-2024 Three.js Authors\n   * SPDX-License-Identifier: MIT\n   *)\n*/\n","var t={};t.ConcurrentRoot=1;t.ContinuousEventPriority=4;t.DefaultEventPriority=16;t.DiscreteEventPriority=1;t.IdleEventPriority=536870912;t.LegacyRoot=0;const o=t.ConcurrentRoot,r=t.ContinuousEventPriority,e=t.DefaultEventPriority,i=t.DiscreteEventPriority,n=t.IdleEventPriority,y=t.LegacyRoot;export{o as ConcurrentRoot,r as ContinuousEventPriority,e as DefaultEventPriority,i as DiscreteEventPriority,n as IdleEventPriority,y as LegacyRoot,t as default};\n//# sourceMappingURL=constants.js.map\n","import*as t from\"react\";import*as a from\"scheduler\";var u=t;try{\"default\"in t&&(u=t.default)}catch(t){}var i=a;try{\"default\"in a&&(i=a.default)}catch(t){}var o=typeof globalThis!==\"undefined\"?globalThis:typeof self!==\"undefined\"?self:global;var s={};\n/**\n * @license React\n * react-reconciler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */s=function $$$reconciler(t){var a={};\"use strict\";var s=u,y=i,S=Object.assign;function n(t){for(var a=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+t,u=1;u<arguments.length;u++)a+=\"&args[]=\"+encodeURIComponent(arguments[u]);return\"Minified React error #\"+t+\"; visit \"+a+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var x=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,z=Symbol.for(\"react.element\"),N=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),C=Symbol.for(\"react.strict_mode\"),I=Symbol.for(\"react.profiler\"),_=Symbol.for(\"react.provider\"),L=Symbol.for(\"react.context\"),T=Symbol.for(\"react.forward_ref\"),R=Symbol.for(\"react.suspense\"),F=Symbol.for(\"react.suspense_list\"),D=Symbol.for(\"react.memo\"),H=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");var W=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var j=Symbol.iterator;function ta(t){if(null===t||\"object\"!==typeof t)return null;t=j&&t[j]||t[\"@@iterator\"];return\"function\"===typeof t?t:null}function ua(t){if(null==t)return null;if(\"function\"===typeof t)return t.displayName||t.name||null;if(\"string\"===typeof t)return t;switch(t){case E:return\"Fragment\";case N:return\"Portal\";case I:return\"Profiler\";case C:return\"StrictMode\";case R:return\"Suspense\";case F:return\"SuspenseList\"}if(\"object\"===typeof t)switch(t.$$typeof){case L:return(t.displayName||\"Context\")+\".Consumer\";case _:return(t._context.displayName||\"Context\")+\".Provider\";case T:var a=t.render;t=t.displayName;t||(t=a.displayName||a.name||\"\",t=\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");return t;case D:return a=t.displayName||null,null!==a?a:ua(t.type)||\"Memo\";case H:a=t._payload;t=t._init;try{return ua(t(a))}catch(t){}}return null}function va(t){var a=t.type;switch(t.tag){case 24:return\"Cache\";case 9:return(a.displayName||\"Context\")+\".Consumer\";case 10:return(a._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return t=a.render,t=t.displayName||t.name||\"\",a.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return a;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return ua(a);case 8:return a===C?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a}return null}function wa(t){var a=t,u=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do{a=t,0!==(a.flags&4098)&&(u=a.return),t=a.return}while(t)}return 3===a.tag?u:null}function xa(t){if(wa(t)!==t)throw Error(n(188))}function za(t){var a=t.alternate;if(!a){a=wa(t);if(null===a)throw Error(n(188));return a!==t?null:t}for(var u=t,i=a;;){var o=u.return;if(null===o)break;var s=o.alternate;if(null===s){i=o.return;if(null!==i){u=i;continue}break}if(o.child===s.child){for(s=o.child;s;){if(s===u)return xa(o),t;if(s===i)return xa(o),a;s=s.sibling}throw Error(n(188))}if(u.return!==i.return)u=o,i=s;else{for(var y=!1,S=o.child;S;){if(S===u){y=!0;u=o;i=s;break}if(S===i){y=!0;i=o;u=s;break}S=S.sibling}if(!y){for(S=s.child;S;){if(S===u){y=!0;u=s;i=o;break}if(S===i){y=!0;i=s;u=o;break}S=S.sibling}if(!y)throw Error(n(189))}}if(u.alternate!==i)throw Error(n(190))}if(3!==u.tag)throw Error(n(188));return u.stateNode.current===u?t:a}function Aa(t){t=za(t);return null!==t?Ba(t):null}function Ba(t){if(5===t.tag||6===t.tag)return t;for(t=t.child;null!==t;){var a=Ba(t);if(null!==a)return a;t=t.sibling}return null}function Ca(t){if(5===t.tag||6===t.tag)return t;for(t=t.child;null!==t;){if(4!==t.tag){var a=Ca(t);if(null!==a)return a}t=t.sibling}return null}var $,V=Array.isArray,Z=t.getPublicInstance,J=t.getRootHostContext,K=t.getChildHostContext,G=t.prepareForCommit,X=t.resetAfterCommit,ne=t.createInstance,le=t.appendInitialChild,oe=t.finalizeInitialChildren,de=t.prepareUpdate,pe=t.shouldSetTextContent,xe=t.createTextInstance,ze=t.scheduleTimeout,Ee=t.cancelTimeout,Ce=t.noTimeout,Ie=t.isPrimaryRenderer,_e=t.supportsMutation,Le=t.supportsPersistence,Fe=t.supportsHydration,De=t.getInstanceFromNode,Be=t.preparePortalMount,Ae=t.getCurrentEventPriority,qe=t.detachDeletedInstance,Je=t.supportsMicrotasks,Ke=t.scheduleMicrotask,en=t.supportsTestSelectors,nn=t.findFiberRoot,tn=t.getBoundingRect,rn=t.getTextContent,ln=t.isHiddenSubtree,an=t.matchAccessibilityRole,un=t.setFocusIfFocusable,on=t.setupIntersectionObserver,sn=t.appendChild,cn=t.appendChildToContainer,fn=t.commitTextUpdate,dn=t.commitMount,hn=t.commitUpdate,gn=t.insertBefore,pn=t.insertInContainerBefore,mn=t.removeChild,vn=t.removeChildFromContainer,yn=t.resetTextContent,bn=t.hideInstance,Sn=t.hideTextInstance,kn=t.unhideInstance,xn=t.unhideTextInstance,wn=t.clearContainer,zn=t.cloneInstance,Nn=t.createContainerChildSet,Pn=t.appendChildToContainerChildSet,En=t.finalizeContainerChildren,Cn=t.replaceContainerChildren,In=t.cloneHiddenInstance,_n=t.cloneHiddenTextInstance,Un=t.canHydrateInstance,Ln=t.canHydrateTextInstance,Tn=t.canHydrateSuspenseInstance,Rn=t.isSuspenseInstancePending,Mn=t.isSuspenseInstanceFallback,Fn=t.getSuspenseInstanceFallbackErrorDetails,Qn=t.registerSuspenseInstanceRetry,Dn=t.getNextHydratableSibling,Hn=t.getFirstHydratableChild,Wn=t.getFirstHydratableChildWithinContainer,Bn=t.getFirstHydratableChildWithinSuspenseInstance,On=t.hydrateInstance,An=t.hydrateTextInstance,qn=t.hydrateSuspenseInstance,jn=t.getNextHydratableInstanceAfterSuspenseInstance,$n=t.commitHydratedContainer,Vn=t.commitHydratedSuspenseInstance,Zn=t.clearSuspenseBoundary,Yn=t.clearSuspenseBoundaryFromContainer,Jn=t.shouldDeleteUnhydratedTailInstances,Kn=t.didNotMatchHydratedContainerTextInstance,Gn=t.didNotMatchHydratedTextInstance;function cc(t){if(void 0===$)try{throw Error()}catch(t){var a=t.stack.trim().match(/\\n( *(at )?)/);$=a&&a[1]||\"\"}return\"\\n\"+$+t}var Xn=!1;function ec(t,a){if(!t||Xn)return\"\";Xn=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,\"props\",{set:function(){throw Error()}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(a,[])}catch(t){var i=t}Reflect.construct(t,[],a)}else{try{a.call()}catch(t){i=t}t.call(a.prototype)}else{try{throw Error()}catch(t){i=t}t()}}catch(a){if(a&&i&&\"string\"===typeof a.stack){for(var o=a.stack.split(\"\\n\"),s=i.stack.split(\"\\n\"),y=o.length-1,S=s.length-1;1<=y&&0<=S&&o[y]!==s[S];)S--;for(;1<=y&&0<=S;y--,S--)if(o[y]!==s[S]){if(1!==y||1!==S)do{if(y--,S--,0>S||o[y]!==s[S]){var x=\"\\n\"+o[y].replace(\" at new \",\" at \");t.displayName&&x.includes(\"<anonymous>\")&&(x=x.replace(\"<anonymous>\",t.displayName));return x}}while(1<=y&&0<=S);break}}}finally{Xn=!1,Error.prepareStackTrace=u}return(t=t?t.displayName||t.name:\"\")?cc(t):\"\"}var et=Object.prototype.hasOwnProperty,nt=[],tt=-1;function ic(t){return{current:t}}function q(t){0>tt||(t.current=nt[tt],nt[tt]=null,tt--)}function v(t,a){tt++;nt[tt]=t.current;t.current=a}var rt={},lt=ic(rt),at=ic(!1),ut=rt;function mc(t,a){var u=t.type.contextTypes;if(!u)return rt;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===a)return i.__reactInternalMemoizedMaskedChildContext;var o,s={};for(o in u)s[o]=a[o];i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=a,t.__reactInternalMemoizedMaskedChildContext=s);return s}function A(t){t=t.childContextTypes;return null!==t&&void 0!==t}function nc(){q(at);q(lt)}function oc(t,a,u){if(lt.current!==rt)throw Error(n(168));v(lt,a);v(at,u)}function pc(t,a,u){var i=t.stateNode;a=a.childContextTypes;if(\"function\"!==typeof i.getChildContext)return u;i=i.getChildContext();for(var o in i)if(!(o in a))throw Error(n(108,va(t)||\"Unknown\",o));return S({},u,i)}function qc(t){t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||rt;ut=lt.current;v(lt,t);v(at,at.current);return!0}function rc(t,a,u){var i=t.stateNode;if(!i)throw Error(n(169));u?(t=pc(t,a,ut),i.__reactInternalMemoizedMergedChildContext=t,q(at),q(lt),v(lt,t)):q(at);v(at,u)}var it=Math.clz32?Math.clz32:sc,ot=Math.log,st=Math.LN2;function sc(t){t>>>=0;return 0===t?32:31-(ot(t)/st|0)|0}var ct=64,ft=4194304;function yc(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function zc(t,a){var u=t.pendingLanes;if(0===u)return 0;var i=0,o=t.suspendedLanes,s=t.pingedLanes,y=u&268435455;if(0!==y){var S=y&~o;0!==S?i=yc(S):(s&=y,0!==s&&(i=yc(s)))}else y=u&~o,0!==y?i=yc(y):0!==s&&(i=yc(s));if(0===i)return 0;if(0!==a&&a!==i&&0===(a&o)&&(o=i&-i,s=a&-a,o>=s||16===o&&0!==(s&4194240)))return a;0!==(i&4)&&(i|=u&16);a=t.entangledLanes;if(0!==a)for(t=t.entanglements,a&=i;0<a;)u=31-it(a),o=1<<u,i|=t[u],a&=~o;return i}function Ac(t,a){switch(t){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Bc(t,a){for(var u=t.suspendedLanes,i=t.pingedLanes,o=t.expirationTimes,s=t.pendingLanes;0<s;){var y=31-it(s),S=1<<y,x=o[y];-1===x?0!==(S&u)&&0===(S&i)||(o[y]=Ac(S,a)):x<=a&&(t.expiredLanes|=S);s&=~S}}function Cc(t){t=t.pendingLanes&-1073741825;return 0!==t?t:t&1073741824?1073741824:0}function Dc(){var t=ct;ct<<=1;0===(ct&4194240)&&(ct=64);return t}function Ec(t){for(var a=[],u=0;31>u;u++)a.push(t);return a}function Fc(t,a,u){t.pendingLanes|=a;536870912!==a&&(t.suspendedLanes=0,t.pingedLanes=0);t=t.eventTimes;a=31-it(a);t[a]=u}function Gc(t,a){var u=t.pendingLanes&~a;t.pendingLanes=a;t.suspendedLanes=0;t.pingedLanes=0;t.expiredLanes&=a;t.mutableReadLanes&=a;t.entangledLanes&=a;a=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0<u;){var o=31-it(u),s=1<<o;a[o]=0;i[o]=-1;t[o]=-1;u&=~s}}function Hc(t,a){var u=t.entangledLanes|=a;for(t=t.entanglements;u;){var i=31-it(u),o=1<<i;o&a|t[i]&a&&(t[i]|=a);u&=~o}}var dt=0;function Ic(t){t&=-t;return 1<t?4<t?0!==(t&268435455)?16:536870912:4:1}var ht=y.unstable_scheduleCallback,gt=y.unstable_cancelCallback,pt=y.unstable_shouldYield,mt=y.unstable_requestPaint,vt=y.unstable_now,yt=y.unstable_ImmediatePriority,bt=y.unstable_UserBlockingPriority,St=y.unstable_NormalPriority,kt=y.unstable_IdlePriority,xt=null,wt=null;function Tc(t){if(wt&&\"function\"===typeof wt.onCommitFiberRoot)try{wt.onCommitFiberRoot(xt,t,void 0,128===(t.current.flags&128))}catch(t){}}function Uc(t,a){return t===a&&(0!==t||1/t===1/a)||t!==t&&a!==a}var zt=\"function\"===typeof Object.is?Object.is:Uc,Nt=null,Pt=!1,Et=!1;function Zc(t){null===Nt?Nt=[t]:Nt.push(t)}function $c(t){Pt=!0;Zc(t)}function ad(){if(!Et&&null!==Nt){Et=!0;var t=0,a=dt;try{var u=Nt;for(dt=1;t<u.length;t++){var i=u[t];do{i=i(!0)}while(null!==i)}Nt=null;Pt=!1}catch(a){throw null!==Nt&&(Nt=Nt.slice(t+1)),ht(yt,ad),a}finally{dt=a,Et=!1}}return null}var Ct=[],It=0,_t=null,Ut=0,Lt=[],Tt=0,Rt=null,Mt=1,Ft=\"\";function kd(t,a){Ct[It++]=Ut;Ct[It++]=_t;_t=t;Ut=a}function ld(t,a,u){Lt[Tt++]=Mt;Lt[Tt++]=Ft;Lt[Tt++]=Rt;Rt=t;var i=Mt;t=Ft;var o=32-it(i)-1;i&=~(1<<o);u+=1;var s=32-it(a)+o;if(30<s){var y=o-o%5;s=(i&(1<<y)-1).toString(32);i>>=y;o-=y;Mt=1<<32-it(a)+o|u<<o|i;Ft=s+t}else Mt=1<<s|u<<o|i,Ft=t}function md(t){null!==t.return&&(kd(t,1),ld(t,1,0))}function nd(t){for(;t===_t;)_t=Ct[--It],Ct[It]=null,Ut=Ct[--It],Ct[It]=null;for(;t===Rt;)Rt=Lt[--Tt],Lt[Tt]=null,Ft=Lt[--Tt],Lt[Tt]=null,Mt=Lt[--Tt],Lt[Tt]=null}var Qt=null,Dt=null,Ht=!1,Wt=!1,Bt=null;function sd(t,a){var u=td(5,null,null,0);u.elementType=\"DELETED\";u.stateNode=a;u.return=t;a=t.deletions;null===a?(t.deletions=[u],t.flags|=16):a.push(u)}function ud(t,a){switch(t.tag){case 5:return a=Un(a,t.type,t.pendingProps),null!==a&&(t.stateNode=a,Qt=t,Dt=Hn(a),!0);case 6:return a=Ln(a,t.pendingProps),null!==a&&(t.stateNode=a,Qt=t,Dt=null,!0);case 13:a=Tn(a);if(null!==a){var u=null!==Rt?{id:Mt,overflow:Ft}:null;t.memoizedState={dehydrated:a,treeContext:u,retryLane:1073741824};u=td(18,null,null,0);u.stateNode=a;u.return=t;t.child=u;Qt=t;Dt=null;return!0}return!1;default:return!1}}function vd(t){return 0!==(t.mode&1)&&0===(t.flags&128)}function wd(t){if(Ht){var a=Dt;if(a){var u=a;if(!ud(t,a)){if(vd(t))throw Error(n(418));a=Dn(u);var i=Qt;a&&ud(t,a)?sd(i,u):(t.flags=t.flags&-4097|2,Ht=!1,Qt=t)}}else{if(vd(t))throw Error(n(418));t.flags=t.flags&-4097|2;Ht=!1;Qt=t}}}function xd(t){for(t=t.return;null!==t&&5!==t.tag&&3!==t.tag&&13!==t.tag;)t=t.return;Qt=t}function yd(t){if(!Fe||t!==Qt)return!1;if(!Ht)return xd(t),Ht=!0,!1;if(3!==t.tag&&(5!==t.tag||Jn(t.type)&&!pe(t.type,t.memoizedProps))){var a=Dt;if(a){if(vd(t))throw zd(),Error(n(418));for(;a;)sd(t,a),a=Dn(a)}}xd(t);if(13===t.tag){if(!Fe)throw Error(n(316));t=t.memoizedState;t=null!==t?t.dehydrated:null;if(!t)throw Error(n(317));Dt=jn(t)}else Dt=Qt?Dn(t.stateNode):null;return!0}function zd(){for(var t=Dt;t;)t=Dn(t)}function Ad(){Fe&&(Dt=Qt=null,Wt=Ht=!1)}function Bd(t){null===Bt?Bt=[t]:Bt.push(t)}var Ot=x.ReactCurrentBatchConfig;function Dd(t,a){if(zt(t,a))return!0;if(\"object\"!==typeof t||null===t||\"object\"!==typeof a||null===a)return!1;var u=Object.keys(t),i=Object.keys(a);if(u.length!==i.length)return!1;for(i=0;i<u.length;i++){var o=u[i];if(!et.call(a,o)||!zt(t[o],a[o]))return!1}return!0}function Ed(t){switch(t.tag){case 5:return cc(t.type);case 16:return cc(\"Lazy\");case 13:return cc(\"Suspense\");case 19:return cc(\"SuspenseList\");case 0:case 2:case 15:return t=ec(t.type,!1),t;case 11:return t=ec(t.type.render,!1),t;case 1:return t=ec(t.type,!0),t;default:return\"\"}}function Fd(t,a,u){t=u.ref;if(null!==t&&\"function\"!==typeof t&&\"object\"!==typeof t){if(u._owner){u=u._owner;if(u){if(1!==u.tag)throw Error(n(309));var i=u.stateNode}if(!i)throw Error(n(147,t));var o=i,s=\"\"+t;if(null!==a&&null!==a.ref&&\"function\"===typeof a.ref&&a.ref._stringRef===s)return a.ref;a=function(t){var a=o.refs;null===t?delete a[s]:a[s]=t};a._stringRef=s;return a}if(\"string\"!==typeof t)throw Error(n(284));if(!u._owner)throw Error(n(290,t))}return t}function Gd(t,a){t=Object.prototype.toString.call(a);throw Error(n(31,\"[object Object]\"===t?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":t))}function Hd(t){var a=t._init;return a(t._payload)}function Id(t){function b(a,u){if(t){var i=a.deletions;null===i?(a.deletions=[u],a.flags|=16):i.push(u)}}function c(a,u){if(!t)return null;for(;null!==u;)b(a,u),u=u.sibling;return null}function d(t,a){for(t=new Map;null!==a;)null!==a.key?t.set(a.key,a):t.set(a.index,a),a=a.sibling;return t}function e(t,a){t=Jd(t,a);t.index=0;t.sibling=null;return t}function f(a,u,i){a.index=i;if(!t)return a.flags|=1048576,u;i=a.alternate;if(null!==i)return i=i.index,i<u?(a.flags|=2,u):i;a.flags|=2;return u}function g(a){t&&null===a.alternate&&(a.flags|=2);return a}function h(t,a,u,i){if(null===a||6!==a.tag)return a=Kd(u,t.mode,i),a.return=t,a;a=e(a,u);a.return=t;return a}function k(t,a,u,i){var o=u.type;if(o===E)return m(t,a,u.props.children,i,u.key);if(null!==a&&(a.elementType===o||\"object\"===typeof o&&null!==o&&o.$$typeof===H&&Hd(o)===a.type))return i=e(a,u.props),i.ref=Fd(t,a,u),i.return=t,i;i=Ld(u.type,u.key,u.props,null,t.mode,i);i.ref=Fd(t,a,u);i.return=t;return i}function l(t,a,u,i){if(null===a||4!==a.tag||a.stateNode.containerInfo!==u.containerInfo||a.stateNode.implementation!==u.implementation)return a=Md(u,t.mode,i),a.return=t,a;a=e(a,u.children||[]);a.return=t;return a}function m(t,a,u,i,o){if(null===a||7!==a.tag)return a=Nd(u,t.mode,i,o),a.return=t,a;a=e(a,u);a.return=t;return a}function r(t,a,u){if(\"string\"===typeof a&&\"\"!==a||\"number\"===typeof a)return a=Kd(\"\"+a,t.mode,u),a.return=t,a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case z:return u=Ld(a.type,a.key,a.props,null,t.mode,u),u.ref=Fd(t,null,a),u.return=t,u;case N:return a=Md(a,t.mode,u),a.return=t,a;case H:var i=a._init;return r(t,i(a._payload),u)}if(V(a)||ta(a))return a=Nd(a,t.mode,u,null),a.return=t,a;Gd(t,a)}return null}function p(t,a,u,i){var o=null!==a?a.key:null;if(\"string\"===typeof u&&\"\"!==u||\"number\"===typeof u)return null!==o?null:h(t,a,\"\"+u,i);if(\"object\"===typeof u&&null!==u){switch(u.$$typeof){case z:return u.key===o?k(t,a,u,i):null;case N:return u.key===o?l(t,a,u,i):null;case H:return o=u._init,p(t,a,o(u._payload),i)}if(V(u)||ta(u))return null!==o?null:m(t,a,u,i,null);Gd(t,u)}return null}function B(t,a,u,i,o){if(\"string\"===typeof i&&\"\"!==i||\"number\"===typeof i)return t=t.get(u)||null,h(a,t,\"\"+i,o);if(\"object\"===typeof i&&null!==i){switch(i.$$typeof){case z:return t=t.get(null===i.key?u:i.key)||null,k(a,t,i,o);case N:return t=t.get(null===i.key?u:i.key)||null,l(a,t,i,o);case H:var s=i._init;return B(t,a,u,s(i._payload),o)}if(V(i)||ta(i))return t=t.get(u)||null,m(a,t,i,o,null);Gd(a,i)}return null}function w(a,u,i,o){for(var s=null,y=null,S=u,x=u=0,z=null;null!==S&&x<i.length;x++){S.index>x?(z=S,S=null):z=S.sibling;var N=p(a,S,i[x],o);if(null===N){null===S&&(S=z);break}t&&S&&null===N.alternate&&b(a,S);u=f(N,u,x);null===y?s=N:y.sibling=N;y=N;S=z}if(x===i.length)return c(a,S),Ht&&kd(a,x),s;if(null===S){for(;x<i.length;x++)S=r(a,i[x],o),null!==S&&(u=f(S,u,x),null===y?s=S:y.sibling=S,y=S);Ht&&kd(a,x);return s}for(S=d(a,S);x<i.length;x++)z=B(S,a,x,i[x],o),null!==z&&(t&&null!==z.alternate&&S.delete(null===z.key?x:z.key),u=f(z,u,x),null===y?s=z:y.sibling=z,y=z);t&&S.forEach((function(t){return b(a,t)}));Ht&&kd(a,x);return s}function Y(a,u,i,o){var s=ta(i);if(\"function\"!==typeof s)throw Error(n(150));i=s.call(i);if(null==i)throw Error(n(151));for(var y=s=null,S=u,x=u=0,z=null,N=i.next();null!==S&&!N.done;x++,N=i.next()){S.index>x?(z=S,S=null):z=S.sibling;var E=p(a,S,N.value,o);if(null===E){null===S&&(S=z);break}t&&S&&null===E.alternate&&b(a,S);u=f(E,u,x);null===y?s=E:y.sibling=E;y=E;S=z}if(N.done)return c(a,S),Ht&&kd(a,x),s;if(null===S){for(;!N.done;x++,N=i.next())N=r(a,N.value,o),null!==N&&(u=f(N,u,x),null===y?s=N:y.sibling=N,y=N);Ht&&kd(a,x);return s}for(S=d(a,S);!N.done;x++,N=i.next())N=B(S,a,x,N.value,o),null!==N&&(t&&null!==N.alternate&&S.delete(null===N.key?x:N.key),u=f(N,u,x),null===y?s=N:y.sibling=N,y=N);t&&S.forEach((function(t){return b(a,t)}));Ht&&kd(a,x);return s}function ya(t,a,u,i){\"object\"===typeof u&&null!==u&&u.type===E&&null===u.key&&(u=u.props.children);if(\"object\"===typeof u&&null!==u){switch(u.$$typeof){case z:e:{for(var o=u.key,s=a;null!==s;){if(s.key===o){o=u.type;if(o===E){if(7===s.tag){c(t,s.sibling);a=e(s,u.props.children);a.return=t;t=a;break e}}else if(s.elementType===o||\"object\"===typeof o&&null!==o&&o.$$typeof===H&&Hd(o)===s.type){c(t,s.sibling);a=e(s,u.props);a.ref=Fd(t,s,u);a.return=t;t=a;break e}c(t,s);break}b(t,s);s=s.sibling}u.type===E?(a=Nd(u.props.children,t.mode,i,u.key),a.return=t,t=a):(i=Ld(u.type,u.key,u.props,null,t.mode,i),i.ref=Fd(t,a,u),i.return=t,t=i)}return g(t);case N:e:{for(s=u.key;null!==a;){if(a.key===s){if(4===a.tag&&a.stateNode.containerInfo===u.containerInfo&&a.stateNode.implementation===u.implementation){c(t,a.sibling);a=e(a,u.children||[]);a.return=t;t=a;break e}c(t,a);break}b(t,a);a=a.sibling}a=Md(u,t.mode,i);a.return=t;t=a}return g(t);case H:return s=u._init,ya(t,a,s(u._payload),i)}if(V(u))return w(t,a,u,i);if(ta(u))return Y(t,a,u,i);Gd(t,u)}return\"string\"===typeof u&&\"\"!==u||\"number\"===typeof u?(u=\"\"+u,null!==a&&6===a.tag?(c(t,a.sibling),a=e(a,u),a.return=t,t=a):(c(t,a),a=Kd(u,t.mode,i),a.return=t,t=a),g(t)):c(t,a)}return ya}var At=Id(!0),qt=Id(!1),jt=ic(null),$t=null,Vt=null,Zt=null;function Ud(){Zt=Vt=$t=null}function Vd(t,a,u){Ie?(v(jt,a._currentValue),a._currentValue=u):(v(jt,a._currentValue2),a._currentValue2=u)}function Wd(t){var a=jt.current;q(jt);Ie?t._currentValue=a:t._currentValue2=a}function Xd(t,a,u){for(;null!==t;){var i=t.alternate;(t.childLanes&a)!==a?(t.childLanes|=a,null!==i&&(i.childLanes|=a)):null!==i&&(i.childLanes&a)!==a&&(i.childLanes|=a);if(t===u)break;t=t.return}}function Yd(t,a){$t=t;Zt=Vt=null;t=t.dependencies;null!==t&&null!==t.firstContext&&(0!==(t.lanes&a)&&(Sr=!0),t.firstContext=null)}function Zd(t){var a=Ie?t._currentValue:t._currentValue2;if(Zt!==t)if(t={context:t,memoizedValue:a,next:null},null===Vt){if(null===$t)throw Error(n(308));Vt=t;$t.dependencies={lanes:0,firstContext:t}}else Vt=Vt.next=t;return a}var Yt=null;function ae(t){null===Yt?Yt=[t]:Yt.push(t)}function be(t,a,u,i){var o=a.interleaved;null===o?(u.next=u,ae(a)):(u.next=o.next,o.next=u);a.interleaved=u;return ce(t,i)}function ce(t,a){t.lanes|=a;var u=t.alternate;null!==u&&(u.lanes|=a);u=t;for(t=t.return;null!==t;)t.childLanes|=a,u=t.alternate,null!==u&&(u.childLanes|=a),u=t,t=t.return;return 3===u.tag?u.stateNode:null}var Jt=!1;function ee(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fe(t,a){t=t.updateQueue;a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function ge(t,a){return{eventTime:t,lane:a,tag:0,payload:null,callback:null,next:null}}function he(t,a,u){var i=t.updateQueue;if(null===i)return null;i=i.shared;if(0!==(Ar&2)){var o=i.pending;null===o?a.next=a:(a.next=o.next,o.next=a);i.pending=a;return ce(t,u)}o=i.interleaved;null===o?(a.next=a,ae(i)):(a.next=o.next,o.next=a);i.interleaved=a;return ce(t,u)}function ie(t,a,u){a=a.updateQueue;if(null!==a&&(a=a.shared,0!==(u&4194240))){var i=a.lanes;i&=t.pendingLanes;u|=i;a.lanes=u;Hc(t,u)}}function je(t,a){var u=t.updateQueue,i=t.alternate;if(null===i||(i=i.updateQueue,u!==i)){t=u.lastBaseUpdate;null===t?u.firstBaseUpdate=a:t.next=a;u.lastBaseUpdate=a}else{var o=null,s=null;u=u.firstBaseUpdate;if(null!==u){do{var y={eventTime:u.eventTime,lane:u.lane,tag:u.tag,payload:u.payload,callback:u.callback,next:null};null===s?o=s=y:s=s.next=y;u=u.next}while(null!==u);null===s?o=s=a:s=s.next=a}else o=s=a;u={baseState:i.baseState,firstBaseUpdate:o,lastBaseUpdate:s,shared:i.shared,effects:i.effects};t.updateQueue=u}}function ke(t,a,u,i){var o=t.updateQueue;Jt=!1;var s=o.firstBaseUpdate,y=o.lastBaseUpdate,x=o.shared.pending;if(null!==x){o.shared.pending=null;var z=x,N=z.next;z.next=null;null===y?s=N:y.next=N;y=z;var E=t.alternate;null!==E&&(E=E.updateQueue,x=E.lastBaseUpdate,x!==y&&(null===x?E.firstBaseUpdate=N:x.next=N,E.lastBaseUpdate=z))}if(null!==s){var C=o.baseState;y=0;E=N=z=null;x=s;do{var I=x.lane,_=x.eventTime;if((i&I)===I){null!==E&&(E=E.next={eventTime:_,lane:0,tag:x.tag,payload:x.payload,callback:x.callback,next:null});e:{var L=t,T=x;I=a;_=u;switch(T.tag){case 1:L=T.payload;if(\"function\"===typeof L){C=L.call(_,C,I);break e}C=L;break e;case 3:L.flags=L.flags&-65537|128;case 0:L=T.payload;I=\"function\"===typeof L?L.call(_,C,I):L;if(null===I||void 0===I)break e;C=S({},C,I);break e;case 2:Jt=!0}}null!==x.callback&&0!==x.lane&&(t.flags|=64,I=o.effects,null===I?o.effects=[x]:I.push(x))}else _={eventTime:_,lane:I,tag:x.tag,payload:x.payload,callback:x.callback,next:null},null===E?(N=E=_,z=C):E=E.next=_,y|=I;x=x.next;if(null===x){if(x=o.shared.pending,null===x)break;I=x,x=I.next,I.next=null,o.lastBaseUpdate=I,o.shared.pending=null}}while(1);null===E&&(z=C);o.baseState=z;o.firstBaseUpdate=N;o.lastBaseUpdate=E;a=o.shared.interleaved;if(null!==a){o=a;do{y|=o.lane,o=o.next}while(o!==a)}else null===s&&(o.shared.lanes=0);Kr|=y;t.lanes=y;t.memoizedState=C}}function me(t,a,u){t=a.effects;a.effects=null;if(null!==t)for(a=0;a<t.length;a++){var i=t[a],o=i.callback;if(null!==o){i.callback=null;i=u;if(\"function\"!==typeof o)throw Error(n(191,o));o.call(i)}}}var Kt={},Gt=ic(Kt),Xt=ic(Kt),er=ic(Kt);function re(t){if(t===Kt)throw Error(n(174));return t}function se(t,a){v(er,a);v(Xt,t);v(Gt,Kt);t=J(a);q(Gt);v(Gt,t)}function te(){q(Gt);q(Xt);q(er)}function ue(t){var a=re(er.current),u=re(Gt.current);a=K(u,t.type,a);u!==a&&(v(Xt,t),v(Gt,a))}function ve(t){Xt.current===t&&(q(Gt),q(Xt))}var nr=ic(0);function we(t){for(var a=t;null!==a;){if(13===a.tag){var u=a.memoizedState;if(null!==u&&(u=u.dehydrated,null===u||Rn(u)||Mn(u)))return a}else if(19===a.tag&&void 0!==a.memoizedProps.revealOrder){if(0!==(a.flags&128))return a}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return null;a=a.return}a.sibling.return=a.return;a=a.sibling}return null}var tr=[];function ye(){for(var t=0;t<tr.length;t++){var a=tr[t];Ie?a._workInProgressVersionPrimary=null:a._workInProgressVersionSecondary=null}tr.length=0}var rr=x.ReactCurrentDispatcher,lr=x.ReactCurrentBatchConfig,ar=0,ur=null,ir=null,or=null,sr=!1,cr=!1,fr=0,dr=0;function M(){throw Error(n(321))}function Ge(t,a){if(null===a)return!1;for(var u=0;u<a.length&&u<t.length;u++)if(!zt(t[u],a[u]))return!1;return!0}function He(t,a,u,i,o,s){ar=s;ur=a;a.memoizedState=null;a.updateQueue=null;a.lanes=0;rr.current=null===t||null===t.memoizedState?gr:pr;t=u(i,o);if(cr){s=0;do{cr=!1;fr=0;if(25<=s)throw Error(n(301));s+=1;or=ir=null;a.updateQueue=null;rr.current=mr;t=u(i,o)}while(cr)}rr.current=hr;a=null!==ir&&null!==ir.next;ar=0;or=ir=ur=null;sr=!1;if(a)throw Error(n(300));return t}function Me(){var t=0!==fr;fr=0;return t}function Ne(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===or?ur.memoizedState=or=t:or=or.next=t;return or}function Oe(){if(null===ir){var t=ur.alternate;t=null!==t?t.memoizedState:null}else t=ir.next;var a=null===or?ur.memoizedState:or.next;if(null!==a)or=a,ir=t;else{if(null===t)throw Error(n(310));ir=t;t={memoizedState:ir.memoizedState,baseState:ir.baseState,baseQueue:ir.baseQueue,queue:ir.queue,next:null};null===or?ur.memoizedState=or=t:or=or.next=t}return or}function Pe(t,a){return\"function\"===typeof a?a(t):a}function Qe(t){var a=Oe(),u=a.queue;if(null===u)throw Error(n(311));u.lastRenderedReducer=t;var i=ir,o=i.baseQueue,s=u.pending;if(null!==s){if(null!==o){var y=o.next;o.next=s.next;s.next=y}i.baseQueue=o=s;u.pending=null}if(null!==o){s=o.next;i=i.baseState;var S=y=null,x=null,z=s;do{var N=z.lane;if((ar&N)===N)null!==x&&(x=x.next={lane:0,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null}),i=z.hasEagerState?z.eagerState:t(i,z.action);else{var E={lane:N,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null};null===x?(S=x=E,y=i):x=x.next=E;ur.lanes|=N;Kr|=N}z=z.next}while(null!==z&&z!==s);null===x?y=i:x.next=S;zt(i,a.memoizedState)||(Sr=!0);a.memoizedState=i;a.baseState=y;a.baseQueue=x;u.lastRenderedState=i}t=u.interleaved;if(null!==t){o=t;do{s=o.lane,ur.lanes|=s,Kr|=s,o=o.next}while(o!==t)}else null===o&&(u.lanes=0);return[a.memoizedState,u.dispatch]}function Re(t){var a=Oe(),u=a.queue;if(null===u)throw Error(n(311));u.lastRenderedReducer=t;var i=u.dispatch,o=u.pending,s=a.memoizedState;if(null!==o){u.pending=null;var y=o=o.next;do{s=t(s,y.action),y=y.next}while(y!==o);zt(s,a.memoizedState)||(Sr=!0);a.memoizedState=s;null===a.baseQueue&&(a.baseState=s);u.lastRenderedState=s}return[s,i]}function Se(){}function Te(t,a){var u=ur,i=Oe(),o=a(),s=!zt(i.memoizedState,o);s&&(i.memoizedState=o,Sr=!0);i=i.queue;Ue(Ve.bind(null,u,i,t),[t]);if(i.getSnapshot!==a||s||null!==or&&or.memoizedState.tag&1){u.flags|=2048;We(9,Xe.bind(null,u,i,o,a),void 0,null);if(null===qr)throw Error(n(349));0!==(ar&30)||Ye(u,a,o)}return o}function Ye(t,a,u){t.flags|=16384;t={getSnapshot:a,value:u};a=ur.updateQueue;null===a?(a={lastEffect:null,stores:null},ur.updateQueue=a,a.stores=[t]):(u=a.stores,null===u?a.stores=[t]:u.push(t))}function Xe(t,a,u,i){a.value=u;a.getSnapshot=i;Ze(a)&&$e(t)}function Ve(t,a,u){return u((function(){Ze(a)&&$e(t)}))}function Ze(t){var a=t.getSnapshot;t=t.value;try{var u=a();return!zt(t,u)}catch(t){return!0}}function $e(t){var a=ce(t,1);null!==a&&af(a,t,1,-1)}function bf(t){var a=Ne();\"function\"===typeof t&&(t=t());a.memoizedState=a.baseState=t;t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Pe,lastRenderedState:t};a.queue=t;t=t.dispatch=cf.bind(null,ur,t);return[a.memoizedState,t]}function We(t,a,u,i){t={tag:t,create:a,destroy:u,deps:i,next:null};a=ur.updateQueue;null===a?(a={lastEffect:null,stores:null},ur.updateQueue=a,a.lastEffect=t.next=t):(u=a.lastEffect,null===u?a.lastEffect=t.next=t:(i=u.next,u.next=t,t.next=i,a.lastEffect=t));return t}function df(){return Oe().memoizedState}function ef(t,a,u,i){var o=Ne();ur.flags|=t;o.memoizedState=We(1|a,u,void 0,void 0===i?null:i)}function ff(t,a,u,i){var o=Oe();i=void 0===i?null:i;var s=void 0;if(null!==ir){var y=ir.memoizedState;s=y.destroy;if(null!==i&&Ge(i,y.deps)){o.memoizedState=We(a,u,s,i);return}}ur.flags|=t;o.memoizedState=We(1|a,u,s,i)}function gf(t,a){return ef(8390656,8,t,a)}function Ue(t,a){return ff(2048,8,t,a)}function hf(t,a){return ff(4,2,t,a)}function jf(t,a){return ff(4,4,t,a)}function kf(t,a){return\"function\"===typeof a?(t=t(),a(t),function(){a(null)}):null!==a&&void 0!==a?(t=t(),a.current=t,function(){a.current=null}):void 0}function lf(t,a,u){u=null!==u&&void 0!==u?u.concat([t]):null;return ff(4,4,kf.bind(null,a,t),u)}function mf(){}function nf(t,a){var u=Oe();a=void 0===a?null:a;var i=u.memoizedState;if(null!==i&&null!==a&&Ge(a,i[1]))return i[0];u.memoizedState=[t,a];return t}function of(t,a){var u=Oe();a=void 0===a?null:a;var i=u.memoizedState;if(null!==i&&null!==a&&Ge(a,i[1]))return i[0];t=t();u.memoizedState=[t,a];return t}function pf(t,a,u){if(0===(ar&21))return t.baseState&&(t.baseState=!1,Sr=!0),t.memoizedState=u;zt(u,a)||(u=Dc(),ur.lanes|=u,Kr|=u,t.baseState=!0);return a}function qf(t,a){var u=dt;dt=0!==u&&4>u?u:4;t(!0);var i=lr.transition;lr.transition={};try{t(!1),a()}finally{dt=u,lr.transition=i}}function rf(){return Oe().memoizedState}function sf(t,a,u){var i=tf(t);u={lane:i,action:u,hasEagerState:!1,eagerState:null,next:null};if(uf(t))vf(a,u);else if(u=be(t,a,u,i),null!==u){var o=O();af(u,t,i,o);wf(u,a,i)}}function cf(t,a,u){var i=tf(t),o={lane:i,action:u,hasEagerState:!1,eagerState:null,next:null};if(uf(t))vf(a,o);else{var s=t.alternate;if(0===t.lanes&&(null===s||0===s.lanes)&&(s=a.lastRenderedReducer,null!==s))try{var y=a.lastRenderedState,S=s(y,u);o.hasEagerState=!0;o.eagerState=S;if(zt(S,y)){var x=a.interleaved;null===x?(o.next=o,ae(a)):(o.next=x.next,x.next=o);a.interleaved=o;return}}catch(t){}u=be(t,a,o,i);null!==u&&(o=O(),af(u,t,i,o),wf(u,a,i))}}function uf(t){var a=t.alternate;return t===ur||null!==a&&a===ur}function vf(t,a){cr=sr=!0;var u=t.pending;null===u?a.next=a:(a.next=u.next,u.next=a);t.pending=a}function wf(t,a,u){if(0!==(u&4194240)){var i=a.lanes;i&=t.pendingLanes;u|=i;a.lanes=u;Hc(t,u)}}var hr={readContext:Zd,useCallback:M,useContext:M,useEffect:M,useImperativeHandle:M,useInsertionEffect:M,useLayoutEffect:M,useMemo:M,useReducer:M,useRef:M,useState:M,useDebugValue:M,useDeferredValue:M,useTransition:M,useMutableSource:M,useSyncExternalStore:M,useId:M,unstable_isNewReconciler:!1},gr={readContext:Zd,useCallback:function(t,a){Ne().memoizedState=[t,void 0===a?null:a];return t},useContext:Zd,useEffect:gf,useImperativeHandle:function(t,a,u){u=null!==u&&void 0!==u?u.concat([t]):null;return ef(4194308,4,kf.bind(null,a,t),u)},useLayoutEffect:function(t,a){return ef(4194308,4,t,a)},useInsertionEffect:function(t,a){return ef(4,2,t,a)},useMemo:function(t,a){var u=Ne();a=void 0===a?null:a;t=t();u.memoizedState=[t,a];return t},useReducer:function(t,a,u){var i=Ne();a=void 0!==u?u(a):a;i.memoizedState=i.baseState=a;t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a};i.queue=t;t=t.dispatch=sf.bind(null,ur,t);return[i.memoizedState,t]},useRef:function(t){var a=Ne();t={current:t};return a.memoizedState=t},useState:bf,useDebugValue:mf,useDeferredValue:function(t){return Ne().memoizedState=t},useTransition:function(){var t=bf(!1),a=t[0];t=qf.bind(null,t[1]);Ne().memoizedState=t;return[a,t]},useMutableSource:function(){},useSyncExternalStore:function(t,a,u){var i=ur,o=Ne();if(Ht){if(void 0===u)throw Error(n(407));u=u()}else{u=a();if(null===qr)throw Error(n(349));0!==(ar&30)||Ye(i,a,u)}o.memoizedState=u;var s={value:u,getSnapshot:a};o.queue=s;gf(Ve.bind(null,i,s,t),[t]);i.flags|=2048;We(9,Xe.bind(null,i,s,u,a),void 0,null);return u},useId:function(){var t=Ne(),a=qr.identifierPrefix;if(Ht){var u=Ft;var i=Mt;u=(i&~(1<<32-it(i)-1)).toString(32)+u;a=\":\"+a+\"R\"+u;u=fr++;0<u&&(a+=\"H\"+u.toString(32));a+=\":\"}else u=dr++,a=\":\"+a+\"r\"+u.toString(32)+\":\";return t.memoizedState=a},unstable_isNewReconciler:!1},pr={readContext:Zd,useCallback:nf,useContext:Zd,useEffect:Ue,useImperativeHandle:lf,useInsertionEffect:hf,useLayoutEffect:jf,useMemo:of,useReducer:Qe,useRef:df,useState:function(){return Qe(Pe)},useDebugValue:mf,useDeferredValue:function(t){var a=Oe();return pf(a,ir.memoizedState,t)},useTransition:function(){var t=Qe(Pe)[0],a=Oe().memoizedState;return[t,a]},useMutableSource:Se,useSyncExternalStore:Te,useId:rf,unstable_isNewReconciler:!1},mr={readContext:Zd,useCallback:nf,useContext:Zd,useEffect:Ue,useImperativeHandle:lf,useInsertionEffect:hf,useLayoutEffect:jf,useMemo:of,useReducer:Re,useRef:df,useState:function(){return Re(Pe)},useDebugValue:mf,useDeferredValue:function(t){var a=Oe();return null===ir?a.memoizedState=t:pf(a,ir.memoizedState,t)},useTransition:function(){var t=Re(Pe)[0],a=Oe().memoizedState;return[t,a]},useMutableSource:Se,useSyncExternalStore:Te,useId:rf,unstable_isNewReconciler:!1};function xf(t,a){if(t&&t.defaultProps){a=S({},a);t=t.defaultProps;for(var u in t)void 0===a[u]&&(a[u]=t[u]);return a}return a}function yf(t,a,u,i){a=t.memoizedState;u=u(i,a);u=null===u||void 0===u?a:S({},a,u);t.memoizedState=u;0===t.lanes&&(t.updateQueue.baseState=u)}var vr={isMounted:function(t){return!!(t=t._reactInternals)&&wa(t)===t},enqueueSetState:function(t,a,u){t=t._reactInternals;var i=O(),o=tf(t),s=ge(i,o);s.payload=a;void 0!==u&&null!==u&&(s.callback=u);a=he(t,s,o);null!==a&&(af(a,t,o,i),ie(a,t,o))},enqueueReplaceState:function(t,a,u){t=t._reactInternals;var i=O(),o=tf(t),s=ge(i,o);s.tag=1;s.payload=a;void 0!==u&&null!==u&&(s.callback=u);a=he(t,s,o);null!==a&&(af(a,t,o,i),ie(a,t,o))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var u=O(),i=tf(t),o=ge(u,i);o.tag=2;void 0!==a&&null!==a&&(o.callback=a);a=he(t,o,i);null!==a&&(af(a,t,i,u),ie(a,t,i))}};function Af(t,a,u,i,o,s,y){t=t.stateNode;return\"function\"===typeof t.shouldComponentUpdate?t.shouldComponentUpdate(i,s,y):!a.prototype||!a.prototype.isPureReactComponent||(!Dd(u,i)||!Dd(o,s))}function Bf(t,a,u){var i=!1,o=rt;var s=a.contextType;\"object\"===typeof s&&null!==s?s=Zd(s):(o=A(a)?ut:lt.current,i=a.contextTypes,s=(i=null!==i&&void 0!==i)?mc(t,o):rt);a=new a(u,s);t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null;a.updater=vr;t.stateNode=a;a._reactInternals=t;i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=o,t.__reactInternalMemoizedMaskedChildContext=s);return a}function Cf(t,a,u,i){t=a.state;\"function\"===typeof a.componentWillReceiveProps&&a.componentWillReceiveProps(u,i);\"function\"===typeof a.UNSAFE_componentWillReceiveProps&&a.UNSAFE_componentWillReceiveProps(u,i);a.state!==t&&vr.enqueueReplaceState(a,a.state,null)}function Df(t,a,u,i){var o=t.stateNode;o.props=u;o.state=t.memoizedState;o.refs={};ee(t);var s=a.contextType;\"object\"===typeof s&&null!==s?o.context=Zd(s):(s=A(a)?ut:lt.current,o.context=mc(t,s));o.state=t.memoizedState;s=a.getDerivedStateFromProps;\"function\"===typeof s&&(yf(t,a,s,u),o.state=t.memoizedState);\"function\"===typeof a.getDerivedStateFromProps||\"function\"===typeof o.getSnapshotBeforeUpdate||\"function\"!==typeof o.UNSAFE_componentWillMount&&\"function\"!==typeof o.componentWillMount||(a=o.state,\"function\"===typeof o.componentWillMount&&o.componentWillMount(),\"function\"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),a!==o.state&&vr.enqueueReplaceState(o,o.state,null),ke(t,u,o,i),o.state=t.memoizedState);\"function\"===typeof o.componentDidMount&&(t.flags|=4194308)}function Ef(t,a){try{var u=\"\",i=a;do{u+=Ed(i),i=i.return}while(i);var o=u}catch(t){o=\"\\nError generating stack: \"+t.message+\"\\n\"+t.stack}return{value:t,source:a,stack:o,digest:null}}function Ff(t,a,u){return{value:t,source:null,stack:null!=u?u:null,digest:null!=a?a:null}}function Gf(t,a){try{console.error(a.value)}catch(t){setTimeout((function(){throw t}))}}var yr=\"function\"===typeof WeakMap?WeakMap:Map;function If(t,a,u){u=ge(-1,u);u.tag=3;u.payload={element:null};var i=a.value;u.callback=function(){al||(al=!0,ul=i);Gf(t,a)};return u}function Lf(t,a,u){u=ge(-1,u);u.tag=3;var i=t.type.getDerivedStateFromError;if(\"function\"===typeof i){var s=a.value;u.payload=function(){return i(s)};u.callback=function(){Gf(t,a)}}var y=t.stateNode;null!==y&&\"function\"===typeof y.componentDidCatch&&(u.callback=function(){Gf(t,a);\"function\"!==typeof i&&(null===il?il=new Set([this||o]):il.add(this||o));var u=a.stack;this.componentDidCatch(a.value,{componentStack:null!==u?u:\"\"})});return u}function Nf(t,a,u){var i=t.pingCache;if(null===i){i=t.pingCache=new yr;var o=new Set;i.set(a,o)}else o=i.get(a),void 0===o&&(o=new Set,i.set(a,o));o.has(u)||(o.add(u),t=Of.bind(null,t,a,u),a.then(t,t))}function Pf(t){do{var a;(a=13===t.tag)&&(a=t.memoizedState,a=null===a||null!==a.dehydrated);if(a)return t;t=t.return}while(null!==t);return null}function Qf(t,a,u,i,o){if(0===(t.mode&1))return t===a?t.flags|=65536:(t.flags|=128,u.flags|=131072,u.flags&=-52805,1===u.tag&&(null===u.alternate?u.tag=17:(a=ge(-1,1),a.tag=2,he(u,a,1))),u.lanes|=1),t;t.flags|=65536;t.lanes=o;return t}var br=x.ReactCurrentOwner,Sr=!1;function P(t,a,u,i){a.child=null===t?qt(a,null,u,i):At(a,t.child,u,i)}function Sf(t,a,u,i,o){u=u.render;var s=a.ref;Yd(a,o);i=He(t,a,u,i,s,o);u=Me();if(null!==t&&!Sr)return a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~o,Tf(t,a,o);Ht&&u&&md(a);a.flags|=1;P(t,a,i,o);return a.child}function Uf(t,a,u,i,o){if(null===t){var s=u.type;if(\"function\"===typeof s&&!Vf(s)&&void 0===s.defaultProps&&null===u.compare&&void 0===u.defaultProps)return a.tag=15,a.type=s,Wf(t,a,s,i,o);t=Ld(u.type,null,i,a,a.mode,o);t.ref=a.ref;t.return=a;return a.child=t}s=t.child;if(0===(t.lanes&o)){var y=s.memoizedProps;u=u.compare;u=null!==u?u:Dd;if(u(y,i)&&t.ref===a.ref)return Tf(t,a,o)}a.flags|=1;t=Jd(s,i);t.ref=a.ref;t.return=a;return a.child=t}function Wf(t,a,u,i,o){if(null!==t){var s=t.memoizedProps;if(Dd(s,i)&&t.ref===a.ref){if(Sr=!1,a.pendingProps=i=s,0===(t.lanes&o))return a.lanes=t.lanes,Tf(t,a,o);0!==(t.flags&131072)&&(Sr=!0)}}return Xf(t,a,u,i,o)}function Yf(t,a,u){var i=a.pendingProps,o=i.children,s=null!==t?t.memoizedState:null;if(\"hidden\"===i.mode)if(0===(a.mode&1))a.memoizedState={baseLanes:0,cachePool:null,transitions:null},v(Zr,Vr),Vr|=u;else{if(0===(u&1073741824))return t=null!==s?s.baseLanes|u:u,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:t,cachePool:null,transitions:null},a.updateQueue=null,v(Zr,Vr),Vr|=t,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null};i=null!==s?s.baseLanes:u;v(Zr,Vr);Vr|=i}else null!==s?(i=s.baseLanes|u,a.memoizedState=null):i=u,v(Zr,Vr),Vr|=i;P(t,a,o,u);return a.child}function ag(t,a){var u=a.ref;(null===t&&null!==u||null!==t&&t.ref!==u)&&(a.flags|=512,a.flags|=2097152)}function Xf(t,a,u,i,o){var s=A(u)?ut:lt.current;s=mc(a,s);Yd(a,o);u=He(t,a,u,i,s,o);i=Me();if(null!==t&&!Sr)return a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~o,Tf(t,a,o);Ht&&i&&md(a);a.flags|=1;P(t,a,u,o);return a.child}function bg(t,a,u,i,o){if(A(u)){var s=!0;qc(a)}else s=!1;Yd(a,o);if(null===a.stateNode)cg(t,a),Bf(a,u,i),Df(a,u,i,o),i=!0;else if(null===t){var y=a.stateNode,S=a.memoizedProps;y.props=S;var x=y.context,z=u.contextType;\"object\"===typeof z&&null!==z?z=Zd(z):(z=A(u)?ut:lt.current,z=mc(a,z));var N=u.getDerivedStateFromProps,E=\"function\"===typeof N||\"function\"===typeof y.getSnapshotBeforeUpdate;E||\"function\"!==typeof y.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof y.componentWillReceiveProps||(S!==i||x!==z)&&Cf(a,y,i,z);Jt=!1;var C=a.memoizedState;y.state=C;ke(a,i,y,o);x=a.memoizedState;S!==i||C!==x||at.current||Jt?(\"function\"===typeof N&&(yf(a,u,N,i),x=a.memoizedState),(S=Jt||Af(a,u,S,i,C,x,z))?(E||\"function\"!==typeof y.UNSAFE_componentWillMount&&\"function\"!==typeof y.componentWillMount||(\"function\"===typeof y.componentWillMount&&y.componentWillMount(),\"function\"===typeof y.UNSAFE_componentWillMount&&y.UNSAFE_componentWillMount()),\"function\"===typeof y.componentDidMount&&(a.flags|=4194308)):(\"function\"===typeof y.componentDidMount&&(a.flags|=4194308),a.memoizedProps=i,a.memoizedState=x),y.props=i,y.state=x,y.context=z,i=S):(\"function\"===typeof y.componentDidMount&&(a.flags|=4194308),i=!1)}else{y=a.stateNode;fe(t,a);S=a.memoizedProps;z=a.type===a.elementType?S:xf(a.type,S);y.props=z;E=a.pendingProps;C=y.context;x=u.contextType;\"object\"===typeof x&&null!==x?x=Zd(x):(x=A(u)?ut:lt.current,x=mc(a,x));var I=u.getDerivedStateFromProps;(N=\"function\"===typeof I||\"function\"===typeof y.getSnapshotBeforeUpdate)||\"function\"!==typeof y.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof y.componentWillReceiveProps||(S!==E||C!==x)&&Cf(a,y,i,x);Jt=!1;C=a.memoizedState;y.state=C;ke(a,i,y,o);var _=a.memoizedState;S!==E||C!==_||at.current||Jt?(\"function\"===typeof I&&(yf(a,u,I,i),_=a.memoizedState),(z=Jt||Af(a,u,z,i,C,_,x)||!1)?(N||\"function\"!==typeof y.UNSAFE_componentWillUpdate&&\"function\"!==typeof y.componentWillUpdate||(\"function\"===typeof y.componentWillUpdate&&y.componentWillUpdate(i,_,x),\"function\"===typeof y.UNSAFE_componentWillUpdate&&y.UNSAFE_componentWillUpdate(i,_,x)),\"function\"===typeof y.componentDidUpdate&&(a.flags|=4),\"function\"===typeof y.getSnapshotBeforeUpdate&&(a.flags|=1024)):(\"function\"!==typeof y.componentDidUpdate||S===t.memoizedProps&&C===t.memoizedState||(a.flags|=4),\"function\"!==typeof y.getSnapshotBeforeUpdate||S===t.memoizedProps&&C===t.memoizedState||(a.flags|=1024),a.memoizedProps=i,a.memoizedState=_),y.props=i,y.state=_,y.context=x,i=z):(\"function\"!==typeof y.componentDidUpdate||S===t.memoizedProps&&C===t.memoizedState||(a.flags|=4),\"function\"!==typeof y.getSnapshotBeforeUpdate||S===t.memoizedProps&&C===t.memoizedState||(a.flags|=1024),i=!1)}return dg(t,a,u,i,s,o)}function dg(t,a,u,i,o,s){ag(t,a);var y=0!==(a.flags&128);if(!i&&!y)return o&&rc(a,u,!1),Tf(t,a,s);i=a.stateNode;br.current=a;var S=y&&\"function\"!==typeof u.getDerivedStateFromError?null:i.render();a.flags|=1;null!==t&&y?(a.child=At(a,t.child,null,s),a.child=At(a,null,S,s)):P(t,a,S,s);a.memoizedState=i.state;o&&rc(a,u,!0);return a.child}function eg(t){var a=t.stateNode;a.pendingContext?oc(t,a.pendingContext,a.pendingContext!==a.context):a.context&&oc(t,a.context,!1);se(t,a.containerInfo)}function fg(t,a,u,i,o){Ad();Bd(o);a.flags|=256;P(t,a,u,i);return a.child}var kr={dehydrated:null,treeContext:null,retryLane:0};function hg(t){return{baseLanes:t,cachePool:null,transitions:null}}function ig(t,a,u){var i,o=a.pendingProps,s=nr.current,y=!1,S=0!==(a.flags&128);(i=S)||(i=(null===t||null!==t.memoizedState)&&0!==(s&2));i?(y=!0,a.flags&=-129):null!==t&&null===t.memoizedState||(s|=1);v(nr,s&1);if(null===t){wd(a);t=a.memoizedState;if(null!==t&&(t=t.dehydrated,null!==t))return 0===(a.mode&1)?a.lanes=1:Mn(t)?a.lanes=8:a.lanes=1073741824,null;S=o.children;t=o.fallback;return y?(o=a.mode,y=a.child,S={mode:\"hidden\",children:S},0===(o&1)&&null!==y?(y.childLanes=0,y.pendingProps=S):y=jg(S,o,0,null),t=Nd(t,o,u,null),y.return=a,t.return=a,y.sibling=t,a.child=y,a.child.memoizedState=hg(u),a.memoizedState=kr,t):kg(a,S)}s=t.memoizedState;if(null!==s&&(i=s.dehydrated,null!==i))return lg(t,a,S,o,i,s,u);if(y){y=o.fallback;S=a.mode;s=t.child;i=s.sibling;var x={mode:\"hidden\",children:o.children};0===(S&1)&&a.child!==s?(o=a.child,o.childLanes=0,o.pendingProps=x,a.deletions=null):(o=Jd(s,x),o.subtreeFlags=s.subtreeFlags&14680064);null!==i?y=Jd(i,y):(y=Nd(y,S,u,null),y.flags|=2);y.return=a;o.return=a;o.sibling=y;a.child=o;o=y;y=a.child;S=t.child.memoizedState;S=null===S?hg(u):{baseLanes:S.baseLanes|u,cachePool:null,transitions:S.transitions};y.memoizedState=S;y.childLanes=t.childLanes&~u;a.memoizedState=kr;return o}y=t.child;t=y.sibling;o=Jd(y,{mode:\"visible\",children:o.children});0===(a.mode&1)&&(o.lanes=u);o.return=a;o.sibling=null;null!==t&&(u=a.deletions,null===u?(a.deletions=[t],a.flags|=16):u.push(t));a.child=o;a.memoizedState=null;return o}function kg(t,a){a=jg({mode:\"visible\",children:a},t.mode,0,null);a.return=t;return t.child=a}function mg(t,a,u,i){null!==i&&Bd(i);At(a,t.child,null,u);t=kg(a,a.pendingProps.children);t.flags|=2;a.memoizedState=null;return t}function lg(t,a,u,i,o,s,y){if(u){if(a.flags&256)return a.flags&=-257,i=Ff(Error(n(422))),mg(t,a,y,i);if(null!==a.memoizedState)return a.child=t.child,a.flags|=128,null;s=i.fallback;o=a.mode;i=jg({mode:\"visible\",children:i.children},o,0,null);s=Nd(s,o,y,null);s.flags|=2;i.return=a;s.return=a;i.sibling=s;a.child=i;0!==(a.mode&1)&&At(a,t.child,null,y);a.child.memoizedState=hg(y);a.memoizedState=kr;return s}if(0===(a.mode&1))return mg(t,a,y,null);if(Mn(o))return i=Fn(o).digest,s=Error(n(419)),i=Ff(s,i,void 0),mg(t,a,y,i);u=0!==(y&t.childLanes);if(Sr||u){i=qr;if(null!==i){switch(y&-y){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=0!==(o&(i.suspendedLanes|y))?0:o;0!==o&&o!==s.retryLane&&(s.retryLane=o,ce(t,o),af(i,t,o,-1))}ng();i=Ff(Error(n(421)));return mg(t,a,y,i)}if(Rn(o))return a.flags|=128,a.child=t.child,a=og.bind(null,t),Qn(o,a),null;t=s.treeContext;Fe&&(Dt=Bn(o),Qt=a,Ht=!0,Bt=null,Wt=!1,null!==t&&(Lt[Tt++]=Mt,Lt[Tt++]=Ft,Lt[Tt++]=Rt,Mt=t.id,Ft=t.overflow,Rt=a));a=kg(a,i.children);a.flags|=4096;return a}function pg(t,a,u){t.lanes|=a;var i=t.alternate;null!==i&&(i.lanes|=a);Xd(t.return,a,u)}function qg(t,a,u,i,o){var s=t.memoizedState;null===s?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:i,tail:u,tailMode:o}:(s.isBackwards=a,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=u,s.tailMode=o)}function rg(t,a,u){var i=a.pendingProps,o=i.revealOrder,s=i.tail;P(t,a,i.children,u);i=nr.current;if(0!==(i&2))i=i&1|2,a.flags|=128;else{if(null!==t&&0!==(t.flags&128))e:for(t=a.child;null!==t;){if(13===t.tag)null!==t.memoizedState&&pg(t,u,a);else if(19===t.tag)pg(t,u,a);else if(null!==t.child){t.child.return=t;t=t.child;continue}if(t===a)break e;for(;null===t.sibling;){if(null===t.return||t.return===a)break e;t=t.return}t.sibling.return=t.return;t=t.sibling}i&=1}v(nr,i);if(0===(a.mode&1))a.memoizedState=null;else switch(o){case\"forwards\":u=a.child;for(o=null;null!==u;)t=u.alternate,null!==t&&null===we(t)&&(o=u),u=u.sibling;u=o;null===u?(o=a.child,a.child=null):(o=u.sibling,u.sibling=null);qg(a,!1,o,u,s);break;case\"backwards\":u=null;o=a.child;for(a.child=null;null!==o;){t=o.alternate;if(null!==t&&null===we(t)){a.child=o;break}t=o.sibling;o.sibling=u;u=o;o=t}qg(a,!0,u,null,s);break;case\"together\":qg(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function cg(t,a){0===(a.mode&1)&&null!==t&&(t.alternate=null,a.alternate=null,a.flags|=2)}function Tf(t,a,u){null!==t&&(a.dependencies=t.dependencies);Kr|=a.lanes;if(0===(u&a.childLanes))return null;if(null!==t&&a.child!==t.child)throw Error(n(153));if(null!==a.child){t=a.child;u=Jd(t,t.pendingProps);a.child=u;for(u.return=a;null!==t.sibling;)t=t.sibling,u=u.sibling=Jd(t,t.pendingProps),u.return=a;u.sibling=null}return a.child}function sg(t,a,u){switch(a.tag){case 3:eg(a);Ad();break;case 5:ue(a);break;case 1:A(a.type)&&qc(a);break;case 4:se(a,a.stateNode.containerInfo);break;case 10:Vd(a,a.type._context,a.memoizedProps.value);break;case 13:var i=a.memoizedState;if(null!==i){if(null!==i.dehydrated)return v(nr,nr.current&1),a.flags|=128,null;if(0!==(u&a.child.childLanes))return ig(t,a,u);v(nr,nr.current&1);t=Tf(t,a,u);return null!==t?t.sibling:null}v(nr,nr.current&1);break;case 19:i=0!==(u&a.childLanes);if(0!==(t.flags&128)){if(i)return rg(t,a,u);a.flags|=128}var o=a.memoizedState;null!==o&&(o.rendering=null,o.tail=null,o.lastEffect=null);v(nr,nr.current);if(i)break;return null;case 22:case 23:return a.lanes=0,Yf(t,a,u)}return Tf(t,a,u)}function tg(t){t.flags|=4}function ug(t,a){if(null!==t&&t.child===a.child)return!0;if(0!==(a.flags&16))return!1;for(t=a.child;null!==t;){if(0!==(t.flags&12854)||0!==(t.subtreeFlags&12854))return!1;t=t.sibling}return!0}var xr,wr,zr,Nr;if(_e)xr=function(t,a){for(var u=a.child;null!==u;){if(5===u.tag||6===u.tag)le(t,u.stateNode);else if(4!==u.tag&&null!==u.child){u.child.return=u;u=u.child;continue}if(u===a)break;for(;null===u.sibling;){if(null===u.return||u.return===a)return;u=u.return}u.sibling.return=u.return;u=u.sibling}},wr=function(){},zr=function(t,a,u,i,o){t=t.memoizedProps;if(t!==i){var s=a.stateNode,y=re(Gt.current);u=de(s,u,t,i,o,y);(a.updateQueue=u)&&tg(a)}},Nr=function(t,a,u,i){u!==i&&tg(a)};else if(Le){xr=function(t,a,u,i){for(var o=a.child;null!==o;){if(5===o.tag){var s=o.stateNode;u&&i&&(s=In(s,o.type,o.memoizedProps,o));le(t,s)}else if(6===o.tag)s=o.stateNode,u&&i&&(s=_n(s,o.memoizedProps,o)),le(t,s);else if(4!==o.tag)if(22===o.tag&&null!==o.memoizedState)s=o.child,null!==s&&(s.return=o),xr(t,o,!0,!0);else if(null!==o.child){o.child.return=o;o=o.child;continue}if(o===a)break;for(;null===o.sibling;){if(null===o.return||o.return===a)return;o=o.return}o.sibling.return=o.return;o=o.sibling}};var zg=function(t,a,u,i){for(var o=a.child;null!==o;){if(5===o.tag){var s=o.stateNode;u&&i&&(s=In(s,o.type,o.memoizedProps,o));Pn(t,s)}else if(6===o.tag)s=o.stateNode,u&&i&&(s=_n(s,o.memoizedProps,o)),Pn(t,s);else if(4!==o.tag)if(22===o.tag&&null!==o.memoizedState)s=o.child,null!==s&&(s.return=o),zg(t,o,!0,!0);else if(null!==o.child){o.child.return=o;o=o.child;continue}if(o===a)break;for(;null===o.sibling;){if(null===o.return||o.return===a)return;o=o.return}o.sibling.return=o.return;o=o.sibling}};wr=function(t,a){var u=a.stateNode;if(!ug(t,a)){t=u.containerInfo;var i=Nn(t);zg(i,a,!1,!1);u.pendingChildren=i;tg(a);En(t,i)}};zr=function(t,a,u,i,o){var s=t.stateNode,y=t.memoizedProps;if((t=ug(t,a))&&y===i)a.stateNode=s;else{var S=a.stateNode,x=re(Gt.current),z=null;y!==i&&(z=de(S,u,y,i,o,x));t&&null===z?a.stateNode=s:(s=zn(s,z,u,y,i,a,t,S),oe(s,u,i,o,x)&&tg(a),a.stateNode=s,t?tg(a):xr(s,a,!1,!1))}};Nr=function(t,a,u,i){u!==i?(t=re(er.current),u=re(Gt.current),a.stateNode=xe(i,t,u,a),tg(a)):a.stateNode=t.stateNode}}else wr=function(){},zr=function(){},Nr=function(){};function Ag(t,a){if(!Ht)switch(t.tailMode){case\"hidden\":a=t.tail;for(var u=null;null!==a;)null!==a.alternate&&(u=a),a=a.sibling;null===u?t.tail=null:u.sibling=null;break;case\"collapsed\":u=t.tail;for(var i=null;null!==u;)null!==u.alternate&&(i=u),u=u.sibling;null===i?a||null===t.tail?t.tail=null:t.tail.sibling=null:i.sibling=null}}function Q(t){var a=null!==t.alternate&&t.alternate.child===t.child,u=0,i=0;if(a)for(var o=t.child;null!==o;)u|=o.lanes|o.childLanes,i|=o.subtreeFlags&14680064,i|=o.flags&14680064,o.return=t,o=o.sibling;else for(o=t.child;null!==o;)u|=o.lanes|o.childLanes,i|=o.subtreeFlags,i|=o.flags,o.return=t,o=o.sibling;t.subtreeFlags|=i;t.childLanes=u;return a}function Bg(t,a,u){var i=a.pendingProps;nd(a);switch(a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Q(a),null;case 1:return A(a.type)&&nc(),Q(a),null;case 3:u=a.stateNode;te();q(at);q(lt);ye();u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null);null!==t&&null!==t.child||(yd(a)?tg(a):null===t||t.memoizedState.isDehydrated&&0===(a.flags&256)||(a.flags|=1024,null!==Bt&&(Cg(Bt),Bt=null)));wr(t,a);Q(a);return null;case 5:ve(a);u=re(er.current);var o=a.type;if(null!==t&&null!=a.stateNode)zr(t,a,o,i,u),t.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!i){if(null===a.stateNode)throw Error(n(166));Q(a);return null}t=re(Gt.current);if(yd(a)){if(!Fe)throw Error(n(175));t=On(a.stateNode,a.type,a.memoizedProps,u,t,a,!Wt);a.updateQueue=t;null!==t&&tg(a)}else{var s=ne(o,i,u,t,a);xr(s,a,!1,!1);a.stateNode=s;oe(s,o,i,u,t)&&tg(a)}null!==a.ref&&(a.flags|=512,a.flags|=2097152)}Q(a);return null;case 6:if(t&&null!=a.stateNode)Nr(t,a,t.memoizedProps,i);else{if(\"string\"!==typeof i&&null===a.stateNode)throw Error(n(166));t=re(er.current);u=re(Gt.current);if(yd(a)){if(!Fe)throw Error(n(176));t=a.stateNode;u=a.memoizedProps;if((i=An(t,u,a,!Wt))&&(o=Qt,null!==o))switch(o.tag){case 3:Kn(o.stateNode.containerInfo,t,u,0!==(o.mode&1));break;case 5:Gn(o.type,o.memoizedProps,o.stateNode,t,u,0!==(o.mode&1))}i&&tg(a)}else a.stateNode=xe(i,t,u,a)}Q(a);return null;case 13:q(nr);i=a.memoizedState;if(null===t||null!==t.memoizedState&&null!==t.memoizedState.dehydrated){if(Ht&&null!==Dt&&0!==(a.mode&1)&&0===(a.flags&128))zd(),Ad(),a.flags|=98560,o=!1;else if(o=yd(a),null!==i&&null!==i.dehydrated){if(null===t){if(!o)throw Error(n(318));if(!Fe)throw Error(n(344));o=a.memoizedState;o=null!==o?o.dehydrated:null;if(!o)throw Error(n(317));qn(o,a)}else Ad(),0===(a.flags&128)&&(a.memoizedState=null),a.flags|=4;Q(a);o=!1}else null!==Bt&&(Cg(Bt),Bt=null),o=!0;if(!o)return a.flags&65536?a:null}if(0!==(a.flags&128))return a.lanes=u,a;u=null!==i;u!==(null!==t&&null!==t.memoizedState)&&u&&(a.child.flags|=8192,0!==(a.mode&1)&&(null===t||0!==(nr.current&1)?0===Yr&&(Yr=3):ng()));null!==a.updateQueue&&(a.flags|=4);Q(a);return null;case 4:return te(),wr(t,a),null===t&&Be(a.stateNode.containerInfo),Q(a),null;case 10:return Wd(a.type._context),Q(a),null;case 17:return A(a.type)&&nc(),Q(a),null;case 19:q(nr);o=a.memoizedState;if(null===o)return Q(a),null;i=0!==(a.flags&128);s=o.rendering;if(null===s)if(i)Ag(o,!1);else{if(0!==Yr||null!==t&&0!==(t.flags&128))for(t=a.child;null!==t;){s=we(t);if(null!==s){a.flags|=128;Ag(o,!1);t=s.updateQueue;null!==t&&(a.updateQueue=t,a.flags|=4);a.subtreeFlags=0;t=u;for(u=a.child;null!==u;)i=u,o=t,i.flags&=14680066,s=i.alternate,null===s?(i.childLanes=0,i.lanes=o,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,o=s.dependencies,i.dependencies=null===o?null:{lanes:o.lanes,firstContext:o.firstContext}),u=u.sibling;v(nr,nr.current&1|2);return a.child}t=t.sibling}null!==o.tail&&vt()>rl&&(a.flags|=128,i=!0,Ag(o,!1),a.lanes=4194304)}else{if(!i)if(t=we(s),null!==t){if(a.flags|=128,i=!0,t=t.updateQueue,null!==t&&(a.updateQueue=t,a.flags|=4),Ag(o,!0),null===o.tail&&\"hidden\"===o.tailMode&&!s.alternate&&!Ht)return Q(a),null}else 2*vt()-o.renderingStartTime>rl&&1073741824!==u&&(a.flags|=128,i=!0,Ag(o,!1),a.lanes=4194304);o.isBackwards?(s.sibling=a.child,a.child=s):(t=o.last,null!==t?t.sibling=s:a.child=s,o.last=s)}if(null!==o.tail)return a=o.tail,o.rendering=a,o.tail=a.sibling,o.renderingStartTime=vt(),a.sibling=null,t=nr.current,v(nr,i?t&1|2:t&1),a;Q(a);return null;case 22:case 23:return Eg(),u=null!==a.memoizedState,null!==t&&null!==t.memoizedState!==u&&(a.flags|=8192),u&&0!==(a.mode&1)?0!==(Vr&1073741824)&&(Q(a),_e&&a.subtreeFlags&6&&(a.flags|=8192)):Q(a),null;case 24:return null;case 25:return null}throw Error(n(156,a.tag))}function Fg(t,a){nd(a);switch(a.tag){case 1:return A(a.type)&&nc(),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return te(),q(at),q(lt),ye(),t=a.flags,0!==(t&65536)&&0===(t&128)?(a.flags=t&-65537|128,a):null;case 5:return ve(a),null;case 13:q(nr);t=a.memoizedState;if(null!==t&&null!==t.dehydrated){if(null===a.alternate)throw Error(n(340));Ad()}t=a.flags;return t&65536?(a.flags=t&-65537|128,a):null;case 19:return q(nr),null;case 4:return te(),null;case 10:return Wd(a.type._context),null;case 22:case 23:return Eg(),null;case 24:return null;default:return null}}var Pr=!1,Er=!1,Cr=\"function\"===typeof WeakSet?WeakSet:Set,Ir=null;function Ig(t,a){var u=t.ref;if(null!==u)if(\"function\"===typeof u)try{u(null)}catch(u){U(t,a,u)}else u.current=null}function Jg(t,a,u){try{u()}catch(u){U(t,a,u)}}var _r=!1;function Lg(t,a){G(t.containerInfo);for(Ir=a;null!==Ir;)if(t=Ir,a=t.child,0!==(t.subtreeFlags&1028)&&null!==a)a.return=t,Ir=a;else for(;null!==Ir;){t=Ir;try{var u=t.alternate;if(0!==(t.flags&1024))switch(t.tag){case 0:case 11:case 15:break;case 1:if(null!==u){var i=u.memoizedProps,o=u.memoizedState,s=t.stateNode,y=s.getSnapshotBeforeUpdate(t.elementType===t.type?i:xf(t.type,i),o);s.__reactInternalSnapshotBeforeUpdate=y}break;case 3:_e&&wn(t.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(a){U(t,t.return,a)}a=t.sibling;if(null!==a){a.return=t.return;Ir=a;break}Ir=t.return}u=_r;_r=!1;return u}function Mg(t,a,u){var i=a.updateQueue;i=null!==i?i.lastEffect:null;if(null!==i){var o=i=i.next;do{if((o.tag&t)===t){var s=o.destroy;o.destroy=void 0;void 0!==s&&Jg(a,u,s)}o=o.next}while(o!==i)}}function Ng(t,a){a=a.updateQueue;a=null!==a?a.lastEffect:null;if(null!==a){var u=a=a.next;do{if((u.tag&t)===t){var i=u.create;u.destroy=i()}u=u.next}while(u!==a)}}function Og(t){var a=t.ref;if(null!==a){var u=t.stateNode;switch(t.tag){case 5:t=Z(u);break;default:t=u}\"function\"===typeof a?a(t):a.current=t}}function Pg(t){var a=t.alternate;null!==a&&(t.alternate=null,Pg(a));t.child=null;t.deletions=null;t.sibling=null;5===t.tag&&(a=t.stateNode,null!==a&&qe(a));t.stateNode=null;t.return=null;t.dependencies=null;t.memoizedProps=null;t.memoizedState=null;t.pendingProps=null;t.stateNode=null;t.updateQueue=null}function Qg(t){return 5===t.tag||3===t.tag||4===t.tag}function Rg(t){e:for(;;){for(;null===t.sibling;){if(null===t.return||Qg(t.return))return null;t=t.return}t.sibling.return=t.return;for(t=t.sibling;5!==t.tag&&6!==t.tag&&18!==t.tag;){if(t.flags&2)continue e;if(null===t.child||4===t.tag)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Sg(t,a,u){var i=t.tag;if(5===i||6===i)t=t.stateNode,a?pn(u,t,a):cn(u,t);else if(4!==i&&(t=t.child,null!==t))for(Sg(t,a,u),t=t.sibling;null!==t;)Sg(t,a,u),t=t.sibling}function Tg(t,a,u){var i=t.tag;if(5===i||6===i)t=t.stateNode,a?gn(u,t,a):sn(u,t);else if(4!==i&&(t=t.child,null!==t))for(Tg(t,a,u),t=t.sibling;null!==t;)Tg(t,a,u),t=t.sibling}var Ur=null,Lr=!1;function Vg(t,a,u){for(u=u.child;null!==u;)Wg(t,a,u),u=u.sibling}function Wg(t,a,u){if(wt&&\"function\"===typeof wt.onCommitFiberUnmount)try{wt.onCommitFiberUnmount(xt,u)}catch(t){}switch(u.tag){case 5:Er||Ig(u,a);case 6:if(_e){var i=Ur,o=Lr;Ur=null;Vg(t,a,u);Ur=i;Lr=o;null!==Ur&&(Lr?vn(Ur,u.stateNode):mn(Ur,u.stateNode))}else Vg(t,a,u);break;case 18:_e&&null!==Ur&&(Lr?Yn(Ur,u.stateNode):Zn(Ur,u.stateNode));break;case 4:_e?(i=Ur,o=Lr,Ur=u.stateNode.containerInfo,Lr=!0,Vg(t,a,u),Ur=i,Lr=o):(Le&&(i=u.stateNode.containerInfo,o=Nn(i),Cn(i,o)),Vg(t,a,u));break;case 0:case 11:case 14:case 15:if(!Er&&(i=u.updateQueue,null!==i&&(i=i.lastEffect,null!==i))){o=i=i.next;do{var s=o,y=s.destroy;s=s.tag;void 0!==y&&(0!==(s&2)||0!==(s&4))&&Jg(u,a,y);o=o.next}while(o!==i)}Vg(t,a,u);break;case 1:if(!Er&&(Ig(u,a),i=u.stateNode,\"function\"===typeof i.componentWillUnmount))try{i.props=u.memoizedProps,i.state=u.memoizedState,i.componentWillUnmount()}catch(t){U(u,a,t)}Vg(t,a,u);break;case 21:Vg(t,a,u);break;case 22:u.mode&1?(Er=(i=Er)||null!==u.memoizedState,Vg(t,a,u),Er=i):Vg(t,a,u);break;default:Vg(t,a,u)}}function Xg(t){var a=t.updateQueue;if(null!==a){t.updateQueue=null;var u=t.stateNode;null===u&&(u=t.stateNode=new Cr);a.forEach((function(a){var i=Yg.bind(null,t,a);u.has(a)||(u.add(a),a.then(i,i))}))}}function Zg(t,a){var u=a.deletions;if(null!==u)for(var i=0;i<u.length;i++){var o=u[i];try{var s=t,y=a;if(_e){var S=y;e:for(;null!==S;){switch(S.tag){case 5:Ur=S.stateNode;Lr=!1;break e;case 3:Ur=S.stateNode.containerInfo;Lr=!0;break e;case 4:Ur=S.stateNode.containerInfo;Lr=!0;break e}S=S.return}if(null===Ur)throw Error(n(160));Wg(s,y,o);Ur=null;Lr=!1}else Wg(s,y,o);var x=o.alternate;null!==x&&(x.return=null);o.return=null}catch(t){U(o,a,t)}}if(a.subtreeFlags&12854)for(a=a.child;null!==a;)$g(a,t),a=a.sibling}function $g(t,a){var u=t.alternate,i=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Zg(a,t);ah(t);if(i&4){try{Mg(3,t,t.return),Ng(3,t)}catch(a){U(t,t.return,a)}try{Mg(5,t,t.return)}catch(a){U(t,t.return,a)}}break;case 1:Zg(a,t);ah(t);i&512&&null!==u&&Ig(u,u.return);break;case 5:Zg(a,t);ah(t);i&512&&null!==u&&Ig(u,u.return);if(_e){if(t.flags&32){var o=t.stateNode;try{yn(o)}catch(a){U(t,t.return,a)}}if(i&4&&(o=t.stateNode,null!=o)){var s=t.memoizedProps;u=null!==u?u.memoizedProps:s;i=t.type;a=t.updateQueue;t.updateQueue=null;if(null!==a)try{hn(o,a,i,u,s,t)}catch(a){U(t,t.return,a)}}}break;case 6:Zg(a,t);ah(t);if(i&4&&_e){if(null===t.stateNode)throw Error(n(162));o=t.stateNode;s=t.memoizedProps;u=null!==u?u.memoizedProps:s;try{fn(o,u,s)}catch(a){U(t,t.return,a)}}break;case 3:Zg(a,t);ah(t);if(i&4){if(_e&&Fe&&null!==u&&u.memoizedState.isDehydrated)try{$n(a.containerInfo)}catch(a){U(t,t.return,a)}if(Le){o=a.containerInfo;s=a.pendingChildren;try{Cn(o,s)}catch(a){U(t,t.return,a)}}}break;case 4:Zg(a,t);ah(t);if(i&4&&Le){s=t.stateNode;o=s.containerInfo;s=s.pendingChildren;try{Cn(o,s)}catch(a){U(t,t.return,a)}}break;case 13:Zg(a,t);ah(t);o=t.child;o.flags&8192&&(s=null!==o.memoizedState,o.stateNode.isHidden=s,!s||null!==o.alternate&&null!==o.alternate.memoizedState||(tl=vt()));i&4&&Xg(t);break;case 22:var y=null!==u&&null!==u.memoizedState;t.mode&1?(Er=(u=Er)||y,Zg(a,t),Er=u):Zg(a,t);ah(t);if(i&8192){u=null!==t.memoizedState;if((t.stateNode.isHidden=u)&&!y&&0!==(t.mode&1))for(Ir=t,i=t.child;null!==i;){for(a=Ir=i;null!==Ir;){y=Ir;var S=y.child;switch(y.tag){case 0:case 11:case 14:case 15:Mg(4,y,y.return);break;case 1:Ig(y,y.return);var x=y.stateNode;if(\"function\"===typeof x.componentWillUnmount){var z=y,N=y.return;try{var E=z;x.props=E.memoizedProps;x.state=E.memoizedState;x.componentWillUnmount()}catch(t){U(z,N,t)}}break;case 5:Ig(y,y.return);break;case 22:if(null!==y.memoizedState){ch(a);continue}}null!==S?(S.return=y,Ir=S):ch(a)}i=i.sibling}if(_e)e:if(i=null,_e)for(a=t;;){if(5===a.tag){if(null===i){i=a;try{o=a.stateNode,u?bn(o):kn(a.stateNode,a.memoizedProps)}catch(a){U(t,t.return,a)}}}else if(6===a.tag){if(null===i)try{s=a.stateNode,u?Sn(s):xn(s,a.memoizedProps)}catch(a){U(t,t.return,a)}}else if((22!==a.tag&&23!==a.tag||null===a.memoizedState||a===t)&&null!==a.child){a.child.return=a;a=a.child;continue}if(a===t)break e;for(;null===a.sibling;){if(null===a.return||a.return===t)break e;i===a&&(i=null);a=a.return}i===a&&(i=null);a.sibling.return=a.return;a=a.sibling}}break;case 19:Zg(a,t);ah(t);i&4&&Xg(t);break;case 21:break;default:Zg(a,t),ah(t)}}function ah(t){var a=t.flags;if(a&2){try{if(_e){e:{for(var u=t.return;null!==u;){if(Qg(u)){var i=u;break e}u=u.return}throw Error(n(160))}switch(i.tag){case 5:var o=i.stateNode;i.flags&32&&(yn(o),i.flags&=-33);var s=Rg(t);Tg(t,s,o);break;case 3:case 4:var y=i.stateNode.containerInfo,S=Rg(t);Sg(t,S,y);break;default:throw Error(n(161))}}}catch(a){U(t,t.return,a)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function dh(t,a,u){Ir=t;eh(t,a,u)}function eh(t,a,u){for(var i=0!==(t.mode&1);null!==Ir;){var o=Ir,s=o.child;if(22===o.tag&&i){var y=null!==o.memoizedState||Pr;if(!y){var S=o.alternate,x=null!==S&&null!==S.memoizedState||Er;S=Pr;var z=Er;Pr=y;if((Er=x)&&!z)for(Ir=o;null!==Ir;)y=Ir,x=y.child,22===y.tag&&null!==y.memoizedState?fh(o):null!==x?(x.return=y,Ir=x):fh(o);for(;null!==s;)Ir=s,eh(s,a,u),s=s.sibling;Ir=o;Pr=S;Er=z}gh(t,a,u)}else 0!==(o.subtreeFlags&8772)&&null!==s?(s.return=o,Ir=s):gh(t,a,u)}}function gh(t){for(;null!==Ir;){var a=Ir;if(0!==(a.flags&8772)){var u=a.alternate;try{if(0!==(a.flags&8772))switch(a.tag){case 0:case 11:case 15:Er||Ng(5,a);break;case 1:var i=a.stateNode;if(a.flags&4&&!Er)if(null===u)i.componentDidMount();else{var o=a.elementType===a.type?u.memoizedProps:xf(a.type,u.memoizedProps);i.componentDidUpdate(o,u.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var s=a.updateQueue;null!==s&&me(a,s,i);break;case 3:var y=a.updateQueue;if(null!==y){u=null;if(null!==a.child)switch(a.child.tag){case 5:u=Z(a.child.stateNode);break;case 1:u=a.child.stateNode}me(a,y,u)}break;case 5:var S=a.stateNode;null===u&&a.flags&4&&dn(S,a.type,a.memoizedProps,a);break;case 6:break;case 4:break;case 12:break;case 13:if(Fe&&null===a.memoizedState){var x=a.alternate;if(null!==x){var z=x.memoizedState;if(null!==z){var N=z.dehydrated;null!==N&&Vn(N)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}Er||a.flags&512&&Og(a)}catch(t){U(a,a.return,t)}}if(a===t){Ir=null;break}u=a.sibling;if(null!==u){u.return=a.return;Ir=u;break}Ir=a.return}}function ch(t){for(;null!==Ir;){var a=Ir;if(a===t){Ir=null;break}var u=a.sibling;if(null!==u){u.return=a.return;Ir=u;break}Ir=a.return}}function fh(t){for(;null!==Ir;){var a=Ir;try{switch(a.tag){case 0:case 11:case 15:var u=a.return;try{Ng(4,a)}catch(t){U(a,u,t)}break;case 1:var i=a.stateNode;if(\"function\"===typeof i.componentDidMount){var o=a.return;try{i.componentDidMount()}catch(t){U(a,o,t)}}var s=a.return;try{Og(a)}catch(t){U(a,s,t)}break;case 5:var y=a.return;try{Og(a)}catch(t){U(a,y,t)}}}catch(t){U(a,a.return,t)}if(a===t){Ir=null;break}var S=a.sibling;if(null!==S){S.return=a.return;Ir=S;break}Ir=a.return}}var Tr=0,Rr=1,Mr=2,Fr=3,Qr=4;if(\"function\"===typeof Symbol&&Symbol.for){var Dr=Symbol.for;Tr=Dr(\"selector.component\");Rr=Dr(\"selector.has_pseudo_class\");Mr=Dr(\"selector.role\");Fr=Dr(\"selector.test_id\");Qr=Dr(\"selector.text\")}function nh(t){var a=De(t);if(null!=a){if(\"string\"!==typeof a.memoizedProps[\"data-testname\"])throw Error(n(364));return a}t=nn(t);if(null===t)throw Error(n(362));return t.stateNode.current}function oh(t,a){switch(a.$$typeof){case Tr:if(t.type===a.value)return!0;break;case Rr:e:{a=a.value;t=[t,0];for(var u=0;u<t.length;){var i=t[u++],o=t[u++],s=a[o];if(5!==i.tag||!ln(i)){for(;null!=s&&oh(i,s);)o++,s=a[o];if(o===a.length){a=!0;break e}for(i=i.child;null!==i;)t.push(i,o),i=i.sibling}}a=!1}return a;case Mr:if(5===t.tag&&an(t.stateNode,a.value))return!0;break;case Qr:if((5===t.tag||6===t.tag)&&(t=rn(t),null!==t&&0<=t.indexOf(a.value)))return!0;break;case Fr:if(5===t.tag&&(t=t.memoizedProps[\"data-testname\"],\"string\"===typeof t&&t.toLowerCase()===a.value.toLowerCase()))return!0;break;default:throw Error(n(365))}return!1}function ph(t){switch(t.$$typeof){case Tr:return\"<\"+(ua(t.value)||\"Unknown\")+\">\";case Rr:return\":has(\"+(ph(t)||\"\")+\")\";case Mr:return'[role=\"'+t.value+'\"]';case Qr:return'\"'+t.value+'\"';case Fr:return'[data-testname=\"'+t.value+'\"]';default:throw Error(n(365))}}function qh(t,a){var u=[];t=[t,0];for(var i=0;i<t.length;){var o=t[i++],s=t[i++],y=a[s];if(5!==o.tag||!ln(o)){for(;null!=y&&oh(o,y);)s++,y=a[s];if(s===a.length)u.push(o);else for(o=o.child;null!==o;)t.push(o,s),o=o.sibling}}return u}function rh(t,a){if(!en)throw Error(n(363));t=nh(t);t=qh(t,a);a=[];t=Array.from(t);for(var u=0;u<t.length;){var i=t[u++];if(5===i.tag)ln(i)||a.push(i.stateNode);else for(i=i.child;null!==i;)t.push(i),i=i.sibling}return a}var Hr=Math.ceil,Wr=x.ReactCurrentDispatcher,Br=x.ReactCurrentOwner,Or=x.ReactCurrentBatchConfig,Ar=0,qr=null,jr=null,$r=0,Vr=0,Zr=ic(0),Yr=0,Jr=null,Kr=0,Gr=0,Xr=0,el=null,nl=null,tl=0,rl=Infinity,ll=null;function Bh(){rl=vt()+500}var al=!1,ul=null,il=null,ol=!1,sl=null,cl=0,fl=0,dl=null,hl=-1,gl=0;function O(){return 0!==(Ar&6)?vt():-1!==hl?hl:hl=vt()}function tf(t){if(0===(t.mode&1))return 1;if(0!==(Ar&2)&&0!==$r)return $r&-$r;if(null!==Ot.transition)return 0===gl&&(gl=Dc()),gl;t=dt;return 0!==t?t:Ae()}function af(t,a,u,i){if(50<fl)throw fl=0,dl=null,Error(n(185));Fc(t,u,i);0!==(Ar&2)&&t===qr||(t===qr&&(0===(Ar&2)&&(Gr|=u),4===Yr&&Jh(t,$r)),Kh(t,i),1===u&&0===Ar&&0===(a.mode&1)&&(Bh(),Pt&&ad()))}function Kh(t,a){var u=t.callbackNode;Bc(t,a);var i=zc(t,t===qr?$r:0);if(0===i)null!==u&&gt(u),t.callbackNode=null,t.callbackPriority=0;else if(a=i&-i,t.callbackPriority!==a){null!=u&&gt(u);if(1===a)0===t.tag?$c(Lh.bind(null,t)):Zc(Lh.bind(null,t)),Je?Ke((function(){0===(Ar&6)&&ad()})):ht(yt,ad),u=null;else{switch(Ic(i)){case 1:u=yt;break;case 4:u=bt;break;case 16:u=St;break;case 536870912:u=kt;break;default:u=St}u=Mh(u,Nh.bind(null,t))}t.callbackPriority=a;t.callbackNode=u}}function Nh(t,a){hl=-1;gl=0;if(0!==(Ar&6))throw Error(n(327));var u=t.callbackNode;if(Oh()&&t.callbackNode!==u)return null;var i=zc(t,t===qr?$r:0);if(0===i)return null;if(0!==(i&30)||0!==(i&t.expiredLanes)||a)a=Ph(t,i);else{a=i;var o=Ar;Ar|=2;var s=Qh();qr===t&&$r===a||(ll=null,Bh(),Rh(t,a));do{try{Sh();break}catch(a){Th(t,a)}}while(1);Ud();Wr.current=s;Ar=o;null!==jr?a=0:(qr=null,$r=0,a=Yr)}if(0!==a){2===a&&(o=Cc(t),0!==o&&(i=o,a=Uh(t,o)));if(1===a)throw u=Jr,Rh(t,0),Jh(t,i),Kh(t,vt()),u;if(6===a)Jh(t,i);else{o=t.current.alternate;if(0===(i&30)&&!Vh(o)&&(a=Ph(t,i),2===a&&(s=Cc(t),0!==s&&(i=s,a=Uh(t,s))),1===a))throw u=Jr,Rh(t,0),Jh(t,i),Kh(t,vt()),u;t.finishedWork=o;t.finishedLanes=i;switch(a){case 0:case 1:throw Error(n(345));case 2:Wh(t,nl,ll);break;case 3:Jh(t,i);if((i&130023424)===i&&(a=tl+500-vt(),10<a)){if(0!==zc(t,0))break;o=t.suspendedLanes;if((o&i)!==i){O();t.pingedLanes|=t.suspendedLanes&o;break}t.timeoutHandle=ze(Wh.bind(null,t,nl,ll),a);break}Wh(t,nl,ll);break;case 4:Jh(t,i);if((i&4194240)===i)break;a=t.eventTimes;for(o=-1;0<i;){var y=31-it(i);s=1<<y;y=a[y];y>o&&(o=y);i&=~s}i=o;i=vt()-i;i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Hr(i/1960))-i;if(10<i){t.timeoutHandle=ze(Wh.bind(null,t,nl,ll),i);break}Wh(t,nl,ll);break;case 5:Wh(t,nl,ll);break;default:throw Error(n(329))}}}Kh(t,vt());return t.callbackNode===u?Nh.bind(null,t):null}function Uh(t,a){var u=el;t.current.memoizedState.isDehydrated&&(Rh(t,a).flags|=256);t=Ph(t,a);2!==t&&(a=nl,nl=u,null!==a&&Cg(a));return t}function Cg(t){null===nl?nl=t:nl.push.apply(nl,t)}function Vh(t){for(var a=t;;){if(a.flags&16384){var u=a.updateQueue;if(null!==u&&(u=u.stores,null!==u))for(var i=0;i<u.length;i++){var o=u[i],s=o.getSnapshot;o=o.value;try{if(!zt(s(),o))return!1}catch(t){return!1}}}u=a.child;if(a.subtreeFlags&16384&&null!==u)u.return=a,a=u;else{if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return!0;a=a.return}a.sibling.return=a.return;a=a.sibling}}return!0}function Jh(t,a){a&=~Xr;a&=~Gr;t.suspendedLanes|=a;t.pingedLanes&=~a;for(t=t.expirationTimes;0<a;){var u=31-it(a),i=1<<u;t[u]=-1;a&=~i}}function Lh(t){if(0!==(Ar&6))throw Error(n(327));Oh();var a=zc(t,0);if(0===(a&1))return Kh(t,vt()),null;var u=Ph(t,a);if(0!==t.tag&&2===u){var i=Cc(t);0!==i&&(a=i,u=Uh(t,i))}if(1===u)throw u=Jr,Rh(t,0),Jh(t,a),Kh(t,vt()),u;if(6===u)throw Error(n(345));t.finishedWork=t.current.alternate;t.finishedLanes=a;Wh(t,nl,ll);Kh(t,vt());return null}function Xh(t){null!==sl&&0===sl.tag&&0===(Ar&6)&&Oh();var a=Ar;Ar|=1;var u=Or.transition,i=dt;try{if(Or.transition=null,dt=1,t)return t()}finally{dt=i,Or.transition=u,Ar=a,0===(Ar&6)&&ad()}}function Eg(){Vr=Zr.current;q(Zr)}function Rh(t,a){t.finishedWork=null;t.finishedLanes=0;var u=t.timeoutHandle;u!==Ce&&(t.timeoutHandle=Ce,Ee(u));if(null!==jr)for(u=jr.return;null!==u;){var i=u;nd(i);switch(i.tag){case 1:i=i.type.childContextTypes;null!==i&&void 0!==i&&nc();break;case 3:te();q(at);q(lt);ye();break;case 5:ve(i);break;case 4:te();break;case 13:q(nr);break;case 19:q(nr);break;case 10:Wd(i.type._context);break;case 22:case 23:Eg()}u=u.return}qr=t;jr=t=Jd(t.current,null);$r=Vr=a;Yr=0;Jr=null;Xr=Gr=Kr=0;nl=el=null;if(null!==Yt){for(a=0;a<Yt.length;a++)if(u=Yt[a],i=u.interleaved,null!==i){u.interleaved=null;var o=i.next,s=u.pending;if(null!==s){var y=s.next;s.next=o;i.next=y}u.pending=i}Yt=null}return t}function Th(t,a){do{var u=jr;try{Ud();rr.current=hr;if(sr){for(var i=ur.memoizedState;null!==i;){var o=i.queue;null!==o&&(o.pending=null);i=i.next}sr=!1}ar=0;or=ir=ur=null;cr=!1;fr=0;Br.current=null;if(null===u||null===u.return){Yr=1;Jr=a;jr=null;break}e:{var s=t,y=u.return,S=u,x=a;a=$r;S.flags|=32768;if(null!==x&&\"object\"===typeof x&&\"function\"===typeof x.then){var z=x,N=S,E=N.tag;if(0===(N.mode&1)&&(0===E||11===E||15===E)){var C=N.alternate;C?(N.updateQueue=C.updateQueue,N.memoizedState=C.memoizedState,N.lanes=C.lanes):(N.updateQueue=null,N.memoizedState=null)}var I=Pf(y);if(null!==I){I.flags&=-257;Qf(I,y,S,s,a);I.mode&1&&Nf(s,z,a);a=I;x=z;var _=a.updateQueue;if(null===_){var L=new Set;L.add(x);a.updateQueue=L}else _.add(x);break e}if(0===(a&1)){Nf(s,z,a);ng();break e}x=Error(n(426))}else if(Ht&&S.mode&1){var T=Pf(y);if(null!==T){0===(T.flags&65536)&&(T.flags|=256);Qf(T,y,S,s,a);Bd(Ef(x,S));break e}}s=x=Ef(x,S);4!==Yr&&(Yr=2);null===el?el=[s]:el.push(s);s=y;do{switch(s.tag){case 3:s.flags|=65536;a&=-a;s.lanes|=a;var R=If(s,x,a);je(s,R);break e;case 1:S=x;var F=s.type,D=s.stateNode;if(0===(s.flags&128)&&(\"function\"===typeof F.getDerivedStateFromError||null!==D&&\"function\"===typeof D.componentDidCatch&&(null===il||!il.has(D)))){s.flags|=65536;a&=-a;s.lanes|=a;var H=Lf(s,S,a);je(s,H);break e}}s=s.return}while(null!==s)}Yh(u)}catch(t){a=t;jr===u&&null!==u&&(jr=u=u.return);continue}break}while(1)}function Qh(){var t=Wr.current;Wr.current=hr;return null===t?hr:t}function ng(){0!==Yr&&3!==Yr&&2!==Yr||(Yr=4);null===qr||0===(Kr&268435455)&&0===(Gr&268435455)||Jh(qr,$r)}function Ph(t,a){var u=Ar;Ar|=2;var i=Qh();qr===t&&$r===a||(ll=null,Rh(t,a));do{try{Zh();break}catch(a){Th(t,a)}}while(1);Ud();Ar=u;Wr.current=i;if(null!==jr)throw Error(n(261));qr=null;$r=0;return Yr}function Zh(){for(;null!==jr;)$h(jr)}function Sh(){for(;null!==jr&&!pt();)$h(jr)}function $h(t){var a=pl(t.alternate,t,Vr);t.memoizedProps=t.pendingProps;null===a?Yh(t):jr=a;Br.current=null}function Yh(t){var a=t;do{var u=a.alternate;t=a.return;if(0===(a.flags&32768)){if(u=Bg(u,a,Vr),null!==u){jr=u;return}}else{u=Fg(u,a);if(null!==u){u.flags&=32767;jr=u;return}if(null===t){Yr=6;jr=null;return}t.flags|=32768,t.subtreeFlags=0,t.deletions=null}a=a.sibling;if(null!==a){jr=a;return}jr=a=t}while(null!==a);0===Yr&&(Yr=5)}function Wh(t,a,u){var i=dt,o=Or.transition;try{Or.transition=null,dt=1,bi(t,a,u,i)}finally{Or.transition=o,dt=i}return null}function bi(t,a,u,i){do{Oh()}while(null!==sl);if(0!==(Ar&6))throw Error(n(327));u=t.finishedWork;var o=t.finishedLanes;if(null===u)return null;t.finishedWork=null;t.finishedLanes=0;if(u===t.current)throw Error(n(177));t.callbackNode=null;t.callbackPriority=0;var s=u.lanes|u.childLanes;Gc(t,s);t===qr&&(jr=qr=null,$r=0);0===(u.subtreeFlags&2064)&&0===(u.flags&2064)||ol||(ol=!0,Mh(St,(function(){Oh();return null})));s=0!==(u.flags&15990);if(0!==(u.subtreeFlags&15990)||s){s=Or.transition;Or.transition=null;var y=dt;dt=1;var S=Ar;Ar|=4;Br.current=null;Lg(t,u);$g(u,t);X(t.containerInfo);t.current=u;dh(u,t,o);mt();Ar=S;dt=y;Or.transition=s}else t.current=u;ol&&(ol=!1,sl=t,cl=o);s=t.pendingLanes;0===s&&(il=null);Tc(u.stateNode,i);Kh(t,vt());if(null!==a)for(i=t.onRecoverableError,u=0;u<a.length;u++)o=a[u],i(o.value,{componentStack:o.stack,digest:o.digest});if(al)throw al=!1,t=ul,ul=null,t;0!==(cl&1)&&0!==t.tag&&Oh();s=t.pendingLanes;0!==(s&1)?t===dl?fl++:(fl=0,dl=t):fl=0;ad();return null}function Oh(){if(null!==sl){var t=Ic(cl),a=Or.transition,u=dt;try{Or.transition=null;dt=16>t?16:t;if(null===sl)var i=!1;else{t=sl;sl=null;cl=0;if(0!==(Ar&6))throw Error(n(331));var o=Ar;Ar|=4;for(Ir=t.current;null!==Ir;){var s=Ir,y=s.child;if(0!==(Ir.flags&16)){var S=s.deletions;if(null!==S){for(var x=0;x<S.length;x++){var z=S[x];for(Ir=z;null!==Ir;){var N=Ir;switch(N.tag){case 0:case 11:case 15:Mg(8,N,s)}var E=N.child;if(null!==E)E.return=N,Ir=E;else for(;null!==Ir;){N=Ir;var C=N.sibling,I=N.return;Pg(N);if(N===z){Ir=null;break}if(null!==C){C.return=I;Ir=C;break}Ir=I}}}var _=s.alternate;if(null!==_){var L=_.child;if(null!==L){_.child=null;do{var T=L.sibling;L.sibling=null;L=T}while(null!==L)}}Ir=s}}if(0!==(s.subtreeFlags&2064)&&null!==y)y.return=s,Ir=y;else e:for(;null!==Ir;){s=Ir;if(0!==(s.flags&2048))switch(s.tag){case 0:case 11:case 15:Mg(9,s,s.return)}var R=s.sibling;if(null!==R){R.return=s.return;Ir=R;break e}Ir=s.return}}var F=t.current;for(Ir=F;null!==Ir;){y=Ir;var D=y.child;if(0!==(y.subtreeFlags&2064)&&null!==D)D.return=y,Ir=D;else e:for(y=F;null!==Ir;){S=Ir;if(0!==(S.flags&2048))try{switch(S.tag){case 0:case 11:case 15:Ng(9,S)}}catch(t){U(S,S.return,t)}if(S===y){Ir=null;break e}var H=S.sibling;if(null!==H){H.return=S.return;Ir=H;break e}Ir=S.return}}Ar=o;ad();if(wt&&\"function\"===typeof wt.onPostCommitFiberRoot)try{wt.onPostCommitFiberRoot(xt,t)}catch(t){}i=!0}return i}finally{dt=u,Or.transition=a}}return!1}function ci(t,a,u){a=Ef(u,a);a=If(t,a,1);t=he(t,a,1);a=O();null!==t&&(Fc(t,1,a),Kh(t,a))}function U(t,a,u){if(3===t.tag)ci(t,t,u);else for(;null!==a;){if(3===a.tag){ci(a,t,u);break}if(1===a.tag){var i=a.stateNode;if(\"function\"===typeof a.type.getDerivedStateFromError||\"function\"===typeof i.componentDidCatch&&(null===il||!il.has(i))){t=Ef(u,t);t=Lf(a,t,1);a=he(a,t,1);t=O();null!==a&&(Fc(a,1,t),Kh(a,t));break}}a=a.return}}function Of(t,a,u){var i=t.pingCache;null!==i&&i.delete(a);a=O();t.pingedLanes|=t.suspendedLanes&u;qr===t&&($r&u)===u&&(4===Yr||3===Yr&&($r&130023424)===$r&&500>vt()-tl?Rh(t,0):Xr|=u);Kh(t,a)}function di(t,a){0===a&&(0===(t.mode&1)?a=1:(a=ft,ft<<=1,0===(ft&130023424)&&(ft=4194304)));var u=O();t=ce(t,a);null!==t&&(Fc(t,a,u),Kh(t,u))}function og(t){var a=t.memoizedState,u=0;null!==a&&(u=a.retryLane);di(t,u)}function Yg(t,a){var u=0;switch(t.tag){case 13:var i=t.stateNode;var o=t.memoizedState;null!==o&&(u=o.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(n(314))}null!==i&&i.delete(a);di(t,u)}var pl;pl=function(t,a,u){if(null!==t)if(t.memoizedProps!==a.pendingProps||at.current)Sr=!0;else{if(0===(t.lanes&u)&&0===(a.flags&128))return Sr=!1,sg(t,a,u);Sr=0!==(t.flags&131072)}else Sr=!1,Ht&&0!==(a.flags&1048576)&&ld(a,Ut,a.index);a.lanes=0;switch(a.tag){case 2:var i=a.type;cg(t,a);t=a.pendingProps;var o=mc(a,lt.current);Yd(a,u);o=He(null,a,i,t,o,u);var s=Me();a.flags|=1;\"object\"===typeof o&&null!==o&&\"function\"===typeof o.render&&void 0===o.$$typeof?(a.tag=1,a.memoizedState=null,a.updateQueue=null,A(i)?(s=!0,qc(a)):s=!1,a.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,ee(a),o.updater=vr,a.stateNode=o,o._reactInternals=a,Df(a,i,t,u),a=dg(null,a,i,!0,s,u)):(a.tag=0,Ht&&s&&md(a),P(null,a,o,u),a=a.child);return a;case 16:i=a.elementType;e:{cg(t,a);t=a.pendingProps;o=i._init;i=o(i._payload);a.type=i;o=a.tag=ei(i);t=xf(i,t);switch(o){case 0:a=Xf(null,a,i,t,u);break e;case 1:a=bg(null,a,i,t,u);break e;case 11:a=Sf(null,a,i,t,u);break e;case 14:a=Uf(null,a,i,xf(i.type,t),u);break e}throw Error(n(306,i,\"\"))}return a;case 0:return i=a.type,o=a.pendingProps,o=a.elementType===i?o:xf(i,o),Xf(t,a,i,o,u);case 1:return i=a.type,o=a.pendingProps,o=a.elementType===i?o:xf(i,o),bg(t,a,i,o,u);case 3:e:{eg(a);if(null===t)throw Error(n(387));i=a.pendingProps;s=a.memoizedState;o=s.element;fe(t,a);ke(a,i,null,u);var y=a.memoizedState;i=y.element;if(Fe&&s.isDehydrated){if(s={element:i,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},a.updateQueue.baseState=s,a.memoizedState=s,a.flags&256){o=Ef(Error(n(423)),a);a=fg(t,a,i,u,o);break e}if(i!==o){o=Ef(Error(n(424)),a);a=fg(t,a,i,u,o);break e}for(Fe&&(Dt=Wn(a.stateNode.containerInfo),Qt=a,Ht=!0,Bt=null,Wt=!1),u=qt(a,null,i,u),a.child=u;u;)u.flags=u.flags&-3|4096,u=u.sibling}else{Ad();if(i===o){a=Tf(t,a,u);break e}P(t,a,i,u)}a=a.child}return a;case 5:return ue(a),null===t&&wd(a),i=a.type,o=a.pendingProps,s=null!==t?t.memoizedProps:null,y=o.children,pe(i,o)?y=null:null!==s&&pe(i,s)&&(a.flags|=32),ag(t,a),P(t,a,y,u),a.child;case 6:return null===t&&wd(a),null;case 13:return ig(t,a,u);case 4:return se(a,a.stateNode.containerInfo),i=a.pendingProps,null===t?a.child=At(a,null,i,u):P(t,a,i,u),a.child;case 11:return i=a.type,o=a.pendingProps,o=a.elementType===i?o:xf(i,o),Sf(t,a,i,o,u);case 7:return P(t,a,a.pendingProps,u),a.child;case 8:return P(t,a,a.pendingProps.children,u),a.child;case 12:return P(t,a,a.pendingProps.children,u),a.child;case 10:e:{i=a.type._context;o=a.pendingProps;s=a.memoizedProps;y=o.value;Vd(a,i,y);if(null!==s)if(zt(s.value,y)){if(s.children===o.children&&!at.current){a=Tf(t,a,u);break e}}else for(s=a.child,null!==s&&(s.return=a);null!==s;){var S=s.dependencies;if(null!==S){y=s.child;for(var x=S.firstContext;null!==x;){if(x.context===i){if(1===s.tag){x=ge(-1,u&-u);x.tag=2;var z=s.updateQueue;if(null!==z){z=z.shared;var N=z.pending;null===N?x.next=x:(x.next=N.next,N.next=x);z.pending=x}}s.lanes|=u;x=s.alternate;null!==x&&(x.lanes|=u);Xd(s.return,u,a);S.lanes|=u;break}x=x.next}}else if(10===s.tag)y=s.type===a.type?null:s.child;else if(18===s.tag){y=s.return;if(null===y)throw Error(n(341));y.lanes|=u;S=y.alternate;null!==S&&(S.lanes|=u);Xd(y,u,a);y=s.sibling}else y=s.child;if(null!==y)y.return=s;else for(y=s;null!==y;){if(y===a){y=null;break}s=y.sibling;if(null!==s){s.return=y.return;y=s;break}y=y.return}s=y}P(t,a,o.children,u);a=a.child}return a;case 9:return o=a.type,i=a.pendingProps.children,Yd(a,u),o=Zd(o),i=i(o),a.flags|=1,P(t,a,i,u),a.child;case 14:return i=a.type,o=xf(i,a.pendingProps),o=xf(i.type,o),Uf(t,a,i,o,u);case 15:return Wf(t,a,a.type,a.pendingProps,u);case 17:return i=a.type,o=a.pendingProps,o=a.elementType===i?o:xf(i,o),cg(t,a),a.tag=1,A(i)?(t=!0,qc(a)):t=!1,Yd(a,u),Bf(a,i,o),Df(a,i,o,u),dg(null,a,i,!0,t,u);case 19:return rg(t,a,u);case 22:return Yf(t,a,u)}throw Error(n(156,a.tag))};function Mh(t,a){return ht(t,a)}function fi(t,a,u,i){(this||o).tag=t;(this||o).key=u;(this||o).sibling=(this||o).child=(this||o).return=(this||o).stateNode=(this||o).type=(this||o).elementType=null;(this||o).index=0;(this||o).ref=null;(this||o).pendingProps=a;(this||o).dependencies=(this||o).memoizedState=(this||o).updateQueue=(this||o).memoizedProps=null;(this||o).mode=i;(this||o).subtreeFlags=(this||o).flags=0;(this||o).deletions=null;(this||o).childLanes=(this||o).lanes=0;(this||o).alternate=null}function td(t,a,u,i){return new fi(t,a,u,i)}function Vf(t){t=t.prototype;return!(!t||!t.isReactComponent)}function ei(t){if(\"function\"===typeof t)return Vf(t)?1:0;if(void 0!==t&&null!==t){t=t.$$typeof;if(t===T)return 11;if(t===D)return 14}return 2}function Jd(t,a){var u=t.alternate;null===u?(u=td(t.tag,a,t.key,t.mode),u.elementType=t.elementType,u.type=t.type,u.stateNode=t.stateNode,u.alternate=t,t.alternate=u):(u.pendingProps=a,u.type=t.type,u.flags=0,u.subtreeFlags=0,u.deletions=null);u.flags=t.flags&14680064;u.childLanes=t.childLanes;u.lanes=t.lanes;u.child=t.child;u.memoizedProps=t.memoizedProps;u.memoizedState=t.memoizedState;u.updateQueue=t.updateQueue;a=t.dependencies;u.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext};u.sibling=t.sibling;u.index=t.index;u.ref=t.ref;return u}function Ld(t,a,u,i,o,s){var y=2;i=t;if(\"function\"===typeof t)Vf(t)&&(y=1);else if(\"string\"===typeof t)y=5;else e:switch(t){case E:return Nd(u.children,o,s,a);case C:y=8;o|=8;break;case I:return t=td(12,u,a,o|2),t.elementType=I,t.lanes=s,t;case R:return t=td(13,u,a,o),t.elementType=R,t.lanes=s,t;case F:return t=td(19,u,a,o),t.elementType=F,t.lanes=s,t;case W:return jg(u,o,s,a);default:if(\"object\"===typeof t&&null!==t)switch(t.$$typeof){case _:y=10;break e;case L:y=9;break e;case T:y=11;break e;case D:y=14;break e;case H:y=16;i=null;break e}throw Error(n(130,null==t?t:typeof t,\"\"))}a=td(y,u,a,o);a.elementType=t;a.type=i;a.lanes=s;return a}function Nd(t,a,u,i){t=td(7,t,i,a);t.lanes=u;return t}function jg(t,a,u,i){t=td(22,t,i,a);t.elementType=W;t.lanes=u;t.stateNode={isHidden:!1};return t}function Kd(t,a,u){t=td(6,t,null,a);t.lanes=u;return t}function Md(t,a,u){a=td(4,null!==t.children?t.children:[],t.key,a);a.lanes=u;a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation};return a}function gi(t,a,u,i,s){(this||o).tag=a;(this||o).containerInfo=t;(this||o).finishedWork=(this||o).pingCache=(this||o).current=(this||o).pendingChildren=null;(this||o).timeoutHandle=Ce;(this||o).callbackNode=(this||o).pendingContext=(this||o).context=null;(this||o).callbackPriority=0;(this||o).eventTimes=Ec(0);(this||o).expirationTimes=Ec(-1);(this||o).entangledLanes=(this||o).finishedLanes=(this||o).mutableReadLanes=(this||o).expiredLanes=(this||o).pingedLanes=(this||o).suspendedLanes=(this||o).pendingLanes=0;(this||o).entanglements=Ec(0);(this||o).identifierPrefix=i;(this||o).onRecoverableError=s;Fe&&((this||o).mutableSourceEagerHydrationData=null)}function hi(t,a,u,i,o,s,y,S,x){t=new gi(t,a,u,S,x);1===a?(a=1,!0===s&&(a|=8)):a=0;s=td(3,null,null,a);t.current=s;s.stateNode=t;s.memoizedState={element:i,isDehydrated:u,cache:null,transitions:null,pendingSuspenseBoundaries:null};ee(s);return t}function ii(t){if(!t)return rt;t=t._reactInternals;e:{if(wa(t)!==t||1!==t.tag)throw Error(n(170));var a=t;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(A(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(null!==a);throw Error(n(171))}if(1===t.tag){var u=t.type;if(A(u))return pc(t,u,a)}return a}function ji(t){var a=t._reactInternals;if(void 0===a){if(\"function\"===typeof t.render)throw Error(n(188));t=Object.keys(t).join(\",\");throw Error(n(268,t))}t=Aa(a);return null===t?null:t.stateNode}function ki(t,a){t=t.memoizedState;if(null!==t&&null!==t.dehydrated){var u=t.retryLane;t.retryLane=0!==u&&u<a?u:a}}function li(t,a){ki(t,a);(t=t.alternate)&&ki(t,a)}function mi(t){t=Aa(t);return null===t?null:t.stateNode}function ni(){return null}a.attemptContinuousHydration=function(t){if(13===t.tag){var a=ce(t,134217728);if(null!==a){var u=O();af(a,t,134217728,u)}li(t,134217728)}};a.attemptDiscreteHydration=function(t){if(13===t.tag){var a=ce(t,1);if(null!==a){var u=O();af(a,t,1,u)}li(t,1)}};a.attemptHydrationAtCurrentPriority=function(t){if(13===t.tag){var a=tf(t),u=ce(t,a);if(null!==u){var i=O();af(u,t,a,i)}li(t,a)}};a.attemptSynchronousHydration=function(t){switch(t.tag){case 3:var a=t.stateNode;if(a.current.memoizedState.isDehydrated){var u=yc(a.pendingLanes);0!==u&&(Hc(a,u|1),Kh(a,vt()),0===(Ar&6)&&(Bh(),ad()))}break;case 13:Xh((function(){var a=ce(t,1);if(null!==a){var u=O();af(a,t,1,u)}})),li(t,1)}};a.batchedUpdates=function(t,a){var u=Ar;Ar|=1;try{return t(a)}finally{Ar=u,0===Ar&&(Bh(),Pt&&ad())}};a.createComponentSelector=function(t){return{$$typeof:Tr,value:t}};a.createContainer=function(t,a,u,i,o,s,y){return hi(t,a,!1,null,u,i,o,s,y)};a.createHasPseudoClassSelector=function(t){return{$$typeof:Rr,value:t}};a.createHydrationContainer=function(t,a,u,i,o,s,y,S,x){t=hi(u,i,!0,t,o,s,y,S,x);t.context=ii(null);u=t.current;i=O();o=tf(u);s=ge(i,o);s.callback=void 0!==a&&null!==a?a:null;he(u,s,o);t.current.lanes=o;Fc(t,o,i);Kh(t,i);return t};a.createPortal=function(t,a,u){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:N,key:null==i?null:\"\"+i,children:t,containerInfo:a,implementation:u}};a.createRoleSelector=function(t){return{$$typeof:Mr,value:t}};a.createTestNameSelector=function(t){return{$$typeof:Fr,value:t}};a.createTextSelector=function(t){return{$$typeof:Qr,value:t}};a.deferredUpdates=function(t){var a=dt,u=Or.transition;try{return Or.transition=null,dt=16,t()}finally{dt=a,Or.transition=u}};a.discreteUpdates=function(t,a,u,i,o){var s=dt,y=Or.transition;try{return Or.transition=null,dt=1,t(a,u,i,o)}finally{dt=s,Or.transition=y,0===Ar&&Bh()}};a.findAllNodes=rh;a.findBoundingRects=function(t,a){if(!en)throw Error(n(363));a=rh(t,a);t=[];for(var u=0;u<a.length;u++)t.push(tn(a[u]));for(a=t.length-1;0<a;a--){u=t[a];for(var i=u.x,o=i+u.width,s=u.y,y=s+u.height,S=a-1;0<=S;S--)if(a!==S){var x=t[S],z=x.x,N=z+x.width,E=x.y,C=E+x.height;if(i>=z&&s>=E&&o<=N&&y<=C){t.splice(a,1);break}if(!(i!==z||u.width!==x.width||C<s||E>y)){E>s&&(x.height+=E-s,x.y=s);C<y&&(x.height=y-E);t.splice(a,1);break}if(!(s!==E||u.height!==x.height||N<i||z>o)){z>i&&(x.width+=z-i,x.x=i);N<o&&(x.width=o-z);t.splice(a,1);break}}}return t};a.findHostInstance=ji;a.findHostInstanceWithNoPortals=function(t){t=za(t);t=null!==t?Ca(t):null;return null===t?null:t.stateNode};a.findHostInstanceWithWarning=function(t){return ji(t)};a.flushControlled=function(t){var a=Ar;Ar|=1;var u=Or.transition,i=dt;try{Or.transition=null,dt=1,t()}finally{dt=i,Or.transition=u,Ar=a,0===Ar&&(Bh(),ad())}};a.flushPassiveEffects=Oh;a.flushSync=Xh;a.focusWithin=function(t,a){if(!en)throw Error(n(363));t=nh(t);a=qh(t,a);a=Array.from(a);for(t=0;t<a.length;){var u=a[t++];if(!ln(u)){if(5===u.tag&&un(u.stateNode))return!0;for(u=u.child;null!==u;)a.push(u),u=u.sibling}}return!1};a.getCurrentUpdatePriority=function(){return dt};a.getFindAllNodesFailureDescription=function(t,a){if(!en)throw Error(n(363));var u=0,i=[];t=[nh(t),0];for(var o=0;o<t.length;){var s=t[o++],y=t[o++],S=a[y];if((5!==s.tag||!ln(s))&&(oh(s,S)&&(i.push(ph(S)),y++,y>u&&(u=y)),y<a.length))for(s=s.child;null!==s;)t.push(s,y),s=s.sibling}if(u<a.length){for(t=[];u<a.length;u++)t.push(ph(a[u]));return\"findAllNodes was able to match part of the selector:\\n  \"+i.join(\" > \")+\"\\n\\nNo matching component was found for:\\n  \"+t.join(\" > \")}return null};a.getPublicRootInstance=function(t){t=t.current;if(!t.child)return null;switch(t.child.tag){case 5:return Z(t.child.stateNode);default:return t.child.stateNode}};a.injectIntoDevTools=function(t){t={bundleType:t.bundleType,version:t.version,rendererPackageName:t.rendererPackageName,rendererConfig:t.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:mi,findFiberByHostInstance:t.findFiberByHostInstance||ni,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1\"};if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)t=!1;else{var a=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(a.isDisabled||!a.supportsFiber)t=!0;else{try{xt=a.inject(t),wt=a}catch(t){}t=!!a.checkDCE}}return t};a.isAlreadyRendering=function(){return!1};a.observeVisibleRects=function(t,a,u,i){if(!en)throw Error(n(363));t=rh(t,a);var o=on(t,u,i).disconnect;return{disconnect:function(){o()}}};a.registerMutableSourceForHydration=function(t,a){var u=a._getVersion;u=u(a._source);null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[a,u]:t.mutableSourceEagerHydrationData.push(a,u)};a.runWithPriority=function(t,a){var u=dt;try{return dt=t,a()}finally{dt=u}};a.shouldError=function(){return null};a.shouldSuspend=function(){return!1};a.updateContainer=function(t,a,u,i){var o=a.current,s=O(),y=tf(o);u=ii(u);null===a.context?a.context=u:a.pendingContext=u;a=ge(s,y);a.payload={element:t};i=void 0===i?null:i;null!==i&&(a.callback=i);t=he(o,a,y);null!==t&&(af(t,o,y,s),ie(t,o,y));return y};return a};var y=s;const S=s.attemptContinuousHydration,x=s.attemptDiscreteHydration,z=s.attemptHydrationAtCurrentPriority,N=s.attemptSynchronousHydration,E=s.batchedUpdates,C=s.createComponentSelector,I=s.createContainer,_=s.createHasPseudoClassSelector,L=s.createHydrationContainer,T=s.createPortal,R=s.createRoleSelector,F=s.createTestNameSelector,D=s.createTextSelector,H=s.deferredUpdates,W=s.discreteUpdates,j=s.findAllNodes,$=s.findBoundingRects,V=s.findHostInstance,Z=s.findHostInstanceWithNoPortals,J=s.findHostInstanceWithWarning,K=s.flushControlled,G=s.flushPassiveEffects,X=s.flushSync,ne=s.focusWithin,le=s.getCurrentUpdatePriority,oe=s.getFindAllNodesFailureDescription,de=s.getPublicRootInstance,pe=s.injectIntoDevTools,xe=s.isAlreadyRendering,ze=s.observeVisibleRects,Ee=s.registerMutableSourceForHydration,Ce=s.runWithPriority,Ie=s.shouldError,_e=s.shouldSuspend,Le=s.updateContainer;export{S as attemptContinuousHydration,x as attemptDiscreteHydration,z as attemptHydrationAtCurrentPriority,N as attemptSynchronousHydration,E as batchedUpdates,C as createComponentSelector,I as createContainer,_ as createHasPseudoClassSelector,L as createHydrationContainer,T as createPortal,R as createRoleSelector,F as createTestNameSelector,D as createTextSelector,y as default,H as deferredUpdates,W as discreteUpdates,j as findAllNodes,$ as findBoundingRects,V as findHostInstance,Z as findHostInstanceWithNoPortals,J as findHostInstanceWithWarning,K as flushControlled,G as flushPassiveEffects,X as flushSync,ne as focusWithin,le as getCurrentUpdatePriority,oe as getFindAllNodesFailureDescription,de as getPublicRootInstance,pe as injectIntoDevTools,xe as isAlreadyRendering,ze as observeVisibleRects,Ee as registerMutableSourceForHydration,Ce as runWithPriority,Ie as shouldError,_e as shouldSuspend,Le as updateContainer};\n//# sourceMappingURL=react-reconciler.production.min.js.map\n","import e from\"./cjs/react-reconciler.production.min.js\";import\"react\";import\"scheduler\";const t=e.attemptContinuousHydration,r=e.attemptDiscreteHydration,o=e.attemptHydrationAtCurrentPriority,n=e.attemptSynchronousHydration,i=e.batchedUpdates,a=e.createComponentSelector,s=e.createContainer,c=e.createHasPseudoClassSelector,d=e.createHydrationContainer,l=e.createPortal,u=e.createRoleSelector,p=e.createTestNameSelector,f=e.createTextSelector,h=e.deferredUpdates,y=e.discreteUpdates,m=e.findAllNodes,H=e.findBoundingRects,C=e.findHostInstance,S=e.findHostInstanceWithNoPortals,P=e.findHostInstanceWithWarning,g=e.flushControlled,b=e.flushPassiveEffects,I=e.flushSync,R=e.focusWithin,W=e.getCurrentUpdatePriority,A=e.getFindAllNodesFailureDescription,N=e.getPublicRootInstance,U=e.injectIntoDevTools,j=e.isAlreadyRendering,v=e.observeVisibleRects,D=e.registerMutableSourceForHydration,F=e.runWithPriority,T=e.shouldError,x=e.shouldSuspend,E=e.updateContainer;export{t as attemptContinuousHydration,r as attemptDiscreteHydration,o as attemptHydrationAtCurrentPriority,n as attemptSynchronousHydration,i as batchedUpdates,a as createComponentSelector,s as createContainer,c as createHasPseudoClassSelector,d as createHydrationContainer,l as createPortal,u as createRoleSelector,p as createTestNameSelector,f as createTextSelector,e as default,h as deferredUpdates,y as discreteUpdates,m as findAllNodes,H as findBoundingRects,C as findHostInstance,S as findHostInstanceWithNoPortals,P as findHostInstanceWithWarning,g as flushControlled,b as flushPassiveEffects,I as flushSync,R as focusWithin,W as getCurrentUpdatePriority,A as getFindAllNodesFailureDescription,N as getPublicRootInstance,U as injectIntoDevTools,j as isAlreadyRendering,v as observeVisibleRects,D as registerMutableSourceForHydration,F as runWithPriority,T as shouldError,x as shouldSuspend,E as updateContainer};\n//# sourceMappingURL=index.js.map\n","import {\n  ACESFilmicToneMapping,\n  BasicShadowMap,\n  BufferGeometry,\n  Camera,\n  Clock,\n  Color,\n  Layers,\n  Material,\n  NoToneMapping,\n  OrthographicCamera,\n  PCFShadowMap,\n  PCFSoftShadowMap,\n  PerspectiveCamera,\n  RGBAFormat,\n  Raycaster,\n  Scene,\n  Texture,\n  UnsignedByteType,\n  VSMShadowMap,\n  Vector2,\n  Vector3,\n  WebGLRenderer,\n  three_module_exports\n} from \"./chunk-M5G6JQMQ.mjs\";\nimport {\n  __export,\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// ../../node_modules/.pnpm/@react-three+fiber@8.17.10_react-dom@18.3.1_react@18.3.1_three@0.169.0/node_modules/@react-three/fiber/dist/events-321b05fb.esm.js\nimport * as React from \"react\";\nimport { DefaultEventPriority, ContinuousEventPriority, DiscreteEventPriority, ConcurrentRoot } from \"react-reconciler/constants\";\n\n// ../../node_modules/.pnpm/zustand@3.7.2_react@18.3.1/node_modules/zustand/esm/index.js\nimport { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from \"react\";\nfunction createStore(createState) {\n  let state;\n  const listeners = /* @__PURE__ */ new Set();\n  const setState = (partial, replace) => {\n    const nextState = typeof partial === \"function\" ? partial(state) : partial;\n    if (nextState !== state) {\n      const previousState = state;\n      state = replace ? nextState : Object.assign({}, state, nextState);\n      listeners.forEach((listener) => listener(state, previousState));\n    }\n  };\n  const getState = () => state;\n  const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n    console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n    let currentSlice = selector(state);\n    function listenerToAdd() {\n      const nextSlice = selector(state);\n      if (!equalityFn(currentSlice, nextSlice)) {\n        const previousSlice = currentSlice;\n        listener(currentSlice = nextSlice, previousSlice);\n      }\n    }\n    listeners.add(listenerToAdd);\n    return () => listeners.delete(listenerToAdd);\n  };\n  const subscribe = (listener, selector, equalityFn) => {\n    if (selector || equalityFn) {\n      return subscribeWithSelector(listener, selector, equalityFn);\n    }\n    listeners.add(listener);\n    return () => listeners.delete(listener);\n  };\n  const destroy = () => listeners.clear();\n  const api = { setState, getState, subscribe, destroy };\n  state = createState(setState, getState, api);\n  return api;\n}\nvar isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nvar useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n  const api = typeof createState === \"function\" ? createStore(createState) : createState;\n  const useStore2 = (selector = api.getState, equalityFn = Object.is) => {\n    const [, forceUpdate] = useReducer((c) => c + 1, 0);\n    const state = api.getState();\n    const stateRef = useRef(state);\n    const selectorRef = useRef(selector);\n    const equalityFnRef = useRef(equalityFn);\n    const erroredRef = useRef(false);\n    const currentSliceRef = useRef();\n    if (currentSliceRef.current === void 0) {\n      currentSliceRef.current = selector(state);\n    }\n    let newStateSlice;\n    let hasNewStateSlice = false;\n    if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n      newStateSlice = selector(state);\n      hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n    }\n    useIsomorphicLayoutEffect(() => {\n      if (hasNewStateSlice) {\n        currentSliceRef.current = newStateSlice;\n      }\n      stateRef.current = state;\n      selectorRef.current = selector;\n      equalityFnRef.current = equalityFn;\n      erroredRef.current = false;\n    });\n    const stateBeforeSubscriptionRef = useRef(state);\n    useIsomorphicLayoutEffect(() => {\n      const listener = () => {\n        try {\n          const nextState = api.getState();\n          const nextStateSlice = selectorRef.current(nextState);\n          if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n            stateRef.current = nextState;\n            currentSliceRef.current = nextStateSlice;\n            forceUpdate();\n          }\n        } catch (error) {\n          erroredRef.current = true;\n          forceUpdate();\n        }\n      };\n      const unsubscribe = api.subscribe(listener);\n      if (api.getState() !== stateBeforeSubscriptionRef.current) {\n        listener();\n      }\n      return unsubscribe;\n    }, []);\n    const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n    useDebugValue(sliceToReturn);\n    return sliceToReturn;\n  };\n  Object.assign(useStore2, api);\n  useStore2[Symbol.iterator] = function() {\n    console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n    const items = [useStore2, api];\n    return {\n      next() {\n        const done = items.length <= 0;\n        return { value: items.shift(), done };\n      }\n    };\n  };\n  return useStore2;\n}\n\n// ../../node_modules/.pnpm/suspend-react@0.1.3_react@18.3.1/node_modules/suspend-react/index.js\nvar isPromise = (promise) => typeof promise === \"object\" && typeof promise.then === \"function\";\nvar globalCache = [];\nfunction shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {\n  if (arrA === arrB) return true;\n  if (!arrA || !arrB) return false;\n  const len = arrA.length;\n  if (arrB.length !== len) return false;\n  for (let i2 = 0; i2 < len; i2++) if (!equal(arrA[i2], arrB[i2])) return false;\n  return true;\n}\nfunction query(fn, keys2 = null, preload2 = false, config = {}) {\n  if (keys2 === null) keys2 = [fn];\n  for (const entry2 of globalCache) {\n    if (shallowEqualArrays(keys2, entry2.keys, entry2.equal)) {\n      if (preload2) return void 0;\n      if (Object.prototype.hasOwnProperty.call(entry2, \"error\")) throw entry2.error;\n      if (Object.prototype.hasOwnProperty.call(entry2, \"response\")) {\n        if (config.lifespan && config.lifespan > 0) {\n          if (entry2.timeout) clearTimeout(entry2.timeout);\n          entry2.timeout = setTimeout(entry2.remove, config.lifespan);\n        }\n        return entry2.response;\n      }\n      if (!preload2) throw entry2.promise;\n    }\n  }\n  const entry = {\n    keys: keys2,\n    equal: config.equal,\n    remove: () => {\n      const index = globalCache.indexOf(entry);\n      if (index !== -1) globalCache.splice(index, 1);\n    },\n    promise: (\n      // Execute the promise\n      (isPromise(fn) ? fn : fn(...keys2)).then((response) => {\n        entry.response = response;\n        if (config.lifespan && config.lifespan > 0) {\n          entry.timeout = setTimeout(entry.remove, config.lifespan);\n        }\n      }).catch((error) => entry.error = error)\n    )\n  };\n  globalCache.push(entry);\n  if (!preload2) throw entry.promise;\n  return void 0;\n}\nvar suspend = (fn, keys2, config) => query(fn, keys2, false, config);\nvar preload = (fn, keys2, config) => void query(fn, keys2, true, config);\nvar clear = (keys2) => {\n  if (keys2 === void 0 || keys2.length === 0) globalCache.splice(0, globalCache.length);\n  else {\n    const entry = globalCache.find((entry2) => shallowEqualArrays(keys2, entry2.keys, entry2.equal));\n    if (entry) entry.remove();\n  }\n};\n\n// ../../node_modules/.pnpm/@react-three+fiber@8.17.10_react-dom@18.3.1_react@18.3.1_three@0.169.0/node_modules/@react-three/fiber/dist/events-321b05fb.esm.js\nimport { jsx, Fragment } from \"react/jsx-runtime\";\nimport Reconciler from \"react-reconciler\";\n\n// ../../node_modules/.pnpm/scheduler@0.21.0/node_modules/scheduler/cjs/scheduler.development.js\nvar scheduler_development_exports = {};\n__export(scheduler_development_exports, {\n  default: () => scheduler_development_default,\n  unstable_IdlePriority: () => __export1,\n  unstable_ImmediatePriority: () => __export2,\n  unstable_LowPriority: () => __export3,\n  unstable_NormalPriority: () => __export4,\n  unstable_Profiling: () => __export5,\n  unstable_UserBlockingPriority: () => __export6,\n  unstable_cancelCallback: () => __export7,\n  unstable_continueExecution: () => __export8,\n  unstable_forceFrameRate: () => __export9,\n  unstable_getCurrentPriorityLevel: () => __export10,\n  unstable_getFirstCallbackNode: () => __export11,\n  unstable_next: () => __export12,\n  unstable_now: () => __export0,\n  unstable_pauseExecution: () => __export13,\n  unstable_requestPaint: () => __export14,\n  unstable_runWithPriority: () => __export15,\n  unstable_scheduleCallback: () => __export16,\n  unstable_shouldYield: () => __export17,\n  unstable_wrapCallback: () => __export18\n});\nvar exports = {};\nvar module = {\n  get exports() {\n    return exports;\n  },\n  set exports(value) {\n    exports = value;\n  }\n};\nif (true) {\n  (function() {\n    \"use strict\";\n    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== \"undefined\" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === \"function\") {\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n    }\n    var enableSchedulerDebugging = false;\n    var enableProfiling = false;\n    var frameYieldMs = 5;\n    function push(heap, node) {\n      var index = heap.length;\n      heap.push(node);\n      siftUp(heap, node, index);\n    }\n    function peek(heap) {\n      return heap.length === 0 ? null : heap[0];\n    }\n    function pop(heap) {\n      if (heap.length === 0) {\n        return null;\n      }\n      var first = heap[0];\n      var last = heap.pop();\n      if (last !== first) {\n        heap[0] = last;\n        siftDown(heap, last, 0);\n      }\n      return first;\n    }\n    function siftUp(heap, node, i2) {\n      var index = i2;\n      while (index > 0) {\n        var parentIndex = index - 1 >>> 1;\n        var parent = heap[parentIndex];\n        if (compare(parent, node) > 0) {\n          heap[parentIndex] = node;\n          heap[index] = parent;\n          index = parentIndex;\n        } else {\n          return;\n        }\n      }\n    }\n    function siftDown(heap, node, i2) {\n      var index = i2;\n      var length = heap.length;\n      var halfLength = length >>> 1;\n      while (index < halfLength) {\n        var leftIndex = (index + 1) * 2 - 1;\n        var left = heap[leftIndex];\n        var rightIndex = leftIndex + 1;\n        var right = heap[rightIndex];\n        if (compare(left, node) < 0) {\n          if (rightIndex < length && compare(right, left) < 0) {\n            heap[index] = right;\n            heap[rightIndex] = node;\n            index = rightIndex;\n          } else {\n            heap[index] = left;\n            heap[leftIndex] = node;\n            index = leftIndex;\n          }\n        } else if (rightIndex < length && compare(right, node) < 0) {\n          heap[index] = right;\n          heap[rightIndex] = node;\n          index = rightIndex;\n        } else {\n          return;\n        }\n      }\n    }\n    function compare(a, b) {\n      var diff = a.sortIndex - b.sortIndex;\n      return diff !== 0 ? diff : a.id - b.id;\n    }\n    var ImmediatePriority = 1;\n    var UserBlockingPriority = 2;\n    var NormalPriority = 3;\n    var LowPriority = 4;\n    var IdlePriority = 5;\n    function markTaskErrored(task, ms) {\n    }\n    var hasPerformanceNow = typeof performance === \"object\" && typeof performance.now === \"function\";\n    if (hasPerformanceNow) {\n      var localPerformance = performance;\n      exports.unstable_now = function() {\n        return localPerformance.now();\n      };\n    } else {\n      var localDate = Date;\n      var initialTime = localDate.now();\n      exports.unstable_now = function() {\n        return localDate.now() - initialTime;\n      };\n    }\n    var maxSigned31BitInt = 1073741823;\n    var IMMEDIATE_PRIORITY_TIMEOUT = -1;\n    var USER_BLOCKING_PRIORITY_TIMEOUT = 250;\n    var NORMAL_PRIORITY_TIMEOUT = 5e3;\n    var LOW_PRIORITY_TIMEOUT = 1e4;\n    var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt;\n    var taskQueue = [];\n    var timerQueue = [];\n    var taskIdCounter = 1;\n    var currentTask = null;\n    var currentPriorityLevel = NormalPriority;\n    var isPerformingWork = false;\n    var isHostCallbackScheduled = false;\n    var isHostTimeoutScheduled = false;\n    var localSetTimeout = typeof setTimeout === \"function\" ? setTimeout : null;\n    var localClearTimeout = typeof clearTimeout === \"function\" ? clearTimeout : null;\n    var localSetImmediate = typeof setImmediate !== \"undefined\" ? setImmediate : null;\n    var isInputPending = typeof navigator !== \"undefined\" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n    function advanceTimers(currentTime) {\n      var timer = peek(timerQueue);\n      while (timer !== null) {\n        if (timer.callback === null) {\n          pop(timerQueue);\n        } else if (timer.startTime <= currentTime) {\n          pop(timerQueue);\n          timer.sortIndex = timer.expirationTime;\n          push(taskQueue, timer);\n        } else {\n          return;\n        }\n        timer = peek(timerQueue);\n      }\n    }\n    function handleTimeout(currentTime) {\n      isHostTimeoutScheduled = false;\n      advanceTimers(currentTime);\n      if (!isHostCallbackScheduled) {\n        if (peek(taskQueue) !== null) {\n          isHostCallbackScheduled = true;\n          requestHostCallback(flushWork);\n        } else {\n          var firstTimer = peek(timerQueue);\n          if (firstTimer !== null) {\n            requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n          }\n        }\n      }\n    }\n    function flushWork(hasTimeRemaining, initialTime2) {\n      isHostCallbackScheduled = false;\n      if (isHostTimeoutScheduled) {\n        isHostTimeoutScheduled = false;\n        cancelHostTimeout();\n      }\n      isPerformingWork = true;\n      var previousPriorityLevel = currentPriorityLevel;\n      try {\n        if (enableProfiling) {\n          try {\n            return workLoop(hasTimeRemaining, initialTime2);\n          } catch (error) {\n            if (currentTask !== null) {\n              var currentTime = exports.unstable_now();\n              markTaskErrored(currentTask, currentTime);\n              currentTask.isQueued = false;\n            }\n            throw error;\n          }\n        } else {\n          return workLoop(hasTimeRemaining, initialTime2);\n        }\n      } finally {\n        currentTask = null;\n        currentPriorityLevel = previousPriorityLevel;\n        isPerformingWork = false;\n      }\n    }\n    function workLoop(hasTimeRemaining, initialTime2) {\n      var currentTime = initialTime2;\n      advanceTimers(currentTime);\n      currentTask = peek(taskQueue);\n      while (currentTask !== null && !enableSchedulerDebugging) {\n        if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n          break;\n        }\n        var callback = currentTask.callback;\n        if (typeof callback === \"function\") {\n          currentTask.callback = null;\n          currentPriorityLevel = currentTask.priorityLevel;\n          var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n          var continuationCallback = callback(didUserCallbackTimeout);\n          currentTime = exports.unstable_now();\n          if (typeof continuationCallback === \"function\") {\n            currentTask.callback = continuationCallback;\n          } else {\n            if (currentTask === peek(taskQueue)) {\n              pop(taskQueue);\n            }\n          }\n          advanceTimers(currentTime);\n        } else {\n          pop(taskQueue);\n        }\n        currentTask = peek(taskQueue);\n      }\n      if (currentTask !== null) {\n        return true;\n      } else {\n        var firstTimer = peek(timerQueue);\n        if (firstTimer !== null) {\n          requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n        }\n        return false;\n      }\n    }\n    function unstable_runWithPriority(priorityLevel, eventHandler) {\n      switch (priorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n        case LowPriority:\n        case IdlePriority:\n          break;\n        default:\n          priorityLevel = NormalPriority;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_next(eventHandler) {\n      var priorityLevel;\n      switch (currentPriorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n          priorityLevel = NormalPriority;\n          break;\n        default:\n          priorityLevel = currentPriorityLevel;\n          break;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_wrapCallback(callback) {\n      var parentPriorityLevel = currentPriorityLevel;\n      return function() {\n        var previousPriorityLevel = currentPriorityLevel;\n        currentPriorityLevel = parentPriorityLevel;\n        try {\n          return callback.apply(this, arguments);\n        } finally {\n          currentPriorityLevel = previousPriorityLevel;\n        }\n      };\n    }\n    function unstable_scheduleCallback(priorityLevel, callback, options) {\n      var currentTime = exports.unstable_now();\n      var startTime2;\n      if (typeof options === \"object\" && options !== null) {\n        var delay = options.delay;\n        if (typeof delay === \"number\" && delay > 0) {\n          startTime2 = currentTime + delay;\n        } else {\n          startTime2 = currentTime;\n        }\n      } else {\n        startTime2 = currentTime;\n      }\n      var timeout;\n      switch (priorityLevel) {\n        case ImmediatePriority:\n          timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n          break;\n        case UserBlockingPriority:\n          timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n          break;\n        case IdlePriority:\n          timeout = IDLE_PRIORITY_TIMEOUT;\n          break;\n        case LowPriority:\n          timeout = LOW_PRIORITY_TIMEOUT;\n          break;\n        case NormalPriority:\n        default:\n          timeout = NORMAL_PRIORITY_TIMEOUT;\n          break;\n      }\n      var expirationTime = startTime2 + timeout;\n      var newTask = {\n        id: taskIdCounter++,\n        callback,\n        priorityLevel,\n        startTime: startTime2,\n        expirationTime,\n        sortIndex: -1\n      };\n      if (startTime2 > currentTime) {\n        newTask.sortIndex = startTime2;\n        push(timerQueue, newTask);\n        if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n          if (isHostTimeoutScheduled) {\n            cancelHostTimeout();\n          } else {\n            isHostTimeoutScheduled = true;\n          }\n          requestHostTimeout(handleTimeout, startTime2 - currentTime);\n        }\n      } else {\n        newTask.sortIndex = expirationTime;\n        push(taskQueue, newTask);\n        if (!isHostCallbackScheduled && !isPerformingWork) {\n          isHostCallbackScheduled = true;\n          requestHostCallback(flushWork);\n        }\n      }\n      return newTask;\n    }\n    function unstable_pauseExecution() {\n    }\n    function unstable_continueExecution() {\n      if (!isHostCallbackScheduled && !isPerformingWork) {\n        isHostCallbackScheduled = true;\n        requestHostCallback(flushWork);\n      }\n    }\n    function unstable_getFirstCallbackNode() {\n      return peek(taskQueue);\n    }\n    function unstable_cancelCallback(task) {\n      task.callback = null;\n    }\n    function unstable_getCurrentPriorityLevel() {\n      return currentPriorityLevel;\n    }\n    var isMessageLoopRunning = false;\n    var scheduledHostCallback = null;\n    var taskTimeoutID = -1;\n    var frameInterval = frameYieldMs;\n    var startTime = -1;\n    function shouldYieldToHost() {\n      var timeElapsed = exports.unstable_now() - startTime;\n      if (timeElapsed < frameInterval) {\n        return false;\n      }\n      return true;\n    }\n    function requestPaint() {\n    }\n    function forceFrameRate(fps) {\n      if (fps < 0 || fps > 125) {\n        console[\"error\"](\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\");\n        return;\n      }\n      if (fps > 0) {\n        frameInterval = Math.floor(1e3 / fps);\n      } else {\n        frameInterval = frameYieldMs;\n      }\n    }\n    var performWorkUntilDeadline = function() {\n      if (scheduledHostCallback !== null) {\n        var currentTime = exports.unstable_now();\n        startTime = currentTime;\n        var hasTimeRemaining = true;\n        var hasMoreWork = true;\n        try {\n          hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n        } finally {\n          if (hasMoreWork) {\n            schedulePerformWorkUntilDeadline();\n          } else {\n            isMessageLoopRunning = false;\n            scheduledHostCallback = null;\n          }\n        }\n      } else {\n        isMessageLoopRunning = false;\n      }\n    };\n    var schedulePerformWorkUntilDeadline;\n    if (typeof localSetImmediate === \"function\") {\n      schedulePerformWorkUntilDeadline = function() {\n        localSetImmediate(performWorkUntilDeadline);\n      };\n    } else if (typeof MessageChannel !== \"undefined\") {\n      var channel = new MessageChannel();\n      var port = channel.port2;\n      channel.port1.onmessage = performWorkUntilDeadline;\n      schedulePerformWorkUntilDeadline = function() {\n        port.postMessage(null);\n      };\n    } else {\n      schedulePerformWorkUntilDeadline = function() {\n        localSetTimeout(performWorkUntilDeadline, 0);\n      };\n    }\n    function requestHostCallback(callback) {\n      scheduledHostCallback = callback;\n      if (!isMessageLoopRunning) {\n        isMessageLoopRunning = true;\n        schedulePerformWorkUntilDeadline();\n      }\n    }\n    function requestHostTimeout(callback, ms) {\n      taskTimeoutID = localSetTimeout(function() {\n        callback(exports.unstable_now());\n      }, ms);\n    }\n    function cancelHostTimeout() {\n      localClearTimeout(taskTimeoutID);\n      taskTimeoutID = -1;\n    }\n    var unstable_requestPaint = requestPaint;\n    var unstable_Profiling = null;\n    exports.unstable_IdlePriority = IdlePriority;\n    exports.unstable_ImmediatePriority = ImmediatePriority;\n    exports.unstable_LowPriority = LowPriority;\n    exports.unstable_NormalPriority = NormalPriority;\n    exports.unstable_Profiling = unstable_Profiling;\n    exports.unstable_UserBlockingPriority = UserBlockingPriority;\n    exports.unstable_cancelCallback = unstable_cancelCallback;\n    exports.unstable_continueExecution = unstable_continueExecution;\n    exports.unstable_forceFrameRate = forceFrameRate;\n    exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\n    exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\n    exports.unstable_next = unstable_next;\n    exports.unstable_pauseExecution = unstable_pauseExecution;\n    exports.unstable_requestPaint = unstable_requestPaint;\n    exports.unstable_runWithPriority = unstable_runWithPriority;\n    exports.unstable_scheduleCallback = unstable_scheduleCallback;\n    exports.unstable_shouldYield = shouldYieldToHost;\n    exports.unstable_wrapCallback = unstable_wrapCallback;\n    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== \"undefined\" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === \"function\") {\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n    }\n  })();\n}\nvar __export0;\nvar __export1;\nvar __export2;\nvar __export3;\nvar __export4;\nvar __export5;\nvar __export6;\nvar __export7;\nvar __export8;\nvar __export9;\nvar __export10;\nvar __export11;\nvar __export12;\nvar __export13;\nvar __export14;\nvar __export15;\nvar __export16;\nvar __export17;\nvar __export18;\nif (Object.isExtensible(module.exports) && Object.keys(module.exports).length === 19) {\n  __export0 = module.exports[\"unstable_now\"];\n  __export1 = module.exports[\"unstable_IdlePriority\"];\n  __export2 = module.exports[\"unstable_ImmediatePriority\"];\n  __export3 = module.exports[\"unstable_LowPriority\"];\n  __export4 = module.exports[\"unstable_NormalPriority\"];\n  __export5 = module.exports[\"unstable_Profiling\"];\n  __export6 = module.exports[\"unstable_UserBlockingPriority\"];\n  __export7 = module.exports[\"unstable_cancelCallback\"];\n  __export8 = module.exports[\"unstable_continueExecution\"];\n  __export9 = module.exports[\"unstable_forceFrameRate\"];\n  __export10 = module.exports[\"unstable_getCurrentPriorityLevel\"];\n  __export11 = module.exports[\"unstable_getFirstCallbackNode\"];\n  __export12 = module.exports[\"unstable_next\"];\n  __export13 = module.exports[\"unstable_pauseExecution\"];\n  __export14 = module.exports[\"unstable_requestPaint\"];\n  __export15 = module.exports[\"unstable_runWithPriority\"];\n  __export16 = module.exports[\"unstable_scheduleCallback\"];\n  __export17 = module.exports[\"unstable_shouldYield\"];\n  __export18 = module.exports[\"unstable_wrapCallback\"];\n}\nvar scheduler_development_default = module.exports;\n\n// ../../node_modules/.pnpm/scheduler@0.21.0/node_modules/scheduler/cjs/scheduler.production.min.js\nvar exports2 = {};\nvar module2 = {\n  get exports() {\n    return exports2;\n  },\n  set exports(value) {\n    exports2 = value;\n  }\n};\nfunction f(a, b) {\n  var c = a.length;\n  a.push(b);\n  a: for (; 0 < c; ) {\n    var d = c - 1 >>> 1, e = a[d];\n    if (0 < g(e, b)) a[d] = b, a[c] = e, c = d;\n    else break a;\n  }\n}\nfunction h(a) {\n  return 0 === a.length ? null : a[0];\n}\nfunction k(a) {\n  if (0 === a.length) return null;\n  var b = a[0], c = a.pop();\n  if (c !== b) {\n    a[0] = c;\n    a: for (var d = 0, e = a.length, w = e >>> 1; d < w; ) {\n      var m = 2 * (d + 1) - 1, C = a[m], n = m + 1, x = a[n];\n      if (0 > g(C, c)) n < e && 0 > g(x, C) ? (a[d] = x, a[n] = c, d = n) : (a[d] = C, a[m] = c, d = m);\n      else if (n < e && 0 > g(x, c)) a[d] = x, a[n] = c, d = n;\n      else break a;\n    }\n  }\n  return b;\n}\nfunction g(a, b) {\n  var c = a.sortIndex - b.sortIndex;\n  return 0 !== c ? c : a.id - b.id;\n}\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n  l = performance;\n  exports2.unstable_now = function() {\n    return l.now();\n  };\n} else {\n  p = Date, q = p.now();\n  exports2.unstable_now = function() {\n    return p.now() - q;\n  };\n}\nvar l;\nvar p;\nvar q;\nvar r = [];\nvar t = [];\nvar u = 1;\nvar v = null;\nvar y = 3;\nvar z = false;\nvar A = false;\nvar B = false;\nvar D = \"function\" === typeof setTimeout ? setTimeout : null;\nvar E = \"function\" === typeof clearTimeout ? clearTimeout : null;\nvar F = \"undefined\" !== typeof setImmediate ? setImmediate : null;\n\"undefined\" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling);\nfunction G(a) {\n  for (var b = h(t); null !== b; ) {\n    if (null === b.callback) k(t);\n    else if (b.startTime <= a) k(t), b.sortIndex = b.expirationTime, f(r, b);\n    else break;\n    b = h(t);\n  }\n}\nfunction H(a) {\n  B = false;\n  G(a);\n  if (!A) if (null !== h(r)) A = true, I(J);\n  else {\n    var b = h(t);\n    null !== b && K(H, b.startTime - a);\n  }\n}\nfunction J(a, b) {\n  A = false;\n  B && (B = false, E(L), L = -1);\n  z = true;\n  var c = y;\n  try {\n    G(b);\n    for (v = h(r); null !== v && (!(v.expirationTime > b) || a && !M()); ) {\n      var d = v.callback;\n      if (\"function\" === typeof d) {\n        v.callback = null;\n        y = v.priorityLevel;\n        var e = d(v.expirationTime <= b);\n        b = exports2.unstable_now();\n        \"function\" === typeof e ? v.callback = e : v === h(r) && k(r);\n        G(b);\n      } else k(r);\n      v = h(r);\n    }\n    if (null !== v) var w = true;\n    else {\n      var m = h(t);\n      null !== m && K(H, m.startTime - b);\n      w = false;\n    }\n    return w;\n  } finally {\n    v = null, y = c, z = false;\n  }\n}\nvar N = false;\nvar O = null;\nvar L = -1;\nvar P = 5;\nvar Q = -1;\nfunction M() {\n  return exports2.unstable_now() - Q < P ? false : true;\n}\nfunction R() {\n  if (null !== O) {\n    var a = exports2.unstable_now();\n    Q = a;\n    var b = true;\n    try {\n      b = O(true, a);\n    } finally {\n      b ? S() : (N = false, O = null);\n    }\n  } else N = false;\n}\nvar S;\nif (\"function\" === typeof F) S = function() {\n  F(R);\n};\nelse if (\"undefined\" !== typeof MessageChannel) {\n  T = new MessageChannel(), U = T.port2;\n  T.port1.onmessage = R;\n  S = function() {\n    U.postMessage(null);\n  };\n} else S = function() {\n  D(R, 0);\n};\nvar T;\nvar U;\nfunction I(a) {\n  O = a;\n  N || (N = true, S());\n}\nfunction K(a, b) {\n  L = D(function() {\n    a(exports2.unstable_now());\n  }, b);\n}\nexports2.unstable_IdlePriority = 5;\nexports2.unstable_ImmediatePriority = 1;\nexports2.unstable_LowPriority = 4;\nexports2.unstable_NormalPriority = 3;\nexports2.unstable_Profiling = null;\nexports2.unstable_UserBlockingPriority = 2;\nexports2.unstable_cancelCallback = function(a) {\n  a.callback = null;\n};\nexports2.unstable_continueExecution = function() {\n  A || z || (A = true, I(J));\n};\nexports2.unstable_forceFrameRate = function(a) {\n  0 > a || 125 < a ? console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\") : P = 0 < a ? Math.floor(1e3 / a) : 5;\n};\nexports2.unstable_getCurrentPriorityLevel = function() {\n  return y;\n};\nexports2.unstable_getFirstCallbackNode = function() {\n  return h(r);\n};\nexports2.unstable_next = function(a) {\n  switch (y) {\n    case 1:\n    case 2:\n    case 3:\n      var b = 3;\n      break;\n    default:\n      b = y;\n  }\n  var c = y;\n  y = b;\n  try {\n    return a();\n  } finally {\n    y = c;\n  }\n};\nexports2.unstable_pauseExecution = function() {\n};\nexports2.unstable_requestPaint = function() {\n};\nexports2.unstable_runWithPriority = function(a, b) {\n  switch (a) {\n    case 1:\n    case 2:\n    case 3:\n    case 4:\n    case 5:\n      break;\n    default:\n      a = 3;\n  }\n  var c = y;\n  y = a;\n  try {\n    return b();\n  } finally {\n    y = c;\n  }\n};\nexports2.unstable_scheduleCallback = function(a, b, c) {\n  var d = exports2.unstable_now();\n  \"object\" === typeof c && null !== c ? (c = c.delay, c = \"number\" === typeof c && 0 < c ? d + c : d) : c = d;\n  switch (a) {\n    case 1:\n      var e = -1;\n      break;\n    case 2:\n      e = 250;\n      break;\n    case 5:\n      e = 1073741823;\n      break;\n    case 4:\n      e = 1e4;\n      break;\n    default:\n      e = 5e3;\n  }\n  e = c + e;\n  a = { id: u++, callback: b, priorityLevel: a, startTime: c, expirationTime: e, sortIndex: -1 };\n  c > d ? (a.sortIndex = c, f(t, a), null === h(r) && a === h(t) && (B ? (E(L), L = -1) : B = true, K(H, c - d))) : (a.sortIndex = e, f(r, a), A || z || (A = true, I(J)));\n  return a;\n};\nexports2.unstable_shouldYield = M;\nexports2.unstable_wrapCallback = function(a) {\n  var b = y;\n  return function() {\n    var c = y;\n    y = b;\n    try {\n      return a.apply(this, arguments);\n    } finally {\n      y = c;\n    }\n  };\n};\nvar __export02;\nvar __export19;\nvar __export22;\nvar __export32;\nvar __export42;\nvar __export52;\nvar __export62;\nvar __export72;\nvar __export82;\nvar __export92;\nvar __export102;\nvar __export112;\nvar __export122;\nvar __export132;\nvar __export142;\nvar __export152;\nvar __export162;\nvar __export172;\nvar __export182;\nif (Object.isExtensible(module2.exports) && Object.keys(module2.exports).length === 19) {\n  __export02 = module2.exports[\"unstable_now\"];\n  __export19 = module2.exports[\"unstable_IdlePriority\"];\n  __export22 = module2.exports[\"unstable_ImmediatePriority\"];\n  __export32 = module2.exports[\"unstable_LowPriority\"];\n  __export42 = module2.exports[\"unstable_NormalPriority\"];\n  __export52 = module2.exports[\"unstable_Profiling\"];\n  __export62 = module2.exports[\"unstable_UserBlockingPriority\"];\n  __export72 = module2.exports[\"unstable_cancelCallback\"];\n  __export82 = module2.exports[\"unstable_continueExecution\"];\n  __export92 = module2.exports[\"unstable_forceFrameRate\"];\n  __export102 = module2.exports[\"unstable_getCurrentPriorityLevel\"];\n  __export112 = module2.exports[\"unstable_getFirstCallbackNode\"];\n  __export122 = module2.exports[\"unstable_next\"];\n  __export132 = module2.exports[\"unstable_pauseExecution\"];\n  __export142 = module2.exports[\"unstable_requestPaint\"];\n  __export152 = module2.exports[\"unstable_runWithPriority\"];\n  __export162 = module2.exports[\"unstable_scheduleCallback\"];\n  __export172 = module2.exports[\"unstable_shouldYield\"];\n  __export182 = module2.exports[\"unstable_wrapCallback\"];\n}\nvar scheduler_production_min_default = module2.exports;\n\n// ../../node_modules/.pnpm/scheduler@0.21.0/node_modules/scheduler/index.js\nfunction __cjs_default__(requiredModule) {\n  var Object2 = (typeof window !== \"undefined\" && window || typeof self !== \"undefined\" && self || typeof global !== \"undefined\" && global || typeof globalThis !== \"undefined\" && globalThis || {}).Object;\n  var isEsModule = false;\n  var specifiers = Object2.create(null);\n  var hasNamedExports = false;\n  var hasDefaultExport = false;\n  Object2.defineProperty(specifiers, \"__esModule\", {\n    value: true,\n    enumerable: false,\n    configurable: true\n  });\n  if (requiredModule) {\n    var names = Object2.getOwnPropertyNames(requiredModule);\n    ;\n    names.forEach(function(k2) {\n      if (k2 === \"default\") {\n        hasDefaultExport = true;\n      } else if (!hasNamedExports && k2 != \"__esModule\") {\n        try {\n          hasNamedExports = requiredModule[k2] != null;\n        } catch (err) {\n        }\n      }\n      Object2.defineProperty(specifiers, k2, {\n        get: function() {\n          return requiredModule[k2];\n        },\n        enumerable: true,\n        configurable: false\n      });\n    });\n    if (Object2.getOwnPropertySymbols) {\n      var symbols = Object2.getOwnPropertySymbols(requiredModule);\n      symbols.forEach(function(k2) {\n        Object2.defineProperty(specifiers, k2, {\n          get: function() {\n            return requiredModule[k2];\n          },\n          enumerable: false,\n          configurable: false\n        });\n      });\n    }\n    Object2.preventExtensions(specifiers);\n    Object2.seal(specifiers);\n    if (Object2.freeze) {\n      Object2.freeze(specifiers);\n    }\n  }\n  if (hasNamedExports) {\n    return specifiers;\n  }\n  if (hasDefaultExport) {\n    if (Object2.isExtensible(specifiers.default) && !(\"default\" in specifiers.default)) {\n      Object2.defineProperty(specifiers.default, \"default\", {\n        value: specifiers.default,\n        configurable: false,\n        enumerable: false\n      });\n    }\n    return specifiers.default;\n  }\n  return specifiers;\n}\nvar global = typeof window !== \"undefined\" && window || typeof self !== \"undefined\" && self || typeof global !== \"undefined\" && global || typeof globalThis !== \"undefined\" && globalThis || {};\nvar exports3 = {};\nvar module3 = {\n  get exports() {\n    return exports3;\n  },\n  set exports(value) {\n    exports3 = value;\n  }\n};\nif (false) {\n  module3.exports = __cjs_default__(typeof scheduler_production_min_exports !== \"undefined\" ? scheduler_production_min_exports : {});\n} else {\n  module3.exports = __cjs_default__(typeof scheduler_development_exports !== \"undefined\" ? scheduler_development_exports : {});\n}\nvar scheduler_default = module3.exports;\n\n// ../../node_modules/.pnpm/@react-three+fiber@8.17.10_react-dom@18.3.1_react@18.3.1_three@0.169.0/node_modules/@react-three/fiber/dist/events-321b05fb.esm.js\nvar catalogue = {};\nvar extend = (objects) => void Object.assign(catalogue, objects);\nfunction createRenderer(_roots, _getEventPriority) {\n  function createInstance(type, _a, root) {\n    var _b = _a, {\n      args = [],\n      attach: attach2\n    } = _b, props = __objRest(_b, [\n      \"args\",\n      \"attach\"\n    ]);\n    let name = `${type[0].toUpperCase()}${type.slice(1)}`;\n    let instance;\n    if (type === \"primitive\") {\n      if (props.object === void 0) throw new Error(\"R3F: Primitives without 'object' are invalid!\");\n      const object = props.object;\n      instance = prepare(object, {\n        type,\n        root,\n        attach: attach2,\n        primitive: true\n      });\n    } else {\n      const target = catalogue[name];\n      if (!target) {\n        throw new Error(`R3F: ${name} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);\n      }\n      if (!Array.isArray(args)) throw new Error(\"R3F: The args prop must be an array!\");\n      instance = prepare(new target(...args), {\n        type,\n        root,\n        attach: attach2,\n        // Save args in case we need to reconstruct later for HMR\n        memoizedProps: {\n          args\n        }\n      });\n    }\n    if (instance.__r3f.attach === void 0) {\n      if (instance instanceof BufferGeometry) instance.__r3f.attach = \"geometry\";\n      else if (instance instanceof Material) instance.__r3f.attach = \"material\";\n    }\n    if (name !== \"inject\") applyProps$1(instance, props);\n    return instance;\n  }\n  function appendChild(parentInstance, child) {\n    let added = false;\n    if (child) {\n      var _child$__r3f, _parentInstance$__r3f;\n      if ((_child$__r3f = child.__r3f) != null && _child$__r3f.attach) {\n        attach(parentInstance, child, child.__r3f.attach);\n      } else if (child.isObject3D && parentInstance.isObject3D) {\n        parentInstance.add(child);\n        added = true;\n      }\n      if (!added) (_parentInstance$__r3f = parentInstance.__r3f) == null ? void 0 : _parentInstance$__r3f.objects.push(child);\n      if (!child.__r3f) prepare(child, {});\n      child.__r3f.parent = parentInstance;\n      updateInstance(child);\n      invalidateInstance(child);\n    }\n  }\n  function insertBefore(parentInstance, child, beforeChild) {\n    let added = false;\n    if (child) {\n      var _child$__r3f2, _parentInstance$__r3f2;\n      if ((_child$__r3f2 = child.__r3f) != null && _child$__r3f2.attach) {\n        attach(parentInstance, child, child.__r3f.attach);\n      } else if (child.isObject3D && parentInstance.isObject3D) {\n        child.parent = parentInstance;\n        child.dispatchEvent({\n          type: \"added\"\n        });\n        parentInstance.dispatchEvent({\n          type: \"childadded\",\n          child\n        });\n        const restSiblings = parentInstance.children.filter((sibling) => sibling !== child);\n        const index = restSiblings.indexOf(beforeChild);\n        parentInstance.children = [...restSiblings.slice(0, index), child, ...restSiblings.slice(index)];\n        added = true;\n      }\n      if (!added) (_parentInstance$__r3f2 = parentInstance.__r3f) == null ? void 0 : _parentInstance$__r3f2.objects.push(child);\n      if (!child.__r3f) prepare(child, {});\n      child.__r3f.parent = parentInstance;\n      updateInstance(child);\n      invalidateInstance(child);\n    }\n  }\n  function removeRecursive(array, parent, dispose2 = false) {\n    if (array) [...array].forEach((child) => removeChild(parent, child, dispose2));\n  }\n  function removeChild(parentInstance, child, dispose2) {\n    if (child) {\n      var _parentInstance$__r3f3, _child$__r3f3, _child$__r3f5;\n      if (child.__r3f) child.__r3f.parent = null;\n      if ((_parentInstance$__r3f3 = parentInstance.__r3f) != null && _parentInstance$__r3f3.objects) parentInstance.__r3f.objects = parentInstance.__r3f.objects.filter((x) => x !== child);\n      if ((_child$__r3f3 = child.__r3f) != null && _child$__r3f3.attach) {\n        detach(parentInstance, child, child.__r3f.attach);\n      } else if (child.isObject3D && parentInstance.isObject3D) {\n        var _child$__r3f4;\n        parentInstance.remove(child);\n        if ((_child$__r3f4 = child.__r3f) != null && _child$__r3f4.root) {\n          removeInteractivity(findInitialRoot(child), child);\n        }\n      }\n      const isPrimitive = (_child$__r3f5 = child.__r3f) == null ? void 0 : _child$__r3f5.primitive;\n      const shouldDispose = !isPrimitive && (dispose2 === void 0 ? child.dispose !== null : dispose2);\n      if (!isPrimitive) {\n        var _child$__r3f6;\n        removeRecursive((_child$__r3f6 = child.__r3f) == null ? void 0 : _child$__r3f6.objects, child, shouldDispose);\n        removeRecursive(child.children, child, shouldDispose);\n      }\n      delete child.__r3f;\n      if (shouldDispose && child.dispose && child.type !== \"Scene\") {\n        const callback = () => {\n          try {\n            child.dispose();\n          } catch (e) {\n          }\n        };\n        if (typeof IS_REACT_ACT_ENVIRONMENT === \"undefined\") {\n          __export16(__export1, callback);\n        } else {\n          callback();\n        }\n      }\n      invalidateInstance(parentInstance);\n    }\n  }\n  function switchInstance(instance, type, newProps, fiber) {\n    var _instance$__r3f;\n    const parent = (_instance$__r3f = instance.__r3f) == null ? void 0 : _instance$__r3f.parent;\n    if (!parent) return;\n    const newInstance = createInstance(type, newProps, instance.__r3f.root);\n    if (instance.children) {\n      for (const child of instance.children) {\n        if (child.__r3f) appendChild(newInstance, child);\n      }\n      instance.children = instance.children.filter((child) => !child.__r3f);\n    }\n    instance.__r3f.objects.forEach((child) => appendChild(newInstance, child));\n    instance.__r3f.objects = [];\n    if (!instance.__r3f.autoRemovedBeforeAppend) {\n      removeChild(parent, instance);\n    }\n    if (newInstance.parent) {\n      newInstance.__r3f.autoRemovedBeforeAppend = true;\n    }\n    appendChild(parent, newInstance);\n    if (newInstance.raycast && newInstance.__r3f.eventCount) {\n      const rootState = findInitialRoot(newInstance).getState();\n      rootState.internal.interaction.push(newInstance);\n    }\n    [fiber, fiber.alternate].forEach((fiber2) => {\n      if (fiber2 !== null) {\n        fiber2.stateNode = newInstance;\n        if (fiber2.ref) {\n          if (typeof fiber2.ref === \"function\") fiber2.ref(newInstance);\n          else fiber2.ref.current = newInstance;\n        }\n      }\n    });\n  }\n  const handleTextInstance = () => {\n  };\n  const reconciler2 = Reconciler({\n    createInstance,\n    removeChild,\n    appendChild,\n    appendInitialChild: appendChild,\n    insertBefore,\n    supportsMutation: true,\n    isPrimaryRenderer: false,\n    supportsPersistence: false,\n    supportsHydration: false,\n    noTimeout: -1,\n    appendChildToContainer: (container, child) => {\n      if (!child) return;\n      const scene = container.getState().scene;\n      if (!scene.__r3f) return;\n      scene.__r3f.root = container;\n      appendChild(scene, child);\n    },\n    removeChildFromContainer: (container, child) => {\n      if (!child) return;\n      removeChild(container.getState().scene, child);\n    },\n    insertInContainerBefore: (container, child, beforeChild) => {\n      if (!child || !beforeChild) return;\n      const scene = container.getState().scene;\n      if (!scene.__r3f) return;\n      insertBefore(scene, child, beforeChild);\n    },\n    getRootHostContext: () => null,\n    getChildHostContext: (parentHostContext) => parentHostContext,\n    finalizeInitialChildren(instance) {\n      var _instance$__r3f2;\n      const localState = (_instance$__r3f2 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f2 : {};\n      return Boolean(localState.handlers);\n    },\n    prepareUpdate(instance, _type, oldProps, newProps) {\n      var _instance$__r3f3;\n      const localState = (_instance$__r3f3 = instance == null ? void 0 : instance.__r3f) != null ? _instance$__r3f3 : {};\n      if (localState.primitive && newProps.object && newProps.object !== instance) {\n        return [true];\n      } else {\n        const _a = newProps, {\n          args: argsNew = [],\n          children: cN\n        } = _a, restNew = __objRest(_a, [\n          \"args\",\n          \"children\"\n        ]);\n        const _b = oldProps, {\n          args: argsOld = [],\n          children: cO\n        } = _b, restOld = __objRest(_b, [\n          \"args\",\n          \"children\"\n        ]);\n        if (!Array.isArray(argsNew)) throw new Error(\"R3F: the args prop must be an array!\");\n        if (argsNew.some((value, index) => value !== argsOld[index])) return [true];\n        const diff = diffProps(instance, restNew, restOld, true);\n        if (diff.changes.length) return [false, diff];\n        return null;\n      }\n    },\n    commitUpdate(instance, [reconstruct, diff], type, _oldProps, newProps, fiber) {\n      if (reconstruct) switchInstance(instance, type, newProps, fiber);\n      else applyProps$1(instance, diff);\n    },\n    commitMount(instance, _type, _props, _int) {\n      var _instance$__r3f4;\n      const localState = (_instance$__r3f4 = instance.__r3f) != null ? _instance$__r3f4 : {};\n      if (instance.raycast && localState.handlers && localState.eventCount) {\n        findInitialRoot(instance).getState().internal.interaction.push(instance);\n      }\n    },\n    getPublicInstance: (instance) => instance,\n    prepareForCommit: () => null,\n    preparePortalMount: (container) => prepare(container.getState().scene),\n    resetAfterCommit: () => {\n    },\n    shouldSetTextContent: () => false,\n    clearContainer: () => false,\n    hideInstance(instance) {\n      var _instance$__r3f5;\n      const {\n        attach: type,\n        parent\n      } = (_instance$__r3f5 = instance.__r3f) != null ? _instance$__r3f5 : {};\n      if (type && parent) detach(parent, instance, type);\n      if (instance.isObject3D) instance.visible = false;\n      invalidateInstance(instance);\n    },\n    unhideInstance(instance, props) {\n      var _instance$__r3f6;\n      const {\n        attach: type,\n        parent\n      } = (_instance$__r3f6 = instance.__r3f) != null ? _instance$__r3f6 : {};\n      if (type && parent) attach(parent, instance, type);\n      if (instance.isObject3D && props.visible == null || props.visible) instance.visible = true;\n      invalidateInstance(instance);\n    },\n    createTextInstance: handleTextInstance,\n    hideTextInstance: handleTextInstance,\n    unhideTextInstance: handleTextInstance,\n    // https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n    // @ts-expect-error\n    getCurrentEventPriority: () => _getEventPriority ? _getEventPriority() : DefaultEventPriority,\n    beforeActiveInstanceBlur: () => {\n    },\n    afterActiveInstanceBlur: () => {\n    },\n    detachDeletedInstance: () => {\n    },\n    now: typeof performance !== \"undefined\" && is.fun(performance.now) ? performance.now : is.fun(Date.now) ? Date.now : () => 0,\n    // https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r920883503\n    scheduleTimeout: is.fun(setTimeout) ? setTimeout : void 0,\n    cancelTimeout: is.fun(clearTimeout) ? clearTimeout : void 0\n  });\n  return {\n    reconciler: reconciler2,\n    applyProps: applyProps$1\n  };\n}\nvar _window$document;\nvar _window$navigator;\nvar hasColorSpace = (object) => \"colorSpace\" in object || \"outputColorSpace\" in object;\nvar getColorManagement = () => {\n  var _ColorManagement;\n  return (_ColorManagement = catalogue.ColorManagement) != null ? _ColorManagement : null;\n};\nvar isOrthographicCamera = (def) => def && def.isOrthographicCamera;\nvar isRef = (obj) => obj && obj.hasOwnProperty(\"current\");\nvar useIsomorphicLayoutEffect2 = typeof window !== \"undefined\" && ((_window$document = window.document) != null && _window$document.createElement || ((_window$navigator = window.navigator) == null ? void 0 : _window$navigator.product) === \"ReactNative\") ? React.useLayoutEffect : React.useEffect;\nfunction useMutableCallback(fn) {\n  const ref = React.useRef(fn);\n  useIsomorphicLayoutEffect2(() => void (ref.current = fn), [fn]);\n  return ref;\n}\nfunction Block({\n  set\n}) {\n  useIsomorphicLayoutEffect2(() => {\n    set(new Promise(() => null));\n    return () => set(false);\n  }, [set]);\n  return null;\n}\nvar ErrorBoundary = class extends React.Component {\n  constructor(...args) {\n    super(...args);\n    this.state = {\n      error: false\n    };\n  }\n  componentDidCatch(err) {\n    this.props.set(err);\n  }\n  render() {\n    return this.state.error ? null : this.props.children;\n  }\n};\nErrorBoundary.getDerivedStateFromError = () => ({\n  error: true\n});\nvar DEFAULT = \"__default\";\nvar DEFAULTS = /* @__PURE__ */ new Map();\nvar isDiffSet = (def) => def && !!def.memoized && !!def.changes;\nfunction calculateDpr(dpr) {\n  var _window$devicePixelRa;\n  const target = typeof window !== \"undefined\" ? (_window$devicePixelRa = window.devicePixelRatio) != null ? _window$devicePixelRa : 2 : 1;\n  return Array.isArray(dpr) ? Math.min(Math.max(dpr[0], target), dpr[1]) : dpr;\n}\nvar getRootState = (obj) => {\n  var _r3f;\n  return (_r3f = obj.__r3f) == null ? void 0 : _r3f.root.getState();\n};\nfunction findInitialRoot(child) {\n  let root = child.__r3f.root;\n  while (root.getState().previousRoot) root = root.getState().previousRoot;\n  return root;\n}\nvar is = {\n  obj: (a) => a === Object(a) && !is.arr(a) && typeof a !== \"function\",\n  fun: (a) => typeof a === \"function\",\n  str: (a) => typeof a === \"string\",\n  num: (a) => typeof a === \"number\",\n  boo: (a) => typeof a === \"boolean\",\n  und: (a) => a === void 0,\n  arr: (a) => Array.isArray(a),\n  equ(a, b, {\n    arrays = \"shallow\",\n    objects = \"reference\",\n    strict = true\n  } = {}) {\n    if (typeof a !== typeof b || !!a !== !!b) return false;\n    if (is.str(a) || is.num(a) || is.boo(a)) return a === b;\n    const isObj = is.obj(a);\n    if (isObj && objects === \"reference\") return a === b;\n    const isArr = is.arr(a);\n    if (isArr && arrays === \"reference\") return a === b;\n    if ((isArr || isObj) && a === b) return true;\n    let i2;\n    for (i2 in a) if (!(i2 in b)) return false;\n    if (isObj && arrays === \"shallow\" && objects === \"shallow\") {\n      for (i2 in strict ? b : a) if (!is.equ(a[i2], b[i2], {\n        strict,\n        objects: \"reference\"\n      })) return false;\n    } else {\n      for (i2 in strict ? b : a) if (a[i2] !== b[i2]) return false;\n    }\n    if (is.und(i2)) {\n      if (isArr && a.length === 0 && b.length === 0) return true;\n      if (isObj && Object.keys(a).length === 0 && Object.keys(b).length === 0) return true;\n      if (a !== b) return false;\n    }\n    return true;\n  }\n};\nfunction buildGraph(object) {\n  const data = {\n    nodes: {},\n    materials: {}\n  };\n  if (object) {\n    object.traverse((obj) => {\n      if (obj.name) data.nodes[obj.name] = obj;\n      if (obj.material && !data.materials[obj.material.name]) data.materials[obj.material.name] = obj.material;\n    });\n  }\n  return data;\n}\nfunction dispose(obj) {\n  if (obj.dispose && obj.type !== \"Scene\") obj.dispose();\n  for (const p in obj) {\n    p.dispose == null ? void 0 : p.dispose();\n    delete obj[p];\n  }\n}\nfunction prepare(object, state) {\n  const instance = object;\n  instance.__r3f = __spreadValues({\n    type: \"\",\n    root: null,\n    previousAttach: null,\n    memoizedProps: {},\n    eventCount: 0,\n    handlers: {},\n    objects: [],\n    parent: null\n  }, state);\n  return object;\n}\nfunction resolve(instance, key) {\n  let target = instance;\n  if (key.includes(\"-\")) {\n    const entries = key.split(\"-\");\n    const last = entries.pop();\n    target = entries.reduce((acc, key2) => acc[key2], instance);\n    return {\n      target,\n      key: last\n    };\n  } else return {\n    target,\n    key\n  };\n}\nvar INDEX_REGEX = /-\\d+$/;\nfunction attach(parent, child, type) {\n  if (is.str(type)) {\n    if (INDEX_REGEX.test(type)) {\n      const root = type.replace(INDEX_REGEX, \"\");\n      const {\n        target: target2,\n        key: key2\n      } = resolve(parent, root);\n      if (!Array.isArray(target2[key2])) target2[key2] = [];\n    }\n    const {\n      target,\n      key\n    } = resolve(parent, type);\n    child.__r3f.previousAttach = target[key];\n    target[key] = child;\n  } else child.__r3f.previousAttach = type(parent, child);\n}\nfunction detach(parent, child, type) {\n  var _child$__r3f, _child$__r3f2;\n  if (is.str(type)) {\n    const {\n      target,\n      key\n    } = resolve(parent, type);\n    const previous = child.__r3f.previousAttach;\n    if (previous === void 0) delete target[key];\n    else target[key] = previous;\n  } else (_child$__r3f = child.__r3f) == null ? void 0 : _child$__r3f.previousAttach == null ? void 0 : _child$__r3f.previousAttach(parent, child);\n  (_child$__r3f2 = child.__r3f) == null ? true : delete _child$__r3f2.previousAttach;\n}\nfunction diffProps(instance, _a, _c = {}, remove = false) {\n  var _b = _a, {\n    children: cN,\n    key: kN,\n    ref: rN\n  } = _b, props = __objRest(_b, [\n    \"children\",\n    \"key\",\n    \"ref\"\n  ]);\n  var _d = _c, {\n    children: cP,\n    key: kP,\n    ref: rP\n  } = _d, previous = __objRest(_d, [\n    \"children\",\n    \"key\",\n    \"ref\"\n  ]);\n  const localState = instance.__r3f;\n  const entries = Object.entries(props);\n  const changes = [];\n  if (remove) {\n    const previousKeys = Object.keys(previous);\n    for (let i2 = 0; i2 < previousKeys.length; i2++) {\n      if (!props.hasOwnProperty(previousKeys[i2])) entries.unshift([previousKeys[i2], DEFAULT + \"remove\"]);\n    }\n  }\n  entries.forEach(([key, value]) => {\n    var _instance$__r3f;\n    if ((_instance$__r3f = instance.__r3f) != null && _instance$__r3f.primitive && key === \"object\") return;\n    if (is.equ(value, previous[key])) return;\n    if (/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(key)) return changes.push([key, value, true, []]);\n    let entries2 = [];\n    if (key.includes(\"-\")) entries2 = key.split(\"-\");\n    changes.push([key, value, false, entries2]);\n    for (const prop in props) {\n      const value2 = props[prop];\n      if (prop.startsWith(`${key}-`)) changes.push([prop, value2, false, prop.split(\"-\")]);\n    }\n  });\n  const memoized = __spreadValues({}, props);\n  if (localState != null && localState.memoizedProps && localState != null && localState.memoizedProps.args) memoized.args = localState.memoizedProps.args;\n  if (localState != null && localState.memoizedProps && localState != null && localState.memoizedProps.attach) memoized.attach = localState.memoizedProps.attach;\n  return {\n    memoized,\n    changes\n  };\n}\nvar __DEV__ = typeof process !== \"undefined\" && true;\nfunction applyProps$1(instance, data) {\n  var _instance$__r3f2;\n  const localState = instance.__r3f;\n  const root = localState == null ? void 0 : localState.root;\n  const rootState = root == null ? void 0 : root.getState == null ? void 0 : root.getState();\n  const {\n    memoized,\n    changes\n  } = isDiffSet(data) ? data : diffProps(instance, data);\n  const prevHandlers = localState == null ? void 0 : localState.eventCount;\n  if (instance.__r3f) instance.__r3f.memoizedProps = memoized;\n  for (let i2 = 0; i2 < changes.length; i2++) {\n    let [key, value, isEvent, keys2] = changes[i2];\n    if (hasColorSpace(instance)) {\n      const sRGBEncoding = 3001;\n      const SRGBColorSpace = \"srgb\";\n      const LinearSRGBColorSpace = \"srgb-linear\";\n      if (key === \"encoding\") {\n        key = \"colorSpace\";\n        value = value === sRGBEncoding ? SRGBColorSpace : LinearSRGBColorSpace;\n      } else if (key === \"outputEncoding\") {\n        key = \"outputColorSpace\";\n        value = value === sRGBEncoding ? SRGBColorSpace : LinearSRGBColorSpace;\n      }\n    }\n    let currentInstance = instance;\n    let targetProp = currentInstance[key];\n    if (keys2.length) {\n      targetProp = keys2.reduce((acc, key2) => acc[key2], instance);\n      if (!(targetProp && targetProp.set)) {\n        const [name, ...reverseEntries] = keys2.reverse();\n        currentInstance = reverseEntries.reverse().reduce((acc, key2) => acc[key2], instance);\n        key = name;\n      }\n    }\n    if (value === DEFAULT + \"remove\") {\n      if (currentInstance.constructor) {\n        let ctor = DEFAULTS.get(currentInstance.constructor);\n        if (!ctor) {\n          ctor = new currentInstance.constructor();\n          DEFAULTS.set(currentInstance.constructor, ctor);\n        }\n        value = ctor[key];\n      } else {\n        value = 0;\n      }\n    }\n    if (isEvent && localState) {\n      if (value) localState.handlers[key] = value;\n      else delete localState.handlers[key];\n      localState.eventCount = Object.keys(localState.handlers).length;\n    } else if (targetProp && targetProp.set && (targetProp.copy || targetProp instanceof Layers)) {\n      if (Array.isArray(value)) {\n        if (targetProp.fromArray) targetProp.fromArray(value);\n        else targetProp.set(...value);\n      } else if (targetProp.copy && value && value.constructor && // Some environments may break strict identity checks by duplicating versions of three.js.\n      // Loosen to unminified names, ignoring descendents.\n      // https://github.com/pmndrs/react-three-fiber/issues/2856\n      // TODO: fix upstream and remove in v9\n      (__DEV__ ? targetProp.constructor.name === value.constructor.name : targetProp.constructor === value.constructor)) {\n        targetProp.copy(value);\n      } else if (value !== void 0) {\n        const isColor = targetProp instanceof Color;\n        if (!isColor && targetProp.setScalar) targetProp.setScalar(value);\n        else if (targetProp instanceof Layers && value instanceof Layers) targetProp.mask = value.mask;\n        else targetProp.set(value);\n        if (!getColorManagement() && rootState && !rootState.linear && isColor) targetProp.convertSRGBToLinear();\n      }\n    } else {\n      currentInstance[key] = value;\n      if (currentInstance[key] instanceof Texture && // sRGB textures must be RGBA8 since r137 https://github.com/mrdoob/three.js/pull/23129\n      currentInstance[key].format === RGBAFormat && currentInstance[key].type === UnsignedByteType && rootState) {\n        const texture = currentInstance[key];\n        if (hasColorSpace(texture) && hasColorSpace(rootState.gl)) texture.colorSpace = rootState.gl.outputColorSpace;\n        else texture.encoding = rootState.gl.outputEncoding;\n      }\n    }\n    invalidateInstance(instance);\n  }\n  if (localState && localState.parent && instance.raycast && prevHandlers !== localState.eventCount) {\n    const internal = findInitialRoot(instance).getState().internal;\n    const index = internal.interaction.indexOf(instance);\n    if (index > -1) internal.interaction.splice(index, 1);\n    if (localState.eventCount) internal.interaction.push(instance);\n  }\n  const isCircular = changes.length === 1 && changes[0][0] === \"onUpdate\";\n  if (!isCircular && changes.length && (_instance$__r3f2 = instance.__r3f) != null && _instance$__r3f2.parent) updateInstance(instance);\n  return instance;\n}\nfunction invalidateInstance(instance) {\n  var _instance$__r3f3, _instance$__r3f3$root;\n  const state = (_instance$__r3f3 = instance.__r3f) == null ? void 0 : (_instance$__r3f3$root = _instance$__r3f3.root) == null ? void 0 : _instance$__r3f3$root.getState == null ? void 0 : _instance$__r3f3$root.getState();\n  if (state && state.internal.frames === 0) state.invalidate();\n}\nfunction updateInstance(instance) {\n  instance.onUpdate == null ? void 0 : instance.onUpdate(instance);\n}\nfunction updateCamera(camera, size) {\n  if (!camera.manual) {\n    if (isOrthographicCamera(camera)) {\n      camera.left = size.width / -2;\n      camera.right = size.width / 2;\n      camera.top = size.height / 2;\n      camera.bottom = size.height / -2;\n    } else {\n      camera.aspect = size.width / size.height;\n    }\n    camera.updateProjectionMatrix();\n    camera.updateMatrixWorld();\n  }\n}\nfunction makeId(event) {\n  return (event.eventObject || event.object).uuid + \"/\" + event.index + event.instanceId;\n}\nfunction getEventPriority() {\n  var _globalScope$event;\n  const globalScope = typeof self !== \"undefined\" && self || typeof window !== \"undefined\" && window;\n  if (!globalScope) return DefaultEventPriority;\n  const name = (_globalScope$event = globalScope.event) == null ? void 0 : _globalScope$event.type;\n  switch (name) {\n    case \"click\":\n    case \"contextmenu\":\n    case \"dblclick\":\n    case \"pointercancel\":\n    case \"pointerdown\":\n    case \"pointerup\":\n      return DiscreteEventPriority;\n    case \"pointermove\":\n    case \"pointerout\":\n    case \"pointerover\":\n    case \"pointerenter\":\n    case \"pointerleave\":\n    case \"wheel\":\n      return ContinuousEventPriority;\n    default:\n      return DefaultEventPriority;\n  }\n}\nfunction releaseInternalPointerCapture(capturedMap, obj, captures, pointerId) {\n  const captureData = captures.get(obj);\n  if (captureData) {\n    captures.delete(obj);\n    if (captures.size === 0) {\n      capturedMap.delete(pointerId);\n      captureData.target.releasePointerCapture(pointerId);\n    }\n  }\n}\nfunction removeInteractivity(store, object) {\n  const {\n    internal\n  } = store.getState();\n  internal.interaction = internal.interaction.filter((o) => o !== object);\n  internal.initialHits = internal.initialHits.filter((o) => o !== object);\n  internal.hovered.forEach((value, key) => {\n    if (value.eventObject === object || value.object === object) {\n      internal.hovered.delete(key);\n    }\n  });\n  internal.capturedMap.forEach((captures, pointerId) => {\n    releaseInternalPointerCapture(internal.capturedMap, object, captures, pointerId);\n  });\n}\nfunction createEvents(store) {\n  function calculateDistance(event) {\n    const {\n      internal\n    } = store.getState();\n    const dx = event.offsetX - internal.initialClick[0];\n    const dy = event.offsetY - internal.initialClick[1];\n    return Math.round(Math.sqrt(dx * dx + dy * dy));\n  }\n  function filterPointerEvents(objects) {\n    return objects.filter((obj) => [\"Move\", \"Over\", \"Enter\", \"Out\", \"Leave\"].some((name) => {\n      var _r3f;\n      return (_r3f = obj.__r3f) == null ? void 0 : _r3f.handlers[\"onPointer\" + name];\n    }));\n  }\n  function intersect(event, filter) {\n    const state = store.getState();\n    const duplicates = /* @__PURE__ */ new Set();\n    const intersections = [];\n    const eventsObjects = filter ? filter(state.internal.interaction) : state.internal.interaction;\n    for (let i2 = 0; i2 < eventsObjects.length; i2++) {\n      const state2 = getRootState(eventsObjects[i2]);\n      if (state2) {\n        state2.raycaster.camera = void 0;\n      }\n    }\n    if (!state.previousRoot) {\n      state.events.compute == null ? void 0 : state.events.compute(event, state);\n    }\n    function handleRaycast(obj) {\n      const state2 = getRootState(obj);\n      if (!state2 || !state2.events.enabled || state2.raycaster.camera === null) return [];\n      if (state2.raycaster.camera === void 0) {\n        var _state$previousRoot;\n        state2.events.compute == null ? void 0 : state2.events.compute(event, state2, (_state$previousRoot = state2.previousRoot) == null ? void 0 : _state$previousRoot.getState());\n        if (state2.raycaster.camera === void 0) state2.raycaster.camera = null;\n      }\n      return state2.raycaster.camera ? state2.raycaster.intersectObject(obj, true) : [];\n    }\n    let hits = eventsObjects.flatMap(handleRaycast).sort((a, b) => {\n      const aState = getRootState(a.object);\n      const bState = getRootState(b.object);\n      if (!aState || !bState) return a.distance - b.distance;\n      return bState.events.priority - aState.events.priority || a.distance - b.distance;\n    }).filter((item) => {\n      const id = makeId(item);\n      if (duplicates.has(id)) return false;\n      duplicates.add(id);\n      return true;\n    });\n    if (state.events.filter) hits = state.events.filter(hits, state);\n    for (const hit of hits) {\n      let eventObject = hit.object;\n      while (eventObject) {\n        var _r3f2;\n        if ((_r3f2 = eventObject.__r3f) != null && _r3f2.eventCount) intersections.push(__spreadProps(__spreadValues({}, hit), {\n          eventObject\n        }));\n        eventObject = eventObject.parent;\n      }\n    }\n    if (\"pointerId\" in event && state.internal.capturedMap.has(event.pointerId)) {\n      for (let captureData of state.internal.capturedMap.get(event.pointerId).values()) {\n        if (!duplicates.has(makeId(captureData.intersection))) intersections.push(captureData.intersection);\n      }\n    }\n    return intersections;\n  }\n  function handleIntersects(intersections, event, delta, callback) {\n    const rootState = store.getState();\n    if (intersections.length) {\n      const localState = {\n        stopped: false\n      };\n      for (const hit of intersections) {\n        const state = getRootState(hit.object) || rootState;\n        const {\n          raycaster,\n          pointer,\n          camera,\n          internal\n        } = state;\n        const unprojectedPoint = new Vector3(pointer.x, pointer.y, 0).unproject(camera);\n        const hasPointerCapture = (id) => {\n          var _internal$capturedMap, _internal$capturedMap2;\n          return (_internal$capturedMap = (_internal$capturedMap2 = internal.capturedMap.get(id)) == null ? void 0 : _internal$capturedMap2.has(hit.eventObject)) != null ? _internal$capturedMap : false;\n        };\n        const setPointerCapture = (id) => {\n          const captureData = {\n            intersection: hit,\n            target: event.target\n          };\n          if (internal.capturedMap.has(id)) {\n            internal.capturedMap.get(id).set(hit.eventObject, captureData);\n          } else {\n            internal.capturedMap.set(id, /* @__PURE__ */ new Map([[hit.eventObject, captureData]]));\n          }\n          event.target.setPointerCapture(id);\n        };\n        const releasePointerCapture = (id) => {\n          const captures = internal.capturedMap.get(id);\n          if (captures) {\n            releaseInternalPointerCapture(internal.capturedMap, hit.eventObject, captures, id);\n          }\n        };\n        let extractEventProps = {};\n        for (let prop in event) {\n          let property = event[prop];\n          if (typeof property !== \"function\") extractEventProps[prop] = property;\n        }\n        let raycastEvent = __spreadProps(__spreadValues(__spreadValues({}, hit), extractEventProps), {\n          pointer,\n          intersections,\n          stopped: localState.stopped,\n          delta,\n          unprojectedPoint,\n          ray: raycaster.ray,\n          camera,\n          // Hijack stopPropagation, which just sets a flag\n          stopPropagation() {\n            const capturesForPointer = \"pointerId\" in event && internal.capturedMap.get(event.pointerId);\n            if (\n              // ...if this pointer hasn't been captured\n              !capturesForPointer || // ... or if the hit object is capturing the pointer\n              capturesForPointer.has(hit.eventObject)\n            ) {\n              raycastEvent.stopped = localState.stopped = true;\n              if (internal.hovered.size && Array.from(internal.hovered.values()).find((i2) => i2.eventObject === hit.eventObject)) {\n                const higher = intersections.slice(0, intersections.indexOf(hit));\n                cancelPointer([...higher, hit]);\n              }\n            }\n          },\n          // there should be a distinction between target and currentTarget\n          target: {\n            hasPointerCapture,\n            setPointerCapture,\n            releasePointerCapture\n          },\n          currentTarget: {\n            hasPointerCapture,\n            setPointerCapture,\n            releasePointerCapture\n          },\n          nativeEvent: event\n        });\n        callback(raycastEvent);\n        if (localState.stopped === true) break;\n      }\n    }\n    return intersections;\n  }\n  function cancelPointer(intersections) {\n    const {\n      internal\n    } = store.getState();\n    for (const hoveredObj of internal.hovered.values()) {\n      if (!intersections.length || !intersections.find((hit) => hit.object === hoveredObj.object && hit.index === hoveredObj.index && hit.instanceId === hoveredObj.instanceId)) {\n        const eventObject = hoveredObj.eventObject;\n        const instance = eventObject.__r3f;\n        const handlers = instance == null ? void 0 : instance.handlers;\n        internal.hovered.delete(makeId(hoveredObj));\n        if (instance != null && instance.eventCount) {\n          const data = __spreadProps(__spreadValues({}, hoveredObj), {\n            intersections\n          });\n          handlers.onPointerOut == null ? void 0 : handlers.onPointerOut(data);\n          handlers.onPointerLeave == null ? void 0 : handlers.onPointerLeave(data);\n        }\n      }\n    }\n  }\n  function pointerMissed(event, objects) {\n    for (let i2 = 0; i2 < objects.length; i2++) {\n      const instance = objects[i2].__r3f;\n      instance == null ? void 0 : instance.handlers.onPointerMissed == null ? void 0 : instance.handlers.onPointerMissed(event);\n    }\n  }\n  function handlePointer(name) {\n    switch (name) {\n      case \"onPointerLeave\":\n      case \"onPointerCancel\":\n        return () => cancelPointer([]);\n      case \"onLostPointerCapture\":\n        return (event) => {\n          const {\n            internal\n          } = store.getState();\n          if (\"pointerId\" in event && internal.capturedMap.has(event.pointerId)) {\n            requestAnimationFrame(() => {\n              if (internal.capturedMap.has(event.pointerId)) {\n                internal.capturedMap.delete(event.pointerId);\n                cancelPointer([]);\n              }\n            });\n          }\n        };\n    }\n    return function handleEvent(event) {\n      const {\n        onPointerMissed,\n        internal\n      } = store.getState();\n      internal.lastEvent.current = event;\n      const isPointerMove = name === \"onPointerMove\";\n      const isClickEvent = name === \"onClick\" || name === \"onContextMenu\" || name === \"onDoubleClick\";\n      const filter = isPointerMove ? filterPointerEvents : void 0;\n      const hits = intersect(event, filter);\n      const delta = isClickEvent ? calculateDistance(event) : 0;\n      if (name === \"onPointerDown\") {\n        internal.initialClick = [event.offsetX, event.offsetY];\n        internal.initialHits = hits.map((hit) => hit.eventObject);\n      }\n      if (isClickEvent && !hits.length) {\n        if (delta <= 2) {\n          pointerMissed(event, internal.interaction);\n          if (onPointerMissed) onPointerMissed(event);\n        }\n      }\n      if (isPointerMove) cancelPointer(hits);\n      function onIntersect(data) {\n        const eventObject = data.eventObject;\n        const instance = eventObject.__r3f;\n        const handlers = instance == null ? void 0 : instance.handlers;\n        if (!(instance != null && instance.eventCount)) return;\n        if (isPointerMove) {\n          if (handlers.onPointerOver || handlers.onPointerEnter || handlers.onPointerOut || handlers.onPointerLeave) {\n            const id = makeId(data);\n            const hoveredItem = internal.hovered.get(id);\n            if (!hoveredItem) {\n              internal.hovered.set(id, data);\n              handlers.onPointerOver == null ? void 0 : handlers.onPointerOver(data);\n              handlers.onPointerEnter == null ? void 0 : handlers.onPointerEnter(data);\n            } else if (hoveredItem.stopped) {\n              data.stopPropagation();\n            }\n          }\n          handlers.onPointerMove == null ? void 0 : handlers.onPointerMove(data);\n        } else {\n          const handler = handlers[name];\n          if (handler) {\n            if (!isClickEvent || internal.initialHits.includes(eventObject)) {\n              pointerMissed(event, internal.interaction.filter((object) => !internal.initialHits.includes(object)));\n              handler(data);\n            }\n          } else {\n            if (isClickEvent && internal.initialHits.includes(eventObject)) {\n              pointerMissed(event, internal.interaction.filter((object) => !internal.initialHits.includes(object)));\n            }\n          }\n        }\n      }\n      handleIntersects(hits, event, delta, onIntersect);\n    };\n  }\n  return {\n    handlePointer\n  };\n}\nvar isRenderer = (def) => !!(def != null && def.render);\nvar context = /* @__PURE__ */ React.createContext(null);\nvar createStore2 = (invalidate2, advance2) => {\n  const rootState = create((set, get) => {\n    const position = new Vector3();\n    const defaultTarget = new Vector3();\n    const tempTarget = new Vector3();\n    function getCurrentViewport(camera = get().camera, target = defaultTarget, size = get().size) {\n      const {\n        width,\n        height,\n        top,\n        left\n      } = size;\n      const aspect = width / height;\n      if (target instanceof Vector3) tempTarget.copy(target);\n      else tempTarget.set(...target);\n      const distance = camera.getWorldPosition(position).distanceTo(tempTarget);\n      if (isOrthographicCamera(camera)) {\n        return {\n          width: width / camera.zoom,\n          height: height / camera.zoom,\n          top,\n          left,\n          factor: 1,\n          distance,\n          aspect\n        };\n      } else {\n        const fov = camera.fov * Math.PI / 180;\n        const h2 = 2 * Math.tan(fov / 2) * distance;\n        const w = h2 * (width / height);\n        return {\n          width: w,\n          height: h2,\n          top,\n          left,\n          factor: width / w,\n          distance,\n          aspect\n        };\n      }\n    }\n    let performanceTimeout = void 0;\n    const setPerformanceCurrent = (current) => set((state2) => ({\n      performance: __spreadProps(__spreadValues({}, state2.performance), {\n        current\n      })\n    }));\n    const pointer = new Vector2();\n    const rootState2 = {\n      set,\n      get,\n      // Mock objects that have to be configured\n      gl: null,\n      camera: null,\n      raycaster: null,\n      events: {\n        priority: 1,\n        enabled: true,\n        connected: false\n      },\n      xr: null,\n      scene: null,\n      invalidate: (frames = 1) => invalidate2(get(), frames),\n      advance: (timestamp, runGlobalEffects) => advance2(timestamp, runGlobalEffects, get()),\n      legacy: false,\n      linear: false,\n      flat: false,\n      controls: null,\n      clock: new Clock(),\n      pointer,\n      mouse: pointer,\n      frameloop: \"always\",\n      onPointerMissed: void 0,\n      performance: {\n        current: 1,\n        min: 0.5,\n        max: 1,\n        debounce: 200,\n        regress: () => {\n          const state2 = get();\n          if (performanceTimeout) clearTimeout(performanceTimeout);\n          if (state2.performance.current !== state2.performance.min) setPerformanceCurrent(state2.performance.min);\n          performanceTimeout = setTimeout(() => setPerformanceCurrent(get().performance.max), state2.performance.debounce);\n        }\n      },\n      size: {\n        width: 0,\n        height: 0,\n        top: 0,\n        left: 0,\n        updateStyle: false\n      },\n      viewport: {\n        initialDpr: 0,\n        dpr: 0,\n        width: 0,\n        height: 0,\n        top: 0,\n        left: 0,\n        aspect: 0,\n        distance: 0,\n        factor: 0,\n        getCurrentViewport\n      },\n      setEvents: (events) => set((state2) => __spreadProps(__spreadValues({}, state2), {\n        events: __spreadValues(__spreadValues({}, state2.events), events)\n      })),\n      setSize: (width, height, updateStyle, top, left) => {\n        const camera = get().camera;\n        const size = {\n          width,\n          height,\n          top: top || 0,\n          left: left || 0,\n          updateStyle\n        };\n        set((state2) => ({\n          size,\n          viewport: __spreadValues(__spreadValues({}, state2.viewport), getCurrentViewport(camera, defaultTarget, size))\n        }));\n      },\n      setDpr: (dpr) => set((state2) => {\n        const resolved = calculateDpr(dpr);\n        return {\n          viewport: __spreadProps(__spreadValues({}, state2.viewport), {\n            dpr: resolved,\n            initialDpr: state2.viewport.initialDpr || resolved\n          })\n        };\n      }),\n      setFrameloop: (frameloop = \"always\") => {\n        const clock = get().clock;\n        clock.stop();\n        clock.elapsedTime = 0;\n        if (frameloop !== \"never\") {\n          clock.start();\n          clock.elapsedTime = 0;\n        }\n        set(() => ({\n          frameloop\n        }));\n      },\n      previousRoot: void 0,\n      internal: {\n        active: false,\n        priority: 0,\n        frames: 0,\n        lastEvent: /* @__PURE__ */ React.createRef(),\n        interaction: [],\n        hovered: /* @__PURE__ */ new Map(),\n        subscribers: [],\n        initialClick: [0, 0],\n        initialHits: [],\n        capturedMap: /* @__PURE__ */ new Map(),\n        subscribe: (ref, priority, store) => {\n          const internal = get().internal;\n          internal.priority = internal.priority + (priority > 0 ? 1 : 0);\n          internal.subscribers.push({\n            ref,\n            priority,\n            store\n          });\n          internal.subscribers = internal.subscribers.sort((a, b) => a.priority - b.priority);\n          return () => {\n            const internal2 = get().internal;\n            if (internal2 != null && internal2.subscribers) {\n              internal2.priority = internal2.priority - (priority > 0 ? 1 : 0);\n              internal2.subscribers = internal2.subscribers.filter((s) => s.ref !== ref);\n            }\n          };\n        }\n      }\n    };\n    return rootState2;\n  });\n  const state = rootState.getState();\n  let oldSize = state.size;\n  let oldDpr = state.viewport.dpr;\n  let oldCamera = state.camera;\n  rootState.subscribe(() => {\n    const {\n      camera,\n      size,\n      viewport,\n      gl,\n      set\n    } = rootState.getState();\n    if (size.width !== oldSize.width || size.height !== oldSize.height || viewport.dpr !== oldDpr) {\n      var _size$updateStyle;\n      oldSize = size;\n      oldDpr = viewport.dpr;\n      updateCamera(camera, size);\n      gl.setPixelRatio(viewport.dpr);\n      const updateStyle = (_size$updateStyle = size.updateStyle) != null ? _size$updateStyle : typeof HTMLCanvasElement !== \"undefined\" && gl.domElement instanceof HTMLCanvasElement;\n      gl.setSize(size.width, size.height, updateStyle);\n    }\n    if (camera !== oldCamera) {\n      oldCamera = camera;\n      set((state2) => ({\n        viewport: __spreadValues(__spreadValues({}, state2.viewport), state2.viewport.getCurrentViewport(camera))\n      }));\n    }\n  });\n  rootState.subscribe((state2) => invalidate2(state2));\n  return rootState;\n};\nvar i;\nvar globalEffects = /* @__PURE__ */ new Set();\nvar globalAfterEffects = /* @__PURE__ */ new Set();\nvar globalTailEffects = /* @__PURE__ */ new Set();\nfunction run(effects, timestamp) {\n  if (!effects.size) return;\n  for (const {\n    callback\n  } of effects.values()) {\n    callback(timestamp);\n  }\n}\nfunction flushGlobalEffects(type, timestamp) {\n  switch (type) {\n    case \"before\":\n      return run(globalEffects, timestamp);\n    case \"after\":\n      return run(globalAfterEffects, timestamp);\n    case \"tail\":\n      return run(globalTailEffects, timestamp);\n  }\n}\nvar subscribers;\nvar subscription;\nfunction render$1(timestamp, state, frame) {\n  let delta = state.clock.getDelta();\n  if (state.frameloop === \"never\" && typeof timestamp === \"number\") {\n    delta = timestamp - state.clock.elapsedTime;\n    state.clock.oldTime = state.clock.elapsedTime;\n    state.clock.elapsedTime = timestamp;\n  }\n  subscribers = state.internal.subscribers;\n  for (i = 0; i < subscribers.length; i++) {\n    subscription = subscribers[i];\n    subscription.ref.current(subscription.store.getState(), delta, frame);\n  }\n  if (!state.internal.priority && state.gl.render) state.gl.render(state.scene, state.camera);\n  state.internal.frames = Math.max(0, state.internal.frames - 1);\n  return state.frameloop === \"always\" ? 1 : state.internal.frames;\n}\nfunction createLoop(roots2) {\n  let running = false;\n  let useFrameInProgress = false;\n  let repeat;\n  let frame;\n  let state;\n  function loop(timestamp) {\n    frame = requestAnimationFrame(loop);\n    running = true;\n    repeat = 0;\n    flushGlobalEffects(\"before\", timestamp);\n    useFrameInProgress = true;\n    for (const root of roots2.values()) {\n      var _state$gl$xr;\n      state = root.store.getState();\n      if (state.internal.active && (state.frameloop === \"always\" || state.internal.frames > 0) && !((_state$gl$xr = state.gl.xr) != null && _state$gl$xr.isPresenting)) {\n        repeat += render$1(timestamp, state);\n      }\n    }\n    useFrameInProgress = false;\n    flushGlobalEffects(\"after\", timestamp);\n    if (repeat === 0) {\n      flushGlobalEffects(\"tail\", timestamp);\n      running = false;\n      return cancelAnimationFrame(frame);\n    }\n  }\n  function invalidate2(state2, frames = 1) {\n    var _state$gl$xr2;\n    if (!state2) return roots2.forEach((root) => invalidate2(root.store.getState(), frames));\n    if ((_state$gl$xr2 = state2.gl.xr) != null && _state$gl$xr2.isPresenting || !state2.internal.active || state2.frameloop === \"never\") return;\n    if (frames > 1) {\n      state2.internal.frames = Math.min(60, state2.internal.frames + frames);\n    } else {\n      if (useFrameInProgress) {\n        state2.internal.frames = 2;\n      } else {\n        state2.internal.frames = 1;\n      }\n    }\n    if (!running) {\n      running = true;\n      requestAnimationFrame(loop);\n    }\n  }\n  function advance2(timestamp, runGlobalEffects = true, state2, frame2) {\n    if (runGlobalEffects) flushGlobalEffects(\"before\", timestamp);\n    if (!state2) for (const root of roots2.values()) render$1(timestamp, root.store.getState());\n    else render$1(timestamp, state2, frame2);\n    if (runGlobalEffects) flushGlobalEffects(\"after\", timestamp);\n  }\n  return {\n    loop,\n    invalidate: invalidate2,\n    advance: advance2\n  };\n}\nfunction useStore() {\n  const store = React.useContext(context);\n  if (!store) throw new Error(\"R3F: Hooks can only be used within the Canvas component!\");\n  return store;\n}\nfunction useThree(selector = (state) => state, equalityFn) {\n  return useStore()(selector, equalityFn);\n}\nfunction useFrame(callback, renderPriority = 0) {\n  const store = useStore();\n  const subscribe = store.getState().internal.subscribe;\n  const ref = useMutableCallback(callback);\n  useIsomorphicLayoutEffect2(() => subscribe(ref, renderPriority, store), [renderPriority, subscribe, store]);\n  return null;\n}\nvar memoizedLoaders = /* @__PURE__ */ new WeakMap();\nfunction loadingFn(extensions, onProgress) {\n  return function(Proto, ...input) {\n    let loader = memoizedLoaders.get(Proto);\n    if (!loader) {\n      loader = new Proto();\n      memoizedLoaders.set(Proto, loader);\n    }\n    if (extensions) extensions(loader);\n    return Promise.all(input.map((input2) => new Promise((res, reject) => loader.load(input2, (data) => {\n      if (data.scene) Object.assign(data, buildGraph(data.scene));\n      res(data);\n    }, onProgress, (error) => reject(new Error(`Could not load ${input2}: ${error == null ? void 0 : error.message}`))))));\n  };\n}\nfunction useLoader(Proto, input, extensions, onProgress) {\n  const keys2 = Array.isArray(input) ? input : [input];\n  const results = suspend(loadingFn(extensions, onProgress), [Proto, ...keys2], {\n    equal: is.equ\n  });\n  return Array.isArray(input) ? results : results[0];\n}\nuseLoader.preload = function(Proto, input, extensions) {\n  const keys2 = Array.isArray(input) ? input : [input];\n  return preload(loadingFn(extensions), [Proto, ...keys2]);\n};\nuseLoader.clear = function(Proto, input) {\n  const keys2 = Array.isArray(input) ? input : [input];\n  return clear([Proto, ...keys2]);\n};\nvar roots = /* @__PURE__ */ new Map();\nvar {\n  invalidate,\n  advance\n} = createLoop(roots);\nvar {\n  reconciler,\n  applyProps\n} = createRenderer(roots, getEventPriority);\nvar shallowLoose = {\n  objects: \"shallow\",\n  strict: false\n};\nvar createRendererInstance = (gl, canvas) => {\n  const customRenderer = typeof gl === \"function\" ? gl(canvas) : gl;\n  if (isRenderer(customRenderer)) return customRenderer;\n  else return new WebGLRenderer(__spreadValues({\n    powerPreference: \"high-performance\",\n    canvas,\n    antialias: true,\n    alpha: true\n  }, gl));\n};\nfunction computeInitialSize(canvas, defaultSize) {\n  const defaultStyle = typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement;\n  if (defaultSize) {\n    const {\n      width,\n      height,\n      top,\n      left,\n      updateStyle = defaultStyle\n    } = defaultSize;\n    return {\n      width,\n      height,\n      top,\n      left,\n      updateStyle\n    };\n  } else if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement && canvas.parentElement) {\n    const {\n      width,\n      height,\n      top,\n      left\n    } = canvas.parentElement.getBoundingClientRect();\n    return {\n      width,\n      height,\n      top,\n      left,\n      updateStyle: defaultStyle\n    };\n  } else if (typeof OffscreenCanvas !== \"undefined\" && canvas instanceof OffscreenCanvas) {\n    return {\n      width: canvas.width,\n      height: canvas.height,\n      top: 0,\n      left: 0,\n      updateStyle: defaultStyle\n    };\n  }\n  return {\n    width: 0,\n    height: 0,\n    top: 0,\n    left: 0\n  };\n}\nfunction createRoot(canvas) {\n  const prevRoot = roots.get(canvas);\n  const prevFiber = prevRoot == null ? void 0 : prevRoot.fiber;\n  const prevStore = prevRoot == null ? void 0 : prevRoot.store;\n  if (prevRoot) console.warn(\"R3F.createRoot should only be called once!\");\n  const logRecoverableError = typeof reportError === \"function\" ? (\n    // In modern browsers, reportError will dispatch an error event,\n    // emulating an uncaught JavaScript error.\n    reportError\n  ) : (\n    // In older browsers and test environments, fallback to console.error.\n    console.error\n  );\n  const store = prevStore || createStore2(invalidate, advance);\n  const fiber = prevFiber || reconciler.createContainer(store, ConcurrentRoot, null, false, null, \"\", logRecoverableError, null);\n  if (!prevRoot) roots.set(canvas, {\n    fiber,\n    store\n  });\n  let onCreated;\n  let configured = false;\n  let lastCamera;\n  return {\n    configure(props = {}) {\n      let {\n        gl: glConfig,\n        size: propsSize,\n        scene: sceneOptions,\n        events,\n        onCreated: onCreatedCallback,\n        shadows = false,\n        linear = false,\n        flat = false,\n        legacy = false,\n        orthographic = false,\n        frameloop = \"always\",\n        dpr = [1, 2],\n        performance: performance2,\n        raycaster: raycastOptions,\n        camera: cameraOptions,\n        onPointerMissed\n      } = props;\n      let state = store.getState();\n      let gl = state.gl;\n      if (!state.gl) state.set({\n        gl: gl = createRendererInstance(glConfig, canvas)\n      });\n      let raycaster = state.raycaster;\n      if (!raycaster) state.set({\n        raycaster: raycaster = new Raycaster()\n      });\n      const _a = raycastOptions || {}, {\n        params\n      } = _a, options = __objRest(_a, [\n        \"params\"\n      ]);\n      if (!is.equ(options, raycaster, shallowLoose)) applyProps(raycaster, __spreadValues({}, options));\n      if (!is.equ(params, raycaster.params, shallowLoose)) applyProps(raycaster, {\n        params: __spreadValues(__spreadValues({}, raycaster.params), params)\n      });\n      if (!state.camera || state.camera === lastCamera && !is.equ(lastCamera, cameraOptions, shallowLoose)) {\n        lastCamera = cameraOptions;\n        const isCamera = cameraOptions instanceof Camera;\n        const camera = isCamera ? cameraOptions : orthographic ? new OrthographicCamera(0, 0, 0, 0, 0.1, 1e3) : new PerspectiveCamera(75, 0, 0.1, 1e3);\n        if (!isCamera) {\n          camera.position.z = 5;\n          if (cameraOptions) {\n            applyProps(camera, cameraOptions);\n            if (\"aspect\" in cameraOptions || \"left\" in cameraOptions || \"right\" in cameraOptions || \"bottom\" in cameraOptions || \"top\" in cameraOptions) {\n              camera.manual = true;\n              camera.updateProjectionMatrix();\n            }\n          }\n          if (!state.camera && !(cameraOptions != null && cameraOptions.rotation)) camera.lookAt(0, 0, 0);\n        }\n        state.set({\n          camera\n        });\n        raycaster.camera = camera;\n      }\n      if (!state.scene) {\n        let scene;\n        if (sceneOptions instanceof Scene) {\n          scene = sceneOptions;\n        } else {\n          scene = new Scene();\n          if (sceneOptions) applyProps(scene, sceneOptions);\n        }\n        state.set({\n          scene: prepare(scene)\n        });\n      }\n      if (!state.xr) {\n        var _gl$xr;\n        const handleXRFrame = (timestamp, frame) => {\n          const state2 = store.getState();\n          if (state2.frameloop === \"never\") return;\n          advance(timestamp, true, state2, frame);\n        };\n        const handleSessionChange = () => {\n          const state2 = store.getState();\n          state2.gl.xr.enabled = state2.gl.xr.isPresenting;\n          state2.gl.xr.setAnimationLoop(state2.gl.xr.isPresenting ? handleXRFrame : null);\n          if (!state2.gl.xr.isPresenting) invalidate(state2);\n        };\n        const xr = {\n          connect() {\n            const gl2 = store.getState().gl;\n            gl2.xr.addEventListener(\"sessionstart\", handleSessionChange);\n            gl2.xr.addEventListener(\"sessionend\", handleSessionChange);\n          },\n          disconnect() {\n            const gl2 = store.getState().gl;\n            gl2.xr.removeEventListener(\"sessionstart\", handleSessionChange);\n            gl2.xr.removeEventListener(\"sessionend\", handleSessionChange);\n          }\n        };\n        if (typeof ((_gl$xr = gl.xr) == null ? void 0 : _gl$xr.addEventListener) === \"function\") xr.connect();\n        state.set({\n          xr\n        });\n      }\n      if (gl.shadowMap) {\n        const oldEnabled = gl.shadowMap.enabled;\n        const oldType = gl.shadowMap.type;\n        gl.shadowMap.enabled = !!shadows;\n        if (is.boo(shadows)) {\n          gl.shadowMap.type = PCFSoftShadowMap;\n        } else if (is.str(shadows)) {\n          var _types$shadows;\n          const types = {\n            basic: BasicShadowMap,\n            percentage: PCFShadowMap,\n            soft: PCFSoftShadowMap,\n            variance: VSMShadowMap\n          };\n          gl.shadowMap.type = (_types$shadows = types[shadows]) != null ? _types$shadows : PCFSoftShadowMap;\n        } else if (is.obj(shadows)) {\n          Object.assign(gl.shadowMap, shadows);\n        }\n        if (oldEnabled !== gl.shadowMap.enabled || oldType !== gl.shadowMap.type) gl.shadowMap.needsUpdate = true;\n      }\n      const ColorManagement = getColorManagement();\n      if (ColorManagement) {\n        if (\"enabled\" in ColorManagement) ColorManagement.enabled = !legacy;\n        else if (\"legacyMode\" in ColorManagement) ColorManagement.legacyMode = legacy;\n      }\n      if (!configured) {\n        const LinearEncoding = 3e3;\n        const sRGBEncoding = 3001;\n        applyProps(gl, {\n          outputEncoding: linear ? LinearEncoding : sRGBEncoding,\n          toneMapping: flat ? NoToneMapping : ACESFilmicToneMapping\n        });\n      }\n      if (state.legacy !== legacy) state.set(() => ({\n        legacy\n      }));\n      if (state.linear !== linear) state.set(() => ({\n        linear\n      }));\n      if (state.flat !== flat) state.set(() => ({\n        flat\n      }));\n      if (glConfig && !is.fun(glConfig) && !isRenderer(glConfig) && !is.equ(glConfig, gl, shallowLoose)) applyProps(gl, glConfig);\n      if (events && !state.events.handlers) state.set({\n        events: events(store)\n      });\n      const size = computeInitialSize(canvas, propsSize);\n      if (!is.equ(size, state.size, shallowLoose)) {\n        state.setSize(size.width, size.height, size.updateStyle, size.top, size.left);\n      }\n      if (dpr && state.viewport.dpr !== calculateDpr(dpr)) state.setDpr(dpr);\n      if (state.frameloop !== frameloop) state.setFrameloop(frameloop);\n      if (!state.onPointerMissed) state.set({\n        onPointerMissed\n      });\n      if (performance2 && !is.equ(performance2, state.performance, shallowLoose)) state.set((state2) => ({\n        performance: __spreadValues(__spreadValues({}, state2.performance), performance2)\n      }));\n      onCreated = onCreatedCallback;\n      configured = true;\n      return this;\n    },\n    render(children) {\n      if (!configured) this.configure();\n      reconciler.updateContainer(/* @__PURE__ */ jsx(Provider, {\n        store,\n        children,\n        onCreated,\n        rootElement: canvas\n      }), fiber, null, () => void 0);\n      return store;\n    },\n    unmount() {\n      unmountComponentAtNode(canvas);\n    }\n  };\n}\nfunction Provider({\n  store,\n  children,\n  onCreated,\n  rootElement\n}) {\n  useIsomorphicLayoutEffect2(() => {\n    const state = store.getState();\n    state.set((state2) => ({\n      internal: __spreadProps(__spreadValues({}, state2.internal), {\n        active: true\n      })\n    }));\n    if (onCreated) onCreated(state);\n    if (!store.getState().events.connected) state.events.connect == null ? void 0 : state.events.connect(rootElement);\n  }, []);\n  return /* @__PURE__ */ jsx(context.Provider, {\n    value: store,\n    children\n  });\n}\nfunction unmountComponentAtNode(canvas, callback) {\n  const root = roots.get(canvas);\n  const fiber = root == null ? void 0 : root.fiber;\n  if (fiber) {\n    const state = root == null ? void 0 : root.store.getState();\n    if (state) state.internal.active = false;\n    reconciler.updateContainer(null, fiber, null, () => {\n      if (state) {\n        setTimeout(() => {\n          try {\n            var _state$gl, _state$gl$renderLists, _state$gl2, _state$gl3;\n            state.events.disconnect == null ? void 0 : state.events.disconnect();\n            (_state$gl = state.gl) == null ? void 0 : (_state$gl$renderLists = _state$gl.renderLists) == null ? void 0 : _state$gl$renderLists.dispose == null ? void 0 : _state$gl$renderLists.dispose();\n            (_state$gl2 = state.gl) == null ? void 0 : _state$gl2.forceContextLoss == null ? void 0 : _state$gl2.forceContextLoss();\n            if ((_state$gl3 = state.gl) != null && _state$gl3.xr) state.xr.disconnect();\n            dispose(state);\n            roots.delete(canvas);\n            if (callback) callback(canvas);\n          } catch (e) {\n          }\n        }, 500);\n      }\n    });\n  }\n}\nreconciler.injectIntoDevTools({\n  bundleType: false ? 0 : 1,\n  rendererPackageName: \"@react-three/fiber\",\n  version: React.version\n});\nvar DOM_EVENTS = {\n  onClick: [\"click\", false],\n  onContextMenu: [\"contextmenu\", false],\n  onDoubleClick: [\"dblclick\", false],\n  onWheel: [\"wheel\", true],\n  onPointerDown: [\"pointerdown\", true],\n  onPointerUp: [\"pointerup\", true],\n  onPointerLeave: [\"pointerleave\", true],\n  onPointerMove: [\"pointermove\", true],\n  onPointerCancel: [\"pointercancel\", true],\n  onLostPointerCapture: [\"lostpointercapture\", true]\n};\nfunction createPointerEvents(store) {\n  const {\n    handlePointer\n  } = createEvents(store);\n  return {\n    priority: 1,\n    enabled: true,\n    compute(event, state, previous) {\n      state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);\n      state.raycaster.setFromCamera(state.pointer, state.camera);\n    },\n    connected: void 0,\n    handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => __spreadProps(__spreadValues({}, acc), {\n      [key]: handlePointer(key)\n    }), {}),\n    update: () => {\n      var _internal$lastEvent;\n      const {\n        events,\n        internal\n      } = store.getState();\n      if ((_internal$lastEvent = internal.lastEvent) != null && _internal$lastEvent.current && events.handlers) events.handlers.onPointerMove(internal.lastEvent.current);\n    },\n    connect: (target) => {\n      var _events$handlers;\n      const {\n        set,\n        events\n      } = store.getState();\n      events.disconnect == null ? void 0 : events.disconnect();\n      set((state) => ({\n        events: __spreadProps(__spreadValues({}, state.events), {\n          connected: target\n        })\n      }));\n      Object.entries((_events$handlers = events.handlers) != null ? _events$handlers : []).forEach(([name, event]) => {\n        const [eventName, passive] = DOM_EVENTS[name];\n        target.addEventListener(eventName, event, {\n          passive\n        });\n      });\n    },\n    disconnect: () => {\n      const {\n        set,\n        events\n      } = store.getState();\n      if (events.connected) {\n        var _events$handlers2;\n        Object.entries((_events$handlers2 = events.handlers) != null ? _events$handlers2 : []).forEach(([name, event]) => {\n          if (events && events.connected instanceof HTMLElement) {\n            const [eventName] = DOM_EVENTS[name];\n            events.connected.removeEventListener(eventName, event);\n          }\n        });\n        set((state) => ({\n          events: __spreadProps(__spreadValues({}, state.events), {\n            connected: void 0\n          })\n        }));\n      }\n    }\n  };\n}\n\n// ../../node_modules/.pnpm/@react-three+fiber@8.17.10_react-dom@18.3.1_react@18.3.1_three@0.169.0/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js\nimport * as React3 from \"react\";\nimport { useState as useState4, useRef as useRef5, useEffect as useEffect4, useMemo as useMemo4 } from \"react\";\n\n// ../../node_modules/.pnpm/debounce@1.2.1/node_modules/debounce/index.js\nvar exports4 = {};\nvar module4 = {\n  get exports() {\n    return exports4;\n  },\n  set exports(value) {\n    exports4 = value;\n  }\n};\nfunction debounce(func, wait, immediate) {\n  var timeout, args, context2, timestamp, result;\n  if (null == wait) wait = 100;\n  function later() {\n    var last = Date.now() - timestamp;\n    if (last < wait && last >= 0) {\n      timeout = setTimeout(later, wait - last);\n    } else {\n      timeout = null;\n      if (!immediate) {\n        result = func.apply(context2, args);\n        context2 = args = null;\n      }\n    }\n  }\n  ;\n  var debounced = function() {\n    context2 = this;\n    args = arguments;\n    timestamp = Date.now();\n    var callNow = immediate && !timeout;\n    if (!timeout) timeout = setTimeout(later, wait);\n    if (callNow) {\n      result = func.apply(context2, args);\n      context2 = args = null;\n    }\n    return result;\n  };\n  debounced.clear = function() {\n    if (timeout) {\n      clearTimeout(timeout);\n      timeout = null;\n    }\n  };\n  debounced.flush = function() {\n    if (timeout) {\n      result = func.apply(context2, args);\n      context2 = args = null;\n      clearTimeout(timeout);\n      timeout = null;\n    }\n  };\n  return debounced;\n}\ndebounce.debounce = debounce;\nmodule4.exports = debounce;\nvar debounce_default = module4.exports;\n\n// ../../node_modules/.pnpm/its-fine@1.0.8_react@18.3.1/node_modules/its-fine/dist/index.js\nimport * as React2 from \"react\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues2 = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps2 = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction traverseFiber(fiber, ascending, selector) {\n  if (!fiber)\n    return;\n  if (selector(fiber) === true)\n    return fiber;\n  let child = ascending ? fiber.return : fiber.child;\n  while (child) {\n    const match = traverseFiber(child, ascending, selector);\n    if (match)\n      return match;\n    child = ascending ? null : child.sibling;\n  }\n}\nfunction wrapContext(context2) {\n  try {\n    return Object.defineProperties(context2, {\n      _currentRenderer: {\n        get() {\n          return null;\n        },\n        set() {\n        }\n      },\n      _currentRenderer2: {\n        get() {\n          return null;\n        },\n        set() {\n        }\n      }\n    });\n  } catch (_) {\n    return context2;\n  }\n}\nvar FiberContext = wrapContext(React2.createContext(null));\nvar FiberProvider = class extends React2.Component {\n  render() {\n    return /* @__PURE__ */ React2.createElement(FiberContext.Provider, {\n      value: this._reactInternals\n    }, this.props.children);\n  }\n};\nvar { ReactCurrentOwner, ReactCurrentDispatcher } = React2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\nfunction useFiber() {\n  const root = React2.useContext(FiberContext);\n  if (!root)\n    throw new Error(\"its-fine: useFiber must be called within a <FiberProvider />!\");\n  const id = React2.useId();\n  const fiber = React2.useMemo(\n    () => {\n      var _a;\n      return (_a = ReactCurrentOwner.current) != null ? _a : traverseFiber(root, false, (node) => {\n        let state = node.memoizedState;\n        while (state) {\n          if (state.memoizedState === id)\n            return true;\n          state = state.next;\n        }\n      });\n    },\n    [root, id]\n  );\n  return fiber;\n}\nfunction useContextBridge() {\n  var _a, _b;\n  const fiber = useFiber();\n  const [contexts] = React2.useState(() => /* @__PURE__ */ new Map());\n  contexts.clear();\n  let node = fiber;\n  while (node) {\n    const context2 = (_a = node.type) == null ? void 0 : _a._context;\n    if (context2 && context2 !== FiberContext && !contexts.has(context2)) {\n      contexts.set(context2, (_b = ReactCurrentDispatcher.current) == null ? void 0 : _b.readContext(wrapContext(context2)));\n    }\n    node = node.return;\n  }\n  return React2.useMemo(\n    () => Array.from(contexts.keys()).reduce(\n      (Prev, context2) => (props) => /* @__PURE__ */ React2.createElement(Prev, null, /* @__PURE__ */ React2.createElement(context2.Provider, __spreadProps2(__spreadValues2({}, props), {\n        value: contexts.get(context2)\n      }))),\n      (props) => /* @__PURE__ */ React2.createElement(FiberProvider, __spreadValues2({}, props))\n    ),\n    [contexts]\n  );\n}\n\n// ../../node_modules/.pnpm/@react-three+fiber@8.17.10_react-dom@18.3.1_react@18.3.1_three@0.169.0/node_modules/@react-three/fiber/dist/react-three-fiber.esm.js\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nimport \"react-reconciler/constants\";\nimport \"react-reconciler\";\nfunction useMeasure({\n  debounce: debounce2,\n  scroll,\n  polyfill,\n  offsetSize\n} = {\n  debounce: 0,\n  scroll: false,\n  offsetSize: false\n}) {\n  const ResizeObserver = polyfill || typeof window !== \"undefined\" && window.ResizeObserver;\n  const [bounds, set] = useState4({\n    left: 0,\n    top: 0,\n    width: 0,\n    height: 0,\n    bottom: 0,\n    right: 0,\n    x: 0,\n    y: 0\n  });\n  if (!ResizeObserver) {\n    bounds.width = 1280;\n    bounds.height = 800;\n    return [() => {\n    }, bounds, () => {\n    }];\n  }\n  const state = useRef5({\n    element: null,\n    scrollContainers: null,\n    resizeObserver: null,\n    lastBounds: bounds,\n    orientationHandler: null\n  });\n  const scrollDebounce = debounce2 ? typeof debounce2 === \"number\" ? debounce2 : debounce2.scroll : null;\n  const resizeDebounce = debounce2 ? typeof debounce2 === \"number\" ? debounce2 : debounce2.resize : null;\n  const mounted = useRef5(false);\n  useEffect4(() => {\n    mounted.current = true;\n    return () => void (mounted.current = false);\n  });\n  const [forceRefresh, resizeChange, scrollChange] = useMemo4(() => {\n    const callback = () => {\n      if (!state.current.element) return;\n      const {\n        left,\n        top,\n        width,\n        height,\n        bottom,\n        right,\n        x,\n        y: y2\n      } = state.current.element.getBoundingClientRect();\n      const size = {\n        left,\n        top,\n        width,\n        height,\n        bottom,\n        right,\n        x,\n        y: y2\n      };\n      if (state.current.element instanceof HTMLElement && offsetSize) {\n        size.height = state.current.element.offsetHeight;\n        size.width = state.current.element.offsetWidth;\n      }\n      Object.freeze(size);\n      if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n    };\n    return [callback, resizeDebounce ? debounce_default(callback, resizeDebounce) : callback, scrollDebounce ? debounce_default(callback, scrollDebounce) : callback];\n  }, [set, offsetSize, scrollDebounce, resizeDebounce]);\n  function removeListeners() {\n    if (state.current.scrollContainers) {\n      state.current.scrollContainers.forEach((element) => element.removeEventListener(\"scroll\", scrollChange, true));\n      state.current.scrollContainers = null;\n    }\n    if (state.current.resizeObserver) {\n      state.current.resizeObserver.disconnect();\n      state.current.resizeObserver = null;\n    }\n    if (state.current.orientationHandler) {\n      if (\"orientation\" in screen && \"removeEventListener\" in screen.orientation) {\n        screen.orientation.removeEventListener(\"change\", state.current.orientationHandler);\n      } else if (\"onorientationchange\" in window) {\n        window.removeEventListener(\"orientationchange\", state.current.orientationHandler);\n      }\n    }\n  }\n  function addListeners() {\n    var _state$current$resize;\n    if (!state.current.element) return;\n    state.current.resizeObserver = new ResizeObserver(resizeChange);\n    (_state$current$resize = state.current.resizeObserver) == null ? void 0 : _state$current$resize.observe(state.current.element);\n    if (scroll && state.current.scrollContainers) {\n      state.current.scrollContainers.forEach((scrollContainer) => scrollContainer.addEventListener(\"scroll\", scrollChange, {\n        capture: true,\n        passive: true\n      }));\n    }\n    state.current.orientationHandler = () => {\n      scrollChange();\n    };\n    if (\"orientation\" in screen && \"addEventListener\" in screen.orientation) {\n      screen.orientation.addEventListener(\"change\", state.current.orientationHandler);\n    } else if (\"onorientationchange\" in window) {\n      window.addEventListener(\"orientationchange\", state.current.orientationHandler);\n    }\n  }\n  const ref = (node) => {\n    if (!node || node === state.current.element) return;\n    removeListeners();\n    state.current.element = node;\n    state.current.scrollContainers = findScrollContainers(node);\n    addListeners();\n  };\n  useOnWindowScroll(scrollChange, Boolean(scroll));\n  useOnWindowResize(resizeChange);\n  useEffect4(() => {\n    removeListeners();\n    addListeners();\n  }, [scroll, scrollChange, resizeChange]);\n  useEffect4(() => removeListeners, []);\n  return [ref, bounds, forceRefresh];\n}\nfunction useOnWindowResize(onWindowResize) {\n  useEffect4(() => {\n    const cb = onWindowResize;\n    window.addEventListener(\"resize\", cb);\n    return () => void window.removeEventListener(\"resize\", cb);\n  }, [onWindowResize]);\n}\nfunction useOnWindowScroll(onScroll, enabled) {\n  useEffect4(() => {\n    if (enabled) {\n      const cb = onScroll;\n      window.addEventListener(\"scroll\", cb, {\n        capture: true,\n        passive: true\n      });\n      return () => void window.removeEventListener(\"scroll\", cb, true);\n    }\n  }, [onScroll, enabled]);\n}\nfunction findScrollContainers(element) {\n  const result = [];\n  if (!element || element === document.body) return result;\n  const {\n    overflow,\n    overflowX,\n    overflowY\n  } = window.getComputedStyle(element);\n  if ([overflow, overflowX, overflowY].some((prop) => prop === \"auto\" || prop === \"scroll\")) result.push(element);\n  return [...result, ...findScrollContainers(element.parentElement)];\n}\nvar keys = [\"x\", \"y\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\"];\nvar areBoundsEqual = (a, b) => keys.every((key) => a[key] === b[key]);\nvar CanvasImpl = /* @__PURE__ */ React3.forwardRef(function Canvas(_a, forwardedRef) {\n  var _b = _a, {\n    children,\n    fallback,\n    resize,\n    style,\n    gl,\n    events = createPointerEvents,\n    eventSource,\n    eventPrefix,\n    shadows,\n    linear,\n    flat,\n    legacy,\n    orthographic,\n    frameloop,\n    dpr,\n    performance: performance2,\n    raycaster,\n    camera,\n    scene,\n    onPointerMissed,\n    onCreated\n  } = _b, props = __objRest(_b, [\n    \"children\",\n    \"fallback\",\n    \"resize\",\n    \"style\",\n    \"gl\",\n    \"events\",\n    \"eventSource\",\n    \"eventPrefix\",\n    \"shadows\",\n    \"linear\",\n    \"flat\",\n    \"legacy\",\n    \"orthographic\",\n    \"frameloop\",\n    \"dpr\",\n    \"performance\",\n    \"raycaster\",\n    \"camera\",\n    \"scene\",\n    \"onPointerMissed\",\n    \"onCreated\"\n  ]);\n  React3.useMemo(() => extend(three_module_exports), []);\n  const Bridge = useContextBridge();\n  const [containerRef, containerRect] = useMeasure(__spreadValues({\n    scroll: true,\n    debounce: {\n      scroll: 50,\n      resize: 0\n    }\n  }, resize));\n  const canvasRef = React3.useRef(null);\n  const divRef = React3.useRef(null);\n  React3.useImperativeHandle(forwardedRef, () => canvasRef.current);\n  const handlePointerMissed = useMutableCallback(onPointerMissed);\n  const [block, setBlock] = React3.useState(false);\n  const [error, setError] = React3.useState(false);\n  if (block) throw block;\n  if (error) throw error;\n  const root = React3.useRef(null);\n  useIsomorphicLayoutEffect2(() => {\n    const canvas = canvasRef.current;\n    if (containerRect.width > 0 && containerRect.height > 0 && canvas) {\n      if (!root.current) root.current = createRoot(canvas);\n      root.current.configure({\n        gl,\n        events,\n        shadows,\n        linear,\n        flat,\n        legacy,\n        orthographic,\n        frameloop,\n        dpr,\n        performance: performance2,\n        raycaster,\n        camera,\n        scene,\n        size: containerRect,\n        // Pass mutable reference to onPointerMissed so it's free to update\n        onPointerMissed: (...args) => handlePointerMissed.current == null ? void 0 : handlePointerMissed.current(...args),\n        onCreated: (state) => {\n          state.events.connect == null ? void 0 : state.events.connect(eventSource ? isRef(eventSource) ? eventSource.current : eventSource : divRef.current);\n          if (eventPrefix) {\n            state.setEvents({\n              compute: (event, state2) => {\n                const x = event[eventPrefix + \"X\"];\n                const y2 = event[eventPrefix + \"Y\"];\n                state2.pointer.set(x / state2.size.width * 2 - 1, -(y2 / state2.size.height) * 2 + 1);\n                state2.raycaster.setFromCamera(state2.pointer, state2.camera);\n              }\n            });\n          }\n          onCreated == null ? void 0 : onCreated(state);\n        }\n      });\n      root.current.render(/* @__PURE__ */ jsx2(Bridge, {\n        children: /* @__PURE__ */ jsx2(ErrorBoundary, {\n          set: setError,\n          children: /* @__PURE__ */ jsx2(React3.Suspense, {\n            fallback: /* @__PURE__ */ jsx2(Block, {\n              set: setBlock\n            }),\n            children\n          })\n        })\n      }));\n    }\n  });\n  React3.useEffect(() => {\n    const canvas = canvasRef.current;\n    if (canvas) return () => unmountComponentAtNode(canvas);\n  }, []);\n  const pointerEvents = eventSource ? \"none\" : \"auto\";\n  return /* @__PURE__ */ jsx2(\"div\", __spreadProps(__spreadValues({\n    ref: divRef,\n    style: __spreadValues({\n      position: \"relative\",\n      width: \"100%\",\n      height: \"100%\",\n      overflow: \"hidden\",\n      pointerEvents\n    }, style)\n  }, props), {\n    children: /* @__PURE__ */ jsx2(\"div\", {\n      ref: containerRef,\n      style: {\n        width: \"100%\",\n        height: \"100%\"\n      },\n      children: /* @__PURE__ */ jsx2(\"canvas\", {\n        ref: canvasRef,\n        style: {\n          display: \"block\"\n        },\n        children: fallback\n      })\n    })\n  }));\n});\nvar Canvas2 = /* @__PURE__ */ React3.forwardRef(function CanvasWrapper(props, ref) {\n  return /* @__PURE__ */ jsx2(FiberProvider, {\n    children: /* @__PURE__ */ jsx2(CanvasImpl, __spreadProps(__spreadValues({}, props), {\n      ref\n    }))\n  });\n});\n\nexport {\n  extend,\n  useThree,\n  useFrame,\n  useLoader,\n  Canvas2 as Canvas\n};\n/*! Bundled license information:\n\nscheduler/cjs/scheduler.development.js:\n  (**\n   * @license React\n   * scheduler.development.js\n   *\n   * Copyright (c) Facebook, Inc. and its affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n\nscheduler/cjs/scheduler.production.min.js:\n  (**\n   * @license React\n   * scheduler.production.min.js\n   *\n   * Copyright (c) Facebook, Inc. and its affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n*/\n","// src/consts.ts\nvar canvasProps = (pixelDensity, fov) => ({\n  dpr: pixelDensity,\n  //device pixel ratio - 1 default and fast, 2 detailed and slow\n  // mode: 'concurrent' as 'legacy' | 'blocking' | 'concurrent',\n  camera: { fov },\n  // could be replaced with zoom or distance?\n  linear: true,\n  //sRGBEncoding\n  flat: true,\n  //ACESFilmicToneMapping\n  gl: { preserveDrawingBuffer: true }\n  // to capture the canvas (Figma Plugin)\n});\nvar links = [\n  {\n    title: \"Figma  \\u2192\",\n    link: \"https://www.figma.com/community/plugin/958202093377483021/Mesh-Gradient\"\n  },\n  {\n    title: \"React  \\u2192\",\n    link: \"https://codesandbox.io/s/optimistic-benji-pw64i\"\n  },\n  {\n    title: \"Framer  \\u2192\",\n    link: \"https://framer.com/projects/ShaderGradient--7fmA9c0AApv3vyjCPpS3-emceg\"\n  }\n];\nvar defaultPlanesZoom = 1;\nvar defaultSphereDistance = 14;\nvar zoomOutPlanes = { zoom: 1, distance: 14 };\nvar zoomOutSphere = { zoom: 5, distance: 14 };\nvar aboutAngles = [190, 140];\nvar aboutPositions = [0, 10, 0];\nvar aboutRotations = [0, 10, 50];\nvar aboutMobilePositions = [0, 20, 0];\nvar hdrBase = \"https://ruucm.github.io/shadergradient/shadergradient@1.0.0\";\nvar mainLoading = {\n  // mesh animation\n  meshDelay: 0,\n  meshDur: 0,\n  // rotation animation\n  rotDelay: 1.7,\n  rotDur: 1,\n  // position animation\n  posDelay: 1.3,\n  posDur: 2.2,\n  logoTransition: 3.1,\n  // Timing for the logo\n  text: 2.5,\n  // Timing for the preset title appearing\n  // mesh\n  to: 1\n  // end factor (0 -> 1) for the mesh noisestrength\n};\nvar envBasePath = \"https://ruucm.github.io/shadergradient/shadergradient@1.0.0/hdr/\";\nvar STRIPE_BUY_YEARLY_URL = \"https://buy.stripe.com/00g5kV0g553QcjC9AB\";\nvar STRIPE_BUY_MONTHLY_URL = \"https://buy.stripe.com/fZe5kVd2R53QcjC7su\";\nvar STRIPE_BILLING_URL = \"https://billing.stripe.com/p/login/aEU8Audql6LagDe9AA\";\n\nexport {\n  canvasProps,\n  links,\n  defaultPlanesZoom,\n  defaultSphereDistance,\n  zoomOutPlanes,\n  zoomOutSphere,\n  aboutAngles,\n  aboutPositions,\n  aboutRotations,\n  aboutMobilePositions,\n  hdrBase,\n  mainLoading,\n  envBasePath,\n  STRIPE_BUY_YEARLY_URL,\n  STRIPE_BUY_MONTHLY_URL,\n  STRIPE_BILLING_URL\n};\n","import {\n  Canvas\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  ShaderChunk\n} from \"./chunk-M5G6JQMQ.mjs\";\nimport {\n  canvasProps\n} from \"./chunk-SX7QUDKQ.mjs\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// src/ShaderGradientCanvas.tsx\nimport { useEffect } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction ShaderGradientCanvas({\n  children,\n  style = {},\n  pixelDensity = 1,\n  fov = 45,\n  pointerEvents,\n  className\n}) {\n  useShaderChunkFix();\n  return /* @__PURE__ */ jsx(\n    Canvas,\n    __spreadProps(__spreadValues({\n      style: __spreadProps(__spreadValues({}, style), { pointerEvents }),\n      resize: { offsetSize: true },\n      className\n    }, canvasProps(pixelDensity, fov)), {\n      children\n    })\n  );\n}\nfunction useShaderChunkFix() {\n  useEffect(() => {\n    ShaderChunk[\"uv2_pars_vertex\"] = ``;\n    ShaderChunk[\"uv2_vertex\"] = ``;\n    ShaderChunk[\"uv2_pars_fragment\"] = ``;\n    ShaderChunk[\"encodings_fragment\"] = ``;\n  }, []);\n}\n\nexport {\n  ShaderGradientCanvas\n};\n","import {\n  BufferGeometry,\n  Float32BufferAttribute,\n  Mesh,\n  OrthographicCamera\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/postprocessing/Pass.js\nvar Pass = class {\n  constructor() {\n    this.enabled = true;\n    this.needsSwap = true;\n    this.clear = false;\n    this.renderToScreen = false;\n  }\n  setSize() {\n  }\n  render() {\n    console.error(\"THREE.Pass: .render() must be implemented in derived pass.\");\n  }\n};\nvar _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);\nvar _geometry = new BufferGeometry();\n_geometry.setAttribute(\n  \"position\",\n  new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)\n);\n_geometry.setAttribute(\"uv\", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));\nvar FullScreenQuad = class {\n  constructor(material) {\n    this._mesh = new Mesh(_geometry, material);\n  }\n  dispose() {\n    this._mesh.geometry.dispose();\n  }\n  render(renderer) {\n    renderer.render(this._mesh, _camera);\n  }\n  get material() {\n    return this._mesh.material;\n  }\n  set material(value) {\n    this._mesh.material = value;\n  }\n};\n\nexport {\n  Pass,\n  FullScreenQuad\n};\n","import {\n  Pass\n} from \"./chunk-C4TFB3WJ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/postprocessing/MaskPass.js\nvar MaskPass = class extends Pass {\n  constructor(scene, camera) {\n    super();\n    this.scene = scene;\n    this.camera = camera;\n    this.clear = true;\n    this.needsSwap = false;\n    this.inverse = false;\n  }\n  render(renderer, writeBuffer, readBuffer) {\n    const context = renderer.getContext();\n    const state = renderer.state;\n    state.buffers.color.setMask(false);\n    state.buffers.depth.setMask(false);\n    state.buffers.color.setLocked(true);\n    state.buffers.depth.setLocked(true);\n    let writeValue, clearValue;\n    if (this.inverse) {\n      writeValue = 0;\n      clearValue = 1;\n    } else {\n      writeValue = 1;\n      clearValue = 0;\n    }\n    state.buffers.stencil.setTest(true);\n    state.buffers.stencil.setOp(\n      context.REPLACE,\n      context.REPLACE,\n      context.REPLACE\n    );\n    state.buffers.stencil.setFunc(context.ALWAYS, writeValue, 4294967295);\n    state.buffers.stencil.setClear(clearValue);\n    state.buffers.stencil.setLocked(true);\n    renderer.setRenderTarget(readBuffer);\n    if (this.clear) renderer.clear();\n    renderer.render(this.scene, this.camera);\n    renderer.setRenderTarget(writeBuffer);\n    if (this.clear) renderer.clear();\n    renderer.render(this.scene, this.camera);\n    state.buffers.color.setLocked(false);\n    state.buffers.depth.setLocked(false);\n    state.buffers.stencil.setLocked(false);\n    state.buffers.stencil.setFunc(context.EQUAL, 1, 4294967295);\n    state.buffers.stencil.setOp(context.KEEP, context.KEEP, context.KEEP);\n    state.buffers.stencil.setLocked(true);\n  }\n};\nvar ClearMaskPass = class extends Pass {\n  constructor() {\n    super();\n    this.needsSwap = false;\n  }\n  render(renderer) {\n    renderer.state.buffers.stencil.setLocked(false);\n    renderer.state.buffers.stencil.setTest(false);\n  }\n};\n\nexport {\n  MaskPass,\n  ClearMaskPass\n};\n","import {\n  FullScreenQuad,\n  Pass\n} from \"./chunk-C4TFB3WJ.mjs\";\nimport {\n  ShaderMaterial,\n  UniformsUtils\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/postprocessing/ShaderPass.js\nvar ShaderPass = class extends Pass {\n  constructor(shader, textureID) {\n    super();\n    this.textureID = textureID !== void 0 ? textureID : \"tDiffuse\";\n    if (shader instanceof ShaderMaterial) {\n      this.uniforms = shader.uniforms;\n      this.material = shader;\n    } else if (shader) {\n      this.uniforms = UniformsUtils.clone(shader.uniforms);\n      this.material = new ShaderMaterial({\n        defines: Object.assign({}, shader.defines),\n        uniforms: this.uniforms,\n        vertexShader: shader.vertexShader,\n        fragmentShader: shader.fragmentShader\n      });\n    }\n    this.fsQuad = new FullScreenQuad(this.material);\n  }\n  render(renderer, writeBuffer, readBuffer) {\n    if (this.uniforms[this.textureID]) {\n      this.uniforms[this.textureID].value = readBuffer.texture;\n    }\n    this.fsQuad.material = this.material;\n    if (this.renderToScreen) {\n      renderer.setRenderTarget(null);\n      this.fsQuad.render(renderer);\n    } else {\n      renderer.setRenderTarget(writeBuffer);\n      if (this.clear)\n        renderer.clear(\n          renderer.autoClearColor,\n          renderer.autoClearDepth,\n          renderer.autoClearStencil\n        );\n      this.fsQuad.render(renderer);\n    }\n  }\n};\n\nexport {\n  ShaderPass\n};\n","// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/shaders/CopyShader.js\nvar CopyShader = {\n  uniforms: {\n    tDiffuse: { value: null },\n    opacity: { value: 1 }\n  },\n  vertexShader: (\n    /* glsl */\n    `\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}`\n  ),\n  fragmentShader: (\n    /* glsl */\n    `\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}`\n  )\n};\n\nexport {\n  CopyShader\n};\n","import {\n  ClearMaskPass,\n  MaskPass\n} from \"./chunk-2FDB6CTQ.mjs\";\nimport {\n  ShaderPass\n} from \"./chunk-Z2ZIK3HP.mjs\";\nimport {\n  CopyShader\n} from \"./chunk-USQFKVUW.mjs\";\nimport {\n  BufferGeometry,\n  Clock,\n  Float32BufferAttribute,\n  LinearFilter,\n  Mesh,\n  OrthographicCamera,\n  RGBAFormat,\n  Vector2,\n  WebGLRenderTarget\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/postprocessing/EffectComposer.js\nvar EffectComposer = class {\n  constructor(renderer, renderTarget) {\n    this.renderer = renderer;\n    if (renderTarget === void 0) {\n      const parameters = {\n        minFilter: LinearFilter,\n        magFilter: LinearFilter,\n        format: RGBAFormat\n      };\n      const size = renderer.getSize(new Vector2());\n      this._pixelRatio = renderer.getPixelRatio();\n      this._width = size.width;\n      this._height = size.height;\n      renderTarget = new WebGLRenderTarget(\n        this._width * this._pixelRatio,\n        this._height * this._pixelRatio,\n        parameters\n      );\n      renderTarget.texture.name = \"EffectComposer.rt1\";\n    } else {\n      this._pixelRatio = 1;\n      this._width = renderTarget.width;\n      this._height = renderTarget.height;\n    }\n    this.renderTarget1 = renderTarget;\n    this.renderTarget2 = renderTarget.clone();\n    this.renderTarget2.texture.name = \"EffectComposer.rt2\";\n    this.writeBuffer = this.renderTarget1;\n    this.readBuffer = this.renderTarget2;\n    this.renderToScreen = true;\n    this.passes = [];\n    if (CopyShader === void 0) {\n      console.error(\"THREE.EffectComposer relies on CopyShader\");\n    }\n    if (ShaderPass === void 0) {\n      console.error(\"THREE.EffectComposer relies on ShaderPass\");\n    }\n    this.copyPass = new ShaderPass(CopyShader);\n    this.clock = new Clock();\n  }\n  swapBuffers() {\n    const tmp = this.readBuffer;\n    this.readBuffer = this.writeBuffer;\n    this.writeBuffer = tmp;\n  }\n  addPass(pass) {\n    this.passes.push(pass);\n    pass.setSize(\n      this._width * this._pixelRatio,\n      this._height * this._pixelRatio\n    );\n  }\n  insertPass(pass, index) {\n    this.passes.splice(index, 0, pass);\n    pass.setSize(\n      this._width * this._pixelRatio,\n      this._height * this._pixelRatio\n    );\n  }\n  removePass(pass) {\n    const index = this.passes.indexOf(pass);\n    if (index !== -1) {\n      this.passes.splice(index, 1);\n    }\n  }\n  isLastEnabledPass(passIndex) {\n    for (let i = passIndex + 1; i < this.passes.length; i++) {\n      if (this.passes[i].enabled) {\n        return false;\n      }\n    }\n    return true;\n  }\n  render(deltaTime) {\n    if (deltaTime === void 0) {\n      deltaTime = this.clock.getDelta();\n    }\n    const currentRenderTarget = this.renderer.getRenderTarget();\n    let maskActive = false;\n    for (let i = 0, il = this.passes.length; i < il; i++) {\n      const pass = this.passes[i];\n      if (pass.enabled === false) continue;\n      pass.renderToScreen = this.renderToScreen && this.isLastEnabledPass(i);\n      pass.render(\n        this.renderer,\n        this.writeBuffer,\n        this.readBuffer,\n        deltaTime,\n        maskActive\n      );\n      if (pass.needsSwap) {\n        if (maskActive) {\n          const context = this.renderer.getContext();\n          const stencil = this.renderer.state.buffers.stencil;\n          stencil.setFunc(context.NOTEQUAL, 1, 4294967295);\n          this.copyPass.render(\n            this.renderer,\n            this.writeBuffer,\n            this.readBuffer,\n            deltaTime\n          );\n          stencil.setFunc(context.EQUAL, 1, 4294967295);\n        }\n        this.swapBuffers();\n      }\n      if (MaskPass !== void 0) {\n        if (pass instanceof MaskPass) {\n          maskActive = true;\n        } else if (pass instanceof ClearMaskPass) {\n          maskActive = false;\n        }\n      }\n    }\n    this.renderer.setRenderTarget(currentRenderTarget);\n  }\n  reset(renderTarget) {\n    if (renderTarget === void 0) {\n      const size = this.renderer.getSize(new Vector2());\n      this._pixelRatio = this.renderer.getPixelRatio();\n      this._width = size.width;\n      this._height = size.height;\n      renderTarget = this.renderTarget1.clone();\n      renderTarget.setSize(\n        this._width * this._pixelRatio,\n        this._height * this._pixelRatio\n      );\n    }\n    this.renderTarget1.dispose();\n    this.renderTarget2.dispose();\n    this.renderTarget1 = renderTarget;\n    this.renderTarget2 = renderTarget.clone();\n    this.writeBuffer = this.renderTarget1;\n    this.readBuffer = this.renderTarget2;\n  }\n  setSize(width, height) {\n    this._width = width;\n    this._height = height;\n    const effectiveWidth = this._width * this._pixelRatio;\n    const effectiveHeight = this._height * this._pixelRatio;\n    this.renderTarget1.setSize(effectiveWidth, effectiveHeight);\n    this.renderTarget2.setSize(effectiveWidth, effectiveHeight);\n    for (let i = 0; i < this.passes.length; i++) {\n      this.passes[i].setSize(effectiveWidth, effectiveHeight);\n    }\n  }\n  setPixelRatio(pixelRatio) {\n    this._pixelRatio = pixelRatio;\n    this.setSize(this._width, this._height);\n  }\n};\nvar Pass = class {\n  constructor() {\n    this.enabled = true;\n    this.needsSwap = true;\n    this.clear = false;\n    this.renderToScreen = false;\n  }\n  setSize() {\n  }\n  render() {\n    console.error(\"THREE.Pass: .render() must be implemented in derived pass.\");\n  }\n};\nvar _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);\nvar _geometry = new BufferGeometry();\n_geometry.setAttribute(\n  \"position\",\n  new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)\n);\n_geometry.setAttribute(\"uv\", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));\nvar FullScreenQuad = class {\n  constructor(material) {\n    this._mesh = new Mesh(_geometry, material);\n  }\n  dispose() {\n    this._mesh.geometry.dispose();\n  }\n  render(renderer) {\n    renderer.render(this._mesh, _camera);\n  }\n  get material() {\n    return this._mesh.material;\n  }\n  set material(value) {\n    this._mesh.material = value;\n  }\n};\n\nexport {\n  EffectComposer,\n  Pass,\n  FullScreenQuad\n};\n","import {\n  Pass\n} from \"./chunk-C4TFB3WJ.mjs\";\nimport {\n  Color\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/from-threejs/postprocessing/RenderPass.js\nvar RenderPass = class extends Pass {\n  constructor(scene, camera, overrideMaterial, clearColor, clearAlpha) {\n    super();\n    this.scene = scene;\n    this.camera = camera;\n    this.overrideMaterial = overrideMaterial;\n    this.clearColor = clearColor;\n    this.clearAlpha = clearAlpha !== void 0 ? clearAlpha : 0;\n    this.clear = true;\n    this.clearDepth = false;\n    this.needsSwap = false;\n    this._oldClearColor = new Color();\n  }\n  render(renderer, writeBuffer, readBuffer) {\n    const oldAutoClear = renderer.autoClear;\n    renderer.autoClear = false;\n    let oldClearAlpha, oldOverrideMaterial;\n    if (this.overrideMaterial !== void 0) {\n      oldOverrideMaterial = this.scene.overrideMaterial;\n      this.scene.overrideMaterial = this.overrideMaterial;\n    }\n    if (this.clearColor) {\n      renderer.getClearColor(this._oldClearColor);\n      oldClearAlpha = renderer.getClearAlpha();\n      renderer.setClearColor(this.clearColor, this.clearAlpha);\n    }\n    if (this.clearDepth) {\n      renderer.clearDepth();\n    }\n    renderer.setRenderTarget(this.renderToScreen ? null : readBuffer);\n    if (this.clear)\n      renderer.clear(\n        renderer.autoClearColor,\n        renderer.autoClearDepth,\n        renderer.autoClearStencil\n      );\n    renderer.render(this.scene, this.camera);\n    if (this.clearColor) {\n      renderer.setClearColor(this._oldClearColor, oldClearAlpha);\n    }\n    if (this.overrideMaterial !== void 0) {\n      this.scene.overrideMaterial = oldOverrideMaterial;\n    }\n    renderer.autoClear = oldAutoClear;\n  }\n};\n\nexport {\n  RenderPass\n};\n","// src/ShaderGradient/PostProcessing/lib/pp/HalftoneShader.js\nvar HalftoneShader = {\n  uniforms: {\n    tDiffuse: { value: null },\n    shape: { value: 1 },\n    radius: { value: 2 },\n    rotateR: { value: Math.PI / 12 * 1 },\n    rotateG: { value: Math.PI / 12 * 2 },\n    rotateB: { value: Math.PI / 12 * 3 },\n    scatter: { value: 1 },\n    width: { value: 20 },\n    height: { value: 20 },\n    blending: { value: 1 },\n    blendingMode: { value: 1 },\n    greyscale: { value: false },\n    disable: { value: false }\n  },\n  vertexShader: (\n    /* glsl */\n    `\n\n\t\tvarying vec2 vUV;\n\t\tvarying vec3 vPosition;\n\n\t\tvoid main() {\n\n\t\t\tvUV = uv;\n\t\t\tvPosition = position;\n\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n\n\t\t}`\n  ),\n  fragmentShader: (\n    /* glsl */\n    `\n\n\t\t#define SQRT2_MINUS_ONE 0.41421356\n\t\t#define SQRT2_HALF_MINUS_ONE 0.20710678\n\t\t#define PI2 6.28318531\n\t\t#define SHAPE_DOT 1\n\t\t#define SHAPE_ELLIPSE 2\n\t\t#define SHAPE_LINE 3\n\t\t#define SHAPE_SQUARE 4\n\t\t#define BLENDING_LINEAR 1\n\t\t#define BLENDING_MULTIPLY 2\n\t\t#define BLENDING_ADD 3\n\t\t#define BLENDING_LIGHTER 4\n\t\t#define BLENDING_DARKER 5\n\t\tuniform sampler2D tDiffuse;\n\t\tuniform float radius;\n\t\tuniform float rotateR;\n\t\tuniform float rotateG;\n\t\tuniform float rotateB;\n\t\tuniform float scatter;\n\t\tuniform float width;\n\t\tuniform float height;\n\t\tuniform int shape;\n\t\tuniform bool disable;\n\t\tuniform float blending;\n\t\tuniform int blendingMode;\n\t\tvarying vec2 vUV;\n\t\tvarying vec3 vPosition;\n\t\tuniform bool greyscale;\n\t\tconst int samples = 8;\n\n\t\tfloat blend( float a, float b, float t ) {\n\n\t\t// linear blend\n\t\t\treturn a * ( 1.0 - t ) + b * t;\n\n\t\t}\n\n\t\tfloat hypot( float x, float y ) {\n\n\t\t// vector magnitude\n\t\t\treturn sqrt( x * x + y * y );\n\n\t\t}\n\n\t\tfloat rand( vec2 seed ){\n\n\t\t// get pseudo-random number\n\t\t\treturn fract( sin( dot( seed.xy, vec2( 12.9898, 78.233 ) ) ) * 43758.5453 );\n\n\t\t}\n\n\t\tfloat distanceToDotRadius( float channel, vec2 coord, vec2 normal, vec2 p, float angle, float rad_max ) {\n\n\t\t// apply shape-specific transforms\n\t\t\tfloat dist = hypot( coord.x - p.x, coord.y - p.y );\n\t\t\tfloat rad = channel;\n\n\t\t\tif ( shape == SHAPE_DOT ) {\n\n\t\t\t\trad = pow( abs( rad ), 1.125 ) * rad_max;\n\n\t\t\t} else if ( shape == SHAPE_ELLIPSE ) {\n\n\t\t\t\trad = pow( abs( rad ), 1.125 ) * rad_max;\n\n\t\t\t\tif ( dist != 0.0 ) {\n\t\t\t\t\tfloat dot_p = abs( ( p.x - coord.x ) / dist * normal.x + ( p.y - coord.y ) / dist * normal.y );\n\t\t\t\t\tdist = ( dist * ( 1.0 - SQRT2_HALF_MINUS_ONE ) ) + dot_p * dist * SQRT2_MINUS_ONE;\n\t\t\t\t}\n\n\t\t\t} else if ( shape == SHAPE_LINE ) {\n\n\t\t\t\trad = pow( abs( rad ), 1.5) * rad_max;\n\t\t\t\tfloat dot_p = ( p.x - coord.x ) * normal.x + ( p.y - coord.y ) * normal.y;\n\t\t\t\tdist = hypot( normal.x * dot_p, normal.y * dot_p );\n\n\t\t\t} else if ( shape == SHAPE_SQUARE ) {\n\n\t\t\t\tfloat theta = atan( p.y - coord.y, p.x - coord.x ) - angle;\n\t\t\t\tfloat sin_t = abs( sin( theta ) );\n\t\t\t\tfloat cos_t = abs( cos( theta ) );\n\t\t\t\trad = pow( abs( rad ), 1.4 );\n\t\t\t\trad = rad_max * ( rad + ( ( sin_t > cos_t ) ? rad - sin_t * rad : rad - cos_t * rad ) );\n\n\t\t\t}\n\n\t\t\treturn rad - dist;\n\n\t\t}\n\n\t\tstruct Cell {\n\n\t\t// grid sample positions\n\t\t\tvec2 normal;\n\t\t\tvec2 p1;\n\t\t\tvec2 p2;\n\t\t\tvec2 p3;\n\t\t\tvec2 p4;\n\t\t\tfloat samp2;\n\t\t\tfloat samp1;\n\t\t\tfloat samp3;\n\t\t\tfloat samp4;\n\n\t\t};\n\n\t\tvec4 getSample( vec2 point ) {\n\n\t\t// multi-sampled point\n\t\t\tvec4 tex = texture2D( tDiffuse, vec2( point.x / width, point.y / height ) );\n\t\t\tfloat base = rand( vec2( floor( point.x ), floor( point.y ) ) ) * PI2;\n\t\t\tfloat step = PI2 / float( samples );\n\t\t\t// float dist = radius * 0.66;\n\t\t\tfloat dist = radius * 0.0;\n\n\t\t\tfor ( int i = 0; i < samples; ++i ) {\n\n\t\t\t\tfloat r = base + step * float( i );\n\t\t\t\tvec2 coord = point + vec2( cos( r ) * dist, sin( r ) * dist );\n\t\t\t\ttex += texture2D( tDiffuse, vec2( coord.x / width, coord.y / height ) );\n\n\t\t\t}\n\n\t\t\ttex /= float( samples ) + 1.0;\n\t\t\treturn tex;\n\n\t\t}\n\n\t\tfloat getDotColour( Cell c, vec2 p, int channel, float angle, float aa ) {\n\n\t\t// get colour for given point\n\t\t\tfloat dist_c_1, dist_c_2, dist_c_3, dist_c_4, res;\n\n\t\t\tif ( channel == 0 ) {\n\n\t\t\t\tc.samp1 = getSample( c.p1 ).r;\n\t\t\t\tc.samp2 = getSample( c.p2 ).r;\n\t\t\t\tc.samp3 = getSample( c.p3 ).r;\n\t\t\t\tc.samp4 = getSample( c.p4 ).r;\n\n\t\t\t} else if (channel == 1) {\n\n\t\t\t\tc.samp1 = getSample( c.p1 ).g;\n\t\t\t\tc.samp2 = getSample( c.p2 ).g;\n\t\t\t\tc.samp3 = getSample( c.p3 ).g;\n\t\t\t\tc.samp4 = getSample( c.p4 ).g;\n\n\t\t\t} else {\n\n\t\t\t\tc.samp1 = getSample( c.p1 ).b;\n\t\t\t\tc.samp3 = getSample( c.p3 ).b;\n\t\t\t\tc.samp2 = getSample( c.p2 ).b;\n\t\t\t\tc.samp4 = getSample( c.p4 ).b;\n\n\t\t\t}\n\n\t\t\tdist_c_1 = distanceToDotRadius( c.samp1, c.p1, c.normal, p, angle, radius );\n\t\t\tdist_c_2 = distanceToDotRadius( c.samp2, c.p2, c.normal, p, angle, radius );\n\t\t\tdist_c_3 = distanceToDotRadius( c.samp3, c.p3, c.normal, p, angle, radius );\n\t\t\tdist_c_4 = distanceToDotRadius( c.samp4, c.p4, c.normal, p, angle, radius );\n\t\t\tres = ( dist_c_1 > 0.0 ) ? clamp( dist_c_1 / aa, 0.0, 1.0 ) : 0.0;\n\t\t\t// res = 0.0;\n\t\t\tres += ( dist_c_2 > 0.0 ) ? clamp( dist_c_2 / aa, 0.0, 1.0 ) : 0.0;\n\t\t\tres += ( dist_c_3 > 0.0 ) ? clamp( dist_c_3 / aa, 0.0, 1.0 ) : 0.0;\n\t\t\tres += ( dist_c_4 > 0.0 ) ? clamp( dist_c_4 / aa, 0.0, 1.0 ) : 0.0;\n\t\t\tres = clamp( res, 0.0, 1.0 );\n\n\t\t\treturn res;\n\t\t\t// return 2\n\n\t\t}\n\n\t\tCell getReferenceCell( vec2 p, vec2 origin, float grid_angle, float step ) {\n\n\t\t// get containing cell\n\t\t\tCell c;\n\n\t\t// calc grid\n\t\t\tvec2 n = vec2( cos( grid_angle ), sin( grid_angle ) );\n\t\t\tfloat threshold = step * 0.5;\n\t\t\tfloat dot_normal = n.x * ( p.x - origin.x ) + n.y * ( p.y - origin.y );\n\t\t\tfloat dot_line = -n.y * ( p.x - origin.x ) + n.x * ( p.y - origin.y );\n\t\t\tvec2 offset = vec2( n.x * dot_normal, n.y * dot_normal );\n\t\t\tfloat offset_normal = mod( hypot( offset.x, offset.y ), step );\n\t\t\tfloat normal_dir = ( dot_normal < 0.0 ) ? 1.0 : -1.0;\n\t\t\tfloat normal_scale = ( ( offset_normal < threshold ) ? -offset_normal : step - offset_normal ) * normal_dir;\n\t\t\tfloat offset_line = mod( hypot( ( p.x - offset.x ) - origin.x, ( p.y - offset.y ) - origin.y ), step );\n\t\t\tfloat line_dir = ( dot_line < 0.0 ) ? 1.0 : -1.0;\n\t\t\tfloat line_scale = ( ( offset_line < threshold ) ? -offset_line : step - offset_line ) * line_dir;\n\n\t\t// get closest corner\n\t\t\tc.normal = n;\n\t\t\tc.p1.x = p.x - n.x * normal_scale + n.y * line_scale;\n\t\t\tc.p1.y = p.y - n.y * normal_scale - n.x * line_scale;\n\n\t\t// scatter\n\t\t\tif ( scatter != 0.0 ) {\n\n\t\t\t\tfloat off_mag = scatter * threshold * 0.5;\n\t\t\t\tfloat off_angle = rand( vec2( floor( c.p1.x ), floor( c.p1.y ) ) ) * PI2;\n\t\t\t\tc.p1.x += cos( off_angle ) * off_mag;\n\t\t\t\tc.p1.y += sin( off_angle ) * off_mag;\n\n\t\t\t}\n\n\t\t// find corners\n\t\t\tfloat normal_step = normal_dir * ( ( offset_normal < threshold ) ? step : -step );\n\t\t\tfloat line_step = line_dir * ( ( offset_line < threshold ) ? step : -step );\n\t\t\tc.p2.x = c.p1.x - n.x * normal_step;\n\t\t\tc.p2.y = c.p1.y - n.y * normal_step;\n\t\t\tc.p3.x = c.p1.x + n.y * line_step;\n\t\t\tc.p3.y = c.p1.y - n.x * line_step;\n\t\t\tc.p4.x = c.p1.x - n.x * normal_step + n.y * line_step;\n\t\t\tc.p4.y = c.p1.y - n.y * normal_step - n.x * line_step;\n\n\t\t\treturn c;\n\n\t\t}\n\n\t\tfloat blendColour( float a, float b, float t ) {\n\n\t\t// blend colours\n\t\t\tif ( blendingMode == BLENDING_LINEAR ) {\n\t\t\t\treturn blend( a, b, 1.0 - t );\n\t\t\t} else if ( blendingMode == BLENDING_ADD ) {\n\t\t\t\treturn blend( a, min( 1.0, a + b ), t );\n\t\t\t} else if ( blendingMode == BLENDING_MULTIPLY ) {\n\t\t\t\treturn blend( a, max( 0.0, a * b ), t );\n\t\t\t} else if ( blendingMode == BLENDING_LIGHTER ) {\n\t\t\t\treturn blend( a, max( a, b ), t );\n\t\t\t} else if ( blendingMode == BLENDING_DARKER ) {\n\t\t\t\treturn blend( a, min( a, b ), t );\n\t\t\t} else {\n\t\t\t\treturn blend( a, b, 1.0 - t );\n\t\t\t}\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tif ( ! disable ) {\n\n\t\t// setup\n\t\t\t\tvec2 p = vec2( vUV.x * width, vUV.y * height ) - vec2(vPosition.x, vPosition.y) * 3.0; // - position values to remove black borders.\n\t\t\t\tvec2 origin = vec2( 0, 0 );\n\t\t\t\tfloat aa = ( radius < 2.5 ) ? radius * 0.5 : 1.25;\n\t\t\t\t// float aa = 0.0;\n\n\t\t// get channel samples\n\t\t\t\tCell cell_r = getReferenceCell( p, origin, rotateR, radius );\n\t\t\t\tCell cell_g = getReferenceCell( p, origin, rotateG, radius );\n\t\t\t\tCell cell_b = getReferenceCell( p, origin, rotateB, radius );\n\t\t\t\tfloat r = getDotColour( cell_r, p, 0, rotateR, aa );\n\t\t\t\tfloat g = getDotColour( cell_g, p, 1, rotateG, aa );\n\t\t\t\tfloat b = getDotColour( cell_b, p, 2, rotateB, aa );\n\n\t\t// blend with original\n\t\t\t\tvec4 colour = texture2D( tDiffuse, vUV );\n\t\t\t\t\n\t\t\t\t// add masking before blendColour\n\t\t\t\tif (colour.r == 0.0) {\n\t\t\t\t\tr = 0.0;\n\t\t\t\t} else {\n\t\t\t\t\tr = blendColour( r, colour.r, blending );\n\t\t\t\t}\n\n\t\t\t\tif (colour.g == 0.0) {\n\t\t\t\t\tg = 0.0;\n\t\t\t\t} else {\n\t\t\t\t\tg = blendColour( g, colour.g, blending );\n\t\t\t\t}\n\n\t\t\t\tif (colour.b == 0.0) {\n\t\t\t\t\tb = 0.0;\n\t\t\t\t} else {\n\t\t\t\t\tb = blendColour( b, colour.b, blending );\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\tif ( greyscale ) {\n\t\t\t\t\tr = g = b = (r + b + g) / 3.0;\n\t\t\t\t}\n\n\t\t\t\t// add alpha channel to each r, g, b colors\n\t\t\t\tvec4 vR;\n\t\t\t\tvec4 vG;\n\t\t\t\tvec4 vB;\n\t\n\t\t\t\t// apply transparent to outside of mesh\n\t\t\t\tif (r == 0.0 && colour.r == 0.0) {\n\t\t\t\t\tvR = vec4( 0, 0, 0, 0 );\n\t\t\t\t} else {\n\t\t\t\t\tvR = vec4( r, 0, 0, 1 );\n\t\t\t\t}\n\t\n\t\t\t\tif (g == 0.0 && colour.g == 0.0) {\n\t\t\t\t\tvG = vec4( 0, 0, 0, 0 );\n\t\t\t\t} else {\n\t\t\t\t\tvG = vec4( 0, g, 0, 1 );\n\t\t\t\t}\n\t\n\t\t\t\tif (b == 0.0 && colour.b == 0.0) {\n\t\t\t\t\tvB = vec4( 0, 0, 0, 0 );\n\t\t\t\t} else {\n\t\t\t\t\tvB = vec4( 0, 0, b, 1 );\n\t\t\t\t}\n\n\t\t\t\t// gl_FragColor = vec4( r, g, b, 1.0 );\n\t\t\t\tgl_FragColor = vR + vG + vB;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = texture2D( tDiffuse, vUV );\n\n\t\t\t}\n\n\t\t}`\n  )\n};\n\nexport {\n  HalftoneShader\n};\n","import {\n  BufferGeometry,\n  Float32BufferAttribute,\n  Mesh,\n  OrthographicCamera\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/Pass.js\nvar Pass = class {\n  constructor() {\n    this.enabled = true;\n    this.needsSwap = true;\n    this.clear = false;\n    this.renderToScreen = false;\n  }\n  setSize() {\n  }\n  render() {\n    console.error(\"THREE.Pass: .render() must be implemented in derived pass.\");\n  }\n};\nvar _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);\nvar _geometry = new BufferGeometry();\n_geometry.setAttribute(\n  \"position\",\n  new Float32BufferAttribute([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)\n);\n_geometry.setAttribute(\"uv\", new Float32BufferAttribute([0, 2, 0, 0, 2, 0], 2));\nvar FullScreenQuad = class {\n  constructor(material) {\n    this._mesh = new Mesh(_geometry, material);\n  }\n  dispose() {\n    this._mesh.geometry.dispose();\n  }\n  render(renderer) {\n    renderer.render(this._mesh, _camera);\n  }\n  get material() {\n    return this._mesh.material;\n  }\n  set material(value) {\n    this._mesh.material = value;\n  }\n};\n\nexport {\n  Pass,\n  FullScreenQuad\n};\n","// src/ShaderGradient/PostProcessing/lib/pp/blending/BlendFunction.js\nvar BlendFunction = {\n  SKIP: 0,\n  ADD: 1,\n  ALPHA: 2,\n  AVERAGE: 3,\n  COLOR_BURN: 4,\n  COLOR_DODGE: 5,\n  DARKEN: 6,\n  DIFFERENCE: 7,\n  EXCLUSION: 8,\n  LIGHTEN: 9,\n  MULTIPLY: 10,\n  DIVIDE: 11,\n  NEGATION: 12,\n  NORMAL: 13,\n  OVERLAY: 14,\n  REFLECT: 15,\n  SCREEN: 16,\n  SOFT_LIGHT: 17,\n  SUBTRACT: 18\n};\n\nexport {\n  BlendFunction\n};\n","import {\n  BlendFunction\n} from \"./chunk-4NRCS6EB.mjs\";\nimport {\n  EventDispatcher,\n  Uniform\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/add/shader.frag\nvar shader_default = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn min(x + y, 1.0) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/alpha/shader.frag\nvar shader_default2 = \"vec3 blend(const in vec3 x, const in vec3 y, const in float opacity) {\\n\\n\treturn y * opacity + x * (1.0 - opacity);\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tfloat a = min(y.a, opacity);\\n\\n\treturn vec4(blend(x.rgb, y.rgb, a), max(x.a, a));\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/average/shader.frag\nvar shader_default3 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn (x + y) * 0.5 * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/color-burn/shader.frag\nvar shader_default4 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (y == 0.0) ? y : max(1.0 - (1.0 - x) / y, 0.0);\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/color-dodge/shader.frag\nvar shader_default5 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (y == 1.0) ? y : min(x / (1.0 - y), 1.0);\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/darken/shader.frag\nvar shader_default6 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn min(x, y) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/difference/shader.frag\nvar shader_default7 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn abs(x - y) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/divide/shader.frag\nvar shader_default8 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (y > 0.0) ? min(x / y, 1.0) : 1.0;\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/exclusion/shader.frag\nvar shader_default9 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn (x + y - 2.0 * x * y) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/lighten/shader.frag\nvar shader_default10 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn max(x, y) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/multiply/shader.frag\nvar shader_default11 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn x * y * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/negation/shader.frag\nvar shader_default12 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn (1.0 - abs(1.0 - x - y)) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/normal/shader.frag\nvar shader_default13 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn y * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/overlay/shader.frag\nvar shader_default14 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (x < 0.5) ? (2.0 * x * y) : (1.0 - 2.0 * (1.0 - x) * (1.0 - y));\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/reflect/shader.frag\nvar shader_default15 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (y == 1.0) ? y : min(x * x / (1.0 - y), 1.0);\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/screen/shader.frag\nvar shader_default16 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn (1.0 - (1.0 - x) * (1.0 - y)) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/soft-light/shader.frag\nvar shader_default17 = \"float blend(const in float x, const in float y) {\\n\\n\treturn (y < 0.5) ?\\n\t\t(2.0 * x * y + x * x * (1.0 - 2.0 * y)) :\\n\t\t(sqrt(x) * (2.0 * y - 1.0) + 2.0 * x * (1.0 - y));\\n\\n}\\n\\nvec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\tvec4 z = vec4(\\n\t\tblend(x.r, y.r),\\n\t\tblend(x.g, y.g),\\n\t\tblend(x.b, y.b),\\n\t\tblend(x.a, y.a)\\n\t);\\n\\n\treturn z * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/glsl/subtract/shader.frag\nvar shader_default18 = \"vec4 blend(const in vec4 x, const in vec4 y, const in float opacity) {\\n\\n\treturn max(x + y - 1.0, 0.0) * opacity + x * (1.0 - opacity);\\n\\n}\\n\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/blending/BlendMode.js\nvar blendFunctions = /* @__PURE__ */ new Map([\n  [BlendFunction.SKIP, null],\n  [BlendFunction.ADD, shader_default],\n  [BlendFunction.ALPHA, shader_default2],\n  [BlendFunction.AVERAGE, shader_default3],\n  [BlendFunction.COLOR_BURN, shader_default4],\n  [BlendFunction.COLOR_DODGE, shader_default5],\n  [BlendFunction.DARKEN, shader_default6],\n  [BlendFunction.DIFFERENCE, shader_default7],\n  [BlendFunction.EXCLUSION, shader_default9],\n  [BlendFunction.LIGHTEN, shader_default10],\n  [BlendFunction.MULTIPLY, shader_default11],\n  [BlendFunction.DIVIDE, shader_default8],\n  [BlendFunction.NEGATION, shader_default12],\n  [BlendFunction.NORMAL, shader_default13],\n  [BlendFunction.OVERLAY, shader_default14],\n  [BlendFunction.REFLECT, shader_default15],\n  [BlendFunction.SCREEN, shader_default16],\n  [BlendFunction.SOFT_LIGHT, shader_default17],\n  [BlendFunction.SUBTRACT, shader_default18]\n]);\nvar BlendMode = class extends EventDispatcher {\n  /**\n   * Constructs a new blend mode.\n   *\n   * @param {BlendFunction} blendFunction - The blend function to use.\n   * @param {Number} opacity - The opacity of the color that will be blended with the base color.\n   */\n  constructor(blendFunction, opacity = 1) {\n    super();\n    this.blendFunction = blendFunction;\n    this.opacity = new Uniform(opacity);\n  }\n  /**\n   * Returns the blend function.\n   *\n   * @return {BlendFunction} The blend function.\n   */\n  getBlendFunction() {\n    return this.blendFunction;\n  }\n  /**\n   * Sets the blend function.\n   *\n   * @param {BlendFunction} blendFunction - The blend function.\n   */\n  setBlendFunction(blendFunction) {\n    this.blendFunction = blendFunction;\n    this.dispatchEvent({ type: \"change\" });\n  }\n  /**\n   * Returns the blend function shader code.\n   *\n   * @return {String} The blend function shader code.\n   */\n  getShaderCode() {\n    return blendFunctions.get(this.blendFunction);\n  }\n};\n\nexport {\n  BlendMode\n};\n","import {\n  HalftoneShader\n} from \"./chunk-3U6A2N6D.mjs\";\nimport {\n  FullScreenQuad,\n  Pass\n} from \"./chunk-AJ4ZTHOA.mjs\";\nimport {\n  BlendMode\n} from \"./chunk-54NE35C4.mjs\";\nimport {\n  BlendFunction\n} from \"./chunk-4NRCS6EB.mjs\";\nimport {\n  ShaderMaterial,\n  UniformsUtils\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// src/ShaderGradient/PostProcessing/lib/pp/HalftonePass.ts\nvar usePassedMeshSize = true;\nvar HalftonePass = class extends Pass {\n  constructor(width, height, params) {\n    super();\n    if (HalftoneShader === void 0) {\n      console.error(\"THREE.HalftonePass requires HalftoneShader\");\n    }\n    this.uniforms = UniformsUtils.clone(HalftoneShader.uniforms);\n    this.material = new ShaderMaterial({\n      uniforms: this.uniforms,\n      fragmentShader: HalftoneShader.fragmentShader,\n      vertexShader: HalftoneShader.vertexShader\n    });\n    if (usePassedMeshSize) {\n      this.uniforms.width.value = width;\n      this.uniforms.height.value = height;\n    }\n    this.uniforms.disable.value = params[\"disable\"];\n    this.fsQuad = new FullScreenQuad(this.material);\n    this.blendMode = new BlendMode(BlendFunction.SCREEN);\n    this.extensions = null;\n  }\n  render(renderer, writeBuffer, readBuffer) {\n    this.material.uniforms[\"tDiffuse\"].value = readBuffer.texture;\n    if (this.renderToScreen) {\n      renderer.setRenderTarget(null);\n      this.fsQuad.render(renderer);\n    } else {\n      renderer.setRenderTarget(writeBuffer);\n      if (this.clear) renderer.clear();\n      this.fsQuad.render(renderer);\n    }\n  }\n  setSize(width, height) {\n    if (usePassedMeshSize) {\n      this.uniforms.width.value = width;\n      this.uniforms.height.value = height;\n    }\n  }\n  initialize(renderer, alpha, frameBufferType) {\n  }\n  addEventListener() {\n  }\n  getAttributes() {\n    return this.attributes;\n  }\n  getFragmentShader() {\n    return HalftoneShader.fragmentShader;\n  }\n  getVertexShader() {\n    return HalftoneShader.vertexShader;\n  }\n  update(renderer, inputBuffer, deltaTime) {\n  }\n};\n\nexport {\n  HalftonePass\n};\n","import {\n  EffectComposer\n} from \"./chunk-FFUMSB5Y.mjs\";\nimport {\n  RenderPass\n} from \"./chunk-D6HO7KA7.mjs\";\nimport {\n  HalftonePass\n} from \"./chunk-7HNM7AEP.mjs\";\nimport {\n  useFrame,\n  useThree\n} from \"./chunk-PBAUXUVF.mjs\";\n\n// src/ShaderGradient/PostProcessing/PostProcessing.tsx\nimport { useEffect, useMemo } from \"react\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction PostProcessing({ disable = false }) {\n  const { gl, scene, camera, size } = useThree();\n  const composer = useMemo(() => {\n    const effectComposer = new EffectComposer(gl);\n    effectComposer.addPass(new RenderPass(scene, camera));\n    const halftoneParams = {\n      shape: 1,\n      radius: 2,\n      rotateR: Math.PI / 12,\n      rotateB: Math.PI / 12 * 2,\n      rotateG: Math.PI / 12 * 3,\n      scatter: 1,\n      blending: 1,\n      blendingMode: 1,\n      greyscale: false,\n      disable\n    };\n    const halftonePass = new HalftonePass(\n      size.width,\n      size.height,\n      halftoneParams\n    );\n    effectComposer.addPass(halftonePass);\n    return effectComposer;\n  }, [gl, scene, camera, size, disable]);\n  useEffect(() => composer == null ? void 0 : composer.setSize(size.width, size.height), [composer, size]);\n  useFrame(\n    (_, delta) => void (gl.autoClear = true, composer.render(delta)),\n    1\n  );\n  return /* @__PURE__ */ jsx(Fragment, {});\n}\n\nexport {\n  PostProcessing\n};\n","// src/utils/index.ts\nfunction degToRad(deg) {\n  return deg * (Math.PI / 180);\n}\nfunction dToR(d) {\n  return d / 180 * Math.PI;\n}\nfunction dToRArr(degrees) {\n  return degrees.map((d) => dToR(d));\n}\nfunction formatUrlString(urlString) {\n  return urlString.replace(\"http://localhost:3001/customize\", \"\").replace(\"https://shadergradient.co/customize\", \"\").replace(\"https://www.shadergradient.co/customize\", \"\");\n}\n\nexport {\n  degToRad,\n  dToR,\n  dToRArr,\n  formatUrlString\n};\n","import {\n  dToR\n} from \"./chunk-G7COPUKV.mjs\";\nimport {\n  useFrame\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  defaultPlanesZoom,\n  defaultSphereDistance,\n  zoomOutPlanes,\n  zoomOutSphere\n} from \"./chunk-SX7QUDKQ.mjs\";\n\n// src/ShaderGradient/Controls/useCameraAnimation.ts\nimport { useEffect, useRef } from \"react\";\nfunction useCameraAnimation({\n  type,\n  cAzimuthAngle,\n  cPolarAngle,\n  cDistance,\n  cameraZoom,\n  zoomOut,\n  enableTransition = true\n}) {\n  const ref = useRef();\n  useFrame((state, delta) => ref.current.update(delta));\n  useEffect(() => {\n    const control = ref.current;\n    control == null ? void 0 : control.rotateTo(dToR(cAzimuthAngle), dToR(cPolarAngle), enableTransition);\n  }, [ref, cAzimuthAngle, cPolarAngle]);\n  useEffect(() => {\n    const control = ref.current;\n    if (zoomOut) {\n      if (type === \"sphere\") {\n        control == null ? void 0 : control.dollyTo(zoomOutSphere.distance, enableTransition);\n        control == null ? void 0 : control.zoomTo(zoomOutSphere.zoom, enableTransition);\n      } else {\n        control == null ? void 0 : control.dollyTo(zoomOutPlanes.distance, enableTransition);\n        control == null ? void 0 : control.zoomTo(zoomOutPlanes.zoom, enableTransition);\n      }\n    } else {\n      if (type === \"sphere\") {\n        control == null ? void 0 : control.zoomTo(cameraZoom, enableTransition);\n        control == null ? void 0 : control.dollyTo(defaultSphereDistance, enableTransition);\n      } else {\n        control == null ? void 0 : control.dollyTo(cDistance, enableTransition);\n        control == null ? void 0 : control.zoomTo(defaultPlanesZoom, enableTransition);\n      }\n    }\n  }, [ref, zoomOut, type, cameraZoom, cDistance]);\n  return ref;\n}\n\nexport {\n  useCameraAnimation\n};\n","import {\n  useCameraAnimation\n} from \"./chunk-XX6QE2RT.mjs\";\nimport {\n  extend,\n  useThree\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  three_module_exports\n} from \"./chunk-M5G6JQMQ.mjs\";\nimport {\n  __objRest\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// ../../node_modules/.pnpm/camera-controls@2.9.0_three@0.169.0/node_modules/camera-controls/dist/camera-controls.module.js\nvar MOUSE_BUTTON = {\n  LEFT: 1,\n  RIGHT: 2,\n  MIDDLE: 4\n};\nvar ACTION = Object.freeze({\n  NONE: 0,\n  ROTATE: 1,\n  TRUCK: 2,\n  OFFSET: 4,\n  DOLLY: 8,\n  ZOOM: 16,\n  TOUCH_ROTATE: 32,\n  TOUCH_TRUCK: 64,\n  TOUCH_OFFSET: 128,\n  TOUCH_DOLLY: 256,\n  TOUCH_ZOOM: 512,\n  TOUCH_DOLLY_TRUCK: 1024,\n  TOUCH_DOLLY_OFFSET: 2048,\n  TOUCH_DOLLY_ROTATE: 4096,\n  TOUCH_ZOOM_TRUCK: 8192,\n  TOUCH_ZOOM_OFFSET: 16384,\n  TOUCH_ZOOM_ROTATE: 32768\n});\nvar DOLLY_DIRECTION = {\n  NONE: 0,\n  IN: 1,\n  OUT: -1\n};\nfunction isPerspectiveCamera(camera) {\n  return camera.isPerspectiveCamera;\n}\nfunction isOrthographicCamera(camera) {\n  return camera.isOrthographicCamera;\n}\nvar PI_2 = Math.PI * 2;\nvar PI_HALF = Math.PI / 2;\nvar EPSILON = 1e-5;\nvar DEG2RAD = Math.PI / 180;\nfunction clamp(value, min, max) {\n  return Math.max(min, Math.min(max, value));\n}\nfunction approxZero(number, error = EPSILON) {\n  return Math.abs(number) < error;\n}\nfunction approxEquals(a, b, error = EPSILON) {\n  return approxZero(a - b, error);\n}\nfunction roundToStep(value, step) {\n  return Math.round(value / step) * step;\n}\nfunction infinityToMaxNumber(value) {\n  if (isFinite(value))\n    return value;\n  if (value < 0)\n    return -Number.MAX_VALUE;\n  return Number.MAX_VALUE;\n}\nfunction maxNumberToInfinity(value) {\n  if (Math.abs(value) < Number.MAX_VALUE)\n    return value;\n  return value * Infinity;\n}\nfunction smoothDamp(current, target, currentVelocityRef, smoothTime, maxSpeed = Infinity, deltaTime) {\n  smoothTime = Math.max(1e-4, smoothTime);\n  const omega = 2 / smoothTime;\n  const x = omega * deltaTime;\n  const exp = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x);\n  let change = current - target;\n  const originalTo = target;\n  const maxChange = maxSpeed * smoothTime;\n  change = clamp(change, -maxChange, maxChange);\n  target = current - change;\n  const temp = (currentVelocityRef.value + omega * change) * deltaTime;\n  currentVelocityRef.value = (currentVelocityRef.value - omega * temp) * exp;\n  let output = target + (change + temp) * exp;\n  if (originalTo - current > 0 === output > originalTo) {\n    output = originalTo;\n    currentVelocityRef.value = (output - originalTo) / deltaTime;\n  }\n  return output;\n}\nfunction smoothDampVec3(current, target, currentVelocityRef, smoothTime, maxSpeed = Infinity, deltaTime, out) {\n  smoothTime = Math.max(1e-4, smoothTime);\n  const omega = 2 / smoothTime;\n  const x = omega * deltaTime;\n  const exp = 1 / (1 + x + 0.48 * x * x + 0.235 * x * x * x);\n  let targetX = target.x;\n  let targetY = target.y;\n  let targetZ = target.z;\n  let changeX = current.x - targetX;\n  let changeY = current.y - targetY;\n  let changeZ = current.z - targetZ;\n  const originalToX = targetX;\n  const originalToY = targetY;\n  const originalToZ = targetZ;\n  const maxChange = maxSpeed * smoothTime;\n  const maxChangeSq = maxChange * maxChange;\n  const magnitudeSq = changeX * changeX + changeY * changeY + changeZ * changeZ;\n  if (magnitudeSq > maxChangeSq) {\n    const magnitude = Math.sqrt(magnitudeSq);\n    changeX = changeX / magnitude * maxChange;\n    changeY = changeY / magnitude * maxChange;\n    changeZ = changeZ / magnitude * maxChange;\n  }\n  targetX = current.x - changeX;\n  targetY = current.y - changeY;\n  targetZ = current.z - changeZ;\n  const tempX = (currentVelocityRef.x + omega * changeX) * deltaTime;\n  const tempY = (currentVelocityRef.y + omega * changeY) * deltaTime;\n  const tempZ = (currentVelocityRef.z + omega * changeZ) * deltaTime;\n  currentVelocityRef.x = (currentVelocityRef.x - omega * tempX) * exp;\n  currentVelocityRef.y = (currentVelocityRef.y - omega * tempY) * exp;\n  currentVelocityRef.z = (currentVelocityRef.z - omega * tempZ) * exp;\n  out.x = targetX + (changeX + tempX) * exp;\n  out.y = targetY + (changeY + tempY) * exp;\n  out.z = targetZ + (changeZ + tempZ) * exp;\n  const origMinusCurrentX = originalToX - current.x;\n  const origMinusCurrentY = originalToY - current.y;\n  const origMinusCurrentZ = originalToZ - current.z;\n  const outMinusOrigX = out.x - originalToX;\n  const outMinusOrigY = out.y - originalToY;\n  const outMinusOrigZ = out.z - originalToZ;\n  if (origMinusCurrentX * outMinusOrigX + origMinusCurrentY * outMinusOrigY + origMinusCurrentZ * outMinusOrigZ > 0) {\n    out.x = originalToX;\n    out.y = originalToY;\n    out.z = originalToZ;\n    currentVelocityRef.x = (out.x - originalToX) / deltaTime;\n    currentVelocityRef.y = (out.y - originalToY) / deltaTime;\n    currentVelocityRef.z = (out.z - originalToZ) / deltaTime;\n  }\n  return out;\n}\nfunction extractClientCoordFromEvent(pointers, out) {\n  out.set(0, 0);\n  pointers.forEach((pointer) => {\n    out.x += pointer.clientX;\n    out.y += pointer.clientY;\n  });\n  out.x /= pointers.length;\n  out.y /= pointers.length;\n}\nfunction notSupportedInOrthographicCamera(camera, message) {\n  if (isOrthographicCamera(camera)) {\n    console.warn(`${message} is not supported in OrthographicCamera`);\n    return true;\n  }\n  return false;\n}\nvar EventDispatcher = class {\n  constructor() {\n    this._listeners = {};\n  }\n  /**\n   * Adds the specified event listener.\n   * @param type event name\n   * @param listener handler function\n   * @category Methods\n   */\n  addEventListener(type, listener) {\n    const listeners = this._listeners;\n    if (listeners[type] === void 0)\n      listeners[type] = [];\n    if (listeners[type].indexOf(listener) === -1)\n      listeners[type].push(listener);\n  }\n  /**\n   * Presence of the specified event listener.\n   * @param type event name\n   * @param listener handler function\n   * @category Methods\n   */\n  hasEventListener(type, listener) {\n    const listeners = this._listeners;\n    return listeners[type] !== void 0 && listeners[type].indexOf(listener) !== -1;\n  }\n  /**\n   * Removes the specified event listener\n   * @param type event name\n   * @param listener handler function\n   * @category Methods\n   */\n  removeEventListener(type, listener) {\n    const listeners = this._listeners;\n    const listenerArray = listeners[type];\n    if (listenerArray !== void 0) {\n      const index = listenerArray.indexOf(listener);\n      if (index !== -1)\n        listenerArray.splice(index, 1);\n    }\n  }\n  /**\n   * Removes all event listeners\n   * @param type event name\n   * @category Methods\n   */\n  removeAllEventListeners(type) {\n    if (!type) {\n      this._listeners = {};\n      return;\n    }\n    if (Array.isArray(this._listeners[type]))\n      this._listeners[type].length = 0;\n  }\n  /**\n   * Fire an event type.\n   * @param event DispatcherEvent\n   * @category Methods\n   */\n  dispatchEvent(event) {\n    const listeners = this._listeners;\n    const listenerArray = listeners[event.type];\n    if (listenerArray !== void 0) {\n      event.target = this;\n      const array = listenerArray.slice(0);\n      for (let i = 0, l = array.length; i < l; i++) {\n        array[i].call(this, event);\n      }\n    }\n  }\n};\nvar _a;\nvar VERSION = \"2.9.0\";\nvar TOUCH_DOLLY_FACTOR = 1 / 8;\nvar isMac = /Mac/.test((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) === null || _a === void 0 ? void 0 : _a.platform);\nvar THREE;\nvar _ORIGIN;\nvar _AXIS_Y;\nvar _AXIS_Z;\nvar _v2;\nvar _v3A;\nvar _v3B;\nvar _v3C;\nvar _cameraDirection;\nvar _xColumn;\nvar _yColumn;\nvar _zColumn;\nvar _deltaTarget;\nvar _deltaOffset;\nvar _sphericalA;\nvar _sphericalB;\nvar _box3A;\nvar _box3B;\nvar _sphere;\nvar _quaternionA;\nvar _quaternionB;\nvar _rotationMatrix;\nvar _raycaster;\nvar CameraControls = class _CameraControls extends EventDispatcher {\n  /**\n       * Injects THREE as the dependency. You can then proceed to use CameraControls.\n       *\n       * e.g\n       * ```javascript\n       * CameraControls.install( { THREE: THREE } );\n       * ```\n       *\n       * Note: If you do not wish to use enter three.js to reduce file size(tree-shaking for example), make a subset to install.\n       *\n       * ```js\n       * import {\n       * \tVector2,\n       * \tVector3,\n       * \tVector4,\n       * \tQuaternion,\n       * \tMatrix4,\n       * \tSpherical,\n       * \tBox3,\n       * \tSphere,\n       * \tRaycaster,\n       * \tMathUtils,\n       * } from 'three';\n       *\n       * const subsetOfTHREE = {\n       * \tVector2   : Vector2,\n       * \tVector3   : Vector3,\n       * \tVector4   : Vector4,\n       * \tQuaternion: Quaternion,\n       * \tMatrix4   : Matrix4,\n       * \tSpherical : Spherical,\n       * \tBox3      : Box3,\n       * \tSphere    : Sphere,\n       * \tRaycaster : Raycaster,\n       * };\n  \n       * CameraControls.install( { THREE: subsetOfTHREE } );\n       * ```\n       * @category Statics\n       */\n  static install(libs) {\n    THREE = libs.THREE;\n    _ORIGIN = Object.freeze(new THREE.Vector3(0, 0, 0));\n    _AXIS_Y = Object.freeze(new THREE.Vector3(0, 1, 0));\n    _AXIS_Z = Object.freeze(new THREE.Vector3(0, 0, 1));\n    _v2 = new THREE.Vector2();\n    _v3A = new THREE.Vector3();\n    _v3B = new THREE.Vector3();\n    _v3C = new THREE.Vector3();\n    _cameraDirection = new THREE.Vector3();\n    _xColumn = new THREE.Vector3();\n    _yColumn = new THREE.Vector3();\n    _zColumn = new THREE.Vector3();\n    _deltaTarget = new THREE.Vector3();\n    _deltaOffset = new THREE.Vector3();\n    _sphericalA = new THREE.Spherical();\n    _sphericalB = new THREE.Spherical();\n    _box3A = new THREE.Box3();\n    _box3B = new THREE.Box3();\n    _sphere = new THREE.Sphere();\n    _quaternionA = new THREE.Quaternion();\n    _quaternionB = new THREE.Quaternion();\n    _rotationMatrix = new THREE.Matrix4();\n    _raycaster = new THREE.Raycaster();\n  }\n  /**\n   * list all ACTIONs\n   * @category Statics\n   */\n  static get ACTION() {\n    return ACTION;\n  }\n  /**\n   * Creates a `CameraControls` instance.\n   *\n   * Note:\n   * You **must install** three.js before using camera-controls. see [#install](#install)\n   * Not doing so will lead to runtime errors (`undefined` references to THREE).\n   *\n   * e.g.\n   * ```\n   * CameraControls.install( { THREE } );\n   * const cameraControls = new CameraControls( camera, domElement );\n   * ```\n   *\n   * @param camera A `THREE.PerspectiveCamera` or `THREE.OrthographicCamera` to be controlled.\n   * @param domElement A `HTMLElement` for the draggable area, usually `renderer.domElement`.\n   * @category Constructor\n   */\n  constructor(camera, domElement) {\n    super();\n    this.minPolarAngle = 0;\n    this.maxPolarAngle = Math.PI;\n    this.minAzimuthAngle = -Infinity;\n    this.maxAzimuthAngle = Infinity;\n    this.minDistance = Number.EPSILON;\n    this.maxDistance = Infinity;\n    this.infinityDolly = false;\n    this.minZoom = 0.01;\n    this.maxZoom = Infinity;\n    this.smoothTime = 0.25;\n    this.draggingSmoothTime = 0.125;\n    this.maxSpeed = Infinity;\n    this.azimuthRotateSpeed = 1;\n    this.polarRotateSpeed = 1;\n    this.dollySpeed = 1;\n    this.dollyDragInverted = false;\n    this.truckSpeed = 2;\n    this.dollyToCursor = false;\n    this.dragToOffset = false;\n    this.verticalDragToForward = false;\n    this.boundaryFriction = 0;\n    this.restThreshold = 0.01;\n    this.colliderMeshes = [];\n    this.cancel = () => {\n    };\n    this._enabled = true;\n    this._state = ACTION.NONE;\n    this._viewport = null;\n    this._changedDolly = 0;\n    this._changedZoom = 0;\n    this._hasRested = true;\n    this._boundaryEnclosesCamera = false;\n    this._needsUpdate = true;\n    this._updatedLastTime = false;\n    this._elementRect = new DOMRect();\n    this._isDragging = false;\n    this._dragNeedsUpdate = true;\n    this._activePointers = [];\n    this._lockedPointer = null;\n    this._interactiveArea = new DOMRect(0, 0, 1, 1);\n    this._isUserControllingRotate = false;\n    this._isUserControllingDolly = false;\n    this._isUserControllingTruck = false;\n    this._isUserControllingOffset = false;\n    this._isUserControllingZoom = false;\n    this._lastDollyDirection = DOLLY_DIRECTION.NONE;\n    this._thetaVelocity = { value: 0 };\n    this._phiVelocity = { value: 0 };\n    this._radiusVelocity = { value: 0 };\n    this._targetVelocity = new THREE.Vector3();\n    this._focalOffsetVelocity = new THREE.Vector3();\n    this._zoomVelocity = { value: 0 };\n    this._truckInternal = (deltaX, deltaY, dragToOffset) => {\n      let truckX;\n      let pedestalY;\n      if (isPerspectiveCamera(this._camera)) {\n        const offset = _v3A.copy(this._camera.position).sub(this._target);\n        const fov = this._camera.getEffectiveFOV() * DEG2RAD;\n        const targetDistance = offset.length() * Math.tan(fov * 0.5);\n        truckX = this.truckSpeed * deltaX * targetDistance / this._elementRect.height;\n        pedestalY = this.truckSpeed * deltaY * targetDistance / this._elementRect.height;\n      } else if (isOrthographicCamera(this._camera)) {\n        const camera2 = this._camera;\n        truckX = deltaX * (camera2.right - camera2.left) / camera2.zoom / this._elementRect.width;\n        pedestalY = deltaY * (camera2.top - camera2.bottom) / camera2.zoom / this._elementRect.height;\n      } else {\n        return;\n      }\n      if (this.verticalDragToForward) {\n        dragToOffset ? this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y, this._focalOffsetEnd.z, true) : this.truck(truckX, 0, true);\n        this.forward(-pedestalY, true);\n      } else {\n        dragToOffset ? this.setFocalOffset(this._focalOffsetEnd.x + truckX, this._focalOffsetEnd.y + pedestalY, this._focalOffsetEnd.z, true) : this.truck(truckX, pedestalY, true);\n      }\n    };\n    this._rotateInternal = (deltaX, deltaY) => {\n      const theta = PI_2 * this.azimuthRotateSpeed * deltaX / this._elementRect.height;\n      const phi = PI_2 * this.polarRotateSpeed * deltaY / this._elementRect.height;\n      this.rotate(theta, phi, true);\n    };\n    this._dollyInternal = (delta, x, y) => {\n      const dollyScale = Math.pow(0.95, -delta * this.dollySpeed);\n      const lastDistance = this._sphericalEnd.radius;\n      const distance = this._sphericalEnd.radius * dollyScale;\n      const clampedDistance = clamp(distance, this.minDistance, this.maxDistance);\n      const overflowedDistance = clampedDistance - distance;\n      if (this.infinityDolly && this.dollyToCursor) {\n        this._dollyToNoClamp(distance, true);\n      } else if (this.infinityDolly && !this.dollyToCursor) {\n        this.dollyInFixed(overflowedDistance, true);\n        this._dollyToNoClamp(clampedDistance, true);\n      } else {\n        this._dollyToNoClamp(clampedDistance, true);\n      }\n      if (this.dollyToCursor) {\n        this._changedDolly += (this.infinityDolly ? distance : clampedDistance) - lastDistance;\n        this._dollyControlCoord.set(x, y);\n      }\n      this._lastDollyDirection = Math.sign(-delta);\n    };\n    this._zoomInternal = (delta, x, y) => {\n      const zoomScale = Math.pow(0.95, delta * this.dollySpeed);\n      const lastZoom = this._zoom;\n      const zoom = this._zoom * zoomScale;\n      this.zoomTo(zoom, true);\n      if (this.dollyToCursor) {\n        this._changedZoom += zoom - lastZoom;\n        this._dollyControlCoord.set(x, y);\n      }\n    };\n    if (typeof THREE === \"undefined\") {\n      console.error(\"camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information.\");\n    }\n    this._camera = camera;\n    this._yAxisUpSpace = new THREE.Quaternion().setFromUnitVectors(this._camera.up, _AXIS_Y);\n    this._yAxisUpSpaceInverse = this._yAxisUpSpace.clone().invert();\n    this._state = ACTION.NONE;\n    this._target = new THREE.Vector3();\n    this._targetEnd = this._target.clone();\n    this._focalOffset = new THREE.Vector3();\n    this._focalOffsetEnd = this._focalOffset.clone();\n    this._spherical = new THREE.Spherical().setFromVector3(_v3A.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace));\n    this._sphericalEnd = this._spherical.clone();\n    this._lastDistance = this._spherical.radius;\n    this._zoom = this._camera.zoom;\n    this._zoomEnd = this._zoom;\n    this._lastZoom = this._zoom;\n    this._nearPlaneCorners = [\n      new THREE.Vector3(),\n      new THREE.Vector3(),\n      new THREE.Vector3(),\n      new THREE.Vector3()\n    ];\n    this._updateNearPlaneCorners();\n    this._boundary = new THREE.Box3(new THREE.Vector3(-Infinity, -Infinity, -Infinity), new THREE.Vector3(Infinity, Infinity, Infinity));\n    this._cameraUp0 = this._camera.up.clone();\n    this._target0 = this._target.clone();\n    this._position0 = this._camera.position.clone();\n    this._zoom0 = this._zoom;\n    this._focalOffset0 = this._focalOffset.clone();\n    this._dollyControlCoord = new THREE.Vector2();\n    this.mouseButtons = {\n      left: ACTION.ROTATE,\n      middle: ACTION.DOLLY,\n      right: ACTION.TRUCK,\n      wheel: isPerspectiveCamera(this._camera) ? ACTION.DOLLY : isOrthographicCamera(this._camera) ? ACTION.ZOOM : ACTION.NONE\n    };\n    this.touches = {\n      one: ACTION.TOUCH_ROTATE,\n      two: isPerspectiveCamera(this._camera) ? ACTION.TOUCH_DOLLY_TRUCK : isOrthographicCamera(this._camera) ? ACTION.TOUCH_ZOOM_TRUCK : ACTION.NONE,\n      three: ACTION.TOUCH_TRUCK\n    };\n    const dragStartPosition = new THREE.Vector2();\n    const lastDragPosition = new THREE.Vector2();\n    const dollyStart = new THREE.Vector2();\n    const onPointerDown = (event) => {\n      if (!this._enabled || !this._domElement)\n        return;\n      if (this._interactiveArea.left !== 0 || this._interactiveArea.top !== 0 || this._interactiveArea.width !== 1 || this._interactiveArea.height !== 1) {\n        const elRect = this._domElement.getBoundingClientRect();\n        const left = event.clientX / elRect.width;\n        const top = event.clientY / elRect.height;\n        if (left < this._interactiveArea.left || left > this._interactiveArea.right || top < this._interactiveArea.top || top > this._interactiveArea.bottom)\n          return;\n      }\n      const mouseButton = event.pointerType !== \"mouse\" ? null : (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT ? MOUSE_BUTTON.LEFT : (event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE ? MOUSE_BUTTON.MIDDLE : (event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT ? MOUSE_BUTTON.RIGHT : null;\n      if (mouseButton !== null) {\n        const zombiePointer = this._findPointerByMouseButton(mouseButton);\n        zombiePointer && this._disposePointer(zombiePointer);\n      }\n      if ((event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT && this._lockedPointer)\n        return;\n      const pointer = {\n        pointerId: event.pointerId,\n        clientX: event.clientX,\n        clientY: event.clientY,\n        deltaX: 0,\n        deltaY: 0,\n        mouseButton\n      };\n      this._activePointers.push(pointer);\n      this._domElement.ownerDocument.removeEventListener(\"pointermove\", onPointerMove, { passive: false });\n      this._domElement.ownerDocument.removeEventListener(\"pointerup\", onPointerUp);\n      this._domElement.ownerDocument.addEventListener(\"pointermove\", onPointerMove, { passive: false });\n      this._domElement.ownerDocument.addEventListener(\"pointerup\", onPointerUp);\n      this._isDragging = true;\n      startDragging(event);\n    };\n    const onPointerMove = (event) => {\n      if (event.cancelable)\n        event.preventDefault();\n      const pointerId = event.pointerId;\n      const pointer = this._lockedPointer || this._findPointerById(pointerId);\n      if (!pointer)\n        return;\n      pointer.clientX = event.clientX;\n      pointer.clientY = event.clientY;\n      pointer.deltaX = event.movementX;\n      pointer.deltaY = event.movementY;\n      this._state = 0;\n      if (event.pointerType === \"touch\") {\n        switch (this._activePointers.length) {\n          case 1:\n            this._state = this.touches.one;\n            break;\n          case 2:\n            this._state = this.touches.two;\n            break;\n          case 3:\n            this._state = this.touches.three;\n            break;\n        }\n      } else {\n        if (!this._isDragging && this._lockedPointer || this._isDragging && (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) {\n          this._state = this._state | this.mouseButtons.left;\n        }\n        if (this._isDragging && (event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) {\n          this._state = this._state | this.mouseButtons.middle;\n        }\n        if (this._isDragging && (event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) {\n          this._state = this._state | this.mouseButtons.right;\n        }\n      }\n      dragging();\n    };\n    const onPointerUp = (event) => {\n      const pointer = this._findPointerById(event.pointerId);\n      if (pointer && pointer === this._lockedPointer)\n        return;\n      pointer && this._disposePointer(pointer);\n      if (event.pointerType === \"touch\") {\n        switch (this._activePointers.length) {\n          case 0:\n            this._state = ACTION.NONE;\n            break;\n          case 1:\n            this._state = this.touches.one;\n            break;\n          case 2:\n            this._state = this.touches.two;\n            break;\n          case 3:\n            this._state = this.touches.three;\n            break;\n        }\n      } else {\n        this._state = ACTION.NONE;\n      }\n      endDragging();\n    };\n    let lastScrollTimeStamp = -1;\n    const onMouseWheel = (event) => {\n      if (!this._domElement)\n        return;\n      if (!this._enabled || this.mouseButtons.wheel === ACTION.NONE)\n        return;\n      if (this._interactiveArea.left !== 0 || this._interactiveArea.top !== 0 || this._interactiveArea.width !== 1 || this._interactiveArea.height !== 1) {\n        const elRect = this._domElement.getBoundingClientRect();\n        const left = event.clientX / elRect.width;\n        const top = event.clientY / elRect.height;\n        if (left < this._interactiveArea.left || left > this._interactiveArea.right || top < this._interactiveArea.top || top > this._interactiveArea.bottom)\n          return;\n      }\n      event.preventDefault();\n      if (this.dollyToCursor || this.mouseButtons.wheel === ACTION.ROTATE || this.mouseButtons.wheel === ACTION.TRUCK) {\n        const now = performance.now();\n        if (lastScrollTimeStamp - now < 1e3)\n          this._getClientRect(this._elementRect);\n        lastScrollTimeStamp = now;\n      }\n      const deltaYFactor = isMac ? -1 : -3;\n      const delta = event.deltaMode === 1 ? event.deltaY / deltaYFactor : event.deltaY / (deltaYFactor * 10);\n      const x = this.dollyToCursor ? (event.clientX - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n      const y = this.dollyToCursor ? (event.clientY - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n      switch (this.mouseButtons.wheel) {\n        case ACTION.ROTATE: {\n          this._rotateInternal(event.deltaX, event.deltaY);\n          this._isUserControllingRotate = true;\n          break;\n        }\n        case ACTION.TRUCK: {\n          this._truckInternal(event.deltaX, event.deltaY, false);\n          this._isUserControllingTruck = true;\n          break;\n        }\n        case ACTION.OFFSET: {\n          this._truckInternal(event.deltaX, event.deltaY, true);\n          this._isUserControllingOffset = true;\n          break;\n        }\n        case ACTION.DOLLY: {\n          this._dollyInternal(-delta, x, y);\n          this._isUserControllingDolly = true;\n          break;\n        }\n        case ACTION.ZOOM: {\n          this._zoomInternal(-delta, x, y);\n          this._isUserControllingZoom = true;\n          break;\n        }\n      }\n      this.dispatchEvent({ type: \"control\" });\n    };\n    const onContextMenu = (event) => {\n      if (!this._domElement || !this._enabled)\n        return;\n      if (this.mouseButtons.right === _CameraControls.ACTION.NONE) {\n        const pointerId = event instanceof PointerEvent ? event.pointerId : 0;\n        const pointer = this._findPointerById(pointerId);\n        pointer && this._disposePointer(pointer);\n        this._domElement.ownerDocument.removeEventListener(\"pointermove\", onPointerMove, { passive: false });\n        this._domElement.ownerDocument.removeEventListener(\"pointerup\", onPointerUp);\n        return;\n      }\n      event.preventDefault();\n    };\n    const startDragging = (event) => {\n      if (!this._enabled)\n        return;\n      extractClientCoordFromEvent(this._activePointers, _v2);\n      this._getClientRect(this._elementRect);\n      dragStartPosition.copy(_v2);\n      lastDragPosition.copy(_v2);\n      const isMultiTouch = this._activePointers.length >= 2;\n      if (isMultiTouch) {\n        const dx = _v2.x - this._activePointers[1].clientX;\n        const dy = _v2.y - this._activePointers[1].clientY;\n        const distance = Math.sqrt(dx * dx + dy * dy);\n        dollyStart.set(0, distance);\n        const x = (this._activePointers[0].clientX + this._activePointers[1].clientX) * 0.5;\n        const y = (this._activePointers[0].clientY + this._activePointers[1].clientY) * 0.5;\n        lastDragPosition.set(x, y);\n      }\n      this._state = 0;\n      if (!event) {\n        if (this._lockedPointer)\n          this._state = this._state | this.mouseButtons.left;\n      } else if (\"pointerType\" in event && event.pointerType === \"touch\") {\n        switch (this._activePointers.length) {\n          case 1:\n            this._state = this.touches.one;\n            break;\n          case 2:\n            this._state = this.touches.two;\n            break;\n          case 3:\n            this._state = this.touches.three;\n            break;\n        }\n      } else {\n        if (!this._lockedPointer && (event.buttons & MOUSE_BUTTON.LEFT) === MOUSE_BUTTON.LEFT) {\n          this._state = this._state | this.mouseButtons.left;\n        }\n        if ((event.buttons & MOUSE_BUTTON.MIDDLE) === MOUSE_BUTTON.MIDDLE) {\n          this._state = this._state | this.mouseButtons.middle;\n        }\n        if ((event.buttons & MOUSE_BUTTON.RIGHT) === MOUSE_BUTTON.RIGHT) {\n          this._state = this._state | this.mouseButtons.right;\n        }\n      }\n      if ((this._state & ACTION.ROTATE) === ACTION.ROTATE || (this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE || (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n        this._sphericalEnd.theta = this._spherical.theta;\n        this._sphericalEnd.phi = this._spherical.phi;\n        this._thetaVelocity.value = 0;\n        this._phiVelocity.value = 0;\n      }\n      if ((this._state & ACTION.TRUCK) === ACTION.TRUCK || (this._state & ACTION.TOUCH_TRUCK) === ACTION.TOUCH_TRUCK || (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK) {\n        this._targetEnd.copy(this._target);\n        this._targetVelocity.set(0, 0, 0);\n      }\n      if ((this._state & ACTION.DOLLY) === ACTION.DOLLY || (this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE) {\n        this._sphericalEnd.radius = this._spherical.radius;\n        this._radiusVelocity.value = 0;\n      }\n      if ((this._state & ACTION.ZOOM) === ACTION.ZOOM || (this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM || (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK || (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET || (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n        this._zoomEnd = this._zoom;\n        this._zoomVelocity.value = 0;\n      }\n      if ((this._state & ACTION.OFFSET) === ACTION.OFFSET || (this._state & ACTION.TOUCH_OFFSET) === ACTION.TOUCH_OFFSET || (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET) {\n        this._focalOffsetEnd.copy(this._focalOffset);\n        this._focalOffsetVelocity.set(0, 0, 0);\n      }\n      this.dispatchEvent({ type: \"controlstart\" });\n    };\n    const dragging = () => {\n      if (!this._enabled || !this._dragNeedsUpdate)\n        return;\n      this._dragNeedsUpdate = false;\n      extractClientCoordFromEvent(this._activePointers, _v2);\n      const isPointerLockActive = this._domElement && this._domElement.ownerDocument.pointerLockElement === this._domElement;\n      const lockedPointer = isPointerLockActive ? this._lockedPointer || this._activePointers[0] : null;\n      const deltaX = lockedPointer ? -lockedPointer.deltaX : lastDragPosition.x - _v2.x;\n      const deltaY = lockedPointer ? -lockedPointer.deltaY : lastDragPosition.y - _v2.y;\n      lastDragPosition.copy(_v2);\n      if ((this._state & ACTION.ROTATE) === ACTION.ROTATE || (this._state & ACTION.TOUCH_ROTATE) === ACTION.TOUCH_ROTATE || (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n        this._rotateInternal(deltaX, deltaY);\n        this._isUserControllingRotate = true;\n      }\n      if ((this._state & ACTION.DOLLY) === ACTION.DOLLY || (this._state & ACTION.ZOOM) === ACTION.ZOOM) {\n        const dollyX = this.dollyToCursor ? (dragStartPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n        const dollyY = this.dollyToCursor ? (dragStartPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n        const dollyDirection = this.dollyDragInverted ? -1 : 1;\n        if ((this._state & ACTION.DOLLY) === ACTION.DOLLY) {\n          this._dollyInternal(dollyDirection * deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n          this._isUserControllingDolly = true;\n        } else {\n          this._zoomInternal(dollyDirection * deltaY * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n          this._isUserControllingZoom = true;\n        }\n      }\n      if ((this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || (this._state & ACTION.TOUCH_ZOOM) === ACTION.TOUCH_ZOOM || (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK || (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET || (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (this._state & ACTION.TOUCH_ZOOM_ROTATE) === ACTION.TOUCH_ZOOM_ROTATE) {\n        const dx = _v2.x - this._activePointers[1].clientX;\n        const dy = _v2.y - this._activePointers[1].clientY;\n        const distance = Math.sqrt(dx * dx + dy * dy);\n        const dollyDelta = dollyStart.y - distance;\n        dollyStart.set(0, distance);\n        const dollyX = this.dollyToCursor ? (lastDragPosition.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0;\n        const dollyY = this.dollyToCursor ? (lastDragPosition.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;\n        if ((this._state & ACTION.TOUCH_DOLLY) === ACTION.TOUCH_DOLLY || (this._state & ACTION.TOUCH_DOLLY_ROTATE) === ACTION.TOUCH_DOLLY_ROTATE || (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET) {\n          this._dollyInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n          this._isUserControllingDolly = true;\n        } else {\n          this._zoomInternal(dollyDelta * TOUCH_DOLLY_FACTOR, dollyX, dollyY);\n          this._isUserControllingZoom = true;\n        }\n      }\n      if ((this._state & ACTION.TRUCK) === ACTION.TRUCK || (this._state & ACTION.TOUCH_TRUCK) === ACTION.TOUCH_TRUCK || (this._state & ACTION.TOUCH_DOLLY_TRUCK) === ACTION.TOUCH_DOLLY_TRUCK || (this._state & ACTION.TOUCH_ZOOM_TRUCK) === ACTION.TOUCH_ZOOM_TRUCK) {\n        this._truckInternal(deltaX, deltaY, false);\n        this._isUserControllingTruck = true;\n      }\n      if ((this._state & ACTION.OFFSET) === ACTION.OFFSET || (this._state & ACTION.TOUCH_OFFSET) === ACTION.TOUCH_OFFSET || (this._state & ACTION.TOUCH_DOLLY_OFFSET) === ACTION.TOUCH_DOLLY_OFFSET || (this._state & ACTION.TOUCH_ZOOM_OFFSET) === ACTION.TOUCH_ZOOM_OFFSET) {\n        this._truckInternal(deltaX, deltaY, true);\n        this._isUserControllingOffset = true;\n      }\n      this.dispatchEvent({ type: \"control\" });\n    };\n    const endDragging = () => {\n      extractClientCoordFromEvent(this._activePointers, _v2);\n      lastDragPosition.copy(_v2);\n      this._dragNeedsUpdate = false;\n      if (this._activePointers.length === 0 || this._activePointers.length === 1 && this._activePointers[0] === this._lockedPointer) {\n        this._isDragging = false;\n      }\n      if (this._activePointers.length === 0 && this._domElement) {\n        this._domElement.ownerDocument.removeEventListener(\"pointermove\", onPointerMove, { passive: false });\n        this._domElement.ownerDocument.removeEventListener(\"pointerup\", onPointerUp);\n        this.dispatchEvent({ type: \"controlend\" });\n      }\n    };\n    this.lockPointer = () => {\n      if (!this._enabled || !this._domElement)\n        return;\n      this.cancel();\n      this._lockedPointer = {\n        pointerId: -1,\n        clientX: 0,\n        clientY: 0,\n        deltaX: 0,\n        deltaY: 0,\n        mouseButton: null\n      };\n      this._activePointers.push(this._lockedPointer);\n      this._domElement.ownerDocument.removeEventListener(\"pointermove\", onPointerMove, { passive: false });\n      this._domElement.ownerDocument.removeEventListener(\"pointerup\", onPointerUp);\n      this._domElement.requestPointerLock();\n      this._domElement.ownerDocument.addEventListener(\"pointerlockchange\", onPointerLockChange);\n      this._domElement.ownerDocument.addEventListener(\"pointerlockerror\", onPointerLockError);\n      this._domElement.ownerDocument.addEventListener(\"pointermove\", onPointerMove, { passive: false });\n      this._domElement.ownerDocument.addEventListener(\"pointerup\", onPointerUp);\n      startDragging();\n    };\n    this.unlockPointer = () => {\n      var _a2, _b, _c;\n      if (this._lockedPointer !== null) {\n        this._disposePointer(this._lockedPointer);\n        this._lockedPointer = null;\n      }\n      (_a2 = this._domElement) === null || _a2 === void 0 ? void 0 : _a2.ownerDocument.exitPointerLock();\n      (_b = this._domElement) === null || _b === void 0 ? void 0 : _b.ownerDocument.removeEventListener(\"pointerlockchange\", onPointerLockChange);\n      (_c = this._domElement) === null || _c === void 0 ? void 0 : _c.ownerDocument.removeEventListener(\"pointerlockerror\", onPointerLockError);\n      this.cancel();\n    };\n    const onPointerLockChange = () => {\n      const isPointerLockActive = this._domElement && this._domElement.ownerDocument.pointerLockElement === this._domElement;\n      if (!isPointerLockActive)\n        this.unlockPointer();\n    };\n    const onPointerLockError = () => {\n      this.unlockPointer();\n    };\n    this._addAllEventListeners = (domElement2) => {\n      this._domElement = domElement2;\n      this._domElement.style.touchAction = \"none\";\n      this._domElement.style.userSelect = \"none\";\n      this._domElement.style.webkitUserSelect = \"none\";\n      this._domElement.addEventListener(\"pointerdown\", onPointerDown);\n      this._domElement.addEventListener(\"pointercancel\", onPointerUp);\n      this._domElement.addEventListener(\"wheel\", onMouseWheel, { passive: false });\n      this._domElement.addEventListener(\"contextmenu\", onContextMenu);\n    };\n    this._removeAllEventListeners = () => {\n      if (!this._domElement)\n        return;\n      this._domElement.style.touchAction = \"\";\n      this._domElement.style.userSelect = \"\";\n      this._domElement.style.webkitUserSelect = \"\";\n      this._domElement.removeEventListener(\"pointerdown\", onPointerDown);\n      this._domElement.removeEventListener(\"pointercancel\", onPointerUp);\n      this._domElement.removeEventListener(\"wheel\", onMouseWheel, { passive: false });\n      this._domElement.removeEventListener(\"contextmenu\", onContextMenu);\n      this._domElement.ownerDocument.removeEventListener(\"pointermove\", onPointerMove, { passive: false });\n      this._domElement.ownerDocument.removeEventListener(\"pointerup\", onPointerUp);\n      this._domElement.ownerDocument.removeEventListener(\"pointerlockchange\", onPointerLockChange);\n      this._domElement.ownerDocument.removeEventListener(\"pointerlockerror\", onPointerLockError);\n    };\n    this.cancel = () => {\n      if (this._state === ACTION.NONE)\n        return;\n      this._state = ACTION.NONE;\n      this._activePointers.length = 0;\n      endDragging();\n    };\n    if (domElement)\n      this.connect(domElement);\n    this.update(0);\n  }\n  /**\n   * The camera to be controlled\n   * @category Properties\n   */\n  get camera() {\n    return this._camera;\n  }\n  set camera(camera) {\n    this._camera = camera;\n    this.updateCameraUp();\n    this._camera.updateProjectionMatrix();\n    this._updateNearPlaneCorners();\n    this._needsUpdate = true;\n  }\n  /**\n   * Whether or not the controls are enabled.\n   * `false` to disable user dragging/touch-move, but all methods works.\n   * @category Properties\n   */\n  get enabled() {\n    return this._enabled;\n  }\n  set enabled(enabled) {\n    this._enabled = enabled;\n    if (!this._domElement)\n      return;\n    if (enabled) {\n      this._domElement.style.touchAction = \"none\";\n      this._domElement.style.userSelect = \"none\";\n      this._domElement.style.webkitUserSelect = \"none\";\n    } else {\n      this.cancel();\n      this._domElement.style.touchAction = \"\";\n      this._domElement.style.userSelect = \"\";\n      this._domElement.style.webkitUserSelect = \"\";\n    }\n  }\n  /**\n   * Returns `true` if the controls are active updating.\n   * readonly value.\n   * @category Properties\n   */\n  get active() {\n    return !this._hasRested;\n  }\n  /**\n   * Getter for the current `ACTION`.\n   * readonly value.\n   * @category Properties\n   */\n  get currentAction() {\n    return this._state;\n  }\n  /**\n   * get/set Current distance.\n   * @category Properties\n   */\n  get distance() {\n    return this._spherical.radius;\n  }\n  set distance(distance) {\n    if (this._spherical.radius === distance && this._sphericalEnd.radius === distance)\n      return;\n    this._spherical.radius = distance;\n    this._sphericalEnd.radius = distance;\n    this._needsUpdate = true;\n  }\n  // horizontal angle\n  /**\n   * get/set the azimuth angle (horizontal) in radians.\n   * Every 360 degrees turn is added to `.azimuthAngle` value, which is accumulative.\n   * @category Properties\n   */\n  get azimuthAngle() {\n    return this._spherical.theta;\n  }\n  set azimuthAngle(azimuthAngle) {\n    if (this._spherical.theta === azimuthAngle && this._sphericalEnd.theta === azimuthAngle)\n      return;\n    this._spherical.theta = azimuthAngle;\n    this._sphericalEnd.theta = azimuthAngle;\n    this._needsUpdate = true;\n  }\n  // vertical angle\n  /**\n   * get/set the polar angle (vertical) in radians.\n   * @category Properties\n   */\n  get polarAngle() {\n    return this._spherical.phi;\n  }\n  set polarAngle(polarAngle) {\n    if (this._spherical.phi === polarAngle && this._sphericalEnd.phi === polarAngle)\n      return;\n    this._spherical.phi = polarAngle;\n    this._sphericalEnd.phi = polarAngle;\n    this._needsUpdate = true;\n  }\n  /**\n   * Whether camera position should be enclosed in the boundary or not.\n   * @category Properties\n   */\n  get boundaryEnclosesCamera() {\n    return this._boundaryEnclosesCamera;\n  }\n  set boundaryEnclosesCamera(boundaryEnclosesCamera) {\n    this._boundaryEnclosesCamera = boundaryEnclosesCamera;\n    this._needsUpdate = true;\n  }\n  /**\n   * Set drag-start, touches and wheel enable area in the domElement.\n   * each values are between `0` and `1` inclusive, where `0` is left/top and `1` is right/bottom of the screen.\n   * e.g. `{ x: 0, y: 0, width: 1, height: 1 }` for entire area.\n   * @category Properties\n   */\n  set interactiveArea(interactiveArea) {\n    this._interactiveArea.width = clamp(interactiveArea.width, 0, 1);\n    this._interactiveArea.height = clamp(interactiveArea.height, 0, 1);\n    this._interactiveArea.x = clamp(interactiveArea.x, 0, 1 - this._interactiveArea.width);\n    this._interactiveArea.y = clamp(interactiveArea.y, 0, 1 - this._interactiveArea.height);\n  }\n  /**\n   * Adds the specified event listener.\n   * Applicable event types (which is `K`) are:\n   * | Event name          | Timing |\n   * | ------------------- | ------ |\n   * | `'controlstart'`    | When the user starts to control the camera via mouse / touches. ¹ |\n   * | `'control'`         | When the user controls the camera (dragging). |\n   * | `'controlend'`      | When the user ends to control the camera. ¹ |\n   * | `'transitionstart'` | When any kind of transition starts, either user control or using a method with `enableTransition = true` |\n   * | `'update'`          | When the camera position is updated. |\n   * | `'wake'`            | When the camera starts moving. |\n   * | `'rest'`            | When the camera movement is below `.restThreshold` ². |\n   * | `'sleep'`           | When the camera end moving. |\n   *\n   * 1. `mouseButtons.wheel` (Mouse wheel control) does not emit `'controlstart'` and `'controlend'`. `mouseButtons.wheel` uses scroll-event internally, and scroll-event happens intermittently. That means \"start\" and \"end\" cannot be detected.\n   * 2. Due to damping, `sleep` will usually fire a few seconds after the camera _appears_ to have stopped moving. If you want to do something (e.g. enable UI, perform another transition) at the point when the camera has stopped, you probably want the `rest` event. This can be fine tuned using the `.restThreshold` parameter. See the [Rest and Sleep Example](https://yomotsu.github.io/camera-controls/examples/rest-and-sleep.html).\n   *\n   * e.g.\n   * ```\n   * cameraControl.addEventListener( 'controlstart', myCallbackFunction );\n   * ```\n   * @param type event name\n   * @param listener handler function\n   * @category Methods\n   */\n  addEventListener(type, listener) {\n    super.addEventListener(type, listener);\n  }\n  /**\n   * Removes the specified event listener\n   * e.g.\n   * ```\n   * cameraControl.addEventListener( 'controlstart', myCallbackFunction );\n   * ```\n   * @param type event name\n   * @param listener handler function\n   * @category Methods\n   */\n  removeEventListener(type, listener) {\n    super.removeEventListener(type, listener);\n  }\n  /**\n   * Rotate azimuthal angle(horizontal) and polar angle(vertical).\n   * Every value is added to the current value.\n   * @param azimuthAngle Azimuth rotate angle. In radian.\n   * @param polarAngle Polar rotate angle. In radian.\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  rotate(azimuthAngle, polarAngle, enableTransition = false) {\n    return this.rotateTo(this._sphericalEnd.theta + azimuthAngle, this._sphericalEnd.phi + polarAngle, enableTransition);\n  }\n  /**\n   * Rotate azimuthal angle(horizontal) to the given angle and keep the same polar angle(vertical) target.\n   *\n   * e.g.\n   * ```\n   * cameraControls.rotateAzimuthTo( 30 * THREE.MathUtils.DEG2RAD, true );\n   * ```\n   * @param azimuthAngle Azimuth rotate angle. In radian.\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  rotateAzimuthTo(azimuthAngle, enableTransition = false) {\n    return this.rotateTo(azimuthAngle, this._sphericalEnd.phi, enableTransition);\n  }\n  /**\n   * Rotate polar angle(vertical) to the given angle and keep the same azimuthal angle(horizontal) target.\n   *\n   * e.g.\n   * ```\n   * cameraControls.rotatePolarTo( 30 * THREE.MathUtils.DEG2RAD, true );\n   * ```\n   * @param polarAngle Polar rotate angle. In radian.\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  rotatePolarTo(polarAngle, enableTransition = false) {\n    return this.rotateTo(this._sphericalEnd.theta, polarAngle, enableTransition);\n  }\n  /**\n   * Rotate azimuthal angle(horizontal) and polar angle(vertical) to the given angle.\n   * Camera view will rotate over the orbit pivot absolutely:\n   *\n   * azimuthAngle\n   * ```\n   *       0º\n   *         \\\n   * 90º -----+----- -90º\n   *           \\\n   *           180º\n   * ```\n   * | direction | angle                  |\n   * | --------- | ---------------------- |\n   * | front     | 0º                     |\n   * | left      | 90º (`Math.PI / 2`)    |\n   * | right     | -90º (`- Math.PI / 2`) |\n   * | back      | 180º (`Math.PI`)       |\n   *\n   * polarAngle\n   * ```\n   *     180º\n   *      |\n   *      90º\n   *      |\n   *      0º\n   * ```\n   * | direction            | angle                  |\n   * | -------------------- | ---------------------- |\n   * | top/sky              | 180º (`Math.PI`)       |\n   * | horizontal from view | 90º (`Math.PI / 2`)    |\n   * | bottom/floor         | 0º                     |\n   *\n   * @param azimuthAngle Azimuth rotate angle to. In radian.\n   * @param polarAngle Polar rotate angle to. In radian.\n   * @param enableTransition  Whether to move smoothly or immediately\n   * @category Methods\n   */\n  rotateTo(azimuthAngle, polarAngle, enableTransition = false) {\n    this._isUserControllingRotate = false;\n    const theta = clamp(azimuthAngle, this.minAzimuthAngle, this.maxAzimuthAngle);\n    const phi = clamp(polarAngle, this.minPolarAngle, this.maxPolarAngle);\n    this._sphericalEnd.theta = theta;\n    this._sphericalEnd.phi = phi;\n    this._sphericalEnd.makeSafe();\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._spherical.theta = this._sphericalEnd.theta;\n      this._spherical.phi = this._sphericalEnd.phi;\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Dolly in/out camera position.\n   * @param distance Distance of dollyIn. Negative number for dollyOut.\n   * @param enableTransition Whether to move smoothly or immediately.\n   * @category Methods\n   */\n  dolly(distance, enableTransition = false) {\n    return this.dollyTo(this._sphericalEnd.radius - distance, enableTransition);\n  }\n  /**\n   * Dolly in/out camera position to given distance.\n   * @param distance Distance of dolly.\n   * @param enableTransition Whether to move smoothly or immediately.\n   * @category Methods\n   */\n  dollyTo(distance, enableTransition = false) {\n    this._isUserControllingDolly = false;\n    this._lastDollyDirection = DOLLY_DIRECTION.NONE;\n    this._changedDolly = 0;\n    return this._dollyToNoClamp(clamp(distance, this.minDistance, this.maxDistance), enableTransition);\n  }\n  _dollyToNoClamp(distance, enableTransition = false) {\n    const lastRadius = this._sphericalEnd.radius;\n    const hasCollider = this.colliderMeshes.length >= 1;\n    if (hasCollider) {\n      const maxDistanceByCollisionTest = this._collisionTest();\n      const isCollided = approxEquals(maxDistanceByCollisionTest, this._spherical.radius);\n      const isDollyIn = lastRadius > distance;\n      if (!isDollyIn && isCollided)\n        return Promise.resolve();\n      this._sphericalEnd.radius = Math.min(distance, maxDistanceByCollisionTest);\n    } else {\n      this._sphericalEnd.radius = distance;\n    }\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._spherical.radius = this._sphericalEnd.radius;\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Dolly in, but does not change the distance between the target and the camera, and moves the target position instead.\n   * Specify a negative value for dolly out.\n   * @param distance Distance of dolly.\n   * @param enableTransition Whether to move smoothly or immediately.\n   * @category Methods\n   */\n  dollyInFixed(distance, enableTransition = false) {\n    this._targetEnd.add(this._getCameraDirection(_cameraDirection).multiplyScalar(distance));\n    if (!enableTransition) {\n      this._target.copy(this._targetEnd);\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && approxEquals(this._target.z, this._targetEnd.z, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Zoom in/out camera. The value is added to camera zoom.\n   * Limits set with `.minZoom` and `.maxZoom`\n   * @param zoomStep zoom scale\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  zoom(zoomStep, enableTransition = false) {\n    return this.zoomTo(this._zoomEnd + zoomStep, enableTransition);\n  }\n  /**\n   * Zoom in/out camera to given scale. The value overwrites camera zoom.\n   * Limits set with .minZoom and .maxZoom\n   * @param zoom\n   * @param enableTransition\n   * @category Methods\n   */\n  zoomTo(zoom, enableTransition = false) {\n    this._isUserControllingZoom = false;\n    this._zoomEnd = clamp(zoom, this.minZoom, this.maxZoom);\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._zoom = this._zoomEnd;\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._zoom, this._zoomEnd, this.restThreshold);\n    this._changedZoom = 0;\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * @deprecated `pan()` has been renamed to `truck()`\n   * @category Methods\n   */\n  pan(x, y, enableTransition = false) {\n    console.warn(\"`pan` has been renamed to `truck`\");\n    return this.truck(x, y, enableTransition);\n  }\n  /**\n   * Truck and pedestal camera using current azimuthal angle\n   * @param x Horizontal translate amount\n   * @param y Vertical translate amount\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  truck(x, y, enableTransition = false) {\n    this._camera.updateMatrix();\n    _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\n    _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\n    _xColumn.multiplyScalar(x);\n    _yColumn.multiplyScalar(-y);\n    const offset = _v3A.copy(_xColumn).add(_yColumn);\n    const to = _v3B.copy(this._targetEnd).add(offset);\n    return this.moveTo(to.x, to.y, to.z, enableTransition);\n  }\n  /**\n   * Move forward / backward.\n   * @param distance Amount to move forward / backward. Negative value to move backward\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  forward(distance, enableTransition = false) {\n    _v3A.setFromMatrixColumn(this._camera.matrix, 0);\n    _v3A.crossVectors(this._camera.up, _v3A);\n    _v3A.multiplyScalar(distance);\n    const to = _v3B.copy(this._targetEnd).add(_v3A);\n    return this.moveTo(to.x, to.y, to.z, enableTransition);\n  }\n  /**\n   * Move up / down.\n   * @param height Amount to move up / down. Negative value to move down\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  elevate(height, enableTransition = false) {\n    _v3A.copy(this._camera.up).multiplyScalar(height);\n    return this.moveTo(this._targetEnd.x + _v3A.x, this._targetEnd.y + _v3A.y, this._targetEnd.z + _v3A.z, enableTransition);\n  }\n  /**\n   * Move target position to given point.\n   * @param x x coord to move center position\n   * @param y y coord to move center position\n   * @param z z coord to move center position\n   * @param enableTransition Whether to move smoothly or immediately\n   * @category Methods\n   */\n  moveTo(x, y, z, enableTransition = false) {\n    this._isUserControllingTruck = false;\n    const offset = _v3A.set(x, y, z).sub(this._targetEnd);\n    this._encloseToBoundary(this._targetEnd, offset, this.boundaryFriction);\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._target.copy(this._targetEnd);\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && approxEquals(this._target.z, this._targetEnd.z, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Look in the given point direction.\n   * @param x point x.\n   * @param y point y.\n   * @param z point z.\n   * @param enableTransition Whether to move smoothly or immediately.\n   * @returns Transition end promise\n   * @category Methods\n   */\n  lookInDirectionOf(x, y, z, enableTransition = false) {\n    const point = _v3A.set(x, y, z);\n    const direction = point.sub(this._targetEnd).normalize();\n    const position = direction.multiplyScalar(-this._sphericalEnd.radius).add(this._targetEnd);\n    return this.setPosition(position.x, position.y, position.z, enableTransition);\n  }\n  /**\n   * Fit the viewport to the box or the bounding box of the object, using the nearest axis. paddings are in unit.\n   * set `cover: true` to fill enter screen.\n   * e.g.\n   * ```\n   * cameraControls.fitToBox( myMesh );\n   * ```\n   * @param box3OrObject Axis aligned bounding box to fit the view.\n   * @param enableTransition Whether to move smoothly or immediately.\n   * @param options | `<object>` { cover: boolean, paddingTop: number, paddingLeft: number, paddingBottom: number, paddingRight: number }\n   * @returns Transition end promise\n   * @category Methods\n   */\n  fitToBox(box3OrObject, enableTransition, { cover = false, paddingLeft = 0, paddingRight = 0, paddingBottom = 0, paddingTop = 0 } = {}) {\n    const promises = [];\n    const aabb = box3OrObject.isBox3 ? _box3A.copy(box3OrObject) : _box3A.setFromObject(box3OrObject);\n    if (aabb.isEmpty()) {\n      console.warn(\"camera-controls: fitTo() cannot be used with an empty box. Aborting\");\n      Promise.resolve();\n    }\n    const theta = roundToStep(this._sphericalEnd.theta, PI_HALF);\n    const phi = roundToStep(this._sphericalEnd.phi, PI_HALF);\n    promises.push(this.rotateTo(theta, phi, enableTransition));\n    const normal = _v3A.setFromSpherical(this._sphericalEnd).normalize();\n    const rotation = _quaternionA.setFromUnitVectors(normal, _AXIS_Z);\n    const viewFromPolar = approxEquals(Math.abs(normal.y), 1);\n    if (viewFromPolar) {\n      rotation.multiply(_quaternionB.setFromAxisAngle(_AXIS_Y, theta));\n    }\n    rotation.multiply(this._yAxisUpSpaceInverse);\n    const bb = _box3B.makeEmpty();\n    _v3B.copy(aabb.min).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.min).setX(aabb.max.x).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.min).setY(aabb.max.y).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.max).setZ(aabb.min.z).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.min).setZ(aabb.max.z).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.max).setY(aabb.min.y).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.max).setX(aabb.min.x).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    _v3B.copy(aabb.max).applyQuaternion(rotation);\n    bb.expandByPoint(_v3B);\n    bb.min.x -= paddingLeft;\n    bb.min.y -= paddingBottom;\n    bb.max.x += paddingRight;\n    bb.max.y += paddingTop;\n    rotation.setFromUnitVectors(_AXIS_Z, normal);\n    if (viewFromPolar) {\n      rotation.premultiply(_quaternionB.invert());\n    }\n    rotation.premultiply(this._yAxisUpSpace);\n    const bbSize = bb.getSize(_v3A);\n    const center = bb.getCenter(_v3B).applyQuaternion(rotation);\n    if (isPerspectiveCamera(this._camera)) {\n      const distance = this.getDistanceToFitBox(bbSize.x, bbSize.y, bbSize.z, cover);\n      promises.push(this.moveTo(center.x, center.y, center.z, enableTransition));\n      promises.push(this.dollyTo(distance, enableTransition));\n      promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n    } else if (isOrthographicCamera(this._camera)) {\n      const camera = this._camera;\n      const width = camera.right - camera.left;\n      const height = camera.top - camera.bottom;\n      const zoom = cover ? Math.max(width / bbSize.x, height / bbSize.y) : Math.min(width / bbSize.x, height / bbSize.y);\n      promises.push(this.moveTo(center.x, center.y, center.z, enableTransition));\n      promises.push(this.zoomTo(zoom, enableTransition));\n      promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n    }\n    return Promise.all(promises);\n  }\n  /**\n   * Fit the viewport to the sphere or the bounding sphere of the object.\n   * @param sphereOrMesh\n   * @param enableTransition\n   * @category Methods\n   */\n  fitToSphere(sphereOrMesh, enableTransition) {\n    const promises = [];\n    const isObject3D = \"isObject3D\" in sphereOrMesh;\n    const boundingSphere = isObject3D ? _CameraControls.createBoundingSphere(sphereOrMesh, _sphere) : _sphere.copy(sphereOrMesh);\n    promises.push(this.moveTo(boundingSphere.center.x, boundingSphere.center.y, boundingSphere.center.z, enableTransition));\n    if (isPerspectiveCamera(this._camera)) {\n      const distanceToFit = this.getDistanceToFitSphere(boundingSphere.radius);\n      promises.push(this.dollyTo(distanceToFit, enableTransition));\n    } else if (isOrthographicCamera(this._camera)) {\n      const width = this._camera.right - this._camera.left;\n      const height = this._camera.top - this._camera.bottom;\n      const diameter = 2 * boundingSphere.radius;\n      const zoom = Math.min(width / diameter, height / diameter);\n      promises.push(this.zoomTo(zoom, enableTransition));\n    }\n    promises.push(this.setFocalOffset(0, 0, 0, enableTransition));\n    return Promise.all(promises);\n  }\n  /**\n   * Look at the `target` from the `position`.\n   * @param positionX\n   * @param positionY\n   * @param positionZ\n   * @param targetX\n   * @param targetY\n   * @param targetZ\n   * @param enableTransition\n   * @category Methods\n   */\n  setLookAt(positionX, positionY, positionZ, targetX, targetY, targetZ, enableTransition = false) {\n    this._isUserControllingRotate = false;\n    this._isUserControllingDolly = false;\n    this._isUserControllingTruck = false;\n    this._lastDollyDirection = DOLLY_DIRECTION.NONE;\n    this._changedDolly = 0;\n    const target = _v3B.set(targetX, targetY, targetZ);\n    const position = _v3A.set(positionX, positionY, positionZ);\n    this._targetEnd.copy(target);\n    this._sphericalEnd.setFromVector3(position.sub(target).applyQuaternion(this._yAxisUpSpace));\n    this.normalizeRotations();\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._target.copy(this._targetEnd);\n      this._spherical.copy(this._sphericalEnd);\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) && approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) && approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Similar to setLookAt, but it interpolates between two states.\n   * @param positionAX\n   * @param positionAY\n   * @param positionAZ\n   * @param targetAX\n   * @param targetAY\n   * @param targetAZ\n   * @param positionBX\n   * @param positionBY\n   * @param positionBZ\n   * @param targetBX\n   * @param targetBY\n   * @param targetBZ\n   * @param t\n   * @param enableTransition\n   * @category Methods\n   */\n  lerpLookAt(positionAX, positionAY, positionAZ, targetAX, targetAY, targetAZ, positionBX, positionBY, positionBZ, targetBX, targetBY, targetBZ, t, enableTransition = false) {\n    this._isUserControllingRotate = false;\n    this._isUserControllingDolly = false;\n    this._isUserControllingTruck = false;\n    this._lastDollyDirection = DOLLY_DIRECTION.NONE;\n    this._changedDolly = 0;\n    const targetA = _v3A.set(targetAX, targetAY, targetAZ);\n    const positionA = _v3B.set(positionAX, positionAY, positionAZ);\n    _sphericalA.setFromVector3(positionA.sub(targetA).applyQuaternion(this._yAxisUpSpace));\n    const targetB = _v3C.set(targetBX, targetBY, targetBZ);\n    const positionB = _v3B.set(positionBX, positionBY, positionBZ);\n    _sphericalB.setFromVector3(positionB.sub(targetB).applyQuaternion(this._yAxisUpSpace));\n    this._targetEnd.copy(targetA.lerp(targetB, t));\n    const deltaTheta = _sphericalB.theta - _sphericalA.theta;\n    const deltaPhi = _sphericalB.phi - _sphericalA.phi;\n    const deltaRadius = _sphericalB.radius - _sphericalA.radius;\n    this._sphericalEnd.set(_sphericalA.radius + deltaRadius * t, _sphericalA.phi + deltaPhi * t, _sphericalA.theta + deltaTheta * t);\n    this.normalizeRotations();\n    this._needsUpdate = true;\n    if (!enableTransition) {\n      this._target.copy(this._targetEnd);\n      this._spherical.copy(this._sphericalEnd);\n    }\n    const resolveImmediately = !enableTransition || approxEquals(this._target.x, this._targetEnd.x, this.restThreshold) && approxEquals(this._target.y, this._targetEnd.y, this.restThreshold) && approxEquals(this._target.z, this._targetEnd.z, this.restThreshold) && approxEquals(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && approxEquals(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) && approxEquals(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Set angle and distance by given position.\n   * An alias of `setLookAt()`, without target change. Thus keep gazing at the current target\n   * @param positionX\n   * @param positionY\n   * @param positionZ\n   * @param enableTransition\n   * @category Methods\n   */\n  setPosition(positionX, positionY, positionZ, enableTransition = false) {\n    return this.setLookAt(positionX, positionY, positionZ, this._targetEnd.x, this._targetEnd.y, this._targetEnd.z, enableTransition);\n  }\n  /**\n   * Set the target position where gaze at.\n   * An alias of `setLookAt()`, without position change. Thus keep the same position.\n   * @param targetX\n   * @param targetY\n   * @param targetZ\n   * @param enableTransition\n   * @category Methods\n   */\n  setTarget(targetX, targetY, targetZ, enableTransition = false) {\n    const pos = this.getPosition(_v3A);\n    const promise = this.setLookAt(pos.x, pos.y, pos.z, targetX, targetY, targetZ, enableTransition);\n    this._sphericalEnd.phi = clamp(this._sphericalEnd.phi, this.minPolarAngle, this.maxPolarAngle);\n    return promise;\n  }\n  /**\n   * Set focal offset using the screen parallel coordinates. z doesn't affect in Orthographic as with Dolly.\n   * @param x\n   * @param y\n   * @param z\n   * @param enableTransition\n   * @category Methods\n   */\n  setFocalOffset(x, y, z, enableTransition = false) {\n    this._isUserControllingOffset = false;\n    this._focalOffsetEnd.set(x, y, z);\n    this._needsUpdate = true;\n    if (!enableTransition)\n      this._focalOffset.copy(this._focalOffsetEnd);\n    const resolveImmediately = !enableTransition || approxEquals(this._focalOffset.x, this._focalOffsetEnd.x, this.restThreshold) && approxEquals(this._focalOffset.y, this._focalOffsetEnd.y, this.restThreshold) && approxEquals(this._focalOffset.z, this._focalOffsetEnd.z, this.restThreshold);\n    return this._createOnRestPromise(resolveImmediately);\n  }\n  /**\n   * Set orbit point without moving the camera.\n   * SHOULD NOT RUN DURING ANIMATIONS. `setOrbitPoint()` will immediately fix the positions.\n   * @param targetX\n   * @param targetY\n   * @param targetZ\n   * @category Methods\n   */\n  setOrbitPoint(targetX, targetY, targetZ) {\n    this._camera.updateMatrixWorld();\n    _xColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 0);\n    _yColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 1);\n    _zColumn.setFromMatrixColumn(this._camera.matrixWorldInverse, 2);\n    const position = _v3A.set(targetX, targetY, targetZ);\n    const distance = position.distanceTo(this._camera.position);\n    const cameraToPoint = position.sub(this._camera.position);\n    _xColumn.multiplyScalar(cameraToPoint.x);\n    _yColumn.multiplyScalar(cameraToPoint.y);\n    _zColumn.multiplyScalar(cameraToPoint.z);\n    _v3A.copy(_xColumn).add(_yColumn).add(_zColumn);\n    _v3A.z = _v3A.z + distance;\n    this.dollyTo(distance, false);\n    this.setFocalOffset(-_v3A.x, _v3A.y, -_v3A.z, false);\n    this.moveTo(targetX, targetY, targetZ, false);\n  }\n  /**\n   * Set the boundary box that encloses the target of the camera. box3 is in THREE.Box3\n   * @param box3\n   * @category Methods\n   */\n  setBoundary(box3) {\n    if (!box3) {\n      this._boundary.min.set(-Infinity, -Infinity, -Infinity);\n      this._boundary.max.set(Infinity, Infinity, Infinity);\n      this._needsUpdate = true;\n      return;\n    }\n    this._boundary.copy(box3);\n    this._boundary.clampPoint(this._targetEnd, this._targetEnd);\n    this._needsUpdate = true;\n  }\n  /**\n   * Set (or unset) the current viewport.\n   * Set this when you want to use renderer viewport and .dollyToCursor feature at the same time.\n   * @param viewportOrX\n   * @param y\n   * @param width\n   * @param height\n   * @category Methods\n   */\n  setViewport(viewportOrX, y, width, height) {\n    if (viewportOrX === null) {\n      this._viewport = null;\n      return;\n    }\n    this._viewport = this._viewport || new THREE.Vector4();\n    if (typeof viewportOrX === \"number\") {\n      this._viewport.set(viewportOrX, y, width, height);\n    } else {\n      this._viewport.copy(viewportOrX);\n    }\n  }\n  /**\n   * Calculate the distance to fit the box.\n   * @param width box width\n   * @param height box height\n   * @param depth box depth\n   * @returns distance\n   * @category Methods\n   */\n  getDistanceToFitBox(width, height, depth, cover = false) {\n    if (notSupportedInOrthographicCamera(this._camera, \"getDistanceToFitBox\"))\n      return this._spherical.radius;\n    const boundingRectAspect = width / height;\n    const fov = this._camera.getEffectiveFOV() * DEG2RAD;\n    const aspect = this._camera.aspect;\n    const heightToFit = (cover ? boundingRectAspect > aspect : boundingRectAspect < aspect) ? height : width / aspect;\n    return heightToFit * 0.5 / Math.tan(fov * 0.5) + depth * 0.5;\n  }\n  /**\n   * Calculate the distance to fit the sphere.\n   * @param radius sphere radius\n   * @returns distance\n   * @category Methods\n   */\n  getDistanceToFitSphere(radius) {\n    if (notSupportedInOrthographicCamera(this._camera, \"getDistanceToFitSphere\"))\n      return this._spherical.radius;\n    const vFOV = this._camera.getEffectiveFOV() * DEG2RAD;\n    const hFOV = Math.atan(Math.tan(vFOV * 0.5) * this._camera.aspect) * 2;\n    const fov = 1 < this._camera.aspect ? vFOV : hFOV;\n    return radius / Math.sin(fov * 0.5);\n  }\n  /**\n   * Returns the orbit center position, where the camera looking at.\n   * @param out The receiving Vector3 instance to copy the result\n   * @param receiveEndValue Whether receive the transition end coords or current. default is `true`\n   * @category Methods\n   */\n  getTarget(out, receiveEndValue = true) {\n    const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n    return _out.copy(receiveEndValue ? this._targetEnd : this._target);\n  }\n  /**\n   * Returns the camera position.\n   * @param out The receiving Vector3 instance to copy the result\n   * @param receiveEndValue Whether receive the transition end coords or current. default is `true`\n   * @category Methods\n   */\n  getPosition(out, receiveEndValue = true) {\n    const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n    return _out.setFromSpherical(receiveEndValue ? this._sphericalEnd : this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(receiveEndValue ? this._targetEnd : this._target);\n  }\n  /**\n   * Returns the spherical coordinates of the orbit.\n   * @param out The receiving Spherical instance to copy the result\n   * @param receiveEndValue Whether receive the transition end coords or current. default is `true`\n   * @category Methods\n   */\n  getSpherical(out, receiveEndValue = true) {\n    const _out = out || new THREE.Spherical();\n    return _out.copy(receiveEndValue ? this._sphericalEnd : this._spherical);\n  }\n  /**\n   * Returns the focal offset, which is how much the camera appears to be translated in screen parallel coordinates.\n   * @param out The receiving Vector3 instance to copy the result\n   * @param receiveEndValue Whether receive the transition end coords or current. default is `true`\n   * @category Methods\n   */\n  getFocalOffset(out, receiveEndValue = true) {\n    const _out = !!out && out.isVector3 ? out : new THREE.Vector3();\n    return _out.copy(receiveEndValue ? this._focalOffsetEnd : this._focalOffset);\n  }\n  /**\n   * Normalize camera azimuth angle rotation between 0 and 360 degrees.\n   * @category Methods\n   */\n  normalizeRotations() {\n    this._sphericalEnd.theta = this._sphericalEnd.theta % PI_2;\n    if (this._sphericalEnd.theta < 0)\n      this._sphericalEnd.theta += PI_2;\n    this._spherical.theta += PI_2 * Math.round((this._sphericalEnd.theta - this._spherical.theta) / PI_2);\n  }\n  /**\n   * stop all transitions.\n   */\n  stop() {\n    this._focalOffset.copy(this._focalOffsetEnd);\n    this._target.copy(this._targetEnd);\n    this._spherical.copy(this._sphericalEnd);\n    this._zoom = this._zoomEnd;\n  }\n  /**\n   * Reset all rotation and position to defaults.\n   * @param enableTransition\n   * @category Methods\n   */\n  reset(enableTransition = false) {\n    if (!approxEquals(this._camera.up.x, this._cameraUp0.x) || !approxEquals(this._camera.up.y, this._cameraUp0.y) || !approxEquals(this._camera.up.z, this._cameraUp0.z)) {\n      this._camera.up.copy(this._cameraUp0);\n      const position = this.getPosition(_v3A);\n      this.updateCameraUp();\n      this.setPosition(position.x, position.y, position.z);\n    }\n    const promises = [\n      this.setLookAt(this._position0.x, this._position0.y, this._position0.z, this._target0.x, this._target0.y, this._target0.z, enableTransition),\n      this.setFocalOffset(this._focalOffset0.x, this._focalOffset0.y, this._focalOffset0.z, enableTransition),\n      this.zoomTo(this._zoom0, enableTransition)\n    ];\n    return Promise.all(promises);\n  }\n  /**\n   * Set current camera position as the default position.\n   * @category Methods\n   */\n  saveState() {\n    this._cameraUp0.copy(this._camera.up);\n    this.getTarget(this._target0);\n    this.getPosition(this._position0);\n    this._zoom0 = this._zoom;\n    this._focalOffset0.copy(this._focalOffset);\n  }\n  /**\n   * Sync camera-up direction.\n   * When camera-up vector is changed, `.updateCameraUp()` must be called.\n   * @category Methods\n   */\n  updateCameraUp() {\n    this._yAxisUpSpace.setFromUnitVectors(this._camera.up, _AXIS_Y);\n    this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace).invert();\n  }\n  /**\n   * Apply current camera-up direction to the camera.\n   * The orbit system will be re-initialized with the current position.\n   * @category Methods\n   */\n  applyCameraUp() {\n    const cameraDirection = _v3A.subVectors(this._target, this._camera.position).normalize();\n    const side = _v3B.crossVectors(cameraDirection, this._camera.up);\n    this._camera.up.crossVectors(side, cameraDirection).normalize();\n    this._camera.updateMatrixWorld();\n    const position = this.getPosition(_v3A);\n    this.updateCameraUp();\n    this.setPosition(position.x, position.y, position.z);\n  }\n  /**\n   * Update camera position and directions.\n   * This should be called in your tick loop every time, and returns true if re-rendering is needed.\n   * @param delta\n   * @returns updated\n   * @category Methods\n   */\n  update(delta) {\n    const deltaTheta = this._sphericalEnd.theta - this._spherical.theta;\n    const deltaPhi = this._sphericalEnd.phi - this._spherical.phi;\n    const deltaRadius = this._sphericalEnd.radius - this._spherical.radius;\n    const deltaTarget = _deltaTarget.subVectors(this._targetEnd, this._target);\n    const deltaOffset = _deltaOffset.subVectors(this._focalOffsetEnd, this._focalOffset);\n    const deltaZoom = this._zoomEnd - this._zoom;\n    if (approxZero(deltaTheta)) {\n      this._thetaVelocity.value = 0;\n      this._spherical.theta = this._sphericalEnd.theta;\n    } else {\n      const smoothTime = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;\n      this._spherical.theta = smoothDamp(this._spherical.theta, this._sphericalEnd.theta, this._thetaVelocity, smoothTime, Infinity, delta);\n      this._needsUpdate = true;\n    }\n    if (approxZero(deltaPhi)) {\n      this._phiVelocity.value = 0;\n      this._spherical.phi = this._sphericalEnd.phi;\n    } else {\n      const smoothTime = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;\n      this._spherical.phi = smoothDamp(this._spherical.phi, this._sphericalEnd.phi, this._phiVelocity, smoothTime, Infinity, delta);\n      this._needsUpdate = true;\n    }\n    if (approxZero(deltaRadius)) {\n      this._radiusVelocity.value = 0;\n      this._spherical.radius = this._sphericalEnd.radius;\n    } else {\n      const smoothTime = this._isUserControllingDolly ? this.draggingSmoothTime : this.smoothTime;\n      this._spherical.radius = smoothDamp(this._spherical.radius, this._sphericalEnd.radius, this._radiusVelocity, smoothTime, this.maxSpeed, delta);\n      this._needsUpdate = true;\n    }\n    if (approxZero(deltaTarget.x) && approxZero(deltaTarget.y) && approxZero(deltaTarget.z)) {\n      this._targetVelocity.set(0, 0, 0);\n      this._target.copy(this._targetEnd);\n    } else {\n      const smoothTime = this._isUserControllingTruck ? this.draggingSmoothTime : this.smoothTime;\n      smoothDampVec3(this._target, this._targetEnd, this._targetVelocity, smoothTime, this.maxSpeed, delta, this._target);\n      this._needsUpdate = true;\n    }\n    if (approxZero(deltaOffset.x) && approxZero(deltaOffset.y) && approxZero(deltaOffset.z)) {\n      this._focalOffsetVelocity.set(0, 0, 0);\n      this._focalOffset.copy(this._focalOffsetEnd);\n    } else {\n      const smoothTime = this._isUserControllingOffset ? this.draggingSmoothTime : this.smoothTime;\n      smoothDampVec3(this._focalOffset, this._focalOffsetEnd, this._focalOffsetVelocity, smoothTime, this.maxSpeed, delta, this._focalOffset);\n      this._needsUpdate = true;\n    }\n    if (approxZero(deltaZoom)) {\n      this._zoomVelocity.value = 0;\n      this._zoom = this._zoomEnd;\n    } else {\n      const smoothTime = this._isUserControllingZoom ? this.draggingSmoothTime : this.smoothTime;\n      this._zoom = smoothDamp(this._zoom, this._zoomEnd, this._zoomVelocity, smoothTime, Infinity, delta);\n    }\n    if (this.dollyToCursor) {\n      if (isPerspectiveCamera(this._camera) && this._changedDolly !== 0) {\n        const dollyControlAmount = this._spherical.radius - this._lastDistance;\n        const camera = this._camera;\n        const cameraDirection = this._getCameraDirection(_cameraDirection);\n        const planeX = _v3A.copy(cameraDirection).cross(camera.up).normalize();\n        if (planeX.lengthSq() === 0)\n          planeX.x = 1;\n        const planeY = _v3B.crossVectors(planeX, cameraDirection);\n        const worldToScreen = this._sphericalEnd.radius * Math.tan(camera.getEffectiveFOV() * DEG2RAD * 0.5);\n        const prevRadius = this._sphericalEnd.radius - dollyControlAmount;\n        const lerpRatio = (prevRadius - this._sphericalEnd.radius) / this._sphericalEnd.radius;\n        const cursor = _v3C.copy(this._targetEnd).add(planeX.multiplyScalar(this._dollyControlCoord.x * worldToScreen * camera.aspect)).add(planeY.multiplyScalar(this._dollyControlCoord.y * worldToScreen));\n        const newTargetEnd = _v3A.copy(this._targetEnd).lerp(cursor, lerpRatio);\n        const isMin = this._lastDollyDirection === DOLLY_DIRECTION.IN && this._spherical.radius <= this.minDistance;\n        const isMax = this._lastDollyDirection === DOLLY_DIRECTION.OUT && this.maxDistance <= this._spherical.radius;\n        if (this.infinityDolly && (isMin || isMax)) {\n          this._sphericalEnd.radius -= dollyControlAmount;\n          this._spherical.radius -= dollyControlAmount;\n          const dollyAmount = _v3B.copy(cameraDirection).multiplyScalar(-dollyControlAmount);\n          newTargetEnd.add(dollyAmount);\n        }\n        this._boundary.clampPoint(newTargetEnd, newTargetEnd);\n        const targetEndDiff = _v3B.subVectors(newTargetEnd, this._targetEnd);\n        this._targetEnd.copy(newTargetEnd);\n        this._target.add(targetEndDiff);\n        this._changedDolly -= dollyControlAmount;\n        if (approxZero(this._changedDolly))\n          this._changedDolly = 0;\n      } else if (isOrthographicCamera(this._camera) && this._changedZoom !== 0) {\n        const dollyControlAmount = this._zoom - this._lastZoom;\n        const camera = this._camera;\n        const worldCursorPosition = _v3A.set(this._dollyControlCoord.x, this._dollyControlCoord.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera);\n        const quaternion = _v3B.set(0, 0, -1).applyQuaternion(camera.quaternion);\n        const cursor = _v3C.copy(worldCursorPosition).add(quaternion.multiplyScalar(-worldCursorPosition.dot(camera.up)));\n        const prevZoom = this._zoom - dollyControlAmount;\n        const lerpRatio = -(prevZoom - this._zoom) / this._zoom;\n        const cameraDirection = this._getCameraDirection(_cameraDirection);\n        const prevPlaneConstant = this._targetEnd.dot(cameraDirection);\n        const newTargetEnd = _v3A.copy(this._targetEnd).lerp(cursor, lerpRatio);\n        const newPlaneConstant = newTargetEnd.dot(cameraDirection);\n        const pullBack = cameraDirection.multiplyScalar(newPlaneConstant - prevPlaneConstant);\n        newTargetEnd.sub(pullBack);\n        this._boundary.clampPoint(newTargetEnd, newTargetEnd);\n        const targetEndDiff = _v3B.subVectors(newTargetEnd, this._targetEnd);\n        this._targetEnd.copy(newTargetEnd);\n        this._target.add(targetEndDiff);\n        this._changedZoom -= dollyControlAmount;\n        if (approxZero(this._changedZoom))\n          this._changedZoom = 0;\n      }\n    }\n    if (this._camera.zoom !== this._zoom) {\n      this._camera.zoom = this._zoom;\n      this._camera.updateProjectionMatrix();\n      this._updateNearPlaneCorners();\n      this._needsUpdate = true;\n    }\n    this._dragNeedsUpdate = true;\n    const maxDistance = this._collisionTest();\n    this._spherical.radius = Math.min(this._spherical.radius, maxDistance);\n    this._spherical.makeSafe();\n    this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target);\n    this._camera.lookAt(this._target);\n    const affectOffset = !approxZero(this._focalOffset.x) || !approxZero(this._focalOffset.y) || !approxZero(this._focalOffset.z);\n    if (affectOffset) {\n      this._camera.updateMatrixWorld();\n      _xColumn.setFromMatrixColumn(this._camera.matrix, 0);\n      _yColumn.setFromMatrixColumn(this._camera.matrix, 1);\n      _zColumn.setFromMatrixColumn(this._camera.matrix, 2);\n      _xColumn.multiplyScalar(this._focalOffset.x);\n      _yColumn.multiplyScalar(-this._focalOffset.y);\n      _zColumn.multiplyScalar(this._focalOffset.z);\n      _v3A.copy(_xColumn).add(_yColumn).add(_zColumn);\n      this._camera.position.add(_v3A);\n    }\n    if (this._boundaryEnclosesCamera) {\n      this._encloseToBoundary(this._camera.position.copy(this._target), _v3A.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse), 1);\n    }\n    const updated = this._needsUpdate;\n    if (updated && !this._updatedLastTime) {\n      this._hasRested = false;\n      this.dispatchEvent({ type: \"wake\" });\n      this.dispatchEvent({ type: \"update\" });\n    } else if (updated) {\n      this.dispatchEvent({ type: \"update\" });\n      if (approxZero(deltaTheta, this.restThreshold) && approxZero(deltaPhi, this.restThreshold) && approxZero(deltaRadius, this.restThreshold) && approxZero(deltaTarget.x, this.restThreshold) && approxZero(deltaTarget.y, this.restThreshold) && approxZero(deltaTarget.z, this.restThreshold) && approxZero(deltaOffset.x, this.restThreshold) && approxZero(deltaOffset.y, this.restThreshold) && approxZero(deltaOffset.z, this.restThreshold) && approxZero(deltaZoom, this.restThreshold) && !this._hasRested) {\n        this._hasRested = true;\n        this.dispatchEvent({ type: \"rest\" });\n      }\n    } else if (!updated && this._updatedLastTime) {\n      this.dispatchEvent({ type: \"sleep\" });\n    }\n    this._lastDistance = this._spherical.radius;\n    this._lastZoom = this._zoom;\n    this._updatedLastTime = updated;\n    this._needsUpdate = false;\n    return updated;\n  }\n  /**\n   * Get all state in JSON string\n   * @category Methods\n   */\n  toJSON() {\n    return JSON.stringify({\n      enabled: this._enabled,\n      minDistance: this.minDistance,\n      maxDistance: infinityToMaxNumber(this.maxDistance),\n      minZoom: this.minZoom,\n      maxZoom: infinityToMaxNumber(this.maxZoom),\n      minPolarAngle: this.minPolarAngle,\n      maxPolarAngle: infinityToMaxNumber(this.maxPolarAngle),\n      minAzimuthAngle: infinityToMaxNumber(this.minAzimuthAngle),\n      maxAzimuthAngle: infinityToMaxNumber(this.maxAzimuthAngle),\n      smoothTime: this.smoothTime,\n      draggingSmoothTime: this.draggingSmoothTime,\n      dollySpeed: this.dollySpeed,\n      truckSpeed: this.truckSpeed,\n      dollyToCursor: this.dollyToCursor,\n      verticalDragToForward: this.verticalDragToForward,\n      target: this._targetEnd.toArray(),\n      position: _v3A.setFromSpherical(this._sphericalEnd).add(this._targetEnd).toArray(),\n      zoom: this._zoomEnd,\n      focalOffset: this._focalOffsetEnd.toArray(),\n      target0: this._target0.toArray(),\n      position0: this._position0.toArray(),\n      zoom0: this._zoom0,\n      focalOffset0: this._focalOffset0.toArray()\n    });\n  }\n  /**\n   * Reproduce the control state with JSON. enableTransition is where anim or not in a boolean.\n   * @param json\n   * @param enableTransition\n   * @category Methods\n   */\n  fromJSON(json, enableTransition = false) {\n    const obj = JSON.parse(json);\n    this.enabled = obj.enabled;\n    this.minDistance = obj.minDistance;\n    this.maxDistance = maxNumberToInfinity(obj.maxDistance);\n    this.minZoom = obj.minZoom;\n    this.maxZoom = maxNumberToInfinity(obj.maxZoom);\n    this.minPolarAngle = obj.minPolarAngle;\n    this.maxPolarAngle = maxNumberToInfinity(obj.maxPolarAngle);\n    this.minAzimuthAngle = maxNumberToInfinity(obj.minAzimuthAngle);\n    this.maxAzimuthAngle = maxNumberToInfinity(obj.maxAzimuthAngle);\n    this.smoothTime = obj.smoothTime;\n    this.draggingSmoothTime = obj.draggingSmoothTime;\n    this.dollySpeed = obj.dollySpeed;\n    this.truckSpeed = obj.truckSpeed;\n    this.dollyToCursor = obj.dollyToCursor;\n    this.verticalDragToForward = obj.verticalDragToForward;\n    this._target0.fromArray(obj.target0);\n    this._position0.fromArray(obj.position0);\n    this._zoom0 = obj.zoom0;\n    this._focalOffset0.fromArray(obj.focalOffset0);\n    this.moveTo(obj.target[0], obj.target[1], obj.target[2], enableTransition);\n    _sphericalA.setFromVector3(_v3A.fromArray(obj.position).sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace));\n    this.rotateTo(_sphericalA.theta, _sphericalA.phi, enableTransition);\n    this.dollyTo(_sphericalA.radius, enableTransition);\n    this.zoomTo(obj.zoom, enableTransition);\n    this.setFocalOffset(obj.focalOffset[0], obj.focalOffset[1], obj.focalOffset[2], enableTransition);\n    this._needsUpdate = true;\n  }\n  /**\n   * Attach all internal event handlers to enable drag control.\n   * @category Methods\n   */\n  connect(domElement) {\n    if (this._domElement) {\n      console.warn(\"camera-controls is already connected.\");\n      return;\n    }\n    domElement.setAttribute(\"data-camera-controls-version\", VERSION);\n    this._addAllEventListeners(domElement);\n    this._getClientRect(this._elementRect);\n  }\n  /**\n   * Detach all internal event handlers to disable drag control.\n   */\n  disconnect() {\n    this.cancel();\n    this._removeAllEventListeners();\n    if (this._domElement) {\n      this._domElement.removeAttribute(\"data-camera-controls-version\");\n      this._domElement = void 0;\n    }\n  }\n  /**\n   * Dispose the cameraControls instance itself, remove all eventListeners.\n   * @category Methods\n   */\n  dispose() {\n    this.removeAllEventListeners();\n    this.disconnect();\n  }\n  // it's okay to expose public though\n  _getTargetDirection(out) {\n    return out.setFromSpherical(this._spherical).divideScalar(this._spherical.radius).applyQuaternion(this._yAxisUpSpaceInverse);\n  }\n  // it's okay to expose public though\n  _getCameraDirection(out) {\n    return this._getTargetDirection(out).negate();\n  }\n  _findPointerById(pointerId) {\n    return this._activePointers.find((activePointer) => activePointer.pointerId === pointerId);\n  }\n  _findPointerByMouseButton(mouseButton) {\n    return this._activePointers.find((activePointer) => activePointer.mouseButton === mouseButton);\n  }\n  _disposePointer(pointer) {\n    this._activePointers.splice(this._activePointers.indexOf(pointer), 1);\n  }\n  _encloseToBoundary(position, offset, friction) {\n    const offsetLength2 = offset.lengthSq();\n    if (offsetLength2 === 0) {\n      return position;\n    }\n    const newTarget = _v3B.copy(offset).add(position);\n    const clampedTarget = this._boundary.clampPoint(newTarget, _v3C);\n    const deltaClampedTarget = clampedTarget.sub(newTarget);\n    const deltaClampedTargetLength2 = deltaClampedTarget.lengthSq();\n    if (deltaClampedTargetLength2 === 0) {\n      return position.add(offset);\n    } else if (deltaClampedTargetLength2 === offsetLength2) {\n      return position;\n    } else if (friction === 0) {\n      return position.add(offset).add(deltaClampedTarget);\n    } else {\n      const offsetFactor = 1 + friction * deltaClampedTargetLength2 / offset.dot(deltaClampedTarget);\n      return position.add(_v3B.copy(offset).multiplyScalar(offsetFactor)).add(deltaClampedTarget.multiplyScalar(1 - friction));\n    }\n  }\n  _updateNearPlaneCorners() {\n    if (isPerspectiveCamera(this._camera)) {\n      const camera = this._camera;\n      const near = camera.near;\n      const fov = camera.getEffectiveFOV() * DEG2RAD;\n      const heightHalf = Math.tan(fov * 0.5) * near;\n      const widthHalf = heightHalf * camera.aspect;\n      this._nearPlaneCorners[0].set(-widthHalf, -heightHalf, 0);\n      this._nearPlaneCorners[1].set(widthHalf, -heightHalf, 0);\n      this._nearPlaneCorners[2].set(widthHalf, heightHalf, 0);\n      this._nearPlaneCorners[3].set(-widthHalf, heightHalf, 0);\n    } else if (isOrthographicCamera(this._camera)) {\n      const camera = this._camera;\n      const zoomInv = 1 / camera.zoom;\n      const left = camera.left * zoomInv;\n      const right = camera.right * zoomInv;\n      const top = camera.top * zoomInv;\n      const bottom = camera.bottom * zoomInv;\n      this._nearPlaneCorners[0].set(left, top, 0);\n      this._nearPlaneCorners[1].set(right, top, 0);\n      this._nearPlaneCorners[2].set(right, bottom, 0);\n      this._nearPlaneCorners[3].set(left, bottom, 0);\n    }\n  }\n  // lateUpdate\n  _collisionTest() {\n    let distance = Infinity;\n    const hasCollider = this.colliderMeshes.length >= 1;\n    if (!hasCollider)\n      return distance;\n    if (notSupportedInOrthographicCamera(this._camera, \"_collisionTest\"))\n      return distance;\n    const rayDirection = this._getTargetDirection(_cameraDirection);\n    _rotationMatrix.lookAt(_ORIGIN, rayDirection, this._camera.up);\n    for (let i = 0; i < 4; i++) {\n      const nearPlaneCorner = _v3B.copy(this._nearPlaneCorners[i]);\n      nearPlaneCorner.applyMatrix4(_rotationMatrix);\n      const origin = _v3C.addVectors(this._target, nearPlaneCorner);\n      _raycaster.set(origin, rayDirection);\n      _raycaster.far = this._spherical.radius + 1;\n      const intersects = _raycaster.intersectObjects(this.colliderMeshes);\n      if (intersects.length !== 0 && intersects[0].distance < distance) {\n        distance = intersects[0].distance;\n      }\n    }\n    return distance;\n  }\n  /**\n   * Get its client rect and package into given `DOMRect` .\n   */\n  _getClientRect(target) {\n    if (!this._domElement)\n      return;\n    const rect = this._domElement.getBoundingClientRect();\n    target.x = rect.left;\n    target.y = rect.top;\n    if (this._viewport) {\n      target.x += this._viewport.x;\n      target.y += rect.height - this._viewport.w - this._viewport.y;\n      target.width = this._viewport.z;\n      target.height = this._viewport.w;\n    } else {\n      target.width = rect.width;\n      target.height = rect.height;\n    }\n    return target;\n  }\n  _createOnRestPromise(resolveImmediately) {\n    if (resolveImmediately)\n      return Promise.resolve();\n    this._hasRested = false;\n    this.dispatchEvent({ type: \"transitionstart\" });\n    return new Promise((resolve) => {\n      const onResolve = () => {\n        this.removeEventListener(\"rest\", onResolve);\n        resolve();\n      };\n      this.addEventListener(\"rest\", onResolve);\n    });\n  }\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  _addAllEventListeners(_domElement) {\n  }\n  _removeAllEventListeners() {\n  }\n  /**\n   * backward compatible\n   * @deprecated use smoothTime (in seconds) instead\n   * @category Properties\n   */\n  get dampingFactor() {\n    console.warn(\".dampingFactor has been deprecated. use smoothTime (in seconds) instead.\");\n    return 0;\n  }\n  /**\n   * backward compatible\n   * @deprecated use smoothTime (in seconds) instead\n   * @category Properties\n   */\n  set dampingFactor(_) {\n    console.warn(\".dampingFactor has been deprecated. use smoothTime (in seconds) instead.\");\n  }\n  /**\n   * backward compatible\n   * @deprecated use draggingSmoothTime (in seconds) instead\n   * @category Properties\n   */\n  get draggingDampingFactor() {\n    console.warn(\".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.\");\n    return 0;\n  }\n  /**\n   * backward compatible\n   * @deprecated use draggingSmoothTime (in seconds) instead\n   * @category Properties\n   */\n  set draggingDampingFactor(_) {\n    console.warn(\".draggingDampingFactor has been deprecated. use draggingSmoothTime (in seconds) instead.\");\n  }\n  static createBoundingSphere(object3d, out = new THREE.Sphere()) {\n    const boundingSphere = out;\n    const center = boundingSphere.center;\n    _box3A.makeEmpty();\n    object3d.traverseVisible((object) => {\n      if (!object.isMesh)\n        return;\n      _box3A.expandByObject(object);\n    });\n    _box3A.getCenter(center);\n    let maxRadiusSq = 0;\n    object3d.traverseVisible((object) => {\n      if (!object.isMesh)\n        return;\n      const mesh = object;\n      const geometry = mesh.geometry.clone();\n      geometry.applyMatrix4(mesh.matrixWorld);\n      const bufferGeometry = geometry;\n      const position = bufferGeometry.attributes.position;\n      for (let i = 0, l = position.count; i < l; i++) {\n        _v3A.fromBufferAttribute(position, i);\n        maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_v3A));\n      }\n    });\n    boundingSphere.radius = Math.sqrt(maxRadiusSq);\n    return boundingSphere;\n  }\n};\n\n// src/ShaderGradient/Controls/CameraControl.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction CameraControl(_a2) {\n  var _b = _a2, {\n    smoothTime = 0.05\n  } = _b, props = __objRest(_b, [\n    \"smoothTime\"\n  ]);\n  CameraControls.install({ THREE: three_module_exports });\n  extend({ CameraControls });\n  const camera = useThree((state) => state.camera);\n  const gl = useThree((state) => state.gl);\n  const ref = useCameraAnimation(props);\n  return (\n    // @ts-ignore\n    /* @__PURE__ */ jsx(\n      \"cameraControls\",\n      {\n        ref,\n        args: [camera, gl.domElement],\n        enableDamping: true,\n        smoothTime,\n        zoomSpeed: 10,\n        dollySpeed: 10,\n        restThreshold: 0\n      }\n    )\n  );\n}\n\nexport {\n  CameraControl\n};\n/*! Bundled license information:\n\ncamera-controls/dist/camera-controls.module.js:\n  (*!\n   * camera-controls\n   * https://github.com/yomotsu/camera-controls\n   * (c) 2017 @yomotsu\n   * Released under the MIT License.\n   *)\n*/\n","import {\n  CameraControl\n} from \"./chunk-SU6VHGW3.mjs\";\nimport {\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// src/ShaderGradient/Controls/Controls.tsx\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction Controls(props) {\n  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(CameraControl, __spreadValues({}, props)) });\n}\n\nexport {\n  Controls\n};\n","import {\n  useLoader\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  DataTextureLoader,\n  DataUtils,\n  FloatType,\n  HalfFloatType,\n  LinearFilter\n} from \"./chunk-M5G6JQMQ.mjs\";\n\n// ../../node_modules/.pnpm/three-stdlib@2.30.1_three@0.169.0/node_modules/three-stdlib/loaders/RGBELoader.js\nvar RGBELoader = class extends DataTextureLoader {\n  constructor(manager) {\n    super(manager);\n    this.type = HalfFloatType;\n  }\n  // adapted from http://www.graphics.cornell.edu/~bjw/rgbe.html\n  parse(buffer) {\n    const rgbe_read_error = 1, rgbe_write_error = 2, rgbe_format_error = 3, rgbe_memory_error = 4, rgbe_error = function(rgbe_error_code, msg) {\n      switch (rgbe_error_code) {\n        case rgbe_read_error:\n          throw new Error(\"THREE.RGBELoader: Read Error: \" + (msg || \"\"));\n        case rgbe_write_error:\n          throw new Error(\"THREE.RGBELoader: Write Error: \" + (msg || \"\"));\n        case rgbe_format_error:\n          throw new Error(\"THREE.RGBELoader: Bad File Format: \" + (msg || \"\"));\n        default:\n        case rgbe_memory_error:\n          throw new Error(\"THREE.RGBELoader: Memory Error: \" + (msg || \"\"));\n      }\n    }, RGBE_VALID_PROGRAMTYPE = 1, RGBE_VALID_FORMAT = 2, RGBE_VALID_DIMENSIONS = 4, NEWLINE = \"\\n\", fgets = function(buffer2, lineLimit, consume) {\n      const chunkSize = 128;\n      lineLimit = !lineLimit ? 1024 : lineLimit;\n      let p = buffer2.pos, i = -1, len = 0, s = \"\", chunk = String.fromCharCode.apply(null, new Uint16Array(buffer2.subarray(p, p + chunkSize)));\n      while (0 > (i = chunk.indexOf(NEWLINE)) && len < lineLimit && p < buffer2.byteLength) {\n        s += chunk;\n        len += chunk.length;\n        p += chunkSize;\n        chunk += String.fromCharCode.apply(null, new Uint16Array(buffer2.subarray(p, p + chunkSize)));\n      }\n      if (-1 < i) {\n        if (false !== consume)\n          buffer2.pos += len + i + 1;\n        return s + chunk.slice(0, i);\n      }\n      return false;\n    }, RGBE_ReadHeader = function(buffer2) {\n      const magic_token_re = /^#\\?(\\S+)/, gamma_re = /^\\s*GAMMA\\s*=\\s*(\\d+(\\.\\d+)?)\\s*$/, exposure_re = /^\\s*EXPOSURE\\s*=\\s*(\\d+(\\.\\d+)?)\\s*$/, format_re = /^\\s*FORMAT=(\\S+)\\s*$/, dimensions_re = /^\\s*\\-Y\\s+(\\d+)\\s+\\+X\\s+(\\d+)\\s*$/, header = {\n        valid: 0,\n        string: \"\",\n        comments: \"\",\n        programtype: \"RGBE\",\n        format: \"\",\n        gamma: 1,\n        exposure: 1,\n        width: 0,\n        height: 0\n      };\n      let line, match;\n      if (buffer2.pos >= buffer2.byteLength || !(line = fgets(buffer2))) {\n        rgbe_error(rgbe_read_error, \"no header found\");\n      }\n      if (!(match = line.match(magic_token_re))) {\n        rgbe_error(rgbe_format_error, \"bad initial token\");\n      }\n      header.valid |= RGBE_VALID_PROGRAMTYPE;\n      header.programtype = match[1];\n      header.string += line + \"\\n\";\n      while (true) {\n        line = fgets(buffer2);\n        if (false === line)\n          break;\n        header.string += line + \"\\n\";\n        if (\"#\" === line.charAt(0)) {\n          header.comments += line + \"\\n\";\n          continue;\n        }\n        if (match = line.match(gamma_re)) {\n          header.gamma = parseFloat(match[1]);\n        }\n        if (match = line.match(exposure_re)) {\n          header.exposure = parseFloat(match[1]);\n        }\n        if (match = line.match(format_re)) {\n          header.valid |= RGBE_VALID_FORMAT;\n          header.format = match[1];\n        }\n        if (match = line.match(dimensions_re)) {\n          header.valid |= RGBE_VALID_DIMENSIONS;\n          header.height = parseInt(match[1], 10);\n          header.width = parseInt(match[2], 10);\n        }\n        if (header.valid & RGBE_VALID_FORMAT && header.valid & RGBE_VALID_DIMENSIONS)\n          break;\n      }\n      if (!(header.valid & RGBE_VALID_FORMAT)) {\n        rgbe_error(rgbe_format_error, \"missing format specifier\");\n      }\n      if (!(header.valid & RGBE_VALID_DIMENSIONS)) {\n        rgbe_error(rgbe_format_error, \"missing image size specifier\");\n      }\n      return header;\n    }, RGBE_ReadPixels_RLE = function(buffer2, w2, h2) {\n      const scanline_width = w2;\n      if (\n        // run length encoding is not allowed so read flat\n        scanline_width < 8 || scanline_width > 32767 || // this file is not run length encoded\n        2 !== buffer2[0] || 2 !== buffer2[1] || buffer2[2] & 128\n      ) {\n        return new Uint8Array(buffer2);\n      }\n      if (scanline_width !== (buffer2[2] << 8 | buffer2[3])) {\n        rgbe_error(rgbe_format_error, \"wrong scanline width\");\n      }\n      const data_rgba = new Uint8Array(4 * w2 * h2);\n      if (!data_rgba.length) {\n        rgbe_error(rgbe_memory_error, \"unable to allocate buffer space\");\n      }\n      let offset = 0, pos = 0;\n      const ptr_end = 4 * scanline_width;\n      const rgbeStart = new Uint8Array(4);\n      const scanline_buffer = new Uint8Array(ptr_end);\n      let num_scanlines = h2;\n      while (num_scanlines > 0 && pos < buffer2.byteLength) {\n        if (pos + 4 > buffer2.byteLength) {\n          rgbe_error(rgbe_read_error);\n        }\n        rgbeStart[0] = buffer2[pos++];\n        rgbeStart[1] = buffer2[pos++];\n        rgbeStart[2] = buffer2[pos++];\n        rgbeStart[3] = buffer2[pos++];\n        if (2 != rgbeStart[0] || 2 != rgbeStart[1] || (rgbeStart[2] << 8 | rgbeStart[3]) != scanline_width) {\n          rgbe_error(rgbe_format_error, \"bad rgbe scanline format\");\n        }\n        let ptr = 0, count;\n        while (ptr < ptr_end && pos < buffer2.byteLength) {\n          count = buffer2[pos++];\n          const isEncodedRun = count > 128;\n          if (isEncodedRun)\n            count -= 128;\n          if (0 === count || ptr + count > ptr_end) {\n            rgbe_error(rgbe_format_error, \"bad scanline data\");\n          }\n          if (isEncodedRun) {\n            const byteValue = buffer2[pos++];\n            for (let i = 0; i < count; i++) {\n              scanline_buffer[ptr++] = byteValue;\n            }\n          } else {\n            scanline_buffer.set(buffer2.subarray(pos, pos + count), ptr);\n            ptr += count;\n            pos += count;\n          }\n        }\n        const l = scanline_width;\n        for (let i = 0; i < l; i++) {\n          let off = 0;\n          data_rgba[offset] = scanline_buffer[i + off];\n          off += scanline_width;\n          data_rgba[offset + 1] = scanline_buffer[i + off];\n          off += scanline_width;\n          data_rgba[offset + 2] = scanline_buffer[i + off];\n          off += scanline_width;\n          data_rgba[offset + 3] = scanline_buffer[i + off];\n          offset += 4;\n        }\n        num_scanlines--;\n      }\n      return data_rgba;\n    };\n    const RGBEByteToRGBFloat = function(sourceArray, sourceOffset, destArray, destOffset) {\n      const e = sourceArray[sourceOffset + 3];\n      const scale = Math.pow(2, e - 128) / 255;\n      destArray[destOffset + 0] = sourceArray[sourceOffset + 0] * scale;\n      destArray[destOffset + 1] = sourceArray[sourceOffset + 1] * scale;\n      destArray[destOffset + 2] = sourceArray[sourceOffset + 2] * scale;\n      destArray[destOffset + 3] = 1;\n    };\n    const RGBEByteToRGBHalf = function(sourceArray, sourceOffset, destArray, destOffset) {\n      const e = sourceArray[sourceOffset + 3];\n      const scale = Math.pow(2, e - 128) / 255;\n      destArray[destOffset + 0] = DataUtils.toHalfFloat(Math.min(sourceArray[sourceOffset + 0] * scale, 65504));\n      destArray[destOffset + 1] = DataUtils.toHalfFloat(Math.min(sourceArray[sourceOffset + 1] * scale, 65504));\n      destArray[destOffset + 2] = DataUtils.toHalfFloat(Math.min(sourceArray[sourceOffset + 2] * scale, 65504));\n      destArray[destOffset + 3] = DataUtils.toHalfFloat(1);\n    };\n    const byteArray = new Uint8Array(buffer);\n    byteArray.pos = 0;\n    const rgbe_header_info = RGBE_ReadHeader(byteArray);\n    const w = rgbe_header_info.width, h = rgbe_header_info.height, image_rgba_data = RGBE_ReadPixels_RLE(byteArray.subarray(byteArray.pos), w, h);\n    let data, type;\n    let numElements;\n    switch (this.type) {\n      case FloatType:\n        numElements = image_rgba_data.length / 4;\n        const floatArray = new Float32Array(numElements * 4);\n        for (let j = 0; j < numElements; j++) {\n          RGBEByteToRGBFloat(image_rgba_data, j * 4, floatArray, j * 4);\n        }\n        data = floatArray;\n        type = FloatType;\n        break;\n      case HalfFloatType:\n        numElements = image_rgba_data.length / 4;\n        const halfArray = new Uint16Array(numElements * 4);\n        for (let j = 0; j < numElements; j++) {\n          RGBEByteToRGBHalf(image_rgba_data, j * 4, halfArray, j * 4);\n        }\n        data = halfArray;\n        type = HalfFloatType;\n        break;\n      default:\n        throw new Error(\"THREE.RGBELoader: Unsupported type: \" + this.type);\n    }\n    return {\n      width: w,\n      height: h,\n      data,\n      header: rgbe_header_info.string,\n      gamma: rgbe_header_info.gamma,\n      exposure: rgbe_header_info.exposure,\n      type\n    };\n  }\n  setDataType(value) {\n    this.type = value;\n    return this;\n  }\n  load(url, onLoad, onProgress, onError) {\n    function onLoadCallback(texture, texData) {\n      switch (texture.type) {\n        case FloatType:\n        case HalfFloatType:\n          if (\"colorSpace\" in texture)\n            texture.colorSpace = \"srgb-linear\";\n          else\n            texture.encoding = 3e3;\n          texture.minFilter = LinearFilter;\n          texture.magFilter = LinearFilter;\n          texture.generateMipmaps = false;\n          texture.flipY = true;\n          break;\n      }\n      if (onLoad)\n        onLoad(texture, texData);\n    }\n    return super.load(url, onLoadCallback, onProgress, onError);\n  }\n};\n\n// src/ShaderGradient/Lights/Environment/useRGBELoader.ts\nfunction useRGBELoader(file, { path }) {\n  const cubeTexture = useLoader(\n    // @ts-ignore\n    RGBELoader,\n    file,\n    (loader) => loader.setPath(path)\n  );\n  return cubeTexture;\n}\n\nexport {\n  useRGBELoader\n};\n","import {\n  useRGBELoader\n} from \"./chunk-FMYDOIX6.mjs\";\nimport {\n  useThree\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  EquirectangularReflectionMapping\n} from \"./chunk-M5G6JQMQ.mjs\";\nimport {\n  envBasePath\n} from \"./chunk-SX7QUDKQ.mjs\";\n\n// src/ShaderGradient/Lights/Environment/EnvironmentMap.tsx\nimport React from \"react\";\nvar isRef = (obj) => obj.current && obj.current.isScene;\nvar resolveScene = (scene) => isRef(scene) ? scene.current : scene;\nfunction EnvironmentMap({ background = false, envPreset }) {\n  const city = useRGBELoader(\"city.hdr\", { path: envBasePath });\n  const dawn = useRGBELoader(\"dawn.hdr\", { path: envBasePath });\n  const lobby = useRGBELoader(\"lobby.hdr\", { path: envBasePath });\n  const textures = { city, dawn, lobby };\n  const map = textures[envPreset];\n  const defaultScene = useThree((state) => state.scene);\n  React.useLayoutEffect(() => {\n    if (map) {\n      const target = resolveScene(defaultScene);\n      const oldbg = target.background;\n      const oldenv = target.environment;\n      if (background !== \"only\") target.environment = map;\n      if (background) target.background = map;\n      return () => {\n        if (background !== \"only\") target.environment = oldenv;\n        if (background) target.background = \"black\";\n      };\n    }\n  }, [defaultScene, map, background]);\n  const texture = map;\n  texture.mapping = EquirectangularReflectionMapping;\n  return null;\n}\n\nexport {\n  EnvironmentMap\n};\n","import {\n  EnvironmentMap\n} from \"./chunk-3IAOHWI6.mjs\";\n\n// src/ShaderGradient/Lights/Lights.tsx\nimport { Suspense } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nfunction Lights({\n  lightType,\n  brightness,\n  envPreset\n}) {\n  return /* @__PURE__ */ jsxs(Fragment, { children: [\n    lightType === \"3d\" && /* @__PURE__ */ jsx(\"ambientLight\", { intensity: (brightness || 1) * Math.PI }),\n    lightType === \"env\" && /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Loader, {}), children: /* @__PURE__ */ jsx(\n      EnvironmentMap,\n      {\n        envPreset,\n        background: false,\n        loadingCallback: () => void 0\n      }\n    ) })\n  ] });\n}\nfunction Loader() {\n  return /* @__PURE__ */ jsx(\"ambientLight\", { intensity: 0.4 });\n}\n\nexport {\n  Lights\n};\n","// src/shaders/a/vertex.glsl\nvar vertex_default = \"// #pragma glslify: cnoise3 = require(glsl-noise/classic/3d) \\n\\n// noise source from https://github.com/hughsk/glsl-noise/blob/master/periodic/3d.glsl\\n\\nvec3 mod289(vec3 x)\\n{\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 mod289(vec4 x)\\n{\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 permute(vec4 x)\\n{\\n  return mod289(((x*34.0)+1.0)*x);\\n}\\n\\nvec4 taylorInvSqrt(vec4 r)\\n{\\n  return 1.79284291400159 - 0.85373472095314 * r;\\n}\\n\\nvec3 fade(vec3 t) {\\n  return t*t*t*(t*(t*6.0-15.0)+10.0);\\n}\\n\\nfloat cnoise(vec3 P)\\n{\\n  vec3 Pi0 = floor(P); // Integer part for indexing\\n  vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1\\n  Pi0 = mod289(Pi0);\\n  Pi1 = mod289(Pi1);\\n  vec3 Pf0 = fract(P); // Fractional part for interpolation\\n  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\\n  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\\n  vec4 iy = vec4(Pi0.yy, Pi1.yy);\\n  vec4 iz0 = Pi0.zzzz;\\n  vec4 iz1 = Pi1.zzzz;\\n\\n  vec4 ixy = permute(permute(ix) + iy);\\n  vec4 ixy0 = permute(ixy + iz0);\\n  vec4 ixy1 = permute(ixy + iz1);\\n\\n  vec4 gx0 = ixy0 * (1.0 / 7.0);\\n  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\\n  gx0 = fract(gx0);\\n  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\\n  vec4 sz0 = step(gz0, vec4(0.0));\\n  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\\n  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\\n\\n  vec4 gx1 = ixy1 * (1.0 / 7.0);\\n  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\\n  gx1 = fract(gx1);\\n  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\\n  vec4 sz1 = step(gz1, vec4(0.0));\\n  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\\n  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\\n\\n  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\\n  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\\n  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\\n  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\\n  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\\n  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\\n  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\\n  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\\n\\n  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\\n  g000 *= norm0.x;\\n  g010 *= norm0.y;\\n  g100 *= norm0.z;\\n  g110 *= norm0.w;\\n  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\\n  g001 *= norm1.x;\\n  g011 *= norm1.y;\\n  g101 *= norm1.z;\\n  g111 *= norm1.w;\\n\\n  float n000 = dot(g000, Pf0);\\n  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\\n  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\\n  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\\n  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\\n  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\\n  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\\n  float n111 = dot(g111, Pf1);\\n\\n  vec3 fade_xyz = fade(Pf0);\\n  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\\n  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\\n  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \\n  return 2.2 * n_xyz;\\n}\\n\\n//-------- start here ------------\\n\\nmat3 rotation3dY(float angle) {\\n  float s = sin(angle);\\n  float c = cos(angle);\\n\\n  return mat3(c, 0.0, -s, 0.0, 1.0, 0.0, s, 0.0, c);\\n}\\n\\nvec3 rotateY(vec3 v, float angle) { return rotation3dY(angle) * v; }\\n\\nvarying vec3 vNormal;\\nvarying float displacement;\\nvarying vec3 vPos;\\nvarying float vDistort;\\n\\nvarying vec2 vUv;\\n\\nuniform float uTime;\\nuniform float uSpeed;\\n\\nuniform float uLoadingTime;\\n\\nuniform float uNoiseDensity;\\nuniform float uNoiseStrength;\\n\\n#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n#ifdef USE_TANGENT\\nvarying vec3 vTangent;\\nvarying vec3 vBitangent;\\n#endif\\n#endif\\n#include <clipping_planes_pars_vertex>\\n#include <color_pars_vertex>\\n#include <common>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <uv_pars_vertex>\\n\\nvoid main() {\\n\\n  #include <beginnormal_vertex>\\n  #include <color_vertex>\\n  #include <defaultnormal_vertex>\\n  #include <morphnormal_vertex>\\n  #include <skinbase_vertex>\\n  #include <skinnormal_vertex>\\n  #include <uv2_vertex>\\n  #include <uv_vertex>\\n  #ifndef FLAT_SHADED\\n    vNormal = normalize(transformedNormal);\\n  #ifdef USE_TANGENT\\n    vTangent = normalize(transformedTangent);\\n    vBitangent = normalize(cross(vNormal, vTangent) * tangent.w);\\n  #endif\\n  #endif\\n  #include <begin_vertex>\\n\\n  #include <clipping_planes_vertex>\\n  #include <displacementmap_vertex>\\n  #include <logdepthbuf_vertex>\\n  #include <morphtarget_vertex>\\n  #include <project_vertex>\\n  #include <skinning_vertex>\\n    vViewPosition = -mvPosition.xyz;\\n  #include <fog_vertex>\\n  #include <shadowmap_vertex>\\n  #include <worldpos_vertex>\\n\\n  //-------- start vertex ------------\\n  vUv = uv;\\n\\n  float t = uTime * uSpeed;\\n  // Create a sine wave from top to bottom of the sphere\\n  float distortion = 0.75 * cnoise(0.43 * position * uNoiseDensity + t);\\n\\n  vec3 pos = position + normal * distortion * uNoiseStrength * uLoadingTime;\\n  vPos = pos;\\n\\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.);\\n}\\n\";\n\n// src/shaders/a/fragment.glsl\nvar fragment_default = \"\\n#define STANDARD\\n#ifdef PHYSICAL\\n#define REFLECTIVITY\\n#define CLEARCOAT\\n#define TRANSMISSION\\n#endif\\n\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n\\n#ifdef TRANSMISSION\\nuniform float transmission;\\n#endif\\n#ifdef REFLECTIVITY\\nuniform float reflectivity;\\n#endif\\n#ifdef CLEARCOAT\\nuniform float clearcoat;\\nuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\nuniform vec3 sheen;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n#ifdef USE_TANGENT\\nvarying vec3 vTangent;\\nvarying vec3 vBitangent;\\n#endif\\n#endif\\n#include <alphamap_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <color_pars_fragment>\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <map_pars_fragment>\\n#include <packing>\\n#include <uv2_pars_fragment>\\n#include <uv_pars_fragment>\\n// #include <transmissionmap_pars_fragment>\\n#include <bsdfs>\\n#include <bumpmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <lights_physical_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n// include\\uB97C \\uD1B5\\uD574 \\uAC00\\uC838\\uC628 \\uAC12\\uC740 \\uB300\\uBD80\\uBD84 \\uD658\\uACBD, \\uBE5B \\uB4F1\\uC744 \\uACC4\\uC0B0\\uD558\\uAE30 \\uC704\\uD574\\uC11C \\uAE30\\uBCF8 fragment\\n// shader\\uC758 \\uAC12\\uB4E4\\uC744 \\uBC1B\\uC544\\uC654\\uC2B5\\uB2C8\\uB2E4. \\uC77C\\uB2E8\\uC740 \\uBB34\\uC2DC\\uD558\\uC154\\uB3C4 \\uB429\\uB2C8\\uB2E4.\\n\\nvarying vec3 vNormal;\\nvarying float displacement;\\nvarying vec3 vPos;\\nvarying float vDistort;\\n\\nuniform float uC1r;\\nuniform float uC1g;\\nuniform float uC1b;\\nuniform float uC2r;\\nuniform float uC2g;\\nuniform float uC2b;\\nuniform float uC3r;\\nuniform float uC3g;\\nuniform float uC3b;\\n\\nvarying vec3 color1;\\nvarying vec3 color2;\\nvarying vec3 color3;\\n\\n// for npm package, need to add this manually\\nfloat linearToRelativeLuminance2( const in vec3 color ) {\\n    vec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n    return dot( weights, color.rgb );\\n}\\n\\nvoid main() {\\n\\n  //-------- basic gradient ------------\\n  vec3 color1 = vec3(uC1r, uC1g, uC1b);\\n  vec3 color2 = vec3(uC2r, uC2g, uC2b);\\n  vec3 color3 = vec3(uC3r, uC3g, uC3b);\\n  float clearcoat = 1.0;\\n  float clearcoatRoughness = 0.5;\\n\\n  #include <clipping_planes_fragment>\\n\\n  vec4 diffuseColor = vec4(\\n      mix(mix(color1, color2, smoothstep(-3.0, 3.0, vPos.x)), color3, vPos.z),\\n      1);\\n  // diffuseColor\\uB294 \\uC624\\uBE0C\\uC81D\\uD2B8\\uC758 \\uBCA0\\uC774\\uC2A4 \\uC0C9\\uC0C1 (\\uD658\\uACBD\\uC774\\uB098 \\uBE5B\\uC774 \\uACE0\\uB824\\uB418\\uC9C0 \\uC54A\\uC740 \\uBCF8\\uC5F0\\uC758\\n  // \\uC0C9)\\n\\n  // mix(x, y, a): a\\uB97C \\uCD95\\uC73C\\uB85C \\uD588\\uC744 \\uB54C \\uAC00\\uC7A5 \\uB0AE\\uC740 \\uAC12\\uC5D0\\uC11C x\\uAC12\\uC758 \\uC601\\uD5A5\\uB825\\uC744 100%, \\uAC00\\uC7A5\\n  // \\uB192\\uC740 \\uAC12\\uC5D0\\uC11C y\\uAC12\\uC758 \\uC601\\uD5A5\\uB825\\uC744 100%\\uB85C \\uB9CC\\uB4E0\\uB2E4. smoothstep(x, y, a): a\\uCD95\\uC744\\n  // \\uAE30\\uC900\\uC73C\\uB85C x\\uB97C \\uCD5C\\uC18C\\uAC12, y\\uB97C \\uCD5C\\uB300\\uAC12\\uC73C\\uB85C \\uADF8 \\uC0AC\\uC774\\uC758 \\uAC12\\uC744 \\uCABC\\uAC20\\uB2E4. x\\uC640 y \\uC0AC\\uC774\\uB97C\\n  // 0-100 \\uC0AC\\uC774\\uC758 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uCC98\\uB7FC \\uB2E8\\uACC4\\uBCC4\\uB85C \\uD45C\\uD604\\uD558\\uACE0, x \\uBBF8\\uB9CC\\uC758 \\uAC12\\uC740 0, y \\uC774\\uC0C1\\uC758\\n  // \\uAC12\\uC740 100\\uC73C\\uB85C \\uCC98\\uB9AC\\n\\n  // 1. smoothstep(-3.0, 3.0,vPos.x)\\uB85C x\\uCD95\\uC758 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uAC00 \\uD45C\\uD604 \\uB420 \\uBC94\\uC704\\uB97C -3,\\n  // 3\\uC73C\\uB85C \\uC815\\uD55C\\uB2E4.\\n  // 2. mix(color1, color3, smoothstep(-3.0, 3.0,vPos.x))\\uB85C color1\\uACFC color3\\uC744\\n  // \\uC704\\uC758 \\uBC94\\uC704 \\uC548\\uC5D0\\uC11C \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uB85C \\uD45C\\uD604\\uD55C\\uB2E4.\\n  // \\uC608\\uB97C \\uB4E4\\uC5B4 color1\\uC774 \\uB178\\uB791, color3\\uC774 \\uD30C\\uB791\\uC774\\uB77C\\uACE0 \\uCE58\\uBA74, x\\uCD95 \\uAE30\\uC900 -3\\uBD80\\uD130 3\\uAE4C\\uC9C0\\n  // \\uB178\\uB791\\uACFC \\uD30C\\uB791 \\uC0AC\\uC774\\uC758 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uAC00 \\uB098\\uD0C0\\uB098\\uACE0, -3\\uBCF4\\uB2E4 \\uC791\\uC740 \\uAC12\\uC5D0\\uC11C\\uB294 \\uACC4\\uC18D \\uB178\\uB791,\\n  // 3\\uBCF4\\uB2E4 \\uD070 \\uAC12\\uC5D0\\uC11C\\uB294 \\uACC4\\uC18D \\uD30C\\uB791\\uC774 \\uB098\\uD0C0\\uB09C\\uB2E4.\\n  // 3. mix()\\uB97C \\uD55C \\uBC88 \\uB354 \\uC0AC\\uC6A9\\uD574\\uC11C \\uC704\\uC758 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uC640 color2\\uB97C z\\uCD95 \\uAE30\\uC900\\uC73C\\uB85C\\n  // \\uBD84\\uBC30\\uD55C\\uB2E4.\\n\\n  //-------- materiality ------------\\n  ReflectedLight reflectedLight =\\n      ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\\n  vec3 totalEmissiveRadiance = emissive;\\n\\n  #ifdef TRANSMISSION\\n    float totalTransmission = transmission;\\n  #endif\\n  #include <logdepthbuf_fragment>\\n  #include <map_fragment>\\n  #include <color_fragment>\\n  #include <alphamap_fragment>\\n  #include <alphatest_fragment>\\n  #include <roughnessmap_fragment>\\n  #include <metalnessmap_fragment>\\n  #include <normal_fragment_begin>\\n  #include <normal_fragment_maps>\\n  #include <clearcoat_normal_fragment_begin>\\n  #include <clearcoat_normal_fragment_maps>\\n  #include <emissivemap_fragment>\\n  // #include <transmissionmap_fragment>\\n  #include <lights_physical_fragment>\\n  #include <lights_fragment_begin>\\n  #include <lights_fragment_maps>\\n  #include <lights_fragment_end>\\n  #include <aomap_fragment>\\n    vec3 outgoingLight =\\n        reflectedLight.directDiffuse + reflectedLight.indirectDiffuse +\\n        reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n    //\\uC704\\uC5D0\\uC11C \\uC815\\uC758\\uD55C diffuseColor\\uC5D0 \\uD658\\uACBD\\uC774\\uB098 \\uBC18\\uC0AC\\uAC12\\uB4E4\\uC744 \\uBC18\\uC601\\uD55C \\uAC12.\\n  #ifdef TRANSMISSION\\n    diffuseColor.a *=\\n        mix(saturate(1. - totalTransmission +\\n                    linearToRelativeLuminance2(reflectedLight.directSpecular +\\n                                              reflectedLight.indirectSpecular)),\\n            1.0, metalness);\\n  #endif\\n\\n\\n  #include <tonemapping_fragment>\\n  #include <encodings_fragment>\\n  #include <fog_fragment>\\n  #include <premultiplied_alpha_fragment>\\n  #include <dithering_fragment>\\n\\n\\n  gl_FragColor = vec4(outgoingLight, diffuseColor.a);\\n  // gl_FragColor\\uAC00 fragment shader\\uB97C \\uD1B5\\uD574 \\uB098\\uD0C0\\uB098\\uB294 \\uCD5C\\uC885\\uAC12\\uC73C\\uB85C, diffuseColor\\uC5D0\\uC11C\\n  // \\uC815\\uC758\\uD55C \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8 \\uC0C9\\uC0C1 \\uC704\\uC5D0 \\uBC18\\uC0AC\\uB098 \\uBE5B\\uC744 \\uACC4\\uC0B0\\uD55C \\uAC12\\uC744 \\uCD5C\\uC885\\uAC12\\uC73C\\uB85C \\uC815\\uC758.\\n  // gl_FragColor = vec4(mix(mix(color1, color3, smoothstep(-3.0, 3.0,vPos.x)),\\n  // color2, vNormal.z), 1.0); \\uC704\\uCC98\\uB7FC \\uCD5C\\uC885\\uAC12\\uC744 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8 \\uAC12 \\uC790\\uCCB4\\uB97C \\uB123\\uC73C\\uBA74 \\uD658\\uACBD\\n  // \\uC601\\uD5A5\\uC5C6\\uB294 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uB9CC \\uD45C\\uD604\\uB428.\\n}\\n\";\n\n// src/shaders/a/vertexSphere.glsl\nvar vertexSphere_default = \"// #pragma glslify: pnoise = require(glsl-noise/periodic/3d)\\n\\nvec3 mod289(vec3 x)\\n{\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 mod289(vec4 x)\\n{\\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\n\\nvec4 permute(vec4 x)\\n{\\n  return mod289(((x*34.0)+1.0)*x);\\n}\\n\\nvec4 taylorInvSqrt(vec4 r)\\n{\\n  return 1.79284291400159 - 0.85373472095314 * r;\\n}\\n\\nvec3 fade(vec3 t) {\\n  return t*t*t*(t*(t*6.0-15.0)+10.0);\\n}\\n\\n// Classic Perlin noise, periodic variant\\nfloat pnoise(vec3 P, vec3 rep)\\n{\\n  vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\\n  vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\\n  Pi0 = mod289(Pi0);\\n  Pi1 = mod289(Pi1);\\n  vec3 Pf0 = fract(P); // Fractional part for interpolation\\n  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\\n  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\\n  vec4 iy = vec4(Pi0.yy, Pi1.yy);\\n  vec4 iz0 = Pi0.zzzz;\\n  vec4 iz1 = Pi1.zzzz;\\n\\n  vec4 ixy = permute(permute(ix) + iy);\\n  vec4 ixy0 = permute(ixy + iz0);\\n  vec4 ixy1 = permute(ixy + iz1);\\n\\n  vec4 gx0 = ixy0 * (1.0 / 7.0);\\n  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\\n  gx0 = fract(gx0);\\n  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\\n  vec4 sz0 = step(gz0, vec4(0.0));\\n  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\\n  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\\n\\n  vec4 gx1 = ixy1 * (1.0 / 7.0);\\n  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\\n  gx1 = fract(gx1);\\n  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\\n  vec4 sz1 = step(gz1, vec4(0.0));\\n  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\\n  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\\n\\n  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\\n  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\\n  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\\n  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\\n  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\\n  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\\n  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\\n  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\\n\\n  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\\n  g000 *= norm0.x;\\n  g010 *= norm0.y;\\n  g100 *= norm0.z;\\n  g110 *= norm0.w;\\n  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\\n  g001 *= norm1.x;\\n  g011 *= norm1.y;\\n  g101 *= norm1.z;\\n  g111 *= norm1.w;\\n\\n  float n000 = dot(g000, Pf0);\\n  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\\n  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\\n  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\\n  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\\n  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\\n  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\\n  float n111 = dot(g111, Pf1);\\n\\n  vec3 fade_xyz = fade(Pf0);\\n  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\\n  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\\n  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\\n  return 2.2 * n_xyz;\\n}\\n\\n\\n//-------- start here ------------\\n\\nvarying vec3 vNormal;\\nuniform float uTime;\\nuniform float uSpeed;\\nuniform float uNoiseDensity;\\nuniform float uNoiseStrength;\\nuniform float uFrequency;\\nuniform float uAmplitude;\\nvarying vec3 vPos;\\nvarying float vDistort;\\nvarying vec2 vUv;\\nvarying vec3 vViewPosition;\\n\\n#define STANDARD\\n#ifndef FLAT_SHADED\\n  #ifdef USE_TANGENT\\n    varying vec3 vTangent;\\n    varying vec3 vBitangent;\\n  #endif\\n#endif\\n\\n#include <clipping_planes_pars_vertex>\\n#include <color_pars_vertex>\\n#include <common>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <uv_pars_vertex>\\n\\n\\n// rotation\\nmat3 rotation3dY(float angle) {\\n  float s = sin(angle);\\n  float c = cos(angle);\\n  return mat3(c, 0.0, -s, 0.0, 1.0, 0.0, s, 0.0, c);\\n}\\n\\nvec3 rotateY(vec3 v, float angle) { return rotation3dY(angle) * v; }\\n\\nvoid main() {\\n  #include <beginnormal_vertex>\\n  #include <color_vertex>\\n  #include <defaultnormal_vertex>\\n  #include <morphnormal_vertex>\\n  #include <skinbase_vertex>\\n  #include <skinnormal_vertex>\\n  #include <uv2_vertex>\\n  #include <uv_vertex>\\n  #ifndef FLAT_SHADED\\n    vNormal = normalize(transformedNormal);\\n  #ifdef USE_TANGENT\\n    vTangent = normalize(transformedTangent);\\n    vBitangent = normalize(cross(vNormal, vTangent) * tangent.w);\\n  #endif\\n  #endif\\n  #include <begin_vertex>\\n\\n  #include <clipping_planes_vertex>\\n  #include <displacementmap_vertex>\\n  #include <logdepthbuf_vertex>\\n  #include <morphtarget_vertex>\\n  #include <project_vertex>\\n  #include <skinning_vertex>\\n    vViewPosition = -mvPosition.xyz;\\n  #include <fog_vertex>\\n  #include <shadowmap_vertex>\\n  #include <worldpos_vertex>\\n\\n  //-------- start vertex ------------\\n  float t = uTime * uSpeed;\\n  float distortion =\\n      pnoise((normal + t) * uNoiseDensity, vec3(10.0)) * uNoiseStrength;\\n  vec3 pos = position + (normal * distortion);\\n  float angle = sin(uv.y * uFrequency + t) * uAmplitude;\\n  pos = rotateY(pos, angle);\\n\\n  vPos = pos;\\n  vDistort = distortion;\\n  vNormal = normal;\\n  vUv = uv;\\n\\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.);\\n}\\n\";\n\n// src/shaders/a/fragmentSphere.glsl\nvar fragmentSphere_default = \"\\n#define STANDARD\\n#ifdef PHYSICAL\\n#define REFLECTIVITY\\n#define CLEARCOAT\\n#define TRANSMISSION\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef TRANSMISSION\\nuniform float transmission;\\n#endif\\n#ifdef REFLECTIVITY\\nuniform float reflectivity;\\n#endif\\n#ifdef CLEARCOAT\\nuniform float clearcoat;\\nuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\nuniform vec3 sheen;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n#ifdef USE_TANGENT\\nvarying vec3 vTangent;\\nvarying vec3 vBitangent;\\n#endif\\n#endif\\n#include <alphamap_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <color_pars_fragment>\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <map_pars_fragment>\\n#include <packing>\\n#include <uv2_pars_fragment>\\n#include <uv_pars_fragment>\\n// #include <transmissionmap_pars_fragment>\\n#include <bsdfs>\\n#include <bumpmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <lights_physical_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n// include\\uB97C \\uD1B5\\uD574 \\uAC00\\uC838\\uC628 \\uAC12\\uC740 \\uB300\\uBD80\\uBD84 \\uD658\\uACBD, \\uBE5B \\uB4F1\\uC744 \\uACC4\\uC0B0\\uD558\\uAE30 \\uC704\\uD574\\uC11C \\uAE30\\uBCF8 fragment\\n// shader\\uC758 \\uAC12\\uB4E4\\uC744 \\uBC1B\\uC544\\uC654\\uC2B5\\uB2C8\\uB2E4. \\uC77C\\uB2E8\\uC740 \\uBB34\\uC2DC\\uD558\\uC154\\uB3C4 \\uB429\\uB2C8\\uB2E4.\\nvarying vec3 vNormal;\\nvarying float displacement;\\nvarying vec3 vPos;\\nvarying float vDistort;\\nuniform float uC1r;\\nuniform float uC1g;\\nuniform float uC1b;\\nuniform float uC2r;\\nuniform float uC2g;\\nuniform float uC2b;\\nuniform float uC3r;\\nuniform float uC3g;\\nuniform float uC3b;\\nvarying vec3 color1;\\nvarying vec3 color2;\\nvarying vec3 color3;\\nvarying float distanceToCenter;\\n\\n\\n// for npm package, need to add this manually\\n// 'linearToRelativeLuminance' : function already has a body\\nfloat linearToRelativeLuminance2( const in vec3 color ) {\\n    vec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n    return dot( weights, color.rgb );\\n}\\n\\nvoid main() {\\n  //-------- basic gradient ------------\\n  vec3 color1 = vec3(uC1r, uC1g, uC1b);\\n  vec3 color2 = vec3(uC2r, uC2g, uC2b);\\n  vec3 color3 = vec3(uC3r, uC3g, uC3b);\\n  float clearcoat = 1.0;\\n  float clearcoatRoughness = 0.5;\\n#include <clipping_planes_fragment>\\n\\n  float distanceToCenter = distance(vPos, vec3(0, 0, 0));\\n  // distanceToCenter\\uB85C \\uC911\\uC2EC\\uC810\\uACFC\\uC758 \\uAC70\\uB9AC\\uB97C \\uAD6C\\uD568.\\n\\n  vec4 diffuseColor =\\n      vec4(mix(color3, mix(color2, color1, smoothstep(-1.0, 1.0, vPos.y)),\\n               distanceToCenter),\\n           1);\\n\\n  //-------- materiality ------------\\n  ReflectedLight reflectedLight =\\n      ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\\n  vec3 totalEmissiveRadiance = emissive;\\n#ifdef TRANSMISSION\\n  float totalTransmission = transmission;\\n#endif\\n#include <logdepthbuf_fragment>\\n#include <map_fragment>\\n#include <color_fragment>\\n#include <alphamap_fragment>\\n#include <alphatest_fragment>\\n#include <roughnessmap_fragment>\\n#include <metalnessmap_fragment>\\n#include <normal_fragment_begin>\\n#include <normal_fragment_maps>\\n#include <clearcoat_normal_fragment_begin>\\n#include <clearcoat_normal_fragment_maps>\\n#include <emissivemap_fragment>\\n// #include <transmissionmap_fragment>\\n#include <lights_physical_fragment>\\n#include <lights_fragment_begin>\\n#include <lights_fragment_maps>\\n#include <lights_fragment_end>\\n#include <aomap_fragment>\\n  vec3 outgoingLight =\\n      reflectedLight.directDiffuse + reflectedLight.indirectDiffuse +\\n      reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n//\\uC704\\uC5D0\\uC11C \\uC815\\uC758\\uD55C diffuseColor\\uC5D0 \\uD658\\uACBD\\uC774\\uB098 \\uBC18\\uC0AC\\uAC12\\uB4E4\\uC744 \\uBC18\\uC601\\uD55C \\uAC12.\\n#ifdef TRANSMISSION\\n  diffuseColor.a *=\\n      mix(saturate(1. - totalTransmission +\\n                   linearToRelativeLuminance2(reflectedLight.directSpecular +\\n                                             reflectedLight.indirectSpecular)),\\n          1.0, metalness);\\n#endif\\n  gl_FragColor = vec4(outgoingLight, diffuseColor.a);\\n  // gl_FragColor\\uAC00 fragment shader\\uB97C \\uD1B5\\uD574 \\uB098\\uD0C0\\uB098\\uB294 \\uCD5C\\uC885\\uAC12\\uC73C\\uB85C, diffuseColor\\uC5D0\\uC11C\\n  // \\uC815\\uC758\\uD55C \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8 \\uC0C9\\uC0C1 \\uC704\\uC5D0 \\uBC18\\uC0AC\\uB098 \\uBE5B\\uC744 \\uACC4\\uC0B0\\uD55C \\uAC12\\uC744 \\uCD5C\\uC885\\uAC12\\uC73C\\uB85C \\uC815\\uC758.\\n  // gl_FragColor = vec4(mix(mix(color1, color3, smoothstep(-3.0, 3.0,vPos.x)),\\n  // color2, vNormal.z), 1.0); \\uC704\\uCC98\\uB7FC \\uCD5C\\uC885\\uAC12\\uC744 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8 \\uAC12 \\uC790\\uCCB4\\uB97C \\uB123\\uC73C\\uBA74 \\uD658\\uACBD\\n  // \\uC601\\uD5A5\\uC5C6\\uB294 \\uADF8\\uB77C\\uB514\\uC5B8\\uD2B8\\uB9CC \\uD45C\\uD604\\uB428.\\n\\n#include <tonemapping_fragment>\\n#include <encodings_fragment>\\n#include <fog_fragment>\\n#include <premultiplied_alpha_fragment>\\n#include <dithering_fragment>\\n}\\n\";\n\nexport {\n  vertex_default,\n  fragment_default,\n  vertexSphere_default,\n  fragmentSphere_default\n};\n","// src/ShaderGradient/Mesh/Geometry.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar meshCount = 192;\nfunction Geometry({ type }) {\n  return /* @__PURE__ */ jsxs(Fragment, { children: [\n    type === \"plane\" && /* @__PURE__ */ jsx(\"planeGeometry\", { args: [10, 10, 1, meshCount] }),\n    type === \"sphere\" && /* @__PURE__ */ jsx(\"icosahedronGeometry\", { args: [1, meshCount / 3] }),\n    type === \"waterPlane\" && /* @__PURE__ */ jsx(\"planeGeometry\", { args: [10, 10, meshCount, meshCount] })\n  ] });\n}\n\nexport {\n  Geometry\n};\n","// src/utils/color.ts\nfunction hexToRgb(hex) {\n  const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n  return result ? {\n    r: parseInt(result[1], 16),\n    g: parseInt(result[2], 16),\n    b: parseInt(result[3], 16)\n  } : null;\n}\nfunction rgbStringToRgb(rgbString) {\n  const result = rgbString.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n  return result ? {\n    r: parseInt(result[1]),\n    g: parseInt(result[2]),\n    b: parseInt(result[3])\n  } : null;\n}\nfunction colorToRgb(color) {\n  if (color.startsWith(\"#\")) {\n    return hexToRgb(color);\n  } else if (color.startsWith(\"rgb\")) {\n    return rgbStringToRgb(color);\n  } else {\n    throw new Error(\"Invalid color format\");\n  }\n}\nfunction formatColor(color = 0) {\n  return color / 255;\n}\n\nexport {\n  colorToRgb,\n  formatColor\n};\n","import {\n  colorToRgb,\n  formatColor\n} from \"./chunk-BI5IV7LU.mjs\";\nimport {\n  useFrame\n} from \"./chunk-PBAUXUVF.mjs\";\nimport {\n  DoubleSide,\n  MeshPhysicalMaterial,\n  UniformsUtils\n} from \"./chunk-M5G6JQMQ.mjs\";\nimport {\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// src/ShaderGradient/Mesh/Materials.tsx\nimport { useEffect, useMemo } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Materials = ({\n  animate,\n  uniforms,\n  vertexShader,\n  fragmentShader,\n  onInit\n}) => {\n  const material = useMemo(() => {\n    const entries = Object.entries(uniforms);\n    const colors = uniforms.colors;\n    const uC1 = colorToRgb(colors[0]);\n    const uC2 = colorToRgb(colors[1]);\n    const uC3 = colorToRgb(colors[2]);\n    const rgbColors = {\n      uC1r: { value: formatColor(uC1 == null ? void 0 : uC1.r) },\n      uC1g: { value: formatColor(uC1 == null ? void 0 : uC1.g) },\n      uC1b: { value: formatColor(uC1 == null ? void 0 : uC1.b) },\n      uC2r: { value: formatColor(uC2 == null ? void 0 : uC2.r) },\n      uC2g: { value: formatColor(uC2 == null ? void 0 : uC2.g) },\n      uC2b: { value: formatColor(uC2 == null ? void 0 : uC2.b) },\n      uC3r: { value: formatColor(uC3 == null ? void 0 : uC3.r) },\n      uC3g: { value: formatColor(uC3 == null ? void 0 : uC3.g) },\n      uC3b: { value: formatColor(uC3 == null ? void 0 : uC3.b) }\n    };\n    const uniformValues = entries.reduce((acc, [name, value]) => {\n      const uniform = UniformsUtils.clone({ [name]: { value } });\n      return __spreadValues(__spreadValues({}, acc), uniform);\n    }, {});\n    const material2 = new MeshPhysicalMaterial({\n      userData: uniformValues,\n      // sync uniform and userData to update uniforms from outside (MeshPhysicalMaterial)\n      metalness: 0.2,\n      // similar effects reducing -0.2 intensity of the ambient light\n      side: DoubleSide,\n      onBeforeCompile: (shader) => {\n        shader.uniforms = __spreadValues(__spreadValues(__spreadValues({}, shader.uniforms), uniformValues), rgbColors);\n        shader.vertexShader = vertexShader;\n        shader.fragmentShader = fragmentShader;\n      }\n      // wireframe: true,\n    });\n    entries.forEach(\n      ([name]) => Object.defineProperty(material2, name, {\n        get: () => material2.uniforms[name].value,\n        set: (v) => material2.uniforms[name].value = v\n      })\n    );\n    if (onInit) onInit(material2);\n    return material2;\n  }, [uniforms, vertexShader, fragmentShader, onInit]);\n  useEffect(() => {\n    return () => {\n      material.dispose();\n    };\n  }, [material]);\n  useFrame(({ clock }) => {\n    if (animate === \"on\" && material.userData.uTime) {\n      material.userData.uTime.value = clock.getElapsedTime();\n    }\n  });\n  return /* @__PURE__ */ jsx(\"primitive\", { attach: \"material\", object: material });\n};\n\nexport {\n  Materials\n};\n","import {\n  fragmentSphere_default,\n  fragment_default,\n  vertexSphere_default,\n  vertex_default\n} from \"./chunk-WMVG427C.mjs\";\nimport {\n  Geometry\n} from \"./chunk-WBM42ICI.mjs\";\nimport {\n  Materials\n} from \"./chunk-LJBCYGOI.mjs\";\nimport {\n  dToRArr\n} from \"./chunk-G7COPUKV.mjs\";\n\n// src/ShaderGradient/Mesh/Mesh.tsx\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nfunction Mesh({\n  animate,\n  positionX,\n  positionY,\n  positionZ,\n  rotationX,\n  rotationY,\n  rotationZ,\n  type,\n  color1,\n  color2,\n  color3,\n  uTime,\n  uSpeed,\n  uDensity,\n  uStrength,\n  uFrequency,\n  uAmplitude\n}) {\n  return /* @__PURE__ */ jsxs(\n    \"mesh\",\n    {\n      name: \"shadergradient-mesh\",\n      position: [positionX, positionY, positionZ],\n      rotation: dToRArr([rotationX, rotationY, rotationZ]),\n      children: [\n        /* @__PURE__ */ jsx(Geometry, { type }),\n        /* @__PURE__ */ jsx(\n          Materials,\n          {\n            animate,\n            uniforms: {\n              colors: [color1, color2, color3],\n              uTime,\n              uSpeed,\n              uLoadingTime: 1,\n              // no loading animation\n              uNoiseDensity: uDensity,\n              uNoiseStrength: uStrength,\n              uFrequency,\n              uAmplitude,\n              uIntensity: 0.5\n            },\n            vertexShader: type === \"sphere\" ? vertexSphere_default : vertex_default,\n            fragmentShader: type === \"sphere\" ? fragmentSphere_default : fragment_default,\n            onInit: (material) => {\n              console.log(\"material (onInit)\", material);\n            }\n          }\n        )\n      ]\n    }\n  );\n}\n\nexport {\n  Mesh\n};\n","import {\n  __export\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// ../../node_modules/.pnpm/filter-obj@1.1.0/node_modules/filter-obj/index.js\nvar filter_obj_exports = {};\n__export(filter_obj_exports, {\n  default: () => filter_obj_default\n});\nvar exports = {};\nvar module = {\n  get exports() {\n    return exports;\n  },\n  set exports(value) {\n    exports = value;\n  }\n};\nmodule.exports = function(obj, predicate) {\n  var ret = {};\n  var keys = Object.keys(obj);\n  var isArr = Array.isArray(predicate);\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    var val = obj[key];\n    if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n      ret[key] = val;\n    }\n  }\n  return ret;\n};\nvar filter_obj_default = module.exports;\n\n// ../../node_modules/.pnpm/split-on-first@1.1.0/node_modules/split-on-first/index.js\nvar split_on_first_exports = {};\n__export(split_on_first_exports, {\n  default: () => split_on_first_default\n});\nvar exports2 = {};\nvar module2 = {\n  get exports() {\n    return exports2;\n  },\n  set exports(value) {\n    exports2 = value;\n  }\n};\nmodule2.exports = (string, separator) => {\n  if (!(typeof string === \"string\" && typeof separator === \"string\")) {\n    throw new TypeError(\"Expected the arguments to be of type `string`\");\n  }\n  if (separator === \"\") {\n    return [string];\n  }\n  const separatorIndex = string.indexOf(separator);\n  if (separatorIndex === -1) {\n    return [string];\n  }\n  return [\n    string.slice(0, separatorIndex),\n    string.slice(separatorIndex + separator.length)\n  ];\n};\nvar split_on_first_default = module2.exports;\n\n// ../../node_modules/.pnpm/decode-uri-component@0.2.2/node_modules/decode-uri-component/index.js\nvar decode_uri_component_exports = {};\n__export(decode_uri_component_exports, {\n  default: () => decode_uri_component_default\n});\nvar exports3 = {};\nvar module3 = {\n  get exports() {\n    return exports3;\n  },\n  set exports(value) {\n    exports3 = value;\n  }\n};\nvar token = \"%[a-f0-9]{2}\";\nvar singleMatcher = new RegExp(\"(\" + token + \")|([^%]+?)\", \"gi\");\nvar multiMatcher = new RegExp(\"(\" + token + \")+\", \"gi\");\nfunction decodeComponents(components, split) {\n  try {\n    return [decodeURIComponent(components.join(\"\"))];\n  } catch (err) {\n  }\n  if (components.length === 1) {\n    return components;\n  }\n  split = split || 1;\n  var left = components.slice(0, split);\n  var right = components.slice(split);\n  return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\nfunction decode(input) {\n  try {\n    return decodeURIComponent(input);\n  } catch (err) {\n    var tokens = input.match(singleMatcher) || [];\n    for (var i = 1; i < tokens.length; i++) {\n      input = decodeComponents(tokens, i).join(\"\");\n      tokens = input.match(singleMatcher) || [];\n    }\n    return input;\n  }\n}\nfunction customDecodeURIComponent(input) {\n  var replaceMap = {\n    \"%FE%FF\": \"\\uFFFD\\uFFFD\",\n    \"%FF%FE\": \"\\uFFFD\\uFFFD\"\n  };\n  var match = multiMatcher.exec(input);\n  while (match) {\n    try {\n      replaceMap[match[0]] = decodeURIComponent(match[0]);\n    } catch (err) {\n      var result = decode(match[0]);\n      if (result !== match[0]) {\n        replaceMap[match[0]] = result;\n      }\n    }\n    match = multiMatcher.exec(input);\n  }\n  replaceMap[\"%C2\"] = \"\\uFFFD\";\n  var entries = Object.keys(replaceMap);\n  for (var i = 0; i < entries.length; i++) {\n    var key = entries[i];\n    input = input.replace(new RegExp(key, \"g\"), replaceMap[key]);\n  }\n  return input;\n}\nmodule3.exports = function(encodedURI) {\n  if (typeof encodedURI !== \"string\") {\n    throw new TypeError(\"Expected `encodedURI` to be of type `string`, got `\" + typeof encodedURI + \"`\");\n  }\n  try {\n    encodedURI = encodedURI.replace(/\\+/g, \" \");\n    return decodeURIComponent(encodedURI);\n  } catch (err) {\n    return customDecodeURIComponent(encodedURI);\n  }\n};\nvar decode_uri_component_default = module3.exports;\n\n// ../../node_modules/.pnpm/strict-uri-encode@2.0.0/node_modules/strict-uri-encode/index.js\nvar strict_uri_encode_exports = {};\n__export(strict_uri_encode_exports, {\n  default: () => strict_uri_encode_default\n});\nvar exports4 = {};\nvar module4 = {\n  get exports() {\n    return exports4;\n  },\n  set exports(value) {\n    exports4 = value;\n  }\n};\nmodule4.exports = (str) => encodeURIComponent(str).replace(/[!'()*]/g, (x) => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\nvar strict_uri_encode_default = module4.exports;\n\n// ../../node_modules/.pnpm/query-string@7.1.3/node_modules/query-string/index.js\nfunction __cjs_default__(requiredModule) {\n  var Object2 = (typeof window !== \"undefined\" && window || typeof self !== \"undefined\" && self || typeof global !== \"undefined\" && global || typeof globalThis !== \"undefined\" && globalThis || {}).Object;\n  var isEsModule = false;\n  var specifiers = Object2.create(null);\n  var hasNamedExports = false;\n  var hasDefaultExport = false;\n  Object2.defineProperty(specifiers, \"__esModule\", {\n    value: true,\n    enumerable: false,\n    configurable: true\n  });\n  if (requiredModule) {\n    var names = Object2.getOwnPropertyNames(requiredModule);\n    ;\n    names.forEach(function(k) {\n      if (k === \"default\") {\n        hasDefaultExport = true;\n      } else if (!hasNamedExports && k != \"__esModule\") {\n        try {\n          hasNamedExports = requiredModule[k] != null;\n        } catch (err) {\n        }\n      }\n      Object2.defineProperty(specifiers, k, {\n        get: function() {\n          return requiredModule[k];\n        },\n        enumerable: true,\n        configurable: false\n      });\n    });\n    if (Object2.getOwnPropertySymbols) {\n      var symbols = Object2.getOwnPropertySymbols(requiredModule);\n      symbols.forEach(function(k) {\n        Object2.defineProperty(specifiers, k, {\n          get: function() {\n            return requiredModule[k];\n          },\n          enumerable: false,\n          configurable: false\n        });\n      });\n    }\n    Object2.preventExtensions(specifiers);\n    Object2.seal(specifiers);\n    if (Object2.freeze) {\n      Object2.freeze(specifiers);\n    }\n  }\n  if (hasNamedExports) {\n    return specifiers;\n  }\n  if (hasDefaultExport) {\n    if (Object2.isExtensible(specifiers.default) && !(\"default\" in specifiers.default)) {\n      Object2.defineProperty(specifiers.default, \"default\", {\n        value: specifiers.default,\n        configurable: false,\n        enumerable: false\n      });\n    }\n    return specifiers.default;\n  }\n  return specifiers;\n}\nvar global = typeof window !== \"undefined\" && window || typeof self !== \"undefined\" && self || typeof global !== \"undefined\" && global || typeof globalThis !== \"undefined\" && globalThis || {};\nvar exports5 = {};\nvar module5 = {\n  get exports() {\n    return exports5;\n  },\n  set exports(value) {\n    exports5 = value;\n  }\n};\nvar strictUriEncode = __cjs_default__(typeof strict_uri_encode_exports !== \"undefined\" ? strict_uri_encode_exports : {});\nvar decodeComponent = __cjs_default__(typeof decode_uri_component_exports !== \"undefined\" ? decode_uri_component_exports : {});\nvar splitOnFirst = __cjs_default__(typeof split_on_first_exports !== \"undefined\" ? split_on_first_exports : {});\nvar filterObject = __cjs_default__(typeof filter_obj_exports !== \"undefined\" ? filter_obj_exports : {});\nvar isNullOrUndefined = (value) => value === null || value === void 0;\nvar encodeFragmentIdentifier = Symbol(\"encodeFragmentIdentifier\");\nfunction encoderForArrayFormat(options) {\n  switch (options.arrayFormat) {\n    case \"index\":\n      return (key) => (result, value) => {\n        const index = result.length;\n        if (value === void 0 || options.skipNull && value === null || options.skipEmptyString && value === \"\") {\n          return result;\n        }\n        if (value === null) {\n          return [...result, [encode(key, options), \"[\", index, \"]\"].join(\"\")];\n        }\n        return [\n          ...result,\n          [encode(key, options), \"[\", encode(index, options), \"]=\", encode(value, options)].join(\"\")\n        ];\n      };\n    case \"bracket\":\n      return (key) => (result, value) => {\n        if (value === void 0 || options.skipNull && value === null || options.skipEmptyString && value === \"\") {\n          return result;\n        }\n        if (value === null) {\n          return [...result, [encode(key, options), \"[]\"].join(\"\")];\n        }\n        return [...result, [encode(key, options), \"[]=\", encode(value, options)].join(\"\")];\n      };\n    case \"colon-list-separator\":\n      return (key) => (result, value) => {\n        if (value === void 0 || options.skipNull && value === null || options.skipEmptyString && value === \"\") {\n          return result;\n        }\n        if (value === null) {\n          return [...result, [encode(key, options), \":list=\"].join(\"\")];\n        }\n        return [...result, [encode(key, options), \":list=\", encode(value, options)].join(\"\")];\n      };\n    case \"comma\":\n    case \"separator\":\n    case \"bracket-separator\": {\n      const keyValueSep = options.arrayFormat === \"bracket-separator\" ? \"[]=\" : \"=\";\n      return (key) => (result, value) => {\n        if (value === void 0 || options.skipNull && value === null || options.skipEmptyString && value === \"\") {\n          return result;\n        }\n        value = value === null ? \"\" : value;\n        if (result.length === 0) {\n          return [[encode(key, options), keyValueSep, encode(value, options)].join(\"\")];\n        }\n        return [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n      };\n    }\n    default:\n      return (key) => (result, value) => {\n        if (value === void 0 || options.skipNull && value === null || options.skipEmptyString && value === \"\") {\n          return result;\n        }\n        if (value === null) {\n          return [...result, encode(key, options)];\n        }\n        return [...result, [encode(key, options), \"=\", encode(value, options)].join(\"\")];\n      };\n  }\n}\nfunction parserForArrayFormat(options) {\n  let result;\n  switch (options.arrayFormat) {\n    case \"index\":\n      return (key, value, accumulator) => {\n        result = /\\[(\\d*)\\]$/.exec(key);\n        key = key.replace(/\\[\\d*\\]$/, \"\");\n        if (!result) {\n          accumulator[key] = value;\n          return;\n        }\n        if (accumulator[key] === void 0) {\n          accumulator[key] = {};\n        }\n        accumulator[key][result[1]] = value;\n      };\n    case \"bracket\":\n      return (key, value, accumulator) => {\n        result = /(\\[\\])$/.exec(key);\n        key = key.replace(/\\[\\]$/, \"\");\n        if (!result) {\n          accumulator[key] = value;\n          return;\n        }\n        if (accumulator[key] === void 0) {\n          accumulator[key] = [value];\n          return;\n        }\n        accumulator[key] = [].concat(accumulator[key], value);\n      };\n    case \"colon-list-separator\":\n      return (key, value, accumulator) => {\n        result = /(:list)$/.exec(key);\n        key = key.replace(/:list$/, \"\");\n        if (!result) {\n          accumulator[key] = value;\n          return;\n        }\n        if (accumulator[key] === void 0) {\n          accumulator[key] = [value];\n          return;\n        }\n        accumulator[key] = [].concat(accumulator[key], value);\n      };\n    case \"comma\":\n    case \"separator\":\n      return (key, value, accumulator) => {\n        const isArray = typeof value === \"string\" && value.includes(options.arrayFormatSeparator);\n        const isEncodedArray = typeof value === \"string\" && !isArray && decode2(value, options).includes(options.arrayFormatSeparator);\n        value = isEncodedArray ? decode2(value, options) : value;\n        const newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map((item) => decode2(item, options)) : value === null ? value : decode2(value, options);\n        accumulator[key] = newValue;\n      };\n    case \"bracket-separator\":\n      return (key, value, accumulator) => {\n        const isArray = /(\\[\\])$/.test(key);\n        key = key.replace(/\\[\\]$/, \"\");\n        if (!isArray) {\n          accumulator[key] = value ? decode2(value, options) : value;\n          return;\n        }\n        const arrayValue = value === null ? [] : value.split(options.arrayFormatSeparator).map((item) => decode2(item, options));\n        if (accumulator[key] === void 0) {\n          accumulator[key] = arrayValue;\n          return;\n        }\n        accumulator[key] = [].concat(accumulator[key], arrayValue);\n      };\n    default:\n      return (key, value, accumulator) => {\n        if (accumulator[key] === void 0) {\n          accumulator[key] = value;\n          return;\n        }\n        accumulator[key] = [].concat(accumulator[key], value);\n      };\n  }\n}\nfunction validateArrayFormatSeparator(value) {\n  if (typeof value !== \"string\" || value.length !== 1) {\n    throw new TypeError(\"arrayFormatSeparator must be single character string\");\n  }\n}\nfunction encode(value, options) {\n  if (options.encode) {\n    return options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n  }\n  return value;\n}\nfunction decode2(value, options) {\n  if (options.decode) {\n    return decodeComponent(value);\n  }\n  return value;\n}\nfunction keysSorter(input) {\n  if (Array.isArray(input)) {\n    return input.sort();\n  }\n  if (typeof input === \"object\") {\n    return keysSorter(Object.keys(input)).sort((a, b) => Number(a) - Number(b)).map((key) => input[key]);\n  }\n  return input;\n}\nfunction removeHash(input) {\n  const hashStart = input.indexOf(\"#\");\n  if (hashStart !== -1) {\n    input = input.slice(0, hashStart);\n  }\n  return input;\n}\nfunction getHash(url) {\n  let hash = \"\";\n  const hashStart = url.indexOf(\"#\");\n  if (hashStart !== -1) {\n    hash = url.slice(hashStart);\n  }\n  return hash;\n}\nfunction extract(input) {\n  input = removeHash(input);\n  const queryStart = input.indexOf(\"?\");\n  if (queryStart === -1) {\n    return \"\";\n  }\n  return input.slice(queryStart + 1);\n}\nfunction parseValue(value, options) {\n  if (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === \"string\" && value.trim() !== \"\")) {\n    value = Number(value);\n  } else if (options.parseBooleans && value !== null && (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\")) {\n    value = value.toLowerCase() === \"true\";\n  }\n  return value;\n}\nfunction parse(query, options) {\n  options = Object.assign({\n    decode: true,\n    sort: true,\n    arrayFormat: \"none\",\n    arrayFormatSeparator: \",\",\n    parseNumbers: false,\n    parseBooleans: false\n  }, options);\n  validateArrayFormatSeparator(options.arrayFormatSeparator);\n  const formatter = parserForArrayFormat(options);\n  const ret = /* @__PURE__ */ Object.create(null);\n  if (typeof query !== \"string\") {\n    return ret;\n  }\n  query = query.trim().replace(/^[?#&]/, \"\");\n  if (!query) {\n    return ret;\n  }\n  for (const param of query.split(\"&\")) {\n    if (param === \"\") {\n      continue;\n    }\n    let [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, \" \") : param, \"=\");\n    value = value === void 0 ? null : [\"comma\", \"separator\", \"bracket-separator\"].includes(options.arrayFormat) ? value : decode2(value, options);\n    formatter(decode2(key, options), value, ret);\n  }\n  for (const key of Object.keys(ret)) {\n    const value = ret[key];\n    if (typeof value === \"object\" && value !== null) {\n      for (const k of Object.keys(value)) {\n        value[k] = parseValue(value[k], options);\n      }\n    } else {\n      ret[key] = parseValue(value, options);\n    }\n  }\n  if (options.sort === false) {\n    return ret;\n  }\n  return (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n    const value = ret[key];\n    if (Boolean(value) && typeof value === \"object\" && !Array.isArray(value)) {\n      result[key] = keysSorter(value);\n    } else {\n      result[key] = value;\n    }\n    return result;\n  }, /* @__PURE__ */ Object.create(null));\n}\nexports5.extract = extract;\nexports5.parse = parse;\nexports5.stringify = (object, options) => {\n  if (!object) {\n    return \"\";\n  }\n  options = Object.assign({\n    encode: true,\n    strict: true,\n    arrayFormat: \"none\",\n    arrayFormatSeparator: \",\"\n  }, options);\n  validateArrayFormatSeparator(options.arrayFormatSeparator);\n  const shouldFilter = (key) => options.skipNull && isNullOrUndefined(object[key]) || options.skipEmptyString && object[key] === \"\";\n  const formatter = encoderForArrayFormat(options);\n  const objectCopy = {};\n  for (const key of Object.keys(object)) {\n    if (!shouldFilter(key)) {\n      objectCopy[key] = object[key];\n    }\n  }\n  const keys = Object.keys(objectCopy);\n  if (options.sort !== false) {\n    keys.sort(options.sort);\n  }\n  return keys.map((key) => {\n    const value = object[key];\n    if (value === void 0) {\n      return \"\";\n    }\n    if (value === null) {\n      return encode(key, options);\n    }\n    if (Array.isArray(value)) {\n      if (value.length === 0 && options.arrayFormat === \"bracket-separator\") {\n        return encode(key, options) + \"[]\";\n      }\n      return value.reduce(formatter(key), []).join(\"&\");\n    }\n    return encode(key, options) + \"=\" + encode(value, options);\n  }).filter((x) => x.length > 0).join(\"&\");\n};\nexports5.parseUrl = (url, options) => {\n  options = Object.assign({\n    decode: true\n  }, options);\n  const [url_, hash] = splitOnFirst(url, \"#\");\n  return Object.assign(\n    {\n      url: url_.split(\"?\")[0] || \"\",\n      query: parse(extract(url), options)\n    },\n    options && options.parseFragmentIdentifier && hash ? { fragmentIdentifier: decode2(hash, options) } : {}\n  );\n};\nexports5.stringifyUrl = (object, options) => {\n  options = Object.assign({\n    encode: true,\n    strict: true,\n    [encodeFragmentIdentifier]: true\n  }, options);\n  const url = removeHash(object.url).split(\"?\")[0] || \"\";\n  const queryFromUrl = exports5.extract(object.url);\n  const parsedQueryFromUrl = exports5.parse(queryFromUrl, { sort: false });\n  const query = Object.assign(parsedQueryFromUrl, object.query);\n  let queryString = exports5.stringify(query, options);\n  if (queryString) {\n    queryString = `?${queryString}`;\n  }\n  let hash = getHash(object.url);\n  if (object.fragmentIdentifier) {\n    hash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n  }\n  return `${url}${queryString}${hash}`;\n};\nexports5.pick = (input, filter, options) => {\n  options = Object.assign({\n    parseFragmentIdentifier: true,\n    [encodeFragmentIdentifier]: false\n  }, options);\n  const { url, query, fragmentIdentifier } = exports5.parseUrl(input, options);\n  return exports5.stringifyUrl({\n    url,\n    query: filterObject(query, filter),\n    fragmentIdentifier\n  }, options);\n};\nexports5.exclude = (input, filter, options) => {\n  const exclusionFilter = Array.isArray(filter) ? (key) => !filter.includes(key) : (key, value) => !filter(key, value);\n  return exports5.pick(input, exclusionFilter, options);\n};\nvar __export0;\nvar __export1;\nvar __export2;\nvar __export3;\nvar __export4;\nvar __export5;\nvar __export6;\nif (Object.isExtensible(module5.exports) && Object.keys(module5.exports).length === 7) {\n  __export0 = module5.exports[\"extract\"];\n  __export1 = module5.exports[\"parse\"];\n  __export2 = module5.exports[\"stringify\"];\n  __export3 = module5.exports[\"parseUrl\"];\n  __export4 = module5.exports[\"stringifyUrl\"];\n  __export5 = module5.exports[\"pick\"];\n  __export6 = module5.exports[\"exclude\"];\n}\nvar query_string_default = module5.exports;\n\nexport {\n  __export1,\n  __export4\n};\n","// src/presets.ts\nvar presets = {\n  base: {\n    title: \"Base\",\n    color: \"white\",\n    props: {\n      positionX: 0,\n      positionY: 0,\n      positionZ: 0,\n      rotationX: 0,\n      rotationY: 0,\n      rotationZ: 0,\n      uAmplitude: 2,\n      color1: \"#ff5005\",\n      color2: \"#dbba95\",\n      color3: \"#d0bce1\"\n    }\n  },\n  halo: {\n    title: \"Halo\",\n    color: \"white\",\n    props: {\n      type: \"plane\",\n      uAmplitude: 1,\n      uDensity: 1.3,\n      uSpeed: 0.4,\n      uStrength: 4,\n      uTime: 0,\n      uFrequency: 5.5,\n      range: \"enabled\",\n      rangeStart: 0,\n      rangeEnd: 40,\n      frameRate: 10,\n      destination: \"onCanvas\",\n      format: \"gif\",\n      axesHelper: \"off\",\n      brightness: 1.2,\n      cAzimuthAngle: 180,\n      cDistance: 3.6,\n      cPolarAngle: 90,\n      cameraZoom: 1,\n      color1: \"#ff5005\",\n      color2: \"#dbba95\",\n      color3: \"#d0bce1\",\n      embedMode: \"off\",\n      envPreset: \"city\",\n      gizmoHelper: \"hide\",\n      grain: \"on\",\n      lightType: \"3d\",\n      pixelDensity: 1,\n      fov: 45,\n      positionX: -1.4,\n      positionY: 0,\n      positionZ: 0,\n      reflection: 0.1,\n      rotationX: 0,\n      rotationY: 10,\n      rotationZ: 50,\n      shader: \"defaults\",\n      animate: \"on\",\n      wireframe: false\n    }\n  },\n  pensive: {\n    title: \"Pensive\",\n    color: \"white\",\n    props: {\n      range: \"enabled\",\n      rangeStart: 0,\n      rangeEnd: 40,\n      frameRate: 10,\n      destination: \"onCanvas\",\n      format: \"gif\",\n      animate: \"on\",\n      axesHelper: \"off\",\n      brightness: 1.5,\n      cAzimuthAngle: 250,\n      cDistance: 1.5,\n      cPolarAngle: 140,\n      cameraZoom: 12.5,\n      color1: \"#809bd6\",\n      color2: \"#910aff\",\n      color3: \"#af38ff\",\n      embedMode: \"off\",\n      envPreset: \"city\",\n      gizmoHelper: \"hide\",\n      grain: \"on\",\n      lightType: \"3d\",\n      pixelDensity: 1,\n      fov: 45,\n      positionX: 0,\n      positionY: 0,\n      positionZ: 0,\n      reflection: 0.5,\n      rotationX: 0,\n      rotationY: 0,\n      rotationZ: 140,\n      shader: \"defaults\",\n      type: \"sphere\",\n      uAmplitude: 7,\n      uDensity: 0.8,\n      uFrequency: 5.5,\n      uSpeed: 0.3,\n      uStrength: 0.4,\n      uTime: 0,\n      wireframe: false\n    }\n  },\n  mint: {\n    title: \"Mint\",\n    color: \"white\",\n    props: {\n      range: \"enabled\",\n      rangeStart: 0,\n      rangeEnd: 40,\n      frameRate: 10,\n      destination: \"onCanvas\",\n      format: \"gif\",\n      animate: \"on\",\n      axesHelper: \"off\",\n      brightness: 1.2,\n      cAzimuthAngle: 170,\n      cDistance: 4.4,\n      cPolarAngle: 70,\n      cameraZoom: 1,\n      color1: \"#94ffd1\",\n      color2: \"#6bf5ff\",\n      color3: \"#ffffff\",\n      embedMode: \"off\",\n      envPreset: \"city\",\n      gizmoHelper: \"hide\",\n      grain: \"off\",\n      lightType: \"3d\",\n      pixelDensity: 1,\n      fov: 45,\n      positionX: 0,\n      positionY: 0.9,\n      positionZ: -0.3,\n      reflection: 0.1,\n      rotationX: 45,\n      rotationY: 0,\n      rotationZ: 0,\n      shader: \"defaults\",\n      type: \"waterPlane\",\n      uAmplitude: 0,\n      uDensity: 1.2,\n      uFrequency: 0,\n      uSpeed: 0.2,\n      uStrength: 3.4,\n      uTime: 0,\n      wireframe: false\n    }\n  },\n  interstella: {\n    title: \"Interstella\",\n    color: \"white\",\n    props: {\n      range: \"enabled\",\n      rangeStart: 0,\n      rangeEnd: 40,\n      frameRate: 10,\n      destination: \"onCanvas\",\n      format: \"gif\",\n      animate: \"on\",\n      axesHelper: \"off\",\n      brightness: 0.8,\n      cAzimuthAngle: 270,\n      cDistance: 0.5,\n      cPolarAngle: 180,\n      cameraZoom: 15.1,\n      color1: \"#73bfc4\",\n      color2: \"#ff810a\",\n      color3: \"#8da0ce\",\n      embedMode: \"off\",\n      envPreset: \"city\",\n      gizmoHelper: \"hide\",\n      grain: \"on\",\n      lightType: \"env\",\n      pixelDensity: 1,\n      fov: 45,\n      positionX: -0.1,\n      positionY: 0,\n      positionZ: 0,\n      reflection: 0.4,\n      rotationX: 0,\n      rotationY: 130,\n      rotationZ: 70,\n      shader: \"defaults\",\n      type: \"sphere\",\n      uAmplitude: 3.2,\n      uDensity: 0.8,\n      uFrequency: 5.5,\n      uSpeed: 0.3,\n      uStrength: 0.3,\n      uTime: 0,\n      wireframe: false\n    }\n  }\n};\nvar initialActivePreset = 0;\nvar presetsArray = Object.values(presets);\n\nexport {\n  presets,\n  initialActivePreset,\n  presetsArray\n};\n","import {\n  PostProcessing\n} from \"./chunk-K6AX6D7Y.mjs\";\nimport {\n  Controls\n} from \"./chunk-UBHL4FP4.mjs\";\nimport {\n  Lights\n} from \"./chunk-3TWSDFLC.mjs\";\nimport {\n  Mesh\n} from \"./chunk-K4ZFJCJ3.mjs\";\nimport {\n  __export1\n} from \"./chunk-AVODCFKL.mjs\";\nimport {\n  formatUrlString\n} from \"./chunk-G7COPUKV.mjs\";\nimport {\n  presets\n} from \"./chunk-RFZ5WM4S.mjs\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// src/ShaderGradient/ShaderGradient.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nfunction ShaderGradient(passedProps) {\n  const _a = __spreadValues(__spreadValues({}, presets.halo.props), passedProps), { control, urlString } = _a, rest = __objRest(_a, [\"control\", \"urlString\"]);\n  let props = rest;\n  if (control === \"query\")\n    props = __export1(formatUrlString(urlString), {\n      parseNumbers: true,\n      parseBooleans: true,\n      arrayFormat: \"index\"\n    });\n  const _b = props, { lightType, envPreset, brightness, grain, toggleAxis } = _b, others = __objRest(_b, [\"lightType\", \"envPreset\", \"brightness\", \"grain\", \"toggleAxis\"]);\n  return /* @__PURE__ */ jsxs(Fragment, { children: [\n    /* @__PURE__ */ jsx(Mesh, __spreadValues({}, props)),\n    /* @__PURE__ */ jsx(\n      Lights,\n      {\n        lightType,\n        brightness,\n        envPreset\n      }\n    ),\n    grain !== \"off\" && /* @__PURE__ */ jsx(PostProcessing, {}),\n    /* @__PURE__ */ jsx(Controls, __spreadValues({}, props))\n  ] });\n}\n\nexport {\n  ShaderGradient\n};\n","import {\n  ShaderGradientCanvas\n} from \"./chunk-RNORR4OK.mjs\";\nimport \"./chunk-35NIH65G.mjs\";\nimport {\n  ShaderGradient\n} from \"./chunk-BWWR5P6F.mjs\";\nimport \"./chunk-BKMGN7IO.mjs\";\nimport \"./chunk-WGOL3MLC.mjs\";\nimport \"./chunk-K6AX6D7Y.mjs\";\nimport \"./chunk-FFUMSB5Y.mjs\";\nimport \"./chunk-2FDB6CTQ.mjs\";\nimport \"./chunk-D6HO7KA7.mjs\";\nimport \"./chunk-Z2ZIK3HP.mjs\";\nimport \"./chunk-C4TFB3WJ.mjs\";\nimport \"./chunk-USQFKVUW.mjs\";\nimport \"./chunk-7HNM7AEP.mjs\";\nimport \"./chunk-N6TUE7XZ.mjs\";\nimport \"./chunk-3U6A2N6D.mjs\";\nimport \"./chunk-AJ4ZTHOA.mjs\";\nimport \"./chunk-54NE35C4.mjs\";\nimport \"./chunk-4NRCS6EB.mjs\";\nimport \"./chunk-X2NOPSAQ.mjs\";\nimport \"./chunk-UBHL4FP4.mjs\";\nimport \"./chunk-F5B5J54Z.mjs\";\nimport \"./chunk-3TWSDFLC.mjs\";\nimport \"./chunk-EQTKUIXJ.mjs\";\nimport \"./chunk-3IAOHWI6.mjs\";\nimport \"./chunk-FMYDOIX6.mjs\";\nimport \"./chunk-K4ZFJCJ3.mjs\";\nimport \"./chunk-WMVG427C.mjs\";\nimport \"./chunk-WBM42ICI.mjs\";\nimport \"./chunk-LJBCYGOI.mjs\";\nimport \"./chunk-AVODCFKL.mjs\";\nimport \"./chunk-SU6VHGW3.mjs\";\nimport \"./chunk-XX6QE2RT.mjs\";\nimport \"./chunk-G7COPUKV.mjs\";\nimport \"./chunk-BI5IV7LU.mjs\";\nimport \"./chunk-PBAUXUVF.mjs\";\nimport \"./chunk-M5G6JQMQ.mjs\";\nimport \"./chunk-SX7QUDKQ.mjs\";\nimport \"./chunk-RFZ5WM4S.mjs\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"./chunk-5BEQP2BQ.mjs\";\n\n// src/FramerShaderGradient.tsx\nimport { ControlType } from \"framer\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction FramerShaderGradient(_a) {\n  var _b = _a, {\n    position,\n    rotation,\n    cameraAngle,\n    noise\n  } = _b, rest = __objRest(_b, [\n    \"position\",\n    \"rotation\",\n    \"cameraAngle\",\n    \"noise\"\n  ]);\n  const { positionX, positionY, positionZ } = position;\n  const { rotationX, rotationY, rotationZ } = rotation;\n  const { cAzimuthAngle, cPolarAngle } = cameraAngle;\n  const { uDensity, uStrength } = noise;\n  return /* @__PURE__ */ jsx(\n    ShaderGradient,\n    __spreadValues({\n      positionX,\n      positionY,\n      positionZ,\n      rotationX,\n      rotationY,\n      rotationZ,\n      cAzimuthAngle,\n      cPolarAngle,\n      uDensity,\n      uStrength\n    }, rest)\n  );\n}\nFramerShaderGradient.propertyControls = {\n  control: {\n    type: ControlType.Enum,\n    options: [\"props\", \"query\"],\n    optionTitles: [\"Props\", \"Query\"],\n    displaySegmentedControl: true\n  },\n  activeTab: {\n    title: \"Settings Group\",\n    type: ControlType.Enum,\n    options: [\"Shape\", \"Colors\", \"Effects\", \"View\"],\n    hidden: (props) => props.control === \"query\"\n  },\n  // Shape\n  type: {\n    type: ControlType.Enum,\n    options: [\"plane\", \"sphere\", \"waterPlane\"],\n    optionTitles: [\"Plane\", \"Sphere\", \"Water\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  shader: {\n    type: ControlType.Enum,\n    options: [\"defaults\", \"positionMix\"],\n    optionTitles: [\"Type A\", \"Type B\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  animate: {\n    type: ControlType.Enum,\n    options: [\"on\", \"off\"],\n    optionTitles: [\"On\", \"Off\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Shape\" && props.activeTab !== \"URL\"\n  },\n  uTime: {\n    title: \"Movements\",\n    type: ControlType.Number,\n    step: 0.1,\n    displayStepper: true,\n    hidden: (props) => props.animate === \"on\" || props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  uSpeed: {\n    title: \"Speed\",\n    type: ControlType.Number,\n    step: 0.1,\n    min: 0.1,\n    displayStepper: true,\n    defaultValue: 0.4,\n    hidden: (props) => props.animate === \"off\" || props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  noise: {\n    type: ControlType.Object,\n    controls: {\n      uStrength: {\n        type: ControlType.Number,\n        title: \"Strength\",\n        step: 0.1,\n        min: 0.1,\n        displayStepper: true,\n        defaultValue: 4\n      },\n      uDensity: {\n        type: ControlType.Number,\n        title: \"Density\",\n        step: 0.1,\n        min: 0.1,\n        displayStepper: true,\n        defaultValue: 1.3\n      }\n      // uFrequency: {\n      //     type: ControlType.Number,\n      //     step: 0.1,\n      //     min: 0.1,\n      //     displayStepper: true,\n      //     hidden: (props) =>\n      //         props.type !== \"sphere\" ||\n      //         props.control === \"query\" ||\n      //         props.activeTab !== \"Shape\",\n      // },\n    },\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  uAmplitude: {\n    type: ControlType.Number,\n    title: \"Spiral\",\n    step: 0.1,\n    min: 0.1,\n    displayStepper: true,\n    defaultValue: 1,\n    hidden: (props) => props.type !== \"sphere\" || props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  pixelDensity: {\n    type: ControlType.Number,\n    step: 0.1,\n    min: 0,\n    max: 3,\n    displayStepper: true,\n    defaultValue: 1,\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Shape\"\n  },\n  // Effects\n  grain: {\n    type: ControlType.Enum,\n    options: [\"on\", \"off\"],\n    optionTitles: [\"On\", \"Off\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Effects\"\n  },\n  lightType: {\n    type: ControlType.Enum,\n    options: [\"env\", \"3d\"],\n    optionTitles: [\"Env\", \"Light\"],\n    displaySegmentedControl: true,\n    defaultValue: \"3d\",\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Effects\"\n  },\n  envPreset: {\n    type: ControlType.Enum,\n    options: [\"city\", \"dawn\", \"lobby\"],\n    optionTitles: [\"City\", \"Dawn\", \"Lobby\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.lightType === \"3d\" || props.control === \"query\" || props.activeTab !== \"Effects\"\n  },\n  brightness: {\n    type: ControlType.Number,\n    step: 0.1,\n    min: 0.1,\n    max: 3,\n    defaultValue: 1.2,\n    hidden: (props) => props.lightType === \"env\" || props.control === \"query\" || props.activeTab !== \"Effects\" || props.url\n  },\n  reflection: {\n    type: ControlType.Number,\n    step: 0.1,\n    min: 0,\n    max: 1,\n    defaultValue: 0.1,\n    hidden: (props) => props.lightType === \"3d\" || props.control === \"query\" || props.activeTab !== \"Effects\" || props.url\n  },\n  // Colors\n  color1: {\n    type: ControlType.Color,\n    defaultValue: \"#ff5005\",\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Colors\"\n  },\n  color2: {\n    type: ControlType.Color,\n    defaultValue: \"#dbba95\",\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Colors\"\n  },\n  color3: {\n    type: ControlType.Color,\n    defaultValue: \"#d0bce1\",\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"Colors\"\n  },\n  // View\n  cDistance: {\n    title: \"Distance\",\n    type: ControlType.Number,\n    displayStepper: true,\n    min: 0,\n    max: 20,\n    defaultValue: 3.6,\n    hidden: (props) => props.type === \"sphere\" || props.control === \"query\" || props.activeTab !== \"View\"\n  },\n  cameraZoom: {\n    type: ControlType.Number,\n    displayStepper: true,\n    step: 0.1,\n    min: 0.1,\n    max: 30,\n    defaultValue: 1,\n    hidden: (props) => props.type !== \"sphere\" || props.control === \"query\" || props.activeTab !== \"View\"\n  },\n  cameraAngle: {\n    type: ControlType.Object,\n    controls: {\n      cAzimuthAngle: {\n        title: \"Azimuth\",\n        type: ControlType.Number,\n        displayStepper: true,\n        step: 10,\n        min: 0,\n        max: 360,\n        defaultValue: 180\n      },\n      cPolarAngle: {\n        title: \"Polar\",\n        type: ControlType.Number,\n        displayStepper: true,\n        step: 10,\n        min: 0,\n        max: 180,\n        defaultValue: 90\n      }\n    },\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"View\"\n  },\n  position: {\n    type: ControlType.Object,\n    controls: {\n      positionX: {\n        type: ControlType.Number,\n        step: 0.1,\n        displayStepper: true,\n        defaultValue: -1.4\n      },\n      positionY: {\n        type: ControlType.Number,\n        step: 0.1,\n        displayStepper: true,\n        defaultValue: 0\n      },\n      positionZ: {\n        type: ControlType.Number,\n        step: 0.1,\n        displayStepper: true,\n        defaultValue: 0\n      }\n    },\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"View\"\n  },\n  rotation: {\n    type: ControlType.Object,\n    controls: {\n      rotationX: {\n        type: ControlType.Number,\n        step: 10,\n        min: -360,\n        max: 360,\n        displayStepper: true,\n        defaultValue: 0\n      },\n      rotationY: {\n        type: ControlType.Number,\n        step: 10,\n        min: -360,\n        max: 360,\n        displayStepper: true,\n        defaultValue: 10\n      },\n      rotationZ: {\n        type: ControlType.Number,\n        step: 10,\n        min: -360,\n        max: 360,\n        displayStepper: true,\n        defaultValue: 50\n      }\n    },\n    hidden: (props) => props.control === \"query\" || props.activeTab !== \"View\"\n  },\n  // urlString\n  urlString: {\n    type: ControlType.String,\n    placeholder: \"URL from shadergradient.co\",\n    defaultValue: \"https://www.shadergradient.co/customize?animate=on&axesHelper=off&bgColor1=%23000000&bgColor2=%23000000&brightness=1.2&cAzimuthAngle=180&cDistance=3.6&cPolarAngle=90&cameraZoom=1&color1=%23ff5005&color2=%23dbba95&color3=%23d0bce1&destination=onCanvas&embedMode=off&envPreset=city&format=gif&fov=45&frameRate=10&gizmoHelper=hide&grain=on&lightType=3d&pixelDensity=1&positionX=-1.4&positionY=0&positionZ=0&range=enabled&rangeEnd=40&rangeStart=0&reflection=0.1&rotationX=0&rotationY=10&rotationZ=50&shader=defaults&type=plane&uDensity=1.3&uFrequency=5.5&uSpeed=0.4&uStrength=4&uTime=0&wireframe=false\",\n    hidden: (props) => props.control === \"props\"\n  },\n  // Tools (🧰)\n  zoomOut: {\n    type: ControlType.Boolean,\n    title: \"View\",\n    enabledTitle: \"Wide\",\n    disabledTitle: \"-\",\n    hidden: (props) => props.control === \"query\"\n  },\n  toggleAxis: {\n    type: ControlType.Boolean,\n    title: \"Axis\",\n    enabledTitle: \"Guide\",\n    disabledTitle: \"-\",\n    hidden: (props) => props.control === \"query\"\n  },\n  pointerEvents: {\n    type: ControlType.Enum,\n    title: \"Touch Control\",\n    options: [\"none\", \"auto\"],\n    optionTitles: [\"Disable\", \"Enable\"],\n    displaySegmentedControl: true,\n    hidden: (props) => props.control === \"query\"\n  },\n  performantOnCanvas: {\n    type: ControlType.Boolean,\n    defaultValue: false\n  }\n};\nexport {\n  FramerShaderGradient,\n  ShaderGradientCanvas\n};\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls}from\"framer\";import*as m from\"https://ruucm.github.io/shadergradient/shadergradient@2.0.15/FramerShaderGradient.mjs\";/**\n * @framerIntrinsicHeight 700\n * @framerIntrinsicWidth 500\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ShaderGradient(props){return /*#__PURE__*/_jsx(m.ShaderGradientCanvas,{pointerEvents:props.pointerEvents,children:/*#__PURE__*/_jsx(m.FramerShaderGradient,{...props})});}addPropertyControls(ShaderGradient,m.FramerShaderGradient.propertyControls||{});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShaderGradient\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"700\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"500\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShaderGradient.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";const placeholderUrl=\"https://lottie.host/d826e0a7-b7e8-4072-8afe-c943ed2dd2ca/DpX3m5yT5Z.lottie\";/**\n * DOT LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export default function DotLottie(props){return /*#__PURE__*/ _jsx(OptimizationFriendly,{loading:/*#__PURE__*/ _jsx(\"div\",{}),loaded:/*#__PURE__*/ _jsx(LottiePlayer,{...props})});};function LottiePlayer(props){/* Checks */ const isCanvas=RenderTarget.current()===RenderTarget.canvas;const lottieInstanceRef=useRef(null);const shouldPlay=isCanvas||props.hover===true||props.autoplay===false?null:true;/* File or URL */ let src;switch(props.srcType){case\"url\":src=props.srcUrl;break;case\"file\":src=props.srcFile;break;default:src=placeholderUrl;break;}/* Progress */ const[isReady,setIsReady]=useState(false);/* For canvas states */ useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.addEventListener(\"ready\",()=>setIsReady(true));},[]);useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.seek(`${props.progress}%`);},[isReady,props.progress]);const lastVariant=useRef();/* For component variant support */ useEffect(()=>{if(isCanvas)return;if(lastVariant.current!==props.autoplay){if(!lottieInstanceRef.current)return;if(props.autoplay===true){lottieInstanceRef.current.play();}if(props.autoplay===false){lottieInstanceRef.current.pause();}}lastVariant.current=props.autoplay;},[props.autoplay]);return(// @ts-ignore\n/*#__PURE__*/ _jsx(\"dotlottie-player\",{src:src,ref:lottieInstanceRef,autoplay:shouldPlay,loop:props.loop?true:null,hover:props.hover?true:null,controls:props.controls?true:null,background:props.background?props.background:null,speed:props.speed,direction:props.direction,style:{...props.style,width:\"100%\",height:\"100%\"}},src));}DotLottie.defaultProps={srcUrl:placeholderUrl,autoplay:true,background:\"#05F\",controls:false,direction:1,hover:false,loop:true,speed:1};DotLottie.displayName=\"Dot Lottie\";addPropertyControls(DotLottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"url\",\"file\"],optionTitles:[\"URL\",\"File\"]},srcUrl:{type:ControlType.String,title:\"Link\",placeholder:\"../example.lottie\",hidden:props=>props.srcType===\"file\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"lottie\",\"json\"],hidden:props=>props.srcType===\"url\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},background:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"#05F\"},controls:{type:ControlType.Boolean,title:\"Controls\"},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"1\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"1\",\"-1\"],optionTitles:[\"Normal\",\"Reverse\"]},hover:{type:ControlType.Boolean,title:\"Hover Play\"},loop:{type:ControlType.Boolean,title:\"Loop\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:1,max:10,unit:\"x\",step:.5,displayStepper:true},progress:{type:ControlType.Number,title:\"Progress\",defaultValue:0,min:0,max:100,step:1,description:\"This component is made for Lottie files. [Learn more here](https://dotlottie.io/).\"}});/* For SSG */ function OptimizationFriendly({loading,loaded}){const[isLoading,setLoading]=React.useState(true);// We can't load web-components in ssg on the server,\n// so we defer rendering until we hit the client.\nReact.useEffect(()=>{import(\"https://unpkg.com/@dotlottie/player-component@1.3.2/dist/dotlottie-player.js\").then(()=>{setLoading(false);});},[]);return isLoading?loading:loaded;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DotLottie\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DotLottie.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles}from\"https://framer.com/m/framer/default-utils.js\";/**\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n */export default function Embed({type,url,html,zoom,radius,border,style={}}){if(type===\"url\"&&url){return /*#__PURE__*/_jsx(EmbedUrl,{url:url,zoom:zoom,radius:radius,border:border,style:style});}if(type===\"html\"&&html){return /*#__PURE__*/_jsx(EmbedHtml,{html:html,style:style});}return /*#__PURE__*/_jsx(Instructions,{style:style});}addPropertyControls(Embed,{type:{type:ControlType.Enum,defaultValue:\"url\",displaySegmentedControl:true,options:[\"url\",\"html\"],optionTitles:[\"URL\",\"HTML\"]},url:{title:\"URL\",type:ControlType.String,description:\"Some websites don’t support embedding.\",hidden(props){return props.type!==\"url\";}},html:{title:\"HTML\",type:ControlType.String,displayTextArea:true,hidden(props){return props.type!==\"html\";}},border:{title:\"Border\",type:ControlType.Border,optional:true,hidden(props){return props.type!==\"url\";}},radius:{type:ControlType.BorderRadius,title:\"Radius\",hidden(props){return props.type!==\"url\";}},zoom:{title:\"Zoom\",defaultValue:1,type:ControlType.Number,hidden(props){return props.type!==\"url\";},min:.1,max:1,step:.1,displayStepper:true}});function Instructions({style}){return /*#__PURE__*/_jsx(\"div\",{style:{minHeight:getMinHeight(style),...emptyStateStyle,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a website or widget, add it to the properties\\xa0panel.\"})});}function EmbedUrl({url,zoom,radius,border,style}){const hasAutoHeight=!style.height;// Add https:// if the URL does not have a protocol.\nif(!/[a-z]+:\\/\\//.test(url)){url=\"https://\"+url;}const onCanvas=useIsOnCanvas();// We need to check if the url is blocked inside an iframe by the X-Frame-Options\n// or Content-Security-Policy headers on the backend.\nconst[state,setState]=useState(onCanvas?undefined:false);useEffect(()=>{// We only want to check on the canvas.\n// On the website we want to avoid the additional delay.\nif(!onCanvas)return;// TODO: We could also use AbortController here.\nlet isLastEffect=true;setState(undefined);async function load(){const response=await fetch(\"https://api.framer.com/functions/check-iframe-url?url=\"+encodeURIComponent(url));if(response.status==200){const{isBlocked}=await response.json();if(isLastEffect){setState(isBlocked);}}else{const message=await response.text();console.error(message);const error=new Error(\"This site can’t be reached.\");setState(error);}}load().catch(error=>{console.error(error);setState(error);});return()=>{isLastEffect=false;};},[url]);if(onCanvas&&hasAutoHeight){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"URL embeds do not support auto height.\",style:style});}if(!url.startsWith(\"https://\")){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Unsupported protocol.\",style:style});}if(state===undefined){return /*#__PURE__*/_jsx(LoadingIndicator,{});}if(state instanceof Error){return /*#__PURE__*/_jsx(ErrorMessage,{message:state.message,style:style});}if(state===true){const message=`Can’t embed ${url} due to its content security policy.`;return /*#__PURE__*/_jsx(ErrorMessage,{message:message,style:style});}return /*#__PURE__*/_jsx(\"iframe\",{src:url,style:{...iframeStyle,...style,...border,zoom:zoom,borderRadius:radius,transformOrigin:\"top center\"},loading:\"lazy\",// @ts-ignore\nfetchPriority:onCanvas?\"low\":\"auto\",referrerPolicy:\"no-referrer\",sandbox:getSandbox(onCanvas),allowFullScreen:true,allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; clipboard-write\"});}const iframeStyle={width:\"100%\",height:\"100%\",border:\"none\"};function getSandbox(onCanvas){const result=[\"allow-same-origin\",\"allow-scripts\"];if(!onCanvas){result.push(\"allow-downloads\",\"allow-forms\",\"allow-modals\",\"allow-orientation-lock\",\"allow-pointer-lock\",\"allow-popups\",\"allow-popups-to-escape-sandbox\",\"allow-presentation\",\"allow-storage-access-by-user-activation\",\"allow-top-navigation-by-user-activation\");}return result.join(\" \");}function EmbedHtml({html,...props}){const hasScript=html.includes(\"</script>\");if(hasScript){const hasSplineViewer=html.includes(\"</spline-viewer>\");const hasComment=html.includes(\"<!-- framer-direct-embed -->\");if(hasSplineViewer||hasComment){return /*#__PURE__*/_jsx(EmbedHtmlWithScripts,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlInsideIframe,{html:html,...props});}return /*#__PURE__*/_jsx(EmbedHtmlWithoutScripts,{html:html,...props});}function EmbedHtmlInsideIframe({html,style}){const ref=useRef();const[iframeHeight,setIframeHeight]=useState(0);// Handle auto sizing\nuseEffect(()=>{const iframeWindow=ref.current?.contentWindow;function handleMessage(event){if(event.source!==iframeWindow)return;const data=event.data;if(typeof data!==\"object\"||data===null)return;const height=data.embedHeight;if(typeof height!==\"number\")return;setIframeHeight(height);}window.addEventListener(\"message\",handleMessage);// After SSG the iframe loads before we attach the event handler,\n// therefore we need to request the latest height from the iframe.\niframeWindow?.postMessage(\"getEmbedHeight\",\"*\");return()=>{window.removeEventListener(\"message\",handleMessage);};},[]);// The CSS is mainly copied from:\n// FramerStudio/src/app/vekter/src/renderer/setDefaultFont.ts\n// FramerStudio/src/app/vekter/src/export/globalStylesForExport.ts\nconst srcDoc=`\n<html>\n    <head>\n        <style>\n            html, body {\n                margin: 0;\n                padding: 0;\n            }\n\n            body {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n            }\n\n            :root {\n                -webkit-font-smoothing: antialiased;\n                -moz-osx-font-smoothing: grayscale;\n            }\n\n            * {\n                box-sizing: border-box;\n                -webkit-font-smoothing: inherit;\n            }\n\n            h1, h2, h3, h4, h5, h6, p, figure {\n                margin: 0;\n            }\n\n            body, input, textarea, select, button {\n                font-size: 12px;\n                font-family: sans-serif;\n            }\n        </style>\n    </head>\n    <body>\n        ${html}\n        <script type=\"module\">\n            let height = 0\n\n            function sendEmbedHeight() {\n                window.parent.postMessage({\n                    embedHeight: height\n                }, \"*\")\n            }\n\n            const observer = new ResizeObserver((entries) => {\n                if (entries.length !== 1) return\n                const entry = entries[0]\n                if (entry.target !== document.body) return\n\n                height = entry.contentRect.height\n                sendEmbedHeight()\n            })\n\n            observer.observe(document.body)\n\n            window.addEventListener(\"message\", (event) => {\n                if (event.source !== window.parent) return\n                if (event.data !== \"getEmbedHeight\") return\n                sendEmbedHeight()\n            })\n        </script>\n    <body>\n</html>\n`;const currentStyle={...iframeStyle,...style};const hasAutoHeight=!style.height;if(hasAutoHeight){currentStyle.height=iframeHeight+\"px\";}return /*#__PURE__*/_jsx(\"iframe\",{ref:ref,style:currentStyle,srcDoc:srcDoc});}function EmbedHtmlWithScripts({html,style}){const ref=useRef();useEffect(()=>{const div=ref.current;if(!div)return;div.innerHTML=html;executeScripts(div);return()=>{div.innerHTML=\"\";};},[html]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...htmlStyle,...style}});}function EmbedHtmlWithoutScripts({html,style}){return /*#__PURE__*/_jsx(\"div\",{style:{...htmlStyle,...style},dangerouslySetInnerHTML:{__html:html}});}const htmlStyle={width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"};// This function replaces scripts with executable ones.\n// https://stackoverflow.com/questions/1197575/can-scripts-be-inserted-with-innerhtml\nfunction executeScripts(node){if(node instanceof Element&&node.tagName===\"SCRIPT\"){const script=document.createElement(\"script\");script.text=node.innerHTML;for(const{name,value}of node.attributes){script.setAttribute(name,value);}node.parentElement.replaceChild(script,node);}else{for(const child of node.childNodes){executeScripts(child);}}}// Generic components\nfunction LoadingIndicator(){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-componentPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"Loading…\"})});}function ErrorMessage({message,style}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{minHeight:getMinHeight(style),...containerStyles,overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:message})});}const centerTextStyle={textAlign:\"center\",minWidth:140};// Returns a min-height if the component is using auto-height.\nfunction getMinHeight(style){const hasAutoHeight=!style.height;if(hasAutoHeight)return 200;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Embed\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Embed.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","let Component;\nlet IconInner;\nvar Icon = (React) => {\n  if (!Component) {\n    Component = /* @__PURE__ */ new Map([\n      [\n        \"bold\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n      ],\n      [\n        \"duotone\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n          \"path\",\n          {\n            d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n            opacity: \"0.2\"\n          }\n        ), /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"fill\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n      ],\n      [\n        \"light\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n      ],\n      [\n        \"regular\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"thin\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\n      ]\n    ]);\n    IconInner = React.forwardRef((props, ref) => /* @__PURE__ */ React.createElement(\"g\", { ref, ...props }, Component.get(props.weight)));\n  }\n  return IconInner;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nvar House_default = Icon;\nexport {\n  __FramerMetadata__,\n  House_default as default\n};\n","/*\n * House (phosphor-icons/House@0.0.57)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\nexport { default } from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HouseFactory from\"https://framer.com/m/phosphor-icons/House.js@0.0.57\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";const iconKeys=[\"Acorn\",\"AddressBook\",\"AddressBookTabs\",\"AirTrafficControl\",\"Airplane\",\"AirplaneInFlight\",\"AirplaneLanding\",\"AirplaneTakeoff\",\"AirplaneTaxiing\",\"AirplaneTilt\",\"Airplay\",\"Alarm\",\"Alien\",\"AlignBottom\",\"AlignBottomSimple\",\"AlignCenterVertical\",\"AlignLeft\",\"AlignLeftSimple\",\"AlignRight\",\"AlignRightSimple\",\"AlignTop\",\"AlignTopSimple\",\"AmazonLogo\",\"Ambulance\",\"Anchor\",\"AnchorSimple\",\"AndroidLogo\",\"Angle\",\"AngularLogo\",\"Aperture\",\"AppStoreLogo\",\"AppWindow\",\"AppleLogo\",\"ApplePodcastsLogo\",\"ApproximateEquals\",\"Archive\",\"ArchiveBox\",\"ArchiveTray\",\"Armchair\",\"ArrowArcLeft\",\"ArrowArcRight\",\"ArrowBendDownLeft\",\"ArrowBendDownRight\",\"ArrowBendLeftDown\",\"ArrowBendLeftUp\",\"ArrowBendRightDown\",\"ArrowBendRightUp\",\"ArrowBendUpLeft\",\"ArrowBendUpRight\",\"ArrowCircleDown\",\"ArrowCircleDownLeft\",\"ArrowCircleDownRight\",\"ArrowCircleLeft\",\"ArrowCircleRight\",\"ArrowCircleUp\",\"ArrowCircleUpLeft\",\"ArrowCircleUpRight\",\"ArrowClockwise\",\"ArrowDown\",\"ArrowDownLeft\",\"ArrowDownRight\",\"ArrowElbowDownLeft\",\"ArrowElbowDownRight\",\"ArrowElbowLeft\",\"ArrowElbowLeftDown\",\"ArrowElbowLeftUp\",\"ArrowElbowRight\",\"ArrowElbowRightDown\",\"ArrowElbowRightUp\",\"ArrowElbowUpLeft\",\"ArrowElbowUpRight\",\"ArrowFatDown\",\"ArrowFatLeft\",\"ArrowFatLineDown\",\"ArrowFatLineLeft\",\"ArrowFatLineRight\",\"ArrowFatLineUp\",\"ArrowFatLinesDown\",\"ArrowFatLinesLeft\",\"ArrowFatLinesRight\",\"ArrowFatLinesUp\",\"ArrowFatRight\",\"ArrowFatUp\",\"ArrowLeft\",\"ArrowLineDown\",\"ArrowLineDownLeft\",\"ArrowLineDownRight\",\"ArrowLineLeft\",\"ArrowLineRight\",\"ArrowLineUp\",\"ArrowLineUpLeft\",\"ArrowLineUpRight\",\"ArrowRight\",\"ArrowSquareDown\",\"ArrowSquareDownLeft\",\"ArrowSquareDownRight\",\"ArrowSquareIn\",\"ArrowSquareLeft\",\"ArrowSquareOut\",\"ArrowSquareRight\",\"ArrowSquareUp\",\"ArrowSquareUpLeft\",\"ArrowSquareUpRight\",\"ArrowUDownLeft\",\"ArrowUDownRight\",\"ArrowULeftDown\",\"ArrowULeftUp\",\"ArrowURightDown\",\"ArrowURightUp\",\"ArrowUUpLeft\",\"ArrowUUpRight\",\"ArrowUp\",\"ArrowUpLeft\",\"ArrowUpRight\",\"ArrowsClockwise\",\"ArrowsDownUp\",\"ArrowsHorizontal\",\"ArrowsIn\",\"ArrowsInCardinal\",\"ArrowsInLineVertical\",\"ArrowsInSimple\",\"ArrowsLeftRight\",\"ArrowsMerge\",\"ArrowsOut\",\"ArrowsOutCardinal\",\"ArrowsOutSimple\",\"ArrowsSplit\",\"ArrowsVertical\",\"Article\",\"ArticleMedium\",\"ArticleNyTimes\",\"Asclepius\",\"Asterisk\",\"AsteriskSimple\",\"At\",\"Atom\",\"Avocado\",\"Axe\",\"Baby\",\"BabyCarriage\",\"Backpack\",\"Backspace\",\"Bag\",\"BagSimple\",\"Balloon\",\"Bandaids\",\"Bank\",\"Barbell\",\"Barcode\",\"Barn\",\"Barricade\",\"Baseball\",\"BaseballCap\",\"BaseballHelmet\",\"Basket\",\"Basketball\",\"Bathtub\",\"BatteryCharging\",\"BatteryEmpty\",\"BatteryFull\",\"BatteryHigh\",\"BatteryLow\",\"BatteryMedium\",\"BatteryPlus\",\"BatteryPlusVertical\",\"BatteryVerticalEmpty\",\"BatteryVerticalFull\",\"BatteryVerticalHigh\",\"BatteryVerticalLow\",\"BatteryWarning\",\"BeachBall\",\"Beanie\",\"Bed\",\"BeerBottle\",\"BeerStein\",\"BehanceLogo\",\"Bell\",\"BellRinging\",\"BellSimple\",\"BellSimpleRinging\",\"BellSimpleSlash\",\"BellSimpleZ\",\"BellSlash\",\"BellZ\",\"Belt\",\"BezierCurve\",\"Bicycle\",\"Binary\",\"Binoculars\",\"Biohazard\",\"Bird\",\"Blueprint\",\"Bluetooth\",\"BluetoothConnected\",\"BluetoothSlash\",\"BluetoothX\",\"Boat\",\"Bomb\",\"Bone\",\"Book\",\"BookBookmark\",\"BookOpen\",\"BookOpenText\",\"BookOpenUser\",\"BookUser\",\"Bookmark\",\"BookmarkSimple\",\"Bookmarks\",\"BookmarksSimple\",\"Books\",\"Boot\",\"Boules\",\"BoundingBox\",\"BowlFood\",\"BowlSteam\",\"BowlingBall\",\"BoxArrowDown\",\"BoxArrowUp\",\"BoxingGlove\",\"BracketsAngle\",\"BracketsCurly\",\"BracketsRound\",\"BracketsSquare\",\"Brain\",\"Brandy\",\"Bread\",\"Bridge\",\"Briefcase\",\"BriefcaseMetal\",\"Broadcast\",\"Broom\",\"Browser\",\"Browsers\",\"Bug\",\"BugBeetle\",\"BugDroid\",\"Building\",\"BuildingApartment\",\"BuildingOffice\",\"Buildings\",\"Bulldozer\",\"Bus\",\"Butterfly\",\"CableCar\",\"Cactus\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarBlank\",\"CalendarCheck\",\"CalendarDot\",\"CalendarDots\",\"CalendarHeart\",\"CalendarMinus\",\"CalendarPlus\",\"CalendarSlash\",\"CalendarStar\",\"CalendarX\",\"CallBell\",\"Camera\",\"CameraPlus\",\"CameraRotate\",\"CameraSlash\",\"Campfire\",\"Car\",\"CarBattery\",\"CarProfile\",\"CarSimple\",\"Cardholder\",\"Cards\",\"CardsThree\",\"CaretCircleDoubleUp\",\"CaretCircleDown\",\"CaretCircleLeft\",\"CaretCircleRight\",\"CaretCircleUp\",\"CaretCircleUpDown\",\"CaretDoubleDown\",\"CaretDoubleLeft\",\"CaretDoubleRight\",\"CaretDoubleUp\",\"CaretDown\",\"CaretLeft\",\"CaretLineDown\",\"CaretLineLeft\",\"CaretLineRight\",\"CaretLineUp\",\"CaretRight\",\"CaretUp\",\"CaretUpDown\",\"Carrot\",\"CashRegister\",\"CassetteTape\",\"CastleTurret\",\"Cat\",\"CellSignalFull\",\"CellSignalHigh\",\"CellSignalLow\",\"CellSignalMedium\",\"CellSignalNone\",\"CellSignalSlash\",\"CellSignalX\",\"CellTower\",\"Certificate\",\"Chair\",\"Chalkboard\",\"ChalkboardSimple\",\"ChalkboardTeacher\",\"Champagne\",\"ChargingStation\",\"ChartBar\",\"ChartBarHorizontal\",\"ChartDonut\",\"ChartLine\",\"ChartLineDown\",\"ChartLineUp\",\"ChartPie\",\"ChartPieSlice\",\"ChartPolar\",\"ChartScatter\",\"Chat\",\"ChatCentered\",\"ChatCenteredDots\",\"ChatCenteredSlash\",\"ChatCenteredText\",\"ChatCircle\",\"ChatCircleDots\",\"ChatCircleSlash\",\"ChatCircleText\",\"ChatDots\",\"ChatSlash\",\"ChatTeardrop\",\"ChatTeardropDots\",\"ChatTeardropSlash\",\"ChatTeardropText\",\"ChatText\",\"Chats\",\"ChatsCircle\",\"ChatsTeardrop\",\"Check\",\"CheckCircle\",\"CheckFat\",\"CheckSquare\",\"CheckSquareOffset\",\"Checkerboard\",\"Checks\",\"Cheers\",\"Cheese\",\"ChefHat\",\"Cherries\",\"Church\",\"Cigarette\",\"CigaretteSlash\",\"Circle\",\"CircleDashed\",\"CircleHalf\",\"CircleHalfTilt\",\"CircleNotch\",\"CirclesFour\",\"CirclesThree\",\"CirclesThreePlus\",\"Circuitry\",\"City\",\"Clipboard\",\"ClipboardText\",\"Clock\",\"ClockAfternoon\",\"ClockClockwise\",\"ClockCountdown\",\"ClockUser\",\"ClosedCaptioning\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CloudCheck\",\"CloudFog\",\"CloudLightning\",\"CloudMoon\",\"CloudRain\",\"CloudSlash\",\"CloudSnow\",\"CloudSun\",\"CloudWarning\",\"CloudX\",\"Clover\",\"Club\",\"CoatHanger\",\"CodaLogo\",\"Code\",\"CodeBlock\",\"CodeSimple\",\"CodepenLogo\",\"CodesandboxLogo\",\"Coffee\",\"CoffeeBean\",\"Coin\",\"CoinVertical\",\"Coins\",\"Columns\",\"ColumnsPlusLeft\",\"ColumnsPlusRight\",\"Command\",\"Compass\",\"CompassRose\",\"CompassTool\",\"ComputerTower\",\"Confetti\",\"ContactlessPayment\",\"Control\",\"Cookie\",\"CookingPot\",\"Copy\",\"CopySimple\",\"Copyleft\",\"Copyright\",\"CornersIn\",\"CornersOut\",\"Couch\",\"CourtBasketball\",\"Cow\",\"CowboyHat\",\"Cpu\",\"Crane\",\"CraneTower\",\"CreditCard\",\"Cricket\",\"Crop\",\"Cross\",\"Crosshair\",\"CrosshairSimple\",\"Crown\",\"CrownCross\",\"CrownSimple\",\"Cube\",\"CubeFocus\",\"CubeTransparent\",\"CurrencyBtc\",\"CurrencyCircleDollar\",\"CurrencyCny\",\"CurrencyDollar\",\"CurrencyDollarSimple\",\"CurrencyEth\",\"CurrencyEur\",\"CurrencyGbp\",\"CurrencyInr\",\"CurrencyJpy\",\"CurrencyKrw\",\"CurrencyKzt\",\"CurrencyNgn\",\"CurrencyRub\",\"Cursor\",\"CursorClick\",\"CursorText\",\"Cylinder\",\"Database\",\"Desk\",\"Desktop\",\"DesktopTower\",\"Detective\",\"DevToLogo\",\"DeviceMobile\",\"DeviceMobileCamera\",\"DeviceMobileSlash\",\"DeviceMobileSpeaker\",\"DeviceRotate\",\"DeviceTablet\",\"DeviceTabletCamera\",\"DeviceTabletSpeaker\",\"Devices\",\"Diamond\",\"DiamondsFour\",\"DiceFive\",\"DiceFour\",\"DiceOne\",\"DiceSix\",\"DiceThree\",\"DiceTwo\",\"Disc\",\"DiscoBall\",\"DiscordLogo\",\"Divide\",\"Dna\",\"Dog\",\"Door\",\"DoorOpen\",\"Dot\",\"DotOutline\",\"DotsNine\",\"DotsSix\",\"DotsSixVertical\",\"DotsThree\",\"DotsThreeCircle\",\"DotsThreeOutline\",\"DotsThreeVertical\",\"Download\",\"DownloadSimple\",\"Dress\",\"Dresser\",\"DribbbleLogo\",\"Drone\",\"Drop\",\"DropHalf\",\"DropHalfBottom\",\"DropSimple\",\"DropSlash\",\"DropboxLogo\",\"Ear\",\"EarSlash\",\"Egg\",\"EggCrack\",\"Eject\",\"EjectSimple\",\"Elevator\",\"Empty\",\"Engine\",\"Envelope\",\"EnvelopeOpen\",\"EnvelopeSimple\",\"EnvelopeSimpleOpen\",\"Equalizer\",\"Equals\",\"Eraser\",\"EscalatorDown\",\"EscalatorUp\",\"Exam\",\"ExclamationMark\",\"Exclude\",\"ExcludeSquare\",\"Export\",\"Eye\",\"EyeClosed\",\"EyeSlash\",\"Eyedropper\",\"EyedropperSample\",\"Eyeglasses\",\"Eyes\",\"FaceMask\",\"FacebookLogo\",\"Factory\",\"Faders\",\"FadersHorizontal\",\"FalloutShelter\",\"Fan\",\"Farm\",\"FastForward\",\"FastForwardCircle\",\"Feather\",\"FediverseLogo\",\"FigmaLogo\",\"File\",\"FileArchive\",\"FileArrowDown\",\"FileArrowUp\",\"FileAudio\",\"FileC\",\"FileCloud\",\"FileCode\",\"FileCpp\",\"FileCss\",\"FileCsv\",\"FileDashed\",\"FileDoc\",\"FileHtml\",\"FileImage\",\"FileIni\",\"FileJpg\",\"FileJs\",\"FileJsx\",\"FileLock\",\"FileMagnifyingGlass\",\"FileMd\",\"FileMinus\",\"FilePdf\",\"FilePlus\",\"FilePng\",\"FilePpt\",\"FilePy\",\"FileRs\",\"FileSql\",\"FileSvg\",\"FileText\",\"FileTs\",\"FileTsx\",\"FileTxt\",\"FileVideo\",\"FileVue\",\"FileX\",\"FileXls\",\"FileZip\",\"Files\",\"FilmReel\",\"FilmScript\",\"FilmSlate\",\"FilmStrip\",\"Fingerprint\",\"FingerprintSimple\",\"FinnTheHuman\",\"Fire\",\"FireExtinguisher\",\"FireSimple\",\"FireTruck\",\"FirstAid\",\"FirstAidKit\",\"Fish\",\"FishSimple\",\"Flag\",\"FlagBanner\",\"FlagBannerFold\",\"FlagCheckered\",\"FlagPennant\",\"Flame\",\"Flashlight\",\"Flask\",\"FlipHorizontal\",\"FlipVertical\",\"FloppyDisk\",\"FloppyDiskBack\",\"FlowArrow\",\"Flower\",\"FlowerLotus\",\"FlowerTulip\",\"FlyingSaucer\",\"Folder\",\"FolderDashed\",\"FolderLock\",\"FolderMinus\",\"FolderNotch\",\"FolderNotchMinus\",\"FolderNotchOpen\",\"FolderNotchPlus\",\"FolderOpen\",\"FolderPlus\",\"FolderSimple\",\"FolderSimpleDashed\",\"FolderSimpleLock\",\"FolderSimpleMinus\",\"FolderSimplePlus\",\"FolderSimpleStar\",\"FolderSimpleUser\",\"FolderStar\",\"FolderUser\",\"Folders\",\"Football\",\"FootballHelmet\",\"Footprints\",\"ForkKnife\",\"FourK\",\"FrameCorners\",\"FramerLogo\",\"Function\",\"Funnel\",\"FunnelSimple\",\"FunnelSimpleX\",\"FunnelX\",\"GameController\",\"Garage\",\"GasCan\",\"GasPump\",\"Gauge\",\"Gavel\",\"Gear\",\"GearFine\",\"GearSix\",\"GenderFemale\",\"GenderIntersex\",\"GenderMale\",\"GenderNeuter\",\"GenderNonbinary\",\"GenderTransgender\",\"Ghost\",\"Gif\",\"Gift\",\"GitBranch\",\"GitCommit\",\"GitDiff\",\"GitFork\",\"GitMerge\",\"GitPullRequest\",\"GithubLogo\",\"GitlabLogo\",\"GitlabLogoSimple\",\"Globe\",\"GlobeHemisphereEast\",\"GlobeHemisphereWest\",\"GlobeSimple\",\"GlobeSimpleX\",\"GlobeStand\",\"GlobeX\",\"Goggles\",\"Golf\",\"GoodreadsLogo\",\"GoogleCardboardLogo\",\"GoogleChromeLogo\",\"GoogleDriveLogo\",\"GoogleLogo\",\"GooglePhotosLogo\",\"GooglePlayLogo\",\"GooglePodcastsLogo\",\"Gps\",\"GpsFix\",\"GpsSlash\",\"Gradient\",\"GraduationCap\",\"Grains\",\"GrainsSlash\",\"Graph\",\"GraphicsCard\",\"GreaterThan\",\"GreaterThanOrEqual\",\"GridFour\",\"GridNine\",\"Guitar\",\"HairDryer\",\"Hamburger\",\"Hammer\",\"Hand\",\"HandArrowDown\",\"HandArrowUp\",\"HandCoins\",\"HandDeposit\",\"HandEye\",\"HandFist\",\"HandGrabbing\",\"HandHeart\",\"HandPalm\",\"HandPeace\",\"HandPointing\",\"HandSoap\",\"HandSwipeLeft\",\"HandSwipeRight\",\"HandTap\",\"HandWaving\",\"HandWithdraw\",\"Handbag\",\"HandbagSimple\",\"HandsClapping\",\"HandsPraying\",\"Handshake\",\"HardDrive\",\"HardDrives\",\"HardHat\",\"Hash\",\"HashStraight\",\"HeadCircuit\",\"Headlights\",\"Headphones\",\"Headset\",\"Heart\",\"HeartBreak\",\"HeartHalf\",\"HeartStraight\",\"HeartStraightBreak\",\"Heartbeat\",\"Hexagon\",\"HighDefinition\",\"HighHeel\",\"Highlighter\",\"HighlighterCircle\",\"Hockey\",\"Hoodie\",\"Horse\",\"Hospital\",\"Hourglass\",\"HourglassHigh\",\"HourglassLow\",\"HourglassMedium\",\"HourglassSimple\",\"HourglassSimpleHigh\",\"HourglassSimpleLow\",\"House\",\"HouseLine\",\"HouseSimple\",\"Hurricane\",\"IceCream\",\"IdentificationBadge\",\"IdentificationCard\",\"Image\",\"ImageBroken\",\"ImageSquare\",\"Images\",\"ImagesSquare\",\"Infinity\",\"Info\",\"InstagramLogo\",\"Intersect\",\"IntersectSquare\",\"IntersectThree\",\"Intersection\",\"Invoice\",\"Island\",\"Jar\",\"JarLabel\",\"Jeep\",\"Joystick\",\"Kanban\",\"Key\",\"KeyReturn\",\"Keyboard\",\"Keyhole\",\"Knife\",\"Ladder\",\"LadderSimple\",\"Lamp\",\"LampPendant\",\"Laptop\",\"Lasso\",\"LastfmLogo\",\"Layout\",\"Leaf\",\"Lectern\",\"Lego\",\"LegoSmiley\",\"LessThan\",\"LessThanOrEqual\",\"LetterCircleH\",\"LetterCircleP\",\"LetterCircleV\",\"Lifebuoy\",\"Lightbulb\",\"LightbulbFilament\",\"Lighthouse\",\"Lightning\",\"LightningA\",\"LightningSlash\",\"LineSegment\",\"LineSegments\",\"LineVertical\",\"Link\",\"LinkBreak\",\"LinkSimple\",\"LinkSimpleBreak\",\"LinkSimpleHorizontal\",\"LinkedinLogo\",\"LinktreeLogo\",\"LinuxLogo\",\"List\",\"ListBullets\",\"ListChecks\",\"ListDashes\",\"ListHeart\",\"ListMagnifyingGlass\",\"ListNumbers\",\"ListPlus\",\"ListStar\",\"Lock\",\"LockKey\",\"LockKeyOpen\",\"LockLaminated\",\"LockLaminatedOpen\",\"LockOpen\",\"LockSimple\",\"LockSimpleOpen\",\"Lockers\",\"Log\",\"MagicWand\",\"Magnet\",\"MagnetStraight\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"Mailbox\",\"MapPin\",\"MapPinArea\",\"MapPinLine\",\"MapPinPlus\",\"MapPinSimple\",\"MapPinSimpleArea\",\"MapPinSimpleLine\",\"MapTrifold\",\"MarkdownLogo\",\"MarkerCircle\",\"Martini\",\"MaskHappy\",\"MaskSad\",\"MastodonLogo\",\"MathOperations\",\"MatrixLogo\",\"Medal\",\"MedalMilitary\",\"MediumLogo\",\"Megaphone\",\"MegaphoneSimple\",\"MemberOf\",\"Memory\",\"MessengerLogo\",\"MetaLogo\",\"Meteor\",\"Metronome\",\"Microphone\",\"MicrophoneSlash\",\"MicrophoneStage\",\"Microscope\",\"MicrosoftExcelLogo\",\"MicrosoftOutlookLogo\",\"MicrosoftTeamsLogo\",\"MicrosoftWordLogo\",\"Minus\",\"MinusCircle\",\"MinusSquare\",\"Money\",\"MoneyWavy\",\"Monitor\",\"MonitorArrowUp\",\"MonitorPlay\",\"Moon\",\"MoonStars\",\"Moped\",\"MopedFront\",\"Mosque\",\"Motorcycle\",\"Mountains\",\"Mouse\",\"MouseLeftClick\",\"MouseMiddleClick\",\"MouseRightClick\",\"MouseScroll\",\"MouseSimple\",\"MusicNote\",\"MusicNoteSimple\",\"MusicNotes\",\"MusicNotesMinus\",\"MusicNotesPlus\",\"MusicNotesSimple\",\"NavigationArrow\",\"Needle\",\"Network\",\"NetworkSlash\",\"NetworkX\",\"Newspaper\",\"NewspaperClipping\",\"NotEquals\",\"NotMemberOf\",\"NotSubsetOf\",\"NotSupersetOf\",\"Notches\",\"Note\",\"NoteBlank\",\"NotePencil\",\"Notebook\",\"Notepad\",\"Notification\",\"NotionLogo\",\"NuclearPlant\",\"NumberCircleEight\",\"NumberCircleFive\",\"NumberCircleFour\",\"NumberCircleNine\",\"NumberCircleOne\",\"NumberCircleSeven\",\"NumberCircleSix\",\"NumberCircleThree\",\"NumberCircleTwo\",\"NumberCircleZero\",\"NumberEight\",\"NumberFive\",\"NumberFour\",\"NumberNine\",\"NumberOne\",\"NumberSeven\",\"NumberSix\",\"NumberSquareEight\",\"NumberSquareFive\",\"NumberSquareFour\",\"NumberSquareNine\",\"NumberSquareOne\",\"NumberSquareSeven\",\"NumberSquareSix\",\"NumberSquareThree\",\"NumberSquareTwo\",\"NumberSquareZero\",\"NumberThree\",\"NumberTwo\",\"NumberZero\",\"Numpad\",\"Nut\",\"NyTimesLogo\",\"Octagon\",\"OfficeChair\",\"Onigiri\",\"OpenAiLogo\",\"Option\",\"Orange\",\"OrangeSlice\",\"Oven\",\"Package\",\"PaintBrush\",\"PaintBrushBroad\",\"PaintBrushHousehold\",\"PaintBucket\",\"PaintRoller\",\"Palette\",\"Panorama\",\"Pants\",\"PaperPlane\",\"PaperPlaneRight\",\"PaperPlaneTilt\",\"Paperclip\",\"PaperclipHorizontal\",\"Parachute\",\"Paragraph\",\"Parallelogram\",\"Park\",\"Password\",\"Path\",\"PatreonLogo\",\"Pause\",\"PauseCircle\",\"PawPrint\",\"PaypalLogo\",\"Peace\",\"Pen\",\"PenNib\",\"PenNibStraight\",\"Pencil\",\"PencilCircle\",\"PencilLine\",\"PencilRuler\",\"PencilSimple\",\"PencilSimpleLine\",\"PencilSimpleSlash\",\"PencilSlash\",\"Pentagon\",\"Pentagram\",\"Pepper\",\"Percent\",\"Person\",\"PersonArmsSpread\",\"PersonSimple\",\"PersonSimpleBike\",\"PersonSimpleCircle\",\"PersonSimpleHike\",\"PersonSimpleRun\",\"PersonSimpleSki\",\"PersonSimpleSwim\",\"PersonSimpleTaiChi\",\"PersonSimpleThrow\",\"PersonSimpleWalk\",\"Perspective\",\"Phone\",\"PhoneCall\",\"PhoneDisconnect\",\"PhoneIncoming\",\"PhoneList\",\"PhoneOutgoing\",\"PhonePause\",\"PhonePlus\",\"PhoneSlash\",\"PhoneTransfer\",\"PhoneX\",\"PhosphorLogo\",\"Pi\",\"PianoKeys\",\"PicnicTable\",\"PictureInPicture\",\"PiggyBank\",\"Pill\",\"PingPong\",\"PintGlass\",\"PinterestLogo\",\"Pinwheel\",\"Pipe\",\"PipeWrench\",\"PixLogo\",\"Pizza\",\"Placeholder\",\"Planet\",\"Plant\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Playlist\",\"Plug\",\"PlugCharging\",\"Plugs\",\"PlugsConnected\",\"Plus\",\"PlusCircle\",\"PlusMinus\",\"PlusSquare\",\"PokerChip\",\"PoliceCar\",\"Polygon\",\"Popcorn\",\"Popsicle\",\"PottedPlant\",\"Power\",\"Prescription\",\"Presentation\",\"PresentationChart\",\"Printer\",\"Prohibit\",\"ProhibitInset\",\"ProjectorScreen\",\"ProjectorScreenChart\",\"Pulse\",\"PushPin\",\"PushPinSimple\",\"PushPinSimpleSlash\",\"PushPinSlash\",\"PuzzlePiece\",\"QrCode\",\"Question\",\"QuestionMark\",\"Queue\",\"Quotes\",\"Rabbit\",\"Racquet\",\"Radical\",\"Radio\",\"RadioButton\",\"Radioactive\",\"Rainbow\",\"RainbowCloud\",\"Ranking\",\"ReadCvLogo\",\"Receipt\",\"ReceiptX\",\"Record\",\"Rectangle\",\"RectangleDashed\",\"Recycle\",\"RedditLogo\",\"Repeat\",\"RepeatOnce\",\"ReplitLogo\",\"Resize\",\"Rewind\",\"RewindCircle\",\"RoadHorizon\",\"Robot\",\"Rocket\",\"RocketLaunch\",\"Rows\",\"RowsPlusBottom\",\"RowsPlusTop\",\"Rss\",\"RssSimple\",\"Rug\",\"Ruler\",\"Sailboat\",\"Scales\",\"Scan\",\"ScanSmiley\",\"Scissors\",\"Scooter\",\"Screencast\",\"Screwdriver\",\"Scribble\",\"ScribbleLoop\",\"Scroll\",\"Seal\",\"SealCheck\",\"SealPercent\",\"SealQuestion\",\"SealWarning\",\"Seat\",\"Seatbelt\",\"SecurityCamera\",\"Selection\",\"SelectionAll\",\"SelectionBackground\",\"SelectionForeground\",\"SelectionInverse\",\"SelectionPlus\",\"SelectionSlash\",\"Shapes\",\"Share\",\"ShareFat\",\"ShareNetwork\",\"Shield\",\"ShieldCheck\",\"ShieldCheckered\",\"ShieldChevron\",\"ShieldPlus\",\"ShieldSlash\",\"ShieldStar\",\"ShieldWarning\",\"ShippingContainer\",\"ShirtFolded\",\"ShootingStar\",\"ShoppingBag\",\"ShoppingBagOpen\",\"ShoppingCart\",\"ShoppingCartSimple\",\"Shovel\",\"Shower\",\"Shrimp\",\"Shuffle\",\"ShuffleAngular\",\"ShuffleSimple\",\"Sidebar\",\"SidebarSimple\",\"Sigma\",\"SignIn\",\"SignOut\",\"Signature\",\"Signpost\",\"SimCard\",\"Siren\",\"SketchLogo\",\"SkipBack\",\"SkipBackCircle\",\"SkipForward\",\"SkipForwardCircle\",\"Skull\",\"SkypeLogo\",\"SlackLogo\",\"Sliders\",\"SlidersHorizontal\",\"Slideshow\",\"Smiley\",\"SmileyAngry\",\"SmileyBlank\",\"SmileyMeh\",\"SmileyMelting\",\"SmileyNervous\",\"SmileySad\",\"SmileySticker\",\"SmileyWink\",\"SmileyXEyes\",\"SnapchatLogo\",\"Sneaker\",\"SneakerMove\",\"Snowflake\",\"SoccerBall\",\"Sock\",\"SolarPanel\",\"SolarRoof\",\"SortAscending\",\"SortDescending\",\"SoundcloudLogo\",\"Spade\",\"Sparkle\",\"SpeakerHifi\",\"SpeakerHigh\",\"SpeakerLow\",\"SpeakerNone\",\"SpeakerSimpleHigh\",\"SpeakerSimpleLow\",\"SpeakerSimpleNone\",\"SpeakerSimpleSlash\",\"SpeakerSimpleX\",\"SpeakerSlash\",\"SpeakerX\",\"Speedometer\",\"Sphere\",\"Spinner\",\"SpinnerBall\",\"SpinnerGap\",\"Spiral\",\"SplitHorizontal\",\"SplitVertical\",\"SpotifyLogo\",\"SprayBottle\",\"Square\",\"SquareHalf\",\"SquareHalfBottom\",\"SquareLogo\",\"SquareSplitVertical\",\"SquaresFour\",\"Stack\",\"StackMinus\",\"StackOverflowLogo\",\"StackPlus\",\"StackSimple\",\"Stairs\",\"Stamp\",\"StandardDefinition\",\"Star\",\"StarAndCrescent\",\"StarFour\",\"StarHalf\",\"StarOfDavid\",\"SteamLogo\",\"SteeringWheel\",\"Steps\",\"Stethoscope\",\"Sticker\",\"Stool\",\"Stop\",\"StopCircle\",\"Storefront\",\"Strategy\",\"StripeLogo\",\"Student\",\"SubsetOf\",\"SubsetProperOf\",\"Subtitles\",\"SubtitlesSlash\",\"Subtract\",\"SubtractSquare\",\"Subway\",\"Suitcase\",\"SuitcaseRolling\",\"SuitcaseSimple\",\"Sun\",\"SunDim\",\"SunHorizon\",\"Sunglasses\",\"SupersetOf\",\"SupersetProperOf\",\"Swap\",\"Swatches\",\"SwimmingPool\",\"Sword\",\"Synagogue\",\"Syringe\",\"TShirt\",\"Table\",\"Tabs\",\"Tag\",\"TagChevron\",\"TagSimple\",\"Target\",\"Taxi\",\"TeaBag\",\"TelegramLogo\",\"Television\",\"TelevisionSimple\",\"TennisBall\",\"Tent\",\"Terminal\",\"TerminalWindow\",\"TestTube\",\"TextAUnderline\",\"TextAa\",\"TextAlignCenter\",\"TextAlignJustify\",\"TextAlignLeft\",\"TextAlignRight\",\"TextB\",\"TextColumns\",\"TextH\",\"TextHFive\",\"TextHFour\",\"TextHOne\",\"TextHSix\",\"TextHThree\",\"TextHTwo\",\"TextIndent\",\"TextItalic\",\"TextOutdent\",\"TextStrikethrough\",\"TextSubscript\",\"TextSuperscript\",\"TextT\",\"TextTSlash\",\"TextUnderline\",\"Textbox\",\"Thermometer\",\"ThermometerCold\",\"ThermometerHot\",\"ThermometerSimple\",\"ThreadsLogo\",\"ThreeD\",\"ThumbsDown\",\"ThumbsUp\",\"Ticket\",\"TidalLogo\",\"TiktokLogo\",\"Tilde\",\"Timer\",\"TipJar\",\"Tipi\",\"Tire\",\"ToggleLeft\",\"ToggleRight\",\"Toilet\",\"ToiletPaper\",\"Toolbox\",\"Tooth\",\"Tornado\",\"Tote\",\"ToteSimple\",\"Towel\",\"Tractor\",\"Trademark\",\"TrademarkRegistered\",\"TrafficCone\",\"TrafficSign\",\"TrafficSignal\",\"Train\",\"TrainRegional\",\"TrainSimple\",\"Tram\",\"Translate\",\"Trash\",\"TrashSimple\",\"Tray\",\"TrayArrowDown\",\"TrayArrowUp\",\"TreasureChest\",\"Tree\",\"TreeEvergreen\",\"TreePalm\",\"TreeStructure\",\"TreeView\",\"TrendDown\",\"TrendUp\",\"Triangle\",\"TriangleDashed\",\"Trolley\",\"TrolleySuitcase\",\"Trophy\",\"Truck\",\"TruckTrailer\",\"TumblrLogo\",\"TwitchLogo\",\"TwitterLogo\",\"Umbrella\",\"UmbrellaSimple\",\"Union\",\"Unite\",\"UniteSquare\",\"Upload\",\"UploadSimple\",\"Usb\",\"User\",\"UserCheck\",\"UserCircle\",\"UserCircleCheck\",\"UserCircleDashed\",\"UserCircleGear\",\"UserCircleMinus\",\"UserCirclePlus\",\"UserFocus\",\"UserGear\",\"UserList\",\"UserMinus\",\"UserPlus\",\"UserRectangle\",\"UserSound\",\"UserSquare\",\"UserSwitch\",\"Users\",\"UsersFour\",\"UsersThree\",\"Van\",\"Vault\",\"VectorThree\",\"VectorTwo\",\"Vibrate\",\"Video\",\"VideoCamera\",\"VideoCameraSlash\",\"VideoConference\",\"Vignette\",\"VinylRecord\",\"VirtualReality\",\"Virus\",\"Visor\",\"Voicemail\",\"Volleyball\",\"Wall\",\"Wallet\",\"Warehouse\",\"Warning\",\"WarningCircle\",\"WarningDiamond\",\"WarningOctagon\",\"WashingMachine\",\"Watch\",\"WaveSawtooth\",\"WaveSine\",\"WaveSquare\",\"WaveTriangle\",\"Waveform\",\"WaveformSlash\",\"Waves\",\"Webcam\",\"WebcamSlash\",\"WebhooksLogo\",\"WechatLogo\",\"WhatsappLogo\",\"Wheelchair\",\"WheelchairMotion\",\"WifiHigh\",\"WifiLow\",\"WifiMedium\",\"WifiNone\",\"WifiSlash\",\"WifiX\",\"Wind\",\"Windmill\",\"WindowsLogo\",\"Wine\",\"Wrench\",\"X\",\"XCircle\",\"XLogo\",\"XSquare\",\"Yarn\",\"YinYang\",\"YoutubeLogo\"];const moduleBaseUrl=\"https://framer.com/m/phosphor-icons/\";const weightOptions=[\"thin\",\"light\",\"regular\",\"bold\",\"fill\",\"duotone\"];const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * PHOSPHOR\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,weight,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);const[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HouseFactory(React):null);async function importModule(){// Get the selected module\ntry{const version=\"0.0.57\";const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@${version}`;const module=await import(/* webpackIgnore: true */iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch(err){if(isMounted.current)setSelectedIcon(null);}}useEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:color,color,flexShrink:0,transform:mirrored?\"scale(-1, 1)\":undefined},focusable:\"false\",color:color,children:/*#__PURE__*/_jsx(SelectedIcon,{color:color,weight:weight})}):emptyState});}Icon.displayName=\"Phosphor\";Icon.defaultProps={width:24,height:24,iconSelection:\"House\",iconSearch:\"House\",color:\"#66F\",selectByList:true,weight:\"regular\",mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Phosphor site](https://phosphoricons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},weight:{type:ControlType.Enum,title:\"Weight\",optionTitles:weightOptions.map(piece=>piece.charAt(0).toUpperCase()+piece.slice(1)),options:weightOptions,defaultValue:Icon.defaultProps.weight},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Phosphor.map","// Generated by Framer (a2fb474)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-regular\",\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-700italic\",\"GF;Plus Jakarta Sans-italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NTxXUEKi4Rw.woff2\",weight:\"400\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0lCR_VMq2oR82k.woff2\",weight:\"400\"}]}];export const css=['.framer-kvzrU .framer-styles-preset-rt5or8:not(.rich-text-wrapper), .framer-kvzrU .framer-styles-preset-rt5or8.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-kvzrU .framer-styles-preset-rt5or8:not(.rich-text-wrapper), .framer-kvzrU .framer-styles-preset-rt5or8.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 19px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-kvzrU .framer-styles-preset-rt5or8:not(.rich-text-wrapper), .framer-kvzrU .framer-styles-preset-rt5or8.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-kvzrU\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a2fb474)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getPropertyControls,Link,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/PY8txBdFqN5QjfgyyK0u/otYG2tTVR3HsqGfu5QSg/s9Wv_jF5M.js\";const PhosphorFonts=getFonts(Phosphor);const PhosphorControls=getPropertyControls(Phosphor);const enabledGestures={a2Lkuo6Fr:{hover:true},FBkjLvTjR:{hover:true},sXP3qVfuN:{hover:true},z79vcIya2:{hover:true}};const cycleOrder=[\"FBkjLvTjR\",\"a2Lkuo6Fr\",\"sXP3qVfuN\",\"z79vcIya2\"];const serializationHash=\"framer-r6OzO\";const variantClassNames={a2Lkuo6Fr:\"framer-v-wgxha9\",FBkjLvTjR:\"framer-v-oooq9s\",sXP3qVfuN:\"framer-v-14p0s5h\",z79vcIya2:\"framer-v-yo6tmt\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Big \":\"z79vcIya2\",\"No Icon\":\"sXP3qVfuN\",\"Variant 1\":\"FBkjLvTjR\",Whatsapp:\"a2Lkuo6Fr\"};const getProps=({contactInfo,height,icon,id,link,width,...props})=>{var _ref,_ref1,_humanReadableVariantMap_props_variant,_ref2;return{...props,aQuehrWWW:(_ref=contactInfo!==null&&contactInfo!==void 0?contactInfo:props.aQuehrWWW)!==null&&_ref!==void 0?_ref:\"mederichospital@gmail.com\",m0VdlMLl0:(_ref1=icon!==null&&icon!==void 0?icon:props.m0VdlMLl0)!==null&&_ref1!==void 0?_ref1:\"House\",pIJjKeUIe:link!==null&&link!==void 0?link:props.pIJjKeUIe,variant:(_ref2=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref2!==void 0?_ref2:\"FBkjLvTjR\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,m0VdlMLl0,aQuehrWWW,pIJjKeUIe,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"FBkjLvTjR\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const isDisplayed=()=>{if([\"a2Lkuo6Fr-hover\",\"sXP3qVfuN-hover\"].includes(gestureVariant))return false;if([\"a2Lkuo6Fr\",\"sXP3qVfuN\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(gestureVariant===\"a2Lkuo6Fr-hover\")return true;if(baseVariant===\"a2Lkuo6Fr\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:pIJjKeUIe,nodeId:\"FBkjLvTjR\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-oooq9s\",className,classNames)} framer-7ib4ai`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"FBkjLvTjR\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({\"a2Lkuo6Fr-hover\":{\"data-framer-name\":undefined},\"FBkjLvTjR-hover\":{\"data-framer-name\":undefined},\"sXP3qVfuN-hover\":{\"data-framer-name\":undefined},\"z79vcIya2-hover\":{\"data-framer-name\":undefined},a2Lkuo6Fr:{\"data-framer-name\":\"Whatsapp\"},sXP3qVfuN:{\"data-framer-name\":\"No Icon\"},z79vcIya2:{\"data-framer-name\":\"Big \"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-tv3ly7-container\",layoutDependency:layoutDependency,layoutId:\"nnHuwU8OZ-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\",height:\"100%\",iconSearch:\"House\",iconSelection:m0VdlMLl0,id:\"nnHuwU8OZ\",layoutId:\"nnHuwU8OZ\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1x36r4d\",\"data-framer-name\":\"graphic\",fill:\"black\",intrinsicHeight:100,intrinsicWidth:100,layoutDependency:layoutDependency,layoutId:\"ZpfxAEIo2\",svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 48 48\"><path fill=\"#fff\" d=\"m4.868 43.303 2.694-9.835a18.941 18.941 0 0 1-2.535-9.489C5.032 13.514 13.548 5 24.014 5a18.867 18.867 0 0 1 13.43 5.566A18.866 18.866 0 0 1 43 23.994c-.004 10.465-8.522 18.98-18.986 18.98-.001 0 0 0 0 0h-.008a18.965 18.965 0 0 1-9.073-2.311l-10.065 2.64z\"/><path fill=\"#fff\" d=\"M4.868 43.803a.499.499 0 0 1-.482-.631l2.639-9.636a19.48 19.48 0 0 1-2.497-9.556C4.532 13.238 13.273 4.5 24.014 4.5a19.367 19.367 0 0 1 13.784 5.713A19.362 19.362 0 0 1 43.5 23.994c-.004 10.741-8.746 19.48-19.486 19.48a19.535 19.535 0 0 1-9.144-2.277l-9.875 2.589a.457.457 0 0 1-.127.017z\"/><path fill=\"#cfd8dc\" d=\"M24.014 5a18.867 18.867 0 0 1 13.43 5.566A18.866 18.866 0 0 1 43 23.994c-.004 10.465-8.522 18.98-18.986 18.98h-.008a18.965 18.965 0 0 1-9.073-2.311l-10.065 2.64 2.694-9.835a18.941 18.941 0 0 1-2.535-9.489C5.032 13.514 13.548 5 24.014 5m0-1C12.998 4 4.032 12.962 4.027 23.979a20.01 20.01 0 0 0 2.461 9.622L3.903 43.04a.998.998 0 0 0 1.219 1.231l9.687-2.54a20.026 20.026 0 0 0 9.197 2.244c11.024 0 19.99-8.963 19.995-19.98A19.856 19.856 0 0 0 38.153 9.86 19.869 19.869 0 0 0 24.014 4z\"/><path fill=\"#40c351\" d=\"M35.176 12.832a15.673 15.673 0 0 0-11.157-4.626c-8.704 0-15.783 7.076-15.787 15.774a15.738 15.738 0 0 0 2.413 8.396l.376.597-1.595 5.821 5.973-1.566.577.342a15.75 15.75 0 0 0 8.032 2.199h.006c8.698 0 15.777-7.077 15.78-15.776a15.68 15.68 0 0 0-4.618-11.161z\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M19.268 16.045c-.355-.79-.729-.806-1.068-.82-.277-.012-.593-.011-.909-.011-.316 0-.83.119-1.265.594-.435.475-1.661 1.622-1.661 3.956 0 2.334 1.7 4.59 1.937 4.906.237.316 3.282 5.259 8.104 7.161 4.007 1.58 4.823 1.266 5.693 1.187.87-.079 2.807-1.147 3.202-2.255.395-1.108.395-2.057.277-2.255-.119-.198-.435-.316-.909-.554s-2.807-1.385-3.242-1.543c-.435-.158-.751-.237-1.068.238-.316.474-1.225 1.543-1.502 1.859-.277.317-.554.357-1.028.119s-2.002-.738-3.815-2.354c-1.41-1.257-2.362-2.81-2.639-3.285-.277-.474-.03-.731.208-.968.213-.213.474-.554.712-.831.237-.277.316-.475.474-.791.158-.317.079-.594-.04-.831-.117-.238-1.039-2.584-1.461-3.522z\" clip-rule=\"evenodd\"/></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtcmVndWxhcg==\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"30.006px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(102, 110, 130))\"},children:\"mederichospital@gmail.com\"})}),className:\"framer-io6new\",fonts:[\"GF;Plus Jakarta Sans-regular\"],layoutDependency:layoutDependency,layoutId:\"Yw48gSR51\",style:{\"--extracted-r6o4lv\":\"rgb(102, 110, 130)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:aQuehrWWW,variants:{\"a2Lkuo6Fr-hover\":{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},\"FBkjLvTjR-hover\":{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},\"z79vcIya2-hover\":{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"a2Lkuo6Fr-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtcmVndWxhcg==\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"30.006px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"mederichospital@gmail.com\"})})},\"FBkjLvTjR-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtcmVndWxhcg==\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"30.006px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"mederichospital@gmail.com\"})})},\"z79vcIya2-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-rt5or8\",\"data-styles-preset\":\"s9Wv_jF5M\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"mederichospital@gmail.com\"})})},z79vcIya2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-rt5or8\",\"data-styles-preset\":\"s9Wv_jF5M\",children:\"mederichospital@gmail.com\"})}),fonts:[\"Inter\"]}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-r6OzO.framer-7ib4ai, .framer-r6OzO .framer-7ib4ai { display: block; }\",\".framer-r6OzO.framer-oooq9s { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-r6OzO .framer-tv3ly7-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 27px); position: relative; width: 25px; }\",\".framer-r6OzO .framer-1x36r4d { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 30px); position: relative; width: 30px; }\",\".framer-r6OzO .framer-io6new { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-r6OzO.framer-oooq9s { gap: 0px; } .framer-r6OzO.framer-oooq9s > * { margin: 0px; margin-left: calc(5px / 2); margin-right: calc(5px / 2); } .framer-r6OzO.framer-oooq9s > :first-child { margin-left: 0px; } .framer-r6OzO.framer-oooq9s > :last-child { margin-right: 0px; } }\",\".framer-r6OzO.framer-v-yo6tmt.framer-oooq9s { overflow: visible; }\",\".framer-r6OzO.framer-v-yo6tmt .framer-tv3ly7-container { height: var(--framer-aspect-ratio-supported, 38px); width: 36px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 278\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"a2Lkuo6Fr\":{\"layout\":[\"auto\",\"auto\"]},\"sXP3qVfuN\":{\"layout\":[\"auto\",\"auto\"]},\"z79vcIya2\":{\"layout\":[\"auto\",\"auto\"]},\"JeuZBjgoy\":{\"layout\":[\"auto\",\"auto\"]},\"bDyf2OTVO\":{\"layout\":[\"auto\",\"auto\"]},\"aeizPc8oV\":{\"layout\":[\"auto\",\"auto\"]},\"n5_qMHtMt\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"m0VdlMLl0\":\"icon\",\"aQuehrWWW\":\"contactInfo\",\"pIJjKeUIe\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramercFqUGRyRK=withCSS(Component,css,\"framer-r6OzO\");export default FramercFqUGRyRK;FramercFqUGRyRK.displayName=\"Contact\";FramercFqUGRyRK.defaultProps={height:30,width:278};addPropertyControls(FramercFqUGRyRK,{variant:{options:[\"FBkjLvTjR\",\"a2Lkuo6Fr\",\"sXP3qVfuN\",\"z79vcIya2\"],optionTitles:[\"Variant 1\",\"Whatsapp\",\"No Icon\",\"Big \"],title:\"Variant\",type:ControlType.Enum},m0VdlMLl0:(PhosphorControls===null||PhosphorControls===void 0?void 0:PhosphorControls[\"iconSelection\"])&&{...PhosphorControls[\"iconSelection\"],defaultValue:\"House\",description:undefined,hidden:undefined,title:\"Icon\"},aQuehrWWW:{defaultValue:\"mederichospital@gmail.com\",displayTextArea:false,title:\"Contact info\",type:ControlType.String},pIJjKeUIe:{title:\"Link\",type:ControlType.Link}});addFonts(FramercFqUGRyRK,[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NTxXUEKi4Rw.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...PhosphorFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramercFqUGRyRK\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"30\",\"framerVariables\":\"{\\\"m0VdlMLl0\\\":\\\"icon\\\",\\\"aQuehrWWW\\\":\\\"contactInfo\\\",\\\"pIJjKeUIe\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"a2Lkuo6Fr\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"sXP3qVfuN\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"z79vcIya2\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"JeuZBjgoy\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"bDyf2OTVO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"aeizPc8oV\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"n5_qMHtMt\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"278\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cFqUGRyRK.map","// Generated by Framer (a2fb474)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-regular\",\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-700italic\",\"GF;Plus Jakarta Sans-italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NTxXUEKi4Rw.woff2\",weight:\"400\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0lCR_VMq2oR82k.woff2\",weight:\"400\"}]}];export const css=['.framer-mRqi0 .framer-styles-preset-9vqg0l:not(.rich-text-wrapper), .framer-mRqi0 .framer-styles-preset-9vqg0l.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-mRqi0 .framer-styles-preset-9vqg0l:not(.rich-text-wrapper), .framer-mRqi0 .framer-styles-preset-9vqg0l.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-mRqi0 .framer-styles-preset-9vqg0l:not(.rich-text-wrapper), .framer-mRqi0 .framer-styles-preset-9vqg0l.rich-text-wrapper p { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 30.006px; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: #666e82; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-mRqi0\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (9f68555)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/iRHrZEKoLmgUoNPnyT4T/bdUd8Je4OYHL1JUvogVJ/CJYwiQnnY.js\";const PhosphorFonts=getFonts(Phosphor);const serializationHash=\"framer-g8JFQ\";const variantClassNames={z640vCkxw:\"framer-v-nsqxvk\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,image,name1,review,width,...props})=>{var _ref,_ref1,_ref2;return{...props,a56H9oaOl:(_ref=image!==null&&image!==void 0?image:props.a56H9oaOl)!==null&&_ref!==void 0?_ref:{src:\"https://framerusercontent.com/images/ksvfU87o3zzd0vpK29bMPonXzDs.jpg?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/ksvfU87o3zzd0vpK29bMPonXzDs.jpg?scale-down-to=1024 682w,https://framerusercontent.com/images/ksvfU87o3zzd0vpK29bMPonXzDs.jpg?scale-down-to=2048 1365w,https://framerusercontent.com/images/ksvfU87o3zzd0vpK29bMPonXzDs.jpg?scale-down-to=4096 2730w,https://framerusercontent.com/images/ksvfU87o3zzd0vpK29bMPonXzDs.jpg 3435w\"},a7bV8LF80:(_ref1=name1!==null&&name1!==void 0?name1:props.a7bV8LF80)!==null&&_ref1!==void 0?_ref1:\"Jacqui Salazar\",e3qJBFFmz:(_ref2=review!==null&&review!==void 0?review:props.e3qJBFFmz)!==null&&_ref2!==void 0?_ref2:\"Dr. LaRock is the best there is. I came in with my lower back locked, I couldn’t sit down and could barely walk from my sciatica pain being at an all time high, I left my first session being able to sit and with minor pain. Dr. LaRock is the one to see!\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,a56H9oaOl,a7bV8LF80,e3qJBFFmz,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"z640vCkxw\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-nsqxvk\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"z640vCkxw\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgb(255, 255, 255)\",boxShadow:\"0px 1px 10px 2px rgba(0,0,0,0.25)\",...style},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ty7lzu\",\"data-framer-name\":\"Persona\",layoutDependency:layoutDependency,layoutId:\"nPgOjEJIw\",children:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+12+0+0),pixelHeight:5153,pixelWidth:3435,sizes:\"40px\",...toResponsiveImage(a56H9oaOl),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-uvoopg\",layoutDependency:layoutDependency,layoutId:\"degWqvDOZ\",style:{borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Jacqui Salazar\"})}),className:\"framer-ttn3zb\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LgJ2usRKD\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:a7bV8LF80,verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-s54wtd\",\"data-framer-name\":\"Stars\",layoutDependency:layoutDependency,layoutId:\"R3v5PUgQl\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1hvr4a1-container\",layoutDependency:layoutDependency,layoutId:\"L3vhm1q7P-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"L3vhm1q7P\",layoutId:\"L3vhm1q7P\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1w17y4c-container\",layoutDependency:layoutDependency,layoutId:\"DROw3Mnta-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"DROw3Mnta\",layoutId:\"DROw3Mnta\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1t3s2gj-container\",layoutDependency:layoutDependency,layoutId:\"AaIrSqDlH-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"AaIrSqDlH\",layoutId:\"AaIrSqDlH\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-m8rbfq-container\",layoutDependency:layoutDependency,layoutId:\"xJeodaayh-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"xJeodaayh\",layoutId:\"xJeodaayh\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-130ykvn-container\",layoutDependency:layoutDependency,layoutId:\"IGgcDvzbW-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"IGgcDvzbW\",layoutId:\"IGgcDvzbW\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Dr. LaRock is the best there is. I came in with my lower back locked, I couldn’t sit down and could barely walk from my sciatica pain being at an all time high, I left my first session being able to sit and with minor pain. Dr. LaRock is the one to see!\"})}),className:\"framer-1v4tqd6\",\"data-framer-name\":\"Review\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LCkuIqxXi\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:e3qJBFFmz,verticalAlignment:\"top\",withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-g8JFQ.framer-w11qen, .framer-g8JFQ .framer-w11qen { display: block; }\",\".framer-g8JFQ.framer-nsqxvk { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 12px; position: relative; width: 582px; }\",\".framer-g8JFQ .framer-ty7lzu { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-g8JFQ .framer-uvoopg { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 40px); overflow: visible; position: relative; width: 40px; }\",\".framer-g8JFQ .framer-ttn3zb { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-g8JFQ .framer-s54wtd { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-g8JFQ .framer-1hvr4a1-container, .framer-g8JFQ .framer-1w17y4c-container, .framer-g8JFQ .framer-1t3s2gj-container, .framer-g8JFQ .framer-m8rbfq-container, .framer-g8JFQ .framer-130ykvn-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 26px); position: relative; width: 24px; }\",\".framer-g8JFQ .framer-1v4tqd6 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-g8JFQ.framer-nsqxvk, .framer-g8JFQ .framer-ty7lzu, .framer-g8JFQ .framer-s54wtd { gap: 0px; } .framer-g8JFQ.framer-nsqxvk > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-g8JFQ.framer-nsqxvk > :first-child { margin-top: 0px; } .framer-g8JFQ.framer-nsqxvk > :last-child { margin-bottom: 0px; } .framer-g8JFQ .framer-ty7lzu > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-g8JFQ .framer-ty7lzu > :first-child, .framer-g8JFQ .framer-s54wtd > :first-child { margin-left: 0px; } .framer-g8JFQ .framer-ty7lzu > :last-child, .framer-g8JFQ .framer-s54wtd > :last-child { margin-right: 0px; } .framer-g8JFQ .framer-s54wtd > * { margin: 0px; margin-left: calc(4px / 2); margin-right: calc(4px / 2); } }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 230\n * @framerIntrinsicWidth 582\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"a56H9oaOl\":\"image\",\"a7bV8LF80\":\"name1\",\"e3qJBFFmz\":\"review\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerCloEXg8z9=withCSS(Component,css,\"framer-g8JFQ\");export default FramerCloEXg8z9;FramerCloEXg8z9.displayName=\"Testimonial\";FramerCloEXg8z9.defaultProps={height:230,width:582};addPropertyControls(FramerCloEXg8z9,{a56H9oaOl:{__defaultAssetReference:\"data:framer/asset-reference,ksvfU87o3zzd0vpK29bMPonXzDs.jpg?originalFilename=photo-1450297350677-623de575f31c%3Fcrop%3Dentropy%26cs%3Dsrgb%26fm%3Djpg%26ixid%3DM3wxMzc5NjJ8MHwxfHNlYXJjaHw1N3x8d29tYW58ZW58MHx8fHwxNzM1MzExMTE4fDA%26ixlib%3Drb-4.0.jpg&preferredSize=auto\",title:\"Image\",type:ControlType.ResponsiveImage},a7bV8LF80:{defaultValue:\"Jacqui Salazar\",displayTextArea:false,title:\"Name\",type:ControlType.String},e3qJBFFmz:{defaultValue:\"Dr. LaRock is the best there is. I came in with my lower back locked, I couldn’t sit down and could barely walk from my sciatica pain being at an all time high, I left my first session being able to sit and with minor pain. Dr. LaRock is the one to see!\",displayTextArea:true,title:\"Review\",type:ControlType.String}});addFonts(FramerCloEXg8z9,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...PhosphorFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerCloEXg8z9\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"230\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"582\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"a56H9oaOl\\\":\\\"image\\\",\\\"a7bV8LF80\\\":\\\"name1\\\",\\\"e3qJBFFmz\\\":\\\"review\\\"}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a2fb474)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-800\",\"GF;Plus Jakarta Sans-800italic\",\"GF;Plus Jakarta Sans-700italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNTxXUEKi4Rw.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_VMq2oR82k.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"}]}];export const css=['.framer-niNFE .framer-styles-preset-1pderfg:not(.rich-text-wrapper), .framer-niNFE .framer-styles-preset-1pderfg.rich-text-wrapper h4 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.96px; --framer-line-height: 18px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-142989f0-658c-49a1-883f-0cb84d657d03, #3d65ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-niNFE .framer-styles-preset-1pderfg:not(.rich-text-wrapper), .framer-niNFE .framer-styles-preset-1pderfg.rich-text-wrapper h4 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.96px; --framer-line-height: 18px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-142989f0-658c-49a1-883f-0cb84d657d03, #3d65ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-niNFE .framer-styles-preset-1pderfg:not(.rich-text-wrapper), .framer-niNFE .framer-styles-preset-1pderfg.rich-text-wrapper h4 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.96px; --framer-line-height: 18px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-142989f0-658c-49a1-883f-0cb84d657d03, #3d65ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-niNFE\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c563d2c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,cx,getFonts,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/YWrHBrBMB3Bi7cQielhN/dPNL8Jvm5CuYWiOGtR6c/AdIxj5aBW.js\";const PhosphorFonts=getFonts(Phosphor);const enabledGestures={Z_DuvqIFV:{hover:true}};const serializationHash=\"framer-qnXL1\";const variantClassNames={Z_DuvqIFV:\"framer-v-v1qvzw\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Z_DuvqIFV\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:\"https://maps.app.goo.gl/CUQe695eygGPAwLs7\",nodeId:\"Z_DuvqIFV\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-v1qvzw\",className,classNames)} framer-whv3tz`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"Z_DuvqIFV\",ref:ref??ref1,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},...addPropertyOverrides({\"Z_DuvqIFV-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ltjcex\",layoutDependency:layoutDependency,layoutId:\"QOMfpU8Fr\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-jc4udk-container\",layoutDependency:layoutDependency,layoutId:\"gvspH8rlJ-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"MapPin\",id:\"gvspH8rlJ\",layoutId:\"gvspH8rlJ\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({\"Z_DuvqIFV-hover\":{color:\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",children:\"Open on Google Maps\"})}),className:\"framer-1w2jyk2\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"aKrtJIppD\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{\"Z_DuvqIFV-hover\":{\"--extracted-1eung3n\":\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"Z_DuvqIFV-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",style:{\"--framer-text-color\":\"var(--extracted-1eung3n, var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0)))\"},children:\"Open on Google Maps\"})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1gh8xeo-container\",layoutDependency:layoutDependency,layoutId:\"x_jXGPwYs-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"ArrowRight\",id:\"x_jXGPwYs\",layoutId:\"x_jXGPwYs\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"bold\",width:\"100%\",...addPropertyOverrides({\"Z_DuvqIFV-hover\":{color:\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\"}},baseVariant,gestureVariant)})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qnXL1.framer-whv3tz, .framer-qnXL1 .framer-whv3tz { display: block; }\",\".framer-qnXL1.framer-v1qvzw { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 102px; justify-content: center; overflow: hidden; padding: 12px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-qnXL1 .framer-ltjcex { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-qnXL1 .framer-jc4udk-container { flex: none; height: 60px; position: relative; width: 60px; }\",\".framer-qnXL1 .framer-1w2jyk2 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-qnXL1 .framer-1gh8xeo-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 30px); position: relative; width: 28px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qnXL1.framer-v1qvzw, .framer-qnXL1 .framer-ltjcex { gap: 0px; } .framer-qnXL1.framer-v1qvzw > *, .framer-qnXL1 .framer-ltjcex > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-qnXL1.framer-v1qvzw > :first-child, .framer-qnXL1 .framer-ltjcex > :first-child { margin-left: 0px; } .framer-qnXL1.framer-v1qvzw > :last-child, .framer-qnXL1 .framer-ltjcex > :last-child { margin-right: 0px; } }\",\".framer-qnXL1.framer-v-v1qvzw.hover.framer-v1qvzw { gap: 40px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qnXL1.framer-v-v1qvzw.hover.framer-v1qvzw { gap: 0px; } .framer-qnXL1.framer-v-v1qvzw.hover.framer-v1qvzw > * { margin: 0px; margin-left: calc(40px / 2); margin-right: calc(40px / 2); } .framer-qnXL1.framer-v-v1qvzw.hover.framer-v1qvzw > :first-child { margin-left: 0px; } .framer-qnXL1.framer-v-v1qvzw.hover.framer-v1qvzw > :last-child { margin-right: 0px; } }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 102\n * @framerIntrinsicWidth 349\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"M6HSU1qkL\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerdlQaAyaMh=withCSS(Component,css,\"framer-qnXL1\");export default FramerdlQaAyaMh;FramerdlQaAyaMh.displayName=\"Arrow Button\";FramerdlQaAyaMh.defaultProps={height:102,width:349};addFonts(FramerdlQaAyaMh,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...PhosphorFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerdlQaAyaMh\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"102\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"M6HSU1qkL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"349\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./dlQaAyaMh.map","// Generated by Framer (a2fb474)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const RichTextWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(RichText));const enabledGestures={MqDLT80ls:{hover:true}};const serializationHash=\"framer-Rt8Bo\";const variantClassNames={MqDLT80ls:\"framer-v-173wdk9\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const transition2={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,link,text,width,...props})=>{var _ref;return{...props,eCO8ZSrDp:link!==null&&link!==void 0?link:props.eCO8ZSrDp,pflq6_lSj:(_ref=text!==null&&text!==void 0?text:props.pflq6_lSj)!==null&&_ref!==void 0?_ref:\"Nosotros\",yZNsgUfdO:click!==null&&click!==void 0?click:props.yZNsgUfdO};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,pflq6_lSj,eCO8ZSrDp,yZNsgUfdO,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"MqDLT80ls\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap46pxcd=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(yZNsgUfdO){const res=await yZNsgUfdO(...args);if(res===false)return false;}});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:eCO8ZSrDp,nodeId:\"MqDLT80ls\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-173wdk9\",className,classNames)} framer-190y0tr`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"MqDLT80ls\",onTap:onTap46pxcd,ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({\"MqDLT80ls-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-14r0vk0\",layoutDependency:layoutDependency,layoutId:\"NAp4VLTkP\",children:[/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Nosotros\"})}),className:\"framer-1xp0wdo\",\"data-framer-appear-id\":\"1xp0wdo\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"EzETKQQ69\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:pflq6_lSj,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"MqDLT80ls-hover\":{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,initial:animation1,optimized:true}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-lkz4ea\",\"data-framer-name\":\"Line\",layoutDependency:layoutDependency,layoutId:\"N5mGBsiJV\",style:{backgroundColor:\"var(--token-ad01e452-5992-46a6-96a2-acad9cdafbe2, rgb(169, 133, 255))\",opacity:0},variants:{\"MqDLT80ls-hover\":{backgroundColor:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",opacity:1}}})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Rt8Bo.framer-190y0tr, .framer-Rt8Bo .framer-190y0tr { display: block; }\",\".framer-Rt8Bo.framer-173wdk9 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-Rt8Bo .framer-14r0vk0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-Rt8Bo .framer-1xp0wdo { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-Rt8Bo .framer-lkz4ea { align-self: stretch; flex: none; height: 1px; overflow: visible; position: relative; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-Rt8Bo.framer-173wdk9, .framer-Rt8Bo .framer-14r0vk0 { gap: 0px; } .framer-Rt8Bo.framer-173wdk9 > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-Rt8Bo.framer-173wdk9 > :first-child, .framer-Rt8Bo .framer-14r0vk0 > :first-child { margin-top: 0px; } .framer-Rt8Bo.framer-173wdk9 > :last-child, .framer-Rt8Bo .framer-14r0vk0 > :last-child { margin-bottom: 0px; } .framer-Rt8Bo .framer-14r0vk0 > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 20\n * @framerIntrinsicWidth 69\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"CknIMjRYI\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"pflq6_lSj\":\"text\",\"eCO8ZSrDp\":\"link\",\"yZNsgUfdO\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerd_tlpnPSk=withCSS(Component,css,\"framer-Rt8Bo\");export default Framerd_tlpnPSk;Framerd_tlpnPSk.displayName=\"Clickable Text\";Framerd_tlpnPSk.defaultProps={height:20,width:69};addPropertyControls(Framerd_tlpnPSk,{pflq6_lSj:{defaultValue:\"Nosotros\",displayTextArea:false,title:\"Text\",type:ControlType.String},eCO8ZSrDp:{title:\"Link\",type:ControlType.Link},yZNsgUfdO:{title:\"Click\",type:ControlType.EventHandler}});addFonts(Framerd_tlpnPSk,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerd_tlpnPSk\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"CknIMjRYI\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"20\",\"framerVariables\":\"{\\\"pflq6_lSj\\\":\\\"text\\\",\\\"eCO8ZSrDp\\\":\\\"link\\\",\\\"yZNsgUfdO\\\":\\\"click\\\"}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"69\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./d_tlpnPSk.map","let Component;\nvar House_default = (React) => {\n  if (!Component) {\n    const weights = /* @__PURE__ */ new Map([\n      [\n        \"bold\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M221.56,100.85,141.61,25.38l-.16-.15a19.93,19.93,0,0,0-26.91,0l-.17.15L34.44,100.85A20.07,20.07,0,0,0,28,115.55V208a20,20,0,0,0,20,20H96a20,20,0,0,0,20-20V164h24v44a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V115.55A20.07,20.07,0,0,0,221.56,100.85ZM204,204H164V160a20,20,0,0,0-20-20H112a20,20,0,0,0-20,20v44H52V117.28l76-71.75,76,71.75Z\" }))\n      ],\n      [\n        \"duotone\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n          \"path\",\n          {\n            d: \"M216,115.54V208a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V160a8,8,0,0,0-8-8H112a8,8,0,0,0-8,8v48a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V115.54a8,8,0,0,1,2.62-5.92l80-75.54a8,8,0,0,1,10.77,0l80,75.54A8,8,0,0,1,216,115.54Z\",\n            opacity: \"0.2\"\n          }\n        ), /* @__PURE__ */ React.createElement(\"path\", { d: \"M218.83,103.77l-80-75.48a1.14,1.14,0,0,1-.11-.11,16,16,0,0,0-21.53,0l-.11.11L37.17,103.77A16,16,0,0,0,32,115.55V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V160h32v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V115.55A16,16,0,0,0,218.83,103.77ZM208,208H160V160a16,16,0,0,0-16-16H112a16,16,0,0,0-16,16v48H48V115.55l.11-.1L128,40l79.9,75.43.11.1Z\" }))\n      ],\n      [\n        \"fill\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224,115.55V208a16,16,0,0,1-16,16H168a16,16,0,0,1-16-16V168a8,8,0,0,0-8-8H112a8,8,0,0,0-8,8v40a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V115.55a16,16,0,0,1,5.17-11.78l80-75.48.11-.11a16,16,0,0,1,21.53,0,1.14,1.14,0,0,0,.11.11l80,75.48A16,16,0,0,1,224,115.55Z\" }))\n      ],\n      [\n        \"light\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M217.47,105.24l-80-75.5-.09-.08a13.94,13.94,0,0,0-18.83,0l-.09.08-80,75.5A14,14,0,0,0,34,115.55V208a14,14,0,0,0,14,14H96a14,14,0,0,0,14-14V160a2,2,0,0,1,2-2h32a2,2,0,0,1,2,2v48a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V115.55A14,14,0,0,0,217.47,105.24ZM210,208a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2V160a14,14,0,0,0-14-14H112a14,14,0,0,0-14,14v48a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V115.55a2,2,0,0,1,.65-1.48l.09-.08,79.94-75.48a2,2,0,0,1,2.63,0L209.26,114l.08.08a2,2,0,0,1,.66,1.48Z\" }))\n      ],\n      [\n        \"regular\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M218.83,103.77l-80-75.48a1.14,1.14,0,0,1-.11-.11,16,16,0,0,0-21.53,0l-.11.11L37.17,103.77A16,16,0,0,0,32,115.55V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V160h32v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V115.55A16,16,0,0,0,218.83,103.77ZM208,208H160V160a16,16,0,0,0-16-16H112a16,16,0,0,0-16,16v48H48V115.55l.11-.1L128,40l79.9,75.43.11.1Z\" }))\n      ],\n      [\n        \"thin\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M216.13,106.72,136.07,31.13a12,12,0,0,0-16.2.05L39.93,106.67A12,12,0,0,0,36,115.54V208a12,12,0,0,0,12,12H96a12,12,0,0,0,12-12V160a4,4,0,0,1,4-4h32a4,4,0,0,1,4,4v48a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V115.54A12,12,0,0,0,216.13,106.72ZM212,208a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4V160a12,12,0,0,0-12-12H112a12,12,0,0,0-12,12v48a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V115.54a4.09,4.09,0,0,1,1.36-3L125.3,37.05a4,4,0,0,1,5.33,0l80.06,75.58a4,4,0,0,1,1.31,3Z\" }))\n      ]\n    ]);\n    const House = React.forwardRef((props, ref) => /* @__PURE__ */ React.createElement(\"g\", { ref, ...props }, weights.get(props.weight)));\n    House.displayName = \"House\";\n    Component = House;\n  }\n  return Component;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nexport {\n  __FramerMetadata__,\n  House_default as default\n};\n","/*\n * House (phosphor-icons/House@0.0.53)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/i6WSiDLftYVS2GvUElTz/House.js\"\nexport { default } from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/i6WSiDLftYVS2GvUElTz/House.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HouseFactory from\"https://framer.com/m/phosphor-icons/House.js@0.0.53\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";const iconKeys=[\"AddressBook\",\"AirTrafficControl\",\"Airplane\",\"AirplaneInFlight\",\"AirplaneLanding\",\"AirplaneTakeoff\",\"AirplaneTilt\",\"Airplay\",\"Alarm\",\"Alien\",\"AlignBottom\",\"AlignBottomSimple\",\"AlignCenterVertical\",\"AlignLeft\",\"AlignLeftSimple\",\"AlignRight\",\"AlignRightSimple\",\"AlignTop\",\"AlignTopSimple\",\"AmazonLogo\",\"Anchor\",\"AnchorSimple\",\"AndroidLogo\",\"AngularLogo\",\"Aperture\",\"AppStoreLogo\",\"AppWindow\",\"AppleLogo\",\"ApplePodcastsLogo\",\"Archive\",\"ArchiveBox\",\"ArchiveTray\",\"Armchair\",\"ArrowArcLeft\",\"ArrowArcRight\",\"ArrowBendDownLeft\",\"ArrowBendDownRight\",\"ArrowBendLeftDown\",\"ArrowBendLeftUp\",\"ArrowBendRightDown\",\"ArrowBendRightUp\",\"ArrowBendUpLeft\",\"ArrowBendUpRight\",\"ArrowCircleDown\",\"ArrowCircleDownLeft\",\"ArrowCircleDownRight\",\"ArrowCircleLeft\",\"ArrowCircleRight\",\"ArrowCircleUp\",\"ArrowCircleUpLeft\",\"ArrowCircleUpRight\",\"ArrowClockwise\",\"ArrowDown\",\"ArrowDownLeft\",\"ArrowDownRight\",\"ArrowElbowDownLeft\",\"ArrowElbowDownRight\",\"ArrowElbowLeft\",\"ArrowElbowLeftDown\",\"ArrowElbowLeftUp\",\"ArrowElbowRight\",\"ArrowElbowRightDown\",\"ArrowElbowRightUp\",\"ArrowElbowUpLeft\",\"ArrowElbowUpRight\",\"ArrowFatDown\",\"ArrowFatLeft\",\"ArrowFatLineDown\",\"ArrowFatLineLeft\",\"ArrowFatLineRight\",\"ArrowFatLineUp\",\"ArrowFatLinesDown\",\"ArrowFatLinesLeft\",\"ArrowFatLinesRight\",\"ArrowFatLinesUp\",\"ArrowFatRight\",\"ArrowFatUp\",\"ArrowLeft\",\"ArrowLineDown\",\"ArrowLineDownLeft\",\"ArrowLineDownRight\",\"ArrowLineLeft\",\"ArrowLineRight\",\"ArrowLineUp\",\"ArrowLineUpLeft\",\"ArrowLineUpRight\",\"ArrowRight\",\"ArrowSquareDown\",\"ArrowSquareDownLeft\",\"ArrowSquareDownRight\",\"ArrowSquareIn\",\"ArrowSquareLeft\",\"ArrowSquareOut\",\"ArrowSquareRight\",\"ArrowSquareUp\",\"ArrowSquareUpLeft\",\"ArrowSquareUpRight\",\"ArrowUDownLeft\",\"ArrowUDownRight\",\"ArrowULeftDown\",\"ArrowULeftUp\",\"ArrowURightDown\",\"ArrowURightUp\",\"ArrowUUpLeft\",\"ArrowUUpRight\",\"ArrowUp\",\"ArrowUpLeft\",\"ArrowUpRight\",\"ArrowsClockwise\",\"ArrowsDownUp\",\"ArrowsHorizontal\",\"ArrowsIn\",\"ArrowsInCardinal\",\"ArrowsInLineVertical\",\"ArrowsInSimple\",\"ArrowsLeftRight\",\"ArrowsMerge\",\"ArrowsOut\",\"ArrowsOutCardinal\",\"ArrowsOutSimple\",\"ArrowsSplit\",\"ArrowsVertical\",\"Article\",\"ArticleMedium\",\"ArticleNyTimes\",\"Asterisk\",\"AsteriskSimple\",\"At\",\"Atom\",\"Baby\",\"Backpack\",\"Backspace\",\"Bag\",\"BagSimple\",\"Balloon\",\"Bandaids\",\"Bank\",\"Barbell\",\"Barcode\",\"Barricade\",\"Baseball\",\"BaseballCap\",\"Basket\",\"Basketball\",\"Bathtub\",\"BatteryCharging\",\"BatteryEmpty\",\"BatteryFull\",\"BatteryHigh\",\"BatteryLow\",\"BatteryMedium\",\"BatteryPlus\",\"BatteryPlusVertical\",\"BatteryVerticalEmpty\",\"BatteryVerticalFull\",\"BatteryVerticalHigh\",\"BatteryVerticalLow\",\"BatteryWarning\",\"Bed\",\"BeerBottle\",\"BeerStein\",\"BehanceLogo\",\"Bell\",\"BellRinging\",\"BellSimple\",\"BellSimpleRinging\",\"BellSimpleSlash\",\"BellSimpleZ\",\"BellSlash\",\"BellZ\",\"BezierCurve\",\"Bicycle\",\"Binoculars\",\"Bird\",\"Bluetooth\",\"BluetoothConnected\",\"BluetoothSlash\",\"BluetoothX\",\"Boat\",\"Bone\",\"Book\",\"BookBookmark\",\"BookOpen\",\"BookOpenText\",\"Bookmark\",\"BookmarkSimple\",\"Bookmarks\",\"BookmarksSimple\",\"Books\",\"Boot\",\"BoundingBox\",\"BowlFood\",\"BracketsAngle\",\"BracketsCurly\",\"BracketsRound\",\"BracketsSquare\",\"Brain\",\"Brandy\",\"Bridge\",\"Briefcase\",\"BriefcaseMetal\",\"Broadcast\",\"Broom\",\"Browser\",\"Browsers\",\"Bug\",\"BugBeetle\",\"BugDroid\",\"Buildings\",\"Bus\",\"Butterfly\",\"Cactus\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarBlank\",\"CalendarCheck\",\"CalendarPlus\",\"CalendarX\",\"CallBell\",\"Camera\",\"CameraPlus\",\"CameraRotate\",\"CameraSlash\",\"Campfire\",\"Car\",\"CarProfile\",\"CarSimple\",\"Cardholder\",\"Cards\",\"CaretCircleDoubleUp\",\"CaretCircleDown\",\"CaretCircleLeft\",\"CaretCircleRight\",\"CaretCircleUp\",\"CaretCircleUpDown\",\"CaretDoubleDown\",\"CaretDoubleLeft\",\"CaretDoubleRight\",\"CaretDoubleUp\",\"CaretDown\",\"CaretLeft\",\"CaretRight\",\"CaretUp\",\"CaretUpDown\",\"Carrot\",\"CassetteTape\",\"CastleTurret\",\"Cat\",\"CellSignalFull\",\"CellSignalHigh\",\"CellSignalLow\",\"CellSignalMedium\",\"CellSignalNone\",\"CellSignalSlash\",\"CellSignalX\",\"Certificate\",\"Chair\",\"Chalkboard\",\"ChalkboardSimple\",\"ChalkboardTeacher\",\"Champagne\",\"ChargingStation\",\"ChartBar\",\"ChartBarHorizontal\",\"ChartDonut\",\"ChartLine\",\"ChartLineDown\",\"ChartLineUp\",\"ChartPie\",\"ChartPieSlice\",\"ChartPolar\",\"ChartScatter\",\"Chat\",\"ChatCentered\",\"ChatCenteredDots\",\"ChatCenteredText\",\"ChatCircle\",\"ChatCircleDots\",\"ChatCircleText\",\"ChatDots\",\"ChatTeardrop\",\"ChatTeardropDots\",\"ChatTeardropText\",\"ChatText\",\"Chats\",\"ChatsCircle\",\"ChatsTeardrop\",\"Check\",\"CheckCircle\",\"CheckFat\",\"CheckSquare\",\"CheckSquareOffset\",\"Checks\",\"Church\",\"Circle\",\"CircleDashed\",\"CircleHalf\",\"CircleHalfTilt\",\"CircleNotch\",\"CirclesFour\",\"CirclesThree\",\"CirclesThreePlus\",\"Circuitry\",\"Clipboard\",\"ClipboardText\",\"Clock\",\"ClockAfternoon\",\"ClockClockwise\",\"ClockCounterClockwise\",\"ClockCountdown\",\"ClosedCaptioning\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CloudCheck\",\"CloudFog\",\"CloudLightning\",\"CloudMoon\",\"CloudRain\",\"CloudSlash\",\"CloudSnow\",\"CloudSun\",\"CloudWarning\",\"CloudX\",\"Club\",\"CoatHanger\",\"CodaLogo\",\"Code\",\"CodeBlock\",\"CodeSimple\",\"CodepenLogo\",\"CodesandboxLogo\",\"Coffee\",\"Coin\",\"CoinVertical\",\"Coins\",\"Columns\",\"Command\",\"Compass\",\"CompassTool\",\"ComputerTower\",\"Confetti\",\"ContactlessPayment\",\"Control\",\"Cookie\",\"CookingPot\",\"Copy\",\"CopySimple\",\"Copyleft\",\"Copyright\",\"CornersIn\",\"CornersOut\",\"Couch\",\"Cpu\",\"CreditCard\",\"Crop\",\"Cross\",\"Crosshair\",\"CrosshairSimple\",\"Crown\",\"CrownSimple\",\"Cube\",\"CubeFocus\",\"CubeTransparent\",\"CurrencyBtc\",\"CurrencyCircleDollar\",\"CurrencyCny\",\"CurrencyDollar\",\"CurrencyDollarSimple\",\"CurrencyEth\",\"CurrencyEur\",\"CurrencyGbp\",\"CurrencyInr\",\"CurrencyJpy\",\"CurrencyKrw\",\"CurrencyKzt\",\"CurrencyNgn\",\"CurrencyRub\",\"Cursor\",\"CursorClick\",\"CursorText\",\"Cylinder\",\"Database\",\"Desktop\",\"DesktopTower\",\"Detective\",\"DevToLogo\",\"DeviceMobile\",\"DeviceMobileCamera\",\"DeviceMobileSpeaker\",\"DeviceTablet\",\"DeviceTabletCamera\",\"DeviceTabletSpeaker\",\"Devices\",\"Diamond\",\"DiamondsFour\",\"DiceFive\",\"DiceFour\",\"DiceOne\",\"DiceSix\",\"DiceThree\",\"DiceTwo\",\"Disc\",\"DiscordLogo\",\"Divide\",\"Dna\",\"Dog\",\"Door\",\"DoorOpen\",\"Dot\",\"DotOutline\",\"DotsNine\",\"DotsSix\",\"DotsSixVertical\",\"DotsThree\",\"DotsThreeCircle\",\"DotsThreeOutline\",\"DotsThreeVertical\",\"Download\",\"DownloadSimple\",\"Dress\",\"DribbbleLogo\",\"Drop\",\"DropHalf\",\"DropHalfBottom\",\"DropboxLogo\",\"Ear\",\"EarSlash\",\"Egg\",\"EggCrack\",\"Eject\",\"EjectSimple\",\"Elevator\",\"Engine\",\"Envelope\",\"EnvelopeOpen\",\"EnvelopeSimple\",\"EnvelopeSimpleOpen\",\"Equalizer\",\"Equals\",\"Eraser\",\"EscalatorDown\",\"EscalatorUp\",\"Exam\",\"Exclude\",\"ExcludeSquare\",\"Export\",\"Eye\",\"EyeClosed\",\"EyeSlash\",\"Eyedropper\",\"EyedropperSample\",\"Eyeglasses\",\"FaceMask\",\"FacebookLogo\",\"Factory\",\"Faders\",\"FadersHorizontal\",\"Fan\",\"FastForward\",\"FastForwardCircle\",\"Feather\",\"FigmaLogo\",\"File\",\"FileArchive\",\"FileArrowDown\",\"FileArrowUp\",\"FileAudio\",\"FileCloud\",\"FileCode\",\"FileCss\",\"FileCsv\",\"FileDashed\",\"FileDoc\",\"FileHtml\",\"FileImage\",\"FileJpg\",\"FileJs\",\"FileJsx\",\"FileLock\",\"FileMagnifyingGlass\",\"FileMinus\",\"FilePdf\",\"FilePlus\",\"FilePng\",\"FilePpt\",\"FileRs\",\"FileSql\",\"FileSvg\",\"FileText\",\"FileTs\",\"FileTsx\",\"FileVideo\",\"FileVue\",\"FileX\",\"FileXls\",\"FileZip\",\"Files\",\"FilmReel\",\"FilmScript\",\"FilmSlate\",\"FilmStrip\",\"Fingerprint\",\"FingerprintSimple\",\"FinnTheHuman\",\"Fire\",\"FireExtinguisher\",\"FireSimple\",\"FirstAid\",\"FirstAidKit\",\"Fish\",\"FishSimple\",\"Flag\",\"FlagBanner\",\"FlagCheckered\",\"FlagPennant\",\"Flame\",\"Flashlight\",\"Flask\",\"FloppyDisk\",\"FloppyDiskBack\",\"FlowArrow\",\"Flower\",\"FlowerLotus\",\"FlowerTulip\",\"FlyingSaucer\",\"Folder\",\"FolderDashed\",\"FolderLock\",\"FolderMinus\",\"FolderNotch\",\"FolderNotchMinus\",\"FolderNotchOpen\",\"FolderNotchPlus\",\"FolderOpen\",\"FolderPlus\",\"FolderSimple\",\"FolderSimpleDashed\",\"FolderSimpleLock\",\"FolderSimpleMinus\",\"FolderSimplePlus\",\"FolderSimpleStar\",\"FolderSimpleUser\",\"FolderStar\",\"FolderUser\",\"Folders\",\"Football\",\"Footprints\",\"ForkKnife\",\"FrameCorners\",\"FramerLogo\",\"Function\",\"Funnel\",\"FunnelSimple\",\"GameController\",\"Garage\",\"GasCan\",\"GasPump\",\"Gauge\",\"Gavel\",\"Gear\",\"GearFine\",\"GearSix\",\"GenderFemale\",\"GenderIntersex\",\"GenderMale\",\"GenderNeuter\",\"GenderNonbinary\",\"GenderTransgender\",\"Ghost\",\"Gif\",\"Gift\",\"GitBranch\",\"GitCommit\",\"GitDiff\",\"GitFork\",\"GitMerge\",\"GitPullRequest\",\"GithubLogo\",\"GitlabLogo\",\"GitlabLogoSimple\",\"Globe\",\"GlobeHemisphereEast\",\"GlobeHemisphereWest\",\"GlobeSimple\",\"GlobeStand\",\"Goggles\",\"GoodreadsLogo\",\"GoogleCardboardLogo\",\"GoogleChromeLogo\",\"GoogleDriveLogo\",\"GoogleLogo\",\"GooglePhotosLogo\",\"GooglePlayLogo\",\"GooglePodcastsLogo\",\"Gradient\",\"GraduationCap\",\"Grains\",\"GrainsSlash\",\"Graph\",\"GridFour\",\"GridNine\",\"Guitar\",\"Hamburger\",\"Hammer\",\"Hand\",\"HandCoins\",\"HandEye\",\"HandFist\",\"HandGrabbing\",\"HandHeart\",\"HandPalm\",\"HandPointing\",\"HandSoap\",\"HandSwipeLeft\",\"HandSwipeRight\",\"HandTap\",\"HandWaving\",\"Handbag\",\"HandbagSimple\",\"HandsClapping\",\"HandsPraying\",\"Handshake\",\"HardDrive\",\"HardDrives\",\"Hash\",\"HashStraight\",\"Headlights\",\"Headphones\",\"Headset\",\"Heart\",\"HeartBreak\",\"HeartHalf\",\"HeartStraight\",\"HeartStraightBreak\",\"Heartbeat\",\"Hexagon\",\"HighHeel\",\"HighlighterCircle\",\"Hoodie\",\"Horse\",\"Hourglass\",\"HourglassHigh\",\"HourglassLow\",\"HourglassMedium\",\"HourglassSimple\",\"HourglassSimpleHigh\",\"HourglassSimpleLow\",\"House\",\"HouseLine\",\"HouseSimple\",\"IceCream\",\"IdentificationBadge\",\"IdentificationCard\",\"Image\",\"ImageSquare\",\"Images\",\"ImagesSquare\",\"Infinity\",\"Info\",\"InstagramLogo\",\"Intersect\",\"IntersectSquare\",\"IntersectThree\",\"Jeep\",\"Kanban\",\"Key\",\"KeyReturn\",\"Keyboard\",\"Keyhole\",\"Knife\",\"Ladder\",\"LadderSimple\",\"Lamp\",\"Laptop\",\"Layout\",\"Leaf\",\"Lifebuoy\",\"Lightbulb\",\"LightbulbFilament\",\"Lighthouse\",\"Lightning\",\"LightningA\",\"LightningSlash\",\"LineSegment\",\"LineSegments\",\"Link\",\"LinkBreak\",\"LinkSimple\",\"LinkSimpleBreak\",\"LinkSimpleHorizontal\",\"LinkedinLogo\",\"LinuxLogo\",\"List\",\"ListBullets\",\"ListChecks\",\"ListDashes\",\"ListMagnifyingGlass\",\"ListNumbers\",\"ListPlus\",\"Lock\",\"LockKey\",\"LockKeyOpen\",\"LockLaminated\",\"LockLaminatedOpen\",\"LockOpen\",\"LockSimple\",\"LockSimpleOpen\",\"Lockers\",\"MagicWand\",\"Magnet\",\"MagnetStraight\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"MapPin\",\"MapPinLine\",\"MapTrifold\",\"MarkerCircle\",\"Martini\",\"MaskHappy\",\"MaskSad\",\"MathOperations\",\"Medal\",\"MedalMilitary\",\"MediumLogo\",\"Megaphone\",\"MegaphoneSimple\",\"MessengerLogo\",\"MetaLogo\",\"Metronome\",\"Microphone\",\"MicrophoneSlash\",\"MicrophoneStage\",\"MicrosoftExcelLogo\",\"MicrosoftOutlookLogo\",\"MicrosoftTeamsLogo\",\"MicrosoftWordLogo\",\"Minus\",\"MinusCircle\",\"MinusSquare\",\"Money\",\"Monitor\",\"MonitorPlay\",\"Moon\",\"MoonStars\",\"Moped\",\"MopedFront\",\"Mosque\",\"Motorcycle\",\"Mountains\",\"Mouse\",\"MouseSimple\",\"MusicNote\",\"MusicNoteSimple\",\"MusicNotes\",\"MusicNotesPlus\",\"MusicNotesSimple\",\"NavigationArrow\",\"Needle\",\"Newspaper\",\"NewspaperClipping\",\"Notches\",\"Note\",\"NoteBlank\",\"NotePencil\",\"Notebook\",\"Notepad\",\"Notification\",\"NotionLogo\",\"NumberCircleEight\",\"NumberCircleFive\",\"NumberCircleFour\",\"NumberCircleNine\",\"NumberCircleOne\",\"NumberCircleSeven\",\"NumberCircleSix\",\"NumberCircleThree\",\"NumberCircleTwo\",\"NumberCircleZero\",\"NumberEight\",\"NumberFive\",\"NumberFour\",\"NumberNine\",\"NumberOne\",\"NumberSeven\",\"NumberSix\",\"NumberSquareEight\",\"NumberSquareFive\",\"NumberSquareFour\",\"NumberSquareNine\",\"NumberSquareOne\",\"NumberSquareSeven\",\"NumberSquareSix\",\"NumberSquareThree\",\"NumberSquareTwo\",\"NumberSquareZero\",\"NumberThree\",\"NumberTwo\",\"NumberZero\",\"Nut\",\"NyTimesLogo\",\"Octagon\",\"OfficeChair\",\"Option\",\"OrangeSlice\",\"Package\",\"PaintBrush\",\"PaintBrushBroad\",\"PaintBrushHousehold\",\"PaintBucket\",\"PaintRoller\",\"Palette\",\"Pants\",\"PaperPlane\",\"PaperPlaneRight\",\"PaperPlaneTilt\",\"Paperclip\",\"PaperclipHorizontal\",\"Parachute\",\"Paragraph\",\"Parallelogram\",\"Park\",\"Password\",\"Path\",\"PatreonLogo\",\"Pause\",\"PauseCircle\",\"PawPrint\",\"PaypalLogo\",\"Peace\",\"Pen\",\"PenNib\",\"PenNibStraight\",\"Pencil\",\"PencilCircle\",\"PencilLine\",\"PencilSimple\",\"PencilSimpleLine\",\"PencilSimpleSlash\",\"PencilSlash\",\"Pentagram\",\"Pepper\",\"Percent\",\"Person\",\"PersonArmsSpread\",\"PersonSimple\",\"PersonSimpleBike\",\"PersonSimpleRun\",\"PersonSimpleThrow\",\"PersonSimpleWalk\",\"Perspective\",\"Phone\",\"PhoneCall\",\"PhoneDisconnect\",\"PhoneIncoming\",\"PhoneOutgoing\",\"PhonePlus\",\"PhoneSlash\",\"PhoneX\",\"PhosphorLogo\",\"Pi\",\"PianoKeys\",\"PictureInPicture\",\"PiggyBank\",\"Pill\",\"PinterestLogo\",\"Pinwheel\",\"Pizza\",\"Placeholder\",\"Planet\",\"Plant\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Playlist\",\"Plug\",\"PlugCharging\",\"Plugs\",\"PlugsConnected\",\"Plus\",\"PlusCircle\",\"PlusMinus\",\"PlusSquare\",\"PokerChip\",\"PoliceCar\",\"Polygon\",\"Popcorn\",\"PottedPlant\",\"Power\",\"Prescription\",\"Presentation\",\"PresentationChart\",\"Printer\",\"Prohibit\",\"ProhibitInset\",\"ProjectorScreen\",\"ProjectorScreenChart\",\"Pulse\",\"PushPin\",\"PushPinSimple\",\"PushPinSimpleSlash\",\"PushPinSlash\",\"PuzzlePiece\",\"QrCode\",\"Question\",\"Queue\",\"Quotes\",\"Radical\",\"Radio\",\"RadioButton\",\"Radioactive\",\"Rainbow\",\"RainbowCloud\",\"ReadCvLogo\",\"Receipt\",\"ReceiptX\",\"Record\",\"Rectangle\",\"Recycle\",\"RedditLogo\",\"Repeat\",\"RepeatOnce\",\"Rewind\",\"RewindCircle\",\"RoadHorizon\",\"Robot\",\"Rocket\",\"RocketLaunch\",\"Rows\",\"Rss\",\"RssSimple\",\"Rug\",\"Ruler\",\"Scales\",\"Scan\",\"Scissors\",\"Scooter\",\"Screencast\",\"ScribbleLoop\",\"Scroll\",\"Seal\",\"SealCheck\",\"SealQuestion\",\"SealWarning\",\"Selection\",\"SelectionAll\",\"SelectionBackground\",\"SelectionForeground\",\"SelectionInverse\",\"SelectionPlus\",\"SelectionSlash\",\"Shapes\",\"Share\",\"ShareFat\",\"ShareNetwork\",\"Shield\",\"ShieldCheck\",\"ShieldCheckered\",\"ShieldChevron\",\"ShieldPlus\",\"ShieldSlash\",\"ShieldStar\",\"ShieldWarning\",\"ShirtFolded\",\"ShootingStar\",\"ShoppingBag\",\"ShoppingBagOpen\",\"ShoppingCart\",\"ShoppingCartSimple\",\"Shower\",\"Shrimp\",\"Shuffle\",\"ShuffleAngular\",\"ShuffleSimple\",\"Sidebar\",\"SidebarSimple\",\"Sigma\",\"SignIn\",\"SignOut\",\"Signature\",\"Signpost\",\"SimCard\",\"Siren\",\"SketchLogo\",\"SkipBack\",\"SkipBackCircle\",\"SkipForward\",\"SkipForwardCircle\",\"Skull\",\"SlackLogo\",\"Sliders\",\"SlidersHorizontal\",\"Slideshow\",\"Smiley\",\"SmileyAngry\",\"SmileyBlank\",\"SmileyMeh\",\"SmileyNervous\",\"SmileySad\",\"SmileySticker\",\"SmileyWink\",\"SmileyXEyes\",\"SnapchatLogo\",\"Sneaker\",\"SneakerMove\",\"Snowflake\",\"SoccerBall\",\"SortAscending\",\"SortDescending\",\"SoundcloudLogo\",\"Spade\",\"Sparkle\",\"SpeakerHifi\",\"SpeakerHigh\",\"SpeakerLow\",\"SpeakerNone\",\"SpeakerSimpleHigh\",\"SpeakerSimpleLow\",\"SpeakerSimpleNone\",\"SpeakerSimpleSlash\",\"SpeakerSimpleX\",\"SpeakerSlash\",\"SpeakerX\",\"Spinner\",\"SpinnerGap\",\"Spiral\",\"SplitHorizontal\",\"SplitVertical\",\"SpotifyLogo\",\"Square\",\"SquareHalf\",\"SquareHalfBottom\",\"SquareLogo\",\"SquareSplitVertical\",\"SquaresFour\",\"Stack\",\"StackOverflowLogo\",\"StackSimple\",\"Stairs\",\"Stamp\",\"Star\",\"StarAndCrescent\",\"StarFour\",\"StarHalf\",\"StarOfDavid\",\"SteeringWheel\",\"Steps\",\"Stethoscope\",\"Sticker\",\"Stool\",\"Stop\",\"StopCircle\",\"Storefront\",\"Strategy\",\"StripeLogo\",\"Student\",\"Subtitles\",\"Subtract\",\"SubtractSquare\",\"Suitcase\",\"SuitcaseRolling\",\"SuitcaseSimple\",\"Sun\",\"SunDim\",\"SunHorizon\",\"Sunglasses\",\"Swap\",\"Swatches\",\"SwimmingPool\",\"Sword\",\"Synagogue\",\"Syringe\",\"TShirt\",\"Table\",\"Tabs\",\"Tag\",\"TagChevron\",\"TagSimple\",\"Target\",\"Taxi\",\"TelegramLogo\",\"Television\",\"TelevisionSimple\",\"TennisBall\",\"Tent\",\"Terminal\",\"TerminalWindow\",\"TestTube\",\"TextAUnderline\",\"TextAa\",\"TextAlignCenter\",\"TextAlignJustify\",\"TextAlignLeft\",\"TextAlignRight\",\"TextB\",\"TextColumns\",\"TextH\",\"TextHFive\",\"TextHFour\",\"TextHOne\",\"TextHSix\",\"TextHThree\",\"TextHTwo\",\"TextIndent\",\"TextItalic\",\"TextOutdent\",\"TextStrikethrough\",\"TextT\",\"TextUnderline\",\"Textbox\",\"Thermometer\",\"ThermometerCold\",\"ThermometerHot\",\"ThermometerSimple\",\"ThumbsDown\",\"ThumbsUp\",\"Ticket\",\"TidalLogo\",\"TiktokLogo\",\"Timer\",\"Tipi\",\"ToggleLeft\",\"ToggleRight\",\"Toilet\",\"ToiletPaper\",\"Toolbox\",\"Tooth\",\"Tote\",\"ToteSimple\",\"Trademark\",\"TrademarkRegistered\",\"TrafficCone\",\"TrafficSign\",\"TrafficSignal\",\"Train\",\"TrainRegional\",\"TrainSimple\",\"Tram\",\"Translate\",\"Trash\",\"TrashSimple\",\"Tray\",\"Tree\",\"TreeEvergreen\",\"TreePalm\",\"TreeStructure\",\"TrendDown\",\"TrendUp\",\"Triangle\",\"Trophy\",\"Truck\",\"TwitchLogo\",\"TwitterLogo\",\"Umbrella\",\"UmbrellaSimple\",\"Unite\",\"UniteSquare\",\"Upload\",\"UploadSimple\",\"Usb\",\"User\",\"UserCircle\",\"UserCircleGear\",\"UserCircleMinus\",\"UserCirclePlus\",\"UserFocus\",\"UserGear\",\"UserList\",\"UserMinus\",\"UserPlus\",\"UserRectangle\",\"UserSquare\",\"UserSwitch\",\"Users\",\"UsersFour\",\"UsersThree\",\"Van\",\"Vault\",\"Vibrate\",\"Video\",\"VideoCamera\",\"VideoCameraSlash\",\"Vignette\",\"VinylRecord\",\"VirtualReality\",\"Virus\",\"Voicemail\",\"Volleyball\",\"Wall\",\"Wallet\",\"Warehouse\",\"Warning\",\"WarningCircle\",\"WarningDiamond\",\"WarningOctagon\",\"Watch\",\"WaveSawtooth\",\"WaveSine\",\"WaveSquare\",\"WaveTriangle\",\"Waveform\",\"Waves\",\"Webcam\",\"WebcamSlash\",\"WebhooksLogo\",\"WechatLogo\",\"WhatsappLogo\",\"Wheelchair\",\"WheelchairMotion\",\"WifiHigh\",\"WifiLow\",\"WifiMedium\",\"WifiNone\",\"WifiSlash\",\"WifiX\",\"Wind\",\"WindowsLogo\",\"Wine\",\"Wrench\",\"X\",\"XCircle\",\"XSquare\",\"YinYang\",\"YoutubeLogo\",];const moduleBaseUrl=\"https://framer.com/m/phosphor-icons/\";const weightOptions=[\"thin\",\"light\",\"regular\",\"bold\",\"fill\",\"duotone\",];const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * PHOSPHOR\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */ export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,weight,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);const[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HouseFactory(React):null);async function importModule(){// Get the selected module\ntry{const version=\"0.0.53\";const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@${version}`;const module=await import(/* webpackIgnore: true */ iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch(err){if(isMounted.current)setSelectedIcon(null);}}useEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/ _jsx(NullState,{}):null;return /*#__PURE__*/ _jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:color,color,flexShrink:0,transform:mirrored?\"scale(-1, 1)\":undefined},focusable:\"false\",color:color,children:/*#__PURE__*/ _jsx(SelectedIcon,{color:color,weight:weight})}):emptyState});}Icon.displayName=\"Phosphor\";Icon.defaultProps={width:24,height:24,iconSelection:\"House\",iconSearch:\"House\",color:\"#66F\",selectByList:true,weight:\"regular\",mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Phosphor site](https://phosphoricons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},weight:{type:ControlType.Enum,title:\"Weight\",optionTitles:weightOptions.map(piece=>piece.charAt(0).toUpperCase()+piece.slice(1)),options:weightOptions,defaultValue:Icon.defaultProps.weight},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Phosphor.map","// Generated by Framer (a2fb474)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/CAjjxbTJBxHwH1MagCef/Phosphor.js\";import{Icon as Phosphor1}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const Phosphor1Controls=getPropertyControls(Phosphor1);const enabledGestures={SN2pEsAIn:{hover:true}};const serializationHash=\"framer-zXjUn\";const variantClassNames={SN2pEsAIn:\"framer-v-pf5f2l\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,icon,id,link,title,width,...props})=>{var _ref,_ref1;return{...props,B7uo8Qq1d:(_ref=title!==null&&title!==void 0?title:props.B7uo8Qq1d)!==null&&_ref!==void 0?_ref:\"Contact Info\",gI5v7RT26:(_ref1=icon!==null&&icon!==void 0?icon:props.gI5v7RT26)!==null&&_ref1!==void 0?_ref1:\"House\",puV8tAH38:link!==null&&link!==void 0?link:props.puV8tAH38};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,B7uo8Qq1d,gI5v7RT26,puV8tAH38,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"SN2pEsAIn\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:puV8tAH38,nodeId:\"SN2pEsAIn\",openInNewTab:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-pf5f2l\",className,classNames)} framer-jetoo3`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"SN2pEsAIn\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({\"SN2pEsAIn-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ai3399-container\",layoutDependency:layoutDependency,layoutId:\"hllYQdOhS-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(0, 0, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:gI5v7RT26,id:\"hllYQdOhS\",layoutId:\"hllYQdOhS\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({\"SN2pEsAIn-hover\":{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Contact Info\"})}),className:\"framer-ek2o9g\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"NwKEWNIP9\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:B7uo8Qq1d,variants:{\"SN2pEsAIn-hover\":{\"--extracted-r6o4lv\":\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"SN2pEsAIn-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155)))\"},children:\"Contact Info\"})})}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-zXjUn.framer-jetoo3, .framer-zXjUn .framer-jetoo3 { display: block; }\",\".framer-zXjUn.framer-pf5f2l { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-zXjUn .framer-1ai3399-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 27px); position: relative; width: 25px; }\",\".framer-zXjUn .framer-ek2o9g { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-zXjUn.framer-pf5f2l { gap: 0px; } .framer-zXjUn.framer-pf5f2l > * { margin: 0px; margin-left: calc(5px / 2); margin-right: calc(5px / 2); } .framer-zXjUn.framer-pf5f2l > :first-child { margin-left: 0px; } .framer-zXjUn.framer-pf5f2l > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 27\n * @framerIntrinsicWidth 123\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"xfy9ZGCau\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"B7uo8Qq1d\":\"title\",\"gI5v7RT26\":\"icon\",\"puV8tAH38\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerm0kj7aDtw=withCSS(Component,css,\"framer-zXjUn\");export default Framerm0kj7aDtw;Framerm0kj7aDtw.displayName=\"Text & Icon 2\";Framerm0kj7aDtw.defaultProps={height:27,width:123};addPropertyControls(Framerm0kj7aDtw,{B7uo8Qq1d:{defaultValue:\"Contact Info\",displayTextArea:false,title:\"Title\",type:ControlType.String},gI5v7RT26:(Phosphor1Controls===null||Phosphor1Controls===void 0?void 0:Phosphor1Controls[\"iconSelection\"])&&{...Phosphor1Controls[\"iconSelection\"],defaultValue:\"House\",description:undefined,hidden:undefined,title:\"Icon\"},puV8tAH38:{title:\"Link\",type:ControlType.Link}});addFonts(Framerm0kj7aDtw,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...PhosphorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerm0kj7aDtw\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"123\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"xfy9ZGCau\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"B7uo8Qq1d\\\":\\\"title\\\",\\\"gI5v7RT26\\\":\\\"icon\\\",\\\"puV8tAH38\\\":\\\"link\\\"}\",\"framerIntrinsicHeight\":\"27\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./m0kj7aDtw.map","// Generated by Framer (b0998f3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const enabledGestures={buMxKSd0C:{hover:true}};const serializationHash=\"framer-8KyrJ\";const variantClassNames={buMxKSd0C:\"framer-v-dk23cp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,width,...props})=>{return{...props,sUExi0aAc:click!==null&&click!==void 0?click:props.sUExi0aAc};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,sUExi0aAc,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"buMxKSd0C\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap17dnxrx=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(sUExi0aAc){const res=await sUExi0aAc(...args);if(res===false)return false;}});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},nodeId:\"buMxKSd0C\",children:/*#__PURE__*/_jsx(Image,{...restProps,...gestureHandlers,as:\"a\",background:{alt:\"\",fit:\"fill\",intrinsicHeight:689.6,intrinsicWidth:689.6,loading:getLoadingLazyAtYPosition((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0),pixelHeight:862,pixelWidth:862,sizes:(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\",src:\"https://framerusercontent.com/images/LwuGDeHKCheozVup4QyFivT903E.png\",srcSet:\"https://framerusercontent.com/images/LwuGDeHKCheozVup4QyFivT903E.png?scale-down-to=512 512w,https://framerusercontent.com/images/LwuGDeHKCheozVup4QyFivT903E.png 862w\"},className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-dk23cp\",className,classNames)} framer-1vs9iez`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"buMxKSd0C\",onTap:onTap17dnxrx,ref:ref!==null&&ref!==void 0?ref:ref1,style:{borderBottomLeftRadius:77,borderBottomRightRadius:77,borderTopLeftRadius:77,borderTopRightRadius:77,boxShadow:\"none\",...style},variants:{\"buMxKSd0C-hover\":{boxShadow:\"0px 1px 12px 1px var(--token-a89a6898-eea4-45d7-b3c8-77cc5c19c92a, rgb(124, 204, 246))\"}},...addPropertyOverrides({\"buMxKSd0C-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant)})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-8KyrJ.framer-1vs9iez, .framer-8KyrJ .framer-1vs9iez { display: block; }\",\".framer-8KyrJ.framer-dk23cp { cursor: pointer; height: 106px; overflow: visible; position: relative; text-decoration: none; width: 106px; }\",\".framer-8KyrJ.framer-v-dk23cp.hover.framer-dk23cp { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 106px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 106\n * @framerIntrinsicWidth 106\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"PtIX8M5yK\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"sUExi0aAc\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerSGAsA9m7z=withCSS(Component,css,\"framer-8KyrJ\");export default FramerSGAsA9m7z;FramerSGAsA9m7z.displayName=\"Logo Del Valle\";FramerSGAsA9m7z.defaultProps={height:106,width:106};addPropertyControls(FramerSGAsA9m7z,{sUExi0aAc:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerSGAsA9m7z,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerSGAsA9m7z\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PtIX8M5yK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"sUExi0aAc\\\":\\\"click\\\"}\",\"framerIntrinsicWidth\":\"106\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"106\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SGAsA9m7z.map","// Generated by Framer (c563d2c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,ResolveLinks,RichText,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import ClickableText from\"https://framerusercontent.com/modules/BC3PiYIZv8nlZh74dPYu/DTwTHEqLpuvp0BVvTiuS/d_tlpnPSk.js\";import TextIcon2 from\"https://framerusercontent.com/modules/pnjC3TQhiW3WjR8XVb7q/UvFc3W7oyFnQpCbrMhQz/m0kj7aDtw.js\";import LogoDelValle from\"https://framerusercontent.com/modules/qbVVxSFdMo34mRiHbris/j2O7aszfAZjC75zd3sFB/SGAsA9m7z.js\";const LogoDelValleFonts=getFonts(LogoDelValle);const ClickableTextFonts=getFonts(ClickableText);const TextIcon2Fonts=getFonts(TextIcon2);const cycleOrder=[\"C24rOSXg8\",\"fcAkFG1aa\"];const serializationHash=\"framer-HhTx0\";const variantClassNames={C24rOSXg8:\"framer-v-1twkp8q\",fcAkFG1aa:\"framer-v-8rjvd1\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"C24rOSXg8\",\"Variant 2\":\"fcAkFG1aa\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"C24rOSXg8\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"C24rOSXg8\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const router=useRouter();const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1twkp8q\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"C24rOSXg8\",ref:ref??ref1,style:{backgroundColor:\"rgb(255, 255, 255)\",...style},...addPropertyOverrides({fcAkFG1aa:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-oay9vf\",layoutDependency:layoutDependency,layoutId:\"SXP89w4TQ\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:106,width:\"106px\",y:(componentViewport?.y||0)+24+0,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-12jpxzy-container\",layoutDependency:layoutDependency,layoutId:\"galhQUPjr-container\",children:/*#__PURE__*/_jsx(LogoDelValle,{height:\"100%\",id:\"galhQUPjr\",layoutId:\"galhQUPjr\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-55d9y3\",\"data-framer-name\":\"Menu\",layoutDependency:layoutDependency,layoutId:\"YPfL0yCEq\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155)))\"},children:\"Menu\"})}),className:\"framer-1flu2l\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"g0GE6fxTG\",style:{\"--extracted-r6o4lv\":\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,y:(componentViewport?.y||0)+24+0+29.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+143+0+29.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-e0h1fc-container\",layoutDependency:layoutDependency,layoutId:\"x4Tchr_7R-container\",children:/*#__PURE__*/_jsx(ClickableText,{eCO8ZSrDp:resolvedLinks[0],height:\"100%\",id:\"x4Tchr_7R\",layoutId:\"x4Tchr_7R\",pflq6_lSj:\"Home\",width:\"100%\",...addPropertyOverrides({fcAkFG1aa:{eCO8ZSrDp:resolvedLinks[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":ENfl_zebx\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":ENfl_zebx\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,y:(componentViewport?.y||0)+24+0+59.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+143+0+59.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1du64ih-container\",layoutDependency:layoutDependency,layoutId:\"c9eSo2FCd-container\",children:/*#__PURE__*/_jsx(ClickableText,{eCO8ZSrDp:resolvedLinks1[0],height:\"100%\",id:\"c9eSo2FCd\",layoutId:\"c9eSo2FCd\",pflq6_lSj:\"About Us\",width:\"100%\",...addPropertyOverrides({fcAkFG1aa:{eCO8ZSrDp:resolvedLinks1[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":TypDX9Kth\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":TypDX9Kth\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,y:(componentViewport?.y||0)+24+0+89.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+143+0+89.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-17xloik-container\",layoutDependency:layoutDependency,layoutId:\"WHT0QfXuI-container\",children:/*#__PURE__*/_jsx(ClickableText,{eCO8ZSrDp:resolvedLinks2[0],height:\"100%\",id:\"WHT0QfXuI\",layoutId:\"WHT0QfXuI\",pflq6_lSj:\"Services\",width:\"100%\",...addPropertyOverrides({fcAkFG1aa:{eCO8ZSrDp:resolvedLinks2[1]}},baseVariant,gestureVariant)})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-7w1ndv\",\"data-framer-name\":\"Contact\",layoutDependency:layoutDependency,layoutId:\"P6bCuLUbk\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155)))\"},children:\"Contact Info\"})}),className:\"framer-mw2o3q\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"L833BgdaS\",style:{\"--extracted-r6o4lv\":\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+24+0+29.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+289.2+0+29.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-kv5y1e-container\",layoutDependency:layoutDependency,layoutId:\"xVfNwzapb-container\",children:/*#__PURE__*/_jsx(TextIcon2,{B7uo8Qq1d:\"915-996-7255 \",gI5v7RT26:\"WhatsappLogo\",height:\"100%\",id:\"xVfNwzapb\",layoutId:\"xVfNwzapb\",puV8tAH38:\"https://wa.me/19159967255?text=Hi,%20I%20just%20saw%20your%20website%20and%20I’d%20like%20to%20schedule%20a%20free%20evaluation\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+24+0+66.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+289.2+0+66.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-ylph7c-container\",layoutDependency:layoutDependency,layoutId:\"TvvSctgLZ-container\",children:/*#__PURE__*/_jsx(TextIcon2,{B7uo8Qq1d:\"delvalleclinic915@gmail.com\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"TvvSctgLZ\",layoutId:\"TvvSctgLZ\",puV8tAH38:\"mailto:delvalleclinic915@gmail.com\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+24+0+103.2,...addPropertyOverrides({fcAkFG1aa:{y:(componentViewport?.y||0)+24+289.2+0+103.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-3u5io-container\",layoutDependency:layoutDependency,layoutId:\"eRMh9eDeg-container\",children:/*#__PURE__*/_jsx(TextIcon2,{B7uo8Qq1d:\"915-532-3132 \",gI5v7RT26:\"Phone\",height:\"100%\",id:\"eRMh9eDeg\",layoutId:\"eRMh9eDeg\",puV8tAH38:\"tel:+19155323132 \",width:\"100%\"})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-HhTx0.framer-13nhpz4, .framer-HhTx0 .framer-13nhpz4 { display: block; }\",\".framer-HhTx0.framer-1twkp8q { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 24px 54px 24px 54px; position: relative; width: 1200px; }\",\".framer-HhTx0 .framer-oay9vf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-HhTx0 .framer-12jpxzy-container { flex: none; height: 106px; position: relative; width: 106px; }\",\".framer-HhTx0 .framer-55d9y3, .framer-HhTx0 .framer-7w1ndv { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-HhTx0 .framer-1flu2l, .framer-HhTx0 .framer-mw2o3q { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-HhTx0 .framer-e0h1fc-container, .framer-HhTx0 .framer-1du64ih-container, .framer-HhTx0 .framer-17xloik-container, .framer-HhTx0 .framer-kv5y1e-container, .framer-HhTx0 .framer-ylph7c-container, .framer-HhTx0 .framer-3u5io-container { flex: none; height: auto; position: relative; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-HhTx0 .framer-oay9vf, .framer-HhTx0 .framer-55d9y3, .framer-HhTx0 .framer-7w1ndv { gap: 0px; } .framer-HhTx0 .framer-oay9vf > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-HhTx0 .framer-oay9vf > :first-child { margin-left: 0px; } .framer-HhTx0 .framer-oay9vf > :last-child { margin-right: 0px; } .framer-HhTx0 .framer-55d9y3 > *, .framer-HhTx0 .framer-7w1ndv > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-HhTx0 .framer-55d9y3 > :first-child, .framer-HhTx0 .framer-7w1ndv > :first-child { margin-top: 0px; } .framer-HhTx0 .framer-55d9y3 > :last-child, .framer-HhTx0 .framer-7w1ndv > :last-child { margin-bottom: 0px; } }\",\".framer-HhTx0.framer-v-8rjvd1.framer-1twkp8q { flex-direction: column; gap: 37px; justify-content: flex-start; width: 390px; }\",\".framer-HhTx0.framer-v-8rjvd1 .framer-oay9vf { width: 100%; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-HhTx0.framer-v-8rjvd1.framer-1twkp8q { gap: 0px; } .framer-HhTx0.framer-v-8rjvd1.framer-1twkp8q > * { margin: 0px; margin-bottom: calc(37px / 2); margin-top: calc(37px / 2); } .framer-HhTx0.framer-v-8rjvd1.framer-1twkp8q > :first-child { margin-top: 0px; } .framer-HhTx0.framer-v-8rjvd1.framer-1twkp8q > :last-child { margin-bottom: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 179\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"fcAkFG1aa\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerRCoukJH58=withCSS(Component,css,\"framer-HhTx0\");export default FramerRCoukJH58;FramerRCoukJH58.displayName=\"Footer Copy\";FramerRCoukJH58.defaultProps={height:179,width:1200};addPropertyControls(FramerRCoukJH58,{variant:{options:[\"C24rOSXg8\",\"fcAkFG1aa\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerRCoukJH58,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...LogoDelValleFonts,...ClickableTextFonts,...TextIcon2Fonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerRCoukJH58\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"fcAkFG1aa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"179\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RCoukJH58.map","// Generated by Framer (b0164a3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const PhosphorControls=getPropertyControls(Phosphor);const enabledGestures={Abb1fhZDV:{hover:true},JEaP9wH1r:{hover:true},jH30m0h2b:{hover:true},MV263m_zO:{hover:true},rpXlBs5CH:{hover:true},tHgc0H3t1:{hover:true}};const cycleOrder=[\"JEaP9wH1r\",\"rpXlBs5CH\",\"MV263m_zO\",\"Abb1fhZDV\",\"tHgc0H3t1\",\"jH30m0h2b\"];const serializationHash=\"framer-ZqJGM\";const variantClassNames={Abb1fhZDV:\"framer-v-wzwq4y\",JEaP9wH1r:\"framer-v-1vph9mk\",jH30m0h2b:\"framer-v-1sxm157\",MV263m_zO:\"framer-v-t0fehs\",rpXlBs5CH:\"framer-v-1pt5qy6\",tHgc0H3t1:\"framer-v-uq4fa8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Big Primary\":\"JEaP9wH1r\",\"Big Secondary\":\"rpXlBs5CH\",\"Small Black\":\"jH30m0h2b\",\"Small Grey\":\"tHgc0H3t1\",\"Small Primary\":\"MV263m_zO\",\"Small Secondary\":\"Abb1fhZDV\"};const getProps=({click,height,icon,iconVisible,id,link,newTab,texto,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref,_ref1,_ref2;return{...props,aPFNFVlL2:link!==null&&link!==void 0?link:props.aPFNFVlL2,Hfui4mFRg:iconVisible!==null&&iconVisible!==void 0?iconVisible:props.Hfui4mFRg,OJrByjHDF:newTab!==null&&newTab!==void 0?newTab:props.OJrByjHDF,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"JEaP9wH1r\",vMJYamMdW:click!==null&&click!==void 0?click:props.vMJYamMdW,xynObuKeF:(_ref1=texto!==null&&texto!==void 0?texto:props.xynObuKeF)!==null&&_ref1!==void 0?_ref1:\"Button\",yanPKSGjs:(_ref2=icon!==null&&icon!==void 0?icon:props.yanPKSGjs)!==null&&_ref2!==void 0?_ref2:\"House\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Variants=motion.create(React.Fragment);const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,xynObuKeF,aPFNFVlL2,Hfui4mFRg,yanPKSGjs,OJrByjHDF,vMJYamMdW,GCvADRH8P,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"JEaP9wH1r\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1l4sb7u=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(vMJYamMdW){const res=await vMJYamMdW(...args);if(res===false)return false;}});const onTaplb8jcl=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(vMJYamMdW){const res=await vMJYamMdW(...args);if(res===false)return false;}if(GCvADRH8P){const res=await GCvADRH8P(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:aPFNFVlL2,nodeId:\"JEaP9wH1r\",openInNewTab:OJrByjHDF,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1vph9mk\",className,classNames)} framer-729mui`,\"data-framer-name\":\"Big Primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"JEaP9wH1r\",onTap:onTap1l4sb7u,ref:ref!==null&&ref!==void 0?ref:ref1,style:{borderBottomLeftRadius:3,borderBottomRightRadius:3,borderTopLeftRadius:3,borderTopRightRadius:3,...style},...addPropertyOverrides({\"Abb1fhZDV-hover\":{\"data-framer-name\":undefined},\"JEaP9wH1r-hover\":{\"data-framer-name\":undefined},\"jH30m0h2b-hover\":{\"data-framer-name\":undefined},\"MV263m_zO-hover\":{\"data-framer-name\":undefined},\"rpXlBs5CH-hover\":{\"data-framer-name\":undefined},\"tHgc0H3t1-hover\":{\"data-framer-name\":undefined},Abb1fhZDV:{\"data-framer-name\":\"Small Secondary\",onTap:onTaplb8jcl},jH30m0h2b:{\"data-framer-name\":\"Small Black\",onTap:onTaplb8jcl},MV263m_zO:{\"data-framer-name\":\"Small Primary\"},rpXlBs5CH:{\"data-framer-name\":\"Big Secondary\",onTap:onTaplb8jcl},tHgc0H3t1:{\"data-framer-name\":\"Small Grey\",onTap:onTaplb8jcl}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1017x4f\",\"data-framer-name\":\"Hover Background\",layoutDependency:layoutDependency,layoutId:\"xE7x2dBC6\",style:{backgroundColor:\"rgba(6, 128, 194, 0.22)\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,opacity:0},variants:{\"Abb1fhZDV-hover\":{opacity:1},\"JEaP9wH1r-hover\":{opacity:1},\"jH30m0h2b-hover\":{backgroundColor:\"rgba(150, 150, 150, 0.28)\",opacity:1},\"MV263m_zO-hover\":{opacity:1},\"rpXlBs5CH-hover\":{opacity:1},\"tHgc0H3t1-hover\":{backgroundColor:\"rgba(150, 150, 150, 0.28)\",opacity:1}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-wfxw7y\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"hqQAE3RVl\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4},variants:{Abb1fhZDV:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",backgroundColor:\"rgb(255, 255, 255)\"},jH30m0h2b:{backgroundColor:\"rgb(0, 0, 0)\"},rpXlBs5CH:{backgroundColor:\"rgb(255, 255, 255)\"},tHgc0H3t1:{backgroundColor:\"rgb(242, 242, 242)\"}},...addPropertyOverrides({Abb1fhZDV:{\"data-border\":true}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ox17dy\",\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"dkBhQ_kXg\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4},variants:{rpXlBs5CH:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\"}},...addPropertyOverrides({rpXlBs5CH:{\"data-border\":true}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif',\"--framer-font-size\":\"22px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Button\"})}),className:\"framer-kbvszu\",fonts:[\"GF;Inter Tight-regular\"],layoutDependency:layoutDependency,layoutId:\"fCYihWWpq\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:xynObuKeF,variants:{Abb1fhZDV:{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},rpXlBs5CH:{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({Abb1fhZDV:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif',\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"Button\"})})},jH30m0h2b:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif',\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Button\"})})},MV263m_zO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif',\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Button\"})})},rpXlBs5CH:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif',\"--framer-font-size\":\"22px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"Button\"})})},tHgc0H3t1:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXIgVGlnaHQtcmVndWxhcg==\",\"--framer-font-family\":'\"Inter Tight\", \"Inter Tight Placeholder\", sans-serif'},children:\"Button\"})})}},baseVariant,gestureVariant)}),Hfui4mFRg&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-t7j8uf-container\",layoutDependency:layoutDependency,layoutId:\"QCtvAQv95-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 255, 255)\",height:\"100%\",iconSearch:\"House\",iconSelection:yanPKSGjs,id:\"QCtvAQv95\",layoutId:\"QCtvAQv95\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({Abb1fhZDV:{color:\"var(--token-ad01e452-5992-46a6-96a2-acad9cdafbe2, rgb(169, 133, 255))\"},jH30m0h2b:{color:\"var(--token-ad01e452-5992-46a6-96a2-acad9cdafbe2, rgb(169, 133, 255))\"},rpXlBs5CH:{color:\"var(--token-ad01e452-5992-46a6-96a2-acad9cdafbe2, rgb(169, 133, 255))\"},tHgc0H3t1:{color:\"var(--token-ad01e452-5992-46a6-96a2-acad9cdafbe2, rgb(169, 133, 255))\"}},baseVariant,gestureVariant)})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-ZqJGM.framer-729mui, .framer-ZqJGM .framer-729mui { display: block; }\",\".framer-ZqJGM.framer-1vph9mk { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-ZqJGM .framer-1017x4f { bottom: -6px; flex: none; left: -6px; overflow: hidden; position: absolute; right: -6px; top: -6px; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-ZqJGM .framer-wfxw7y { bottom: 0px; flex: none; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-ZqJGM .framer-ox17dy { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 60px; justify-content: center; overflow: visible; padding: 0px 36px 0px 36px; position: relative; width: min-content; z-index: 1; }\",\".framer-ZqJGM .framer-kbvszu { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-ZqJGM .framer-t7j8uf-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 34px); position: relative; width: 34px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-ZqJGM.framer-1vph9mk, .framer-ZqJGM .framer-ox17dy { gap: 0px; } .framer-ZqJGM.framer-1vph9mk > *, .framer-ZqJGM .framer-ox17dy > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-ZqJGM.framer-1vph9mk > :first-child, .framer-ZqJGM .framer-ox17dy > :first-child { margin-left: 0px; } .framer-ZqJGM.framer-1vph9mk > :last-child, .framer-ZqJGM .framer-ox17dy > :last-child { margin-right: 0px; } }\",\".framer-ZqJGM.framer-v-t0fehs .framer-1017x4f, .framer-ZqJGM.framer-v-wzwq4y .framer-1017x4f, .framer-ZqJGM.framer-v-uq4fa8 .framer-1017x4f, .framer-ZqJGM.framer-v-1sxm157 .framer-1017x4f { bottom: 8px; left: 14px; right: 14px; top: 8px; }\",\".framer-ZqJGM.framer-v-t0fehs .framer-wfxw7y, .framer-ZqJGM.framer-v-wzwq4y .framer-wfxw7y, .framer-ZqJGM.framer-v-uq4fa8 .framer-wfxw7y, .framer-ZqJGM.framer-v-1sxm157 .framer-wfxw7y { bottom: 12px; left: 18px; right: 18px; top: 12px; }\",\".framer-ZqJGM.framer-v-t0fehs .framer-t7j8uf-container, .framer-ZqJGM.framer-v-wzwq4y .framer-t7j8uf-container, .framer-ZqJGM.framer-v-uq4fa8 .framer-t7j8uf-container, .framer-ZqJGM.framer-v-1sxm157 .framer-t7j8uf-container { height: var(--framer-aspect-ratio-supported, 22px); width: 22px; }\",'.framer-ZqJGM[data-border=\"true\"]::after, .framer-ZqJGM [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 60\n * @framerIntrinsicWidth 135\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"rpXlBs5CH\":{\"layout\":[\"auto\",\"auto\"]},\"MV263m_zO\":{\"layout\":[\"auto\",\"auto\"]},\"Abb1fhZDV\":{\"layout\":[\"auto\",\"auto\"]},\"tHgc0H3t1\":{\"layout\":[\"auto\",\"auto\"]},\"jH30m0h2b\":{\"layout\":[\"auto\",\"auto\"]},\"WzNCxrRiu\":{\"layout\":[\"auto\",\"auto\"]},\"wG1b5ubQ6\":{\"layout\":[\"auto\",\"auto\"]},\"Ay1723x00\":{\"layout\":[\"auto\",\"auto\"]},\"t88gddwDP\":{\"layout\":[\"auto\",\"auto\"]},\"kOAxt3FPz\":{\"layout\":[\"auto\",\"auto\"]},\"ZACiAwDsA\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"xynObuKeF\":\"texto\",\"aPFNFVlL2\":\"link\",\"Hfui4mFRg\":\"iconVisible\",\"yanPKSGjs\":\"icon\",\"OJrByjHDF\":\"newTab\",\"vMJYamMdW\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framerx0ImmwfJ9=withCSS(Component,css,\"framer-ZqJGM\");export default Framerx0ImmwfJ9;Framerx0ImmwfJ9.displayName=\"Button\";Framerx0ImmwfJ9.defaultProps={height:60,width:135};addPropertyControls(Framerx0ImmwfJ9,{variant:{options:[\"JEaP9wH1r\",\"rpXlBs5CH\",\"MV263m_zO\",\"Abb1fhZDV\",\"tHgc0H3t1\",\"jH30m0h2b\"],optionTitles:[\"Big Primary\",\"Big Secondary\",\"Small Primary\",\"Small Secondary\",\"Small Grey\",\"Small Black\"],title:\"Variant\",type:ControlType.Enum},xynObuKeF:{defaultValue:\"Button\",displayTextArea:false,title:\"Texto\",type:ControlType.String},aPFNFVlL2:{title:\"Link\",type:ControlType.Link},Hfui4mFRg:{defaultValue:false,title:\"Icon Visible\",type:ControlType.Boolean},yanPKSGjs:(PhosphorControls===null||PhosphorControls===void 0?void 0:PhosphorControls[\"iconSelection\"])&&{...PhosphorControls[\"iconSelection\"],defaultValue:\"House\",description:undefined,hidden:undefined,title:\"Icon\"},OJrByjHDF:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},vMJYamMdW:{title:\"Click\",type:ControlType.EventHandler}});addFonts(Framerx0ImmwfJ9,[{explicitInter:true,fonts:[{family:\"Inter Tight\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/intertight/v7/NGSnv5HMAFg6IuGlBNMjxJEL2VmU3NS7Z2mjDw-qWSRToK8EPg.woff2\",weight:\"400\"}]},...PhosphorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerx0ImmwfJ9\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"rpXlBs5CH\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"MV263m_zO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Abb1fhZDV\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"tHgc0H3t1\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jH30m0h2b\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"WzNCxrRiu\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"wG1b5ubQ6\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Ay1723x00\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"t88gddwDP\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"kOAxt3FPz\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ZACiAwDsA\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"xynObuKeF\\\":\\\"texto\\\",\\\"aPFNFVlL2\\\":\\\"link\\\",\\\"Hfui4mFRg\\\":\\\"iconVisible\\\",\\\"yanPKSGjs\\\":\\\"icon\\\",\\\"OJrByjHDF\\\":\\\"newTab\\\",\\\"vMJYamMdW\\\":\\\"click\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"135\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"60\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./x0ImmwfJ9.map","// Generated by Framer (c563d2c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getPropertyControls,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/YWrHBrBMB3Bi7cQielhN/dPNL8Jvm5CuYWiOGtR6c/AdIxj5aBW.js\";const PhosphorFonts=getFonts(Phosphor);const PhosphorControls=getPropertyControls(Phosphor);const enabledGestures={joqc0Y0Wq:{hover:true}};const cycleOrder=[\"joqc0Y0Wq\",\"f9X3IW_uh\",\"LimmVQy9N\"];const serializationHash=\"framer-vHHq2\";const variantClassNames={f9X3IW_uh:\"framer-v-7ij7lx\",joqc0Y0Wq:\"framer-v-18k3sq8\",LimmVQy9N:\"framer-v-139exqf\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Text & Icon\":\"joqc0Y0Wq\",\"Variant 2\":\"f9X3IW_uh\",\"Variant 3\":\"LimmVQy9N\"};const getProps=({click,height,icon,id,link,newTab,showIcon,title,width,...props})=>{return{...props,B7uo8Qq1d:title??props.B7uo8Qq1d??\"Contact Info\",gI5v7RT26:icon??props.gI5v7RT26??\"House\",puV8tAH38:link??props.puV8tAH38,PWiDA2B5Y:click??props.PWiDA2B5Y,uognrVEUI:showIcon??props.uognrVEUI??true,variant:humanReadableVariantMap[props.variant]??props.variant??\"joqc0Y0Wq\",Y3NmC36o0:newTab??props.Y3NmC36o0??true};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,B7uo8Qq1d,gI5v7RT26,uognrVEUI,puV8tAH38,PWiDA2B5Y,Y3NmC36o0,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"joqc0Y0Wq\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1pub8gp=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(PWiDA2B5Y){const res=await PWiDA2B5Y(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:puV8tAH38,nodeId:\"joqc0Y0Wq\",openInNewTab:Y3NmC36o0,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-18k3sq8\",className,classNames)} framer-1xpz5fu`,\"data-framer-name\":\"Text & Icon\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"joqc0Y0Wq\",onTap:onTap1pub8gp,ref:ref??ref1,style:{...style},...addPropertyOverrides({\"joqc0Y0Wq-hover\":{\"data-framer-name\":undefined},f9X3IW_uh:{\"data-framer-name\":\"Variant 2\"},LimmVQy9N:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[uognrVEUI&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-13ledh8-container\",layoutDependency:layoutDependency,layoutId:\"cLtbm5krX-container\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(0, 0, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:gI5v7RT26,id:\"cLtbm5krX\",layoutId:\"cLtbm5krX\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({\"joqc0Y0Wq-hover\":{color:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},f9X3IW_uh:{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(61, 101, 255))\"},LimmVQy9N:{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{children:\"Contact Info\"})}),className:\"framer-fjzkh1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"SsHpNHlR0\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:B7uo8Qq1d,variants:{\"joqc0Y0Wq-hover\":{\"--extracted-r6o4lv\":\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},LimmVQy9N:{\"--extracted-r6o4lv\":\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"joqc0Y0Wq-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195)))\"},children:\"Contact Info\"})})},f9X3IW_uh:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",children:\"Contact Info\"})})},LimmVQy9N:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155)))\"},children:\"Contact Info\"})})}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-vHHq2.framer-1xpz5fu, .framer-vHHq2 .framer-1xpz5fu { display: block; }\",\".framer-vHHq2.framer-18k3sq8 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-vHHq2 .framer-13ledh8-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 27px); position: relative; width: 25px; }\",\".framer-vHHq2 .framer-fjzkh1 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-vHHq2.framer-18k3sq8 { gap: 0px; } .framer-vHHq2.framer-18k3sq8 > * { margin: 0px; margin-left: calc(5px / 2); margin-right: calc(5px / 2); } .framer-vHHq2.framer-18k3sq8 > :first-child { margin-left: 0px; } .framer-vHHq2.framer-18k3sq8 > :last-child { margin-right: 0px; } }\",\".framer-vHHq2.framer-v-7ij7lx.framer-18k3sq8 { width: 187px; }\",\".framer-vHHq2.framer-v-7ij7lx .framer-13ledh8-container { height: var(--framer-aspect-ratio-supported, 52px); width: 50px; }\",\".framer-vHHq2.framer-v-7ij7lx .framer-fjzkh1 { flex: 1 0 0px; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 27\n * @framerIntrinsicWidth 123\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"f9X3IW_uh\":{\"layout\":[\"fixed\",\"auto\"]},\"LimmVQy9N\":{\"layout\":[\"auto\",\"auto\"]},\"tBBkOlliQ\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"B7uo8Qq1d\":\"title\",\"gI5v7RT26\":\"icon\",\"uognrVEUI\":\"showIcon\",\"puV8tAH38\":\"link\",\"PWiDA2B5Y\":\"click\",\"Y3NmC36o0\":\"newTab\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FrameryTViGm17b=withCSS(Component,css,\"framer-vHHq2\");export default FrameryTViGm17b;FrameryTViGm17b.displayName=\"Text & Icon\";FrameryTViGm17b.defaultProps={height:27,width:123};addPropertyControls(FrameryTViGm17b,{variant:{options:[\"joqc0Y0Wq\",\"f9X3IW_uh\",\"LimmVQy9N\"],optionTitles:[\"Text & Icon\",\"Variant 2\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum},B7uo8Qq1d:{defaultValue:\"Contact Info\",displayTextArea:false,title:\"Title\",type:ControlType.String},gI5v7RT26:PhosphorControls?.[\"iconSelection\"]&&{...PhosphorControls[\"iconSelection\"],defaultValue:\"House\",description:undefined,hidden:undefined,title:\"Icon\"},uognrVEUI:{defaultValue:true,title:\"Show Icon\",type:ControlType.Boolean},puV8tAH38:{title:\"Link\",type:ControlType.Link},PWiDA2B5Y:{title:\"Click\",type:ControlType.EventHandler},Y3NmC36o0:{defaultValue:true,title:\"New Tab\",type:ControlType.Boolean}});addFonts(FrameryTViGm17b,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...PhosphorFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameryTViGm17b\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"f9X3IW_uh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"LimmVQy9N\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"tBBkOlliQ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"27\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"123\",\"framerVariables\":\"{\\\"B7uo8Qq1d\\\":\\\"title\\\",\\\"gI5v7RT26\\\":\\\"icon\\\",\\\"uognrVEUI\\\":\\\"showIcon\\\",\\\"puV8tAH38\\\":\\\"link\\\",\\\"PWiDA2B5Y\\\":\\\"click\\\",\\\"Y3NmC36o0\\\":\\\"newTab\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./yTViGm17b.map","// Generated by Framer (f2f96df)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,ResolveLinks,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LogoDelValle from\"https://framerusercontent.com/modules/qbVVxSFdMo34mRiHbris/j2O7aszfAZjC75zd3sFB/SGAsA9m7z.js\";import Button from\"https://framerusercontent.com/modules/KOsN80fjchOQpvovaE3P/bSkR4Ng5ze6xMO5ZmGsp/x0ImmwfJ9.js\";import TextIcon from\"https://framerusercontent.com/modules/cuFjrJS2ngzgatr9J6Ed/Im9a9BNZDK0F44jRqqvn/yTViGm17b.js\";const LogoDelValleFonts=getFonts(LogoDelValle);const TextIconFonts=getFonts(TextIcon);const ButtonFonts=getFonts(Button);const cycleOrder=[\"uB8NptWd5\",\"BYCXL4mgP\",\"m6zDToZ9t\"];const serializationHash=\"framer-4VL37\";const variantClassNames={BYCXL4mgP:\"framer-v-1doxnzb\",m6zDToZ9t:\"framer-v-1593n9h\",uB8NptWd5:\"framer-v-1co165x\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Home - Phone - Open\":\"m6zDToZ9t\",\"Home - Phone\":\"BYCXL4mgP\",Home:\"uB8NptWd5\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"uB8NptWd5\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"uB8NptWd5\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const sUExi0aAc9tp862=activeVariantCallback(async(...args)=>{setVariant(\"BYCXL4mgP\");});const onTapts8a1o=activeVariantCallback(async(...args)=>{setVariant(\"m6zDToZ9t\");});const onTap9tp862=activeVariantCallback(async(...args)=>{setVariant(\"BYCXL4mgP\");});const vMJYamMdW9tp862=activeVariantCallback(async(...args)=>{setVariant(\"BYCXL4mgP\");});const PWiDA2B5Y9tp862=activeVariantCallback(async(...args)=>{setVariant(\"BYCXL4mgP\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"BYCXL4mgP\",\"m6zDToZ9t\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed1=()=>{if([\"BYCXL4mgP\",\"m6zDToZ9t\"].includes(baseVariant))return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"m6zDToZ9t\")return true;return false;};const isDisplayed3=()=>{if(baseVariant===\"m6zDToZ9t\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1co165x\",className,classNames),\"data-framer-name\":\"Home\",layoutDependency:layoutDependency,layoutId:\"uB8NptWd5\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{m6zDToZ9t:{backgroundColor:\"var(--token-2fac4e73-fa75-455d-bfdc-c562778a39db, rgb(255, 255, 255))\"}},...addPropertyOverrides({BYCXL4mgP:{\"data-framer-name\":\"Home - Phone\"},m6zDToZ9t:{\"data-framer-name\":\"Home - Phone - Open\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qher8y\",\"data-framer-name\":\"Full\",layoutDependency:layoutDependency,layoutId:\"JcNn1byK_\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-e543i9\",\"data-framer-name\":\"Top\",layoutDependency:layoutDependency,layoutId:\"iaTrlrRlu\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:106,y:(componentViewport?.y||0)+(8+((componentViewport?.height||122)-16-0)/2)+0+-53,...addPropertyOverrides({BYCXL4mgP:{height:96,width:\"86px\",y:(componentViewport?.y||0)+(8+((componentViewport?.height||102)-16-0)/2)+0+-48},m6zDToZ9t:{height:96,width:\"86px\",y:(componentViewport?.y||0)+(8+((componentViewport?.height||249.5)-16-259.2)/2)+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1oiifw1-container\",layoutDependency:layoutDependency,layoutId:\"mDkh7SvL4-container\",nodeId:\"mDkh7SvL4\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(LogoDelValle,{height:\"100%\",id:\"mDkh7SvL4\",layoutId:\"mDkh7SvL4\",width:\"100%\",...addPropertyOverrides({BYCXL4mgP:{style:{height:\"100%\",width:\"100%\"}},m6zDToZ9t:{style:{height:\"100%\",width:\"100%\"},sUExi0aAc:sUExi0aAc9tp862}},baseVariant,gestureVariant)})})}),isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1jwse2p\",\"data-framer-name\":\"Pages\",layoutDependency:layoutDependency,layoutId:\"QI1X1aRng\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":ENfl_zebx\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+(8+((componentViewport?.height||122)-16-0)/2)+0+-30+16.5,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1o3bn6y-container\",layoutDependency:layoutDependency,layoutId:\"csDTEXR5S-container\",nodeId:\"csDTEXR5S\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"About Us\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"csDTEXR5S\",layoutId:\"csDTEXR5S\",puV8tAH38:resolvedLinks[0],uognrVEUI:false,variant:matchVariant(\"joqc0Y0Wq\"),width:\"100%\",Y3NmC36o0:false})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":TypDX9Kth\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+(8+((componentViewport?.height||122)-16-0)/2)+0+-30+16.5,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ftihw1-container\",layoutDependency:layoutDependency,layoutId:\"Jh0ILvjBp-container\",nodeId:\"Jh0ILvjBp\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"Services\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"Jh0ILvjBp\",layoutId:\"Jh0ILvjBp\",puV8tAH38:resolvedLinks1[0],uognrVEUI:false,variant:matchVariant(\"joqc0Y0Wq\"),width:\"100%\",Y3NmC36o0:false})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+(8+((componentViewport?.height||122)-16-0)/2)+0+-30+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-17ex9wr-container\",layoutDependency:layoutDependency,layoutId:\"U385xRwZr-container\",nodeId:\"U385xRwZr\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",height:\"100%\",Hfui4mFRg:false,id:\"U385xRwZr\",layoutId:\"U385xRwZr\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Book Appointment\",yanPKSGjs:\"House\"})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1rub1v8\",\"data-framer-name\":\"Borgar\",layoutDependency:layoutDependency,layoutId:\"s_t7P_nNN\",style:{borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1},...addPropertyOverrides({BYCXL4mgP:{\"data-highlight\":true,onTap:onTapts8a1o},m6zDToZ9t:{\"data-highlight\":true,onTap:onTap9tp862}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-193x2uy\",layoutDependency:layoutDependency,layoutId:\"ZfsHlMGm7\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1,rotate:0},variants:{BYCXL4mgP:{backgroundColor:\"rgb(0, 0, 0)\"},m6zDToZ9t:{backgroundColor:\"rgb(0, 0, 0)\",rotate:45}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-kbg6vi\",layoutDependency:layoutDependency,layoutId:\"adcAAS2Ma\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1,rotate:0},variants:{BYCXL4mgP:{backgroundColor:\"rgb(0, 0, 0)\"},m6zDToZ9t:{backgroundColor:\"rgb(0, 0, 0)\",rotate:-45}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-rnl2kf\",layoutDependency:layoutDependency,layoutId:\"qgU6hFVqY\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1,opacity:1},variants:{BYCXL4mgP:{backgroundColor:\"rgb(0, 0, 0)\"},m6zDToZ9t:{backgroundColor:\"rgb(0, 0, 0)\",opacity:0}}})]})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-p2hwdl\",\"data-framer-name\":\"Bottom\",layoutDependency:layoutDependency,layoutId:\"VxpVmkNEi\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155)))\"},children:\"Menu\"})}),className:\"framer-kwtbq8\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"wfGdwav43\",style:{\"--extracted-r6o4lv\":\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,...addPropertyOverrides({m6zDToZ9t:{y:(componentViewport?.y||0)+(8+((componentViewport?.height||249.5)-16-259.2)/2)+0+96+0+103.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1us9i7v-container\",layoutDependency:layoutDependency,layoutId:\"tCbAK2dbv-container\",nodeId:\"tCbAK2dbv\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",height:\"100%\",Hfui4mFRg:false,id:\"tCbAK2dbv\",layoutId:\"tCbAK2dbv\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),vMJYamMdW:vMJYamMdW9tp862,width:\"100%\",xynObuKeF:\"Book Appointment\",yanPKSGjs:\"House\"})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":ENfl_zebx\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":ENfl_zebx\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,...addPropertyOverrides({m6zDToZ9t:{y:(componentViewport?.y||0)+(8+((componentViewport?.height||249.5)-16-259.2)/2)+0+96+0+29.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-s44h1y-container\",layoutDependency:layoutDependency,layoutId:\"UesXaemLd-container\",nodeId:\"UesXaemLd\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"About Us\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"UesXaemLd\",layoutId:\"UesXaemLd\",puV8tAH38:resolvedLinks2[0],PWiDA2B5Y:PWiDA2B5Y9tp862,uognrVEUI:false,variant:matchVariant(\"joqc0Y0Wq\"),width:\"100%\",Y3NmC36o0:false,...addPropertyOverrides({m6zDToZ9t:{puV8tAH38:resolvedLinks2[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":TypDX9Kth\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":TypDX9Kth\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,...addPropertyOverrides({m6zDToZ9t:{y:(componentViewport?.y||0)+(8+((componentViewport?.height||249.5)-16-259.2)/2)+0+96+0+66.2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1kufuey-container\",layoutDependency:layoutDependency,layoutId:\"belBLHB80-container\",nodeId:\"belBLHB80\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"Services\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"belBLHB80\",layoutId:\"belBLHB80\",puV8tAH38:resolvedLinks3[0],PWiDA2B5Y:PWiDA2B5Y9tp862,uognrVEUI:false,variant:matchVariant(\"joqc0Y0Wq\"),width:\"100%\",Y3NmC36o0:false,...addPropertyOverrides({m6zDToZ9t:{puV8tAH38:resolvedLinks3[1]}},baseVariant,gestureVariant)})})})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-44ullf-container\",layoutDependency:layoutDependency,layoutId:\"VjxkZwFK4-container\",nodeId:\"VjxkZwFK4\",rendersWithMotion:true,scopeId:\"WwhdXEwpl\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"FAQ\",gI5v7RT26:\"EnvelopeSimple\",height:\"100%\",id:\"VjxkZwFK4\",layoutId:\"VjxkZwFK4\",PWiDA2B5Y:PWiDA2B5Y9tp862,uognrVEUI:false,variant:matchVariant(\"joqc0Y0Wq\"),width:\"100%\",Y3NmC36o0:true})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-4VL37.framer-zm6rt5, .framer-4VL37 .framer-zm6rt5 { display: block; }\",\".framer-4VL37.framer-1co165x { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 8px 10px 8px 10px; position: relative; width: 1200px; }\",\".framer-4VL37 .framer-1qher8y { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1200px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-4VL37 .framer-e543i9 { align-content: center; align-items: center; align-self: stretch; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: auto; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-4VL37 .framer-1oiifw1-container, .framer-4VL37 .framer-1o3bn6y-container, .framer-4VL37 .framer-ftihw1-container, .framer-4VL37 .framer-17ex9wr-container, .framer-4VL37 .framer-1us9i7v-container, .framer-4VL37 .framer-s44h1y-container, .framer-4VL37 .framer-1kufuey-container, .framer-4VL37 .framer-44ullf-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-4VL37 .framer-1jwse2p { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-4VL37 .framer-1rub1v8 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-4VL37 .framer-193x2uy, .framer-4VL37 .framer-kbg6vi, .framer-4VL37 .framer-rnl2kf { flex: none; height: 2px; overflow: visible; position: relative; width: 24px; }\",\".framer-4VL37 .framer-p2hwdl { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-4VL37 .framer-kwtbq8 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-4VL37.framer-v-1doxnzb.framer-1co165x { padding: 8px 20px 8px 10px; width: 390px; }\",\".framer-4VL37.framer-v-1doxnzb .framer-e543i9, .framer-4VL37.framer-v-1593n9h .framer-kwtbq8 { order: 0; }\",\".framer-4VL37.framer-v-1doxnzb .framer-1oiifw1-container, .framer-4VL37.framer-v-1593n9h .framer-1oiifw1-container { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 86px); width: 86px; }\",\".framer-4VL37.framer-v-1doxnzb .framer-1rub1v8, .framer-4VL37.framer-v-1593n9h .framer-1rub1v8 { cursor: pointer; }\",\".framer-4VL37.framer-v-1593n9h.framer-1co165x { padding: 8px 20px 8px 0px; width: 390px; }\",\".framer-4VL37.framer-v-1593n9h .framer-1qher8y { flex-direction: column; }\",\".framer-4VL37.framer-v-1593n9h .framer-e543i9 { align-self: unset; flex: none; height: min-content; order: 0; padding: 0px 0px 0px 10px; width: 100%; }\",\".framer-4VL37.framer-v-1593n9h .framer-193x2uy { left: 0px; position: absolute; right: 0px; top: 0px; width: unset; z-index: 1; }\",\".framer-4VL37.framer-v-1593n9h .framer-kbg6vi { left: 0px; position: absolute; right: 0px; top: calc(50.00000000000002% - 2px / 2); width: unset; z-index: 1; }\",\".framer-4VL37.framer-v-1593n9h .framer-p2hwdl { flex: none; order: 1; width: 100%; }\",\".framer-4VL37.framer-v-1593n9h .framer-1us9i7v-container { order: 4; }\",\".framer-4VL37.framer-v-1593n9h .framer-s44h1y-container { order: 1; }\",\".framer-4VL37.framer-v-1593n9h .framer-1kufuey-container { order: 2; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 122\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"BYCXL4mgP\":{\"layout\":[\"fixed\",\"auto\"]},\"m6zDToZ9t\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerWwhdXEwpl=withCSS(Component,css,\"framer-4VL37\");export default FramerWwhdXEwpl;FramerWwhdXEwpl.displayName=\"NavBar\";FramerWwhdXEwpl.defaultProps={height:122,width:1200};addPropertyControls(FramerWwhdXEwpl,{variant:{options:[\"uB8NptWd5\",\"BYCXL4mgP\",\"m6zDToZ9t\"],optionTitles:[\"Home\",\"Home - Phone\",\"Home - Phone - Open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerWwhdXEwpl,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...LogoDelValleFonts,...TextIconFonts,...ButtonFonts],{supportsExplicitInterCodegen:true});FramerWwhdXEwpl.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(LogoDelValle,{},context),forwardLoader(TextIcon,{},context),forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerWwhdXEwpl\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"122\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BYCXL4mgP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"m6zDToZ9t\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WwhdXEwpl.map","// Generated by Framer (b0164a3)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-800\",\"GF;Plus Jakarta Sans-800italic\",\"GF;Plus Jakarta Sans-700italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNTxXUEKi4Rw.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_VMq2oR82k.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"}]}];export const css=['.framer-PE1PD .framer-styles-preset-1emxck6:not(.rich-text-wrapper), .framer-PE1PD .framer-styles-preset-1emxck6.rich-text-wrapper h2 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 57px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 51.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-PE1PD .framer-styles-preset-1emxck6:not(.rich-text-wrapper), .framer-PE1PD .framer-styles-preset-1emxck6.rich-text-wrapper h2 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 46px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 51.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-PE1PD .framer-styles-preset-1emxck6:not(.rich-text-wrapper), .framer-PE1PD .framer-styles-preset-1emxck6.rich-text-wrapper h2 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 51.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-PE1PD\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b0164a3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"hnO63mMKw\",\"DjW4VBhjs\"];const serializationHash=\"framer-LPhAg\";const variantClassNames={DjW4VBhjs:\"framer-v-phb6s\",hnO63mMKw:\"framer-v-njg0x3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 1\":\"hnO63mMKw\",\"Variant 2\":\"DjW4VBhjs\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"hnO63mMKw\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Variants=motion.create(React.Fragment);const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"hnO63mMKw\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-njg0x3\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"hnO63mMKw\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({DjW4VBhjs:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-snlppn\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"xzBwcL3LU\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 81 81\"><path d=\"M -2.025 85.05 C -2.025 85.05 16.073 76.545 26.831 66.977 C 37.589 57.409 43.953 51.372 50.119 25.515 C 56.285 -0.343 81.91 0 84.544 0 C 87.177 0 84.544 85.05 84.544 85.05 Z\" fill=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-width=\"1.01\" stroke=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-linejoin=\"round\"></path></svg>',svgContentId:12702689729,withExternalLayout:true,...addPropertyOverrides({DjW4VBhjs:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 120 120\"><path d=\"M -3 126 C -3 126 23.812 113.4 39.75 99.225 C 55.687 85.05 65.115 76.107 74.25 37.8 C 83.385 -0.507 121.349 0 125.25 0 C 129.151 0 125.25 126 125.25 126 Z\" fill=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-width=\"1.5\" stroke=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-linejoin=\"round\"></path></svg>',svgContentId:11442842582}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-r5s7sh\",layoutDependency:layoutDependency,layoutId:\"P2OCBzKBO\",style:{backgroundColor:\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242))\"}}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1e7pyzh\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"XF2HCiX6b\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 81 81\"><path d=\"M 90.112 85.05 C 90.112 85.05 72.014 76.545 61.256 66.977 C 50.498 57.409 44.135 51.372 37.969 25.515 C 31.803 -0.343 0.949 0 -1.012 0 C -2.974 0 -2.025 85.05 -2.025 85.05 Z\" fill=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-width=\"1.01\" stroke=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-linejoin=\"round\"></path></svg>',svgContentId:9443675781,withExternalLayout:true,...addPropertyOverrides({DjW4VBhjs:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 120 120\"><path d=\"M 133.5 126 C 133.5 126 106.687 113.4 90.75 99.225 C 74.812 85.05 65.385 76.107 56.25 37.8 C 47.115 -0.507 1.406 0 -1.5 0 C -4.406 0 -3 126 -3 126 Z\" fill=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-width=\"1.5\" stroke=\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242)) /* {&quot;name&quot;:&quot;Background Mid&quot;} */\" stroke-linejoin=\"round\"></path></svg>',svgContentId:11478919105}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-LPhAg.framer-1wt02vo, .framer-LPhAg .framer-1wt02vo { display: block; }\",\".framer-LPhAg.framer-njg0x3 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 782px; }\",\".framer-LPhAg .framer-snlppn, .framer-LPhAg .framer-1e7pyzh { flex: none; height: 81px; position: relative; width: 81px; }\",\".framer-LPhAg .framer-r5s7sh { flex: 1 0 0px; height: 81px; overflow: visible; position: relative; width: 1px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-LPhAg.framer-njg0x3 { gap: 0px; } .framer-LPhAg.framer-njg0x3 > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-LPhAg.framer-njg0x3 > :first-child { margin-left: 0px; } .framer-LPhAg.framer-njg0x3 > :last-child { margin-right: 0px; } }\",\".framer-LPhAg.framer-v-phb6s .framer-snlppn, .framer-LPhAg.framer-v-phb6s .framer-1e7pyzh { height: 120px; width: 120px; }\",\".framer-LPhAg.framer-v-phb6s .framer-r5s7sh { align-self: stretch; height: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 81\n * @framerIntrinsicWidth 782\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"DjW4VBhjs\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramermmuN2wOHK=withCSS(Component,css,\"framer-LPhAg\");export default FramermmuN2wOHK;FramermmuN2wOHK.displayName=\"Tab BG\";FramermmuN2wOHK.defaultProps={height:81,width:782};addPropertyControls(FramermmuN2wOHK,{variant:{options:[\"hnO63mMKw\",\"DjW4VBhjs\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramermmuN2wOHK,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermmuN2wOHK\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"DjW4VBhjs\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"782\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"81\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mmuN2wOHK.map","// Generated by Framer (72b52f5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/YWrHBrBMB3Bi7cQielhN/dPNL8Jvm5CuYWiOGtR6c/AdIxj5aBW.js\";import Button from\"https://framerusercontent.com/modules/KOsN80fjchOQpvovaE3P/bSkR4Ng5ze6xMO5ZmGsp/x0ImmwfJ9.js\";const ButtonFonts=getFonts(Button);const enabledGestures={IEcG6i8FM:{hover:true},rt6setiXH:{hover:true}};const cycleOrder=[\"rt6setiXH\",\"IEcG6i8FM\",\"bX1ZLnri1\",\"gOS8GoZ56\",\"LCxELl1l6\",\"r8tCylV3r\",\"fBVezh9Hj\"];const serializationHash=\"framer-GSgwC\";const variantClassNames={bX1ZLnri1:\"framer-v-rye3v1\",fBVezh9Hj:\"framer-v-u9aq33\",gOS8GoZ56:\"framer-v-mea70\",IEcG6i8FM:\"framer-v-u2wwah\",LCxELl1l6:\"framer-v-qo5usc\",r8tCylV3r:\"framer-v-dqedqj\",rt6setiXH:\"framer-v-m0xjfl\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const m8ztPdzME=undefined;const vPj_7OOb2=undefined;const bQYOjurBf=undefined;const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Invert Filter\":\"IEcG6i8FM\",\"Phone - Pressed\":\"fBVezh9Hj\",\"Phone Invert - Pressed\":\"r8tCylV3r\",\"Phone Invert Filter\":\"gOS8GoZ56\",\"Variant 1\":\"rt6setiXH\",Insurance:\"bX1ZLnri1\",Phone:\"LCxELl1l6\"};const Variants=motion.create(React.Fragment);const getProps=({background,height,icon,id,serviceName,width,...props})=>{return{...props,bQYOjurBf:serviceName??props.bQYOjurBf??\"Chiropractic Care\",m8ztPdzME:background??props.m8ztPdzME??{alt:\"\",pixelHeight:3936,pixelWidth:2624,src:\"https://framerusercontent.com/images/bGxi1S899PLhdXWeyiGAkZwH0.jpg?width=2624&height=3936\",srcSet:\"https://framerusercontent.com/images/bGxi1S899PLhdXWeyiGAkZwH0.jpg?scale-down-to=1024&width=2624&height=3936 682w,https://framerusercontent.com/images/bGxi1S899PLhdXWeyiGAkZwH0.jpg?scale-down-to=2048&width=2624&height=3936 1365w,https://framerusercontent.com/images/bGxi1S899PLhdXWeyiGAkZwH0.jpg?width=2624&height=3936 2624w\"},variant:humanReadableVariantMap[props.variant]??props.variant??\"rt6setiXH\",vPj_7OOb2:icon??props.vPj_7OOb2??{alt:\"\",pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Bc6FpckIKkpQPmbTY4zRlYLWU.png?width=512&height=512\"}};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,bQYOjurBf,vPj_7OOb2,m8ztPdzME,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"rt6setiXH\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapb5t5qk=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"r8tCylV3r\");});const onTapp07699=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"fBVezh9Hj\");});const onTap1ncudfa=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"gOS8GoZ56\");});const onTap1mz4bua=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"LCxELl1l6\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"bX1ZLnri1\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(Image1,{...restProps,...gestureHandlers,background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:3936,pixelWidth:2624,sizes:componentViewport?.width||\"100vw\",...toResponsiveImage(m8ztPdzME)},className:cx(scopingClassNames,\"framer-m0xjfl\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"rt6setiXH\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20,...style},variants:{\"IEcG6i8FM-hover\":{backgroundColor:\"rgba(0, 0, 0, 0)\"},\"rt6setiXH-hover\":{backgroundColor:\"rgba(0, 0, 0, 0)\"},bX1ZLnri1:{backgroundColor:\"var(--token-e4fc2f49-5b39-414a-91e1-849a057a5a7b, rgb(5, 130, 195))\"},fBVezh9Hj:{backgroundColor:\"rgba(0, 0, 0, 0)\"},gOS8GoZ56:{backgroundColor:\"rgba(0, 0, 0, 0)\"},LCxELl1l6:{backgroundColor:\"rgba(0, 0, 0, 0)\"},r8tCylV3r:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({\"IEcG6i8FM-hover\":{\"data-framer-name\":undefined},\"rt6setiXH-hover\":{\"data-framer-name\":undefined},bX1ZLnri1:{\"data-framer-name\":\"Insurance\",background:undefined},fBVezh9Hj:{\"data-framer-name\":\"Phone - Pressed\",\"data-highlight\":true,onTap:onTap1mz4bua},gOS8GoZ56:{\"data-framer-name\":\"Phone Invert Filter\",\"data-highlight\":true,onTap:onTapb5t5qk},IEcG6i8FM:{\"data-framer-name\":\"Invert Filter\"},LCxELl1l6:{\"data-framer-name\":\"Phone\",\"data-highlight\":true,onTap:onTapp07699},r8tCylV3r:{\"data-framer-name\":\"Phone Invert - Pressed\",\"data-highlight\":true,onTap:onTap1ncudfa}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-198n35u\",layoutDependency:layoutDependency,layoutId:\"tQTyxZGot\",style:{backgroundColor:\"rgba(105, 104, 104, 0.66)\"},variants:{bX1ZLnri1:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},children:[isDisplayed()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:409.6,intrinsicWidth:409.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+6+(((componentViewport?.height||212)-0-12-437)/2+0+0)),pixelHeight:512,pixelWidth:512,sizes:\"115px\",...toResponsiveImage(vPj_7OOb2)},className:\"framer-odxzs5\",\"data-framer-name\":\"Chiropractic (1)\",layoutDependency:layoutDependency,layoutId:\"tpOykZ8Xf\",style:{filter:\"none\",opacity:1,WebkitFilter:\"none\"},variants:{\"IEcG6i8FM-hover\":{opacity:0},\"rt6setiXH-hover\":{filter:\"none\",opacity:0,WebkitFilter:\"none\"},fBVezh9Hj:{filter:\"none\",opacity:0,WebkitFilter:\"none\"},gOS8GoZ56:{filter:\"invert(1)\",WebkitFilter:\"invert(1)\"},IEcG6i8FM:{filter:\"invert(1)\",WebkitFilter:\"invert(1)\"},LCxELl1l6:{filter:\"none\",WebkitFilter:\"none\"},r8tCylV3r:{filter:\"invert(1)\",opacity:0,WebkitFilter:\"invert(1)\"}}}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1eung3n, rgb(255, 255, 255))\"},children:\"Chiropractic Care\"})}),className:\"framer-l950x7\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"XtO0TbVMo\",style:{\"--extracted-1eung3n\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:bQYOjurBf,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({bX1ZLnri1:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h4,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.96px\",\"--framer-line-height\":\"26px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1eung3n, rgb(255, 255, 255))\",\"--framer-text-transform\":\"uppercase\"},children:\"We accept BCBS insurance and cover car accidents or personal injuries.\"})}),fonts:[\"GF;Plus Jakarta Sans-700\"],text:undefined}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+(0+((componentViewport?.height||212)-0-60)/2),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-a43yds-container\",layoutDependency:layoutDependency,layoutId:\"xbvAcsdJ1-container\",nodeId:\"xbvAcsdJ1\",rendersWithMotion:true,scopeId:\"zWZR5OjKN\",style:{opacity:0},variants:{\"IEcG6i8FM-hover\":{opacity:1},\"rt6setiXH-hover\":{opacity:1},fBVezh9Hj:{opacity:1},r8tCylV3r:{opacity:1}},children:/*#__PURE__*/_jsx(Button,{height:\"100%\",Hfui4mFRg:false,id:\"xbvAcsdJ1\",layoutId:\"xbvAcsdJ1\",OJrByjHDF:false,variant:matchVariant(\"MV263m_zO\"),width:\"100%\",xynObuKeF:\"Set an Appointment\",yanPKSGjs:\"House\",...addPropertyOverrides({\"IEcG6i8FM-hover\":{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",OJrByjHDF:true},\"rt6setiXH-hover\":{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",OJrByjHDF:true},fBVezh9Hj:{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",OJrByjHDF:true},r8tCylV3r:{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",OJrByjHDF:true}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-GSgwC.framer-1053udh, .framer-GSgwC .framer-1053udh { display: block; }\",\".framer-GSgwC.framer-m0xjfl { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 212px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 251px; will-change: var(--framer-will-change-override, transform); }\",\".framer-GSgwC .framer-198n35u { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; justify-content: center; left: 0px; overflow: visible; padding: 6px; position: absolute; right: 0px; top: 0px; z-index: 1; }\",\".framer-GSgwC .framer-odxzs5 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 115px); overflow: visible; position: relative; width: 115px; }\",\".framer-GSgwC .framer-l950x7 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-GSgwC .framer-a43yds-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-GSgwC.framer-v-rye3v1.framer-m0xjfl { cursor: unset; }\",\".framer-GSgwC.framer-v-dqedqj .framer-a43yds-container, .framer-GSgwC.framer-v-u9aq33 .framer-a43yds-container, .framer-GSgwC.framer-v-u2wwah.hover .framer-a43yds-container { z-index: 1; }\",\".framer-GSgwC.framer-v-m0xjfl.hover .framer-198n35u { order: 0; }\",\".framer-GSgwC.framer-v-m0xjfl.hover .framer-a43yds-container { order: 1; z-index: 1; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 212\n * @framerIntrinsicWidth 251\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"IEcG6i8FM\":{\"layout\":[\"fixed\",\"fixed\"]},\"bX1ZLnri1\":{\"layout\":[\"fixed\",\"fixed\"]},\"gOS8GoZ56\":{\"layout\":[\"fixed\",\"fixed\"]},\"LCxELl1l6\":{\"layout\":[\"fixed\",\"fixed\"]},\"r8tCylV3r\":{\"layout\":[\"fixed\",\"fixed\"]},\"fBVezh9Hj\":{\"layout\":[\"fixed\",\"fixed\"]},\"KRkU6aaK_\":{\"layout\":[\"fixed\",\"fixed\"]},\"GZcrEcBTU\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"bQYOjurBf\":\"serviceName\",\"vPj_7OOb2\":\"icon\",\"m8ztPdzME\":\"background\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerzWZR5OjKN=withCSS(Component,css,\"framer-GSgwC\");export default FramerzWZR5OjKN;FramerzWZR5OjKN.displayName=\"Service\";FramerzWZR5OjKN.defaultProps={height:212,width:251};addPropertyControls(FramerzWZR5OjKN,{variant:{options:[\"rt6setiXH\",\"IEcG6i8FM\",\"bX1ZLnri1\",\"gOS8GoZ56\",\"LCxELl1l6\",\"r8tCylV3r\",\"fBVezh9Hj\"],optionTitles:[\"Variant 1\",\"Invert Filter\",\"Insurance\",\"Phone Invert Filter\",\"Phone\",\"Phone Invert - Pressed\",\"Phone - Pressed\"],title:\"Variant\",type:ControlType.Enum},bQYOjurBf:{defaultValue:\"Chiropractic Care\",displayTextArea:false,title:\"Service Name\",type:ControlType.String},onbQYOjurBfChange:{changes:\"bQYOjurBf\",type:ControlType.ChangeHandler},vPj_7OOb2:{__defaultAssetReference:\"data:framer/asset-reference,Bc6FpckIKkpQPmbTY4zRlYLWU.png?originalFilename=chiropractic+%281%29.png&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,Bc6FpckIKkpQPmbTY4zRlYLWU.png?originalFilename=chiropractic+%281%29.png&preferredSize=auto\"},title:\"Icon\",type:ControlType.ResponsiveImage},m8ztPdzME:{__defaultAssetReference:\"data:framer/asset-reference,bGxi1S899PLhdXWeyiGAkZwH0.jpg?originalFilename=photo-1519823551278-64ac92734fb1%3Fcrop%3Dentropy%26cs%3Dsrgb%26fm%3Djpg%26ixid%3DM3wxMzc5NjJ8MHwxfHNlYXJjaHwzfHx0aGVyYXB5fGVufDB8fHx8MTczNTMzNjIwMHww%26ixlib%3Drb-4.0.jpg&preferredSize=auto\",__vekterDefault:{alt:\"\",assetReference:\"data:framer/asset-reference,bGxi1S899PLhdXWeyiGAkZwH0.jpg?originalFilename=photo-1519823551278-64ac92734fb1%3Fcrop%3Dentropy%26cs%3Dsrgb%26fm%3Djpg%26ixid%3DM3wxMzc5NjJ8MHwxfHNlYXJjaHwzfHx0aGVyYXB5fGVufDB8fHx8MTczNTMzNjIwMHww%26ixlib%3Drb-4.0.jpg&preferredSize=auto\"},title:\"Background\",type:ControlType.ResponsiveImage}});addFonts(FramerzWZR5OjKN,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Plus Jakarta Sans\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"}]},...ButtonFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerzWZR5OjKN.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerzWZR5OjKN\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"251\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"IEcG6i8FM\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"bX1ZLnri1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"gOS8GoZ56\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"LCxELl1l6\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"r8tCylV3r\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"fBVezh9Hj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"KRkU6aaK_\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"GZcrEcBTU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"212\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerVariables\":\"{\\\"bQYOjurBf\\\":\\\"serviceName\\\",\\\"vPj_7OOb2\\\":\\\"icon\\\",\\\"m8ztPdzME\\\":\\\"background\\\"}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./zWZR5OjKN.map","// Generated by Framer (72b52f5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/E6gI8kaq6AE0kVju45lz/yqQ5TZvShzafDPg4L9hQ/lKyRRK8Ny.js\";import TabBG from\"https://framerusercontent.com/modules/Hufk8aDpeHffEPd3UaKJ/RIZV2XYceJC3DmQCS2oZ/mmuN2wOHK.js\";import Button from\"https://framerusercontent.com/modules/KOsN80fjchOQpvovaE3P/bSkR4Ng5ze6xMO5ZmGsp/x0ImmwfJ9.js\";import Service from\"https://framerusercontent.com/modules/UfOimV8n8taKLMRcgCdK/V3fMdNRc5sxCpgVSXlid/zWZR5OjKN.js\";const TabBGFonts=getFonts(TabBG);const PhosphorFonts=getFonts(Phosphor);const SmartComponentScopedContainerWithFX=withFX(SmartComponentScopedContainer);const ButtonFonts=getFonts(Button);const ServiceFonts=getFonts(Service);const cycleOrder=[\"TMioBgaGu\",\"EF1_BUFq4\",\"eH2JwC8wx\",\"BsyjLwL6x\",\"LjtrX1AVr\",\"BBvu8Dr1q\",\"LerZUl1OZ\",\"QKbU6s1AH\"];const serializationHash=\"framer-9PXyv\";const variantClassNames={BBvu8Dr1q:\"framer-v-1fmq7ot\",BsyjLwL6x:\"framer-v-17p1cy9\",EF1_BUFq4:\"framer-v-mwzzoj\",eH2JwC8wx:\"framer-v-1fo124h\",LerZUl1OZ:\"framer-v-1ceotri\",LjtrX1AVr:\"framer-v-1uhqdw0\",QKbU6s1AH:\"framer-v-17xxb69\",TMioBgaGu:\"framer-v-11b6qto\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={delay:0,duration:1,ease:[0,0,1,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-25,y:21};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Desktop - Aesthetic\":\"EF1_BUFq4\",\"Desktop - Chiropractic\":\"TMioBgaGu\",\"Phone - Aes - Open\":\"QKbU6s1AH\",\"Phone - Aesthetic\":\"LerZUl1OZ\",\"Phone - Chiro - Open\":\"BBvu8Dr1q\",\"Phone - Chiropractic\":\"LjtrX1AVr\",\"Tablet - Aesthetic\":\"BsyjLwL6x\",\"Tablet - Chiropractic\":\"eH2JwC8wx\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"TMioBgaGu\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"TMioBgaGu\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap11sj4qz=activeVariantCallback(async(...args)=>{setVariant(\"TMioBgaGu\");});const onTap1mz6qjl=activeVariantCallback(async(...args)=>{setVariant(\"eH2JwC8wx\");});const onTap1763qiw=activeVariantCallback(async(...args)=>{setVariant(\"EF1_BUFq4\");});const onTap3uhku6=activeVariantCallback(async(...args)=>{setVariant(\"BsyjLwL6x\");});const vMJYamMdW1v3qo6l=activeVariantCallback(async(...args)=>{setVariant(\"BBvu8Dr1q\");});const vMJYamMdWhdsf0f=activeVariantCallback(async(...args)=>{setVariant(\"LjtrX1AVr\");});const vMJYamMdW8rec1l=activeVariantCallback(async(...args)=>{setVariant(\"QKbU6s1AH\");});const vMJYamMdWfro51p=activeVariantCallback(async(...args)=>{setVariant(\"LerZUl1OZ\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"LjtrX1AVr\",\"BBvu8Dr1q\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if([\"EF1_BUFq4\",\"BsyjLwL6x\"].includes(baseVariant))return true;return false;};const isDisplayed2=()=>{if([\"EF1_BUFq4\",\"BsyjLwL6x\"].includes(baseVariant))return false;return true;};const isDisplayed3=()=>{if([\"LjtrX1AVr\",\"BBvu8Dr1q\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return true;return false;};const isDisplayed4=()=>{if([\"BsyjLwL6x\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return false;return true;};const isDisplayed5=()=>{if([\"BsyjLwL6x\",\"LjtrX1AVr\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return false;return true;};const isDisplayed6=()=>{if(baseVariant===\"EF1_BUFq4\")return true;return false;};const isDisplayed7=()=>{if([\"EF1_BUFq4\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return true;return false;};const isDisplayed8=()=>{if([\"BsyjLwL6x\",\"LjtrX1AVr\",\"QKbU6s1AH\"].includes(baseVariant))return false;return true;};const isDisplayed9=()=>{if([\"BsyjLwL6x\",\"LerZUl1OZ\",\"QKbU6s1AH\"].includes(baseVariant))return true;return false;};const isDisplayed10=()=>{if([\"BsyjLwL6x\",\"QKbU6s1AH\"].includes(baseVariant))return true;return false;};const isDisplayed11=()=>{if(baseVariant===\"BsyjLwL6x\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-11b6qto\",className,classNames),\"data-framer-name\":\"Desktop - Chiropractic\",layoutDependency:layoutDependency,layoutId:\"TMioBgaGu\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0,...style},variants:{BBvu8Dr1q:{backgroundColor:\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242))\",borderBottomLeftRadius:30,borderBottomRightRadius:30,borderTopLeftRadius:30,borderTopRightRadius:30},LerZUl1OZ:{backgroundColor:\"var(--token-f375c213-a9e1-40c1-b8b5-6ff362b9f7c2, rgb(243, 248, 255))\",borderBottomLeftRadius:30,borderBottomRightRadius:30,borderTopLeftRadius:30,borderTopRightRadius:30},LjtrX1AVr:{backgroundColor:\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242))\",borderBottomLeftRadius:30,borderBottomRightRadius:30,borderTopLeftRadius:30,borderTopRightRadius:30},QKbU6s1AH:{backgroundColor:\"var(--token-f375c213-a9e1-40c1-b8b5-6ff362b9f7c2, rgb(243, 248, 255))\",borderBottomLeftRadius:30,borderBottomRightRadius:30,borderTopLeftRadius:30,borderTopRightRadius:30}},...addPropertyOverrides({BBvu8Dr1q:{\"data-framer-name\":\"Phone - Chiro - Open\"},BsyjLwL6x:{\"data-framer-name\":\"Tablet - Aesthetic\"},EF1_BUFq4:{\"data-framer-name\":\"Desktop - Aesthetic\"},eH2JwC8wx:{\"data-framer-name\":\"Tablet - Chiropractic\"},LerZUl1OZ:{\"data-framer-name\":\"Phone - Aesthetic\"},LjtrX1AVr:{\"data-framer-name\":\"Phone - Chiropractic\"},QKbU6s1AH:{\"data-framer-name\":\"Phone - Aes - Open\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-tdrdwt\",\"data-framer-name\":\"Title\",layoutDependency:layoutDependency,layoutId:\"P3nRXjSe2\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:81,width:\"782px\",...addPropertyOverrides({BsyjLwL6x:{width:\"422px\"},EF1_BUFq4:{width:\"682px\"},eH2JwC8wx:{width:\"482px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-2nghjr-container\",layoutDependency:layoutDependency,layoutId:\"mltZgyJH1-container\",nodeId:\"mltZgyJH1\",rendersWithMotion:true,scopeId:\"xsmfKv741\",transformTemplate:transformTemplate1,...addPropertyOverrides({BsyjLwL6x:{transformTemplate:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(TabBG,{height:\"100%\",id:\"mltZgyJH1\",layoutId:\"mltZgyJH1\",style:{width:\"100%\"},variant:matchVariant(\"hnO63mMKw\"),width:\"100%\",...addPropertyOverrides({BsyjLwL6x:{variant:matchVariant(\"DjW4VBhjs\")},eH2JwC8wx:{variant:matchVariant(\"DjW4VBhjs\")}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1pwc1u3\",\"data-framer-name\":\"Services 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"jffLKTqS0\",onTap:onTap11sj4qz,...addPropertyOverrides({BsyjLwL6x:{onTap:onTap1mz6qjl},eH2JwC8wx:{onTap:onTap1mz6qjl}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-94n5fe\",\"data-framer-name\":\"Button 2\",layoutDependency:layoutDependency,layoutId:\"uNuFn6Oq6\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0)))\"},children:\"Chiropractic Services\"})}),className:\"framer-yprrwg\",\"data-framer-name\":\"Services 1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"e5zcO6715\",style:{\"--extracted-1of0zx5\":\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{BsyjLwL6x:{\"--extracted-1qn201a\":\"rgb(156, 156, 156)\"},EF1_BUFq4:{\"--extracted-1of0zx5\":\"rgb(156, 156, 156)\"},eH2JwC8wx:{\"--extracted-1qn201a\":\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\",\"--extracted-g1tnir\":\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({BsyjLwL6x:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",children:/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1qn201a, rgb(156, 156, 156))\"},children:\"Chiropractic\"})})})},EF1_BUFq4:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(156, 156, 156))\"},children:\"Chiropractic\"})})},eH2JwC8wx:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1qn201a, var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0)))\"},children:\"Chiropractic\"}),/*#__PURE__*/_jsx(motion.br,{}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-g1tnir, var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0)))\"},children:\"Services\"})]})})}},baseVariant,gestureVariant)})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFX,{__framer__loop:animation,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"mirror\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-10gy0kr-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"Mx6fQIEMg-container\",nodeId:\"Mx6fQIEMg\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(64, 64, 64)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"HandTap\",id:\"Mx6fQIEMg\",layoutId:\"Mx6fQIEMg\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-5gjmw5\",\"data-framer-name\":\"Services 2\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"clRJHblNr\",onTap:onTap1763qiw,...addPropertyOverrides({BsyjLwL6x:{onTap:onTap3uhku6},eH2JwC8wx:{onTap:onTap3uhku6}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-12sryxy\",\"data-framer-name\":\"Button 2\",layoutDependency:layoutDependency,layoutId:\"agyAAxQw4\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(156, 156, 156))\"},children:\"Aesthetic\"})}),className:\"framer-1hnpatt\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"cdu_UoGAP\",style:{\"--extracted-1of0zx5\":\"rgb(156, 156, 156)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{BsyjLwL6x:{\"--extracted-1of0zx5\":\"rgb(0, 0, 0)\"},EF1_BUFq4:{\"--extracted-1of0zx5\":\"var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({BsyjLwL6x:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(0, 0, 0))\"},children:[\"Aesthetic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})})},EF1_BUFq4:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1emxck6\",\"data-styles-preset\":\"lKyRRK8Ny\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-de9cdcb8-7ea7-4da0-9594-e9ecc5417419, rgb(0, 0, 0)))\"},children:\"Aesthetic Services\"})})}},baseVariant,gestureVariant)})}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFX,{__framer__loop:animation,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"mirror\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1np1pmq-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"cqGMOzAtm-container\",nodeId:\"cqGMOzAtm\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(64, 64, 64)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"HandTap\",id:\"cqGMOzAtm\",layoutId:\"cqGMOzAtm\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})})]})]}),isDisplayed3()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-dl9qg6\",\"data-framer-name\":\"Phone Title\",layoutDependency:layoutDependency,layoutId:\"bklpberVz\",children:isDisplayed3()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"51.6px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(19, 24, 47))\"},children:[\"Chiropractic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})}),className:\"framer-fl4ou3\",fonts:[\"GF;Plus Jakarta Sans-700\"],layoutDependency:layoutDependency,layoutId:\"zV5xIyJYN\",style:{\"--extracted-1of0zx5\":\"rgb(19, 24, 47)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({BBvu8Dr1q:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"51.6px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(19, 24, 47))\"},children:[\"Chiropractic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})})},LerZUl1OZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"51.6px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(19, 24, 47))\"},children:[\"Aesthetic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})})},LjtrX1AVr:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"51.6px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(19, 24, 47))\"},children:[\"Chiropractic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})})},QKbU6s1AH:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.h2,{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtNzAw\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"36px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"0.03em\",\"--framer-line-height\":\"51.6px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(19, 24, 47))\"},children:[\"Aesthetic\",/*#__PURE__*/_jsx(motion.br,{}),\"Services\"]})})}},baseVariant,gestureVariant)})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BBvu8Dr1q:{height:60},LerZUl1OZ:{height:60},LjtrX1AVr:{height:60},QKbU6s1AH:{height:60}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1pqlpce-container\",layoutDependency:layoutDependency,layoutId:\"xQ1AkF_06-container\",nodeId:\"xQ1AkF_06\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",Hfui4mFRg:false,id:\"xQ1AkF_06\",layoutId:\"xQ1AkF_06\",OJrByjHDF:false,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Load More\",yanPKSGjs:\"House\",...addPropertyOverrides({BBvu8Dr1q:{vMJYamMdW:vMJYamMdWhdsf0f,xynObuKeF:\"Show Less\"},LerZUl1OZ:{vMJYamMdW:vMJYamMdW8rec1l},LjtrX1AVr:{vMJYamMdW:vMJYamMdW1v3qo6l},QKbU6s1AH:{vMJYamMdW:vMJYamMdWfro51p,xynObuKeF:\"Show Less\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-yhclv3\",\"data-framer-name\":\"A Service Stack\",layoutDependency:layoutDependency,layoutId:\"In2gU8Yyr\",style:{backgroundColor:\"var(--token-d4a2f0ab-f031-4d9c-af15-80291cec463b, rgb(223, 236, 242))\",borderBottomLeftRadius:20,borderBottomRightRadius:20,borderTopLeftRadius:20,borderTopRightRadius:20},variants:{BBvu8Dr1q:{backgroundColor:\"rgba(0, 0, 0, 0)\"},LerZUl1OZ:{backgroundColor:\"rgba(0, 0, 0, 0)\"},LjtrX1AVr:{backgroundColor:\"rgba(0, 0, 0, 0)\"},QKbU6s1AH:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},children:[isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-54uu85-container\",layoutDependency:layoutDependency,layoutId:\"C54bKxrOD-container\",nodeId:\"C54bKxrOD\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Chiropractic Care\",height:\"100%\",id:\"C54bKxrOD\",layoutId:\"C54bKxrOD\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"rt6setiXH\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"LCxELl1l6\")},EF1_BUFq4:{bQYOjurBf:\"Neurotoxin\",m8ztPdzME:addImageAlt({pixelHeight:709,pixelWidth:1260,positionX:\"38.6%\",positionY:\"46.9%\",src:\"https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?width=1260&height=709\",srcSet:\"https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?scale-down-to=512&width=1260&height=709 512w,https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?scale-down-to=1024&width=1260&height=709 1024w,https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?width=1260&height=709 1260w\"},\"\"),variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/wz78s09Cg1lSKXVZzLlY4aJoIM.png?width=512&height=512\"},\"\")},LjtrX1AVr:{variant:matchVariant(\"LCxELl1l6\")}},baseVariant,gestureVariant)})})}),isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-19axnd7-container\",layoutDependency:layoutDependency,layoutId:\"LZJmhi5W5-container\",nodeId:\"LZJmhi5W5\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Spinal Alignments\",height:\"100%\",id:\"LZJmhi5W5\",layoutId:\"LZJmhi5W5\",m8ztPdzME:addImageAlt({pixelHeight:6e3,pixelWidth:4e3,positionX:\"44.7%\",positionY:\"66.2%\",src:\"https://framerusercontent.com/images/6t8lUHMkal8cTwiwZdImYJrvqk.jpg?width=4000&height=6000\",srcSet:\"https://framerusercontent.com/images/6t8lUHMkal8cTwiwZdImYJrvqk.jpg?scale-down-to=1024&width=4000&height=6000 682w,https://framerusercontent.com/images/6t8lUHMkal8cTwiwZdImYJrvqk.jpg?scale-down-to=2048&width=4000&height=6000 1365w,https://framerusercontent.com/images/6t8lUHMkal8cTwiwZdImYJrvqk.jpg?scale-down-to=4096&width=4000&height=6000 2730w,https://framerusercontent.com/images/6t8lUHMkal8cTwiwZdImYJrvqk.jpg?width=4000&height=6000 4000w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/v8cmPDVs3TUZU4yI87GCzP1nW64.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Lip Filler\",m8ztPdzME:addImageAlt({pixelHeight:5184,pixelWidth:3456,positionX:\"18.3%\",positionY:\"14.5%\",src:\"https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?width=3456&height=5184\",srcSet:\"https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=1024&width=3456&height=5184 682w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=2048&width=3456&height=5184 1365w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=4096&width=3456&height=5184 2730w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?width=3456&height=5184 3456w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/vTvtSOW8htO3j9kgNkBZ7GKcVg.png?width=512&height=512\"},\"\")},LjtrX1AVr:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed5()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1wufnkn-container\",layoutDependency:layoutDependency,layoutId:\"LWbZwoWjN-container\",nodeId:\"LWbZwoWjN\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Alphabiotics Alignments\",height:\"100%\",id:\"LWbZwoWjN\",layoutId:\"LWbZwoWjN\",m8ztPdzME:addImageAlt({pixelHeight:3955,pixelWidth:5932,positionX:\"49.5%\",positionY:\"69.1%\",src:\"https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?width=5932&height=3955\",srcSet:\"https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?scale-down-to=512&width=5932&height=3955 512w,https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?scale-down-to=1024&width=5932&height=3955 1024w,https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?scale-down-to=2048&width=5932&height=3955 2048w,https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?scale-down-to=4096&width=5932&height=3955 4096w,https://framerusercontent.com/images/OUzrIZbYsCkXRoPmrgnnH3T5UE.jpg?width=5932&height=3955 5932w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/rxiScrWeOHF40FJVgrCSniylu4.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Cheek Filler\",m8ztPdzME:addImageAlt({pixelHeight:6e3,pixelWidth:4e3,src:\"https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?width=4000&height=6000\",srcSet:\"https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=1024&width=4000&height=6000 682w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=2048&width=4000&height=6000 1365w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=4096&width=4000&height=6000 2730w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?width=4000&height=6000 4000w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/7ZLwGfjmZd8nP1OpNBVTUQTOj4.png?width=512&height=512\"},\"\")}},baseVariant,gestureVariant)})})}),isDisplayed5()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1onq0w4-container\",layoutDependency:layoutDependency,layoutId:\"zIX63ixu8-container\",nodeId:\"zIX63ixu8\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Cupping Therapy\",height:\"100%\",id:\"zIX63ixu8\",layoutId:\"zIX63ixu8\",m8ztPdzME:addImageAlt({pixelHeight:3300,pixelWidth:5100,src:\"https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?width=5100&height=3300\",srcSet:\"https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?scale-down-to=512&width=5100&height=3300 512w,https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?scale-down-to=1024&width=5100&height=3300 1024w,https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?scale-down-to=2048&width=5100&height=3300 2048w,https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?scale-down-to=4096&width=5100&height=3300 4096w,https://framerusercontent.com/images/70kRM8IQYqVz04ksnUzwZ6G4mfY.jpg?width=5100&height=3300 5100w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/KbcAJg2hupX1X6r7DeJi6Rkais.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Chin Filler\",m8ztPdzME:addImageAlt({pixelHeight:3872,pixelWidth:2524,positionX:\"20.8%\",positionY:\"50.7%\",src:\"https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?width=2524&height=3872\",srcSet:\"https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?scale-down-to=1024&width=2524&height=3872 667w,https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?scale-down-to=2048&width=2524&height=3872 1335w,https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?width=2524&height=3872 2524w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Au5rHZ3xgThiDrY9QhAKsvYE1S4.png?width=512&height=512\"},\"\")}},baseVariant,gestureVariant)})})}),isDisplayed5()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1uqwkcp-container\",layoutDependency:layoutDependency,layoutId:\"SGebiFkAx-container\",nodeId:\"SGebiFkAx\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Physical Therapy\",height:\"100%\",id:\"SGebiFkAx\",layoutId:\"SGebiFkAx\",m8ztPdzME:addImageAlt({pixelHeight:2694,pixelWidth:3352,src:\"https://framerusercontent.com/images/KzMRdIUt73b1fOZ2UlGwz6IolIk.jpg?width=3352&height=2694\",srcSet:\"https://framerusercontent.com/images/KzMRdIUt73b1fOZ2UlGwz6IolIk.jpg?scale-down-to=512&width=3352&height=2694 512w,https://framerusercontent.com/images/KzMRdIUt73b1fOZ2UlGwz6IolIk.jpg?scale-down-to=1024&width=3352&height=2694 1024w,https://framerusercontent.com/images/KzMRdIUt73b1fOZ2UlGwz6IolIk.jpg?scale-down-to=2048&width=3352&height=2694 2048w,https://framerusercontent.com/images/KzMRdIUt73b1fOZ2UlGwz6IolIk.jpg?width=3352&height=2694 3352w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/zg9dImb8MaudCCS9GUIwV1JnD4.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Facials\",m8ztPdzME:addImageAlt({pixelHeight:4032,pixelWidth:6048,src:\"https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?width=6048&height=4032\",srcSet:\"https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=512&width=6048&height=4032 512w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=1024&width=6048&height=4032 1024w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=2048&width=6048&height=4032 2048w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=4096&width=6048&height=4032 4096w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?width=6048&height=4032 6048w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/HGALtJMWIXSVkUBwU9Xmfwasg60.png?width=512&height=512\"},\"\")}},baseVariant,gestureVariant)})})}),isDisplayed6()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({EF1_BUFq4:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-vpuj7s-container\",layoutDependency:layoutDependency,layoutId:\"cf6v0Nddg-container\",nodeId:\"cf6v0Nddg\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Hydra Facial\",height:\"100%\",id:\"cf6v0Nddg\",layoutId:\"cf6v0Nddg\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,positionX:\"72.6%\",positionY:\"26.7%\",src:\"https://framerusercontent.com/images/E8L8QcMzmACRvhh2TTq3Ymva4RQ.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/E8L8QcMzmACRvhh2TTq3Ymva4RQ.png?width=500&height=750 500w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/w939vKo2r84yUBaSLxaromdp8c.png?width=512&height=512\"},\"\"),width:\"100%\"})})}),isDisplayed7()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({EF1_BUFq4:{height:241,width:\"282px\"},LerZUl1OZ:{height:241,width:\"282px\"},QKbU6s1AH:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-hh1phx-container\",layoutDependency:layoutDependency,layoutId:\"mVFLTVQJ2-container\",nodeId:\"mVFLTVQJ2\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"PRP Facial Treatment\",height:\"100%\",id:\"mVFLTVQJ2\",layoutId:\"mVFLTVQJ2\",m8ztPdzME:addImageAlt({pixelHeight:6e3,pixelWidth:4e3,src:\"https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?width=4000&height=6000\",srcSet:\"https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=1024&width=4000&height=6000 682w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=2048&width=4000&height=6000 1365w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=4096&width=4000&height=6000 2730w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?width=4000&height=6000 4000w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/OyT8Az3DyTuZiv3MnI1lkhJNKA.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")},QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed7()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({EF1_BUFq4:{height:241,width:\"282px\"},LerZUl1OZ:{height:241,width:\"282px\"},QKbU6s1AH:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1j5dz19-container\",layoutDependency:layoutDependency,layoutId:\"yujqeL4OI-container\",nodeId:\"yujqeL4OI\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Hollywood Peel\",height:\"100%\",id:\"yujqeL4OI\",layoutId:\"yujqeL4OI\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:1125,src:\"https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?width=1125&height=750\",srcSet:\"https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?scale-down-to=512&width=1125&height=750 512w,https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?scale-down-to=1024&width=1125&height=750 1024w,https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?width=1125&height=750 1125w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Llx2ews4T2RerDhUTkpTPM8MIAI.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")},QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-10gyvfq-container\",layoutDependency:layoutDependency,layoutId:\"hbTRotAQ3-container\",nodeId:\"hbTRotAQ3\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Rehab Medicine & Therapy\",height:\"100%\",id:\"hbTRotAQ3\",layoutId:\"hbTRotAQ3\",m8ztPdzME:addImageAlt({pixelHeight:3648,pixelWidth:5472,src:\"https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?width=5472&height=3648\",srcSet:\"https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?scale-down-to=512&width=5472&height=3648 512w,https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?scale-down-to=1024&width=5472&height=3648 1024w,https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?scale-down-to=2048&width=5472&height=3648 2048w,https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?scale-down-to=4096&width=5472&height=3648 4096w,https://framerusercontent.com/images/7km7zrHV319gampJfAddC12m5o.jpg?width=5472&height=3648 5472w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/0BJxBtDLtKWy967DsjnWjye3AU.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Skin Whitening\",m8ztPdzME:addImageAlt({pixelHeight:3088,pixelWidth:2320,src:\"https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?width=2320&height=3088\",srcSet:\"https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?scale-down-to=1024&width=2320&height=3088 769w,https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?scale-down-to=2048&width=2320&height=3088 1538w,https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?width=2320&height=3088 2320w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/6ue1UYGFw9XLXIPLDfBiUeaYY.png?width=512&height=512\"},\"\")},LjtrX1AVr:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed8()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hufm5r-container\",layoutDependency:layoutDependency,layoutId:\"I0XRvQK7i-container\",nodeId:\"I0XRvQK7i\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Manual Therapy\",height:\"100%\",id:\"I0XRvQK7i\",layoutId:\"I0XRvQK7i\",m8ztPdzME:addImageAlt({pixelHeight:1999,pixelWidth:3e3,src:\"https://framerusercontent.com/images/BO9EjeNp0sRuHtyGfUPQXV5jDbM.jpg?width=3000&height=1999\",srcSet:\"https://framerusercontent.com/images/BO9EjeNp0sRuHtyGfUPQXV5jDbM.jpg?scale-down-to=512&width=3000&height=1999 512w,https://framerusercontent.com/images/BO9EjeNp0sRuHtyGfUPQXV5jDbM.jpg?scale-down-to=1024&width=3000&height=1999 1024w,https://framerusercontent.com/images/BO9EjeNp0sRuHtyGfUPQXV5jDbM.jpg?scale-down-to=2048&width=3000&height=1999 2048w,https://framerusercontent.com/images/BO9EjeNp0sRuHtyGfUPQXV5jDbM.jpg?width=3000&height=1999 3000w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/65Gjo8D173vf7GP6ScAEJpHdDU.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Skin tag removal\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,src:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750 500w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/ShHowczzUF7NHCPtLFDFmhcOFTM.png?width=512&height=512\"},\"\")},LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed8()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-121uue0-container\",layoutDependency:layoutDependency,layoutId:\"PnJpZVcrg-container\",nodeId:\"PnJpZVcrg\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Dry Needling\",height:\"100%\",id:\"PnJpZVcrg\",layoutId:\"PnJpZVcrg\",m8ztPdzME:addImageAlt({pixelHeight:4240,pixelWidth:2384,src:\"https://framerusercontent.com/images/vlk9xHSB4vWkCz4elNfV4msQ0A.jpeg?width=2384&height=4240\",srcSet:\"https://framerusercontent.com/images/vlk9xHSB4vWkCz4elNfV4msQ0A.jpeg?scale-down-to=1024&width=2384&height=4240 575w,https://framerusercontent.com/images/vlk9xHSB4vWkCz4elNfV4msQ0A.jpeg?scale-down-to=2048&width=2384&height=4240 1151w,https://framerusercontent.com/images/vlk9xHSB4vWkCz4elNfV4msQ0A.jpeg?scale-down-to=4096&width=2384&height=4240 2303w,https://framerusercontent.com/images/vlk9xHSB4vWkCz4elNfV4msQ0A.jpeg?width=2384&height=4240 2384w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/bLymoFksaubMXK8Z1IOmSSUtiQ.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Skin tag removal\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,src:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750 500w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/ShHowczzUF7NHCPtLFDFmhcOFTM.png?width=512&height=512\"},\"\")},LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed8()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hylspz-container\",layoutDependency:layoutDependency,layoutId:\"v2rEV0Rv2-container\",nodeId:\"v2rEV0Rv2\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Acupuncture\",height:\"100%\",id:\"v2rEV0Rv2\",layoutId:\"v2rEV0Rv2\",m8ztPdzME:addImageAlt({pixelHeight:6381,pixelWidth:4254,src:\"https://framerusercontent.com/images/qt1tTfGPBdgAA0YYQKOhMZau3c.jpeg?width=4254&height=6381\",srcSet:\"https://framerusercontent.com/images/qt1tTfGPBdgAA0YYQKOhMZau3c.jpeg?scale-down-to=1024&width=4254&height=6381 682w,https://framerusercontent.com/images/qt1tTfGPBdgAA0YYQKOhMZau3c.jpeg?scale-down-to=2048&width=4254&height=6381 1365w,https://framerusercontent.com/images/qt1tTfGPBdgAA0YYQKOhMZau3c.jpeg?scale-down-to=4096&width=4254&height=6381 2730w,https://framerusercontent.com/images/qt1tTfGPBdgAA0YYQKOhMZau3c.jpeg?width=4254&height=6381 4254w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/BAsg640Y6I2XGJnAVkx6Px52v0.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({BBvu8Dr1q:{variant:matchVariant(\"gOS8GoZ56\")},EF1_BUFq4:{bQYOjurBf:\"Skin tag removal\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,src:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750 500w\"},\"\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/ShHowczzUF7NHCPtLFDFmhcOFTM.png?width=512&height=512\"},\"\")},LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:239,width:\"282px\",children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-l53gci-container\",layoutDependency:layoutDependency,layoutId:\"tVZ38fV27-container\",nodeId:\"tVZ38fV27\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"We accept BCBS insurance and cover car accidents or personal injuries.\",height:\"100%\",id:\"tVZ38fV27\",layoutId:\"tVZ38fV27\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"bX1ZLnri1\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/v8cmPDVs3TUZU4yI87GCzP1nW64.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({EF1_BUFq4:{bQYOjurBf:\"Lymphatic drainage massage\",m8ztPdzME:addImageAlt({pixelHeight:5472,pixelWidth:3648,src:\"https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?width=3648&height=5472\",srcSet:\"https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=1024&width=3648&height=5472 682w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=2048&width=3648&height=5472 1365w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=4096&width=3648&height=5472 2730w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?width=3648&height=5472 3648w\"},\"\"),variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/GLiWQO1bKFGsxLiENftiBzxWk.png?width=512&height=512\"},\"\")}},baseVariant,gestureVariant)})})}),isDisplayed6()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({EF1_BUFq4:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-nhoheo-container\",layoutDependency:layoutDependency,layoutId:\"Sb48dtHfy-container\",nodeId:\"Sb48dtHfy\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\" Carboxytherapy\",height:\"100%\",id:\"Sb48dtHfy\",layoutId:\"Sb48dtHfy\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:1125,src:\"https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?width=1125&height=750\",srcSet:\"https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?scale-down-to=512&width=1125&height=750 512w,https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?scale-down-to=1024&width=1125&height=750 1024w,https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?width=1125&height=750 1125w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Dexy9334aIXIV0Z1ATDq1oBOlF4.png?width=512&height=512\"},\"\"),width:\"100%\"})})}),isDisplayed9()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},LerZUl1OZ:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-jt53tv-container\",layoutDependency:layoutDependency,layoutId:\"tbMBlbSGZ-container\",nodeId:\"tbMBlbSGZ\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Lip Filler\",height:\"100%\",id:\"tbMBlbSGZ\",layoutId:\"tbMBlbSGZ\",m8ztPdzME:addImageAlt({pixelHeight:5184,pixelWidth:3456,positionX:\"18.3%\",positionY:\"14.5%\",src:\"https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?width=3456&height=5184\",srcSet:\"https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=1024&width=3456&height=5184 682w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=2048&width=3456&height=5184 1365w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?scale-down-to=4096&width=3456&height=5184 2730w,https://framerusercontent.com/images/ffeGDruOGbuBCBinKRzfBBS0AC8.jpg?width=3456&height=5184 3456w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/vTvtSOW8htO3j9kgNkBZ7GKcVg.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({LerZUl1OZ:{variant:matchVariant(\"gOS8GoZ56\")},QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hgsq56-container\",layoutDependency:layoutDependency,layoutId:\"b_VNCf06_-container\",nodeId:\"b_VNCf06_\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Cheek Filler\",height:\"100%\",id:\"b_VNCf06_\",layoutId:\"b_VNCf06_\",m8ztPdzME:addImageAlt({pixelHeight:6e3,pixelWidth:4e3,src:\"https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?width=4000&height=6000\",srcSet:\"https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=1024&width=4000&height=6000 682w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=2048&width=4000&height=6000 1365w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?scale-down-to=4096&width=4000&height=6000 2730w,https://framerusercontent.com/images/dOXROHKlycOnbn8lmjcAsLs.jpg?width=4000&height=6000 4000w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/7ZLwGfjmZd8nP1OpNBVTUQTOj4.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-4i5rqs-container\",layoutDependency:layoutDependency,layoutId:\"rU_PS7rn2-container\",nodeId:\"rU_PS7rn2\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Chin Filler\",height:\"100%\",id:\"rU_PS7rn2\",layoutId:\"rU_PS7rn2\",m8ztPdzME:addImageAlt({pixelHeight:3872,pixelWidth:2524,positionX:\"20.8%\",positionY:\"50.7%\",src:\"https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?width=2524&height=3872\",srcSet:\"https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?scale-down-to=1024&width=2524&height=3872 667w,https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?scale-down-to=2048&width=2524&height=3872 1335w,https://framerusercontent.com/images/cZbgO17L1ZCN4AdFc78b5M0coo.jpg?width=2524&height=3872 2524w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Au5rHZ3xgThiDrY9QhAKsvYE1S4.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-84ve49-container\",layoutDependency:layoutDependency,layoutId:\"OM8bmkod3-container\",nodeId:\"OM8bmkod3\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Facials\",height:\"100%\",id:\"OM8bmkod3\",layoutId:\"OM8bmkod3\",m8ztPdzME:addImageAlt({pixelHeight:4032,pixelWidth:6048,src:\"https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?width=6048&height=4032\",srcSet:\"https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=512&width=6048&height=4032 512w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=1024&width=6048&height=4032 1024w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=2048&width=6048&height=4032 2048w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?scale-down-to=4096&width=6048&height=4032 4096w,https://framerusercontent.com/images/PdIYbNOwMr8iP1sIeSvk1w5MMX4.jpg?width=6048&height=4032 6048w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/HGALtJMWIXSVkUBwU9Xmfwasg60.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:241,width:\"282px\"},QKbU6s1AH:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1llvcbl-container\",layoutDependency:layoutDependency,layoutId:\"DveNKOV0i-container\",nodeId:\"DveNKOV0i\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Hydra Facial\",height:\"100%\",id:\"DveNKOV0i\",layoutId:\"DveNKOV0i\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,positionX:\"72.6%\",positionY:\"26.7%\",src:\"https://framerusercontent.com/images/E8L8QcMzmACRvhh2TTq3Ymva4RQ.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/E8L8QcMzmACRvhh2TTq3Ymva4RQ.png?width=500&height=750 500w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/w939vKo2r84yUBaSLxaromdp8c.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed11()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-mz4cvj-container\",layoutDependency:layoutDependency,layoutId:\"iHtJUry4T-container\",nodeId:\"iHtJUry4T\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"PRP Facial Treatment\",height:\"100%\",id:\"iHtJUry4T\",layoutId:\"iHtJUry4T\",m8ztPdzME:addImageAlt({pixelHeight:6e3,pixelWidth:4e3,src:\"https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?width=4000&height=6000\",srcSet:\"https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=1024&width=4000&height=6000 682w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=2048&width=4000&height=6000 1365w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?scale-down-to=4096&width=4000&height=6000 2730w,https://framerusercontent.com/images/WgRLCankj2wFv5ncPIfhZcF3qwc.jpg?width=4000&height=6000 4000w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/OyT8Az3DyTuZiv3MnI1lkhJNKA.png?width=512&height=512\"},\"\"),width:\"100%\"})})}),isDisplayed11()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-viqmw-container\",layoutDependency:layoutDependency,layoutId:\"FgZE__Ion-container\",nodeId:\"FgZE__Ion\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Hollywood Peel\",height:\"100%\",id:\"FgZE__Ion\",layoutId:\"FgZE__Ion\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:1125,src:\"https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?width=1125&height=750\",srcSet:\"https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?scale-down-to=512&width=1125&height=750 512w,https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?scale-down-to=1024&width=1125&height=750 1024w,https://framerusercontent.com/images/4dqQ9CCVNMPyVxd3fUWy3Qcl0DI.png?width=1125&height=750 1125w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Llx2ews4T2RerDhUTkpTPM8MIAI.png?width=512&height=512\"},\"\"),width:\"100%\"})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-gt449t-container\",layoutDependency:layoutDependency,layoutId:\"fAOrQAz5X-container\",nodeId:\"fAOrQAz5X\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Skin Whitening\",height:\"100%\",id:\"fAOrQAz5X\",layoutId:\"fAOrQAz5X\",m8ztPdzME:addImageAlt({pixelHeight:3088,pixelWidth:2320,src:\"https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?width=2320&height=3088\",srcSet:\"https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?scale-down-to=1024&width=2320&height=3088 769w,https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?scale-down-to=2048&width=2320&height=3088 1538w,https://framerusercontent.com/images/0LwaQ9A7JXYKDTecoRklSMDZ8s.jpg?width=2320&height=3088 2320w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/6ue1UYGFw9XLXIPLDfBiUeaYY.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1e045r3-container\",layoutDependency:layoutDependency,layoutId:\"mJTi285Iv-container\",nodeId:\"mJTi285Iv\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Skin tag removal\",height:\"100%\",id:\"mJTi285Iv\",layoutId:\"mJTi285Iv\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:500,src:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750\",srcSet:\"https://framerusercontent.com/images/889zhkZ1C4oKzXClIdPzxe3PM.png?width=500&height=750 500w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/ShHowczzUF7NHCPtLFDFmhcOFTM.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1rewfj9-container\",layoutDependency:layoutDependency,layoutId:\"bV19vo13_-container\",nodeId:\"bV19vo13_\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Lymphatic drainage massage\",height:\"100%\",id:\"bV19vo13_\",layoutId:\"bV19vo13_\",m8ztPdzME:addImageAlt({pixelHeight:5472,pixelWidth:3648,src:\"https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?width=3648&height=5472\",srcSet:\"https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=1024&width=3648&height=5472 682w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=2048&width=3648&height=5472 1365w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?scale-down-to=4096&width=3648&height=5472 2730w,https://framerusercontent.com/images/C0EIp2iQ6hhdbNjHaXxraBQt0.jpg?width=3648&height=5472 3648w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/GLiWQO1bKFGsxLiENftiBzxWk.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:241,width:\"282px\"},QKbU6s1AH:{height:241,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ey2pan-container\",layoutDependency:layoutDependency,layoutId:\"GutJZiXzq-container\",nodeId:\"GutJZiXzq\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\" Carboxytherapy\",height:\"100%\",id:\"GutJZiXzq\",layoutId:\"GutJZiXzq\",m8ztPdzME:addImageAlt({pixelHeight:750,pixelWidth:1125,src:\"https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?width=1125&height=750\",srcSet:\"https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?scale-down-to=512&width=1125&height=750 512w,https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?scale-down-to=1024&width=1125&height=750 1024w,https://framerusercontent.com/images/w0R7tHHMO6LeDPEHvFn32piky8.png?width=1125&height=750 1125w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/Dexy9334aIXIV0Z1ATDq1oBOlF4.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})}),isDisplayed10()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({BsyjLwL6x:{height:239,width:\"282px\"},QKbU6s1AH:{height:239,width:\"282px\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1e9fno-container\",layoutDependency:layoutDependency,layoutId:\"OKddeNJ5Y-container\",nodeId:\"OKddeNJ5Y\",rendersWithMotion:true,scopeId:\"xsmfKv741\",children:/*#__PURE__*/_jsx(Service,{bQYOjurBf:\"Neurotoxin\",height:\"100%\",id:\"OKddeNJ5Y\",layoutId:\"OKddeNJ5Y\",m8ztPdzME:addImageAlt({pixelHeight:709,pixelWidth:1260,positionX:\"38.6%\",positionY:\"46.9%\",src:\"https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?width=1260&height=709\",srcSet:\"https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?scale-down-to=512&width=1260&height=709 512w,https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?scale-down-to=1024&width=1260&height=709 1024w,https://framerusercontent.com/images/IHanzLwFFHiPi5wm89qACfeIeNU.png?width=1260&height=709 1260w\"},\"\"),style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"IEcG6i8FM\"),vPj_7OOb2:addImageAlt({pixelHeight:512,pixelWidth:512,src:\"https://framerusercontent.com/images/wz78s09Cg1lSKXVZzLlY4aJoIM.png?width=512&height=512\"},\"\"),width:\"100%\",...addPropertyOverrides({QKbU6s1AH:{variant:matchVariant(\"gOS8GoZ56\")}},baseVariant,gestureVariant)})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-9PXyv.framer-ndfqwd, .framer-9PXyv .framer-ndfqwd { display: block; }\",\".framer-9PXyv.framer-11b6qto { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 12px 0px 24px 0px; position: relative; width: 1200px; }\",\".framer-9PXyv .framer-tdrdwt { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 61px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 0px 75px; position: relative; width: 100%; }\",\".framer-9PXyv .framer-2nghjr-container { flex: none; height: auto; left: 11px; position: absolute; top: 49%; width: 782px; z-index: 0; }\",\".framer-9PXyv .framer-1pwc1u3, .framer-9PXyv .framer-5gjmw5 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-9PXyv .framer-94n5fe, .framer-9PXyv .framer-12sryxy { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 8px; position: relative; width: min-content; }\",\".framer-9PXyv .framer-yprrwg, .framer-9PXyv .framer-1hnpatt, .framer-9PXyv .framer-fl4ou3 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-9PXyv .framer-10gy0kr-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 52px); position: relative; width: 52px; z-index: 1; }\",\".framer-9PXyv .framer-1np1pmq-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 55px); position: relative; width: 52px; z-index: 1; }\",\".framer-9PXyv .framer-dl9qg6 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; min-height: 201px; overflow: visible; padding: 0px 0px 0px 10px; position: relative; width: 100%; }\",\".framer-9PXyv .framer-1pqlpce-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-9PXyv .framer-yhclv3 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 36px 12px 24px 12px; position: relative; width: 100%; }\",\".framer-9PXyv .framer-54uu85-container, .framer-9PXyv .framer-19axnd7-container, .framer-9PXyv .framer-1wufnkn-container, .framer-9PXyv .framer-1onq0w4-container, .framer-9PXyv .framer-1uqwkcp-container, .framer-9PXyv .framer-10gyvfq-container, .framer-9PXyv .framer-1hufm5r-container, .framer-9PXyv .framer-121uue0-container, .framer-9PXyv .framer-1hylspz-container, .framer-9PXyv .framer-l53gci-container { aspect-ratio: 1.1839622641509433 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 238px); position: relative; width: 282px; }\",\".framer-9PXyv .framer-vpuj7s-container, .framer-9PXyv .framer-hh1phx-container, .framer-9PXyv .framer-1j5dz19-container, .framer-9PXyv .framer-nhoheo-container, .framer-9PXyv .framer-1llvcbl-container, .framer-9PXyv .framer-mz4cvj-container, .framer-9PXyv .framer-viqmw-container, .framer-9PXyv .framer-1ey2pan-container { aspect-ratio: 1.1825726141078838 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 241px); position: relative; width: 282px; }\",\".framer-9PXyv .framer-jt53tv-container, .framer-9PXyv .framer-1hgsq56-container, .framer-9PXyv .framer-4i5rqs-container, .framer-9PXyv .framer-84ve49-container, .framer-9PXyv .framer-gt449t-container, .framer-9PXyv .framer-1e045r3-container, .framer-9PXyv .framer-1rewfj9-container, .framer-9PXyv .framer-1e9fno-container { aspect-ratio: 1.1839622641509433 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 239px); position: relative; width: 282px; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-2nghjr-container { left: unset; right: 8px; width: 682px; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-10gy0kr-container, .framer-9PXyv.framer-v-17p1cy9 .framer-10gy0kr-container { height: var(--framer-aspect-ratio-supported, 55px); }\",\".framer-9PXyv.framer-v-mwzzoj .framer-54uu85-container, .framer-9PXyv.framer-v-1ceotri .framer-1hylspz-container { order: 13; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-19axnd7-container, .framer-9PXyv.framer-v-1uhqdw0 .framer-fl4ou3, .framer-9PXyv.framer-v-1uhqdw0 .framer-54uu85-container, .framer-9PXyv.framer-v-1fmq7ot .framer-fl4ou3, .framer-9PXyv.framer-v-1fmq7ot .framer-54uu85-container, .framer-9PXyv.framer-v-1ceotri .framer-fl4ou3, .framer-9PXyv.framer-v-17xxb69 .framer-fl4ou3 { order: 0; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1wufnkn-container { order: 1; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1onq0w4-container, .framer-9PXyv.framer-v-1uhqdw0 .framer-yhclv3, .framer-9PXyv.framer-v-1uhqdw0 .framer-19axnd7-container, .framer-9PXyv.framer-v-1fmq7ot .framer-yhclv3, .framer-9PXyv.framer-v-1fmq7ot .framer-19axnd7-container, .framer-9PXyv.framer-v-1ceotri .framer-yhclv3, .framer-9PXyv.framer-v-17xxb69 .framer-yhclv3 { order: 2; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1uqwkcp-container, .framer-9PXyv.framer-v-1uhqdw0 .framer-1pqlpce-container, .framer-9PXyv.framer-v-1uhqdw0 .framer-l53gci-container, .framer-9PXyv.framer-v-1fmq7ot .framer-1pqlpce-container, .framer-9PXyv.framer-v-1fmq7ot .framer-1wufnkn-container, .framer-9PXyv.framer-v-1ceotri .framer-1pqlpce-container, .framer-9PXyv.framer-v-17xxb69 .framer-1pqlpce-container { order: 3; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-vpuj7s-container { height: var(--framer-aspect-ratio-supported, 238px); order: 4; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-hh1phx-container { height: var(--framer-aspect-ratio-supported, 238px); order: 5; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1j5dz19-container { height: var(--framer-aspect-ratio-supported, 238px); order: 6; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-10gyvfq-container { order: 7; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1hufm5r-container, .framer-9PXyv.framer-v-1fmq7ot .framer-1hylspz-container { order: 8; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-121uue0-container, .framer-9PXyv.framer-v-1fmq7ot .framer-l53gci-container { order: 9; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-1hylspz-container { order: 10; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-l53gci-container, .framer-9PXyv.framer-v-1ceotri .framer-1hufm5r-container { order: 11; }\",\".framer-9PXyv.framer-v-mwzzoj .framer-nhoheo-container, .framer-9PXyv.framer-v-1ceotri .framer-121uue0-container { height: var(--framer-aspect-ratio-supported, 239px); order: 12; }\",\".framer-9PXyv.framer-v-1fo124h.framer-11b6qto, .framer-9PXyv.framer-v-17p1cy9.framer-11b6qto { width: 810px; }\",\".framer-9PXyv.framer-v-1fo124h .framer-tdrdwt { padding: 0px 0px 0px 93px; }\",\".framer-9PXyv.framer-v-1fo124h .framer-2nghjr-container { top: 50%; width: 482px; }\",\".framer-9PXyv.framer-v-1fo124h .framer-1wufnkn-container, .framer-9PXyv.framer-v-1fo124h .framer-1onq0w4-container { height: var(--framer-aspect-ratio-supported, 239px); }\",\".framer-9PXyv.framer-v-17p1cy9 .framer-tdrdwt { padding: 0px 0px 0px 3px; }\",\".framer-9PXyv.framer-v-17p1cy9 .framer-2nghjr-container { left: 346px; top: 2px; width: 422px; }\",\".framer-9PXyv.framer-v-17p1cy9 .framer-jt53tv-container, .framer-9PXyv.framer-v-17p1cy9 .framer-1hgsq56-container, .framer-9PXyv.framer-v-17p1cy9 .framer-1llvcbl-container, .framer-9PXyv.framer-v-17p1cy9 .framer-mz4cvj-container, .framer-9PXyv.framer-v-17p1cy9 .framer-viqmw-container, .framer-9PXyv.framer-v-17p1cy9 .framer-gt449t-container, .framer-9PXyv.framer-v-17p1cy9 .framer-1ey2pan-container, .framer-9PXyv.framer-v-17p1cy9 .framer-1e9fno-container { height: var(--framer-aspect-ratio-supported, 238px); }\",\".framer-9PXyv.framer-v-1uhqdw0.framer-11b6qto, .framer-9PXyv.framer-v-1ceotri.framer-11b6qto, .framer-9PXyv.framer-v-17xxb69.framer-11b6qto { justify-content: center; width: 390px; will-change: var(--framer-will-change-override, transform); }\",\".framer-9PXyv.framer-v-1uhqdw0 .framer-dl9qg6, .framer-9PXyv.framer-v-1fmq7ot .framer-dl9qg6, .framer-9PXyv.framer-v-1ceotri .framer-dl9qg6, .framer-9PXyv.framer-v-17xxb69 .framer-dl9qg6 { flex-direction: row; justify-content: center; min-height: unset; order: 1; }\",\".framer-9PXyv.framer-v-1uhqdw0 .framer-10gyvfq-container, .framer-9PXyv.framer-v-1fmq7ot .framer-10gyvfq-container { height: var(--framer-aspect-ratio-supported, 239px); order: 1; }\",\".framer-9PXyv.framer-v-1fmq7ot.framer-11b6qto { width: 390px; will-change: var(--framer-will-change-override, transform); }\",\".framer-9PXyv.framer-v-1fmq7ot .framer-1onq0w4-container { order: 4; }\",\".framer-9PXyv.framer-v-1fmq7ot .framer-1uqwkcp-container { order: 5; }\",\".framer-9PXyv.framer-v-1fmq7ot .framer-1hufm5r-container { order: 6; }\",\".framer-9PXyv.framer-v-1fmq7ot .framer-121uue0-container { height: var(--framer-aspect-ratio-supported, 239px); order: 7; }\",\".framer-9PXyv.framer-v-1ceotri .framer-hh1phx-container { height: var(--framer-aspect-ratio-supported, 239px); order: 9; }\",\".framer-9PXyv.framer-v-1ceotri .framer-1j5dz19-container { height: var(--framer-aspect-ratio-supported, 238px); order: 10; }\",\".framer-9PXyv.framer-v-1ceotri .framer-jt53tv-container { height: var(--framer-aspect-ratio-supported, 238px); order: 8; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-hh1phx-container { height: var(--framer-aspect-ratio-supported, 239px); order: 16; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1j5dz19-container { height: var(--framer-aspect-ratio-supported, 238px); order: 17; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-jt53tv-container { height: var(--framer-aspect-ratio-supported, 238px); order: 11; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1hgsq56-container { order: 12; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-4i5rqs-container { height: var(--framer-aspect-ratio-supported, 238px); order: 13; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-84ve49-container { height: var(--framer-aspect-ratio-supported, 238px); order: 14; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1llvcbl-container { height: var(--framer-aspect-ratio-supported, 238px); order: 15; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-gt449t-container { height: var(--framer-aspect-ratio-supported, 238px); order: 21; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1e045r3-container { order: 22; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1rewfj9-container { height: var(--framer-aspect-ratio-supported, 238px); order: 23; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1ey2pan-container { height: var(--framer-aspect-ratio-supported, 238px); order: 24; }\",\".framer-9PXyv.framer-v-17xxb69 .framer-1e9fno-container { height: var(--framer-aspect-ratio-supported, 238px); order: 25; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 898\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"EF1_BUFq4\":{\"layout\":[\"fixed\",\"auto\"]},\"eH2JwC8wx\":{\"layout\":[\"fixed\",\"auto\"]},\"BsyjLwL6x\":{\"layout\":[\"fixed\",\"auto\"]},\"LjtrX1AVr\":{\"layout\":[\"fixed\",\"auto\"]},\"BBvu8Dr1q\":{\"layout\":[\"fixed\",\"auto\"]},\"LerZUl1OZ\":{\"layout\":[\"fixed\",\"auto\"]},\"QKbU6s1AH\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerxsmfKv741=withCSS(Component,css,\"framer-9PXyv\");export default FramerxsmfKv741;FramerxsmfKv741.displayName=\"Service Section\";FramerxsmfKv741.defaultProps={height:898,width:1200};addPropertyControls(FramerxsmfKv741,{variant:{options:[\"TMioBgaGu\",\"EF1_BUFq4\",\"eH2JwC8wx\",\"BsyjLwL6x\",\"LjtrX1AVr\",\"BBvu8Dr1q\",\"LerZUl1OZ\",\"QKbU6s1AH\"],optionTitles:[\"Desktop - Chiropractic\",\"Desktop - Aesthetic\",\"Tablet - Chiropractic\",\"Tablet - Aesthetic\",\"Phone - Chiropractic\",\"Phone - Chiro - Open\",\"Phone - Aesthetic\",\"Phone - Aes - Open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerxsmfKv741,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Plus Jakarta Sans\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"}]},...TabBGFonts,...PhosphorFonts,...ButtonFonts,...ServiceFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerxsmfKv741.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(TabBG,{},context),forwardLoader(Button,{},context),forwardLoader(Service,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerxsmfKv741\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"898\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"EF1_BUFq4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"eH2JwC8wx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BsyjLwL6x\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"LjtrX1AVr\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BBvu8Dr1q\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"LerZUl1OZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"QKbU6s1AH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./xsmfKv741.map","// Generated by Framer (a2fb474)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-800\",\"GF;Plus Jakarta Sans-800italic\",\"GF;Plus Jakarta Sans-700italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNTxXUEKi4Rw.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_VMq2oR82k.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"}]}];export const css=['.framer-LrzTI .framer-styles-preset-jmf9th:not(.rich-text-wrapper), .framer-LrzTI .framer-styles-preset-jmf9th.rich-text-wrapper h3 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 45px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 45.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-LrzTI .framer-styles-preset-jmf9th:not(.rich-text-wrapper), .framer-LrzTI .framer-styles-preset-jmf9th.rich-text-wrapper h3 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 45.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-LrzTI .framer-styles-preset-jmf9th:not(.rich-text-wrapper), .framer-LrzTI .framer-styles-preset-jmf9th.rich-text-wrapper h3 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 29px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 45.6px; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-LrzTI\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a2fb474)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Plus Jakarta Sans-700\",\"GF;Plus Jakarta Sans-800\",\"GF;Plus Jakarta Sans-800italic\",\"GF;Plus Jakarta Sans-700italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNTxXUEKi4Rw.woff2\",weight:\"700\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNTxXUEKi4Rw.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_VMq2oR82k.woff2\",weight:\"800\"},{family:\"Plus Jakarta Sans\",source:\"google\",style:\"italic\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v8/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_VMq2oR82k.woff2\",weight:\"700\"}]}];export const css=['.framer-7dBHN .framer-styles-preset-1vpqdg2:not(.rich-text-wrapper), .framer-7dBHN .framer-styles-preset-1vpqdg2.rich-text-wrapper h1 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 68px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 81.6px; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-7dBHN .framer-styles-preset-1vpqdg2:not(.rich-text-wrapper), .framer-7dBHN .framer-styles-preset-1vpqdg2.rich-text-wrapper h1 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 54px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.03em; --framer-line-height: 66.6px; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-7dBHN .framer-styles-preset-1vpqdg2:not(.rich-text-wrapper), .framer-7dBHN .framer-styles-preset-1vpqdg2.rich-text-wrapper h1 { --framer-font-family: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-family-italic: \"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 48px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 800; --framer-font-weight-bold-italic: 800; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.02em; --framer-line-height: 47.6px; --framer-paragraph-spacing: 0px; --framer-text-alignment: left; --framer-text-color: #13182f; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-7dBHN\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (0c5492c)\nexport default function metadata(params,activeLocale){return{description:\"Del Valle Chiropractic and Rehab Clinic. \",favicon:\"https://framerusercontent.com/assets/LwuGDeHKCheozVup4QyFivT903E.png\",robots:\"max-image-preview:large\",title:\"Del Valle Chiropractic and Rehab Clinic\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f2f96df)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1200px)\"},{hash:\"fpb51p\",mediaQuery:\"(min-width: 810px) and (max-width: 1199.98px)\"},{hash:\"s776hd\",mediaQuery:\"(max-width: 809.98px)\"}],description:siteMetadata(params,activeLocale).description,elements:{ENfl_zebx:\"about-us\",pvJFFVmbw:\"contact-info\",TypDX9Kth:\"services\"},robots:\"max-image-preview:large\",serializationId:\"framer-SkCHG\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f2f96df)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,PropertyOverrides,ResolveLinks,RichText,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,useRouteElementId,useRouter,withCSS,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import ShaderGradient from\"https://framerusercontent.com/modules/0S9d6rtyL41e1AotK0xE/PndxTG9QWV1d6iA7z7kC/ShaderGradient.js\";import DotLottie from\"https://framerusercontent.com/modules/jfK7C7JmdHGaVBsvt1V7/G0lF2a2mezep3QZSQZwm/DotLottie.js\";import Embed from\"https://framerusercontent.com/modules/o1PI5S8YtkA5bP5g4dFz/cAPMVEI6osbJ1UvICgTq/Embed.js\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";import Contact from\"#framer/local/canvasComponent/cFqUGRyRK/cFqUGRyRK.js\";import Testimonial from\"#framer/local/canvasComponent/CloEXg8z9/CloEXg8z9.js\";import ArrowButton from\"#framer/local/canvasComponent/dlQaAyaMh/dlQaAyaMh.js\";import FooterCopy from\"#framer/local/canvasComponent/RCoukJH58/RCoukJH58.js\";import NavBar from\"#framer/local/canvasComponent/WwhdXEwpl/WwhdXEwpl.js\";import Button from\"#framer/local/canvasComponent/x0ImmwfJ9/x0ImmwfJ9.js\";import ServiceSection from\"#framer/local/canvasComponent/xsmfKv741/xsmfKv741.js\";import TextIcon from\"#framer/local/canvasComponent/yTViGm17b/yTViGm17b.js\";import*as sharedStyle1 from\"#framer/local/css/AdIxj5aBW/AdIxj5aBW.js\";import*as sharedStyle2 from\"#framer/local/css/CJYwiQnnY/CJYwiQnnY.js\";import*as sharedStyle3 from\"#framer/local/css/k9yNnv5vW/k9yNnv5vW.js\";import*as sharedStyle from\"#framer/local/css/KiU9JW3As/KiU9JW3As.js\";import*as sharedStyle4 from\"#framer/local/css/s9Wv_jF5M/s9Wv_jF5M.js\";import metadataProvider from\"#framer/local/webPageMetadata/augiA20Il/augiA20Il.js\";const NavBarFonts=getFonts(NavBar);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const ShaderGradientFonts=getFonts(ShaderGradient);const ButtonFonts=getFonts(Button);const MotionDivWithOptimizedAppearEffect=withOptimizedAppearEffect(motion.div);const RichTextWithOptimizedAppearEffect=withOptimizedAppearEffect(RichText);const PhosphorFonts=getFonts(Phosphor);const EmbedFonts=getFonts(Embed);const Image1WithOptimizedAppearEffect=withOptimizedAppearEffect(Image1);const ServiceSectionFonts=getFonts(ServiceSection);const DotLottieFonts=getFonts(DotLottie);const TextIconFonts=getFonts(TextIcon);const TestimonialFonts=getFonts(Testimonial);const ContactFonts=getFonts(Contact);const ArrowButtonFonts=getFonts(ArrowButton);const FooterCopyFonts=getFonts(FooterCopy);const breakpoints={A3uxnAqTm:\"(max-width: 809.98px)\",cbmyWCko0:\"(min-width: 810px) and (max-width: 1199.98px)\",WQLkyLRf1:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";export const queryParamNames=[];const serializationHash=\"framer-SkCHG\";const variantClassNames={A3uxnAqTm:\"framer-v-s776hd\",cbmyWCko0:\"framer-v-fpb51p\",WQLkyLRf1:\"framer-v-72rtr7\"};const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const transition1={delay:0,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-150};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={delay:1.2,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation3={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-150,y:0};const transition3={delay:.6,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation4={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition3,x:0,y:0};const transition4={delay:.8,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation5={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition4,x:0,y:0};const transition5={delay:1,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation6={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition5,x:0,y:0};const transition6={delay:1.4,duration:.6,ease:[.44,0,.56,1],type:\"tween\"};const animation7={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition6,x:0,y:0};const animation8={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:150,y:0};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const humanReadableVariantMap={Desktop:\"WQLkyLRf1\",Phone:\"A3uxnAqTm\",Tablet:\"cbmyWCko0\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"WQLkyLRf1\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"A3uxnAqTm\")return true;return false;};const router=useRouter();const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"A3uxnAqTm\")return false;return true;};const elementId=useRouteElementId(\"TypDX9Kth\");const ref1=React.useRef(null);const elementId1=useRouteElementId(\"ENfl_zebx\");const ref2=React.useRef(null);const isDisplayed2=()=>{if(!isBrowser())return true;if(baseVariant===\"cbmyWCko0\")return true;return false;};const isDisplayed3=()=>{if(!isBrowser())return true;if([\"cbmyWCko0\",\"A3uxnAqTm\"].includes(baseVariant))return false;return true;};const elementId2=useRouteElementId(\"pvJFFVmbw\");const ref3=React.useRef(null);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,primaryVariantId:\"WQLkyLRf1\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: var(--token-17e83211-b3e7-49fc-82ee-42964e78835c, rgb(255, 255, 255)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-72rtr7\",className),ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1p3qwc9\",\"data-framer-name\":\"HERO\",layout:motionLayout,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{width:`min(${componentViewport?.width||\"100vw\"}, 1200px)`},cbmyWCko0:{width:`min(${componentViewport?.width||\"100vw\"} - 32px, 1200px)`}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:122,width:`min(${componentViewport?.width||\"100vw\"} - 10px, 1200px)`,y:(componentViewport?.y||0)+0+0+0+0,children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-3e9owb-container\",\"data-framer-appear-id\":\"3e9owb\",initial:animation1,nodeId:\"cO1utka3x\",optimized:true,rendersWithMotion:true,scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{variant:matchVariant(\"BYCXL4mgP\")}},children:/*#__PURE__*/_jsx(NavBar,{height:\"100%\",id:\"cO1utka3x\",layoutId:\"cO1utka3x\",style:{maxWidth:\"100%\",width:\"100%\"},variant:matchVariant(\"uB8NptWd5\"),width:\"100%\"})})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1xulrpb-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"pclsJytED\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(ShaderGradient,{activeTab:\"Shape\",animate:\"on\",brightness:2.3,cameraAngle:{cAzimuthAngle:170,cPolarAngle:70},cameraZoom:1,cDistance:4.4,color1:\"rgb(124, 204, 246)\",color2:\"rgb(255, 255, 255)\",color3:\"rgb(124, 204, 246)\",control:\"props\",envPreset:\"city\",grain:\"off\",height:\"100%\",id:\"pclsJytED\",layoutId:\"pclsJytED\",lightType:\"3d\",noise:{uDensity:1.2,uStrength:3.4},performantOnCanvas:false,pixelDensity:1,pointerEvents:\"none\",position:{positionX:0,positionY:.9,positionZ:-.3},reflection:.1,rotation:{rotationX:45,rotationY:0,rotationZ:0},shader:\"defaults\",style:{height:\"100%\",width:\"100%\"},toggleAxis:false,type:\"waterPlane\",uAmplitude:.1,urlString:\"https://www.shadergradient.co/customize?animate=on&axesHelper=off&bgColor1=%23000000&bgColor2=%23000000&brightness=1.2&cAzimuthAngle=180&cDistance=3.6&cPolarAngle=90&cameraZoom=1&color1=%23ff5005&color2=%23dbba95&color3=%23d0bce1&destination=onCanvas&embedMode=off&envPreset=city&format=gif&fov=45&frameRate=10&gizmoHelper=hide&grain=on&lightType=3d&pixelDensity=1&positionX=-1.4&positionY=0&positionZ=0&range=enabled&rangeEnd=40&rangeStart=0&reflection=0.1&rotationX=0&rotationY=10&rotationZ=50&shader=defaults&type=plane&uDensity=1.3&uFrequency=5.5&uSpeed=0.4&uStrength=4&uTime=0&wireframe=false\",uSpeed:.3,uTime:0,width:\"100%\",zoomOut:false})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-8yzgb7\",\"data-framer-name\":\"Content\",children:[isDisplayed()&&/*#__PURE__*/_jsxs(MotionDivWithOptimizedAppearEffect,{animate:animation2,className:\"framer-1qe1l8i hidden-72rtr7 hidden-fpb51p\",\"data-framer-appear-id\":\"1qe1l8i\",initial:animation3,optimized:true,children:[isDisplayed()&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":pvJFFVmbw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":pvJFFVmbw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{height:60,y:(componentViewport?.y||0)+0+0+0+132+0+610.63+24+84}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-rk8mbc-container hidden-72rtr7\",nodeId:\"pUDz5zgv4\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{aPFNFVlL2:resolvedLinks[1]}},children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:resolvedLinks[0],height:\"100%\",Hfui4mFRg:false,id:\"pUDz5zgv4\",layoutId:\"pUDz5zgv4\",OJrByjHDF:false,variant:matchVariant(\"rpXlBs5CH\"),width:\"100%\",xynObuKeF:\"Contact Info\",yanPKSGjs:\"House\"})})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+0+0+132+0+610.63+24+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1rciai5-container\",nodeId:\"HtO3UNFsY\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",height:\"100%\",Hfui4mFRg:false,id:\"HtO3UNFsY\",layoutId:\"HtO3UNFsY\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Book Appointment\",yanPKSGjs:\"WhatsappLogo\"})})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-kq2uqb\",\"data-framer-name\":\"Left \",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-1vpqdg2\",\"data-styles-preset\":\"KiU9JW3As\",style:{\"--framer-text-alignment\":\"left\"},children:\"Bring Comfort Back To Your Life\"})})}},children:/*#__PURE__*/_jsx(RichTextWithOptimizedAppearEffect,{__fromCanvasComponent:true,animate:animation4,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-1vpqdg2\",\"data-styles-preset\":\"KiU9JW3As\",children:\"From Daily Discomfort to Everyday Comfort\"})}),className:\"framer-e70s8v\",\"data-framer-appear-id\":\"e70s8v\",fonts:[\"Inter\"],initial:animation3,optimized:true,verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichTextWithOptimizedAppearEffect,{__fromCanvasComponent:true,animate:animation5,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",children:\"Del Valle Chiropractic and Rehab Clinic.\"})}),className:\"framer-j0o75a\",\"data-framer-appear-id\":\"j0o75a\",fonts:[\"Inter\"],initial:animation3,optimized:true,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",style:{\"--framer-text-alignment\":\"left\"},children:\"With 60+ years of combined expertise, we offer proven care that’s honest, efficient, and effective.\"})})}},children:/*#__PURE__*/_jsx(RichTextWithOptimizedAppearEffect,{__fromCanvasComponent:true,animate:animation6,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"With 60+ years of combined expertise, we offer proven care that’s honest, efficient, and effective.\"})}),className:\"framer-6fl4sn\",\"data-framer-appear-id\":\"6fl4sn\",fonts:[\"Inter\"],initial:animation3,optimized:true,verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed1()&&/*#__PURE__*/_jsxs(MotionDivWithOptimizedAppearEffect,{animate:animation2,className:\"framer-7132v9 hidden-s776hd\",\"data-framer-appear-id\":\"7132v9\",initial:animation3,optimized:true,children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":pvJFFVmbw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":pvJFFVmbw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{y:undefined}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+0+0+0+132+251.185+0+279.63+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-rv7iwh-container\",nodeId:\"TSNMRxi5K\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{aPFNFVlL2:resolvedLinks1[1]}},children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:resolvedLinks1[0],height:\"100%\",Hfui4mFRg:false,id:\"TSNMRxi5K\",layoutId:\"TSNMRxi5K\",OJrByjHDF:false,variant:matchVariant(\"rpXlBs5CH\"),width:\"100%\",xynObuKeF:\"Contact Info\",yanPKSGjs:\"House\"})})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{y:undefined}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+0+0+0+132+251.185+0+279.63+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-10yz6g4-container\",nodeId:\"cgfmMvYCa\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",height:\"100%\",Hfui4mFRg:false,id:\"cgfmMvYCa\",layoutId:\"cgfmMvYCa\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Book Appointment\",yanPKSGjs:\"WhatsappLogo\"})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(MotionDivWithOptimizedAppearEffect,{animate:animation7,className:\"framer-7xpnr5 hidden-s776hd\",\"data-framer-appear-id\":\"7xpnr5\",\"data-framer-name\":\"Social Proof\",initial:animation3,optimized:true,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:409.6,intrinsicWidth:409.6,pixelHeight:512,pixelWidth:512,sizes:\"31px\",src:\"https://framerusercontent.com/images/8t4cnEuvoGbC3P3jJEMWdFve8jY.png?width=512&height=512\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:409.6,intrinsicWidth:409.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+132+251.185+0+349.63+6),pixelHeight:512,pixelWidth:512,sizes:\"36px\",src:\"https://framerusercontent.com/images/8t4cnEuvoGbC3P3jJEMWdFve8jY.png?width=512&height=512\"},className:\"framer-1s4bacd\",\"data-framer-name\":\"Google Logo\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1e8wz4w\",\"data-framer-name\":\"5 Stars\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-exbfa5-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"lePwYiY9w\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 215, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"lePwYiY9w\",layoutId:\"lePwYiY9w\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-ein0hc-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"QXYOaNewZ\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 215, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"QXYOaNewZ\",layoutId:\"QXYOaNewZ\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-148p3n5-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"ZJU6VD6Uv\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 215, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"ZJU6VD6Uv\",layoutId:\"ZJU6VD6Uv\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-kzmto7-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"UPl_FWDeq\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 215, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"UPl_FWDeq\",layoutId:\"UPl_FWDeq\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1lvfttz-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"lmN9voZyR\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"rgb(255, 215, 0)\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Star\",id:\"lmN9voZyR\",layoutId:\"lmN9voZyR\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"fill\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtcmVndWxhcg==\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"14px\",\"--framer-line-height\":\"30.006px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(102, 110, 130)\",\"--framer-text-decoration\":\"underline\"},children:\"+64 Reviews\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--font-selector\":\"R0Y7UGx1cyBKYWthcnRhIFNhbnMtcmVndWxhcg==\",\"--framer-font-family\":'\"Plus Jakarta Sans\", \"Plus Jakarta Sans Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-line-height\":\"30.006px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(102, 110, 130)\",\"--framer-text-decoration\":\"underline\"},children:\"+64 Reviews\"})}),className:\"framer-xbhj0g\",fonts:[\"GF;Plus Jakarta Sans-regular\"],verticalAlignment:\"top\",withExternalLayout:true})})]})]}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1xqd6am-container hidden-72rtr7 hidden-fpb51p\",isModuleExternal:true,nodeId:\"g7308imb1\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<a href=\"https://www.carecredit.com/go/CYB297/?dtc=DS5X&sitecode=CCCABDS5X\"><img width=\"390\" style=\"max-width:100%;\" src=\"https://www.carecredit.com/assets/pages/library/buttons/200x200/CareCredit_Icon_o_v1.png\"/></a>',id:\"g7308imb1\",layoutId:\"g7308imb1\",radius:\"0px\",style:{height:\"100%\",width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-hbi5nm\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hgab72-container hidden-s776hd\",isModuleExternal:true,nodeId:\"ZnBaFdAjU\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Embed,{height:\"100%\",html:'<a href=\"https://www.carecredit.com/go/CYB297/?dtc=DS5X&sitecode=CCCABDS5X\"><img width=\"390\" style=\"max-width:100%;\" src=\"https://www.carecredit.com/assets/pages/library/buttons/200x200/CareCredit_Icon_o_v1.png\"/></a>',id:\"ZnBaFdAjU\",layoutId:\"ZnBaFdAjU\",radius:\"0px\",style:{height:\"100%\",width:\"100%\"},type:\"html\",url:\"\",width:\"100%\",zoom:1})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1536,intrinsicWidth:1024,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+132+0+283.63+0),pixelHeight:1920,pixelWidth:1280,sizes:\"270px\",src:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920\",srcSet:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?scale-down-to=1024&width=1280&height=1920 682w,https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920 1280w\"}},cbmyWCko0:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1536,intrinsicWidth:1024,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+132+238.5+0),pixelHeight:1920,pixelWidth:1280,sizes:`max(min(${componentViewport?.width||\"100vw\"} - 32px, 1200px) * 0.3792 - 10px, 1px)`,src:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920\",srcSet:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?scale-down-to=1024&width=1280&height=1920 682w,https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920 1280w\"}}},children:/*#__PURE__*/_jsx(Image1WithOptimizedAppearEffect,{animate:animation,background:{alt:\"\",fit:\"fill\",intrinsicHeight:1536,intrinsicWidth:1024,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+0+0+132+166.5+0),pixelHeight:1920,pixelWidth:1280,sizes:\"438px\",src:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920\",srcSet:\"https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?scale-down-to=1024&width=1280&height=1920 682w,https://framerusercontent.com/images/RNgtdMAgZ8sQOIy5T2K7fsUH11k.jpg?width=1280&height=1920 1280w\"},className:\"framer-oada8d\",\"data-framer-appear-id\":\"oada8d\",\"data-framer-name\":\"Pexels-funkcines-terapijos-centras-927573878-20860583\",initial:animation8,optimized:true})})]})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-eqebhu\",\"data-framer-name\":\"Services 3.0\",id:elementId,layout:motionLayout,ref:ref1,children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+1096.63+64+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:650,width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+1032+64+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-i6ro7y-container\",\"data-framer-name\":\"Chiropractic\",name:\"Chiropractic\",nodeId:\"gRrHbbD2a\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{variant:matchVariant(\"LjtrX1AVr\")},cbmyWCko0:{variant:matchVariant(\"eH2JwC8wx\")}},children:/*#__PURE__*/_jsx(ServiceSection,{height:\"100%\",id:\"gRrHbbD2a\",layoutId:\"gRrHbbD2a\",name:\"Chiropractic\",style:{width:\"100%\"},variant:matchVariant(\"TMioBgaGu\"),width:\"100%\"})})})})}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{height:650,width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+1096.63+64+660}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-15v1m3a-container hidden-72rtr7 hidden-fpb51p\",\"data-framer-name\":\"Aesthetic\",name:\"Aesthetic\",nodeId:\"JvQI3dbHV\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(ServiceSection,{height:\"100%\",id:\"JvQI3dbHV\",layoutId:\"JvQI3dbHV\",name:\"Aesthetic\",style:{width:\"100%\"},variant:matchVariant(\"LerZUl1OZ\"),width:\"100%\"})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1bkm9x0\",\"data-framer-name\":\"Why Us?\",id:elementId1,layout:motionLayout,ref:ref2,children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-eior7h-container hidden-s776hd\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"QKdDmfLY2\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(DotLottie,{autoplay:true,background:\"rgba(0, 85, 255, 0)\",controls:false,direction:\"1\",height:\"100%\",hover:false,id:\"QKdDmfLY2\",layoutId:\"QKdDmfLY2\",loop:true,progress:0,speed:1,srcType:\"url\",srcUrl:\"https://lottie.host/d84f08ea-177c-4e33-b880-e147182475dc/KvTTGIQ9K0.lottie\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-f7zret\",\"data-framer-name\":\"Content\",children:[isDisplayed2()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+1810+24+0),pixelHeight:1920,pixelWidth:1080,positionX:\"71.1%\",positionY:\"44.6%\",sizes:`calc(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1200px) * 0.4401)`,src:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920\",srcSet:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?scale-down-to=1024&width=1080&height=1920 576w,https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920 1080w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,pixelHeight:1920,pixelWidth:1080,positionX:\"71.1%\",positionY:\"44.6%\",src:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920\",srcSet:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?scale-down-to=1024&width=1080&height=1920 576w,https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920 1080w\"},className:\"framer-zc4wlu hidden-72rtr7 hidden-s776hd\",\"data-framer-name\":\"Doc\"})}),isDisplayed3()&&/*#__PURE__*/_jsxs(\"div\",{className:\"framer-3478sm hidden-fpb51p hidden-s776hd\",\"data-framer-name\":\"Left\",children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+1810+24+0+10),pixelHeight:3024,pixelWidth:4032,src:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024 4032w\"},className:\"framer-1g6u6y5\",\"data-framer-name\":\"Sala\"}),/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+1810+24+0+110),pixelHeight:1920,pixelWidth:1080,positionX:\"71.1%\",positionY:\"44.6%\",src:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920\",srcSet:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?scale-down-to=1024&width=1080&height=1920 576w,https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920 1080w\"},className:\"framer-clmjfm\",\"data-framer-name\":\"Doc\"}),/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+1810+24+0+769-360),pixelHeight:3024,pixelWidth:4032,sizes:\"475px\",src:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024 4032w\"},className:\"framer-gu60u2\",\"data-framer-name\":\"WhatsApp Image 2024-12-19 at 4.12.10 PM\"})]}),isDisplayed()&&/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1ap13z8 hidden-72rtr7 hidden-fpb51p\",\"data-framer-name\":\"Gallery\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+2534.63+24+0+0+0+10+0),pixelHeight:1920,pixelWidth:1080,positionX:\"71.1%\",positionY:\"44.6%\",sizes:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 30px) / 2, 50px)`,src:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920\",srcSet:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?scale-down-to=1024&width=1080&height=1920 576w,https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920 1080w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,pixelHeight:1920,pixelWidth:1080,positionX:\"71.1%\",positionY:\"44.6%\",src:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920\",srcSet:\"https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?scale-down-to=1024&width=1080&height=1920 576w,https://framerusercontent.com/images/1WO25SUvj5A3mHvZ03IHjdGiG5E.png?width=1080&height=1920 1080w\"},className:\"framer-1vdnnvd hidden-72rtr7\",\"data-framer-name\":\"Doc\"})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+2534.63+24+0+0+0+10+258.6666),pixelHeight:3024,pixelWidth:4032,sizes:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 30px) / 2, 50px)`,src:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024 4032w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,pixelHeight:3024,pixelWidth:4032,src:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/IJ4mibeo6Bt7XuNWzPgXmv7zT8.jpeg?width=4032&height=3024 4032w\"},className:\"framer-1gmvzou\",\"data-framer-name\":\"Sala\"})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+2534.63+24+0+0+0+10+0),pixelHeight:3024,pixelWidth:4032,sizes:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 30px) / 2, 50px)`,src:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024 4032w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:2419.2,intrinsicWidth:3225.6,pixelHeight:3024,pixelWidth:4032,src:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024\",srcSet:\"https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=512&width=4032&height=3024 512w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=1024&width=4032&height=3024 1024w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?scale-down-to=2048&width=4032&height=3024 2048w,https://framerusercontent.com/images/luHc7C7Ry4rqoxOWfUZu8nmFSk.jpeg?width=4032&height=3024 4032w\"},className:\"framer-9f3raz\",\"data-framer-name\":\"WhatsApp Image 2024-12-19 at 4.12.10 PM\"})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:3225.6,intrinsicWidth:2419.2,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+2534.63+24+0+0+0+10+129.3333),pixelHeight:4032,pixelWidth:3024,sizes:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 30px) / 2, 50px)`,src:\"https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?width=3024&height=4032\",srcSet:\"https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?scale-down-to=1024&width=3024&height=4032 768w,https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?scale-down-to=2048&width=3024&height=4032 1536w,https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?width=3024&height=4032 3024w\"}}},children:/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:3225.6,intrinsicWidth:2419.2,pixelHeight:4032,pixelWidth:3024,src:\"https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?width=3024&height=4032\",srcSet:\"https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?scale-down-to=1024&width=3024&height=4032 768w,https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?scale-down-to=2048&width=3024&height=4032 1536w,https://framerusercontent.com/images/3zMt7wPYbU4YzTYVLKLLu8dZAk.jpeg?width=3024&height=4032 3024w\"},className:\"framer-1elapxq\",\"data-framer-name\":\"WhatsApp Image 2024-12-19 at 4.12.09 PM\"})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-tfu9ig\",\"data-framer-name\":\"Right\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1ic88r6\",\"data-framer-name\":\"60 Experience\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-1b76ok3\",\"data-framer-name\":\"Blue Line\"}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",children:\"+60 Years of Experience\"})}),className:\"framer-1bsly91\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-jmf9th\",\"data-styles-preset\":\"k9yNnv5vW\",children:\"Why Del Valle?\"})}),className:\"framer-3pyeqe\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-t83dym\",\"data-framer-name\":\"Point 1\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+2534.63+24+0+0+408+24+91.6+0+0},cbmyWCko0:{width:`max(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1200px) / 1.786 - 10px, 1px)`,y:(componentViewport?.y||0)+0+1810+24+-102.345+24+91.6+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+0+1810+24+-25.845+24+91.6+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-a9ln37-container\",nodeId:\"wEAFV9Icb\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"We've seen it all and we know how to help you\",gI5v7RT26:\"Eye\",height:\"100%\",id:\"wEAFV9Icb\",layoutId:\"wEAFV9Icb\",style:{width:\"100%\"},uognrVEUI:true,variant:matchVariant(\"f9X3IW_uh\"),width:\"100%\",Y3NmC36o0:true})})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"With over 60 years of combined experience, Dr. Joel del Valle and Dr. LaRock know how to help you feel better, faster.\"})}),className:\"framer-qgbzlc\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-r9b77l\",\"data-framer-name\":\"Point 2\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+2534.63+24+0+0+408+24+282.63+0+0},cbmyWCko0:{width:`max(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1200px) / 1.786 - 10px, 1px)`,y:(componentViewport?.y||0)+0+1810+24+-102.345+24+282.63+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+0+1810+24+-25.845+24+282.63+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1mn6of7-container\",nodeId:\"WoWiOTEDP\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"Focused on Results, Not Wasting Your Time\",gI5v7RT26:\"Medal\",height:\"100%\",id:\"WoWiOTEDP\",layoutId:\"WoWiOTEDP\",style:{width:\"100%\"},uognrVEUI:true,variant:matchVariant(\"f9X3IW_uh\"),width:\"100%\",Y3NmC36o0:true})})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"No unnecessary extras, no wasted appointments—just real relief.\"})}),className:\"framer-15sbq88\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-e6x11f\",\"data-framer-name\":\"Point 3\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+2534.63+24+0+0+408+24+473.66+0+0},cbmyWCko0:{width:`max(min(max(${componentViewport?.width||\"100vw\"}, 1px), 1200px) / 1.786 - 10px, 1px)`,y:(componentViewport?.y||0)+0+1810+24+-102.345+24+473.66+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:27,y:(componentViewport?.y||0)+0+1810+24+-25.845+24+473.66+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-okngb4-container\",nodeId:\"iBO1PJZdE\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(TextIcon,{B7uo8Qq1d:\"Care for all ages\",gI5v7RT26:\"UsersThree\",height:\"100%\",id:\"iBO1PJZdE\",layoutId:\"iBO1PJZdE\",style:{width:\"100%\"},uognrVEUI:true,variant:matchVariant(\"f9X3IW_uh\"),width:\"100%\",Y3NmC36o0:true})})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"From kids to adults, our treatments are designed to help everyone feel their best.\"})}),className:\"framer-f2974s\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-jsjb76\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+2534.63+24+0+0+408+24+664.69+24},cbmyWCko0:{y:(componentViewport?.y||0)+0+1810+24+-102.345+24+664.69+24}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+0+1810+24+-25.845+24+664.69+24,children:/*#__PURE__*/_jsx(Container,{className:\"framer-whaiog-container\",nodeId:\"gff1P3_ZA\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://practice.chirotouch.com/portal/DelValleChiropracticandRehabClinic\",height:\"100%\",Hfui4mFRg:false,id:\"gff1P3_ZA\",layoutId:\"gff1P3_ZA\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Book Appointment\",yanPKSGjs:\"House\"})})})})})]})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1wd35on\",\"data-framer-name\":\"Testimonials\",layout:motionLayout,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-oemwdh\",\"data-framer-name\":\"Title\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-c9j872\",\"data-framer-name\":\"60 Experience\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-3gdzr2\",\"data-framer-name\":\"Blue Line\"}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-1pderfg\",\"data-styles-preset\":\"AdIxj5aBW\",children:\"Testimonials\"})}),className:\"framer-12zdaha\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-jmf9th\",\"data-styles-preset\":\"k9yNnv5vW\",children:\"What Our Patients Say\"})}),className:\"framer-1cl84ji\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-4ggbct\",\"data-framer-name\":\"Reviews\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{height:230,width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+3787.32+24+111.6+0+0},cbmyWCko0:{width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 58px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2450+60+111.6+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:300,width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 68px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2603+24+173.6+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1xob8pg-container\",nodeId:\"AYh93SmBi\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{style:{width:\"100%\"}}},children:/*#__PURE__*/_jsx(Testimonial,{a56H9oaOl:addImageAlt({pixelHeight:5472,pixelWidth:3648,src:\"https://framerusercontent.com/images/AA0pAPIo9nFlR9dsuZoCG2ccaOQ.jpg?width=3648&height=5472\",srcSet:\"https://framerusercontent.com/images/AA0pAPIo9nFlR9dsuZoCG2ccaOQ.jpg?scale-down-to=1024&width=3648&height=5472 682w,https://framerusercontent.com/images/AA0pAPIo9nFlR9dsuZoCG2ccaOQ.jpg?scale-down-to=2048&width=3648&height=5472 1365w,https://framerusercontent.com/images/AA0pAPIo9nFlR9dsuZoCG2ccaOQ.jpg?scale-down-to=4096&width=3648&height=5472 2730w,https://framerusercontent.com/images/AA0pAPIo9nFlR9dsuZoCG2ccaOQ.jpg?width=3648&height=5472 3648w\"},\"\"),a7bV8LF80:\"Xavier Garc\\xeda\",e3qJBFFmz:\"Dr. LaRock is honestly a life saver for me. He is professional and friendly and listens to any concern about the pain you are having. \",height:\"100%\",id:\"AYh93SmBi\",layoutId:\"AYh93SmBi\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{height:230,width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+3787.32+24+111.6+0+254},cbmyWCko0:{width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 58px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2450+60+111.6+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:300,width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 68px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2603+24+173.6+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-rpke92-container\",nodeId:\"zZfN8njZE\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{style:{width:\"100%\"}}},children:/*#__PURE__*/_jsx(Testimonial,{a56H9oaOl:addImageAlt({pixelHeight:4096,pixelWidth:3276,src:\"https://framerusercontent.com/images/adA3ca5MJSdYVtT9ZmtqJigs.jpg?width=3276&height=4096\",srcSet:\"https://framerusercontent.com/images/adA3ca5MJSdYVtT9ZmtqJigs.jpg?scale-down-to=1024&width=3276&height=4096 819w,https://framerusercontent.com/images/adA3ca5MJSdYVtT9ZmtqJigs.jpg?scale-down-to=2048&width=3276&height=4096 1638w,https://framerusercontent.com/images/adA3ca5MJSdYVtT9ZmtqJigs.jpg?width=3276&height=4096 3276w\"},\"\"),a7bV8LF80:\"Anabel Wong\",e3qJBFFmz:\"Incredible service and convenient! Dr. LaRock is very kind and knows exactly what he’s doing! I felt the relief I needed immediately after my visit. I definitely recommend him.\",height:\"100%\",id:\"zZfN8njZE\",layoutId:\"zZfN8njZE\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{height:230,width:`calc(min(${componentViewport?.width||\"100vw\"}, 1200px) - 20px)`,y:(componentViewport?.y||0)+0+3787.32+24+111.6+0+508},cbmyWCko0:{height:230,width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 58px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2450+60+111.6+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:300,width:`max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 68px) / 3, 1px)`,y:(componentViewport?.y||0)+0+2603+24+173.6+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1365n7n-container\",nodeId:\"llU71AYjE\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{style:{width:\"100%\"}},cbmyWCko0:{style:{width:\"100%\"}}},children:/*#__PURE__*/_jsx(Testimonial,{a7bV8LF80:\"Jacqui Salazar\",e3qJBFFmz:\"Dr. LaRock is the best there is. I came in with my lower back locked, I couldn’t sit down and could barely walk from my sciatica pain being at an all time high, I left my first session being able to sit and with minor pain. Dr. LaRock is the one to see!\",height:\"100%\",id:\"llU71AYjE\",layoutId:\"llU71AYjE\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1bof9dk\",\"data-framer-name\":\"Contact Information\",id:elementId2,layout:motionLayout,ref:ref3,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-hz004h\",\"data-framer-name\":\"Contact\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-ggtvm1\",\"data-framer-name\":\"Title\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-131xb4s-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"ANufPjBc1\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"UserCircleCheck\",id:\"ANufPjBc1\",layoutId:\"ANufPjBc1\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-jmf9th\",\"data-styles-preset\":\"k9yNnv5vW\",children:\"Get in touch\"})}),className:\"framer-1sd782v\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1lvfoqp\",\"data-framer-name\":\"Contacto\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+4764.92+0+0+16+82+0+0},cbmyWCko0:{y:(componentViewport?.y||0)+0+3025.6+0+0+16+110+0+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,y:(componentViewport?.y||0)+0+3204.6+0+0+16+110+0+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-15tmwgm-container\",nodeId:\"QuiAOQ1ag\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Contact,{aQuehrWWW:\"915-532-3132 \",height:\"100%\",id:\"QuiAOQ1ag\",layoutId:\"QuiAOQ1ag\",m0VdlMLl0:\"Phone\",pIJjKeUIe:\"tel:+19155323132 \",variant:matchVariant(\"z79vcIya2\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+4764.92+0+0+16+82+0+40},cbmyWCko0:{y:(componentViewport?.y||0)+0+3025.6+0+0+16+110+0+68}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,y:(componentViewport?.y||0)+0+3204.6+0+0+16+110+0+68,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1ue6g9y-container\",nodeId:\"xzunVwgBu\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Contact,{aQuehrWWW:\"915-996-7255 \",height:\"100%\",id:\"xzunVwgBu\",layoutId:\"xzunVwgBu\",m0VdlMLl0:\"WhatsappLogo\",pIJjKeUIe:\"https://wa.me/19159967255?text=Hi,%20I%20just%20saw%20your%20website%20and%20I’d%20like%20to%20schedule%20a%20free%20evaluation\",variant:matchVariant(\"z79vcIya2\"),width:\"100%\"})})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+4764.92+0+0+16+82+0+80},cbmyWCko0:{y:(componentViewport?.y||0)+0+3025.6+0+0+16+110+0+136}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:30,y:(componentViewport?.y||0)+0+3204.6+0+0+16+110+0+136,children:/*#__PURE__*/_jsx(Container,{className:\"framer-iznmel-container\",nodeId:\"O1HUtLdat\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Contact,{aQuehrWWW:\"delvalleclinic915@gmail.com\",height:\"100%\",id:\"O1HUtLdat\",layoutId:\"O1HUtLdat\",m0VdlMLl0:\"Envelope\",pIJjKeUIe:\"mailto:delvalleclinic915@gmail.com\",variant:matchVariant(\"z79vcIya2\"),width:\"100%\"})})})})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-14ffh6t\",\"data-framer-name\":\"Schedule\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-7ap79c\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-hfz2qp-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"L0zSGM7Ov\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Clock\",id:\"L0zSGM7Ov\",layoutId:\"L0zSGM7Ov\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-jmf9th\",\"data-styles-preset\":\"k9yNnv5vW\",children:\"Schedule\"})}),className:\"framer-11o0ju3\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-v327uq\",\"data-framer-name\":\"Days\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-1cgy8ao\",\"data-framer-name\":\"Monday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-16foqzu\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Monday\"})}),className:\"framer-opev9w\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"Closed\"})}),className:\"framer-qa1fto\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1jlca97\",\"data-framer-name\":\"Tuesday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-l8ztoi\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Tuesday\"})}),className:\"framer-rv26w5\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"9 am - 6 pm\"})}),className:\"framer-1utyvey\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-4rgvgt\",\"data-framer-name\":\"Wednesday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1nn7rqo\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Wednesday\"})}),className:\"framer-1f6er1x\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"9 am - 6 pm\"})}),className:\"framer-1kcdkga\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-wb2r9h\",\"data-framer-name\":\"Thursday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1wdca6n\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Thursday\"})}),className:\"framer-4w6yzq\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"9 am - 4 pm\"})}),className:\"framer-2lvgy9\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-zx7c21\",\"data-framer-name\":\"Friday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-12knw47\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Friday\"})}),className:\"framer-1ji8uuj\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"9 am - 6 pm\"})}),className:\"framer-1d05b6f\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-purgqj\",\"data-framer-name\":\"Saturday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-6jz5nx\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Saturday\"})}),className:\"framer-1huz0f0\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{cbmyWCko0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"Appointments\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",dir:\"auto\",children:\"Appointment only\"})}),className:\"framer-89b2nt\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-hiuzq3\",\"data-framer-name\":\"Sunday\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-pfp3tv\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Sunday\"})}),className:\"framer-vnwj8t\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-9vqg0l\",\"data-styles-preset\":\"CJYwiQnnY\",children:\"Closed\"})}),className:\"framer-2sn7t9\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})})]}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+4764.92+0+558.006+40+627.6},cbmyWCko0:{y:(componentViewport?.y||0)+0+3025.6+0+0+40+627.6}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+0+3204.6+0+0+40+627.6,children:/*#__PURE__*/_jsx(Container,{className:\"framer-gzuy8q-container\",nodeId:\"OHmzvRmKh\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Button,{aPFNFVlL2:\"https://wa.me/19159967255?text=Hi,%20I%20just%20saw%20your%20website%20and%20I’d%20like%20to%20schedule%20a%20free%20evaluation\",height:\"100%\",Hfui4mFRg:false,id:\"OHmzvRmKh\",layoutId:\"OHmzvRmKh\",OJrByjHDF:true,variant:matchVariant(\"JEaP9wH1r\"),width:\"100%\",xynObuKeF:\"Make an Appointment\",yanPKSGjs:\"House\"})})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-dx3vgt\",\"data-framer-name\":\"Contact\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-e7uc1h\",\"data-framer-name\":\"Title\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-nnka9e-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"HlKiSjkle\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-142989f0-658c-49a1-883f-0cb84d657d03, rgb(3, 101, 155))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Globe\",id:\"HlKiSjkle\",layoutId:\"HlKiSjkle\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-jmf9th\",\"data-styles-preset\":\"k9yNnv5vW\",children:\"Visit us on\"})}),className:\"framer-96agpa\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-komltn\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-rt5or8\",\"data-styles-preset\":\"s9Wv_jF5M\",children:\"915 Huckleberry St. El Paso Texas 79903\"})}),className:\"framer-zuokf6\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-uym3ii\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{width:`max(min(${componentViewport?.width||\"100vw\"}, 1200px) - 48px, 1px)`,y:(componentViewport?.y||0)+0+4764.92+0+238+16+172.006+0},cbmyWCko0:{width:`max(max((min(${componentViewport?.width||\"100vw\"}, 1200px) - 10px) / 2, 50px) - 28px, 1px)`,y:(componentViewport?.y||0)+0+3025.6+0+385+16+172.006+0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:102,width:\"432px\",y:(componentViewport?.y||0)+0+3204.6+0+385+16+172.006+0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-xb3u4e-container\",nodeId:\"hsp8ekmIs\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(ArrowButton,{height:\"100%\",id:\"hsp8ekmIs\",layoutId:\"hsp8ekmIs\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-13c5mmz\",layout:motionLayout,children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{y:(componentViewport?.y||0)+0+6090.526+60},cbmyWCko0:{y:(componentViewport?.y||0)+0+3785.6+60}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:179,width:`min(max(${componentViewport?.width||\"100vw\"}, 1px), 1400px)`,y:(componentViewport?.y||0)+0+3964.6+60,children:/*#__PURE__*/_jsx(Container,{className:\"framer-g2td7e-container\",nodeId:\"HU_Yy0kus\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{A3uxnAqTm:{variant:matchVariant(\"fcAkFG1aa\")}},children:/*#__PURE__*/_jsx(FooterCopy,{height:\"100%\",id:\"HU_Yy0kus\",layoutId:\"HU_Yy0kus\",style:{maxWidth:\"100%\",width:\"100%\"},variant:matchVariant(\"C24rOSXg8\"),width:\"100%\"})})})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-SkCHG.framer-lux5qc, .framer-SkCHG .framer-lux5qc { display: block; }\",\".framer-SkCHG.framer-72rtr7 { align-content: center; align-items: center; background-color: var(--token-17e83211-b3e7-49fc-82ee-42964e78835c, #ffffff); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 1200px; }\",\".framer-SkCHG .framer-1p3qwc9 { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 0px 10px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-3e9owb-container { flex: none; height: auto; max-width: 1200px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); z-index: 3; }\",\".framer-SkCHG .framer-1xulrpb-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 0; }\",\".framer-SkCHG .framer-8yzgb7 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 90vh; justify-content: center; max-width: 1200px; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-1qe1l8i { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 24px 0px 0px 0px; position: relative; width: 1px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-SkCHG .framer-rk8mbc-container, .framer-SkCHG .framer-1rciai5-container, .framer-SkCHG .framer-rv7iwh-container, .framer-SkCHG .framer-10yz6g4-container, .framer-SkCHG .framer-whaiog-container, .framer-SkCHG .framer-15tmwgm-container, .framer-SkCHG .framer-1ue6g9y-container, .framer-SkCHG .framer-iznmel-container, .framer-SkCHG .framer-gzuy8q-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-SkCHG .framer-kq2uqb { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 675px; }\",\".framer-SkCHG .framer-e70s8v, .framer-SkCHG .framer-6fl4sn { -webkit-user-select: none; flex: none; height: auto; pointer-events: auto; position: relative; user-select: none; white-space: pre-wrap; width: 100%; will-change: var(--framer-will-change-effect-override, transform); word-break: break-word; word-wrap: break-word; }\",\".framer-SkCHG .framer-j0o75a { -webkit-user-select: none; flex: none; height: auto; pointer-events: auto; position: relative; user-select: none; white-space: pre; width: auto; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-SkCHG .framer-7132v9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-SkCHG .framer-7xpnr5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 48px; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-SkCHG .framer-1s4bacd { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 36px); overflow: visible; position: relative; width: 36px; }\",\".framer-SkCHG .framer-1e8wz4w { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-SkCHG .framer-exbfa5-container, .framer-SkCHG .framer-ein0hc-container, .framer-SkCHG .framer-148p3n5-container, .framer-SkCHG .framer-kzmto7-container, .framer-SkCHG .framer-1lvfttz-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 31px); position: relative; width: 28px; }\",\".framer-SkCHG .framer-xbhj0g, .framer-SkCHG .framer-1bsly91, .framer-SkCHG .framer-3pyeqe, .framer-SkCHG .framer-12zdaha, .framer-SkCHG .framer-1cl84ji, .framer-SkCHG .framer-1sd782v, .framer-SkCHG .framer-96agpa, .framer-SkCHG .framer-zuokf6 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-SkCHG .framer-1xqd6am-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 136px); position: relative; width: 275px; z-index: 1; }\",\".framer-SkCHG .framer-hbi5nm { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px 0px 0px 58px; position: relative; width: 1px; }\",\".framer-SkCHG .framer-1hgab72-container { aspect-ratio: 1 / 1; bottom: -65px; flex: none; height: var(--framer-aspect-ratio-supported, 172px); left: -23px; position: absolute; width: 34%; z-index: 1; }\",\".framer-SkCHG .framer-oada8d { border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; border-top-left-radius: 40px; border-top-right-radius: 40px; flex: none; height: 567px; overflow: visible; position: relative; width: 438px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-SkCHG .framer-eqebhu { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; max-width: 1200px; overflow: visible; padding: 64px 10px 64px 10px; position: relative; scroll-margin-top: 40px; width: 100%; }\",\".framer-SkCHG .framer-i6ro7y-container, .framer-SkCHG .framer-15v1m3a-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-SkCHG .framer-1bkm9x0 { align-content: flex-start; align-items: flex-start; background-color: #ffffff; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 793px; justify-content: center; overflow: visible; padding: 24px 0px 0px 0px; position: relative; scroll-margin-top: 40px; width: 100%; }\",\".framer-SkCHG .framer-eior7h-container { aspect-ratio: 1.5132408575031526 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 793px); left: 0px; position: absolute; right: 0px; top: 220px; z-index: 0; }\",\".framer-SkCHG .framer-f7zret { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 100%; justify-content: center; max-width: 1200px; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-SkCHG .framer-zc4wlu { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; flex: none; height: 100%; overflow: visible; position: relative; width: 44%; z-index: 1; }\",\".framer-SkCHG .framer-3478sm { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 100%; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-SkCHG .framer-1g6u6y5 { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; bottom: 552px; flex: none; left: 10px; overflow: visible; position: absolute; right: 326px; top: 10px; z-index: 1; }\",\".framer-SkCHG .framer-clmjfm { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; bottom: 214px; flex: none; left: 211px; overflow: visible; position: absolute; right: 24px; top: 110px; z-index: 1; }\",\".framer-SkCHG .framer-gu60u2 { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; bottom: 79px; flex: none; height: 281px; left: 9px; overflow: visible; position: absolute; width: 475px; z-index: 1; }\",\".framer-SkCHG .framer-1ap13z8 { display: grid; flex: 1 0 0px; gap: 10px; grid-auto-rows: minmax(0, 1fr); grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); height: 398px; justify-content: center; overflow: hidden; padding: 10px; position: relative; width: 1px; }\",\".framer-SkCHG .framer-1vdnnvd { align-self: start; flex: none; grid-row: span 2; height: 100%; justify-self: start; overflow: visible; position: relative; width: 100%; z-index: 1; }\",\".framer-SkCHG .framer-1gmvzou { align-self: end; flex: none; height: 100%; justify-self: end; overflow: visible; position: relative; width: 100%; z-index: 1; }\",\".framer-SkCHG .framer-9f3raz { align-self: start; flex: none; height: 100%; justify-self: end; overflow: visible; position: relative; width: 100%; z-index: 1; }\",\".framer-SkCHG .framer-1elapxq { align-self: end; aspect-ratio: 0.75 / 1; flex: none; grid-row: span 2; height: var(--framer-aspect-ratio-supported, 267px); justify-self: start; overflow: visible; position: relative; width: 100%; }\",\".framer-SkCHG .framer-tfu9ig { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 14px; height: min-content; justify-content: flex-start; overflow: visible; padding: 24px 0px 24px 0px; position: relative; width: min-content; }\",\".framer-SkCHG .framer-1ic88r6 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-SkCHG .framer-1b76ok3 { background-color: var(--token-142989f0-658c-49a1-883f-0cb84d657d03, #3d65ff); border-bottom-left-radius: 1px; border-bottom-right-radius: 1px; border-top-left-radius: 1px; border-top-right-radius: 1px; flex: none; height: 2px; overflow: hidden; position: relative; width: 86px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SkCHG .framer-t83dym, .framer-SkCHG .framer-r9b77l, .framer-SkCHG .framer-e6x11f { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-SkCHG .framer-a9ln37-container, .framer-SkCHG .framer-1mn6of7-container, .framer-SkCHG .framer-okngb4-container { align-self: stretch; flex: none; height: auto; position: relative; width: auto; }\",\".framer-SkCHG .framer-qgbzlc { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 496px; word-break: break-word; word-wrap: break-word; }\",\".framer-SkCHG .framer-15sbq88 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 419px; word-break: break-word; word-wrap: break-word; }\",\".framer-SkCHG .framer-f2974s { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 330px; word-break: break-word; word-wrap: break-word; }\",\".framer-SkCHG .framer-jsjb76 { align-content: center; align-items: center; align-self: stretch; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 24px; position: relative; width: auto; }\",\".framer-SkCHG .framer-1wd35on { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 100px; height: min-content; justify-content: flex-start; max-width: 1200px; overflow: visible; padding: 24px 10px 104px 10px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-oemwdh { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-c9j872 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 342px; }\",\".framer-SkCHG .framer-3gdzr2 { background-color: var(--token-142989f0-658c-49a1-883f-0cb84d657d03, #3d65ff); border-bottom-left-radius: 1px; border-bottom-right-radius: 1px; border-top-left-radius: 1px; border-top-right-radius: 1px; flex: 1 0 0px; height: 2px; overflow: hidden; position: relative; width: 1px; will-change: var(--framer-will-change-override, transform); }\",\".framer-SkCHG .framer-4ggbct { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: 300px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-1xob8pg-container, .framer-SkCHG .framer-rpke92-container, .framer-SkCHG .framer-1365n7n-container { flex: 1 0 0px; height: 100%; position: relative; width: 1px; }\",\".framer-SkCHG .framer-1bof9dk { background-color: #ffffff; display: grid; flex: none; gap: 10px; grid-auto-rows: minmax(0, 1fr); grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); height: 760px; justify-content: center; max-width: 1200px; overflow: visible; padding: 0px; position: relative; scroll-margin-top: 40px; width: 100%; }\",\".framer-SkCHG .framer-hz004h { align-content: flex-start; align-items: flex-start; align-self: start; background-color: #f3f8ff; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; border-top-left-radius: 50px; border-top-right-radius: 50px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 38px; height: 100%; justify-content: flex-start; justify-self: start; overflow: hidden; padding: 16px 0px 0px 16px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-SkCHG .framer-ggtvm1, .framer-SkCHG .framer-e7uc1h { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-131xb4s-container, .framer-SkCHG .framer-hfz2qp-container, .framer-SkCHG .framer-nnka9e-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 75px); position: relative; width: 72px; }\",\".framer-SkCHG .framer-1lvfoqp { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 38px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 0px 0px 20px; position: relative; width: min-content; z-index: 1; }\",\".framer-SkCHG .framer-14ffh6t { align-content: center; align-items: center; align-self: end; background-color: #dfecf2; border-bottom-left-radius: 50px; border-bottom-right-radius: 120px; border-top-left-radius: 120px; border-top-right-radius: 120px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 38px; grid-row: span 2; height: 100%; justify-content: flex-start; justify-self: end; overflow: visible; padding: 40px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-7ap79c { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-11o0ju3, .framer-SkCHG .framer-opev9w, .framer-SkCHG .framer-qa1fto, .framer-SkCHG .framer-rv26w5, .framer-SkCHG .framer-1utyvey, .framer-SkCHG .framer-1f6er1x, .framer-SkCHG .framer-1kcdkga, .framer-SkCHG .framer-4w6yzq, .framer-SkCHG .framer-2lvgy9, .framer-SkCHG .framer-1ji8uuj, .framer-SkCHG .framer-1d05b6f, .framer-SkCHG .framer-1huz0f0, .framer-SkCHG .framer-89b2nt, .framer-SkCHG .framer-vnwj8t, .framer-SkCHG .framer-2sn7t9 { -webkit-user-select: none; flex: none; height: auto; pointer-events: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-SkCHG .framer-v327uq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 40px 0px 40px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-1cgy8ao, .framer-SkCHG .framer-1jlca97, .framer-SkCHG .framer-4rgvgt, .framer-SkCHG .framer-wb2r9h, .framer-SkCHG .framer-zx7c21, .framer-SkCHG .framer-purgqj, .framer-SkCHG .framer-hiuzq3 { align-content: center; align-items: center; background-color: #ffffff; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 53px; justify-content: center; overflow: visible; padding: 20px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-16foqzu, .framer-SkCHG .framer-l8ztoi, .framer-SkCHG .framer-1nn7rqo, .framer-SkCHG .framer-1wdca6n, .framer-SkCHG .framer-12knw47, .framer-SkCHG .framer-6jz5nx, .framer-SkCHG .framer-pfp3tv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-dx3vgt { align-content: flex-start; align-items: flex-start; align-self: start; background-color: #f3f8ff; border-bottom-left-radius: 50px; border-bottom-right-radius: 50px; border-top-left-radius: 50px; border-top-right-radius: 50px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 35px; height: 100%; justify-content: flex-start; justify-self: start; overflow: hidden; padding: 16px 12px 0px 16px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); }\",\".framer-SkCHG .framer-komltn, .framer-SkCHG .framer-uym3ii { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-xb3u4e-container { flex: none; height: 102px; position: relative; width: 432px; }\",\".framer-SkCHG .framer-13c5mmz { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 60px 0px 0px 0px; position: relative; width: 100%; }\",\".framer-SkCHG .framer-g2td7e-container { flex: 1 0 0px; height: auto; max-width: 1400px; position: relative; width: 1px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,\"@media (min-width: 810px) and (max-width: 1199.98px) { .framer-SkCHG.framer-72rtr7 { width: 810px; } .framer-SkCHG .framer-1p3qwc9 { padding: 0px 16px 0px 16px; } .framer-SkCHG .framer-kq2uqb { width: 62%; } .framer-SkCHG .framer-e70s8v, .framer-SkCHG .framer-10yz6g4-container { order: 0; } .framer-SkCHG .framer-j0o75a, .framer-SkCHG .framer-rv7iwh-container, .framer-SkCHG .framer-f7zret { order: 1; } .framer-SkCHG .framer-6fl4sn { order: 2; } .framer-SkCHG .framer-7132v9 { flex-wrap: wrap; gap: 10px; order: 3; } .framer-SkCHG .framer-7xpnr5 { order: 4; } .framer-SkCHG .framer-1s4bacd { height: var(--framer-aspect-ratio-supported, 31px); width: 31px; } .framer-SkCHG .framer-exbfa5-container, .framer-SkCHG .framer-ein0hc-container, .framer-SkCHG .framer-148p3n5-container, .framer-SkCHG .framer-kzmto7-container, .framer-SkCHG .framer-1lvfttz-container { height: var(--framer-aspect-ratio-supported, 30px); width: 27px; } .framer-SkCHG .framer-hbi5nm { padding: 0px; } .framer-SkCHG .framer-1hgab72-container { bottom: -11px; height: var(--framer-aspect-ratio-supported, 113px); left: -10px; width: 40%; } .framer-SkCHG .framer-oada8d { flex: 1 0 0px; height: 423px; max-height: 580px; width: 1px; } .framer-SkCHG .framer-1bkm9x0 { align-content: center; align-items: center; height: 640px; } .framer-SkCHG .framer-eior7h-container { height: var(--framer-aspect-ratio-supported, 535px); order: 0; top: 360px; } .framer-SkCHG .framer-tfu9ig, .framer-SkCHG .framer-xb3u4e-container { flex: 1 0 0px; width: 1px; } .framer-SkCHG .framer-t83dym, .framer-SkCHG .framer-r9b77l, .framer-SkCHG .framer-15sbq88, .framer-SkCHG .framer-e6x11f, .framer-SkCHG .framer-f2974s { width: 100%; } .framer-SkCHG .framer-a9ln37-container { align-self: unset; order: 0; width: 100%; } .framer-SkCHG .framer-qgbzlc { order: 1; width: 100%; } .framer-SkCHG .framer-1mn6of7-container, .framer-SkCHG .framer-okngb4-container, .framer-SkCHG .framer-jsjb76 { align-self: unset; width: 100%; } .framer-SkCHG .framer-1wd35on { gap: 38px; padding: 60px 0px 104px 10px; } .framer-SkCHG .framer-4ggbct { align-content: flex-start; align-items: flex-start; height: min-content; } .framer-SkCHG .framer-1xob8pg-container, .framer-SkCHG .framer-rpke92-container { height: 300px; } .framer-SkCHG .framer-1365n7n-container { height: auto; }}\",\"@media (max-width: 809.98px) { .framer-SkCHG.framer-72rtr7 { width: 390px; } .framer-SkCHG .framer-1p3qwc9 { padding: 0px 0px 40px 0px; } .framer-SkCHG .framer-8yzgb7, .framer-SkCHG .framer-4ggbct { flex-direction: column; height: min-content; } .framer-SkCHG .framer-1qe1l8i { flex: none; order: 2; width: 100%; } .framer-SkCHG .framer-rk8mbc-container, .framer-SkCHG .framer-j0o75a, .framer-SkCHG .framer-9f3raz { order: 1; } .framer-SkCHG .framer-1rciai5-container, .framer-SkCHG .framer-e70s8v, .framer-SkCHG .framer-1vdnnvd { order: 0; } .framer-SkCHG .framer-kq2uqb { gap: 12px; order: 0; padding: 0px 0px 0px 10px; width: 100%; } .framer-SkCHG .framer-6fl4sn { order: 2; } .framer-SkCHG .framer-1xqd6am-container { height: var(--framer-aspect-ratio-supported, 278px); order: 3; } .framer-SkCHG .framer-hbi5nm { flex: none; order: 1; overflow: hidden; padding: 0px; width: 100%; } .framer-SkCHG .framer-oada8d { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; height: 317px; width: 270px; } .framer-SkCHG .framer-eqebhu { scroll-margin-top: unset; } .framer-SkCHG .framer-1bkm9x0 { flex-direction: column; height: min-content; scroll-margin-top: unset; } .framer-SkCHG .framer-f7zret { flex: none; flex-direction: column; height: min-content; order: 1; width: 100%; } .framer-SkCHG .framer-1ap13z8 { flex: none; width: 100%; } .framer-SkCHG .framer-1gmvzou { order: 3; } .framer-SkCHG .framer-1elapxq { height: var(--framer-aspect-ratio-supported, 240px); order: 2; } .framer-SkCHG .framer-tfu9ig { padding: 24px 10px 24px 10px; width: 100%; } .framer-SkCHG .framer-t83dym, .framer-SkCHG .framer-qgbzlc, .framer-SkCHG .framer-r9b77l, .framer-SkCHG .framer-15sbq88, .framer-SkCHG .framer-e6x11f, .framer-SkCHG .framer-f2974s { width: 100%; } .framer-SkCHG .framer-a9ln37-container, .framer-SkCHG .framer-1mn6of7-container, .framer-SkCHG .framer-okngb4-container, .framer-SkCHG .framer-jsjb76 { align-self: unset; width: 100%; } .framer-SkCHG .framer-1wd35on { gap: 38px; } .framer-SkCHG .framer-1xob8pg-container, .framer-SkCHG .framer-rpke92-container, .framer-SkCHG .framer-1365n7n-container { flex: none; height: auto; width: 100%; } .framer-SkCHG .framer-1bof9dk { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: min-content; padding: 0px 10px 0px 10px; scroll-margin-top: unset; } .framer-SkCHG .framer-hz004h { align-self: unset; gap: 10px; height: min-content; order: 0; padding: 16px 0px 20px 16px; } .framer-SkCHG .framer-1lvfoqp { gap: 10px; } .framer-SkCHG .framer-14ffh6t { align-self: unset; border-bottom-right-radius: 50px; border-top-left-radius: 50px; border-top-right-radius: 50px; height: min-content; order: 2; } .framer-SkCHG .framer-v327uq { padding: 0px; } .framer-SkCHG .framer-dx3vgt { align-self: unset; height: min-content; order: 1; padding: 16px 12px 20px 16px; } .framer-SkCHG .framer-xb3u4e-container { flex: 1 0 0px; width: 1px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 4274\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"cbmyWCko0\":{\"layout\":[\"fixed\",\"auto\"]},\"A3uxnAqTm\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections {\"TypDX9Kth\":{\"pattern\":\":TypDX9Kth\",\"name\":\"services\"},\"ENfl_zebx\":{\"pattern\":\":ENfl_zebx\",\"name\":\"about-us\"},\"pvJFFVmbw\":{\"pattern\":\":pvJFFVmbw\",\"name\":\"contact-info\"}}\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FrameraugiA20Il=withCSS(Component,css,\"framer-SkCHG\");export default FrameraugiA20Il;FrameraugiA20Il.displayName=\"Home\";FrameraugiA20Il.defaultProps={height:4274,width:1200};addFonts(FrameraugiA20Il,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Plus Jakarta Sans\",source:\"google\",style:\"normal\",uiFamilyName:\"Plus Jakarta Sans\",url:\"https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NTxXUEKi4Rw.woff2\",weight:\"400\"}]},...NavBarFonts,...ShaderGradientFonts,...ButtonFonts,...PhosphorFonts,...EmbedFonts,...ServiceSectionFonts,...DotLottieFonts,...TextIconFonts,...TestimonialFonts,...ContactFonts,...ArrowButtonFonts,...FooterCopyFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts)],{supportsExplicitInterCodegen:true});FrameraugiA20Il.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(NavBar,{},context),forwardLoader(Button,{},context),forwardLoader(ServiceSection,{},context),forwardLoader(TextIcon,{},context),forwardLoader(Testimonial,{},context),forwardLoader(Contact,{},context),forwardLoader(ArrowButton,{},context),forwardLoader(FooterCopy,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameraugiA20Il\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cbmyWCko0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"A3uxnAqTm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerScrollSections\":\"{\\\"TypDX9Kth\\\":{\\\"pattern\\\":\\\":TypDX9Kth\\\",\\\"name\\\":\\\"services\\\"},\\\"ENfl_zebx\\\":{\\\"pattern\\\":\\\":ENfl_zebx\\\",\\\"name\\\":\\\"about-us\\\"},\\\"pvJFFVmbw\\\":{\\\"pattern\\\":\\\":pvJFFVmbw\\\",\\\"name\\\":\\\"contact-info\\\"}}\",\"framerResponsiveScreen\":\"true\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"4274\"}},\"queryParamNames\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (af253fe)\nconst snippets=[];const queryLoaders={};export const snippetsSorting={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};export async function getSnippets(pageId,pathVariables,activeLocale){const queryLoader=queryLoaders[pageId];const params=queryLoader?await queryLoader(pathVariables,activeLocale):undefined;const result={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};for(const snippet of snippets){if(snippet.pageIds&&!snippet.pageIds.has(pageId))continue;const code=snippet.code(params);if(code){result[snippet.placement].push({...snippet,code});}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"snippetsSorting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSnippets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{withCSS}from\"framer\";const NotFoundPage=()=>{React.useEffect(()=>{let robotsTag=document.querySelector('meta[name=\"robots\"]');if(robotsTag){robotsTag.setAttribute(\"content\",\"noindex\");}else{robotsTag=document.createElement(\"meta\");robotsTag.setAttribute(\"name\",\"robots\");robotsTag.setAttribute(\"content\",\"noindex\");document.head.appendChild(robotsTag);}},[]);return /*#__PURE__*/_jsx(\"div\",{className:\"__framer-not-found-page\",style:{display:\"flex\",height:\"100vh\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"var(--color-primary)\",background:\"var(--color-background)\",fontSize:\"var(--font-size-body)\",boxSizing:\"border-box\",fontFeatureSettings:'\"liga\", \"clig\"',fontVariantLigatures:\"common-ligatures\",textRendering:\"optimizeLegibility\"},children:/*#__PURE__*/_jsxs(\"main\",{style:{boxSizing:\"border-box\",fontFamily:'\"Inter\", sans-serif',fontWeight:500,maxWidth:\"240px\",width:\"100%\",display:\"flex\",alignItems:\"center\",flexDirection:\"column\",padding:\"0 20px\",textWrap:\"balance\"},children:[/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"21\",style:{verticalAlign:\"middle\",color:\"var(--color-primary)\",marginBottom:\"20px\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M 14 0 L 14 7 L 7 7 L 0 0 Z M 14 14 L 7 14 L 7 21 L 0 14 L 0 7 L 7 7 Z\",fill:\"currentColor\"})}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:\"0 0 10px 0\",fontSize:\"var(--font-size-title)\",color:\"var(--color-primary)\",textAlign:\"center\"},children:\"Page Not Found\"}),/*#__PURE__*/_jsx(\"div\",{style:{color:\"var(--color-secondary)\",marginBottom:\"20px\",lineHeight:\"1.5em\",textAlign:\"center\"},children:\"The page you are looking for does not exist or may have been moved.\"}),/*#__PURE__*/_jsx(\"a\",{href:\"/\",role:\"button\",style:{backgroundColor:\"var(--color-tint)\",color:\"#ffffff\",paddingLeft:\"8px\",paddingRight:\"8px\",borderRadius:\"8px\",lineHeight:\"30px\",height:\"30px\",textDecoration:\"none\",verticalAlign:\"baseline\"},children:\"Back to Home\"})]})});};const css=[`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/hyOgCu0Xnghbimh0pE8QTvtt2AU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/NeGmSOXrPBfEFIy5YZeHq17LEDA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/oYaAX5himiTPYuN8vLWnqBbfD2s.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/lEJLP4R0yuCaMCjSXYHtJw72M.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/cRJyLNuTJR5jbyKzGi33wU9cqIQ.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/1ZFS7N918ojhhd0nQWdj3jz4w.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/A0Wcc7NgXMjUuFdquHDrIZpzZw0.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 600;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\n        U+FE2E-FE2F;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+1F00-1FFF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0370-03FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,\n        U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/d3tHnaQIAeqiE5hGcRw4mmgWYU.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,\n        U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,\n        U+2212, U+2215, U+FEFF, U+FFFD;\n    }`,`@font-face {\n      font-family: Inter;\n      src: url(https://framerusercontent.com/assets/DolVirEGb34pEXEp8t8FQBSK4.woff2);\n      font-display: swap;\n      font-style: normal;\n      font-weight: 500;\n      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,\n        U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n    }`,`@font-face {\n      font-family: Inter Placeholder;\n      src: local(\"Arial\");\n      ascent-override: 89.79%;\n      descent-override: 22.36%;\n      line-gap-override: 0%;\n      size-adjust: 107.89%;\n    }`,`.__framer-not-found-page {\n      --color-background: #ffffff;\n      --color-primary: #333;\n      --color-secondary: #888;\n      --color-tint: #0099ff;\n      --font-size-body: 12px;\n      --font-size-title: 12px;\n    }`,`@media (prefers-color-scheme: dark) {\n      .__framer-not-found-page {\n        --color-background: #000000;\n        --color-primary: #fff;\n        --color-secondary: #888;\n      }\n    }`];const component=withCSS(NotFoundPage,css);export default component;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"component\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NotFoundPage.map","/*\n * NotFoundPage (framer/SitesNotFoundPage@1.4.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\nexport { default } from \"https://framerusercontent.com/modules/7cPhjQw0EGNBHRZlzbhH/4hSO1fMoujYmMhk8FjXZ/NotFoundPage.js\"\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self)[\"dotlottie-player\"]={})}(this,(function(exports){\"use strict\";function _typeof(t){return(_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var REACT_ELEMENT_TYPE;function _jsx(t,e,r,i){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103);var n=t&&t.defaultProps,s=arguments.length-3;if(e||0===s||(e={children:void 0}),1===s)e.children=i;else if(s>1){for(var a=new Array(s),o=0;o<s;o++)a[o]=arguments[o+3];e.children=a}if(e&&n)for(var h in n)void 0===e[h]&&(e[h]=n[h]);else e||(e=n||{});return{$$typeof:REACT_ELEMENT_TYPE,type:t,key:void 0===r?null:\"\"+r,ref:null,props:e,_owner:null}}function _asyncIterator(t){var e;if(\"undefined\"!=typeof Symbol){if(Symbol.asyncIterator&&null!=(e=t[Symbol.asyncIterator]))return e.call(t);if(Symbol.iterator&&null!=(e=t[Symbol.iterator]))return e.call(t)}throw new TypeError(\"Object is not async iterable\")}function _AwaitValue(t){this.wrapped=t}function _AsyncGenerator(t){var e,r;function i(e,r){try{var s=t[e](r),a=s.value,o=a instanceof _AwaitValue;Promise.resolve(o?a.wrapped:a).then((function(t){o?i(\"return\"===e?\"return\":\"next\",t):n(s.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){n(\"throw\",t)}}function n(t,n){switch(t){case\"return\":e.resolve({value:n,done:!0});break;case\"throw\":e.reject(n);break;default:e.resolve({value:n,done:!1})}(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,n){return new Promise((function(s,a){var o={key:t,arg:n,resolve:s,reject:a,next:null};r?r=r.next=o:(e=r=o,i(t,n))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function _wrapAsyncGenerator(t){return function(){return new _AsyncGenerator(t.apply(this,arguments))}}function _awaitAsyncGenerator(t){return new _AwaitValue(t)}function _asyncGeneratorDelegate(t,e){var r={},i=!1;function n(r,n){return i=!0,n=new Promise((function(e){e(t[r](n))})),{done:!1,value:e(n)}}return\"function\"==typeof Symbol&&Symbol.iterator&&(r[Symbol.iterator]=function(){return this}),r.next=function(t){return i?(i=!1,t):n(\"next\",t)},\"function\"==typeof t.throw&&(r.throw=function(t){if(i)throw i=!1,t;return n(\"throw\",t)}),\"function\"==typeof t.return&&(r.return=function(t){return i?(i=!1,t):n(\"return\",t)}),r}function asyncGeneratorStep(t,e,r,i,n,s,a){try{var o=t[s](a),h=o.value}catch(t){return void r(t)}o.done?e(h):Promise.resolve(h).then(i,n)}function _asyncToGenerator(t){return function(){var e=this,r=arguments;return new Promise((function(i,n){var s=t.apply(e,r);function a(t){asyncGeneratorStep(s,i,n,a,o,\"next\",t)}function o(t){asyncGeneratorStep(s,i,n,a,o,\"throw\",t)}a(void 0)}))}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,r){return e&&_defineProperties(t.prototype,e),r&&_defineProperties(t,r),t}function _defineEnumerableProperties(t,e){for(var r in e){(s=e[r]).configurable=s.enumerable=!0,\"value\"in s&&(s.writable=!0),Object.defineProperty(t,r,s)}if(Object.getOwnPropertySymbols)for(var i=Object.getOwnPropertySymbols(e),n=0;n<i.length;n++){var s,a=i[n];(s=e[a]).configurable=s.enumerable=!0,\"value\"in s&&(s.writable=!0),Object.defineProperty(t,a,s)}return t}function _defaults(t,e){for(var r=Object.getOwnPropertyNames(e),i=0;i<r.length;i++){var n=r[i],s=Object.getOwnPropertyDescriptor(e,n);s&&s.configurable&&void 0===t[n]&&Object.defineProperty(t,n,s)}return t}function _defineProperty(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?Object(arguments[e]):{},i=Object.keys(r);\"function\"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),i.forEach((function(e){_defineProperty(t,e,r[e])}))}return t}function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function _objectSpread2(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach((function(e){_defineProperty(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function _inherits(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_setPrototypeOf(t,e)}function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,_setPrototypeOf(t,e)}function _getPrototypeOf(t){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function _setPrototypeOf(t,e){return(_setPrototypeOf=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function _construct(t,e,r){return(_construct=_isNativeReflectConstruct()?Reflect.construct:function(t,e,r){var i=[null];i.push.apply(i,e);var n=new(Function.bind.apply(t,i));return r&&_setPrototypeOf(n,r.prototype),n}).apply(null,arguments)}function _isNativeFunction(t){return-1!==Function.toString.call(t).indexOf(\"[native code]\")}function _wrapNativeSuper(t){var e=\"function\"==typeof Map?new Map:void 0;return(_wrapNativeSuper=function(t){if(null===t||!_isNativeFunction(t))return t;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return _construct(t,arguments,_getPrototypeOf(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(r,t)})(t)}function _instanceof(t,e){return null!=e&&\"undefined\"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _getRequireWildcardCache(){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap;return _getRequireWildcardCache=function(){return t},t}function _interopRequireWildcard(t){if(t&&t.__esModule)return t;if(null===t||\"object\"!=typeof t&&\"function\"!=typeof t)return{default:t};var e=_getRequireWildcardCache();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function _newArrowCheck(t,e){if(t!==e)throw new TypeError(\"Cannot instantiate an arrow function\")}function _objectDestructuringEmpty(t){if(null==t)throw new TypeError(\"Cannot destructure undefined\")}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};var r,i,n={},s=Object.keys(t);for(i=0;i<s.length;i++)r=s[i],e.indexOf(r)>=0||(n[r]=t[r]);return n}function _objectWithoutProperties(t,e){if(null==t)return{};var r,i,n=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i<s.length;i++)r=s[i],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function _possibleConstructorReturn(t,e){return!e||\"object\"!=typeof e&&\"function\"!=typeof e?_assertThisInitialized(t):e}function _createSuper(t){var e=_isNativeReflectConstruct();return function(){var r,i=_getPrototypeOf(t);if(e){var n=_getPrototypeOf(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return _possibleConstructorReturn(this,r)}}function _superPropBase(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=_getPrototypeOf(t)););return t}function _get(t,e,r){return(_get=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var i=_superPropBase(t,e);if(i){var n=Object.getOwnPropertyDescriptor(i,e);return n.get?n.get.call(r):n.value}})(t,e,r||t)}function set(t,e,r,i){return(set=\"undefined\"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,i){var n,s=_superPropBase(t,e);if(s){if((n=Object.getOwnPropertyDescriptor(s,e)).set)return n.set.call(i,r),!0;if(!n.writable)return!1}if(n=Object.getOwnPropertyDescriptor(i,e)){if(!n.writable)return!1;n.value=r,Object.defineProperty(i,e,n)}else _defineProperty(i,e,r);return!0})(t,e,r,i)}function _set(t,e,r,i,n){if(!set(t,e,r,i||t)&&n)throw new Error(\"failed to set property\");return r}function _taggedTemplateLiteral(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function _taggedTemplateLiteralLoose(t,e){return e||(e=t.slice(0)),t.raw=e,t}function _readOnlyError(t){throw new TypeError('\"'+t+'\" is read-only')}function _writeOnlyError(t){throw new TypeError('\"'+t+'\" is write-only')}function _classNameTDZError(t){throw new Error('Class \"'+t+'\" cannot be referenced in computed property keys.')}function _temporalUndefined(){}function _tdz(t){throw new ReferenceError(t+\" is not defined - temporal dead zone\")}function _temporalRef(t,e){return t===_temporalUndefined?_tdz(e):t}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _slicedToArrayLoose(t,e){return _arrayWithHoles(t)||_iterableToArrayLimitLoose(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _toArray(t){return _arrayWithHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableRest()}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _maybeArrayLike(t,e,r){if(e&&!Array.isArray(e)&&\"number\"==typeof e.length){var i=e.length;return _arrayLikeToArray(e,void 0!==r&&r<i?r:i)}return t(e,r)}function _iterableToArray(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function _iterableToArrayLimit(t,e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],i=!0,n=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(i=(a=o.next()).done)&&(r.push(a.value),!e||r.length!==e);i=!0);}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return r}}function _iterableToArrayLimitLoose(t,e){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t)){for(var r,i=[],n=t[Symbol.iterator]();!(r=n.next()).done&&(i.push(r.value),!e||i.length!==e););return i}}function _unsupportedIterableToArray(t,e){if(t){if(\"string\"==typeof t)return _arrayLikeToArray(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function _nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function _nonIterableRest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function _createForOfIteratorHelper(t,e){var r;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&\"number\"==typeof t.length){r&&(t=r);var i=0,n=function(){};return{s:n,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,a=!0,o=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return a=t.done,t},e:function(t){o=!0,s=t},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw s}}}}function _createForOfIteratorHelperLoose(t,e){var r;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&\"number\"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}return(r=t[Symbol.iterator]()).next.bind(r)}function _skipFirstGeneratorNext(t){return function(){var e=t.apply(this,arguments);return e.next(),e}}function _toPrimitive(t,e){if(\"object\"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||\"default\");if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}function _toPropertyKey(t){var e=_toPrimitive(t,\"string\");return\"symbol\"==typeof e?e:String(e)}function _initializerWarningHelper(t,e){throw new Error(\"Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.\")}function _initializerDefineProperty(t,e,r,i){r&&Object.defineProperty(t,e,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(i):void 0})}function _applyDecoratedDescriptor(t,e,r,i,n){var s={};return Object.keys(i).forEach((function(t){s[t]=i[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,(\"value\"in s||s.initializer)&&(s.writable=!0),s=r.slice().reverse().reduce((function(r,i){return i(t,e,r)||r}),s),n&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(n):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}\"function\"==typeof Symbol&&Symbol.asyncIterator&&(_AsyncGenerator.prototype[Symbol.asyncIterator]=function(){return this}),_AsyncGenerator.prototype.next=function(t){return this._invoke(\"next\",t)},_AsyncGenerator.prototype.throw=function(t){return this._invoke(\"throw\",t)},_AsyncGenerator.prototype.return=function(t){return this._invoke(\"return\",t)};var id=0;function _classPrivateFieldLooseKey(t){return\"__private_\"+id+++\"_\"+t}function _classPrivateFieldLooseBase(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError(\"attempted to use private field on non-instance\");return t}function _classPrivateFieldGet(t,e){return _classApplyDescriptorGet(t,_classExtractFieldDescriptor(t,e,\"get\"))}function _classPrivateFieldSet(t,e,r){return _classApplyDescriptorSet(t,_classExtractFieldDescriptor(t,e,\"set\"),r),r}function _classPrivateFieldDestructureSet(t,e){return _classApplyDescriptorDestructureSet(t,_classExtractFieldDescriptor(t,e,\"set\"))}function _classExtractFieldDescriptor(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to \"+r+\" private field on non-instance\");return e.get(t)}function _classStaticPrivateFieldSpecGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"get\"),_classApplyDescriptorGet(t,r)}function _classStaticPrivateFieldSpecSet(t,e,r,i){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"set\"),_classApplyDescriptorSet(t,r,i),i}function _classStaticPrivateMethodGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),r}function _classStaticPrivateMethodSet(){throw new TypeError(\"attempted to set read only static private field\")}function _classApplyDescriptorGet(t,e){return e.get?e.get.call(t):e.value}function _classApplyDescriptorSet(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError(\"attempted to set read only private field\");e.value=r}}function _classApplyDescriptorDestructureSet(t,e){if(e.set)return\"__destrObj\"in e||(e.__destrObj={set value(r){e.set.call(t,r)}}),e.__destrObj;if(!e.writable)throw new TypeError(\"attempted to set read only private field\");return e}function _classStaticPrivateFieldDestructureSet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,\"set\"),_classApplyDescriptorDestructureSet(t,r)}function _classCheckPrivateStaticAccess(t,e){if(t!==e)throw new TypeError(\"Private static access of wrong provenance\")}function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError(\"attempted to \"+e+\" private static field before its declaration\")}function _decorate(t,e,r,i){var n=_getDecoratorsApi();if(i)for(var s=0;s<i.length;s++)n=i[s](n);var a=e((function(t){n.initializeInstanceElements(t,o.elements)}),r),o=n.decorateClass(_coalesceClassElements(a.d.map(_createElementDescriptor)),t);return n.initializeClassElements(a.F,o.elements),n.runClassFinishers(a.F,o.finishers)}function _getDecoratorsApi(){_getDecoratorsApi=function(){return t};var t={elementsDefinitionOrder:[[\"method\"],[\"field\"]],initializeInstanceElements:function(t,e){[\"method\",\"field\"].forEach((function(r){e.forEach((function(e){e.kind===r&&\"own\"===e.placement&&this.defineClassElement(t,e)}),this)}),this)},initializeClassElements:function(t,e){var r=t.prototype;[\"method\",\"field\"].forEach((function(i){e.forEach((function(e){var n=e.placement;if(e.kind===i&&(\"static\"===n||\"prototype\"===n)){var s=\"static\"===n?t:r;this.defineClassElement(s,e)}}),this)}),this)},defineClassElement:function(t,e){var r=e.descriptor;if(\"field\"===e.kind){var i=e.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===i?void 0:i.call(t)}}Object.defineProperty(t,e.key,r)},decorateClass:function(t,e){var r=[],i=[],n={static:[],prototype:[],own:[]};if(t.forEach((function(t){this.addElementPlacement(t,n)}),this),t.forEach((function(t){if(!_hasDecorators(t))return r.push(t);var e=this.decorateElement(t,n);r.push(e.element),r.push.apply(r,e.extras),i.push.apply(i,e.finishers)}),this),!e)return{elements:r,finishers:i};var s=this.decorateConstructor(r,e);return i.push.apply(i,s.finishers),s.finishers=i,s},addElementPlacement:function(t,e,r){var i=e[t.placement];if(!r&&-1!==i.indexOf(t.key))throw new TypeError(\"Duplicated element (\"+t.key+\")\");i.push(t.key)},decorateElement:function(t,e){for(var r=[],i=[],n=t.decorators,s=n.length-1;s>=0;s--){var a=e[t.placement];a.splice(a.indexOf(t.key),1);var o=this.fromElementDescriptor(t),h=this.toElementFinisherExtras((0,n[s])(o)||o);t=h.element,this.addElementPlacement(t,e),h.finisher&&i.push(h.finisher);var l=h.extras;if(l){for(var p=0;p<l.length;p++)this.addElementPlacement(l[p],e);r.push.apply(r,l)}}return{element:t,finishers:i,extras:r}},decorateConstructor:function(t,e){for(var r=[],i=e.length-1;i>=0;i--){var n=this.fromClassDescriptor(t),s=this.toClassDescriptor((0,e[i])(n)||n);if(void 0!==s.finisher&&r.push(s.finisher),void 0!==s.elements){t=s.elements;for(var a=0;a<t.length-1;a++)for(var o=a+1;o<t.length;o++)if(t[a].key===t[o].key&&t[a].placement===t[o].placement)throw new TypeError(\"Duplicated element (\"+t[a].key+\")\")}}return{elements:t,finishers:r}},fromElementDescriptor:function(t){var e={kind:t.kind,key:t.key,placement:t.placement,descriptor:t.descriptor};return Object.defineProperty(e,Symbol.toStringTag,{value:\"Descriptor\",configurable:!0}),\"field\"===t.kind&&(e.initializer=t.initializer),e},toElementDescriptors:function(t){if(void 0!==t)return _toArray(t).map((function(t){var e=this.toElementDescriptor(t);return this.disallowProperty(t,\"finisher\",\"An element descriptor\"),this.disallowProperty(t,\"extras\",\"An element descriptor\"),e}),this)},toElementDescriptor:function(t){var e=String(t.kind);if(\"method\"!==e&&\"field\"!==e)throw new TypeError('An element descriptor\\'s .kind property must be either \"method\" or \"field\", but a decorator created an element descriptor with .kind \"'+e+'\"');var r=_toPropertyKey(t.key),i=String(t.placement);if(\"static\"!==i&&\"prototype\"!==i&&\"own\"!==i)throw new TypeError('An element descriptor\\'s .placement property must be one of \"static\", \"prototype\" or \"own\", but a decorator created an element descriptor with .placement \"'+i+'\"');var n=t.descriptor;this.disallowProperty(t,\"elements\",\"An element descriptor\");var s={kind:e,key:r,placement:i,descriptor:Object.assign({},n)};return\"field\"!==e?this.disallowProperty(t,\"initializer\",\"A method descriptor\"):(this.disallowProperty(n,\"get\",\"The property descriptor of a field descriptor\"),this.disallowProperty(n,\"set\",\"The property descriptor of a field descriptor\"),this.disallowProperty(n,\"value\",\"The property descriptor of a field descriptor\"),s.initializer=t.initializer),s},toElementFinisherExtras:function(t){return{element:this.toElementDescriptor(t),finisher:_optionalCallableProperty(t,\"finisher\"),extras:this.toElementDescriptors(t.extras)}},fromClassDescriptor:function(t){var e={kind:\"class\",elements:t.map(this.fromElementDescriptor,this)};return Object.defineProperty(e,Symbol.toStringTag,{value:\"Descriptor\",configurable:!0}),e},toClassDescriptor:function(t){var e=String(t.kind);if(\"class\"!==e)throw new TypeError('A class descriptor\\'s .kind property must be \"class\", but a decorator created a class descriptor with .kind \"'+e+'\"');this.disallowProperty(t,\"key\",\"A class descriptor\"),this.disallowProperty(t,\"placement\",\"A class descriptor\"),this.disallowProperty(t,\"descriptor\",\"A class descriptor\"),this.disallowProperty(t,\"initializer\",\"A class descriptor\"),this.disallowProperty(t,\"extras\",\"A class descriptor\");var r=_optionalCallableProperty(t,\"finisher\");return{elements:this.toElementDescriptors(t.elements),finisher:r}},runClassFinishers:function(t,e){for(var r=0;r<e.length;r++){var i=(0,e[r])(t);if(void 0!==i){if(\"function\"!=typeof i)throw new TypeError(\"Finishers must return a constructor.\");t=i}}return t},disallowProperty:function(t,e,r){if(void 0!==t[e])throw new TypeError(r+\" can't have a .\"+e+\" property.\")}};return t}function _createElementDescriptor(t){var e,r=_toPropertyKey(t.key);\"method\"===t.kind?e={value:t.value,writable:!0,configurable:!0,enumerable:!1}:\"get\"===t.kind?e={get:t.value,configurable:!0,enumerable:!1}:\"set\"===t.kind?e={set:t.value,configurable:!0,enumerable:!1}:\"field\"===t.kind&&(e={configurable:!0,writable:!0,enumerable:!0});var i={kind:\"field\"===t.kind?\"field\":\"method\",key:r,placement:t.static?\"static\":\"field\"===t.kind?\"own\":\"prototype\",descriptor:e};return t.decorators&&(i.decorators=t.decorators),\"field\"===t.kind&&(i.initializer=t.value),i}function _coalesceGetterSetter(t,e){void 0!==t.descriptor.get?e.descriptor.get=t.descriptor.get:e.descriptor.set=t.descriptor.set}function _coalesceClassElements(t){for(var e=[],r=function(t){return\"method\"===t.kind&&t.key===s.key&&t.placement===s.placement},i=0;i<t.length;i++){var n,s=t[i];if(\"method\"===s.kind&&(n=e.find(r)))if(_isDataDescriptor(s.descriptor)||_isDataDescriptor(n.descriptor)){if(_hasDecorators(s)||_hasDecorators(n))throw new ReferenceError(\"Duplicated methods (\"+s.key+\") can't be decorated.\");n.descriptor=s.descriptor}else{if(_hasDecorators(s)){if(_hasDecorators(n))throw new ReferenceError(\"Decorators can't be placed on different accessors with for the same property (\"+s.key+\").\");n.decorators=s.decorators}_coalesceGetterSetter(s,n)}else e.push(s)}return e}function _hasDecorators(t){return t.decorators&&t.decorators.length}function _isDataDescriptor(t){return void 0!==t&&!(void 0===t.value&&void 0===t.writable)}function _optionalCallableProperty(t,e){var r=t[e];if(void 0!==r&&\"function\"!=typeof r)throw new TypeError(\"Expected '\"+e+\"' to be a function\");return r}function _classPrivateMethodGet(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return r}function _classPrivateMethodSet(){throw new TypeError(\"attempted to reassign private method\")}function _wrapRegExp(t,e){_wrapRegExp=function(t,e){return new s(t,void 0,e)};var r=_wrapNativeSuper(RegExp),i=RegExp.prototype,n=new WeakMap;function s(t,e,i){var s=r.call(this,t,e);return n.set(s,i||n.get(t)),s}function a(t,e){var r=n.get(e);return Object.keys(r).reduce((function(e,i){return e[i]=t[r[i]],e}),Object.create(null))}return _inherits(s,r),s.prototype.exec=function(t){var e=i.exec.call(this,t);return e&&(e.groups=a(e,this)),e},s.prototype[Symbol.replace]=function(t,e){if(\"string\"==typeof e){var r=n.get(this);return i[Symbol.replace].call(this,t,e.replace(/\\$<([^>]+)>/g,(function(t,e){return\"$\"+r[e]})))}if(\"function\"==typeof e){var s=this;return i[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),\"object\"!=typeof t[t.length-1]&&t.push(a(t,s)),e.apply(this,t)}))}return i[Symbol.replace].call(this,t,e)},_wrapRegExp.apply(this,arguments)}\n/*! *****************************************************************************\n  Copyright (c) Microsoft Corporation.\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n  AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n  PERFORMANCE OF THIS SOFTWARE.\n  ***************************************************************************** */var extendStatics=function(t,e){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function __extends(t,e){function r(){this.constructor=t}extendStatics(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var __assign=function(){return(__assign=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};function __rest(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]])}return r}function __decorate(t,e,r,i){var n,s=arguments.length,a=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,i);else for(var o=t.length-1;o>=0;o--)(n=t[o])&&(a=(s<3?n(a):s>3?n(e,r,a):n(e,r))||a);return s>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,i){e(r,i,t)}}function __metadata(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,i){return new(r||(r=Promise))((function(n,s){function a(t){try{h(i.next(t))}catch(t){s(t)}}function o(t){try{h(i.throw(t))}catch(t){s(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,o)}h((i=i.apply(t,e||[])).next())}))}function __generator(t,e){var r,i,n,s,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(r)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,o])}}}function __createBinding(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}function __exportStar(t,e){for(var r in t)\"default\"===r||e.hasOwnProperty(r)||(e[r]=t[r])}function __values(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(t,e){var r=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,s=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a}function __spread(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(__read(arguments[e]));return t}function __spreadArrays(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var i=Array(t),n=0;for(e=0;e<r;e++)for(var s=arguments[e],a=0,o=s.length;a<o;a++,n++)i[n]=s[a];return i}function __await(t){return this instanceof __await?(this.v=t,this):new __await(t)}function __asyncGenerator(t,e,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i,n=r.apply(t,e||[]),s=[];return i={},a(\"next\"),a(\"throw\"),a(\"return\"),i[Symbol.asyncIterator]=function(){return this},i;function a(t){n[t]&&(i[t]=function(e){return new Promise((function(r,i){s.push([t,e,r,i])>1||o(t,e)}))})}function o(t,e){try{!function(t){t.value instanceof __await?Promise.resolve(t.value.v).then(h,l):p(s[0][2],t)}(n[t](e))}catch(t){p(s[0][3],t)}}function h(t){o(\"next\",t)}function l(t){o(\"throw\",t)}function p(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}}function __asyncDelegator(t){var e,r;return e={},i(\"next\"),i(\"throw\",(function(t){throw t})),i(\"return\"),e[Symbol.iterator]=function(){return this},e;function i(i,n){e[i]=t[i]?function(e){return(r=!r)?{value:__await(t[i](e)),done:\"return\"===i}:n?n(e):e}:n}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=\"function\"==typeof __values?__values(t):t[Symbol.iterator](),e={},i(\"next\"),i(\"throw\"),i(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(e){return new Promise((function(i,n){(function(t,e,r,i){Promise.resolve(i).then((function(e){t({value:e,done:r})}),e)})(i,n,(e=t[r](e)).done,e.value)}))}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}function __classPrivateFieldGet(t,e){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return e.get(t)}function __classPrivateFieldSet(t,e,r){if(!e.has(t))throw new TypeError(\"attempted to set private field on non-instance\");return e.set(t,r),r}\n/**\n   * @license\n   * Copyright 2019 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */const t$3=window,e$9=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s$3=Symbol(),n$4=new WeakMap;class o$6{constructor(t,e,r){if(this._$cssResult$=!0,r!==s$3)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(e$9&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=n$4.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&n$4.set(e,t))}return t}toString(){return this.cssText}}const r$3=t=>new o$6(\"string\"==typeof t?t:t+\"\",void 0,s$3),i$3=(t,...e)=>{const r=1===t.length?t[0]:e.reduce((e,r,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(r)+t[i+1],t[0]);return new o$6(r,t,s$3)},S$1=(t,e)=>{e$9?t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):e.forEach(e=>{const r=document.createElement(\"style\"),i=t$3.litNonce;void 0!==i&&r.setAttribute(\"nonce\",i),r.textContent=e.cssText,t.appendChild(r)})},c$1=e$9?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const r of t.cssRules)e+=r.cssText;return r$3(e)})(t):t\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */;var s$2;const e$8=window,r$2=e$8.trustedTypes,h$2=r$2?r$2.emptyScript:\"\",o$5=e$8.reactiveElementPolyfillSupport,n$3={toAttribute(t,e){switch(e){case Boolean:t=t?h$2:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},a$1=(t,e)=>e!==t&&(e==e||t==t),l$3={attribute:!0,type:String,converter:n$3,reflect:!1,hasChanged:a$1};class d$1 extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach((e,r)=>{const i=this._$Ep(r,e);void 0!==i&&(this._$Ev.set(i,r),t.push(i))}),t}static createProperty(t,e=l$3){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const r=\"symbol\"==typeof t?Symbol():\"__\"+t,i=this.getPropertyDescriptor(t,r,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdate(t,n,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l$3}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const r of e)this.createProperty(r,t[r])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(c$1(t))}else void 0!==t&&e.push(c$1(t));return e}static _$Ep(t,e){const r=e.attribute;return!1===r?void 0:\"string\"==typeof r?r:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach(t=>t(this))}addController(t){var e,r;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(r=t.hostConnected)||void 0===r||r.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])})}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return S$1(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)})}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e,r=l$3){var i;const n=this.constructor._$Ep(t,r);if(void 0!==n&&!0===r.reflect){const s=(void 0!==(null===(i=r.converter)||void 0===i?void 0:i.toAttribute)?r.converter:n$3).toAttribute(e,r.type);this._$El=t,null==s?this.removeAttribute(n):this.setAttribute(n,s),this._$El=null}}_$AK(t,e){var r;const i=this.constructor,n=i._$Ev.get(t);if(void 0!==n&&this._$El!==n){const t=i.getPropertyOptions(n),s=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(r=t.converter)||void 0===r?void 0:r.fromAttribute)?t.converter:n$3;this._$El=n,this[n]=s.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,r){let i=!0;void 0!==t&&(((r=r||this.constructor.getPropertyOptions(t)).hasChanged||a$1)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,r))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((t,e)=>this[e]=t),this._$Ei=void 0);let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)}),this.update(r)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(r)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach(t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach((t,e)=>this._$EO(e,this[e],t)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */\nvar t$2;d$1.finalized=!0,d$1.elementProperties=new Map,d$1.elementStyles=[],d$1.shadowRootOptions={mode:\"open\"},null==o$5||o$5({ReactiveElement:d$1}),(null!==(s$2=e$8.reactiveElementVersions)&&void 0!==s$2?s$2:e$8.reactiveElementVersions=[]).push(\"1.4.2\");const i$2=window,s$1=i$2.trustedTypes,e$7=s$1?s$1.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o$4=`lit$${(Math.random()+\"\").slice(9)}$`,n$2=\"?\"+o$4,l$2=`<${n$2}>`,h$1=document,r$1=(t=\"\")=>h$1.createComment(t),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,c=t=>u(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,a=/-->/g,f=/>/g,_=RegExp(\">|[ \\t\\n\\f\\r](?:([^\\\\s\\\"'>=/]+)([ \\t\\n\\f\\r]*=[ \\t\\n\\f\\r]*(?:[^ \\t\\n\\f\\r\\\"'`<>=]|(\\\"|')|))|$)\",\"g\"),m=/'/g,p=/\"/g,$=/^(?:script|style|textarea|title)$/i,g=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),y=g(1),w=g(2),x=Symbol.for(\"lit-noChange\"),b=Symbol.for(\"lit-nothing\"),T=new WeakMap,A=h$1.createTreeWalker(h$1,129,null,!1),E=(t,e)=>{const r=t.length-1,i=[];let n,s=2===e?\"<svg>\":\"\",o=v;for(let e=0;e<r;e++){const r=t[e];let h,l,c=-1,u=0;for(;u<r.length&&(o.lastIndex=u,l=o.exec(r),null!==l);)u=o.lastIndex,o===v?\"!--\"===l[1]?o=a:void 0!==l[1]?o=f:void 0!==l[2]?($.test(l[2])&&(n=RegExp(\"</\"+l[2],\"g\")),o=_):void 0!==l[3]&&(o=_):o===_?\">\"===l[0]?(o=null!=n?n:v,c=-1):void 0===l[1]?c=-2:(c=o.lastIndex-l[2].length,h=l[1],o=void 0===l[3]?_:'\"'===l[3]?p:m):o===p||o===m?o=_:o===a||o===f?o=v:(o=_,n=void 0);const d=o===_&&t[e+1].startsWith(\"/>\")?\" \":\"\";s+=o===v?r+l$2:c>=0?(i.push(h),r.slice(0,c)+\"$lit$\"+r.slice(c)+o$4+d):r+o$4+(-2===c?(i.push(void 0),e):d)}const h=s+(t[r]||\"<?>\")+(2===e?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e$7?e$7.createHTML(h):h,i]};class C{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let n=0,s=0;const a=t.length-1,o=this.parts,[h,l]=E(t,e);if(this.el=C.createElement(h,r),A.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=A.nextNode())&&o.length<a;){if(1===i.nodeType){if(i.hasAttributes()){const t=[];for(const e of i.getAttributeNames())if(e.endsWith(\"$lit$\")||e.startsWith(o$4)){const r=l[s++];if(t.push(e),void 0!==r){const t=i.getAttribute(r.toLowerCase()+\"$lit$\").split(o$4),e=/([.?@])?(.*)/.exec(r);o.push({type:1,index:n,name:e[2],strings:t,ctor:\".\"===e[1]?M:\"?\"===e[1]?k:\"@\"===e[1]?H:S})}else o.push({type:6,index:n})}for(const e of t)i.removeAttribute(e)}if($.test(i.tagName)){const t=i.textContent.split(o$4),e=t.length-1;if(e>0){i.textContent=s$1?s$1.emptyScript:\"\";for(let r=0;r<e;r++)i.append(t[r],r$1()),A.nextNode(),o.push({type:2,index:++n});i.append(t[e],r$1())}}}else if(8===i.nodeType)if(i.data===n$2)o.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(o$4,t+1));)o.push({type:7,index:n}),t+=o$4.length-1}n++}}static createElement(t,e){const r=h$1.createElement(\"template\");return r.innerHTML=t,r}}function P(t,e,r=t,i){var n,s,a,o;if(e===x)return e;let h=void 0!==i?null===(n=r._$Co)||void 0===n?void 0:n[i]:r._$Cl;const l=d(e)?void 0:e._$litDirective$;return(null==h?void 0:h.constructor)!==l&&(null===(s=null==h?void 0:h._$AO)||void 0===s||s.call(h,!1),void 0===l?h=void 0:(h=new l(t),h._$AT(t,r,i)),void 0!==i?(null!==(a=(o=r)._$Co)&&void 0!==a?a:o._$Co=[])[i]=h:r._$Cl=h),void 0!==h&&(e=P(t,h._$AS(t,e.values),h,i)),e}class V{constructor(t,e){this.u=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}v(t){var e;const{el:{content:r},parts:i}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:h$1).importNode(r,!0);A.currentNode=n;let s=A.nextNode(),a=0,o=0,h=i[0];for(;void 0!==h;){if(a===h.index){let e;2===h.type?e=new N(s,s.nextSibling,this,t):1===h.type?e=new h.ctor(s,h.name,h.strings,this,t):6===h.type&&(e=new I(s,this,t)),this.u.push(e),h=i[++o]}a!==(null==h?void 0:h.index)&&(s=A.nextNode(),a++)}return n}p(t){let e=0;for(const r of this.u)void 0!==r&&(void 0!==r.strings?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class N{constructor(t,e,r,i){var n;this.type=2,this._$AH=b,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this._$Cm=null===(n=null==i?void 0:i.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cm}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=P(this,t,e),d(t)?t===b||null==t||\"\"===t?(this._$AH!==b&&this._$AR(),this._$AH=b):t!==this._$AH&&t!==x&&this.g(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):c(t)?this.k(t):this.g(t)}O(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}g(t){this._$AH!==b&&d(this._$AH)?this._$AA.nextSibling.data=t:this.T(h$1.createTextNode(t)),this._$AH=t}$(t){var e;const{values:r,_$litType$:i}=t,n=\"number\"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=C.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.p(r);else{const t=new V(n,this),e=t.v(this.options);t.p(r),this.T(e),this._$AH=t}}_$AC(t){let e=T.get(t.strings);return void 0===e&&T.set(t.strings,e=new C(t)),e}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,i=0;for(const n of t)i===e.length?e.push(r=new N(this.O(r$1()),this.O(r$1()),this,this.options)):r=e[i],r._$AI(n),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var r;for(null===(r=this._$AP)||void 0===r||r.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cm=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class S{constructor(t,e,r,i,n){this.type=1,this._$AH=b,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,r.length>2||\"\"!==r[0]||\"\"!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=b}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,r,i){const n=this.strings;let s=!1;if(void 0===n)t=P(this,t,e,0),s=!d(t)||t!==this._$AH&&t!==x,s&&(this._$AH=t);else{const i=t;let a,o;for(t=n[0],a=0;a<n.length-1;a++)o=P(this,i[r+a],e,a),o===x&&(o=this._$AH[a]),s||(s=!d(o)||o!==this._$AH[a]),o===b?t=b:t!==b&&(t+=(null!=o?o:\"\")+n[a+1]),this._$AH[a]=o}s&&!i&&this.j(t)}j(t){t===b?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===b?void 0:t}}const R=s$1?s$1.emptyScript:\"\";class k extends S{constructor(){super(...arguments),this.type=4}j(t){t&&t!==b?this.element.setAttribute(this.name,R):this.element.removeAttribute(this.name)}}class H extends S{constructor(t,e,r,i,n){super(t,e,r,i,n),this.type=5}_$AI(t,e=this){var r;if((t=null!==(r=P(this,t,e,0))&&void 0!==r?r:b)===x)return;const i=this._$AH,n=t===b&&i!==b||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,s=t!==b&&(i===b||n);n&&this.element.removeEventListener(this.name,this,i),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,r;\"function\"==typeof this._$AH?this._$AH.call(null!==(r=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==r?r:this.element,t):this._$AH.handleEvent(t)}}class I{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const L={P:\"$lit$\",A:o$4,M:n$2,C:1,L:E,R:V,D:c,V:P,I:N,H:S,N:k,U:H,B:M,F:I},z=i$2.litHtmlPolyfillSupport;null==z||z(C,N),(null!==(t$2=i$2.litHtmlVersions)&&void 0!==t$2?t$2:i$2.litHtmlVersions=[]).push(\"2.4.0\");const Z=(t,e,r)=>{var i,n;const s=null!==(i=null==r?void 0:r.renderBefore)&&void 0!==i?i:e;let a=s._$litPart$;if(void 0===a){const t=null!==(n=null==r?void 0:r.renderBefore)&&void 0!==n?n:null;s._$litPart$=a=new N(e.insertBefore(r$1(),t),t,void 0,null!=r?r:{})}return a._$AI(t),a\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */};var l$1,o$3;const r=d$1;class s extends d$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const r=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=r.firstChild),r}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=Z(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return x}}s.finalized=!0,s._$litElement$=!0,null===(l$1=globalThis.litElementHydrateSupport)||void 0===l$1||l$1.call(globalThis,{LitElement:s});const n$1=globalThis.litElementPolyfillSupport;null==n$1||n$1({LitElement:s});const h={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(null!==(o$3=globalThis.litElementVersions)&&void 0!==o$3?o$3:globalThis.litElementVersions=[]).push(\"3.2.0\");\n/**\n   * @license\n   * Copyright 2022 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */\nconst o$2=!1,e$6=t=>e=>\"function\"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:r,elements:i}=e;return{kind:r,elements:i,finisher(e){customElements.define(t,e)}}})(t,e)\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */,i$1=(t,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(r){r.createProperty(e.key,t)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(r){r.createProperty(e.key,t)}};\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */function e$5(t){return(e,r)=>void 0!==r?((t,e,r)=>{e.constructor.createProperty(r,t)})(t,e,r):i$1(t,e)\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */}function t$1(t){return e$5({...t,state:!0})}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */const e$4=(t,e,r)=>{Object.defineProperty(e,r,t)},t=(t,e)=>({kind:\"method\",placement:\"prototype\",key:e.key,descriptor:t}),o$1=({finisher:t,descriptor:e})=>(r,i)=>{var n;if(void 0===i){const i=null!==(n=r.originalKey)&&void 0!==n?n:r.key,s=null!=e?{kind:\"method\",placement:\"prototype\",key:i,descriptor:e(r.key)}:{...r,key:i};return null!=t&&(s.finisher=function(e){t(e,i)}),s}{const n=r.constructor;void 0!==e&&Object.defineProperty(r,i,e(i)),null==t||t(n,i)}}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */;function e$3(t){return o$1({finisher:(e,r)=>{Object.assign(e.prototype[r],t)}})}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */function i(t,e){return o$1({descriptor:r=>{const i={get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==r?r:null},enumerable:!0,configurable:!0};if(e){const e=\"symbol\"==typeof r?Symbol():\"__\"+r;i.get=function(){var r,i;return void 0===this[e]&&(this[e]=null!==(i=null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(t))&&void 0!==i?i:null),this[e]}}return i}})}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */function e$2(t){return o$1({descriptor:e=>({get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==r?r:[]},enumerable:!0,configurable:!0})})}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */function e$1(t){return o$1({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}\n/**\n   * @license\n   * Copyright 2021 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter(t=>t.nodeType===Node.ELEMENT_NODE);function l(t){const{slot:r,selector:i}=null!=t?t:{};return o$1({descriptor:n=>({get(){var n;const s=\"slot\"+(r?`[name=${r}]`:\":not([name])\"),a=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(s),o=null!=a?e(a,t):[];return i?o.filter(t=>t.matches(i)):o},enumerable:!0,configurable:!0})})}\n/**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   */function o(t,e,r){let i,n=t;return\"object\"==typeof t?(n=t.slot,i=t):i={flatten:e},r?l({slot:n,flatten:e,selector:r}):o$1({descriptor:t=>({get(){var t,e;const r=\"slot\"+(n?`[name=${n}]`:\":not([name])\"),s=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(r);return null!==(e=null==s?void 0:s.assignedNodes(i))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}var commonjsGlobal=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function createCommonjsModule(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return commonjsRequire(t,null==e?r.path:e)}},r.exports),r.exports}function getCjsExportFromNamespace(t){return t&&t.default||t}function commonjsRequire(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}var lottie_svg=createCommonjsModule((function(module,exports){\"undefined\"!=typeof navigator&&function(t,e){module.exports=e()}(0,(function(){var svgNS=\"http://www.w3.org/2000/svg\",locationHref=\"\",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var r,i,n=t.length;for(r=0;r<n;r+=1)for(var s in i=t[r].prototype)Object.prototype.hasOwnProperty.call(i,s)&&(e.prototype[s]=i[s])}function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}function createProxyFunction(t){function e(){}return e.prototype=t,e}var audioControllerFactory=function(){function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._isMuted=!1}return t.prototype={addAudio:function(t){this.audios.push(t)},pause:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].pause()},resume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].resume()},setRate:function(t){var e,r=this.audios.length;for(e=0;e<r;e+=1)this.audios[e].setRate(t)},createAudio:function(t){return this.audioFactory?this.audioFactory(t):window.Howl?new window.Howl({src:[t]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(t){this.audioFactory=t},setVolume:function(t){this._volume=t,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].volume(this._volume*(this._isMuted?0:1))}},function(){return new t}}(),createTypedArray=function(){function t(t,e){var r,i=0,n=[];switch(t){case\"int16\":case\"uint8c\":r=1;break;default:r=1.1}for(i=0;i<e;i+=1)n.push(r);return n}return\"function\"==typeof Uint8ClampedArray&&\"function\"==typeof Float32Array?function(e,r){return\"float32\"===e?new Float32Array(r):\"int16\"===e?new Int16Array(r):\"uint8c\"===e?new Uint8ClampedArray(r):t(e,r)}:t}();function createSizedArray(t){return Array.apply(null,{length:t})}function _typeof$6(t){return(_typeof$6=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1=\"\",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),_shouldRoundValues=!1,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};function ProjectInterface$1(){return{}}!function(){var t,e=[\"abs\",\"acos\",\"acosh\",\"asin\",\"asinh\",\"atan\",\"atanh\",\"atan2\",\"ceil\",\"cbrt\",\"expm1\",\"clz32\",\"cos\",\"cosh\",\"exp\",\"floor\",\"fround\",\"hypot\",\"imul\",\"log\",\"log1p\",\"log2\",\"log10\",\"max\",\"min\",\"pow\",\"random\",\"round\",\"sign\",\"sin\",\"sinh\",\"sqrt\",\"tan\",\"tanh\",\"trunc\",\"E\",\"LN10\",\"LN2\",\"LOG10E\",\"LOG2E\",\"PI\",\"SQRT1_2\",\"SQRT2\"],r=e.length;for(t=0;t<r;t+=1)BMMath[e[t]]=Math[e[t]]}(),BMMath.random=Math.random,BMMath.abs=function(t){if(\"object\"===_typeof$6(t)&&t.length){var e,r=createSizedArray(t.length),i=t.length;for(e=0;e<i;e+=1)r[e]=Math.abs(t[e]);return r}return Math.abs(t)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function roundValues(t){_shouldRoundValues=!!t}function bmRnd(t){return _shouldRoundValues?Math.round(t):t}function styleDiv(t){t.style.position=\"absolute\",t.style.top=0,t.style.left=0,t.style.display=\"block\",t.style.transformOrigin=\"0 0\",t.style.webkitTransformOrigin=\"0 0\",t.style.backfaceVisibility=\"visible\",t.style.webkitBackfaceVisibility=\"visible\",t.style.transformStyle=\"preserve-3d\",t.style.webkitTransformStyle=\"preserve-3d\",t.style.mozTransformStyle=\"preserve-3d\"}function BMEnterFrameEvent(t,e,r,i){this.type=t,this.currentTime=e,this.totalTime=r,this.direction=i<0?-1:1}function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}function BMCompleteLoopEvent(t,e,r,i){this.type=t,this.currentLoop=r,this.totalLoops=e,this.direction=i<0?-1:1}function BMSegmentStartEvent(t,e,r){this.type=t,this.firstFrame=e,this.totalFrames=r}function BMDestroyEvent(t,e){this.type=t,this.target=e}function BMRenderFrameErrorEvent(t,e){this.type=\"renderFrameError\",this.nativeError=t,this.currentTime=e}function BMConfigErrorEvent(t){this.type=\"configError\",this.nativeError=t}function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e}var createElementID=(_count=0,function(){return idPrefix$1+\"__lottie_element_\"+(_count+=1)}),_count;function HSVtoRGB(t,e,r){var i,n,s,a,o,h,l,p;switch(h=r*(1-e),l=r*(1-(o=6*t-(a=Math.floor(6*t)))*e),p=r*(1-(1-o)*e),a%6){case 0:i=r,n=p,s=h;break;case 1:i=l,n=r,s=h;break;case 2:i=h,n=r,s=p;break;case 3:i=h,n=l,s=r;break;case 4:i=p,n=h,s=r;break;case 5:i=r,n=h,s=l}return[i,n,s]}function RGBtoHSV(t,e,r){var i,n=Math.max(t,e,r),s=Math.min(t,e,r),a=n-s,o=0===n?0:a/n,h=n/255;switch(n){case s:i=0;break;case t:i=e-r+a*(e<r?6:0),i/=6*a;break;case e:i=r-t+2*a,i/=6*a;break;case r:i=t-e+4*a,i/=6*a}return[i,o,h]}function addSaturationToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[1]+=e,r[1]>1?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[2]+=e,r[2]>1?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[0]+=e/360,r[0]>1?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var t,e,r=[];for(t=0;t<256;t+=1)e=t.toString(16),r[t]=1===e.length?\"0\"+e:e;return function(t,e,i){return t<0&&(t=0),e<0&&(e=0),i<0&&(i=0),\"#\"+r[t]+r[e]+r[i]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t},getIdPrefix=function(){return idPrefix$1};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return(_typeof$5=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var dataManager=function(){var t,e,r=1,i=[],n={onmessage:function(){},postMessage:function(e){t({data:e})}},s={postMessage:function(t){n.onmessage({data:t})}};function a(){e||((e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var r=new Blob([\"var _workerSelf = self; self.onmessage = \",e.toString()],{type:\"text/javascript\"}),i=URL.createObjectURL(r);return new Worker(i)}return t=e,n}((function(t){if(s.dataManager||(s.dataManager=function(){function t(n,s){var a,o,h,l,p,f,u=n.length;for(o=0;o<u;o+=1)if(\"ks\"in(a=n[o])&&!a.completed){if(a.completed=!0,a.hasMask){var d=a.masksProperties;for(l=d.length,h=0;h<l;h+=1)if(d[h].pt.k.i)i(d[h].pt.k);else for(f=d[h].pt.k.length,p=0;p<f;p+=1)d[h].pt.k[p].s&&i(d[h].pt.k[p].s[0]),d[h].pt.k[p].e&&i(d[h].pt.k[p].e[0])}0===a.ty?(a.layers=e(a.refId,s),t(a.layers,s)):4===a.ty?r(a.shapes):5===a.ty&&c(a)}}function e(t,e){var r=function(t,e){for(var r=0,i=e.length;r<i;){if(e[r].id===t)return e[r];r+=1}return null}(t,e);return r?r.layers.__used?JSON.parse(JSON.stringify(r.layers)):(r.layers.__used=!0,r.layers):null}function r(t){var e,n,s;for(e=t.length-1;e>=0;e-=1)if(\"sh\"===t[e].ty)if(t[e].ks.k.i)i(t[e].ks.k);else for(s=t[e].ks.k.length,n=0;n<s;n+=1)t[e].ks.k[n].s&&i(t[e].ks.k[n].s[0]),t[e].ks.k[n].e&&i(t[e].ks.k[n].e[0]);else\"gr\"===t[e].ty&&r(t[e].it)}function i(t){var e,r=t.i.length;for(e=0;e<r;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function n(t,e){var r=e?e.split(\".\"):[100,100,100];return t[0]>r[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var s,a=function(){var t=[4,4,14];function e(t){var e,r,i,n=t.length;for(e=0;e<n;e+=1)5===t[e].ty&&(r=t[e],i=void 0,i=r.t.d,r.t.d={k:[{s:i,t:0}]})}return function(r){if(n(t,r.v)&&(e(r.layers),r.assets)){var i,s=r.assets.length;for(i=0;i<s;i+=1)r.assets[i].layers&&e(r.assets[i].layers)}}}(),o=(s=[4,7,99],function(t){if(t.chars&&!n(s,t.v)){var e,i=t.chars.length;for(e=0;e<i;e+=1){var a=t.chars[e];a.data&&a.data.shapes&&(r(a.data.shapes),a.data.ip=0,a.data.op=99999,a.data.st=0,a.data.sr=1,a.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},t.chars[e].t||(a.data.shapes.push({ty:\"no\"}),a.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:\"tr\"})))}}}),h=function(){var t=[5,7,15];function e(t){var e,r,i,n=t.length;for(e=0;e<n;e+=1)5===t[e].ty&&(r=t[e],i=void 0,\"number\"==typeof(i=r.t.p).a&&(i.a={a:0,k:i.a}),\"number\"==typeof i.p&&(i.p={a:0,k:i.p}),\"number\"==typeof i.r&&(i.r={a:0,k:i.r}))}return function(r){if(n(t,r.v)&&(e(r.layers),r.assets)){var i,s=r.assets.length;for(i=0;i<s;i+=1)r.assets[i].layers&&e(r.assets[i].layers)}}}(),l=function(){var t=[4,1,9];function e(t){var r,i,n,s=t.length;for(r=0;r<s;r+=1)if(\"gr\"===t[r].ty)e(t[r].it);else if(\"fl\"===t[r].ty||\"st\"===t[r].ty)if(t[r].c.k&&t[r].c.k[0].i)for(n=t[r].c.k.length,i=0;i<n;i+=1)t[r].c.k[i].s&&(t[r].c.k[i].s[0]/=255,t[r].c.k[i].s[1]/=255,t[r].c.k[i].s[2]/=255,t[r].c.k[i].s[3]/=255),t[r].c.k[i].e&&(t[r].c.k[i].e[0]/=255,t[r].c.k[i].e[1]/=255,t[r].c.k[i].e[2]/=255,t[r].c.k[i].e[3]/=255);else t[r].c.k[0]/=255,t[r].c.k[1]/=255,t[r].c.k[2]/=255,t[r].c.k[3]/=255}function r(t){var r,i=t.length;for(r=0;r<i;r+=1)4===t[r].ty&&e(t[r].shapes)}return function(e){if(n(t,e.v)&&(r(e.layers),e.assets)){var i,s=e.assets.length;for(i=0;i<s;i+=1)e.assets[i].layers&&r(e.assets[i].layers)}}}(),p=function(){var t=[4,4,18];function e(t){var r,i,n;for(r=t.length-1;r>=0;r-=1)if(\"sh\"===t[r].ty)if(t[r].ks.k.i)t[r].ks.k.c=t[r].closed;else for(n=t[r].ks.k.length,i=0;i<n;i+=1)t[r].ks.k[i].s&&(t[r].ks.k[i].s[0].c=t[r].closed),t[r].ks.k[i].e&&(t[r].ks.k[i].e[0].c=t[r].closed);else\"gr\"===t[r].ty&&e(t[r].it)}function r(t){var r,i,n,s,a,o,h=t.length;for(i=0;i<h;i+=1){if((r=t[i]).hasMask){var l=r.masksProperties;for(s=l.length,n=0;n<s;n+=1)if(l[n].pt.k.i)l[n].pt.k.c=l[n].cl;else for(o=l[n].pt.k.length,a=0;a<o;a+=1)l[n].pt.k[a].s&&(l[n].pt.k[a].s[0].c=l[n].cl),l[n].pt.k[a].e&&(l[n].pt.k[a].e[0].c=l[n].cl)}4===r.ty&&e(r.shapes)}}return function(e){if(n(t,e.v)&&(r(e.layers),e.assets)){var i,s=e.assets.length;for(i=0;i<s;i+=1)e.assets[i].layers&&r(e.assets[i].layers)}}}();function c(t){0===t.t.a.length&&t.t.p}var f={completeData:function(r){r.__complete||(l(r),a(r),o(r),h(r),p(r),t(r.layers,r.assets),function(r,i){if(r){var n=0,s=r.length;for(n=0;n<s;n+=1)1===r[n].t&&(r[n].data.layers=e(r[n].data.refId,i),t(r[n].data.layers,i))}}(r.chars,r.assets),r.__complete=!0)}};return f.checkColors=l,f.checkChars=o,f.checkPathProperties=h,f.checkShapes=p,f.completeLayers=t,f}()),s.assetLoader||(s.assetLoader=function(){function t(t){var e=t.getResponseHeader(\"content-type\");return e&&\"json\"===t.responseType&&-1!==e.indexOf(\"json\")||t.response&&\"object\"===_typeof$5(t.response)?t.response:t.response&&\"string\"==typeof t.response?JSON.parse(t.response):t.responseText?JSON.parse(t.responseText):null}return{load:function(e,r,i,n){var s,a=new XMLHttpRequest;try{a.responseType=\"json\"}catch(t){}a.onreadystatechange=function(){if(4===a.readyState)if(200===a.status)s=t(a),i(s);else try{s=t(a),i(s)}catch(t){n&&n(t)}};try{a.open([\"G\",\"E\",\"T\"].join(\"\"),e,!0)}catch(t){a.open([\"G\",\"E\",\"T\"].join(\"\"),r+\"/\"+e,!0)}a.send()}}}()),\"loadAnimation\"===t.data.type)s.assetLoader.load(t.data.path,t.data.fullPath,(function(e){s.dataManager.completeData(e),s.postMessage({id:t.data.id,payload:e,status:\"success\"})}),(function(){s.postMessage({id:t.data.id,status:\"error\"})}));else if(\"complete\"===t.data.type){var e=t.data.animation;s.dataManager.completeData(e),s.postMessage({id:t.data.id,payload:e,status:\"success\"})}else\"loadData\"===t.data.type&&s.assetLoader.load(t.data.path,t.data.fullPath,(function(e){s.postMessage({id:t.data.id,payload:e,status:\"success\"})}),(function(){s.postMessage({id:t.data.id,status:\"error\"})}))}))).onmessage=function(t){var e=t.data,r=e.id,n=i[r];i[r]=null,\"success\"===e.status?n.onComplete(e.payload):n.onError&&n.onError()})}function o(t,e){var n=\"processId_\"+(r+=1);return i[n]={onComplete:t,onError:e},n}return{loadAnimation:function(t,r,i){a();var n=o(r,i);e.postMessage({type:\"loadAnimation\",path:t,fullPath:window.location.origin+window.location.pathname,id:n})},loadData:function(t,r,i){a();var n=o(r,i);e.postMessage({type:\"loadData\",path:t,fullPath:window.location.origin+window.location.pathname,id:n})},completeAnimation:function(t,r,i){a();var n=o(r,i);e.postMessage({type:\"complete\",animation:t,id:n})}}}(),ImagePreloader=function(){var t=function(){var t=createTag(\"canvas\");t.width=1,t.height=1;var e=t.getContext(\"2d\");return e.fillStyle=\"rgba(0,0,0,0)\",e.fillRect(0,0,1,1),t}();function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function r(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function i(t,e,r){var i=\"\";if(t.e)i=t.p;else if(e){var n=t.p;-1!==n.indexOf(\"images/\")&&(n=n.split(\"/\")[1]),i=e+n}else i=r,i+=t.u?t.u:\"\",i+=t.p;return i}function n(t){var e=0,r=setInterval(function(){(t.getBBox().width||e>500)&&(this._imageLoaded(),clearInterval(r)),e+=1}.bind(this),50)}function s(t){var e={assetData:t},r=i(t,this.assetsPath,this.path);return dataManager.loadData(r,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function a(){this._imageLoaded=e.bind(this),this._footageLoaded=r.bind(this),this.testImageLoaded=n.bind(this),this.createFootageData=s.bind(this),this.assetsPath=\"\",this.path=\"\",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return a.prototype={loadAssets:function(t,e){var r;this.imagesLoadedCb=e;var i=t.length;for(r=0;r<i;r+=1)t[r].layers||(t[r].t&&\"seq\"!==t[r].t?3===t[r].t&&(this.totalFootages+=1,this.images.push(this.createFootageData(t[r]))):(this.totalImages+=1,this.images.push(this._createImageData(t[r]))))},setAssetsPath:function(t){this.assetsPath=t||\"\"},setPath:function(t){this.path=t||\"\"},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(t){for(var e=0,r=this.images.length;e<r;){if(this.images[e].assetData===t)return this.images[e].img;e+=1}return null},createImgData:function(e){var r=i(e,this.assetsPath,this.path),n=createTag(\"img\");n.crossOrigin=\"anonymous\",n.addEventListener(\"load\",this._imageLoaded,!1),n.addEventListener(\"error\",function(){s.img=t,this._imageLoaded()}.bind(this),!1),n.src=r;var s={img:n,assetData:e};return s},createImageData:function(e){var r=i(e,this.assetsPath,this.path),n=createNS(\"image\");isSafari?this.testImageLoaded(n):n.addEventListener(\"load\",this._imageLoaded,!1),n.addEventListener(\"error\",function(){s.img=t,this._imageLoaded()}.bind(this),!1),n.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",r),this._elementHelper.append?this._elementHelper.append(n):this._elementHelper.appendChild(n);var s={img:n,assetData:e};return s},imageLoaded:e,footageLoaded:r,setCacheType:function(t,e){\"svg\"===t?(this._elementHelper=e,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}},a}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(t,e){if(this._cbs[t])for(var r=this._cbs[t],i=0;i<r.length;i+=1)r[i](e)},addEventListener:function(t,e){return this._cbs[t]||(this._cbs[t]=[]),this._cbs[t].push(e),function(){this.removeEventListener(t,e)}.bind(this)},removeEventListener:function(t,e){if(e){if(this._cbs[t]){for(var r=0,i=this._cbs[t].length;r<i;)this._cbs[t][r]===e&&(this._cbs[t].splice(r,1),r-=1,i-=1),r+=1;this._cbs[t].length||(this._cbs[t]=null)}}else this._cbs[t]=null}};var markerParser=function(){function t(t){for(var e,r=t.split(\"\\r\\n\"),i={},n=0,s=0;s<r.length;s+=1)2===(e=r[s].split(\":\")).length&&(i[e[0]]=e[1].trim(),n+=1);if(0===n)throw new Error;return i}return function(e){for(var r=[],i=0;i<e.length;i+=1){var n=e[i],s={time:n.tm,duration:n.dr};try{s.payload=JSON.parse(e[i].cm)}catch(r){try{s.payload=t(e[i].cm)}catch(t){s.payload={name:e[i].cm}}}r.push(s)}return r}}(),ProjectInterface=function(){function t(t){this.compositions.push(t)}return function(){function e(t){for(var e=0,r=this.compositions.length;e<r;){if(this.compositions[e].data&&this.compositions[e].data.nm===t)return this.compositions[e].prepareFrame&&this.compositions[e].data.xt&&this.compositions[e].prepareFrame(this.currentFrame),this.compositions[e].compInterface;e+=1}return null}return e.compositions=[],e.currentFrame=0,e.registerComposition=t,e}}(),renderers={},registerRenderer=function(t,e){renderers[t]=e};function getRenderer(t){return renderers[t]}function _typeof$4(t){return(_typeof$4=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var AnimationItem=function(){this._cbs=[],this.name=\"\",this.path=\"\",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath=\"\",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent(\"drawnFrame\",0,0,0)};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(t){(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var e=\"svg\";t.animType?e=t.animType:t.renderer&&(e=t.renderer);var r=getRenderer(e);this.renderer=new r(this,t.rendererSettings),this.imagePreloader.setCacheType(e,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=e,\"\"===t.loop||null===t.loop||void 0===t.loop||!0===t.loop?this.loop=!0:!1===t.loop?this.loop=!1:this.loop=parseInt(t.loop,10),this.autoplay=!(\"autoplay\"in t)||t.autoplay,this.name=t.name?t.name:\"\",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(t,\"autoloadSegments\")||t.autoloadSegments,this.assetsPath=t.assetsPath,this.initialSegment=t.initialSegment,t.audioFactory&&this.audioController.setAudioFactory(t.audioFactory),t.animationData?this.setupAnimation(t.animationData):t.path&&(-1!==t.path.lastIndexOf(\"\\\\\")?this.path=t.path.substr(0,t.path.lastIndexOf(\"\\\\\")+1):this.path=t.path.substr(0,t.path.lastIndexOf(\"/\")+1),this.fileName=t.path.substr(t.path.lastIndexOf(\"/\")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(\".json\")),dataManager.loadAnimation(t.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger(\"data_failed\")},AnimationItem.prototype.setupAnimation=function(t){dataManager.completeAnimation(t,this.configAnimation)},AnimationItem.prototype.setData=function(t,e){e&&\"object\"!==_typeof$4(e)&&(e=JSON.parse(e));var r={wrapper:t,animationData:e},i=t.attributes;r.path=i.getNamedItem(\"data-animation-path\")?i.getNamedItem(\"data-animation-path\").value:i.getNamedItem(\"data-bm-path\")?i.getNamedItem(\"data-bm-path\").value:i.getNamedItem(\"bm-path\")?i.getNamedItem(\"bm-path\").value:\"\",r.animType=i.getNamedItem(\"data-anim-type\")?i.getNamedItem(\"data-anim-type\").value:i.getNamedItem(\"data-bm-type\")?i.getNamedItem(\"data-bm-type\").value:i.getNamedItem(\"bm-type\")?i.getNamedItem(\"bm-type\").value:i.getNamedItem(\"data-bm-renderer\")?i.getNamedItem(\"data-bm-renderer\").value:i.getNamedItem(\"bm-renderer\")?i.getNamedItem(\"bm-renderer\").value:\"canvas\";var n=i.getNamedItem(\"data-anim-loop\")?i.getNamedItem(\"data-anim-loop\").value:i.getNamedItem(\"data-bm-loop\")?i.getNamedItem(\"data-bm-loop\").value:i.getNamedItem(\"bm-loop\")?i.getNamedItem(\"bm-loop\").value:\"\";\"false\"===n?r.loop=!1:\"true\"===n?r.loop=!0:\"\"!==n&&(r.loop=parseInt(n,10));var s=i.getNamedItem(\"data-anim-autoplay\")?i.getNamedItem(\"data-anim-autoplay\").value:i.getNamedItem(\"data-bm-autoplay\")?i.getNamedItem(\"data-bm-autoplay\").value:!i.getNamedItem(\"bm-autoplay\")||i.getNamedItem(\"bm-autoplay\").value;r.autoplay=\"false\"!==s,r.name=i.getNamedItem(\"data-name\")?i.getNamedItem(\"data-name\").value:i.getNamedItem(\"data-bm-name\")?i.getNamedItem(\"data-bm-name\").value:i.getNamedItem(\"bm-name\")?i.getNamedItem(\"bm-name\").value:\"\",\"false\"===(i.getNamedItem(\"data-anim-prerender\")?i.getNamedItem(\"data-anim-prerender\").value:i.getNamedItem(\"data-bm-prerender\")?i.getNamedItem(\"data-bm-prerender\").value:i.getNamedItem(\"bm-prerender\")?i.getNamedItem(\"bm-prerender\").value:\"\")&&(r.prerender=!1),this.setParams(r)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,n=i.length,s=t.layers,a=s.length;for(r=0;r<a;r+=1)for(e=0;e<n;){if(i[e].id===s[r].id){i[e]=s[r];break}e+=1}if((t.chars||t.fonts)&&(this.renderer.globalData.fontManager.addChars(t.chars),this.renderer.globalData.fontManager.addFonts(t.fonts,this.renderer.globalData.defs)),t.assets)for(n=t.assets.length,e=0;e<n;e+=1)this.animationData.assets.push(t.assets[e]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(t){this.animationData=t;var e=getExpressionsPlugin();e&&e.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger(\"data_ready\"),void(this.timeCompleted=this.totalFrames);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var r=this.path+this.fileName+\"_\"+this.segmentPos+\".json\";this.segmentPos+=1,dataManager.loadData(r,this.includeLayers.bind(this),function(){this.trigger(\"data_failed\")}.bind(this))},AnimationItem.prototype.loadSegments=function(){this.animationData.segments||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger(\"loaded_images\"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(t){if(this.renderer)try{this.animationData=t,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(t),t.assets||(t.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(t.assets),this.markers=markerParser(t.markers||[]),this.trigger(\"config_ready\"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(t){this.triggerConfigError(t)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||\"canvas\"!==this.renderer.rendererType)&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var t=getExpressionsPlugin();t&&t.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger(\"DOMLoaded\")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(t,e){var r=\"number\"==typeof t?t:void 0,i=\"number\"==typeof e?e:void 0;this.renderer.updateContainerSize(r,i)},AnimationItem.prototype.setSubframe=function(t){this.isSubframeEnabled=!!t},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger(\"enterFrame\"),this.renderFrame(),this.trigger(\"drawnFrame\")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.trigger(\"_pause\"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger(\"_active\")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this.trigger(\"_play\"),this._idle=!0,this.trigger(\"_idle\"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r<this.markers.length;r+=1)if((e=this.markers[r]).payload&&e.payload.name===t)return e;return null},AnimationItem.prototype.goToAndStop=function(t,e,r){if(!r||this.name===r){var i=Number(t);if(isNaN(i)){var n=this.getMarkerData(t);n&&this.goToAndStop(n.time,!0)}else e?this.setCurrentRawFrameValue(t):this.setCurrentRawFrameValue(t*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(t,e,r){if(!r||this.name===r){var i=Number(t);if(isNaN(i)){var n=this.getMarkerData(t);n&&(n.duration?this.playSegments([n.time,n.time+n.duration],!0):this.goToAndStop(n.time,!0))}else this.goToAndStop(i,e,r);this.play()}},AnimationItem.prototype.advanceTime=function(t){if(!0!==this.isPaused&&!1!==this.isLoaded){var e=this.currentRawFrame+t*this.frameModifier,r=!1;e>=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger(\"loopComplete\"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(r=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger(\"loopComplete\"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger(\"complete\"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]<t[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger(\"segmentStart\")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<t?r=t:this.currentRawFrame+this.firstFrame>e&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),\"object\"===_typeof$4(t[0])){var r,i=t.length;for(r=0;r<i;r+=1)this.segments.push(t[r])}else this.segments.push(t);this.segments.length&&e&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),t&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(t){return!!this.segments.length&&(this.adjustSegment(this.segments.shift(),t),!0)},AnimationItem.prototype.destroy=function(t){t&&this.name!==t||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger(\"destroy\"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.renderer=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=t<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setVolume=function(t,e){e&&this.name!==e||this.audioController.setVolume(t)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(t){t&&this.name!==t||this.audioController.mute()},AnimationItem.prototype.unmute=function(t){t&&this.name!==t||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(t){var e=\"\";if(t.e)e=t.p;else if(this.assetsPath){var r=t.p;-1!==r.indexOf(\"images/\")&&(r=r.split(\"/\")[1]),e=this.assetsPath+r}else e=this.path,e+=t.u?t.u:\"\",e+=t.p;return e},AnimationItem.prototype.getAssetData=function(t){for(var e=0,r=this.assets.length;e<r;){if(t===this.assets[e].id)return this.assets[e];e+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(t){return t?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(t,e,r){try{this.renderer.getElementByPath(t).updateDocumentData(e,r)}catch(t){}},AnimationItem.prototype.trigger=function(t){if(this._cbs&&this._cbs[t])switch(t){case\"enterFrame\":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameModifier));break;case\"drawnFrame\":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(t,this.drawnFrameEvent);break;case\"loopComplete\":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case\"complete\":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case\"segmentStart\":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case\"destroy\":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}\"enterFrame\"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),\"loopComplete\"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),\"complete\"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),\"segmentStart\"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),\"destroy\"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.triggerRenderFrameError=function(t){var e=new BMRenderFrameErrorEvent(t,this.currentFrame);this.triggerEvent(\"error\",e),this.onError&&this.onError.call(this,e)},AnimationItem.prototype.triggerConfigError=function(t){var e=new BMConfigErrorEvent(t,this.currentFrame);this.triggerEvent(\"error\",e),this.onError&&this.onError.call(this,e)};var animationManager=function(){var t={},e=[],r=0,i=0,n=0,s=!0,a=!1;function o(t){for(var r=0,n=t.target;r<i;)e[r].animation===n&&(e.splice(r,1),r-=1,i-=1,n.isPaused||p()),r+=1}function h(t,r){if(!t)return null;for(var n=0;n<i;){if(e[n].elem===t&&null!==e[n].elem)return e[n].animation;n+=1}var s=new AnimationItem;return c(s,t),s.setData(t,r),s}function l(){n+=1,d()}function p(){n-=1}function c(t,r){t.addEventListener(\"destroy\",o),t.addEventListener(\"_active\",l),t.addEventListener(\"_idle\",p),e.push({elem:r,animation:t}),i+=1}function f(t){var o,h=t-r;for(o=0;o<i;o+=1)e[o].animation.advanceTime(h);r=t,n&&!a?window.requestAnimationFrame(f):s=!0}function u(t){r=t,window.requestAnimationFrame(f)}function d(){!a&&n&&s&&(window.requestAnimationFrame(u),s=!1)}return t.registerAnimation=h,t.loadAnimation=function(t){var e=new AnimationItem;return c(e,null),e.setParams(t),e},t.setSpeed=function(t,r){var n;for(n=0;n<i;n+=1)e[n].animation.setSpeed(t,r)},t.setDirection=function(t,r){var n;for(n=0;n<i;n+=1)e[n].animation.setDirection(t,r)},t.play=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.play(t)},t.pause=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.pause(t)},t.stop=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.stop(t)},t.togglePause=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.togglePause(t)},t.searchAnimations=function(t,e,r){var i,n=[].concat([].slice.call(document.getElementsByClassName(\"lottie\")),[].slice.call(document.getElementsByClassName(\"bodymovin\"))),s=n.length;for(i=0;i<s;i+=1)r&&n[i].setAttribute(\"data-bm-type\",r),h(n[i],t);if(e&&0===s){r||(r=\"svg\");var a=document.getElementsByTagName(\"body\")[0];a.innerText=\"\";var o=createTag(\"div\");o.style.width=\"100%\",o.style.height=\"100%\",o.setAttribute(\"data-bm-type\",r),a.appendChild(o),h(o,t)}},t.resize=function(){var t;for(t=0;t<i;t+=1)e[t].animation.resize()},t.goToAndStop=function(t,r,n){var s;for(s=0;s<i;s+=1)e[s].animation.goToAndStop(t,r,n)},t.destroy=function(t){var r;for(r=i-1;r>=0;r-=1)e[r].animation.destroy(t)},t.freeze=function(){a=!0},t.unfreeze=function(){a=!1,d()},t.setVolume=function(t,r){var n;for(n=0;n<i;n+=1)e[n].animation.setVolume(t,r)},t.mute=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.mute(t)},t.unmute=function(t){var r;for(r=0;r<i;r+=1)e[r].animation.unmute(t)},t.getRegisteredAnimations=function(){var t,r=e.length,i=[];for(t=0;t<r;t+=1)i.push(e[t].animation);return i},t}(),BezierFactory=function(){var t={getBezierEasing:function(t,r,i,n,s){var a=s||(\"bez_\"+t+\"_\"+r+\"_\"+i+\"_\"+n).replace(/\\./g,\"p\");if(e[a])return e[a];var o=new h([t,r,i,n]);return e[a]=o,o}},e={};var r=\"function\"==typeof Float32Array;function i(t,e){return 1-3*e+3*t}function n(t,e){return 3*e-6*t}function s(t){return 3*t}function a(t,e,r){return((i(e,r)*t+n(e,r))*t+s(e))*t}function o(t,e,r){return 3*i(e,r)*t*t+2*n(e,r)*t+s(e)}function h(t){this._p=t,this._mSampleValues=r?new Float32Array(11):new Array(11),this._precomputed=!1,this.get=this.get.bind(this)}return h.prototype={get:function(t){var e=this._p[0],r=this._p[1],i=this._p[2],n=this._p[3];return this._precomputed||this._precompute(),e===r&&i===n?t:0===t?0:1===t?1:a(this._getTForX(t),r,n)},_precompute:function(){var t=this._p[0],e=this._p[1],r=this._p[2],i=this._p[3];this._precomputed=!0,t===e&&r===i||this._calcSampleValues()},_calcSampleValues:function(){for(var t=this._p[0],e=this._p[2],r=0;r<11;++r)this._mSampleValues[r]=a(.1*r,t,e)},_getTForX:function(t){for(var e=this._p[0],r=this._p[2],i=this._mSampleValues,n=0,s=1;10!==s&&i[s]<=t;++s)n+=.1;var h=n+.1*((t-i[--s])/(i[s+1]-i[s])),l=o(h,e,r);return l>=.001?function(t,e,r,i){for(var n=0;n<4;++n){var s=o(e,r,i);if(0===s)return e;e-=(a(e,r,i)-t)/s}return e}(t,h,e,r):0===l?h:function(t,e,r,i,n){var s,o,h=0;do{(s=a(o=e+(r-e)/2,i,n)-t)>0?r=o:e=o}while(Math.abs(s)>1e-7&&++h<10);return o}(t,n,n+.1,e,r)}},t}(),pooling={double:function(t){return t.concat(createSizedArray(t.length))}},poolFactory=function(t,e,r){var i=0,n=t,s=createSizedArray(n);return{newElement:function(){return i?s[i-=1]:e()},release:function(t){i===n&&(s=pooling.double(s),n*=2),r&&r(t),s[i]=t,i+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray(\"float32\",getDefaultCurveSegments()),lengths:createTypedArray(\"float32\",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(t){var e,r=t.lengths.length;for(e=0;e<r;e+=1)bezierLengthPool.release(t.lengths[e]);t.lengths.length=0}));function bezFunction(){var t=Math;function e(t,e,r,i,n,s){var a=t*i+e*n+r*s-n*i-s*t-r*e;return a>-.001&&a<.001}var r=function(t,e,r,i){var n,s,a,o,h,l,p=getDefaultCurveSegments(),c=0,f=[],u=[],d=bezierLengthPool.newElement();for(a=r.length,n=0;n<p;n+=1){for(h=n/(p-1),l=0,s=0;s<a;s+=1)o=bmPow(1-h,3)*t[s]+3*bmPow(1-h,2)*h*r[s]+3*(1-h)*bmPow(h,2)*i[s]+bmPow(h,3)*e[s],f[s]=o,null!==u[s]&&(l+=bmPow(f[s]-u[s],2)),u[s]=f[s];l&&(c+=l=bmSqrt(l)),d.percents[n]=h,d.lengths[n]=c}return d.addedLength=c,d};function i(t){this.segmentLength=0,this.points=new Array(t)}function n(t,e){this.partialLength=t,this.point=e}var s,a=(s={},function(t,r,a,o){var h=(t[0]+\"_\"+t[1]+\"_\"+r[0]+\"_\"+r[1]+\"_\"+a[0]+\"_\"+a[1]+\"_\"+o[0]+\"_\"+o[1]).replace(/\\./g,\"p\");if(!s[h]){var l,p,c,f,u,d,m,y=getDefaultCurveSegments(),g=0,v=null;2===t.length&&(t[0]!==r[0]||t[1]!==r[1])&&e(t[0],t[1],r[0],r[1],t[0]+a[0],t[1]+a[1])&&e(t[0],t[1],r[0],r[1],r[0]+o[0],r[1]+o[1])&&(y=2);var _=new i(y);for(c=a.length,l=0;l<y;l+=1){for(m=createSizedArray(c),u=l/(y-1),d=0,p=0;p<c;p+=1)f=bmPow(1-u,3)*t[p]+3*bmPow(1-u,2)*u*(t[p]+a[p])+3*(1-u)*bmPow(u,2)*(r[p]+o[p])+bmPow(u,3)*r[p],m[p]=f,null!==v&&(d+=bmPow(m[p]-v[p],2));g+=d=bmSqrt(d),_.points[l]=new n(d,m),v=m}_.segmentLength=g,s[h]=_}return s[h]});function o(t,e){var r=e.percents,i=e.lengths,n=r.length,s=bmFloor((n-1)*t),a=t*e.addedLength,o=0;if(s===n-1||0===s||a===i[s])return r[s];for(var h=i[s]>a?-1:1,l=!0;l;)if(i[s]<=a&&i[s+1]>a?(o=(a-i[s])/(i[s+1]-i[s]),l=!1):s+=h,s<0||s>=n-1){if(s===n-1)return r[s];l=!1}return r[s]+(r[s+1]-r[s])*o}var h=createTypedArray(\"float32\",8);return{getSegmentsLength:function(t){var e,i=segmentsLengthPool.newElement(),n=t.c,s=t.v,a=t.o,o=t.i,h=t._length,l=i.lengths,p=0;for(e=0;e<h-1;e+=1)l[e]=r(s[e],s[e+1],a[e],o[e+1]),p+=l[e].addedLength;return n&&h&&(l[e]=r(s[e],s[0],a[e],o[0]),p+=l[e].addedLength),i.totalLength=p,i},getNewSegment:function(e,r,i,n,s,a,l){s<0?s=0:s>1&&(s=1);var p,c=o(s,l),f=o(a=a>1?1:a,l),u=e.length,d=1-c,m=1-f,y=d*d*d,g=c*d*d*3,v=c*c*d*3,_=c*c*c,b=d*d*m,P=c*d*m+d*c*m+d*d*f,S=c*c*m+d*c*f+c*d*f,w=c*c*f,x=d*m*m,E=c*m*m+d*f*m+d*m*f,k=c*f*m+d*f*f+c*m*f,A=c*f*f,T=m*m*m,C=f*m*m+m*f*m+m*m*f,I=f*f*m+m*f*f+f*m*f,D=f*f*f;for(p=0;p<u;p+=1)h[4*p]=t.round(1e3*(y*e[p]+g*i[p]+v*n[p]+_*r[p]))/1e3,h[4*p+1]=t.round(1e3*(b*e[p]+P*i[p]+S*n[p]+w*r[p]))/1e3,h[4*p+2]=t.round(1e3*(x*e[p]+E*i[p]+k*n[p]+A*r[p]))/1e3,h[4*p+3]=t.round(1e3*(T*e[p]+C*i[p]+I*n[p]+D*r[p]))/1e3;return h},getPointInSegment:function(e,r,i,n,s,a){var h=o(s,a),l=1-h;return[t.round(1e3*(l*l*l*e[0]+(h*l*l+l*h*l+l*l*h)*i[0]+(h*h*l+l*h*h+h*l*h)*n[0]+h*h*h*r[0]))/1e3,t.round(1e3*(l*l*l*e[1]+(h*l*l+l*h*l+l*l*h)*i[1]+(h*h*l+l*h*h+h*l*h)*n[1]+h*h*h*r[1]))/1e3]},buildBezierData:a,pointOnLine2D:e,pointOnLine3D:function(r,i,n,s,a,o,h,l,p){if(0===n&&0===o&&0===p)return e(r,i,s,a,h,l);var c,f=t.sqrt(t.pow(s-r,2)+t.pow(a-i,2)+t.pow(o-n,2)),u=t.sqrt(t.pow(h-r,2)+t.pow(l-i,2)+t.pow(p-n,2)),d=t.sqrt(t.pow(h-s,2)+t.pow(l-a,2)+t.pow(p-o,2));return(c=f>u?f>d?f-u-d:d-u-f:d>u?d-u-f:u-f-d)>-1e-4&&c<1e-4}}}var bez=bezFunction(),PropertyFactory=function(){var t=initialDefaultFrame,e=Math.abs;function r(t,e){var r,n=this.offsetTime;\"multidimensional\"===this.propType&&(r=createTypedArray(\"float32\",this.pv.length));for(var s,a,o,h,l,p,c,f,u,d=e.lastIndex,m=d,y=this.keyframes.length-1,g=!0;g;){if(s=this.keyframes[m],a=this.keyframes[m+1],m===y-1&&t>=a.t-n){s.h&&(s=a),d=0;break}if(a.t-n>t){d=m;break}m<y-1?m+=1:(d=0,g=!1)}o=this.keyframesMetadata[m]||{};var v,_=a.t-n,b=s.t-n;if(s.to){o.bezierData||(o.bezierData=bez.buildBezierData(s.s,a.s||s.e,s.to,s.ti));var P=o.bezierData;if(t>=_||t<b){var S=t>=_?P.points.length-1:0;for(l=P.points[S].point.length,h=0;h<l;h+=1)r[h]=P.points[S].point[h]}else{o.__fnct?u=o.__fnct:(u=BezierFactory.getBezierEasing(s.o.x,s.o.y,s.i.x,s.i.y,s.n).get,o.__fnct=u),p=u((t-b)/(_-b));var w,x=P.segmentLength*p,E=e.lastFrame<t&&e._lastKeyframeIndex===m?e._lastAddedLength:0;for(f=e.lastFrame<t&&e._lastKeyframeIndex===m?e._lastPoint:0,g=!0,c=P.points.length;g;){if(E+=P.points[f].partialLength,0===x||0===p||f===P.points.length-1){for(l=P.points[f].point.length,h=0;h<l;h+=1)r[h]=P.points[f].point[h];break}if(x>=E&&x<E+P.points[f+1].partialLength){for(w=(x-E)/P.points[f+1].partialLength,l=P.points[f].point.length,h=0;h<l;h+=1)r[h]=P.points[f].point[h]+(P.points[f+1].point[h]-P.points[f].point[h])*w;break}f<c-1?f+=1:g=!1}e._lastPoint=f,e._lastAddedLength=E-P.points[f].partialLength,e._lastKeyframeIndex=m}}else{var k,A,T,C,I;if(y=s.s.length,v=a.s||s.e,this.sh&&1!==s.h)if(t>=_)r[0]=v[0],r[1]=v[1],r[2]=v[2];else if(t<=b)r[0]=s.s[0],r[1]=s.s[1],r[2]=s.s[2];else{!function(t,e){var r=e[0],i=e[1],n=e[2],s=e[3],a=Math.atan2(2*i*s-2*r*n,1-2*i*i-2*n*n),o=Math.asin(2*r*i+2*n*s),h=Math.atan2(2*r*s-2*i*n,1-2*r*r-2*n*n);t[0]=a/degToRads,t[1]=o/degToRads,t[2]=h/degToRads}(r,function(t,e,r){var i,n,s,a,o,h=[],l=t[0],p=t[1],c=t[2],f=t[3],u=e[0],d=e[1],m=e[2],y=e[3];(n=l*u+p*d+c*m+f*y)<0&&(n=-n,u=-u,d=-d,m=-m,y=-y);1-n>1e-6?(i=Math.acos(n),s=Math.sin(i),a=Math.sin((1-r)*i)/s,o=Math.sin(r*i)/s):(a=1-r,o=r);return h[0]=a*l+o*u,h[1]=a*p+o*d,h[2]=a*c+o*m,h[3]=a*f+o*y,h}(i(s.s),i(v),(t-b)/(_-b)))}else for(m=0;m<y;m+=1)1!==s.h&&(t>=_?p=1:t<b?p=0:(s.o.x.constructor===Array?(o.__fnct||(o.__fnct=[]),o.__fnct[m]?u=o.__fnct[m]:(k=void 0===s.o.x[m]?s.o.x[0]:s.o.x[m],A=void 0===s.o.y[m]?s.o.y[0]:s.o.y[m],T=void 0===s.i.x[m]?s.i.x[0]:s.i.x[m],C=void 0===s.i.y[m]?s.i.y[0]:s.i.y[m],u=BezierFactory.getBezierEasing(k,A,T,C).get,o.__fnct[m]=u)):o.__fnct?u=o.__fnct:(k=s.o.x,A=s.o.y,T=s.i.x,C=s.i.y,u=BezierFactory.getBezierEasing(k,A,T,C).get,s.keyframeMetadata=u),p=u((t-b)/(_-b)))),v=a.s||s.e,I=1===s.h?s.s[m]:s.s[m]+(v[m]-s.s[m])*p,\"multidimensional\"===this.propType?r[m]=I:r=I}return e.lastIndex=d,r}function i(t){var e=t[0]*degToRads,r=t[1]*degToRads,i=t[2]*degToRads,n=Math.cos(e/2),s=Math.cos(r/2),a=Math.cos(i/2),o=Math.sin(e/2),h=Math.sin(r/2),l=Math.sin(i/2);return[o*h*a+n*s*l,o*s*a+n*h*l,n*h*a-o*s*l,n*s*a-o*h*l]}function n(){var e=this.comp.renderedFrame-this.offsetTime,r=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==t&&(this._caching.lastFrame>=i&&e>=i||this._caching.lastFrame<r&&e<r))){this._caching.lastFrame>=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var n=this.interpolateValue(e,this._caching);this.pv=n}return this._caching.lastFrame=e,this.pv}function s(t){var r;if(\"unidimensional\"===this.propType)r=t*this.mult,e(this.v-r)>1e-5&&(this.v=r,this._mdf=!0);else for(var i=0,n=this.v.length;i<n;)r=t[i]*this.mult,e(this.v[i]-r)>1e-5&&(this.v[i]=r,this._mdf=!0),i+=1}function a(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(t=0;t<e;t+=1)r=this.effectsSequence[t](r);this.setVValue(r),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function o(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function h(t,e,r,i){this.propType=\"unidimensional\",this.mult=r||1,this.data=e,this.v=r?e.k*r:e.k,this.pv=e.k,this._mdf=!1,this.elem=t,this.container=i,this.comp=t.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=a,this.setVValue=s,this.addEffect=o}function l(t,e,r,i){var n;this.propType=\"multidimensional\",this.mult=r||1,this.data=e,this._mdf=!1,this.elem=t,this.container=i,this.comp=t.comp,this.k=!1,this.kf=!1,this.frameId=-1;var h=e.k.length;for(this.v=createTypedArray(\"float32\",h),this.pv=createTypedArray(\"float32\",h),this.vel=createTypedArray(\"float32\",h),n=0;n<h;n+=1)this.v[n]=e.k[n]*this.mult,this.pv[n]=e.k[n];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=a,this.setVValue=s,this.addEffect=o}function p(e,i,h,l){this.propType=\"unidimensional\",this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.frameId=-1,this._caching={lastFrame:t,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=i,this.mult=h||1,this.elem=e,this.container=l,this.comp=e.comp,this.v=t,this.pv=t,this._isFirstFrame=!0,this.getValue=a,this.setVValue=s,this.interpolateValue=r,this.effectsSequence=[n.bind(this)],this.addEffect=o}function c(e,i,h,l){var p;this.propType=\"multidimensional\";var c,f,u,d,m=i.k.length;for(p=0;p<m-1;p+=1)i.k[p].to&&i.k[p].s&&i.k[p+1]&&i.k[p+1].s&&(c=i.k[p].s,f=i.k[p+1].s,u=i.k[p].to,d=i.k[p].ti,(2===c.length&&(c[0]!==f[0]||c[1]!==f[1])&&bez.pointOnLine2D(c[0],c[1],f[0],f[1],c[0]+u[0],c[1]+u[1])&&bez.pointOnLine2D(c[0],c[1],f[0],f[1],f[0]+d[0],f[1]+d[1])||3===c.length&&(c[0]!==f[0]||c[1]!==f[1]||c[2]!==f[2])&&bez.pointOnLine3D(c[0],c[1],c[2],f[0],f[1],f[2],c[0]+u[0],c[1]+u[1],c[2]+u[2])&&bez.pointOnLine3D(c[0],c[1],c[2],f[0],f[1],f[2],f[0]+d[0],f[1]+d[1],f[2]+d[2]))&&(i.k[p].to=null,i.k[p].ti=null),c[0]===f[0]&&c[1]===f[1]&&0===u[0]&&0===u[1]&&0===d[0]&&0===d[1]&&(2===c.length||c[2]===f[2]&&0===u[2]&&0===d[2])&&(i.k[p].to=null,i.k[p].ti=null));this.effectsSequence=[n.bind(this)],this.data=i,this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=h||1,this.elem=e,this.container=l,this.comp=e.comp,this.getValue=a,this.setVValue=s,this.interpolateValue=r,this.frameId=-1;var y=i.k[0].s.length;for(this.v=createTypedArray(\"float32\",y),this.pv=createTypedArray(\"float32\",y),p=0;p<y;p+=1)this.v[p]=t,this.pv[p]=t;this._caching={lastFrame:t,lastIndex:0,value:createTypedArray(\"float32\",y)},this.addEffect=o}return{getProp:function(t,e,r,i,n){var s;if(e.k.length)if(\"number\"==typeof e.k[0])s=new l(t,e,i,n);else switch(r){case 0:s=new p(t,e,i,n);break;case 1:s=new c(t,e,i,n)}else s=new h(t,e,i,n);return s.effectsSequence.length&&n.addDynamicProperty(s),s}}}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&(this.dynamicProperties.push(t),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){var t;this._mdf=!1;var e=this.dynamicProperties.length;for(t=0;t<e;t+=1)this.dynamicProperties[t].getValue(),this.dynamicProperties[t]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(t){this.container=t,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=poolFactory(8,(function(){return createTypedArray(\"float32\",2)}));function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(t,e){this.c=t,this.setLength(e);for(var r=0;r<e;)this.v[r]=pointPool.newElement(),this.o[r]=pointPool.newElement(),this.i[r]=pointPool.newElement(),r+=1},ShapePath.prototype.setLength=function(t){for(;this._maxLength<t;)this.doubleArrayLength();this._length=t},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(t,e,r,i,n){var s;switch(this._length=Math.max(this._length,i+1),this._length>=this._maxLength&&this.doubleArrayLength(),r){case\"v\":s=this.v;break;case\"i\":s=this.i;break;case\"o\":s=this.o;break;default:s=[]}(!s[i]||s[i]&&!n)&&(s[i]=pointPool.newElement()),s[i][0]=t,s[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,n,s,a,o){this.setXYAt(t,e,\"v\",a,o),this.setXYAt(r,i,\"o\",a,o),this.setXYAt(n,s,\"i\",a,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,n=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],i[0][0],i[0][1],r[0][0],r[0][1],0,!1),n=1);var s,a=this._length-1,o=this._length;for(s=n;s<o;s+=1)t.setTripleAt(e[a][0],e[a][1],i[a][0],i[a][1],r[a][0],r[a][1],s,!1),a-=1;return t},ShapePath.prototype.length=function(){return this._length};var shapePool=(factory=poolFactory(4,(function(){return new ShapePath}),(function(t){var e,r=t._length;for(e=0;e<r;e+=1)pointPool.release(t.v[e]),pointPool.release(t.i[e]),pointPool.release(t.o[e]),t.v[e]=null,t.i[e]=null,t.o[e]=null;t._length=0,t.c=!1})),factory.clone=function(t){var e,r=factory.newElement(),i=void 0===t._length?t.v.length:t._length;for(r.setLength(i),r.c=t.c,e=0;e<i;e+=1)r.setTripleAt(t.v[e][0],t.v[e][1],t.o[e][0],t.o[e][1],t.i[e][0],t.i[e][1],e);return r},factory),factory;function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(t){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=t,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var t;for(t=0;t<this._length;t+=1)shapePool.release(this.shapes[t]);this._length=0};var shapeCollectionPool=(ob={newShapeCollection:function(){return _length?pool[_length-=1]:new ShapeCollection},release:function(t){var e,r=t._length;for(e=0;e<r;e+=1)shapePool.release(t.shapes[e]);t._length=0,_length===_maxLength&&(pool=pooling.double(pool),_maxLength*=2),pool[_length]=t,_length+=1}},_length=0,_maxLength=4,pool=createSizedArray(_maxLength),ob),ob,_length,_maxLength,pool,ShapePropertyFactory=function(){function t(t,e,r){var i,n,s,a,o,h,l,p,c,f=r.lastIndex,u=this.keyframes;if(t<u[0].t-this.offsetTime)i=u[0].s[0],s=!0,f=0;else if(t>=u[u.length-1].t-this.offsetTime)i=u[u.length-1].s?u[u.length-1].s[0]:u[u.length-2].e[0],s=!0;else{for(var d,m,y,g=f,v=u.length-1,_=!0;_&&(d=u[g],!((m=u[g+1]).t-this.offsetTime>t));)g<v-1?g+=1:_=!1;if(y=this.keyframesMetadata[g]||{},f=g,!(s=1===d.h)){if(t>=m.t-this.offsetTime)p=1;else if(t<d.t-this.offsetTime)p=0;else{var b;y.__fnct?b=y.__fnct:(b=BezierFactory.getBezierEasing(d.o.x,d.o.y,d.i.x,d.i.y).get,y.__fnct=b),p=b((t-(d.t-this.offsetTime))/(m.t-this.offsetTime-(d.t-this.offsetTime)))}n=m.s?m.s[0]:d.e[0]}i=d.s[0]}for(h=e._length,l=i.i[0].length,r.lastIndex=f,a=0;a<h;a+=1)for(o=0;o<l;o+=1)c=s?i.i[a][o]:i.i[a][o]+(n.i[a][o]-i.i[a][o])*p,e.i[a][o]=c,c=s?i.o[a][o]:i.o[a][o]+(n.o[a][o]-i.o[a][o])*p,e.o[a][o]=c,c=s?i.v[a][o]:i.v[a][o]+(n.v[a][o]-i.v[a][o])*p,e.v[a][o]=c}function e(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,r=this.keyframes[this.keyframes.length-1].t-this.offsetTime,i=this._caching.lastFrame;return-999999!==i&&(i<e&&t<e||i>r&&t>r)||(this._caching.lastIndex=i<t?this._caching.lastIndex:0,this.interpolateShape(t,this.pv,this._caching)),this._caching.lastFrame=t,this.pv}function r(){this.paths=this.localShapeCollection}function i(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!1;var r,i=t._length;for(r=0;r<i;r+=1)if(t.v[r][0]!==e.v[r][0]||t.v[r][1]!==e.v[r][1]||t.o[r][0]!==e.o[r][0]||t.o[r][1]!==e.o[r][1]||t.i[r][0]!==e.i[r][0]||t.i[r][1]!==e.i[r][1])return!1;return!0})(this.v,t)||(this.v=shapePool.clone(t),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function n(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t,e;this.lock=!0,this._mdf=!1,t=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var r=this.effectsSequence.length;for(e=0;e<r;e+=1)t=this.effectsSequence[e](t);this.setVValue(t),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function s(t,e,i){this.propType=\"shape\",this.comp=t.comp,this.container=t,this.elem=t,this.data=e,this.k=!1,this.kf=!1,this._mdf=!1;var n=3===i?e.pt.k:e.ks.k;this.v=shapePool.clone(n),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=r,this.effectsSequence=[]}function a(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function o(t,i,n){this.propType=\"shape\",this.comp=t.comp,this.elem=t,this.container=t,this.offsetTime=t.data.st,this.keyframes=3===n?i.pt.k:i.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var s=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,s),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=-999999,this.reset=r,this._caching={lastFrame:-999999,lastIndex:0},this.effectsSequence=[e.bind(this)]}s.prototype.interpolateShape=t,s.prototype.getValue=n,s.prototype.setVValue=i,s.prototype.addEffect=a,o.prototype.getValue=n,o.prototype.interpolateShape=t,o.prototype.setVValue=i,o.prototype.addEffect=a;var h=function(){var t=roundCorner;function e(t,e){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=e.d,this.elem=t,this.comp=t.comp,this.frameId=-1,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return e.prototype={reset:r,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var e=this.p.v[0],r=this.p.v[1],i=this.s.v[0]/2,n=this.s.v[1]/2,s=3!==this.d,a=this.v;a.v[0][0]=e,a.v[0][1]=r-n,a.v[1][0]=s?e+i:e-i,a.v[1][1]=r,a.v[2][0]=e,a.v[2][1]=r+n,a.v[3][0]=s?e-i:e+i,a.v[3][1]=r,a.i[0][0]=s?e-i*t:e+i*t,a.i[0][1]=r-n,a.i[1][0]=s?e+i:e-i,a.i[1][1]=r-n*t,a.i[2][0]=s?e+i*t:e-i*t,a.i[2][1]=r+n,a.i[3][0]=s?e-i:e+i,a.i[3][1]=r+n*t,a.o[0][0]=s?e+i*t:e-i*t,a.o[0][1]=r-n,a.o[1][0]=s?e+i:e-i,a.o[1][1]=r+n*t,a.o[2][0]=s?e-i*t:e+i*t,a.o[2][1]=r+n,a.o[3][0]=s?e-i:e+i,a.o[3][1]=r-n*t}},extendPrototype([DynamicPropertyContainer],e),e}(),l=function(){function t(t,e){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=t,this.comp=t.comp,this.data=e,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),1===e.sy?(this.ir=PropertyFactory.getProp(t,e.ir,0,0,this),this.is=PropertyFactory.getProp(t,e.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(t,e.pt,0,0,this),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,degToRads,this),this.or=PropertyFactory.getProp(t,e.or,0,0,this),this.os=PropertyFactory.getProp(t,e.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return t.prototype={reset:r,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var t,e,r,i,n=2*Math.floor(this.pt.v),s=2*Math.PI/n,a=!0,o=this.or.v,h=this.ir.v,l=this.os.v,p=this.is.v,c=2*Math.PI*o/(2*n),f=2*Math.PI*h/(2*n),u=-Math.PI/2;u+=this.r.v;var d=3===this.data.d?-1:1;for(this.v._length=0,t=0;t<n;t+=1){r=a?l:p,i=a?c:f;var m=(e=a?o:h)*Math.cos(u),y=e*Math.sin(u),g=0===m&&0===y?0:y/Math.sqrt(m*m+y*y),v=0===m&&0===y?0:-m/Math.sqrt(m*m+y*y);m+=+this.p.v[0],y+=+this.p.v[1],this.v.setTripleAt(m,y,m-g*i*r*d,y-v*i*r*d,m+g*i*r*d,y+v*i*r*d,t,!0),a=!a,u+=s*d}},convertPolygonToPath:function(){var t,e=Math.floor(this.pt.v),r=2*Math.PI/e,i=this.or.v,n=this.os.v,s=2*Math.PI*i/(4*e),a=.5*-Math.PI,o=3===this.data.d?-1:1;for(a+=this.r.v,this.v._length=0,t=0;t<e;t+=1){var h=i*Math.cos(a),l=i*Math.sin(a),p=0===h&&0===l?0:l/Math.sqrt(h*h+l*l),c=0===h&&0===l?0:-h/Math.sqrt(h*h+l*l);h+=+this.p.v[0],l+=+this.p.v[1],this.v.setTripleAt(h,l,h-p*s*n*o,l-c*s*n*o,h+p*s*n*o,l+c*s*n*o,t,!0),a+=r*o}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],t),t}(),p=function(){function t(t,e){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=t,this.comp=t.comp,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return t.prototype={convertRectToPath:function(){var t=this.p.v[0],e=this.p.v[1],r=this.s.v[0]/2,i=this.s.v[1]/2,n=bmMin(r,i,this.r.v),s=n*(1-roundCorner);this.v._length=0,2===this.d||1===this.d?(this.v.setTripleAt(t+r,e-i+n,t+r,e-i+n,t+r,e-i+s,0,!0),this.v.setTripleAt(t+r,e+i-n,t+r,e+i-s,t+r,e+i-n,1,!0),0!==n?(this.v.setTripleAt(t+r-n,e+i,t+r-n,e+i,t+r-s,e+i,2,!0),this.v.setTripleAt(t-r+n,e+i,t-r+s,e+i,t-r+n,e+i,3,!0),this.v.setTripleAt(t-r,e+i-n,t-r,e+i-n,t-r,e+i-s,4,!0),this.v.setTripleAt(t-r,e-i+n,t-r,e-i+s,t-r,e-i+n,5,!0),this.v.setTripleAt(t-r+n,e-i,t-r+n,e-i,t-r+s,e-i,6,!0),this.v.setTripleAt(t+r-n,e-i,t+r-s,e-i,t+r-n,e-i,7,!0)):(this.v.setTripleAt(t-r,e+i,t-r+s,e+i,t-r,e+i,2),this.v.setTripleAt(t-r,e-i,t-r,e-i+s,t-r,e-i,3))):(this.v.setTripleAt(t+r,e-i+n,t+r,e-i+s,t+r,e-i+n,0,!0),0!==n?(this.v.setTripleAt(t+r-n,e-i,t+r-n,e-i,t+r-s,e-i,1,!0),this.v.setTripleAt(t-r+n,e-i,t-r+s,e-i,t-r+n,e-i,2,!0),this.v.setTripleAt(t-r,e-i+n,t-r,e-i+n,t-r,e-i+s,3,!0),this.v.setTripleAt(t-r,e+i-n,t-r,e+i-s,t-r,e+i-n,4,!0),this.v.setTripleAt(t-r+n,e+i,t-r+n,e+i,t-r+s,e+i,5,!0),this.v.setTripleAt(t+r-n,e+i,t+r-s,e+i,t+r-n,e+i,6,!0),this.v.setTripleAt(t+r,e+i-n,t+r,e+i-n,t+r,e+i-s,7,!0)):(this.v.setTripleAt(t-r,e-i,t-r+s,e-i,t-r,e-i,1,!0),this.v.setTripleAt(t-r,e+i,t-r,e+i-s,t-r,e+i,2,!0),this.v.setTripleAt(t+r,e+i,t+r-s,e+i,t+r,e+i,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:r},extendPrototype([DynamicPropertyContainer],t),t}();var c={getShapeProp:function(t,e,r){var i;return 3===r||4===r?i=(3===r?e.pt:e.ks).k.length?new o(t,e,r):new s(t,e,r):5===r?i=new p(t,e):6===r?i=new h(t,e):7===r&&(i=new l(t,e)),i.k&&t.addDynamicProperty(i),i},getConstructorFunction:function(){return s},getKeyframedConstructorFunction:function(){return o}};return c}(),Matrix=function(){var t=Math.cos,e=Math.sin,r=Math.tan,i=Math.round;function n(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function s(r){if(0===r)return this;var i=t(r),n=e(r);return this._t(i,-n,0,0,n,i,0,0,0,0,1,0,0,0,0,1)}function a(r){if(0===r)return this;var i=t(r),n=e(r);return this._t(1,0,0,0,0,i,-n,0,0,n,i,0,0,0,0,1)}function o(r){if(0===r)return this;var i=t(r),n=e(r);return this._t(i,0,n,0,0,1,0,0,-n,0,i,0,0,0,0,1)}function h(r){if(0===r)return this;var i=t(r),n=e(r);return this._t(i,-n,0,0,n,i,0,0,0,0,1,0,0,0,0,1)}function l(t,e){return this._t(1,e,t,1,0,0)}function p(t,e){return this.shear(r(t),r(e))}function c(i,n){var s=t(n),a=e(n);return this._t(s,a,0,0,-a,s,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,r(i),1,0,0,0,0,1,0,0,0,0,1)._t(s,-a,0,0,a,s,0,0,0,0,1,0,0,0,0,1)}function f(t,e,r){return r||0===r||(r=1),1===t&&1===e&&1===r?this:this._t(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)}function u(t,e,r,i,n,s,a,o,h,l,p,c,f,u,d,m){return this.props[0]=t,this.props[1]=e,this.props[2]=r,this.props[3]=i,this.props[4]=n,this.props[5]=s,this.props[6]=a,this.props[7]=o,this.props[8]=h,this.props[9]=l,this.props[10]=p,this.props[11]=c,this.props[12]=f,this.props[13]=u,this.props[14]=d,this.props[15]=m,this}function d(t,e,r){return r=r||0,0!==t||0!==e||0!==r?this._t(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1):this}function m(t,e,r,i,n,s,a,o,h,l,p,c,f,u,d,m){var y=this.props;if(1===t&&0===e&&0===r&&0===i&&0===n&&1===s&&0===a&&0===o&&0===h&&0===l&&1===p&&0===c)return y[12]=y[12]*t+y[15]*f,y[13]=y[13]*s+y[15]*u,y[14]=y[14]*p+y[15]*d,y[15]*=m,this._identityCalculated=!1,this;var g=y[0],v=y[1],_=y[2],b=y[3],P=y[4],S=y[5],w=y[6],x=y[7],E=y[8],k=y[9],A=y[10],T=y[11],C=y[12],I=y[13],D=y[14],M=y[15];return y[0]=g*t+v*n+_*h+b*f,y[1]=g*e+v*s+_*l+b*u,y[2]=g*r+v*a+_*p+b*d,y[3]=g*i+v*o+_*c+b*m,y[4]=P*t+S*n+w*h+x*f,y[5]=P*e+S*s+w*l+x*u,y[6]=P*r+S*a+w*p+x*d,y[7]=P*i+S*o+w*c+x*m,y[8]=E*t+k*n+A*h+T*f,y[9]=E*e+k*s+A*l+T*u,y[10]=E*r+k*a+A*p+T*d,y[11]=E*i+k*o+A*c+T*m,y[12]=C*t+I*n+D*h+M*f,y[13]=C*e+I*s+D*l+M*u,y[14]=C*r+I*a+D*p+M*d,y[15]=C*i+I*o+D*c+M*m,this._identityCalculated=!1,this}function y(){return this._identityCalculated||(this._identity=!(1!==this.props[0]||0!==this.props[1]||0!==this.props[2]||0!==this.props[3]||0!==this.props[4]||1!==this.props[5]||0!==this.props[6]||0!==this.props[7]||0!==this.props[8]||0!==this.props[9]||1!==this.props[10]||0!==this.props[11]||0!==this.props[12]||0!==this.props[13]||0!==this.props[14]||1!==this.props[15]),this._identityCalculated=!0),this._identity}function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;e+=1}return!0}function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}function _(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}function b(t,e,r){return{x:t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12],y:t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13],z:t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]}}function P(t,e,r){return t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12]}function S(t,e,r){return t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13]}function w(t,e,r){return t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]}function x(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[4],e=this.props[5]/t,r=-this.props[1]/t,i=-this.props[4]/t,n=this.props[0]/t,s=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/t,a=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/t,o=new Matrix;return o.props[0]=e,o.props[1]=r,o.props[4]=i,o.props[5]=n,o.props[12]=s,o.props[13]=a,o}function E(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1],t[2]||0)}function k(t){var e,r=t.length,i=[];for(e=0;e<r;e+=1)i[e]=E(t[e]);return i}function A(t,e,r){var i=createTypedArray(\"float32\",6);if(this.isIdentity())i[0]=t[0],i[1]=t[1],i[2]=e[0],i[3]=e[1],i[4]=r[0],i[5]=r[1];else{var n=this.props[0],s=this.props[1],a=this.props[4],o=this.props[5],h=this.props[12],l=this.props[13];i[0]=t[0]*n+t[1]*a+h,i[1]=t[0]*s+t[1]*o+l,i[2]=e[0]*n+e[1]*a+h,i[3]=e[0]*s+e[1]*o+l,i[4]=r[0]*n+r[1]*a+h,i[5]=r[0]*s+r[1]*o+l}return i}function T(t,e,r){return this.isIdentity()?[t,e,r]:[t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12],t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13],t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]]}function C(t,e){if(this.isIdentity())return t+\",\"+e;var r=this.props;return Math.round(100*(t*r[0]+e*r[4]+r[12]))/100+\",\"+Math.round(100*(t*r[1]+e*r[5]+r[13]))/100}function I(){for(var t=0,e=this.props,r=\"matrix3d(\";t<16;)r+=i(1e4*e[t])/1e4,r+=15===t?\")\":\",\",t+=1;return r}function D(t){return t<1e-6&&t>0||t>-1e-6&&t<0?i(1e4*t)/1e4:t}function M(){var t=this.props;return\"matrix(\"+D(t[0])+\",\"+D(t[1])+\",\"+D(t[4])+\",\"+D(t[5])+\",\"+D(t[12])+\",\"+D(t[13])+\")\"}return function(){this.reset=n,this.rotate=s,this.rotateX=a,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=c,this.shear=l,this.scale=f,this.setTransform=u,this.translate=d,this.transform=m,this.applyToPoint=b,this.applyToX=P,this.applyToY=S,this.applyToZ=w,this.applyToPointArray=T,this.applyToTriplePoints=A,this.applyToPointStringified=C,this.toCSS=I,this.to2dCSS=M,this.clone=v,this.cloneFromProps=_,this.equals=g,this.inversePoints=k,this.inversePoint=E,this.getInverseMatrix=x,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray(\"float32\",16),this.reset()}}();function _typeof$3(t){return(_typeof$3=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var lottie={},standalone=\"__[STANDALONE]__\",animationData=\"__[ANIMATIONDATA]__\",renderer=\"\";function setLocation(t){setLocationHref(t)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){setSubframeEnabled(t)}function setPrefix(t){setIdPrefix(t)}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if(\"string\"==typeof t)switch(t){case\"high\":setDefaultCurveSegments(200);break;default:case\"medium\":setDefaultCurveSegments(50);break;case\"low\":setDefaultCurveSegments(10)}else!isNaN(t)&&t>1&&setDefaultCurveSegments(t);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return\"undefined\"!=typeof navigator}function installPlugin(t,e){\"expressions\"===t&&setExpressionsPlugin(e)}function getFactory(t){switch(t){case\"propertyFactory\":return PropertyFactory;case\"shapePropertyFactory\":return ShapePropertyFactory;case\"matrix\":return Matrix;default:return null}}function checkReady(){\"complete\"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split(\"&\"),r=0;r<e.length;r+=1){var i=e[r].split(\"=\");if(decodeURIComponent(i[0])==t)return decodeURIComponent(i[1])}return null}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version=\"5.10.0\";var queryString=\"\";if(standalone){var scripts=document.getElementsByTagName(\"script\"),index=scripts.length-1,myScript=scripts[index]||{src:\"\"};queryString=myScript.src?myScript.src.replace(/^[^\\?]+\\??/,\"\"):\"\",renderer=getQueryVariable(\"renderer\")}var readyStateCheckInterval=setInterval(checkReady,100);try{\"object\"!==_typeof$3(exports)&&(window.bodymovin=lottie)}catch(t){}var ShapeModifiers=function(){var t={},e={};return t.registerModifier=function(t,r){e[t]||(e[t]=r)},t.getModifier=function(t,r,i){return new e[t](r,i)},t}();function ShapeModifier(){}function TrimModifier(){}function PuckerAndBloatModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated()}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(t,e,r,i,n){var s=[];e<=1?s.push({s:t,e:e}):t>=1?s.push({s:t-1,e:e-1}):(s.push({s:t,e:1}),s.push({s:0,e:e-1}));var a,o,h=[],l=s.length;for(a=0;a<l;a+=1){var p,c;if(!((o=s[a]).e*n<i||o.s*n>i+r))p=o.s*n<=i?0:(o.s*n-i)/r,c=o.e*n>=i+r?1:(o.e*n-i)/r,h.push([p,c])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;e<r;e+=1)segmentsLengthPool.release(t[e]);return t.length=0,t},TrimModifier.prototype.processShapes=function(t){var e,r,i,n;if(this._mdf||t){var s=this.o.v%360/360;if(s<0&&(s+=1),(e=this.s.v>1?1+s:this.s.v<0?0+s:this.s.v+s)>(r=this.e.v>1?1+s:this.e.v<0?0+s:this.e.v+s)){var a=e;e=r,r=a}e=1e-4*Math.round(1e4*e),r=1e-4*Math.round(1e4*r),this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var o,h,l,p,c,f=this.shapes.length,u=0;if(r===e)for(n=0;n<f;n+=1)this.shapes[n].localShapeCollection.releaseShapes(),this.shapes[n].shape._mdf=!0,this.shapes[n].shape.paths=this.shapes[n].localShapeCollection,this._mdf&&(this.shapes[n].pathsData.length=0);else if(1===r&&0===e||0===r&&1===e){if(this._mdf)for(n=0;n<f;n+=1)this.shapes[n].pathsData.length=0,this.shapes[n].shape._mdf=!0}else{var d,m,y=[];for(n=0;n<f;n+=1)if((d=this.shapes[n]).shape._mdf||this._mdf||t||2===this.m){if(h=(i=d.shape.paths)._length,c=0,!d.shape._mdf&&d.pathsData.length)c=d.totalShapeLength;else{for(l=this.releasePathsData(d.pathsData),o=0;o<h;o+=1)p=bez.getSegmentsLength(i.shapes[o]),l.push(p),c+=p.totalLength;d.totalShapeLength=c,d.pathsData=l}u+=c,d.shape._mdf=!0}else d.shape.paths=d.localShapeCollection;var g,v=e,_=r,b=0;for(n=f-1;n>=0;n-=1)if((d=this.shapes[n]).shape._mdf){for((m=d.localShapeCollection).releaseShapes(),2===this.m&&f>1?(g=this.calculateShapeEdges(e,r,d.totalShapeLength,b,u),b+=d.totalShapeLength):g=[[v,_]],h=g.length,o=0;o<h;o+=1){v=g[o][0],_=g[o][1],y.length=0,_<=1?y.push({s:d.totalShapeLength*v,e:d.totalShapeLength*_}):v>=1?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(_-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(_-1)}));var P=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(y.length>1)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var S=P.pop();this.addPaths(P,m),P=this.addShapes(d,y[1],S)}else this.addPaths(P,m),P=this.addShapes(d,y[1]);this.addPaths(P,m)}}d.shape.paths=m}}},TrimModifier.prototype.addPaths=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)e.addShape(t[r])},TrimModifier.prototype.addSegment=function(t,e,r,i,n,s,a){n.setXYAt(e[0],e[1],\"o\",s),n.setXYAt(r[0],r[1],\"i\",s+1),a&&n.setXYAt(t[0],t[1],\"v\",s),n.setXYAt(i[0],i[1],\"v\",s+1)},TrimModifier.prototype.addSegmentFromArray=function(t,e,r,i){e.setXYAt(t[1],t[5],\"o\",r),e.setXYAt(t[2],t[6],\"i\",r+1),i&&e.setXYAt(t[0],t[4],\"v\",r),e.setXYAt(t[3],t[7],\"v\",r+1)},TrimModifier.prototype.addShapes=function(t,e,r){var i,n,s,a,o,h,l,p,c=t.pathsData,f=t.shape.paths.shapes,u=t.shape.paths._length,d=0,m=[],y=!0;for(r?(o=r._length,p=r._length):(r=shapePool.newElement(),o=0,p=0),m.push(r),i=0;i<u;i+=1){for(h=c[i].lengths,r.c=f[i].c,s=f[i].c?h.length:h.length+1,n=1;n<s;n+=1)if(d+(a=h[n-1]).addedLength<e.s)d+=a.addedLength,r.c=!1;else{if(d>e.e){r.c=!1;break}e.s<=d&&e.e>=d+a.addedLength?(this.addSegment(f[i].v[n-1],f[i].o[n-1],f[i].i[n],f[i].v[n],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[n-1],f[i].v[n],f[i].o[n-1],f[i].i[n],(e.s-d)/a.addedLength,(e.e-d)/a.addedLength,h[n-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1),d+=a.addedLength,o+=1}if(f[i].c&&h.length){if(a=h[n-1],d<=e.e){var g=h[n-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(f[i].v[n-1],f[i].o[n-1],f[i].i[0],f[i].v[0],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[n-1],f[i].v[0],f[i].o[n-1],f[i].i[0],(e.s-d)/g,(e.e-d)/g,h[n-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1)}else r.c=!1;d+=a.addedLength,o+=1}if(r._length&&(r.setXYAt(r.v[p][0],r.v[p][1],\"i\",p),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],\"o\",r._length-1)),d>e.e)break;i<u-1&&(r=shapePool.newElement(),y=!0,m.push(r),o=0)}return m},extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(t,e){var r=e/100,i=[0,0],n=t._length,s=0;for(s=0;s<n;s+=1)i[0]+=t.v[s][0],i[1]+=t.v[s][1];i[0]/=n,i[1]/=n;var a,o,h,l,p,c,f=shapePool.newElement();for(f.c=t.c,s=0;s<n;s+=1)a=t.v[s][0]+(i[0]-t.v[s][0])*r,o=t.v[s][1]+(i[1]-t.v[s][1])*r,h=t.o[s][0]+(i[0]-t.o[s][0])*-r,l=t.o[s][1]+(i[1]-t.o[s][1])*-r,p=t.i[s][0]+(i[0]-t.i[s][0])*-r,c=t.i[s][1]+(i[1]-t.i[s][1])*-r,f.setTripleAt(a,o,h,l,p,c,s);return f},PuckerAndBloatModifier.prototype.processShapes=function(t){var e,r,i,n,s,a,o=this.shapes.length,h=this.amount.v;if(0!==h)for(r=0;r<o;r+=1){if(a=(s=this.shapes[r]).localShapeCollection,s.shape._mdf||this._mdf||t)for(a.releaseShapes(),s.shape._mdf=!0,e=s.shape.paths.shapes,n=s.shape.paths._length,i=0;i<n;i+=1)a.addShape(this.processPath(e[i],h));s.shape.paths=s.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var t=[0,0];function e(t,e,r){if(this.elem=t,this.frameId=-1,this.propType=\"transform\",this.data=e,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(r||t),e.p&&e.p.s?(this.px=PropertyFactory.getProp(t,e.p.x,0,0,this),this.py=PropertyFactory.getProp(t,e.p.y,0,0,this),e.p.z&&(this.pz=PropertyFactory.getProp(t,e.p.z,0,0,this))):this.p=PropertyFactory.getProp(t,e.p||{k:[0,0,0]},1,0,this),e.rx){if(this.rx=PropertyFactory.getProp(t,e.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(t,e.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(t,e.rz,0,degToRads,this),e.or.k[0].ti){var i,n=e.or.k.length;for(i=0;i<n;i+=1)e.or.k[i].to=null,e.or.k[i].ti=null}this.or=PropertyFactory.getProp(t,e.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(t,e.r||{k:0},0,degToRads,this);e.sk&&(this.sk=PropertyFactory.getProp(t,e.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(t,e.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(t,e.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(t,e.s||{k:[100,100,100]},1,.01,this),e.o?this.o=PropertyFactory.getProp(t,e.o,0,.01,t):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return e.prototype={applyToMatrix:function(t){var e=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||e,this.a&&t.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&t.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&t.skewFromAxis(-this.sk.v,this.sa.v),this.r?t.rotate(-this.r.v):t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?t.translate(this.px.v,this.py.v,-this.pz.v):t.translate(this.px.v,this.py.v,0):t.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(e){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||e){var r;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var i,n;if(r=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(i=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/r,0),n=this.p.getValueAtTime(this.p.keyframes[0].t/r,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(i=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/r,0),n=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/r,0)):(i=this.p.pv,n=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/r,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){i=[],n=[];var s=this.px,a=this.py;s._caching.lastFrame+s.offsetTime<=s.keyframes[0].t?(i[0]=s.getValueAtTime((s.keyframes[0].t+.01)/r,0),i[1]=a.getValueAtTime((a.keyframes[0].t+.01)/r,0),n[0]=s.getValueAtTime(s.keyframes[0].t/r,0),n[1]=a.getValueAtTime(a.keyframes[0].t/r,0)):s._caching.lastFrame+s.offsetTime>=s.keyframes[s.keyframes.length-1].t?(i[0]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/r,0),i[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/r,0),n[0]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/r,0),n[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/r,0)):(i=[s.pv,a.pv],n[0]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/r,s.offsetTime),n[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/r,a.offsetTime))}else i=n=t;this.v.rotate(-Math.atan2(i[1]-n[1],i[0]-n[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],e),e.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},e.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,r,i){return new e(t,r,i)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(t,e){return 1e5*Math.abs(t-e)<=Math.min(Math.abs(t),Math.abs(e))}function floatZero(t){return Math.abs(t)<=1e-5}function lerp(t,e,r){return t*(1-r)+e*r}function lerpPoint(t,e,r){return[lerp(t[0],e[0],r),lerp(t[1],e[1],r)]}function quadRoots(t,e,r){if(0===t)return[];var i=e*e-4*t*r;if(i<0)return[];var n=-e/(2*t);if(0===i)return[n];var s=Math.sqrt(i)/(2*t);return[n-s,n+s]}function polynomialCoefficients(t,e,r,i){return[3*e-t-3*r+i,3*t-6*e+3*r,-3*t+3*e,t]}function singlePoint(t){return new PolynomialBezier(t,t,t,t,!1)}function PolynomialBezier(t,e,r,i,n){n&&pointEqual(t,e)&&(e=lerpPoint(t,i,1/3)),n&&pointEqual(r,i)&&(r=lerpPoint(t,i,2/3));var s=polynomialCoefficients(t[0],e[0],r[0],i[0]),a=polynomialCoefficients(t[1],e[1],r[1],i[1]);this.a=[s[0],a[0]],this.b=[s[1],a[1]],this.c=[s[2],a[2]],this.d=[s[3],a[3]],this.points=[t,e,r,i]}function extrema(t,e){var r=t.points[0][e],i=t.points[t.points.length-1][e];if(r>i){var n=i;i=r,r=n}for(var s=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),a=0;a<s.length;a+=1)if(s[a]>0&&s[a]<1){var o=t.point(s[a])[e];o<r?r=o:o>i&&(i=o)}return{min:r,max:i}}function intersectData(t,e,r){var i=t.boundingBox();return{cx:i.cx,cy:i.cy,width:i.width,height:i.height,bez:t,t:(e+r)/2,t1:e,t2:r}}function splitData(t){var e=t.bez.split(.5);return[intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return 2*Math.abs(t.cx-e.cx)<t.width+e.width&&2*Math.abs(t.cy-e.cy)<t.height+e.height}function intersectsImpl(t,e,r,i,n,s){if(boxIntersect(t,e))if(r>=s||t.width<=i&&t.height<=i&&e.width<=i&&e.height<=i)n.push([t.t,e.t]);else{var a=splitData(t),o=splitData(e);intersectsImpl(a[0],o[0],r+1,i,n,s),intersectsImpl(a[0],o[1],r+1,i,n,s),intersectsImpl(a[1],o[0],r+1,i,n,s),intersectsImpl(a[1],o[1],r+1,i,n,s)}}function crossProduct(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,r,i){var n=[t[0],t[1],1],s=[e[0],e[1],1],a=[r[0],r[1],1],o=[i[0],i[1],1],h=crossProduct(crossProduct(n,s),crossProduct(a,o));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,r){return[t[0]+Math.cos(e)*r,t[1]-Math.sin(e)*r]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}function setPoint(t,e,r,i,n,s,a){var o=r-Math.PI/2,h=r+Math.PI/2,l=e[0]+Math.cos(r)*i*n,p=e[1]-Math.sin(r)*i*n;t.setTripleAt(l,p,l+Math.cos(o)*s,p-Math.sin(o)*s,l+Math.cos(h)*a,p-Math.sin(h)*a,t.length())}function getPerpendicularVector(t,e){var r=[e[0]-t[0],e[1]-t[1]],i=.5*-Math.PI;return[Math.cos(i)*r[0]-Math.sin(i)*r[1],Math.sin(i)*r[0]+Math.cos(i)*r[1]]}function getProjectingAngle(t,e){var r=0===e?t.length()-1:e-1,i=(e+1)%t.length(),n=getPerpendicularVector(t.v[r],t.v[i]);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,r,i,n,s,a){var o=getProjectingAngle(e,r),h=e.v[r%e._length],l=e.v[0===r?e._length-1:r-1],p=e.v[(r+1)%e._length],c=2===s?Math.sqrt(Math.pow(h[0]-l[0],2)+Math.pow(h[1]-l[1],2)):0,f=2===s?Math.sqrt(Math.pow(h[0]-p[0],2)+Math.pow(h[1]-p[1],2)):0;setPoint(t,e.v[r%e._length],o,a,i,f/(2*(n+1)),c/(2*(n+1)),s)}function zigZagSegment(t,e,r,i,n,s){for(var a=0;a<i;a+=1){var o=(a+1)/(i+1),h=2===n?Math.sqrt(Math.pow(e.points[3][0]-e.points[0][0],2)+Math.pow(e.points[3][1]-e.points[0][1],2)):0,l=e.normalAngle(o);setPoint(t,e.point(o),l,s,r,h/(2*(i+1)),h/(2*(i+1)),n),s=-s}return s}function linearOffset(t,e,r){var i=Math.atan2(e[0]-t[0],e[1]-t[1]);return[polarOffset(t,i,r),polarOffset(e,i,r)]}function offsetSegment(t,e){var r,i,n,s,a,o,h;r=(h=linearOffset(t.points[0],t.points[1],e))[0],i=h[1],n=(h=linearOffset(t.points[1],t.points[2],e))[0],s=h[1],a=(h=linearOffset(t.points[2],t.points[3],e))[0],o=h[1];var l=lineIntersection(r,i,n,s);null===l&&(l=i);var p=lineIntersection(a,o,n,s);return null===p&&(p=a),new PolynomialBezier(r,l,p,o)}function joinLines(t,e,r,i,n){var s=e.points[3],a=r.points[0];if(3===i)return s;if(pointEqual(s,a))return s;if(2===i){var o=-e.tangentAngle(1),h=-r.tangentAngle(0)+Math.PI,l=lineIntersection(s,polarOffset(s,o+Math.PI/2,100),a,polarOffset(a,o+Math.PI/2,100)),p=l?pointDistance(l,s):pointDistance(s,a)/2,c=polarOffset(s,o,2*p*roundCorner);return t.setXYAt(c[0],c[1],\"o\",t.length()-1),c=polarOffset(a,h,2*p*roundCorner),t.setTripleAt(a[0],a[1],a[0],a[1],c[0],c[1],t.length()),a}var f=lineIntersection(pointEqual(s,e.points[2])?e.points[0]:e.points[2],s,a,pointEqual(a,r.points[1])?r.points[3]:r.points[1]);return f&&pointDistance(f,s)<n?(t.setTripleAt(f[0],f[1],f[0],f[1],f[0],f[1],t.length()),f):s}function getIntersection(t,e){var r=t.intersections(e);return r.length&&floatEqual(r[0][0],1)&&r.shift(),r.length?r[0]:null}function pruneSegmentIntersection(t,e){var r=t.slice(),i=e.slice(),n=getIntersection(t[t.length-1],e[0]);return n&&(r[t.length-1]=t[t.length-1].split(n[0])[0],i[0]=e[0].split(n[1])[1]),t.length>1&&e.length>1&&(n=getIntersection(t[0],e[e.length-1]))?[[t[0].split(n[0])[0]],[e[e.length-1].split(n[1])[1]]]:[r,i]}function pruneIntersections(t){for(var e,r=1;r<t.length;r+=1)e=pruneSegmentIntersection(t[r-1],t[r]),t[r-1]=e[0],t[r]=e[1];return t.length>1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var r,i,n,s,a=t.inflectionPoints();if(0===a.length)return[offsetSegment(t,e)];if(1===a.length||floatEqual(a[1],1))return r=(n=t.split(a[0]))[0],i=n[1],[offsetSegment(r,e),offsetSegment(i,e)];r=(n=t.split(a[0]))[0];var o=(a[1]-a[0])/(1-a[0]);return s=(n=n[1].split(o))[0],i=n[1],[offsetSegment(r,e),offsetSegment(s,e),offsetSegment(i,e)]}function OffsetPathModifier(){}function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(\" \"):[],r=\"normal\",i=\"normal\",n=e.length,s=0;s<n;s+=1)switch(e[s].toLowerCase()){case\"italic\":i=\"italic\";break;case\"bold\":r=\"700\";break;case\"black\":r=\"900\";break;case\"medium\":r=\"500\";break;case\"regular\":case\"normal\":r=\"400\";break;case\"light\":case\"thin\":r=\"200\"}return{style:i,weight:t.fWeight||r}}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(t,e.c,0,null,this),this.o=PropertyFactory.getProp(t,e.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(t,e.tr,this),this.so=PropertyFactory.getProp(t,e.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(t,e.tr.eo,0,.01,this),this.data=e,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(t,e,r,i,n,s){var a=s?-1:1,o=i.s.v[0]+(1-i.s.v[0])*(1-n),h=i.s.v[1]+(1-i.s.v[1])*(1-n);t.translate(i.p.v[0]*a*n,i.p.v[1]*a*n,i.p.v[2]),e.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),e.rotate(-i.r.v*a*n),e.translate(i.a.v[0],i.a.v[1],i.a.v[2]),r.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),r.scale(s?1/o:o,s?1/h:h),r.translate(i.a.v[0],i.a.v[1],i.a.v[2])},RepeaterModifier.prototype.init=function(t,e,r,i){for(this.elem=t,this.arr=e,this.pos=r,this.elemsData=i,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e[r]);r>0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,r=t.length;for(e=0;e<r;e+=1)t[e]._processed=!1,\"gr\"===t[e].ty&&this.resetElements(t[e].it)},RepeaterModifier.prototype.cloneElements=function(t){var e=JSON.parse(JSON.stringify(t));return this.resetElements(e),e},RepeaterModifier.prototype.changeGroupRender=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)t[r]._render=e,\"gr\"===t[r].ty&&this.changeGroupRender(t[r].it,e)},RepeaterModifier.prototype.processShapes=function(t){var e,r,i,n,s,a=!1;if(this._mdf||t){var o,h=Math.ceil(this.c.v);if(this._groups.length<h){for(;this._groups.length<h;){var l={it:this.cloneElements(this._elements),ty:\"gr\"};l.it.push({a:{a:0,ix:1,k:[0,0]},nm:\"Transform\",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:\"tr\"}),this.arr.splice(0,0,l),this._groups.splice(0,0,l),this._currentCopies+=1}this.elem.reloadShapes(),a=!0}for(s=0,i=0;i<=this._groups.length-1;i+=1){if(o=s<h,this._groups[i]._render=o,this.changeGroupRender(this._groups[i].it,o),!o){var p=this.elemsData[i].it,c=p[p.length-1];0!==c.transform.op.v?(c.transform.op._mdf=!0,c.transform.op.v=0):c.transform.op._mdf=!1}s+=1}this._currentCopies=h;var f=this.o.v,u=f%1,d=f>0?Math.floor(f):Math.ceil(f),m=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,_,b=0;if(f>0){for(;b<d;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),b+=1;u&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,u,!1),b+=u)}else if(f<0){for(;b>d;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),b-=1;u&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-u,!0),b-=u)}for(i=1===this.data.m?0:this._currentCopies-1,n=1===this.data.m?1:-1,s=this._currentCopies;s;){if(_=(r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),0!==b){for((0!==i&&1===n||i!==this._currentCopies-1&&-1===n)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),v=0;v<_;v+=1)r[v]=this.matrix.props[v];this.matrix.reset()}else for(this.matrix.reset(),v=0;v<_;v+=1)r[v]=this.matrix.props[v];b+=1,s-=1,i+=n}}else for(s=this._currentCopies,i=0,n=1;s;)r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,s-=1,i+=n;return a},RepeaterModifier.prototype.addShape=function(){},extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(t,e){var r,i=shapePool.newElement();i.c=t.c;var n,s,a,o,h,l,p,c,f,u,d,m,y=t._length,g=0;for(r=0;r<y;r+=1)n=t.v[r],a=t.o[r],s=t.i[r],n[0]===a[0]&&n[1]===a[1]&&n[0]===s[0]&&n[1]===s[1]?0!==r&&r!==y-1||t.c?(o=0===r?t.v[y-1]:t.v[r-1],l=(h=Math.sqrt(Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=d=n[0]+(o[0]-n[0])*l,c=m=n[1]-(n[1]-o[1])*l,f=p-(p-n[0])*roundCorner,u=c-(c-n[1])*roundCorner,i.setTripleAt(p,c,f,u,d,m,g),g+=1,o=r===y-1?t.v[0]:t.v[r+1],l=(h=Math.sqrt(Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=f=n[0]+(o[0]-n[0])*l,c=u=n[1]+(o[1]-n[1])*l,d=p-(p-n[0])*roundCorner,m=c-(c-n[1])*roundCorner,i.setTripleAt(p,c,f,u,d,m,g),g+=1):(i.setTripleAt(n[0],n[1],a[0],a[1],s[0],s[1],g),g+=1):(i.setTripleAt(t.v[r][0],t.v[r][1],t.o[r][0],t.o[r][1],t.i[r][0],t.i[r][1],g),g+=1);return i},RoundCornersModifier.prototype.processShapes=function(t){var e,r,i,n,s,a,o=this.shapes.length,h=this.rd.v;if(0!==h)for(r=0;r<o;r+=1){if(a=(s=this.shapes[r]).localShapeCollection,s.shape._mdf||this._mdf||t)for(a.releaseShapes(),s.shape._mdf=!0,e=s.shape.paths.shapes,n=s.shape.paths._length,i=0;i<n;i+=1)a.addShape(this.processPath(e[i],h));s.shape.paths=s.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},PolynomialBezier.prototype.point=function(t){return[((this.a[0]*t+this.b[0])*t+this.c[0])*t+this.d[0],((this.a[1]*t+this.b[1])*t+this.c[1])*t+this.d[1]]},PolynomialBezier.prototype.derivative=function(t){return[(3*t*this.a[0]+2*this.b[0])*t+this.c[0],(3*t*this.a[1]+2*this.b[1])*t+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(t){var e=this.derivative(t);return Math.atan2(e[1],e[0])},PolynomialBezier.prototype.normalAngle=function(t){var e=this.derivative(t);return Math.atan2(e[0],e[1])},PolynomialBezier.prototype.inflectionPoints=function(){var t=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(t))return[];var e=-.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/t,r=e*e-1/3*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/t;if(r<0)return[];var i=Math.sqrt(r);return floatZero(i)?i>0&&i<1?[e]:[]:[e-i,e+i].filter((function(t){return t>0&&t<1}))},PolynomialBezier.prototype.split=function(t){if(t<=0)return[singlePoint(this.points[0]),this];if(t>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),r=lerpPoint(this.points[1],this.points[2],t),i=lerpPoint(this.points[2],this.points[3],t),n=lerpPoint(e,r,t),s=lerpPoint(r,i,t),a=lerpPoint(n,s,t);return[new PolynomialBezier(this.points[0],e,n,a,!0),new PolynomialBezier(a,s,i,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return{left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}},PolynomialBezier.prototype.intersections=function(t,e,r){void 0===e&&(e=2),void 0===r&&(r=7);var i=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,i,r),i},PolynomialBezier.shapeSegment=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[r],t.v[r],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[r],t.i[r],t.o[e],t.v[e],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(t,e,r,i){var n=t._length,s=shapePool.newElement();if(s.c=t.c,t.c||(n-=1),0===n)return s;var a=-1,o=PolynomialBezier.shapeSegment(t,0);zigZagCorner(s,t,0,e,r,i,a);for(var h=0;h<n;h+=1)a=zigZagSegment(s,o,e,r,i,-a),o=h!==n-1||t.c?PolynomialBezier.shapeSegment(t,(h+1)%n):null,zigZagCorner(s,t,h+1,e,r,i,a);return s},ZigZagModifier.prototype.processShapes=function(t){var e,r,i,n,s,a,o=this.shapes.length,h=this.amplitude.v,l=Math.max(0,Math.round(this.frequency.v)),p=this.pointsType.v;if(0!==h)for(r=0;r<o;r+=1){if(a=(s=this.shapes[r]).localShapeCollection,s.shape._mdf||this._mdf||t)for(a.releaseShapes(),s.shape._mdf=!0,e=s.shape.paths.shapes,n=s.shape.paths._length,i=0;i<n;i+=1)a.addShape(this.processPath(e[i],h,l,p));s.shape.paths=s.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=0!==this.amount.effectsSequence.length},OffsetPathModifier.prototype.processPath=function(t,e,r,i){var n=shapePool.newElement();n.c=t.c;var s,a,o,h=t.length();t.c||(h-=1);var l=[];for(s=0;s<h;s+=1)o=PolynomialBezier.shapeSegment(t,s),l.push(offsetSegmentSplit(o,e));if(!t.c)for(s=h-1;s>=0;s-=1)o=PolynomialBezier.shapeSegmentInverted(t,s),l.push(offsetSegmentSplit(o,e));l=pruneIntersections(l);var p=null,c=null;for(s=0;s<l.length;s+=1){var f=l[s];for(c&&(p=joinLines(n,c,f[0],r,i)),c=f[f.length-1],a=0;a<f.length;a+=1)o=f[a],p&&pointEqual(o.points[0],p)?n.setXYAt(o.points[1][0],o.points[1][1],\"o\",n.length()-1):n.setTripleAt(o.points[0][0],o.points[0][1],o.points[1][0],o.points[1][1],o.points[0][0],o.points[0][1],n.length()),n.setTripleAt(o.points[3][0],o.points[3][1],o.points[3][0],o.points[3][1],o.points[2][0],o.points[2][1],n.length()),p=o.points[3]}return l.length&&joinLines(n,c,l[0][0],r,i),n},OffsetPathModifier.prototype.processShapes=function(t){var e,r,i,n,s,a,o=this.shapes.length,h=this.amount.v,l=this.miterLimit.v,p=this.lineJoin;if(0!==h)for(r=0;r<o;r+=1){if(a=(s=this.shapes[r]).localShapeCollection,s.shape._mdf||this._mdf||t)for(a.releaseShapes(),s.shape._mdf=!0,e=s.shape.paths.shapes,n=s.shape.paths._length,i=0;i<n;i+=1)a.addShape(this.processPath(e[i],h,p,l));s.shape.paths=s.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var FontManager=function(){var t={w:0,size:0,shapes:[],data:{shapes:[]}},e=[];e=e.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var r=[\"d83cdffb\",\"d83cdffc\",\"d83cdffd\",\"d83cdffe\",\"d83cdfff\"],i=[65039,8205];function n(t,e){var r=createTag(\"span\");r.setAttribute(\"aria-hidden\",!0),r.style.fontFamily=e;var i=createTag(\"span\");i.innerText=\"giItT1WQy@!-/#\",r.style.position=\"absolute\",r.style.left=\"-10000px\",r.style.top=\"-10000px\",r.style.fontSize=\"300px\",r.style.fontVariant=\"normal\",r.style.fontStyle=\"normal\",r.style.fontWeight=\"normal\",r.style.letterSpacing=\"0\",r.appendChild(i),document.body.appendChild(r);var n=i.offsetWidth;return i.style.fontFamily=function(t){var e,r=t.split(\",\"),i=r.length,n=[];for(e=0;e<i;e+=1)\"sans-serif\"!==r[e]&&\"monospace\"!==r[e]&&n.push(r[e]);return n.join(\",\")}(t)+\", \"+e,{node:i,w:n,parent:r}}function s(t,e){var r,i=document.body&&e?\"svg\":\"canvas\",n=getFontProperties(t);if(\"svg\"===i){var s=createNS(\"text\");s.style.fontSize=\"100px\",s.setAttribute(\"font-family\",t.fFamily),s.setAttribute(\"font-style\",n.style),s.setAttribute(\"font-weight\",n.weight),s.textContent=\"1\",t.fClass?(s.style.fontFamily=\"inherit\",s.setAttribute(\"class\",t.fClass)):s.style.fontFamily=t.fFamily,e.appendChild(s),r=s}else{var a=new OffscreenCanvas(500,500).getContext(\"2d\");a.font=n.style+\" \"+n.weight+\" 100px \"+t.fFamily,r=a}return{measureText:function(t){return\"svg\"===i?(r.textContent=t,r.getComputedTextLength()):r.measureText(t).width}}}var a=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return a.isModifier=function(t,e){var i=t.toString(16)+e.toString(16);return-1!==r.indexOf(i)},a.isZeroWidthJoiner=function(t,e){return e?t===i[0]&&e===i[1]:t===i[1]},a.isCombinedCharacter=function(t){return-1!==e.indexOf(t)},a.prototype={addChars:function(t){if(t){var e;this.chars||(this.chars=[]);var r,i,n=t.length,s=this.chars.length;for(e=0;e<n;e+=1){for(r=0,i=!1;r<s;)this.chars[r].style===t[e].style&&this.chars[r].fFamily===t[e].fFamily&&this.chars[r].ch===t[e].ch&&(i=!0),r+=1;i||(this.chars.push(t[e]),s+=1)}}},addFonts:function(t,e){if(t){if(this.chars)return this.isLoaded=!0,void(this.fonts=t.list);if(!document.body)return this.isLoaded=!0,t.list.forEach((function(t){t.helper=s(t),t.cache={}})),void(this.fonts=t.list);var r,i=t.list,a=i.length,o=a;for(r=0;r<a;r+=1){var h,l,p=!0;if(i[r].loaded=!1,i[r].monoCase=n(i[r].fFamily,\"monospace\"),i[r].sansCase=n(i[r].fFamily,\"sans-serif\"),i[r].fPath){if(\"p\"===i[r].fOrigin||3===i[r].origin){if((h=document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"'+i[r].fFamily+'\"], style[f-origin=\"3\"][f-family=\"'+i[r].fFamily+'\"]')).length>0&&(p=!1),p){var c=createTag(\"style\");c.setAttribute(\"f-forigin\",i[r].fOrigin),c.setAttribute(\"f-origin\",i[r].origin),c.setAttribute(\"f-family\",i[r].fFamily),c.type=\"text/css\",c.innerText=\"@font-face {font-family: \"+i[r].fFamily+\"; font-style: normal; src: url('\"+i[r].fPath+\"');}\",e.appendChild(c)}}else if(\"g\"===i[r].fOrigin||1===i[r].origin){for(h=document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'),l=0;l<h.length;l+=1)-1!==h[l].href.indexOf(i[r].fPath)&&(p=!1);if(p){var f=createTag(\"link\");f.setAttribute(\"f-forigin\",i[r].fOrigin),f.setAttribute(\"f-origin\",i[r].origin),f.type=\"text/css\",f.rel=\"stylesheet\",f.href=i[r].fPath,document.body.appendChild(f)}}else if(\"t\"===i[r].fOrigin||2===i[r].origin){for(h=document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'),l=0;l<h.length;l+=1)i[r].fPath===h[l].src&&(p=!1);if(p){var u=createTag(\"link\");u.setAttribute(\"f-forigin\",i[r].fOrigin),u.setAttribute(\"f-origin\",i[r].origin),u.setAttribute(\"rel\",\"stylesheet\"),u.setAttribute(\"href\",i[r].fPath),e.appendChild(u)}}}else i[r].loaded=!0,o-=1;i[r].helper=s(i[r],e),i[r].cache={},this.fonts.push(i[r])}0===o?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(e,r,i){for(var n=0,s=this.chars.length;n<s;){if(this.chars[n].ch===e&&this.chars[n].style===r&&this.chars[n].fFamily===i)return this.chars[n];n+=1}return(\"string\"==typeof e&&13!==e.charCodeAt(0)||!e)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn(\"Missing character from exported characters list: \",e,r,i)),t},getFontByName:function(t){for(var e=0,r=this.fonts.length;e<r;){if(this.fonts[e].fName===t)return this.fonts[e];e+=1}return this.fonts[0]},measureText:function(t,e,r){var i=this.getFontByName(e),n=t.charCodeAt(0);if(!i.cache[n+1]){var s=i.helper;if(\" \"===t){var a=s.measureText(\"|\"+t+\"|\"),o=s.measureText(\"||\");i.cache[n+1]=(a-o)/100}else i.cache[n+1]=s.measureText(t)/100}return i.cache[n+1]*r},checkLoadedFonts:function(){var t,e,r,i=this.fonts.length,n=i;for(t=0;t<i;t+=1)this.fonts[t].loaded?n-=1:\"n\"===this.fonts[t].fOrigin||0===this.fonts[t].origin?this.fonts[t].loaded=!0:(e=this.fonts[t].monoCase.node,r=this.fonts[t].monoCase.w,e.offsetWidth!==r?(n-=1,this.fonts[t].loaded=!0):(e=this.fonts[t].sansCase.node,r=this.fonts[t].sansCase.w,e.offsetWidth!==r&&(n-=1,this.fonts[t].loaded=!0)),this.fonts[t].loaded&&(this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent),this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));0!==n&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}},a}();function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(t){-1===this.renderableComponents.indexOf(t)&&this.renderableComponents.push(t)},removeRenderableComponent:function(t){-1!==this.renderableComponents.indexOf(t)&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1)},prepareRenderableFrame:function(t){this.checkLayerLimits(t)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t<e;t+=1)this.renderableComponents[t].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return 5===this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var getBlendMode=(blendModeEnums={0:\"source-over\",1:\"multiply\",2:\"screen\",3:\"overlay\",4:\"darken\",5:\"lighten\",6:\"color-dodge\",7:\"color-burn\",8:\"hard-light\",9:\"soft-light\",10:\"difference\",11:\"exclusion\",12:\"hue\",13:\"saturation\",14:\"color\",15:\"luminosity\"},function(t){return blendModeEnums[t]||\"\"}),blendModeEnums;function SliderEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function AngleEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function ColorEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,1,0,r)}function PointEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,1,0,r)}function LayerIndexEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function MaskIndexEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function CheckboxEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function NoValueEffect(){this.p={}}function EffectsManager(t,e){var r,i=t.ef||[];this.effectElements=[];var n,s=i.length;for(r=0;r<s;r+=1)n=new GroupEffect(i[r],e),this.effectElements.push(n)}function GroupEffect(t,e){this.init(t,e)}function BaseElement(){}function FrameElement(){}function FootageElement(t,e,r){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(t.refId),this.footageData=e.imageLoader.getAsset(this.assetData),this.initBaseData(t,e,r)}function AudioElement(t,e,r){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(t.refId),this.initBaseData(t,e,r),this._isPlaying=!1,this._canPlay=!1;var i=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(i),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,t.au&&t.au.lv?t.au.lv:{k:[100]},1,.01,this)}function BaseRenderer(){}function TransformElement(){}function MaskElement(t,e,r){this.data=t,this.element=e,this.globalData=r,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var i,n,s=this.globalData.defs,a=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(a),this.solidPath=\"\";var o,h,l,p,c,f,u=this.masksProperties,d=0,m=[],y=createElementID(),g=\"clipPath\",v=\"clip-path\";for(i=0;i<a;i+=1)if((\"a\"!==u[i].mode&&\"n\"!==u[i].mode||u[i].inv||100!==u[i].o.k||u[i].o.x)&&(g=\"mask\",v=\"mask\"),\"s\"!==u[i].mode&&\"i\"!==u[i].mode||0!==d?l=null:((l=createNS(\"rect\")).setAttribute(\"fill\",\"#ffffff\"),l.setAttribute(\"width\",this.element.comp.data.w||0),l.setAttribute(\"height\",this.element.comp.data.h||0),m.push(l)),n=createNS(\"path\"),\"n\"===u[i].mode)this.viewData[i]={op:PropertyFactory.getProp(this.element,u[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,u[i],3),elem:n,lastPath:\"\"},s.appendChild(n);else{var _;if(d+=1,n.setAttribute(\"fill\",\"s\"===u[i].mode?\"#000000\":\"#ffffff\"),n.setAttribute(\"clip-rule\",\"nonzero\"),0!==u[i].x.k?(g=\"mask\",v=\"mask\",f=PropertyFactory.getProp(this.element,u[i].x,0,null,this.element),_=createElementID(),(p=createNS(\"filter\")).setAttribute(\"id\",_),(c=createNS(\"feMorphology\")).setAttribute(\"operator\",\"erode\"),c.setAttribute(\"in\",\"SourceGraphic\"),c.setAttribute(\"radius\",\"0\"),p.appendChild(c),s.appendChild(p),n.setAttribute(\"stroke\",\"s\"===u[i].mode?\"#000000\":\"#ffffff\")):(c=null,f=null),this.storedData[i]={elem:n,x:f,expan:c,lastPath:\"\",lastOperator:\"\",filterId:_,lastRadius:0},\"i\"===u[i].mode){h=m.length;var b=createNS(\"g\");for(o=0;o<h;o+=1)b.appendChild(m[o]);var P=createNS(\"mask\");P.setAttribute(\"mask-type\",\"alpha\"),P.setAttribute(\"id\",y+\"_\"+d),P.appendChild(n),s.appendChild(P),b.setAttribute(\"mask\",\"url(\"+getLocationHref()+\"#\"+y+\"_\"+d+\")\"),m.length=0,m.push(b)}else m.push(n);u[i].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[i]={elem:n,lastPath:\"\",op:PropertyFactory.getProp(this.element,u[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,u[i],3),invRect:l},this.viewData[i].prop.k||this.drawPath(u[i],this.viewData[i].prop.v,this.viewData[i])}for(this.maskElement=createNS(g),a=m.length,i=0;i<a;i+=1)this.maskElement.appendChild(m[i]);d>0&&(this.maskElement.setAttribute(\"id\",y),this.element.maskedElement.setAttribute(v,\"url(\"+getLocationHref()+\"#\"+y+\")\"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(t,e){var r;this.data=t,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,n=this.data.ef.length,s=this.data.ef;for(r=0;r<n;r+=1){switch(i=null,s[r].ty){case 0:i=new SliderEffect(s[r],e,this);break;case 1:i=new AngleEffect(s[r],e,this);break;case 2:i=new ColorEffect(s[r],e,this);break;case 3:i=new PointEffect(s[r],e,this);break;case 4:case 7:i=new CheckboxEffect(s[r],e,this);break;case 10:i=new LayerIndexEffect(s[r],e,this);break;case 11:i=new MaskIndexEffect(s[r],e,this);break;case 5:i=new EffectsManager(s[r],e,this);break;default:i=new NoValueEffect(s[r],e,this)}i&&this.effectElements.push(i)}},BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var t=0,e=this.data.masksProperties.length;t<e;){if(\"n\"!==this.data.masksProperties[t].mode&&!1!==this.data.masksProperties[t].cl)return!0;t+=1}return!1},initExpressions:function(){var t=getExpressionInterfaces();if(t){var e=t(\"layer\"),r=t(\"effects\"),i=t(\"shape\"),n=t(\"text\"),s=t(\"comp\");this.layerInterface=e(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var a=r.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(a),0===this.data.ty||this.data.xt?this.compInterface=s(this):4===this.data.ty?(this.layerInterface.shapeInterface=i(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):5===this.data.ty&&(this.layerInterface.textInterface=n(this),this.layerInterface.text=this.layerInterface.textInterface)}},setBlendMode:function(){var t=getBlendMode(this.data.bm);(this.baseElement||this.layerElement).style[\"mix-blend-mode\"]=t},initBaseData:function(t,e,r){this.globalData=e,this.comp=r,this.data=t,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(t,e){var r,i=this.dynamicProperties.length;for(r=0;r<i;r+=1)(e||this._isParent&&\"transform\"===this.dynamicProperties[r].propType)&&(this.dynamicProperties[r].getValue(),this.dynamicProperties[r]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&this.dynamicProperties.push(t)}},FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var t=getExpressionInterfaces();if(t){var e=t(\"footage\");this.layerInterface=e(this)}},FootageElement.prototype.getFootageData=function(){return this.footageData},AudioElement.prototype.prepareFrame=function(t){if(this.prepareRenderableFrame(t,!0),this.prepareProperties(t,!0),this.tm._placeholder)this._currentTime=t/this.data.sr;else{var e=this.tm.v;this._currentTime=e}this._volume=this.lv.v[0];var r=this._volume*this._volumeMultiplier;this._previousVolume!==r&&(this._previousVolume=r,this.audio.volume(r))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(t){var e,r,i=this.layers.length;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(r=this.layers[e]).ip-r.st<=t-this.layers[e].st&&r.op-r.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error(\"You're using a 3d camera. Try the html renderer.\")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)this.buildItem(t);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(t){var e;this.completeLayers=!1;var r,i=t.length,n=this.layers.length;for(e=0;e<i;e+=1)for(r=0;r<n;){if(this.layers[r].id===t[e].id){this.layers[r]=t[e];break}r+=1}},BaseRenderer.prototype.setProjectInterface=function(t){this.globalData.projectInterface=t},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(t,e,r){for(var i=this.elements,n=this.layers,s=0,a=n.length;s<a;)n[s].ind==e&&(i[s]&&!0!==i[s]?(r.push(i[s]),i[s].setAsParent(),void 0!==n[s].parent?this.buildElementParenting(t,n[s].parent,r):t.setHierarchy(r)):(this.buildItem(s),this.addPendingElement(t))),s+=1},BaseRenderer.prototype.addPendingElement=function(t){this.pendingElements.push(t)},BaseRenderer.prototype.searchExtraCompositions=function(t){var e,r=t.length;for(e=0;e<r;e+=1)if(t[e].xt){var i=this.createComp(t[e]);i.initExpressions(),this.globalData.projectInterface.registerComposition(i)}},BaseRenderer.prototype.getElementByPath=function(t){var e,r=t.shift();if(\"number\"==typeof r)e=this.elements[r];else{var i,n=this.elements.length;for(i=0;i<n;i+=1)if(this.elements[i].data.nm===r){e=this.elements[i];break}}return 0===t.length?e:e.getElementByPath(t)},BaseRenderer.prototype.setupGlobalData=function(t,e){this.globalData.fontManager=new FontManager,this.globalData.fontManager.addChars(t.chars),this.globalData.fontManager.addFonts(t.fonts,e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=t.fr,this.globalData.nm=t.nm,this.globalData.compSize={w:t.w,h:t.h}},TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var t,e=this.finalTransform.mat,r=0,i=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;r<i;){if(this.hierarchy[r].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}r+=1}if(this.finalTransform._matMdf)for(t=this.finalTransform.mProp.v.props,e.cloneFromProps(t),r=0;r<i;r+=1)t=this.hierarchy[r].finalTransform.mProp.v.props,e.transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}},globalToLocal:function(t){var e=[];e.push(this.finalTransform);for(var r,i=!0,n=this.comp;i;)n.finalTransform?(n.data.hasMask&&e.splice(0,0,n.finalTransform),n=n.comp):i=!1;var s,a=e.length;for(r=0;r<a;r+=1)s=e[r].mat.applyToPointArray(0,0,0),t=[t[0]-s[0],t[1]-s[1],0];return t},mHelper:new Matrix},MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e,r=this.element.finalTransform.mat,i=this.masksProperties.length;for(e=0;e<i;e+=1)if((this.viewData[e].prop._mdf||t)&&this.drawPath(this.masksProperties[e],this.viewData[e].prop.v,this.viewData[e]),(this.viewData[e].op._mdf||t)&&this.viewData[e].elem.setAttribute(\"fill-opacity\",this.viewData[e].op.v),\"n\"!==this.masksProperties[e].mode&&(this.viewData[e].invRect&&(this.element.finalTransform.mProp._mdf||t)&&this.viewData[e].invRect.setAttribute(\"transform\",r.getInverseMatrix().to2dCSS()),this.storedData[e].x&&(this.storedData[e].x._mdf||t))){var n=this.storedData[e].expan;this.storedData[e].x.v<0?(\"erode\"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator=\"erode\",this.storedData[e].elem.setAttribute(\"filter\",\"url(\"+getLocationHref()+\"#\"+this.storedData[e].filterId+\")\")),n.setAttribute(\"radius\",-this.storedData[e].x.v)):(\"dilate\"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator=\"dilate\",this.storedData[e].elem.setAttribute(\"filter\",null)),this.storedData[e].elem.setAttribute(\"stroke-width\",2*this.storedData[e].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var t=\"M0,0 \";return t+=\" h\"+this.globalData.compSize.w,t+=\" v\"+this.globalData.compSize.h,t+=\" h-\"+this.globalData.compSize.w,t+=\" v-\"+this.globalData.compSize.h+\" \"},MaskElement.prototype.drawPath=function(t,e,r){var i,n,s=\" M\"+e.v[0][0]+\",\"+e.v[0][1];for(n=e._length,i=1;i<n;i+=1)s+=\" C\"+e.o[i-1][0]+\",\"+e.o[i-1][1]+\" \"+e.i[i][0]+\",\"+e.i[i][1]+\" \"+e.v[i][0]+\",\"+e.v[i][1];if(e.c&&n>1&&(s+=\" C\"+e.o[i-1][0]+\",\"+e.o[i-1][1]+\" \"+e.i[0][0]+\",\"+e.i[0][1]+\" \"+e.v[0][0]+\",\"+e.v[0][1]),r.lastPath!==s){var a=\"\";r.elem&&(e.c&&(a=t.inv?this.solidPath+s:s),r.elem.setAttribute(\"d\",a)),r.lastPath=s}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var t={};return t.createFilter=function(t,e){var r=createNS(\"filter\");r.setAttribute(\"id\",t),!0!==e&&(r.setAttribute(\"filterUnits\",\"objectBoundingBox\"),r.setAttribute(\"x\",\"0%\"),r.setAttribute(\"y\",\"0%\"),r.setAttribute(\"width\",\"100%\"),r.setAttribute(\"height\",\"100%\"));return r},t.createAlphaToLuminanceFilter=function(){var t=createNS(\"feColorMatrix\");return t.setAttribute(\"type\",\"matrix\"),t.setAttribute(\"color-interpolation-filters\",\"sRGB\"),t.setAttribute(\"values\",\"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\"),t},t}(),featureSupport=function(){var t={maskType:!0};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\\/\\d./i.test(navigator.userAgent))&&(t.maskType=!1),t}(),registeredEffects={},idPrefix=\"filter_result_\";function SVGEffects(t){var e,r,i=\"SourceGraphic\",n=t.data.ef?t.data.ef.length:0,s=createElementID(),a=filtersFactory.createFilter(s,!0),o=0;for(this.filters=[],e=0;e<n;e+=1){r=null;var h=t.data.ef[e].ty;if(registeredEffects[h])r=new(0,registeredEffects[h].effect)(a,t.effectsManager.effectElements[e],t,idPrefix+o,i),i=idPrefix+o,registeredEffects[h].countsAsEffect&&(o+=1);r&&this.filters.push(r)}o&&(t.globalData.defs.appendChild(a),t.layerElement.setAttribute(\"filter\",\"url(\"+getLocationHref()+\"#\"+s+\")\")),this.filters.length&&t.addRenderableComponent(this)}function registerEffect(t,e,r){registeredEffects[t]={effect:e,countsAsEffect:r}}function SVGBaseElement(){}function HierarchyElement(){}function RenderableDOMElement(){}function IImageElement(t,e,r){this.assetData=e.getAssetData(t.refId),this.initElement(t,e,r),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ProcessedElement(t,e){this.elem=t,this.pos=e}function IShapeElement(){}SVGEffects.prototype.renderFrame=function(t){var e,r=this.filters.length;for(e=0;e<r;e+=1)this.filters[e].renderFrame(t)},SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS(\"g\")},createContainerElements:function(){this.matteElement=createNS(\"g\"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var t=null;if(this.data.td){this.matteMasks={};var e=createNS(\"symbol\");e.setAttribute(\"id\",this.layerId);var r=createNS(\"g\");r.appendChild(this.layerElement),e.appendChild(r),t=r,this.globalData.defs.appendChild(e)}else this.data.tt?(this.matteElement.appendChild(this.layerElement),t=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute(\"id\",this.data.ln),this.data.cl&&this.layerElement.setAttribute(\"class\",this.data.cl),0===this.data.ty&&!this.data.hd){var i=createNS(\"clipPath\"),n=createNS(\"path\");n.setAttribute(\"d\",\"M0,0 L\"+this.data.w+\",0 L\"+this.data.w+\",\"+this.data.h+\" L0,\"+this.data.h+\"z\");var s=createElementID();if(i.setAttribute(\"id\",s),i.appendChild(n),this.globalData.defs.appendChild(i),this.checkMasks()){var a=createNS(\"g\");a.setAttribute(\"clip-path\",\"url(\"+getLocationHref()+\"#\"+s+\")\"),a.appendChild(this.layerElement),this.transformedElement=a,t?t.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute(\"clip-path\",\"url(\"+getLocationHref()+\"#\"+s+\")\")}0!==this.data.bm&&this.setBlendMode()},renderElement:function(){this.finalTransform._matMdf&&this.transformedElement.setAttribute(\"transform\",this.finalTransform.mat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute(\"opacity\",this.finalTransform.mProp.o.v)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this)},getMatte:function(t){if(!this.matteMasks[t]){var e,r,i,n,s=this.layerId+\"_\"+t;if(1===t||3===t){var a=createNS(\"mask\");a.setAttribute(\"id\",s),a.setAttribute(\"mask-type\",3===t?\"luminance\":\"alpha\"),(i=createNS(\"use\")).setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",\"#\"+this.layerId),a.appendChild(i),this.globalData.defs.appendChild(a),featureSupport.maskType||1!==t||(a.setAttribute(\"mask-type\",\"luminance\"),e=createElementID(),r=filtersFactory.createFilter(e),this.globalData.defs.appendChild(r),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),(n=createNS(\"g\")).appendChild(i),a.appendChild(n),n.setAttribute(\"filter\",\"url(\"+getLocationHref()+\"#\"+e+\")\"))}else if(2===t){var o=createNS(\"mask\");o.setAttribute(\"id\",s),o.setAttribute(\"mask-type\",\"alpha\");var h=createNS(\"g\");o.appendChild(h),e=createElementID(),r=filtersFactory.createFilter(e);var l=createNS(\"feComponentTransfer\");l.setAttribute(\"in\",\"SourceGraphic\"),r.appendChild(l);var p=createNS(\"feFuncA\");p.setAttribute(\"type\",\"table\"),p.setAttribute(\"tableValues\",\"1.0 0.0\"),l.appendChild(p),this.globalData.defs.appendChild(r);var c=createNS(\"rect\");c.setAttribute(\"width\",this.comp.data.w),c.setAttribute(\"height\",this.comp.data.h),c.setAttribute(\"x\",\"0\"),c.setAttribute(\"y\",\"0\"),c.setAttribute(\"fill\",\"#ffffff\"),c.setAttribute(\"opacity\",\"0\"),h.setAttribute(\"filter\",\"url(\"+getLocationHref()+\"#\"+e+\")\"),h.appendChild(c),(i=createNS(\"use\")).setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",\"#\"+this.layerId),h.appendChild(i),featureSupport.maskType||(o.setAttribute(\"mask-type\",\"luminance\"),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),n=createNS(\"g\"),h.appendChild(c),n.appendChild(this.layerElement),h.appendChild(n)),this.globalData.defs.appendChild(o)}this.matteMasks[t]=s}return this.matteMasks[t]},setMatte:function(t){this.matteElement&&this.matteElement.setAttribute(\"mask\",\"url(\"+getLocationHref()+\"#\"+t+\")\")}},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(t){this.hierarchy=t},setAsParent:function(){this._isParent=!0},checkParenting:function(){void 0!==this.data.parent&&this.comp.buildElementParenting(this,this.data.parent,[])}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initTransform(t,e,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display=\"none\",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display=\"block\"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(t){this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var t=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS(\"image\"),this.innerElem.setAttribute(\"width\",this.assetData.w+\"px\"),this.innerElem.setAttribute(\"height\",this.assetData.h+\"px\"),this.innerElem.setAttribute(\"preserveAspectRatio\",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",t),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect},IShapeElement.prototype={addShapeToModifiers:function(t){var e,r=this.shapeModifiers.length;for(e=0;e<r;e+=1)this.shapeModifiers[e].addShape(t)},isShapeInAnimatedModifiers:function(t){for(var e=this.shapeModifiers.length;0<e;)if(this.shapeModifiers[0].isAnimatedWithShape(t))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var t,e=this.shapes.length;for(t=0;t<e;t+=1)this.shapes[t].sh.reset();for(t=(e=this.shapeModifiers.length)-1;t>=0&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,r=0,i=e.length;r<i;){if(e[r].elem===t)return e[r].pos;r+=1}return 0},addProcessedElement:function(t,e){for(var r=this.processedElements,i=r.length;i;)if(r[i-=1].elem===t)return void(r[i].pos=e);r.push(new ProcessedElement(t,e))},prepareFrame:function(t){this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange)}};var lineCapEnum={1:\"butt\",2:\"round\",3:\"square\"},lineJoinEnum={1:\"miter\",2:\"round\",3:\"bevel\"};function SVGShapeData(t,e,r){this.caches=[],this.styles=[],this.transformers=t,this.lStr=\"\",this.sh=r,this.lvl=e,this._isAnimated=!!r.k;for(var i=0,n=t.length;i<n;){if(t[i].mProps.dynamicProperties.length){this._isAnimated=!0;break}i+=1}}function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d=\"\",this.lvl=e,this._mdf=!1,this.closed=!0===t.hd,this.pElem=createNS(\"path\"),this.msElem=null}function DashProperty(t,e,r,i){var n;this.elem=t,this.frameId=-1,this.dataProps=createSizedArray(e.length),this.renderer=r,this.k=!1,this.dashStr=\"\",this.dashArray=createTypedArray(\"float32\",e.length?e.length-1:0),this.dashoffset=createTypedArray(\"float32\",1),this.initDynamicPropertyContainer(i);var s,a=e.length||0;for(n=0;n<a;n+=1)s=PropertyFactory.getProp(t,e[n].v,0,0,this),this.k=s.k||this.k,this.dataProps[n]={n:e[n].n,p:s};this.k||this.getValue(!0),this._isAnimated=this.k}function SVGStrokeStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},\"svg\",this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=r,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=r}function SVGNoStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.style=r}function GradientProperty(t,e,r){this.data=e,this.c=createTypedArray(\"uint8c\",4*e.p);var i=e.k.k[0].s?e.k.k[0].s.length-4*e.p:e.k.k.length-4*e.p;this.o=createTypedArray(\"float32\",i),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=i,this.initDynamicPropertyContainer(r),this.prop=PropertyFactory.getProp(t,e.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}function SVGGradientFillStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.initGradientData(t,e,r)}function SVGGradientStrokeStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},\"svg\",this),this.initGradientData(t,e,r),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS(\"g\")}function SVGTransformData(t,e,r){this.transform={mProps:t,op:e,container:r},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},SVGStyleData.prototype.reset=function(){this.d=\"\",this._mdf=!1},DashProperty.prototype.getValue=function(t){if((this.elem.globalData.frameId!==this.frameId||t)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||t,this._mdf)){var e=0,r=this.dataProps.length;for(\"svg\"===this.renderer&&(this.dashStr=\"\"),e=0;e<r;e+=1)\"o\"!==this.dataProps[e].n?\"svg\"===this.renderer?this.dashStr+=\" \"+this.dataProps[e].p.v:this.dashArray[e]=this.dataProps[e].p.v:this.dashoffset[0]=this.dataProps[e].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),extendPrototype([DynamicPropertyContainer],SVGNoStyleData),GradientProperty.prototype.comparePoints=function(t,e){for(var r=0,i=this.o.length/2;r<i;){if(Math.abs(t[4*r]-t[4*e+2*r])>.01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t<e;){if(!this.comparePoints(this.data.k.k[t].s,this.data.p))return!1;t+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(t){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||t){var e,r,i,n=4*this.data.p;for(e=0;e<n;e+=1)r=e%4==0?100:255,i=Math.round(this.prop.v[e]*r),this.c[e]!==i&&(this.c[e]=i,this._cmdf=!t);if(this.o.length)for(n=this.prop.v.length,e=4*this.data.p;e<n;e+=1)r=e%2==0?100:1,i=e%2==0?Math.round(100*this.prop.v[e]):this.prop.v[e],this.o[e-4*this.data.p]!==i&&(this.o[e-4*this.data.p]=i,this._omdf=!t);this._mdf=!t}},extendPrototype([DynamicPropertyContainer],GradientProperty),SVGGradientFillStyleData.prototype.initGradientData=function(t,e,r){this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.s=PropertyFactory.getProp(t,e.s,1,null,this),this.e=PropertyFactory.getProp(t,e.e,1,null,this),this.h=PropertyFactory.getProp(t,e.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(t,e.a||{k:0},0,degToRads,this),this.g=new GradientProperty(t,e.g,this),this.style=r,this.stops=[],this.setGradientData(r.pElem,e),this.setGradientOpacity(e,r),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(t,e){var r=createElementID(),i=createNS(1===e.t?\"linearGradient\":\"radialGradient\");i.setAttribute(\"id\",r),i.setAttribute(\"spreadMethod\",\"pad\"),i.setAttribute(\"gradientUnits\",\"userSpaceOnUse\");var n,s,a,o=[];for(a=4*e.g.p,s=0;s<a;s+=4)n=createNS(\"stop\"),i.appendChild(n),o.push(n);t.setAttribute(\"gf\"===e.ty?\"fill\":\"stroke\",\"url(\"+getLocationHref()+\"#\"+r+\")\"),this.gf=i,this.cst=o},SVGGradientFillStyleData.prototype.setGradientOpacity=function(t,e){if(this.g._hasOpacity&&!this.g._collapsable){var r,i,n,s=createNS(\"mask\"),a=createNS(\"path\");s.appendChild(a);var o=createElementID(),h=createElementID();s.setAttribute(\"id\",h);var l=createNS(1===t.t?\"linearGradient\":\"radialGradient\");l.setAttribute(\"id\",o),l.setAttribute(\"spreadMethod\",\"pad\"),l.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"),n=t.g.k.k[0].s?t.g.k.k[0].s.length:t.g.k.k.length;var p=this.stops;for(i=4*t.g.p;i<n;i+=2)(r=createNS(\"stop\")).setAttribute(\"stop-color\",\"rgb(255,255,255)\"),l.appendChild(r),p.push(r);a.setAttribute(\"gf\"===t.ty?\"fill\":\"stroke\",\"url(\"+getLocationHref()+\"#\"+o+\")\"),\"gs\"===t.ty&&(a.setAttribute(\"stroke-linecap\",lineCapEnum[t.lc||2]),a.setAttribute(\"stroke-linejoin\",lineJoinEnum[t.lj||2]),1===t.lj&&a.setAttribute(\"stroke-miterlimit\",t.ml)),this.of=l,this.ms=s,this.ost=p,this.maskId=h,e.msElem=a}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var buildShapeString=function(t,e,r,i){if(0===e)return\"\";var n,s=t.o,a=t.i,o=t.v,h=\" M\"+i.applyToPointStringified(o[0][0],o[0][1]);for(n=1;n<e;n+=1)h+=\" C\"+i.applyToPointStringified(s[n-1][0],s[n-1][1])+\" \"+i.applyToPointStringified(a[n][0],a[n][1])+\" \"+i.applyToPointStringified(o[n][0],o[n][1]);return r&&e&&(h+=\" C\"+i.applyToPointStringified(s[n-1][0],s[n-1][1])+\" \"+i.applyToPointStringified(a[0][0],a[0][1])+\" \"+i.applyToPointStringified(o[0][0],o[0][1]),h+=\"z\"),h},SVGElementsRenderer=function(){var t=new Matrix,e=new Matrix;function r(t,e,r){(r||e.transform.op._mdf)&&e.transform.container.setAttribute(\"opacity\",e.transform.op.v),(r||e.transform.mProps._mdf)&&e.transform.container.setAttribute(\"transform\",e.transform.mProps.v.to2dCSS())}function i(){}function n(r,i,n){var s,a,o,h,l,p,c,f,u,d,m,y=i.styles.length,g=i.lvl;for(p=0;p<y;p+=1){if(h=i.sh._mdf||n,i.styles[p].lvl<g){for(f=e.reset(),d=g-i.styles[p].lvl,m=i.transformers.length-1;!h&&d>0;)h=i.transformers[m].mProps._mdf||h,d-=1,m-=1;if(h)for(d=g-i.styles[p].lvl,m=i.transformers.length-1;d>0;)u=i.transformers[m].mProps.v.props,f.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),d-=1,m-=1}else f=t;if(a=(c=i.sh.paths)._length,h){for(o=\"\",s=0;s<a;s+=1)(l=c.shapes[s])&&l._length&&(o+=buildShapeString(l,l._length,l.c,f));i.caches[p]=o}else o=i.caches[p];i.styles[p].d+=!0===r.hd?\"\":o,i.styles[p]._mdf=h||i.styles[p]._mdf}}function s(t,e,r){var i=e.style;(e.c._mdf||r)&&i.pElem.setAttribute(\"fill\",\"rgb(\"+bmFloor(e.c.v[0])+\",\"+bmFloor(e.c.v[1])+\",\"+bmFloor(e.c.v[2])+\")\"),(e.o._mdf||r)&&i.pElem.setAttribute(\"fill-opacity\",e.o.v)}function a(t,e,r){o(t,e,r),h(t,e,r)}function o(t,e,r){var i,n,s,a,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,c=e.e.v;if(e.o._mdf||r){var f=\"gf\"===t.ty?\"fill-opacity\":\"stroke-opacity\";e.style.pElem.setAttribute(f,e.o.v)}if(e.s._mdf||r){var u=1===t.t?\"x1\":\"cx\",d=\"x1\"===u?\"y1\":\"cy\";h.setAttribute(u,p[0]),h.setAttribute(d,p[1]),l&&!e.g._collapsable&&(e.of.setAttribute(u,p[0]),e.of.setAttribute(d,p[1]))}if(e.g._cmdf||r){i=e.cst;var m=e.g.c;for(s=i.length,n=0;n<s;n+=1)(a=i[n]).setAttribute(\"offset\",m[4*n]+\"%\"),a.setAttribute(\"stop-color\",\"rgb(\"+m[4*n+1]+\",\"+m[4*n+2]+\",\"+m[4*n+3]+\")\")}if(l&&(e.g._omdf||r)){var y=e.g.o;for(s=(i=e.g._collapsable?e.cst:e.ost).length,n=0;n<s;n+=1)a=i[n],e.g._collapsable||a.setAttribute(\"offset\",y[2*n]+\"%\"),a.setAttribute(\"stop-opacity\",y[2*n+1])}if(1===t.t)(e.e._mdf||r)&&(h.setAttribute(\"x2\",c[0]),h.setAttribute(\"y2\",c[1]),l&&!e.g._collapsable&&(e.of.setAttribute(\"x2\",c[0]),e.of.setAttribute(\"y2\",c[1])));else if((e.s._mdf||e.e._mdf||r)&&(o=Math.sqrt(Math.pow(p[0]-c[0],2)+Math.pow(p[1]-c[1],2)),h.setAttribute(\"r\",o),l&&!e.g._collapsable&&e.of.setAttribute(\"r\",o)),e.e._mdf||e.h._mdf||e.a._mdf||r){o||(o=Math.sqrt(Math.pow(p[0]-c[0],2)+Math.pow(p[1]-c[1],2)));var g=Math.atan2(c[1]-p[1],c[0]-p[0]),v=e.h.v;v>=1?v=.99:v<=-1&&(v=-.99);var _=o*v,b=Math.cos(g+e.a.v)*_+p[0],P=Math.sin(g+e.a.v)*_+p[1];h.setAttribute(\"fx\",b),h.setAttribute(\"fy\",P),l&&!e.g._collapsable&&(e.of.setAttribute(\"fx\",b),e.of.setAttribute(\"fy\",P))}}function h(t,e,r){var i=e.style,n=e.d;n&&(n._mdf||r)&&n.dashStr&&(i.pElem.setAttribute(\"stroke-dasharray\",n.dashStr),i.pElem.setAttribute(\"stroke-dashoffset\",n.dashoffset[0])),e.c&&(e.c._mdf||r)&&i.pElem.setAttribute(\"stroke\",\"rgb(\"+bmFloor(e.c.v[0])+\",\"+bmFloor(e.c.v[1])+\",\"+bmFloor(e.c.v[2])+\")\"),(e.o._mdf||r)&&i.pElem.setAttribute(\"stroke-opacity\",e.o.v),(e.w._mdf||r)&&(i.pElem.setAttribute(\"stroke-width\",e.w.v),i.msElem&&i.msElem.setAttribute(\"stroke-width\",e.w.v))}return{createRenderFunction:function(t){switch(t.ty){case\"fl\":return s;case\"gf\":return o;case\"gs\":return a;case\"st\":return h;case\"sh\":case\"el\":case\"rc\":case\"sr\":return n;case\"tr\":return r;case\"no\":return i;default:return null}}}}();function SVGShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,r),this.prevViewData=[]}function LetterProps(t,e,r,i,n,s){this.o=t,this.sw=e,this.sc=r,this.fc=i,this.m=n,this.p=s,this._mdf={o:!0,sw:!!e,sc:!!r,fc:!!i,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv=\"\",this.v=\"\",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:\"\",fStyle:\"\",fWeight:\"\",fc:\"\",j:\"\",justifyOffset:\"\",l:[],lh:0,lineWidths:[],ls:\"\",of:\"\",s:\"\",sc:\"\",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,r,i,n=this.shapes.length,s=this.stylesList.length,a=[],o=!1;for(r=0;r<s;r+=1){for(i=this.stylesList[r],o=!1,a.length=0,t=0;t<n;t+=1)-1!==(e=this.shapes[t]).styles.indexOf(i)&&(a.push(e),o=e._isAnimated||o);a.length>1&&o&&this.setShapesAsAnimated(a)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,r=t.length;for(e=0;e<r;e+=1)t[e].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(t,e){var r,i=new SVGStyleData(t,e),n=i.pElem;if(\"st\"===t.ty)r=new SVGStrokeStyleData(this,t,i);else if(\"fl\"===t.ty)r=new SVGFillStyleData(this,t,i);else if(\"gf\"===t.ty||\"gs\"===t.ty){r=new(\"gf\"===t.ty?SVGGradientFillStyleData:SVGGradientStrokeStyleData)(this,t,i),this.globalData.defs.appendChild(r.gf),r.maskId&&(this.globalData.defs.appendChild(r.ms),this.globalData.defs.appendChild(r.of),n.setAttribute(\"mask\",\"url(\"+getLocationHref()+\"#\"+r.maskId+\")\"))}else\"no\"===t.ty&&(r=new SVGNoStyleData(this,t,i));return\"st\"!==t.ty&&\"gs\"!==t.ty||(n.setAttribute(\"stroke-linecap\",lineCapEnum[t.lc||2]),n.setAttribute(\"stroke-linejoin\",lineJoinEnum[t.lj||2]),n.setAttribute(\"fill-opacity\",\"0\"),1===t.lj&&n.setAttribute(\"stroke-miterlimit\",t.ml)),2===t.r&&n.setAttribute(\"fill-rule\",\"evenodd\"),t.ln&&n.setAttribute(\"id\",t.ln),t.cl&&n.setAttribute(\"class\",t.cl),t.bm&&(n.style[\"mix-blend-mode\"]=getBlendMode(t.bm)),this.stylesList.push(i),this.addToAnimatedContents(t,r),r},SVGShapeElement.prototype.createGroupElement=function(t){var e=new ShapeGroupData;return t.ln&&e.gr.setAttribute(\"id\",t.ln),t.cl&&e.gr.setAttribute(\"class\",t.cl),t.bm&&(e.gr.style[\"mix-blend-mode\"]=getBlendMode(t.bm)),e},SVGShapeElement.prototype.createTransformElement=function(t,e){var r=TransformPropertyFactory.getTransformProperty(this,t,this),i=new SVGTransformData(r,r.o,e);return this.addToAnimatedContents(t,i),i},SVGShapeElement.prototype.createShapeElement=function(t,e,r){var i=4;\"rc\"===t.ty?i=5:\"el\"===t.ty?i=6:\"sr\"===t.ty&&(i=7);var n=new SVGShapeData(e,r,ShapePropertyFactory.getShapeProp(this,t,i,this));return this.shapes.push(n),this.addShapeToModifiers(n),this.addToAnimatedContents(t,n),n},SVGShapeElement.prototype.addToAnimatedContents=function(t,e){for(var r=0,i=this.animatedContents.length;r<i;){if(this.animatedContents[r].element===e)return;r+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(t),element:e,data:t})},SVGShapeElement.prototype.setElementStyles=function(t){var e,r=t.styles,i=this.stylesList.length;for(e=0;e<i;e+=1)this.stylesList[e].closed||r.push(this.stylesList[e])},SVGShapeElement.prototype.reloadShapes=function(){var t;this._isFirstFrame=!0;var e=this.itemsData.length;for(t=0;t<e;t+=1)this.prevViewData[t]=this.itemsData[t];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),e=this.dynamicProperties.length,t=0;t<e;t+=1)this.dynamicProperties[t].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(t,e,r,i,n,s,a){var o,h,l,p,c,f,u=[].concat(s),d=t.length-1,m=[],y=[];for(o=d;o>=0;o-=1){if((f=this.searchProcessedElement(t[o]))?e[o]=r[f-1]:t[o]._render=a,\"fl\"===t[o].ty||\"st\"===t[o].ty||\"gf\"===t[o].ty||\"gs\"===t[o].ty||\"no\"===t[o].ty)f?e[o].style.closed=!1:e[o]=this.createStyleElement(t[o],n),t[o]._render&&e[o].style.pElem.parentNode!==i&&i.appendChild(e[o].style.pElem),m.push(e[o].style);else if(\"gr\"===t[o].ty){if(f)for(l=e[o].it.length,h=0;h<l;h+=1)e[o].prevViewData[h]=e[o].it[h];else e[o]=this.createGroupElement(t[o]);this.searchShapes(t[o].it,e[o].it,e[o].prevViewData,e[o].gr,n+1,u,a),t[o]._render&&e[o].gr.parentNode!==i&&i.appendChild(e[o].gr)}else\"tr\"===t[o].ty?(f||(e[o]=this.createTransformElement(t[o],i)),p=e[o].transform,u.push(p)):\"sh\"===t[o].ty||\"rc\"===t[o].ty||\"el\"===t[o].ty||\"sr\"===t[o].ty?(f||(e[o]=this.createShapeElement(t[o],u,n)),this.setElementStyles(e[o])):\"tm\"===t[o].ty||\"rd\"===t[o].ty||\"ms\"===t[o].ty||\"pb\"===t[o].ty||\"zz\"===t[o].ty||\"op\"===t[o].ty?(f?(c=e[o]).closed=!1:((c=ShapeModifiers.getModifier(t[o].ty)).init(this,t[o]),e[o]=c,this.shapeModifiers.push(c)),y.push(c)):\"rp\"===t[o].ty&&(f?(c=e[o]).closed=!0:(c=ShapeModifiers.getModifier(t[o].ty),e[o]=c,c.init(this,t,o,e),this.shapeModifiers.push(c),a=!1),y.push(c));this.addProcessedElement(t[o],o+1)}for(d=m.length,o=0;o<d;o+=1)m[o].closed=!0;for(d=y.length,o=0;o<d;o+=1)y[o].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){var t;this.renderModifiers();var e=this.stylesList.length;for(t=0;t<e;t+=1)this.stylesList[t].reset();for(this.renderShape(),t=0;t<e;t+=1)(this.stylesList[t]._mdf||this._isFirstFrame)&&(this.stylesList[t].msElem&&(this.stylesList[t].msElem.setAttribute(\"d\",this.stylesList[t].d),this.stylesList[t].d=\"M0 0\"+this.stylesList[t].d),this.stylesList[t].pElem.setAttribute(\"d\",this.stylesList[t].d||\"M0 0\"))},SVGShapeElement.prototype.renderShape=function(){var t,e,r=this.animatedContents.length;for(t=0;t<r;t+=1)e=this.animatedContents[t],(this._isFirstFrame||e.element._isAnimated)&&!0!==e.data&&e.fn(e.data,e.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null},LetterProps.prototype.update=function(t,e,r,i,n,s){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var a=!1;return this.o!==t&&(this.o=t,this._mdf.o=!0,a=!0),this.sw!==e&&(this.sw=e,this._mdf.sw=!0,a=!0),this.sc!==r&&(this.sc=r,this._mdf.sc=!0,a=!0),this.fc!==i&&(this.fc=i,this._mdf.fc=!0,a=!0),this.m!==n&&(this.m=n,this._mdf.m=!0,a=!0),!s.length||this.p[0]===s[0]&&this.p[1]===s[1]&&this.p[4]===s[4]&&this.p[5]===s[5]&&this.p[12]===s[12]&&this.p[13]===s[13]||(this.p=s,this._mdf.p=!0,a=!0),a},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},TextProperty.prototype.setCurrentData=function(t){t.__complete||this.completeTextData(t),this.currentData=t,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var n=this.effectsSequence.length,s=t||this.data.d.k[this.keysIndex].s;for(i=0;i<n;i+=1)s=r!==this.keysIndex?this.effectsSequence[i](s,s.t):this.effectsSequence[i](this.currentData,s.t);e!==s&&this.setCurrentData(s),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var t=this.data.d.k,e=this.elem.comp.renderedFrame,r=0,i=t.length;r<=i-1&&!(r===i-1||t[r+1].t>e);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],n=0,s=t.length,a=!1;n<s;)e=t.charCodeAt(n),FontManager.isCombinedCharacter(e)?i[i.length-1]+=t.charAt(n):e>=55296&&e<=56319?(r=t.charCodeAt(n+1))>=56320&&r<=57343?(a||FontManager.isModifier(e,r)?(i[i.length-1]+=t.substr(n,2),a=!1):i.push(t.substr(n,2)),n+=1):i.push(t.charAt(n)):e>56319?(r=t.charCodeAt(n+1),FontManager.isZeroWidthJoiner(e,r)?(a=!0,i[i.length-1]+=t.substr(n,2),n+=1):i.push(t.charAt(n))):FontManager.isZeroWidthJoiner(e)?(i[i.length-1]+=t.charAt(n),a=!0):i.push(t.charAt(n)),n+=1;return i},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,r,i,n,s,a,o,h=this.elem.globalData.fontManager,l=this.data,p=[],c=0,f=l.m.g,u=0,d=0,m=0,y=[],g=0,v=0,_=h.getFontByName(t.f),b=0,P=getFontProperties(_);t.fWeight=P.weight,t.fStyle=P.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var S,w=t.tr/1e3*t.finalSize;if(t.sz)for(var x,E,k=!0,A=t.sz[0],T=t.sz[1];k;){x=0,g=0,r=(E=this.buildFinalText(t.t)).length,w=t.tr/1e3*t.finalSize;var C=-1;for(e=0;e<r;e+=1)S=E[e].charCodeAt(0),i=!1,\" \"===E[e]?C=e:13!==S&&3!==S||(g=0,i=!0,x+=t.finalLineHeight||1.2*t.finalSize),h.chars?(o=h.getCharData(E[e],_.fStyle,_.fFamily),b=i?0:o.w*t.finalSize/100):b=h.measureText(E[e],t.f,t.finalSize),g+b>A&&\" \"!==E[e]?(-1===C?r+=1:e=C,x+=t.finalLineHeight||1.2*t.finalSize,E.splice(e,C===e?1:0,\"\\r\"),C=-1,g=0):(g+=b,g+=w);x+=_.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&T<x?(t.finalSize-=1,t.finalLineHeight=t.finalSize*t.lh/t.s):(t.finalText=E,r=t.finalText.length,k=!1)}g=-w,b=0;var I,D=0;for(e=0;e<r;e+=1)if(i=!1,13===(S=(I=t.finalText[e]).charCodeAt(0))||3===S?(D=0,y.push(g),v=g>v?g:v,g=-2*w,n=\"\",i=!0,m+=1):n=I,h.chars?(o=h.getCharData(I,_.fStyle,h.getFontByName(t.f).fFamily),b=i?0:o.w*t.finalSize/100):b=h.measureText(n,t.f,t.finalSize),\" \"===I?D+=b+w:(g+=b+w+D,D=0),p.push({l:b,an:b,add:u,n:i,anIndexes:[],val:n,line:m,animatorJustifyOffset:0}),2==f){if(u+=b,\"\"===n||\" \"===n||e===r-1){for(\"\"!==n&&\" \"!==n||(u-=b);d<=e;)p[d].an=u,p[d].ind=c,p[d].extra=b,d+=1;c+=1,u=0}}else if(3==f){if(u+=b,\"\"===n||e===r-1){for(\"\"===n&&(u-=b);d<=e;)p[d].an=u,p[d].ind=c,p[d].extra=b,d+=1;u=0,c+=1}}else p[c].ind=c,p[c].extra=0,c+=1;if(t.l=p,v=g>v?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var M,F,O,R,z=l.a;a=z.length;var L=[];for(s=0;s<a;s+=1){for((M=z[s]).a.sc&&(t.strokeColorAnim=!0),M.a.sw&&(t.strokeWidthAnim=!0),(M.a.fc||M.a.fh||M.a.fs||M.a.fb)&&(t.fillColorAnim=!0),R=0,O=M.s.b,e=0;e<r;e+=1)(F=p[e]).anIndexes[s]=R,(1==O&&\"\"!==F.val||2==O&&\"\"!==F.val&&\" \"!==F.val||3==O&&(F.n||\" \"==F.val||e==r-1)||4==O&&(F.n||e==r-1))&&(1===M.s.rn&&L.push(R),R+=1);l.a[s].s.totalChars=R;var B,V=-1;if(1===M.s.rn)for(e=0;e<r;e+=1)V!=(F=p[e]).anIndexes[s]&&(V=F.anIndexes[s],B=L.splice(Math.floor(Math.random()*L.length),1)[0]),F.anIndexes[s]=B}t.yOffset=t.finalLineHeight||1.2*t.finalSize,t.ls=t.ls||0,t.ascent=_.ascent*t.finalSize/100},TextProperty.prototype.updateDocumentData=function(t,e){e=void 0===e?this.keysIndex:e;var r=this.copyData({},this.data.d.k[e].s);r=this.copyData(r,t),this.data.d.k[e].s=r,this.recalculate(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(t){var e=this.data.d.k[t].s;e.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(e)},TextProperty.prototype.canResizeFont=function(t){this.canResize=t,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(t){this.minimumFontSize=Math.floor(t)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var t=Math.max,e=Math.min,r=Math.floor;function i(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.elem=t,this.comp=t.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(t),this.s=PropertyFactory.getProp(t,e.s||{k:0},0,0,this),this.e=\"e\"in e?PropertyFactory.getProp(t,e.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(t,e.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(t,e.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(t,e.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(t,e.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(t,e.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return i.prototype={getMult:function(i){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var n=0,s=0,a=1,o=1;this.ne.v>0?n=this.ne.v/100:s=-this.ne.v/100,this.xe.v>0?a=1-this.xe.v/100:o=1+this.xe.v/100;var h=BezierFactory.getBezierEasing(n,s,a,o).get,l=0,p=this.finalS,c=this.finalE,f=this.data.sh;if(2===f)l=h(l=c===p?i>=c?1:0:t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(3===f)l=h(l=c===p?i>=c?0:1:1-t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(4===f)c===p?l=0:(l=t(0,e(.5/(c-p)+(i-p)/(c-p),1)))<.5?l*=2:l=1-2*(l-.5),l=h(l);else if(5===f){if(c===p)l=0;else{var u=c-p,d=-u/2+(i=e(t(0,i+.5-p),c-p)),m=u/2;l=Math.sqrt(1-d*d/(m*m))}l=h(l)}else 6===f?(c===p?l=0:(i=e(t(0,i+.5-p),c-p),l=(1+Math.cos(Math.PI+2*Math.PI*i/(c-p)))/2),l=h(l)):(i>=r(p)&&(l=t(0,e(i-p<0?e(c,1)-(p-i):c-i,1))),l=h(l));if(100!==this.sm.v){var y=.01*this.sm.v;0===y&&(y=1e-8);var g=.5-.5*y;l<g?l=0:(l=(l-g)/y)>1&&(l=1)}return l*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,r=this.o.v/e,i=this.s.v/e+r,n=this.e.v/e+r;if(i>n){var s=i;i=n,n=s}this.finalS=i,this.finalE=n}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(t,e,r){return new i(t,e,r)}}}();function TextAnimatorDataProperty(t,e,r){var i={propType:!1},n=PropertyFactory.getProp,s=e.a;this.a={r:s.r?n(t,s.r,0,degToRads,r):i,rx:s.rx?n(t,s.rx,0,degToRads,r):i,ry:s.ry?n(t,s.ry,0,degToRads,r):i,sk:s.sk?n(t,s.sk,0,degToRads,r):i,sa:s.sa?n(t,s.sa,0,degToRads,r):i,s:s.s?n(t,s.s,1,.01,r):i,a:s.a?n(t,s.a,1,0,r):i,o:s.o?n(t,s.o,0,.01,r):i,p:s.p?n(t,s.p,1,0,r):i,sw:s.sw?n(t,s.sw,0,0,r):i,sc:s.sc?n(t,s.sc,1,0,r):i,fc:s.fc?n(t,s.fc,1,0,r):i,fh:s.fh?n(t,s.fh,0,0,r):i,fs:s.fs?n(t,s.fs,0,.01,r):i,fb:s.fb?n(t,s.fb,0,.01,r):i,t:s.t?n(t,s.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(t,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=r,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,r=this._textData.a.length,i=PropertyFactory.getProp;for(t=0;t<r;t+=1)e=this._textData.a[t],this._animatorsData[t]=new TextAnimatorDataProperty(this._elem,e,this);this._textData.p&&\"m\"in this._textData.p?(this._pathData={a:i(this._elem,this._textData.p.a,0,0,this),f:i(this._elem,this._textData.p.f,0,0,this),l:i(this._elem,this._textData.p.l,0,0,this),r:i(this._elem,this._textData.p.r,0,0,this),p:i(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=i(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(t,e){if(this.lettersChangedFlag=e,this._mdf||this._isFirstFrame||e||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var r,i,n,s,a,o,h,l,p,c,f,u,d,m,y,g,v,_,b,P=this._moreOptions.alignment.v,S=this._animatorsData,w=this._textData,x=this.mHelper,E=this._renderType,k=this.renderedLetters.length,A=t.l;if(this._hasMaskedPath){if(b=this._pathData.m,!this._pathData.n||this._pathData._mdf){var T,C=b.v;for(this._pathData.r.v&&(C=C.reverse()),a={tLength:0,segments:[]},s=C._length-1,g=0,n=0;n<s;n+=1)T=bez.buildBezierData(C.v[n],C.v[n+1],[C.o[n][0]-C.v[n][0],C.o[n][1]-C.v[n][1]],[C.i[n+1][0]-C.v[n+1][0],C.i[n+1][1]-C.v[n+1][1]]),a.tLength+=T.segmentLength,a.segments.push(T),g+=T.segmentLength;n=s,b.v.c&&(T=bez.buildBezierData(C.v[n],C.v[0],[C.o[n][0]-C.v[n][0],C.o[n][1]-C.v[n][1]],[C.i[0][0]-C.v[0][0],C.i[0][1]-C.v[0][1]]),a.tLength+=T.segmentLength,a.segments.push(T),g+=T.segmentLength),this._pathData.pi=a}if(a=this._pathData.pi,o=this._pathData.f.v,f=0,c=1,l=0,p=!0,m=a.segments,o<0&&b.v.c)for(a.tLength<Math.abs(o)&&(o=-Math.abs(o)%a.tLength),c=(d=m[f=m.length-1].points).length-1;o<0;)o+=d[c].partialLength,(c-=1)<0&&(c=(d=m[f-=1].points).length-1);u=(d=m[f].points)[c-1],y=(h=d[c]).partialLength}s=A.length,r=0,i=0;var I,D,M,F,O,R=1.2*t.finalSize*.714,z=!0;M=S.length;var L,B,V,N,$,j,G,U,H,W,q,Z,K=-1,Y=o,X=f,J=c,Q=-1,tt=\"\",et=this.defaultPropsArray;if(2===t.j||1===t.j){var rt=0,it=0,nt=2===t.j?-.5:-1,st=0,at=!0;for(n=0;n<s;n+=1)if(A[n].n){for(rt&&(rt+=it);st<n;)A[st].animatorJustifyOffset=rt,st+=1;rt=0,at=!0}else{for(D=0;D<M;D+=1)(I=S[D].a).t.propType&&(at&&2===t.j&&(it+=I.t.v*nt),(O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars)).length?rt+=I.t.v*O[0]*nt:rt+=I.t.v*O*nt);at=!1}for(rt&&(rt+=it);st<n;)A[st].animatorJustifyOffset=rt,st+=1}for(n=0;n<s;n+=1){if(x.reset(),N=1,A[n].n)r=0,i+=t.yOffset,i+=z?1:0,o=Y,z=!1,this._hasMaskedPath&&(c=J,u=(d=m[f=X].points)[c-1],y=(h=d[c]).partialLength,l=0),tt=\"\",q=\"\",H=\"\",Z=\"\",et=this.defaultPropsArray;else{if(this._hasMaskedPath){if(Q!==A[n].line){switch(t.j){case 1:o+=g-t.lineWidths[A[n].line];break;case 2:o+=(g-t.lineWidths[A[n].line])/2}Q=A[n].line}K!==A[n].ind&&(A[K]&&(o+=A[K].extra),o+=A[n].an/2,K=A[n].ind),o+=P[0]*A[n].an*.005;var ot=0;for(D=0;D<M;D+=1)(I=S[D].a).p.propType&&((O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars)).length?ot+=I.p.v[0]*O[0]:ot+=I.p.v[0]*O),I.a.propType&&((O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars)).length?ot+=I.a.v[0]*O[0]:ot+=I.a.v[0]*O);for(p=!0,this._pathData.a.v&&(o=.5*A[0].an+(g-this._pathData.f.v-.5*A[0].an-.5*A[A.length-1].an)*K/(s-1),o+=this._pathData.f.v);p;)l+y>=o+ot||!d?(v=(o+ot-l)/h.partialLength,B=u.point[0]+(h.point[0]-u.point[0])*v,V=u.point[1]+(h.point[1]-u.point[1])*v,x.translate(-P[0]*A[n].an*.005,-P[1]*R*.01),p=!1):d&&(l+=h.partialLength,(c+=1)>=d.length&&(c=0,m[f+=1]?d=m[f].points:b.v.c?(c=0,d=m[f=0].points):(l-=h.partialLength,d=null)),d&&(u=h,y=(h=d[c]).partialLength));L=A[n].an/2-A[n].add,x.translate(-L,0,0)}else L=A[n].an/2-A[n].add,x.translate(-L,0,0),x.translate(-P[0]*A[n].an*.005,-P[1]*R*.01,0);for(D=0;D<M;D+=1)(I=S[D].a).t.propType&&(O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars),0===r&&0===t.j||(this._hasMaskedPath?O.length?o+=I.t.v*O[0]:o+=I.t.v*O:O.length?r+=I.t.v*O[0]:r+=I.t.v*O));for(t.strokeWidthAnim&&(j=t.sw||0),t.strokeColorAnim&&($=t.sc?[t.sc[0],t.sc[1],t.sc[2]]:[0,0,0]),t.fillColorAnim&&t.fc&&(G=[t.fc[0],t.fc[1],t.fc[2]]),D=0;D<M;D+=1)(I=S[D].a).a.propType&&((O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars)).length?x.translate(-I.a.v[0]*O[0],-I.a.v[1]*O[1],I.a.v[2]*O[2]):x.translate(-I.a.v[0]*O,-I.a.v[1]*O,I.a.v[2]*O));for(D=0;D<M;D+=1)(I=S[D].a).s.propType&&((O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars)).length?x.scale(1+(I.s.v[0]-1)*O[0],1+(I.s.v[1]-1)*O[1],1):x.scale(1+(I.s.v[0]-1)*O,1+(I.s.v[1]-1)*O,1));for(D=0;D<M;D+=1){if(I=S[D].a,O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars),I.sk.propType&&(O.length?x.skewFromAxis(-I.sk.v*O[0],I.sa.v*O[1]):x.skewFromAxis(-I.sk.v*O,I.sa.v*O)),I.r.propType&&(O.length?x.rotateZ(-I.r.v*O[2]):x.rotateZ(-I.r.v*O)),I.ry.propType&&(O.length?x.rotateY(I.ry.v*O[1]):x.rotateY(I.ry.v*O)),I.rx.propType&&(O.length?x.rotateX(I.rx.v*O[0]):x.rotateX(I.rx.v*O)),I.o.propType&&(O.length?N+=(I.o.v*O[0]-N)*O[0]:N+=(I.o.v*O-N)*O),t.strokeWidthAnim&&I.sw.propType&&(O.length?j+=I.sw.v*O[0]:j+=I.sw.v*O),t.strokeColorAnim&&I.sc.propType)for(U=0;U<3;U+=1)O.length?$[U]+=(I.sc.v[U]-$[U])*O[0]:$[U]+=(I.sc.v[U]-$[U])*O;if(t.fillColorAnim&&t.fc){if(I.fc.propType)for(U=0;U<3;U+=1)O.length?G[U]+=(I.fc.v[U]-G[U])*O[0]:G[U]+=(I.fc.v[U]-G[U])*O;I.fh.propType&&(G=O.length?addHueToRGB(G,I.fh.v*O[0]):addHueToRGB(G,I.fh.v*O)),I.fs.propType&&(G=O.length?addSaturationToRGB(G,I.fs.v*O[0]):addSaturationToRGB(G,I.fs.v*O)),I.fb.propType&&(G=O.length?addBrightnessToRGB(G,I.fb.v*O[0]):addBrightnessToRGB(G,I.fb.v*O))}}for(D=0;D<M;D+=1)(I=S[D].a).p.propType&&(O=S[D].s.getMult(A[n].anIndexes[D],w.a[D].s.totalChars),this._hasMaskedPath?O.length?x.translate(0,I.p.v[1]*O[0],-I.p.v[2]*O[1]):x.translate(0,I.p.v[1]*O,-I.p.v[2]*O):O.length?x.translate(I.p.v[0]*O[0],I.p.v[1]*O[1],-I.p.v[2]*O[2]):x.translate(I.p.v[0]*O,I.p.v[1]*O,-I.p.v[2]*O));if(t.strokeWidthAnim&&(H=j<0?0:j),t.strokeColorAnim&&(W=\"rgb(\"+Math.round(255*$[0])+\",\"+Math.round(255*$[1])+\",\"+Math.round(255*$[2])+\")\"),t.fillColorAnim&&t.fc&&(q=\"rgb(\"+Math.round(255*G[0])+\",\"+Math.round(255*G[1])+\",\"+Math.round(255*G[2])+\")\"),this._hasMaskedPath){if(x.translate(0,-t.ls),x.translate(0,P[1]*R*.01+i,0),this._pathData.p.v){_=(h.point[1]-u.point[1])/(h.point[0]-u.point[0]);var ht=180*Math.atan(_)/Math.PI;h.point[0]<u.point[0]&&(ht+=180),x.rotate(-ht*Math.PI/180)}x.translate(B,V,0),o-=P[0]*A[n].an*.005,A[n+1]&&K!==A[n+1].ind&&(o+=A[n].an/2,o+=.001*t.tr*t.finalSize)}else{switch(x.translate(r,i,0),t.ps&&x.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:x.translate(A[n].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[A[n].line]),0,0);break;case 2:x.translate(A[n].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[A[n].line])/2,0,0)}x.translate(0,-t.ls),x.translate(L,0,0),x.translate(P[0]*A[n].an*.005,P[1]*R*.01,0),r+=A[n].l+.001*t.tr*t.finalSize}\"html\"===E?tt=x.toCSS():\"svg\"===E?tt=x.to2dCSS():et=[x.props[0],x.props[1],x.props[2],x.props[3],x.props[4],x.props[5],x.props[6],x.props[7],x.props[8],x.props[9],x.props[10],x.props[11],x.props[12],x.props[13],x.props[14],x.props[15]],Z=N}k<=n?(F=new LetterProps(Z,H,W,q,tt,et),this.renderedLetters.push(F),k+=1,this.lettersChangedFlag=!0):(F=this.renderedLetters[n],this.lettersChangedFlag=F.update(Z,H,W,q,tt,et)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),ITextElement.prototype.initElement=function(t,e,r){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(t,e,r),this.textProperty=new TextProperty(this,t.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(t.t,this.renderType,this),this.initTransform(t,e,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(t){this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)},ITextElement.prototype.createPathShape=function(t,e){var r,i,n=e.length,s=\"\";for(r=0;r<n;r+=1)\"sh\"===e[r].ty&&(i=e[r].ks.k,s+=buildShapeString(i,i.i.length,!0,t));return s},ITextElement.prototype.updateDocumentData=function(t,e){this.textProperty.updateDocumentData(t,e)},ITextElement.prototype.canResizeFont=function(t){this.textProperty.canResizeFont(t)},ITextElement.prototype.setMinimumFontSize=function(t){this.textProperty.setMinimumFontSize(t)},ITextElement.prototype.applyTextPropertiesToMatrix=function(t,e,r,i,n){switch(t.ps&&e.translate(t.ps[0],t.ps[1]+t.ascent,0),e.translate(0,-t.ls,0),t.j){case 1:e.translate(t.justifyOffset+(t.boxWidth-t.lineWidths[r]),0,0);break;case 2:e.translate(t.justifyOffset+(t.boxWidth-t.lineWidths[r])/2,0,0)}e.translate(i,n,0)},ITextElement.prototype.buildColor=function(t){return\"rgb(\"+Math.round(255*t[0])+\",\"+Math.round(255*t[1])+\",\"+Math.round(255*t[2])+\")\"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){};var emptyShapeData={shapes:[]};function SVGTextLottieElement(t,e,r){this.textSpans=[],this.renderType=\"svg\",this.initElement(t,e,r)}function ISolidElement(t,e,r){this.initElement(t,e,r)}function NullElement(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initFrame(),this.initTransform(t,e,r),this.initHierarchy()}function SVGRendererBase(){}function ICompElement(){}function SVGCompElement(t,e,r){this.layers=t.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(t,e,r),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS(\"svg\");var r=\"\";if(e&&e.title){var i=createNS(\"title\"),n=createElementID();i.setAttribute(\"id\",n),i.textContent=e.title,this.svgElement.appendChild(i),r+=n}if(e&&e.description){var s=createNS(\"desc\"),a=createElementID();s.setAttribute(\"id\",a),s.textContent=e.description,this.svgElement.appendChild(s),r+=\" \"+a}r&&this.svgElement.setAttribute(\"aria-labelledby\",r);var o=createNS(\"defs\");this.svgElement.appendChild(o);var h=createNS(\"g\");this.svgElement.appendChild(h),this.layerElement=h,this.renderConfig={preserveAspectRatio:e&&e.preserveAspectRatio||\"xMidYMid meet\",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||\"xMidYMid slice\",contentVisibility:e&&e.contentVisibility||\"visible\",progressiveLoad:e&&e.progressiveLoad||!1,hideOnTransparent:!(e&&!1===e.hideOnTransparent),viewBoxOnly:e&&e.viewBoxOnly||!1,viewBoxSize:e&&e.viewBoxSize||!1,className:e&&e.className||\"\",id:e&&e.id||\"\",focusable:e&&e.focusable,filterSize:{width:e&&e.filterSize&&e.filterSize.width||\"100%\",height:e&&e.filterSize&&e.filterSize.height||\"100%\",x:e&&e.filterSize&&e.filterSize.x||\"0%\",y:e&&e.filterSize&&e.filterSize.y||\"0%\"},width:e&&e.width,height:e&&e.height,runExpressions:!e||void 0===e.runExpressions||e.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType=\"svg\"}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS(\"text\"))},SVGTextLottieElement.prototype.buildTextContents=function(t){for(var e=0,r=t.length,i=[],n=\"\";e<r;)t[e]===String.fromCharCode(13)||t[e]===String.fromCharCode(3)?(i.push(n),n=\"\"):n+=t[e],e+=1;return i.push(n),i},SVGTextLottieElement.prototype.buildShapeData=function(t,e){if(t.shapes&&t.shapes.length){var r=t.shapes[0];if(r.it){var i=r.it[r.it.length-1];i.s&&(i.s.k[0]=e,i.s.k[1]=e)}}return t},SVGTextLottieElement.prototype.buildNewText=function(){var t,e;this.addDynamicProperty(this);var r=this.textProperty.currentData;this.renderedLetters=createSizedArray(r?r.l.length:0),r.fc?this.layerElement.setAttribute(\"fill\",this.buildColor(r.fc)):this.layerElement.setAttribute(\"fill\",\"rgba(0,0,0,0)\"),r.sc&&(this.layerElement.setAttribute(\"stroke\",this.buildColor(r.sc)),this.layerElement.setAttribute(\"stroke-width\",r.sw)),this.layerElement.setAttribute(\"font-size\",r.finalSize);var i=this.globalData.fontManager.getFontByName(r.f);if(i.fClass)this.layerElement.setAttribute(\"class\",i.fClass);else{this.layerElement.setAttribute(\"font-family\",i.fFamily);var n=r.fWeight,s=r.fStyle;this.layerElement.setAttribute(\"font-style\",s),this.layerElement.setAttribute(\"font-weight\",n)}this.layerElement.setAttribute(\"aria-label\",r.t);var a,o=r.l||[],h=!!this.globalData.fontManager.chars;e=o.length;var l=this.mHelper,p=this.data.singleShape,c=0,f=0,u=!0,d=.001*r.tr*r.finalSize;if(!p||h||r.sz){var m,y=this.textSpans.length;for(t=0;t<e;t+=1){if(this.textSpans[t]||(this.textSpans[t]={span:null,childSpan:null,glyph:null}),!h||!p||0===t){if(a=y>t?this.textSpans[t].span:createNS(h?\"g\":\"text\"),y<=t){if(a.setAttribute(\"stroke-linecap\",\"butt\"),a.setAttribute(\"stroke-linejoin\",\"round\"),a.setAttribute(\"stroke-miterlimit\",\"4\"),this.textSpans[t].span=a,h){var g=createNS(\"g\");a.appendChild(g),this.textSpans[t].childSpan=g}this.textSpans[t].span=a,this.layerElement.appendChild(a)}a.style.display=\"inherit\"}if(l.reset(),p&&(o[t].n&&(c=-d,f+=r.yOffset,f+=u?1:0,u=!1),this.applyTextPropertiesToMatrix(r,l,o[t].line,c,f),c+=o[t].l||0,c+=d),h){var v;if(1===(m=this.globalData.fontManager.getCharData(r.finalText[t],i.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily)).t)v=new SVGCompElement(m.data,this.globalData,this);else{var _=emptyShapeData;m.data&&m.data.shapes&&(_=this.buildShapeData(m.data,r.finalSize)),v=new SVGShapeElement(_,this.globalData,this)}if(this.textSpans[t].glyph){var b=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(b.layerElement),b.destroy()}this.textSpans[t].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[t].childSpan.appendChild(v.layerElement),1===m.t&&this.textSpans[t].childSpan.setAttribute(\"transform\",\"scale(\"+r.finalSize/100+\",\"+r.finalSize/100+\")\")}else p&&a.setAttribute(\"transform\",\"translate(\"+l.props[12]+\",\"+l.props[13]+\")\"),a.textContent=o[t].val,a.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\",\"xml:space\",\"preserve\")}p&&a&&a.setAttribute(\"d\",\"\")}else{var P=this.textContainer,S=\"start\";switch(r.j){case 1:S=\"end\";break;case 2:S=\"middle\";break;default:S=\"start\"}P.setAttribute(\"text-anchor\",S),P.setAttribute(\"letter-spacing\",d);var w=this.buildTextContents(r.finalText);for(e=w.length,f=r.ps?r.ps[1]+r.ascent:0,t=0;t<e;t+=1)(a=this.textSpans[t].span||createNS(\"tspan\")).textContent=w[t],a.setAttribute(\"x\",0),a.setAttribute(\"y\",f),a.style.display=\"inherit\",P.appendChild(a),this.textSpans[t]||(this.textSpans[t]={span:null,glyph:null}),this.textSpans[t].span=a,f+=r.finalLineHeight;this.layerElement.appendChild(P)}for(;t<this.textSpans.length;)this.textSpans[t].span.style.display=\"none\",t+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var t=this.layerElement.getBBox();this.bbox={top:t.y,left:t.x,width:t.width,height:t.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var t,e,r=this.textSpans.length;for(this.renderedFrame=this.comp.renderedFrame,t=0;t<r;t+=1)(e=this.textSpans[t].glyph)&&(e.prepareFrame(this.comp.renderedFrame-this.data.st),e._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if((!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){var t,e;this._sizeChanged=!0;var r,i,n,s=this.textAnimator.renderedLetters,a=this.textProperty.currentData.l;for(e=a.length,t=0;t<e;t+=1)a[t].n||(r=s[t],i=this.textSpans[t].span,(n=this.textSpans[t].glyph)&&n.renderFrame(),r._mdf.m&&i.setAttribute(\"transform\",r.m),r._mdf.o&&i.setAttribute(\"opacity\",r.o),r._mdf.sw&&i.setAttribute(\"stroke-width\",r.sw),r._mdf.sc&&i.setAttribute(\"stroke\",r.sc),r._mdf.fc&&i.setAttribute(\"fill\",r.fc))}},extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var t=createNS(\"rect\");t.setAttribute(\"width\",this.data.sw),t.setAttribute(\"height\",this.data.sh),t.setAttribute(\"fill\",this.data.sc),this.layerElement.appendChild(t)},NullElement.prototype.prepareFrame=function(t){this.prepareProperties(t,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement),extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(t){return new NullElement(t,this.globalData,this)},SVGRendererBase.prototype.createShape=function(t){return new SVGShapeElement(t,this.globalData,this)},SVGRendererBase.prototype.createText=function(t){return new SVGTextLottieElement(t,this.globalData,this)},SVGRendererBase.prototype.createImage=function(t){return new IImageElement(t,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(t){return new ISolidElement(t,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(t){this.svgElement.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.svgElement.setAttribute(\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute(\"viewBox\",this.renderConfig.viewBoxSize):this.svgElement.setAttribute(\"viewBox\",\"0 0 \"+t.w+\" \"+t.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute(\"width\",t.w),this.svgElement.setAttribute(\"height\",t.h),this.svgElement.style.width=\"100%\",this.svgElement.style.height=\"100%\",this.svgElement.style.transform=\"translate3d(0,0,0)\",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.width&&this.svgElement.setAttribute(\"width\",this.renderConfig.width),this.renderConfig.height&&this.svgElement.setAttribute(\"height\",this.renderConfig.height),this.renderConfig.className&&this.svgElement.setAttribute(\"class\",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute(\"id\",this.renderConfig.id),void 0!==this.renderConfig.focusable&&this.svgElement.setAttribute(\"focusable\",this.renderConfig.focusable),this.svgElement.setAttribute(\"preserveAspectRatio\",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var e=this.globalData.defs;this.setupGlobalData(t,e),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=t;var r=createNS(\"clipPath\"),i=createNS(\"rect\");i.setAttribute(\"width\",t.w),i.setAttribute(\"height\",t.h),i.setAttribute(\"x\",0),i.setAttribute(\"y\",0);var n=createElementID();r.setAttribute(\"id\",n),r.appendChild(i),this.layerElement.setAttribute(\"clip-path\",\"url(\"+getLocationHref()+\"#\"+n+\")\"),e.appendChild(r),this.layers=t.layers,this.elements=createSizedArray(t.layers.length)},SVGRendererBase.prototype.destroy=function(){var t;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=\"\"),this.layerElement=null,this.globalData.defs=null;var e=this.layers?this.layers.length:0;for(t=0;t<e;t+=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(t){var e=0,r=this.layers.length;for(e=0;e<r;e+=1)if(this.layers[e].ind===t)return e;return-1},SVGRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){e[t]=!0;var r=this.createItem(this.layers[t]);if(e[t]=r,getExpressionsPlugin()&&(0===this.layers[t].ty&&this.globalData.projectInterface.registerComposition(r),r.initExpressions()),this.appendElementInPos(r,t),this.layers[t].tt){var i=\"tp\"in this.layers[t]?this.findIndexByInd(this.layers[t].tp):t-1;if(-1===i)return;if(this.elements[i]&&!0!==this.elements[i]){var n=e[i].getMatte(this.layers[t].tt);r.setMatte(n)}else this.buildItem(i),this.addPendingElement(r)}}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();if(t.checkParenting(),t.data.tt)for(var e=0,r=this.elements.length;e<r;){if(this.elements[e]===t){var i=\"tp\"in t.data?this.findIndexByInd(t.data.tp):e-1,n=this.elements[i].getMatte(this.layers[e].tt);t.setMatte(n);break}e+=1}}},SVGRendererBase.prototype.renderFrame=function(t){if(this.renderedFrame!==t&&!this.destroyed){var e;null===t?t=this.renderedFrame:this.renderedFrame=t,this.globalData.frameNum=t,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=t,this.globalData._mdf=!1;var r=this.layers.length;for(this.completeLayers||this.checkLayers(t),e=r-1;e>=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e<r;e+=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(t,e){var r=t.getBaseElement();if(r){for(var i,n=0;n<e;)this.elements[n]&&!0!==this.elements[n]&&this.elements[n].getBaseElement()&&(i=this.elements[n].getBaseElement()),n+=1;i?this.layerElement.insertBefore(r,i):this.layerElement.appendChild(r)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display=\"none\"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display=\"block\"},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initTransform(t,e,r),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),!this.data.xt&&e.progressiveLoad||this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(t){if(this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),this.isInRange||this.data.xt){if(this.tm._placeholder)this.renderedFrame=t/this.data.sr;else{var e=this.tm.v;e===this.data.op&&(e=this.data.op-1),this.renderedFrame=e}var r,i=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),r=i-1;r>=0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)this.elements[t]&&this.elements[t].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()},extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(t){return new SVGCompElement(t,this.globalData,this)},extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(t){return new SVGCompElement(t,this.globalData,this)},registerRenderer(\"svg\",SVGRenderer),ShapeModifiers.registerModifier(\"tm\",TrimModifier),ShapeModifiers.registerModifier(\"pb\",PuckerAndBloatModifier),ShapeModifiers.registerModifier(\"rp\",RepeaterModifier),ShapeModifiers.registerModifier(\"rd\",RoundCornersModifier),ShapeModifiers.registerModifier(\"zz\",ZigZagModifier),ShapeModifiers.registerModifier(\"op\",OffsetPathModifier);var CompExpressionInterface=function(t){function e(e){for(var r=0,i=t.layers.length;r<i;){if(t.layers[r].nm===e||t.layers[r].ind===e)return t.elements[r].layerInterface;r+=1}return null}return Object.defineProperty(e,\"_name\",{value:t.data.nm}),e.layer=e,e.pixelAspect=1,e.height=t.data.h||t.globalData.compSize.h,e.width=t.data.w||t.globalData.compSize.w,e.pixelAspect=1,e.frameDuration=1/t.globalData.frameRate,e.displayStartTime=0,e.numLayers=t.layers.length,e},Expressions=function(){var t={};return t.initExpressions=function(t){var e=0,r=[];t.renderer.compInterface=CompExpressionInterface(t.renderer),t.renderer.globalData.projectInterface.registerComposition(t.renderer),t.renderer.globalData.pushExpression=function(){e+=1},t.renderer.globalData.popExpression=function(){0===(e-=1)&&function(){var t,e=r.length;for(t=0;t<e;t+=1)r[t].release();r.length=0}()},t.renderer.globalData.registerExpressionProperty=function(t){-1===r.indexOf(t)&&r.push(t)}},t}(),MaskManagerInterface=function(){function t(t,e){this._mask=t,this._data=e}Object.defineProperty(t.prototype,\"maskPath\",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(t.prototype,\"maskOpacity\",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),100*this._mask.op.v}});return function(e){var r,i=createSizedArray(e.viewData.length),n=e.viewData.length;for(r=0;r<n;r+=1)i[r]=new t(e.viewData[r],e.masksProperties[r]);return function(t){for(r=0;r<n;){if(e.masksProperties[r].nm===t)return i[r];r+=1}return null}}}(),ExpressionPropertyInterface=function(){var t={pv:0,v:0,mult:1},e={pv:[0,0,0],v:[0,0,0],mult:1};function r(t,e,r){Object.defineProperty(t,\"velocity\",{get:function(){return e.getVelocityAtTime(e.comp.currentFrame)}}),t.numKeys=e.keyframes?e.keyframes.length:0,t.key=function(i){if(!t.numKeys)return 0;var n=\"\";n=\"s\"in e.keyframes[i-1]?e.keyframes[i-1].s:\"e\"in e.keyframes[i-2]?e.keyframes[i-2].e:e.keyframes[i-2].s;var s=\"unidimensional\"===r?new Number(n):Object.assign({},n);return s.time=e.keyframes[i-1].t/e.elem.comp.globalData.frameRate,s.value=\"unidimensional\"===r?n[0]:n,s},t.valueAtTime=e.getValueAtTime,t.speedAtTime=e.getSpeedAtTime,t.velocityAtTime=e.getVelocityAtTime,t.propertyGroup=e.propertyGroup}function i(){return t}return function(n){return n?\"unidimensional\"===n.propType?function(e){e&&\"pv\"in e||(e=t);var i=1/e.mult,n=e.pv*i,s=new Number(n);return s.value=n,r(s,e,\"unidimensional\"),function(){return e.k&&e.getValue(),n=e.v*i,s.value!==n&&((s=new Number(n)).value=n,r(s,e,\"unidimensional\")),s}}(n):function(t){t&&\"pv\"in t||(t=e);var i=1/t.mult,n=t.data&&t.data.l||t.pv.length,s=createTypedArray(\"float32\",n),a=createTypedArray(\"float32\",n);return s.value=a,r(s,t,\"multidimensional\"),function(){t.k&&t.getValue();for(var e=0;e<n;e+=1)a[e]=t.v[e]*i,s[e]=a[e];return s}}(n):i}}(),TransformExpressionInterface=function(t){function e(t){switch(t){case\"scale\":case\"Scale\":case\"ADBE Scale\":case 6:return e.scale;case\"rotation\":case\"Rotation\":case\"ADBE Rotation\":case\"ADBE Rotate Z\":case 10:return e.rotation;case\"ADBE Rotate X\":return e.xRotation;case\"ADBE Rotate Y\":return e.yRotation;case\"position\":case\"Position\":case\"ADBE Position\":case 2:return e.position;case\"ADBE Position_0\":return e.xPosition;case\"ADBE Position_1\":return e.yPosition;case\"ADBE Position_2\":return e.zPosition;case\"anchorPoint\":case\"AnchorPoint\":case\"Anchor Point\":case\"ADBE AnchorPoint\":case 1:return e.anchorPoint;case\"opacity\":case\"Opacity\":case 11:return e.opacity;default:return null}}var r,i,n,s;return Object.defineProperty(e,\"rotation\",{get:ExpressionPropertyInterface(t.r||t.rz)}),Object.defineProperty(e,\"zRotation\",{get:ExpressionPropertyInterface(t.rz||t.r)}),Object.defineProperty(e,\"xRotation\",{get:ExpressionPropertyInterface(t.rx)}),Object.defineProperty(e,\"yRotation\",{get:ExpressionPropertyInterface(t.ry)}),Object.defineProperty(e,\"scale\",{get:ExpressionPropertyInterface(t.s)}),t.p?s=ExpressionPropertyInterface(t.p):(r=ExpressionPropertyInterface(t.px),i=ExpressionPropertyInterface(t.py),t.pz&&(n=ExpressionPropertyInterface(t.pz))),Object.defineProperty(e,\"position\",{get:function(){return t.p?s():[r(),i(),n?n():0]}}),Object.defineProperty(e,\"xPosition\",{get:ExpressionPropertyInterface(t.px)}),Object.defineProperty(e,\"yPosition\",{get:ExpressionPropertyInterface(t.py)}),Object.defineProperty(e,\"zPosition\",{get:ExpressionPropertyInterface(t.pz)}),Object.defineProperty(e,\"anchorPoint\",{get:ExpressionPropertyInterface(t.a)}),Object.defineProperty(e,\"opacity\",{get:ExpressionPropertyInterface(t.o)}),Object.defineProperty(e,\"skew\",{get:ExpressionPropertyInterface(t.sk)}),Object.defineProperty(e,\"skewAxis\",{get:ExpressionPropertyInterface(t.sa)}),Object.defineProperty(e,\"orientation\",{get:ExpressionPropertyInterface(t.or)}),e},LayerExpressionInterface=function(){function t(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mProp.getValueAtTime(t).clone(e):this._elem.finalTransform.mProp.applyToMatrix(e);return e}function e(t,e){var r=this.getMatrix(e);return r.props[12]=0,r.props[13]=0,r.props[14]=0,this.applyPoint(r,t)}function r(t,e){var r=this.getMatrix(e);return this.applyPoint(r,t)}function i(t,e){var r=this.getMatrix(e);return r.props[12]=0,r.props[13]=0,r.props[14]=0,this.invertPoint(r,t)}function n(t,e){var r=this.getMatrix(e);return this.invertPoint(r,t)}function s(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)}return t.applyToPointArray(e[0],e[1],e[2]||0)}function a(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)}return t.inversePoint(e)}function o(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mProp.applyToMatrix(e),this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);return e.inversePoint(t)}return e.inversePoint(t)}function h(){return[1,1,1,1]}return function(l){var p;function c(t){switch(t){case\"ADBE Root Vectors Group\":case\"Contents\":case 2:return c.shapeInterface;case 1:case 6:case\"Transform\":case\"transform\":case\"ADBE Transform Group\":return p;case 4:case\"ADBE Effect Parade\":case\"effects\":case\"Effects\":return c.effect;case\"ADBE Text Properties\":return c.textInterface;default:return null}}c.getMatrix=t,c.invertPoint=a,c.applyPoint=s,c.toWorld=r,c.toWorldVec=e,c.fromWorld=n,c.fromWorldVec=i,c.toComp=r,c.fromComp=o,c.sampleImage=h,c.sourceRectAtTime=l.sourceRectAtTime.bind(l),c._elem=l;var f=getDescriptor(p=TransformExpressionInterface(l.finalTransform.mProp),\"anchorPoint\");return Object.defineProperties(c,{hasParent:{get:function(){return l.hierarchy.length}},parent:{get:function(){return l.hierarchy[0].layerInterface}},rotation:getDescriptor(p,\"rotation\"),scale:getDescriptor(p,\"scale\"),position:getDescriptor(p,\"position\"),opacity:getDescriptor(p,\"opacity\"),anchorPoint:f,anchor_point:f,transform:{get:function(){return p}},active:{get:function(){return l.isInRange}}}),c.startTime=l.data.st,c.index=l.data.ind,c.source=l.data.refId,c.height=0===l.data.ty?l.data.h:100,c.width=0===l.data.ty?l.data.w:100,c.inPoint=l.data.ip/l.comp.globalData.frameRate,c.outPoint=l.data.op/l.comp.globalData.frameRate,c._name=l.data.nm,c.registerMaskInterface=function(t){c.mask=new MaskManagerInterface(t,l)},c.registerEffectsInterface=function(t){c.effect=t},c}}(),propertyGroupFactory=function(t,e){return function(r){return(r=void 0===r?1:r)<=0?t:e(r-1)}},PropertyInterface=function(t,e){var r={_name:t};return function(t){return(t=void 0===t?1:t)<=0?r:e(t-1)}},EffectsExpressionInterface=function(){function t(r,i,n,s){function a(t){for(var e=r.ef,i=0,n=e.length;i<n;){if(t===e[i].nm||t===e[i].mn||t===e[i].ix)return 5===e[i].ty?l[i]:l[i]();i+=1}throw new Error}var o,h=propertyGroupFactory(a,n),l=[],p=r.ef.length;for(o=0;o<p;o+=1)5===r.ef[o].ty?l.push(t(r.ef[o],i.effectElements[o],i.effectElements[o].propertyGroup,s)):l.push(e(i.effectElements[o],r.ef[o].ty,s,h));return\"ADBE Color Control\"===r.mn&&Object.defineProperty(a,\"color\",{get:function(){return l[0]()}}),Object.defineProperties(a,{numProperties:{get:function(){return r.np}},_name:{value:r.nm},propertyGroup:{value:h}}),a.enabled=0!==r.en,a.active=a.enabled,a}function e(t,e,r,i){var n=ExpressionPropertyInterface(t.p);return t.p.setGroupProperty&&t.p.setGroupProperty(PropertyInterface(\"\",i)),function(){return 10===e?r.comp.compInterface(t.p.v):n()}}return{createEffectsInterface:function(e,r){if(e.effectsManager){var i,n=[],s=e.data.ef,a=e.effectsManager.effectElements.length;for(i=0;i<a;i+=1)n.push(t(s[i],e.effectsManager.effectElements[i],r,e));var o=e.data.ef||[],h=function(t){for(i=0,a=o.length;i<a;){if(t===o[i].nm||t===o[i].mn||t===o[i].ix)return n[i];i+=1}return null};return Object.defineProperty(h,\"numProperties\",{get:function(){return o.length}}),h}return null}}}(),ShapePathInterface=function(t,e,r){var i=e.sh;function n(t){return\"Shape\"===t||\"shape\"===t||\"Path\"===t||\"path\"===t||\"ADBE Vector Shape\"===t||2===t?n.path:null}var s=propertyGroupFactory(n,r);return i.setGroupProperty(PropertyInterface(\"Path\",s)),Object.defineProperties(n,{path:{get:function(){return i.k&&i.getValue(),i}},shape:{get:function(){return i.k&&i.getValue(),i}},_name:{value:t.nm},ix:{value:t.ix},propertyIndex:{value:t.ix},mn:{value:t.mn},propertyGroup:{value:r}}),n},ShapeExpressionInterface=function(){function t(t,o,u){var d,m=[],y=t?t.length:0;for(d=0;d<y;d+=1)\"gr\"===t[d].ty?m.push(e(t[d],o[d],u)):\"fl\"===t[d].ty?m.push(r(t[d],o[d],u)):\"st\"===t[d].ty?m.push(s(t[d],o[d],u)):\"tm\"===t[d].ty?m.push(a(t[d],o[d],u)):\"tr\"===t[d].ty||(\"el\"===t[d].ty?m.push(h(t[d],o[d],u)):\"sr\"===t[d].ty?m.push(l(t[d],o[d],u)):\"sh\"===t[d].ty?m.push(ShapePathInterface(t[d],o[d],u)):\"rc\"===t[d].ty?m.push(p(t[d],o[d],u)):\"rd\"===t[d].ty?m.push(c(t[d],o[d],u)):\"rp\"===t[d].ty?m.push(f(t[d],o[d],u)):\"gf\"===t[d].ty?m.push(i(t[d],o[d],u)):m.push(n(t[d],o[d])));return m}function e(e,r,i){var n=function(t){switch(t){case\"ADBE Vectors Group\":case\"Contents\":case 2:return n.content;default:return n.transform}};n.propertyGroup=propertyGroupFactory(n,i);var s=function(e,r,i){var n,s=function(t){for(var e=0,r=n.length;e<r;){if(n[e]._name===t||n[e].mn===t||n[e].propertyIndex===t||n[e].ix===t||n[e].ind===t)return n[e];e+=1}return\"number\"==typeof t?n[t-1]:null};s.propertyGroup=propertyGroupFactory(s,i),n=t(e.it,r.it,s.propertyGroup),s.numProperties=n.length;var a=o(e.it[e.it.length-1],r.it[r.it.length-1],s.propertyGroup);return s.transform=a,s.propertyIndex=e.cix,s._name=e.nm,s}(e,r,n.propertyGroup),a=o(e.it[e.it.length-1],r.it[r.it.length-1],n.propertyGroup);return n.content=s,n.transform=a,Object.defineProperty(n,\"_name\",{get:function(){return e.nm}}),n.numProperties=e.np,n.propertyIndex=e.ix,n.nm=e.nm,n.mn=e.mn,n}function r(t,e,r){function i(t){return\"Color\"===t||\"color\"===t?i.color:\"Opacity\"===t||\"opacity\"===t?i.opacity:null}return Object.defineProperties(i,{color:{get:ExpressionPropertyInterface(e.c)},opacity:{get:ExpressionPropertyInterface(e.o)},_name:{value:t.nm},mn:{value:t.mn}}),e.c.setGroupProperty(PropertyInterface(\"Color\",r)),e.o.setGroupProperty(PropertyInterface(\"Opacity\",r)),i}function i(t,e,r){function i(t){return\"Start Point\"===t||\"start point\"===t?i.startPoint:\"End Point\"===t||\"end point\"===t?i.endPoint:\"Opacity\"===t||\"opacity\"===t?i.opacity:null}return Object.defineProperties(i,{startPoint:{get:ExpressionPropertyInterface(e.s)},endPoint:{get:ExpressionPropertyInterface(e.e)},opacity:{get:ExpressionPropertyInterface(e.o)},type:{get:function(){return\"a\"}},_name:{value:t.nm},mn:{value:t.mn}}),e.s.setGroupProperty(PropertyInterface(\"Start Point\",r)),e.e.setGroupProperty(PropertyInterface(\"End Point\",r)),e.o.setGroupProperty(PropertyInterface(\"Opacity\",r)),i}function n(){return function(){return null}}function s(t,e,r){var i,n=propertyGroupFactory(l,r),s=propertyGroupFactory(h,n);function a(r){Object.defineProperty(h,t.d[r].nm,{get:ExpressionPropertyInterface(e.d.dataProps[r].p)})}var o=t.d?t.d.length:0,h={};for(i=0;i<o;i+=1)a(i),e.d.dataProps[i].p.setGroupProperty(s);function l(t){return\"Color\"===t||\"color\"===t?l.color:\"Opacity\"===t||\"opacity\"===t?l.opacity:\"Stroke Width\"===t||\"stroke width\"===t?l.strokeWidth:null}return Object.defineProperties(l,{color:{get:ExpressionPropertyInterface(e.c)},opacity:{get:ExpressionPropertyInterface(e.o)},strokeWidth:{get:ExpressionPropertyInterface(e.w)},dash:{get:function(){return h}},_name:{value:t.nm},mn:{value:t.mn}}),e.c.setGroupProperty(PropertyInterface(\"Color\",n)),e.o.setGroupProperty(PropertyInterface(\"Opacity\",n)),e.w.setGroupProperty(PropertyInterface(\"Stroke Width\",n)),l}function a(t,e,r){function i(e){return e===t.e.ix||\"End\"===e||\"end\"===e?i.end:e===t.s.ix?i.start:e===t.o.ix?i.offset:null}var n=propertyGroupFactory(i,r);return i.propertyIndex=t.ix,e.s.setGroupProperty(PropertyInterface(\"Start\",n)),e.e.setGroupProperty(PropertyInterface(\"End\",n)),e.o.setGroupProperty(PropertyInterface(\"Offset\",n)),i.propertyIndex=t.ix,i.propertyGroup=r,Object.defineProperties(i,{start:{get:ExpressionPropertyInterface(e.s)},end:{get:ExpressionPropertyInterface(e.e)},offset:{get:ExpressionPropertyInterface(e.o)},_name:{value:t.nm}}),i.mn=t.mn,i}function o(t,e,r){function i(e){return t.a.ix===e||\"Anchor Point\"===e?i.anchorPoint:t.o.ix===e||\"Opacity\"===e?i.opacity:t.p.ix===e||\"Position\"===e?i.position:t.r.ix===e||\"Rotation\"===e||\"ADBE Vector Rotation\"===e?i.rotation:t.s.ix===e||\"Scale\"===e?i.scale:t.sk&&t.sk.ix===e||\"Skew\"===e?i.skew:t.sa&&t.sa.ix===e||\"Skew Axis\"===e?i.skewAxis:null}var n=propertyGroupFactory(i,r);return e.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\",n)),e.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\",n)),e.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\",n)),e.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\",n)),e.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\",n)),e.transform.mProps.sk&&(e.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\",n)),e.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\",n))),e.transform.op.setGroupProperty(PropertyInterface(\"Opacity\",n)),Object.defineProperties(i,{opacity:{get:ExpressionPropertyInterface(e.transform.mProps.o)},position:{get:ExpressionPropertyInterface(e.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(e.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(e.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(e.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(e.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(e.transform.mProps.sa)},_name:{value:t.nm}}),i.ty=\"tr\",i.mn=t.mn,i.propertyGroup=r,i}function h(t,e,r){function i(e){return t.p.ix===e?i.position:t.s.ix===e?i.size:null}var n=propertyGroupFactory(i,r);i.propertyIndex=t.ix;var s=\"tm\"===e.sh.ty?e.sh.prop:e.sh;return s.s.setGroupProperty(PropertyInterface(\"Size\",n)),s.p.setGroupProperty(PropertyInterface(\"Position\",n)),Object.defineProperties(i,{size:{get:ExpressionPropertyInterface(s.s)},position:{get:ExpressionPropertyInterface(s.p)},_name:{value:t.nm}}),i.mn=t.mn,i}function l(t,e,r){function i(e){return t.p.ix===e?i.position:t.r.ix===e?i.rotation:t.pt.ix===e?i.points:t.or.ix===e||\"ADBE Vector Star Outer Radius\"===e?i.outerRadius:t.os.ix===e?i.outerRoundness:!t.ir||t.ir.ix!==e&&\"ADBE Vector Star Inner Radius\"!==e?t.is&&t.is.ix===e?i.innerRoundness:null:i.innerRadius}var n=propertyGroupFactory(i,r),s=\"tm\"===e.sh.ty?e.sh.prop:e.sh;return i.propertyIndex=t.ix,s.or.setGroupProperty(PropertyInterface(\"Outer Radius\",n)),s.os.setGroupProperty(PropertyInterface(\"Outer Roundness\",n)),s.pt.setGroupProperty(PropertyInterface(\"Points\",n)),s.p.setGroupProperty(PropertyInterface(\"Position\",n)),s.r.setGroupProperty(PropertyInterface(\"Rotation\",n)),t.ir&&(s.ir.setGroupProperty(PropertyInterface(\"Inner Radius\",n)),s.is.setGroupProperty(PropertyInterface(\"Inner Roundness\",n))),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(s.p)},rotation:{get:ExpressionPropertyInterface(s.r)},points:{get:ExpressionPropertyInterface(s.pt)},outerRadius:{get:ExpressionPropertyInterface(s.or)},outerRoundness:{get:ExpressionPropertyInterface(s.os)},innerRadius:{get:ExpressionPropertyInterface(s.ir)},innerRoundness:{get:ExpressionPropertyInterface(s.is)},_name:{value:t.nm}}),i.mn=t.mn,i}function p(t,e,r){function i(e){return t.p.ix===e?i.position:t.r.ix===e?i.roundness:t.s.ix===e||\"Size\"===e||\"ADBE Vector Rect Size\"===e?i.size:null}var n=propertyGroupFactory(i,r),s=\"tm\"===e.sh.ty?e.sh.prop:e.sh;return i.propertyIndex=t.ix,s.p.setGroupProperty(PropertyInterface(\"Position\",n)),s.s.setGroupProperty(PropertyInterface(\"Size\",n)),s.r.setGroupProperty(PropertyInterface(\"Rotation\",n)),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(s.p)},roundness:{get:ExpressionPropertyInterface(s.r)},size:{get:ExpressionPropertyInterface(s.s)},_name:{value:t.nm}}),i.mn=t.mn,i}function c(t,e,r){function i(e){return t.r.ix===e||\"Round Corners 1\"===e?i.radius:null}var n=propertyGroupFactory(i,r),s=e;return i.propertyIndex=t.ix,s.rd.setGroupProperty(PropertyInterface(\"Radius\",n)),Object.defineProperties(i,{radius:{get:ExpressionPropertyInterface(s.rd)},_name:{value:t.nm}}),i.mn=t.mn,i}function f(t,e,r){function i(e){return t.c.ix===e||\"Copies\"===e?i.copies:t.o.ix===e||\"Offset\"===e?i.offset:null}var n=propertyGroupFactory(i,r),s=e;return i.propertyIndex=t.ix,s.c.setGroupProperty(PropertyInterface(\"Copies\",n)),s.o.setGroupProperty(PropertyInterface(\"Offset\",n)),Object.defineProperties(i,{copies:{get:ExpressionPropertyInterface(s.c)},offset:{get:ExpressionPropertyInterface(s.o)},_name:{value:t.nm}}),i.mn=t.mn,i}return function(e,r,i){var n;function s(t){if(\"number\"==typeof t)return 0===(t=void 0===t?1:t)?i:n[t-1];for(var e=0,r=n.length;e<r;){if(n[e]._name===t)return n[e];e+=1}return null}return s.propertyGroup=propertyGroupFactory(s,(function(){return i})),n=t(e,r,s.propertyGroup),s.numProperties=n.length,s._name=\"Contents\",s}}(),TextExpressionInterface=function(t){var e;function r(t){switch(t){case\"ADBE Text Document\":return r.sourceText;default:return null}}return Object.defineProperty(r,\"sourceText\",{get:function(){t.textProperty.getValue();var r=t.textProperty.currentData.t;return void 0!==r&&(t.textProperty.currentData.t=void 0,(e=new String(r)).value=r||new String(r)),e}}),r};function _typeof$2(t){return(_typeof$2=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var FootageInterface=(dataInterfaceFactory=function(t){function e(t){return\"Outline\"===t?e.outlineInterface():null}return e._name=\"Outline\",e.outlineInterface=function(t){var e=\"\",r=t.getFootageData();function i(t){if(r[t])return e=t,\"object\"===_typeof$2(r=r[t])?i:r;var n=t.indexOf(e);if(-1!==n){var s=parseInt(t.substr(n+e.length),10);return\"object\"===_typeof$2(r=r[s])?i:r}return\"\"}return function(){return e=\"\",r=t.getFootageData(),i}}(t),e},function(t){function e(t){return\"Data\"===t?e.dataInterface:null}return e._name=\"Data\",e.dataInterface=dataInterfaceFactory(t),e}),dataInterfaceFactory,interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(t){return interfaces[t]||null}function _typeof$1(t){return(_typeof$1=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function seedRandom(t,e){var r=this,i=e.pow(256,6),n=e.pow(2,52),s=2*n;function a(t){var e,r=t.length,i=this,n=0,s=i.i=i.j=0,a=i.S=[];for(r||(t=[r++]);n<256;)a[n]=n++;for(n=0;n<256;n++)a[n]=a[s=255&s+t[n%r]+(e=a[n])],a[s]=e;i.g=function(t){for(var e,r=0,n=i.i,s=i.j,a=i.S;t--;)e=a[n=255&n+1],r=256*r+a[255&(a[n]=a[s=255&s+e])+(a[s]=e)];return i.i=n,i.j=s,r}}function o(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}function h(t,e){for(var r,i=t+\"\",n=0;n<i.length;)e[255&n]=255&(r^=19*e[255&n])+i.charCodeAt(n++);return l(e)}function l(t){return String.fromCharCode.apply(0,t)}e.seedrandom=function(p,c,f){var u=[],d=h(function t(e,r){var i,n=[],s=_typeof$1(e);if(r&&\"object\"==s)for(i in e)try{n.push(t(e[i],r-1))}catch(t){}return n.length?n:\"string\"==s?e:e+\"\\0\"}((c=!0===c?{entropy:!0}:c||{}).entropy?[p,l(t)]:null===p?function(){try{void 0;var e=new Uint8Array(256);return(r.crypto||r.msCrypto).getRandomValues(e),l(e)}catch(e){var i=r.navigator,n=i&&i.plugins;return[+new Date,r,n,r.screen,l(t)]}}():p,3),u),m=new a(u),y=function(){for(var t=m.g(6),e=i,r=0;t<n;)t=256*(t+r),e*=256,r=m.g(1);for(;t>=s;)t/=2,e/=2,r>>>=1;return(t+r)/e};return y.int32=function(){return 0|m.g(4)},y.quick=function(){return m.g(4)/4294967296},y.double=y,h(l(m.S),t),(c.pass||f||function(t,r,i,n){return n&&(n.S&&o(n,m),t.state=function(){return o(m,{})}),i?(e.random=t,r):t})(y,d,\"global\"in c?c.global:this==e,c.state)},h(e.random(),t)}function initialize$2(t){seedRandom([],t)}var propTypes={SHAPE:\"shape\"};function _typeof(t){return(_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return\"number\"===t||\"boolean\"===t||\"string\"===t||e instanceof Number}function $bm_neg(t){var e=_typeof(t);if(\"number\"===e||\"boolean\"===e||t instanceof Number)return-t;if($bm_isInstanceOfArray(t)){var r,i=t.length,n=[];for(r=0;r<i;r+=1)n[r]=-t[r];return n}return t.propType?t.v:-t}initialize$2(BMMath);var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,\"easeIn\").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,\"easeOut\").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,\"easeInOut\").get;function sum(t,e){var r=_typeof(t),i=_typeof(e);if(\"string\"===r||\"string\"===i)return t+e;if(isNumerable(r,t)&&isNumerable(i,e))return t+e;if($bm_isInstanceOfArray(t)&&isNumerable(i,e))return(t=t.slice(0))[0]+=e,t;if(isNumerable(r,t)&&$bm_isInstanceOfArray(e))return(e=e.slice(0))[0]=t+e[0],e;if($bm_isInstanceOfArray(t)&&$bm_isInstanceOfArray(e)){for(var n=0,s=t.length,a=e.length,o=[];n<s||n<a;)(\"number\"==typeof t[n]||t[n]instanceof Number)&&(\"number\"==typeof e[n]||e[n]instanceof Number)?o[n]=t[n]+e[n]:o[n]=void 0===e[n]?t[n]:t[n]||e[n],n+=1;return o}return 0}var add=sum;function sub(t,e){var r=_typeof(t),i=_typeof(e);if(isNumerable(r,t)&&isNumerable(i,e))return\"string\"===r&&(t=parseInt(t,10)),\"string\"===i&&(e=parseInt(e,10)),t-e;if($bm_isInstanceOfArray(t)&&isNumerable(i,e))return(t=t.slice(0))[0]-=e,t;if(isNumerable(r,t)&&$bm_isInstanceOfArray(e))return(e=e.slice(0))[0]=t-e[0],e;if($bm_isInstanceOfArray(t)&&$bm_isInstanceOfArray(e)){for(var n=0,s=t.length,a=e.length,o=[];n<s||n<a;)(\"number\"==typeof t[n]||t[n]instanceof Number)&&(\"number\"==typeof e[n]||e[n]instanceof Number)?o[n]=t[n]-e[n]:o[n]=void 0===e[n]?t[n]:t[n]||e[n],n+=1;return o}return 0}function mul(t,e){var r,i,n,s=_typeof(t),a=_typeof(e);if(isNumerable(s,t)&&isNumerable(a,e))return t*e;if($bm_isInstanceOfArray(t)&&isNumerable(a,e)){for(n=t.length,r=createTypedArray(\"float32\",n),i=0;i<n;i+=1)r[i]=t[i]*e;return r}if(isNumerable(s,t)&&$bm_isInstanceOfArray(e)){for(n=e.length,r=createTypedArray(\"float32\",n),i=0;i<n;i+=1)r[i]=t*e[i];return r}return 0}function div(t,e){var r,i,n,s=_typeof(t),a=_typeof(e);if(isNumerable(s,t)&&isNumerable(a,e))return t/e;if($bm_isInstanceOfArray(t)&&isNumerable(a,e)){for(n=t.length,r=createTypedArray(\"float32\",n),i=0;i<n;i+=1)r[i]=t[i]/e;return r}if(isNumerable(s,t)&&$bm_isInstanceOfArray(e)){for(n=e.length,r=createTypedArray(\"float32\",n),i=0;i<n;i+=1)r[i]=t/e[i];return r}return 0}function mod(t,e){return\"string\"==typeof t&&(t=parseInt(t,10)),\"string\"==typeof e&&(e=parseInt(e,10)),t%e}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(t,e,r){if(e>r){var i=r;r=e,e=i}return Math.min(Math.max(t,e),r)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(\"number\"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var r;e||(e=helperLengthArray);var i=Math.min(t.length,e.length),n=0;for(r=0;r<i;r+=1)n+=Math.pow(e[r]-t[r],2);return Math.sqrt(n)}function normalize(t){return div(t,length(t))}function rgbToHsl(t){var e,r,i=t[0],n=t[1],s=t[2],a=Math.max(i,n,s),o=Math.min(i,n,s),h=(a+o)/2;if(a===o)e=0,r=0;else{var l=a-o;switch(r=h>.5?l/(2-a-o):l/(a+o),a){case i:e=(n-s)/l+(n<s?6:0);break;case n:e=(s-i)/l+2;break;case s:e=(i-n)/l+4}e/=6}return[e,r,h,t[3]]}function hue2rgb(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function hslToRgb(t){var e,r,i,n=t[0],s=t[1],a=t[2];if(0===s)e=a,i=a,r=a;else{var o=a<.5?a*(1+s):a+s-a*s,h=2*a-o;e=hue2rgb(h,o,n+1/3),r=hue2rgb(h,o,n),i=hue2rgb(h,o,n-1/3)}return[e,r,i,t[3]]}function linear(t,e,r,i,n){if(void 0!==i&&void 0!==n||(i=e,n=r,e=0,r=1),r<e){var s=r;r=e,e=s}if(t<=e)return i;if(t>=r)return n;var a,o=r===e?0:(t-e)/(r-e);if(!i.length)return i+(n-i)*o;var h=i.length,l=createTypedArray(\"float32\",h);for(a=0;a<h;a+=1)l[a]=i[a]+(n[a]-i[a])*o;return l}function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)),e.length){var r,i=e.length;t||(t=createTypedArray(\"float32\",i));var n=createTypedArray(\"float32\",i),s=BMMath.random();for(r=0;r<i;r+=1)n[r]=t[r]+s*(e[r]-t[r]);return n}return void 0===t&&(t=0),t+BMMath.random()*(e-t)}function createPath(t,e,r,i){var n,s=t.length,a=shapePool.newElement();a.setPathData(!!i,s);var o,h,l=[0,0];for(n=0;n<s;n+=1)o=e&&e[n]?e[n]:l,h=r&&r[n]?r[n]:l,a.setTripleAt(t[n][0],t[n][1],h[0]+t[n][0],h[1]+t[n][1],o[0]+t[n][0],o[1]+t[n][1],n,!0);return a}function initiateExpression(elem,data,property){function noOp(t){return t}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\\w\\d])/.test(val),_needsRandom=-1!==val.indexOf(\"random\"),elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,\"value\",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval(\"[function _expression_function(){\"+val+\";scoped_bm_rt=$bm_rt}]\")[0],numKeys=property.kf?data.k.length:0,active=!this.data||!0!==this.data.hd,wiggle=function(t,e){var r,i,n=this.pv.length?this.pv.length:1,s=createTypedArray(\"float32\",n);var a=Math.floor(5*time);for(r=0,i=0;r<a;){for(i=0;i<n;i+=1)s[i]+=-e+2*e*BMMath.random();r+=1}var o=5*time,h=o-Math.floor(o),l=createTypedArray(\"float32\",n);if(n>1){for(i=0;i<n;i+=1)l[i]=this.pv[i]+s[i]+(-e+2*e*BMMath.random())*h;return l}return this.pv+s[0]+(-e+2*e*BMMath.random())*h}.bind(this);function loopInDuration(t,e){return loopIn(t,e,!0)}function loopOutDuration(t,e){return loopOut(t,e,!0)}thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty)),this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),time,velocity,value,text,textIndex,textTotal,selectorValue;function lookAt(t,e){var r=[e[0]-t[0],e[1]-t[1],e[2]-t[2]],i=Math.atan2(r[0],Math.sqrt(r[1]*r[1]+r[2]*r[2]))/degToRads;return[-Math.atan2(r[1],r[2])/degToRads,i,0]}function easeOut(t,e,r,i,n){return applyEase(easeOutBez,t,e,r,i,n)}function easeIn(t,e,r,i,n){return applyEase(easeInBez,t,e,r,i,n)}function ease(t,e,r,i,n){return applyEase(easeInOutBez,t,e,r,i,n)}function applyEase(t,e,r,i,n,s){void 0===n?(n=r,s=i):e=(e-r)/(i-r),e>1?e=1:e<0&&(e=0);var a=t(e);if($bm_isInstanceOfArray(n)){var o,h=n.length,l=createTypedArray(\"float32\",h);for(o=0;o<h;o+=1)l[o]=(s[o]-n[o])*a+n[o];return l}return(s-n)*a+n}function nearestKey(t){var e,r,i,n=data.k.length;if(data.k.length&&\"number\"!=typeof data.k[0])if(r=-1,(t*=elem.comp.globalData.frameRate)<data.k[0].t)r=1,i=data.k[0].t;else{for(e=0;e<n-1;e+=1){if(t===data.k[e].t){r=e+1,i=data.k[e].t;break}if(t>data.k[e].t&&t<data.k[e+1].t){t-data.k[e].t>data.k[e+1].t-t?(r=e+2,i=data.k[e+1].t):(r=e+1,i=data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else r=0,i=0;var s={};return s.index=r,s.time=i/elem.comp.globalData.frameRate,s}function key(t){var e,r,i;if(!data.k.length||\"number\"==typeof data.k[0])throw new Error(\"The property has no keyframe at index \"+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var n=Object.prototype.hasOwnProperty.call(data.k[t],\"s\")?data.k[t].s:data.k[t-1].e;for(i=n.length,r=0;r<i;r+=1)e[r]=n[r],e.value[r]=n[r];return e}function framesToTime(t,e){return e||(e=elem.comp.globalData.frameRate),t/e}function timeToFrames(t,e){return t||0===t||(t=time),e||(e=elem.comp.globalData.frameRate),t*e}function seedRandom(t){BMMath.seedrandom(randSeed+t)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(t,e){return\"string\"==typeof value?void 0===e?value.substring(t):value.substring(t,e):\"\"}function substr(t,e){return\"string\"==typeof value?void 0===e?value.substr(t):value.substr(t,e):\"\"}function posterizeTime(t){time=0===t?0:Math.floor(time*t)/t,value=valueAtTime(time)}var index=elem.data.ind,hasParent=!(!elem.hierarchy||!elem.hierarchy.length),parent,randSeed=Math.floor(1e6*Math.random()),globalData=elem.globalData;function executeExpression(t){return value=t,this.frameExpressionId===elem.globalData.frameId&&\"textSelector\"!==this.propType?value:(\"textSelector\"===this.propType&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface(\"ADBE Transform Group\"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),4!==elemType||content||(content=thisLayer(\"ADBE Root Vectors Group\")),effect||(effect=thisLayer(4)),(hasParent=!(!elem.hierarchy||!elem.hierarchy.length))&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath],ob}(),expressionHelpers={searchExpressions:function(t,e,r){e.x&&(r.k=!0,r.x=!0,r.initiateExpression=ExpressionManager.initiateExpression,r.effectsSequence.push(r.initiateExpression(t,e,r).bind(r)))},getSpeedAtTime:function(t){var e=this.getValueAtTime(t),r=this.getValueAtTime(t+-.01),i=0;if(e.length){var n;for(n=0;n<e.length;n+=1)i+=Math.pow(r[n]-e[n],2);i=100*Math.sqrt(i)}else i=0;return i},getVelocityAtTime:function(t){if(void 0!==this.vel)return this.vel;var e,r,i=this.getValueAtTime(t),n=this.getValueAtTime(t+-.001);if(i.length)for(e=createTypedArray(\"float32\",i.length),r=0;r<i.length;r+=1)e[r]=(n[r]-i[r])/-.001;else e=(n-i)/-.001;return e},getValueAtTime:function(t){return t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<t?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(t,this._cachingAtTime),this._cachingAtTime.lastFrame=t),this._cachingAtTime.value},getStaticValueAtTime:function(){return this.pv},setGroupProperty:function(t){this.propertyGroup=t}};function addPropertyDecorator(){function t(t,e,r){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLowerCase():\"\";var i,n,s,a,o,h=this.comp.renderedFrame,l=this.keyframes,p=l[l.length-1].t;if(h<=p)return this.pv;if(r?n=p-(i=e?Math.abs(p-this.elem.comp.globalData.frameRate*e):Math.max(0,p-this.elem.data.ip)):((!e||e>l.length-1)&&(e=l.length-1),i=p-(n=l[l.length-1-e].t)),\"pingpong\"===t){if(Math.floor((h-n)/i)%2!=0)return this.getValueAtTime((i-(h-n)%i+n)/this.comp.globalData.frameRate,0)}else{if(\"offset\"===t){var c=this.getValueAtTime(n/this.comp.globalData.frameRate,0),f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),u=this.getValueAtTime(((h-n)%i+n)/this.comp.globalData.frameRate,0),d=Math.floor((h-n)/i);if(this.pv.length){for(a=(o=new Array(c.length)).length,s=0;s<a;s+=1)o[s]=(f[s]-c[s])*d+u[s];return o}return(f-c)*d+u}if(\"continue\"===t){var m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),y=this.getValueAtTime((p-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(a=(o=new Array(m.length)).length,s=0;s<a;s+=1)o[s]=m[s]+(m[s]-y[s])*((h-p)/this.comp.globalData.frameRate)/5e-4;return o}return m+(h-p)/.001*(m-y)}}return this.getValueAtTime(((h-n)%i+n)/this.comp.globalData.frameRate,0)}function e(t,e,r){if(!this.k)return this.pv;t=t?t.toLowerCase():\"\";var i,n,s,a,o,h=this.comp.renderedFrame,l=this.keyframes,p=l[0].t;if(h>=p)return this.pv;if(r?n=p+(i=e?Math.abs(this.elem.comp.globalData.frameRate*e):Math.max(0,this.elem.data.op-p)):((!e||e>l.length-1)&&(e=l.length-1),i=(n=l[e].t)-p),\"pingpong\"===t){if(Math.floor((p-h)/i)%2==0)return this.getValueAtTime(((p-h)%i+p)/this.comp.globalData.frameRate,0)}else{if(\"offset\"===t){var c=this.getValueAtTime(p/this.comp.globalData.frameRate,0),f=this.getValueAtTime(n/this.comp.globalData.frameRate,0),u=this.getValueAtTime((i-(p-h)%i+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-h)/i)+1;if(this.pv.length){for(a=(o=new Array(c.length)).length,s=0;s<a;s+=1)o[s]=u[s]-(f[s]-c[s])*d;return o}return u-(f-c)*d}if(\"continue\"===t){var m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),y=this.getValueAtTime((p+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(a=(o=new Array(m.length)).length,s=0;s<a;s+=1)o[s]=m[s]+(m[s]-y[s])*(p-h)/.001;return o}return m+(m-y)*(p-h)/.001}}return this.getValueAtTime((i-((p-h)%i+p))/this.comp.globalData.frameRate,0)}function r(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(e||5))<=1)return this.pv;var r,i,n=this.comp.renderedFrame/this.comp.globalData.frameRate,s=n-t,a=e>1?(n+t-s)/(e-1):1,o=0,h=0;for(r=this.pv.length?createTypedArray(\"float32\",this.pv.length):0;o<e;){if(i=this.getValueAtTime(s+o*a),this.pv.length)for(h=0;h<this.pv.length;h+=1)r[h]+=i[h];else r+=i;o+=1}if(this.pv.length)for(h=0;h<this.pv.length;h+=1)r[h]/=e;else r/=e;return r}function i(t){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var e=this._transformCachingAtTime.v;if(e.cloneFromProps(this.pre.props),this.appliedTransformations<1){var r=this.a.getValueAtTime(t);e.translate(-r[0]*this.a.mult,-r[1]*this.a.mult,r[2]*this.a.mult)}if(this.appliedTransformations<2){var i=this.s.getValueAtTime(t);e.scale(i[0]*this.s.mult,i[1]*this.s.mult,i[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var n=this.sk.getValueAtTime(t),s=this.sa.getValueAtTime(t);e.skewFromAxis(-n*this.sk.mult,s*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var a=this.r.getValueAtTime(t);e.rotate(-a*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var o=this.rz.getValueAtTime(t),h=this.ry.getValueAtTime(t),l=this.rx.getValueAtTime(t),p=this.or.getValueAtTime(t);e.rotateZ(-o*this.rz.mult).rotateY(h*this.ry.mult).rotateX(l*this.rx.mult).rotateZ(-p[2]*this.or.mult).rotateY(p[1]*this.or.mult).rotateX(p[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var c=this.px.getValueAtTime(t),f=this.py.getValueAtTime(t);if(this.data.p.z){var u=this.pz.getValueAtTime(t);e.translate(c*this.px.mult,f*this.py.mult,-u*this.pz.mult)}else e.translate(c*this.px.mult,f*this.py.mult,0)}else{var d=this.p.getValueAtTime(t);e.translate(d[0]*this.p.mult,d[1]*this.p.mult,-d[2]*this.p.mult)}return e}function n(){return this.v.clone(new Matrix)}var s=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(t,e,r){var a=s(t,e,r);return a.dynamicProperties.length?a.getValueAtTime=i.bind(a):a.getValueAtTime=n.bind(a),a.setGroupProperty=expressionHelpers.setGroupProperty,a};var a=PropertyFactory.getProp;PropertyFactory.getProp=function(i,n,s,o,h){var l=a(i,n,s,o,h);l.kf?l.getValueAtTime=expressionHelpers.getValueAtTime.bind(l):l.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(l),l.setGroupProperty=expressionHelpers.setGroupProperty,l.loopOut=t,l.loopIn=e,l.smooth=r,l.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(l),l.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(l),l.numKeys=1===n.a?n.k.length:0,l.propertyIndex=n.ix;var p=0;return 0!==s&&(p=createTypedArray(\"float32\",1===n.a?n.k[0].s.length:n.k.length)),l._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:p},expressionHelpers.searchExpressions(i,n,l),l.k&&h.addDynamicProperty(l),l};var o=ShapePropertyFactory.getConstructorFunction(),h=ShapePropertyFactory.getKeyframedConstructorFunction();function l(){}l.prototype={vertices:function(t,e){this.k&&this.getValue();var r,i=this.v;void 0!==e&&(i=this.getValueAtTime(e,0));var n=i._length,s=i[t],a=i.v,o=createSizedArray(n);for(r=0;r<n;r+=1)o[r]=\"i\"===t||\"o\"===t?[s[r][0]-a[r][0],s[r][1]-a[r][1]]:[s[r][0],s[r][1]];return o},points:function(t){return this.vertices(\"v\",t)},inTangents:function(t){return this.vertices(\"i\",t)},outTangents:function(t){return this.vertices(\"o\",t)},isClosed:function(){return this.v.c},pointOnPath:function(t,e){var r=this.v;void 0!==e&&(r=this.getValueAtTime(e,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(r));for(var i,n=this._segmentsLength,s=n.lengths,a=n.totalLength*t,o=0,h=s.length,l=0;o<h;){if(l+s[o].addedLength>a){var p=o,c=r.c&&o===h-1?0:o+1,f=(a-l)/s[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[c],r.o[p],r.i[c],f,s[o]);break}l+=s[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),n=this.pointOnPath(t+.001,e),s=n[0]-i[0],a=n[1]-i[1],o=Math.sqrt(Math.pow(s,2)+Math.pow(a,2));return 0===o?[0,0]:\"tangent\"===r?[s/o,a/o]:[-a/o,s/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,\"tangent\")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,\"normal\")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([l],o),extendPrototype([l],h),h.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<t?this._caching.lastIndex:0,this._cachingAtTime.lastTime=t,this.interpolateShape(t,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue},h.prototype.initiateExpression=ExpressionManager.initiateExpression;var p=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(t,e,r,i,n){var s=p(t,e,r,i,n);return s.propertyIndex=e.ix,s.lock=!1,3===r?expressionHelpers.searchExpressions(t,e.pt,s):4===r&&expressionHelpers.searchExpressions(t,e.ks,s),s.k&&t.addDynamicProperty(s),s}}function initialize$1(){addPropertyDecorator()}function addDecorator(){TextProperty.prototype.getExpressionValue=function(t,e){var r=this.calculateExpression(e);if(t.t!==r){var i={};return this.copyData(i,t),i.t=r.toString(),i.__complete=!1,i}return t},TextProperty.prototype.searchProperty=function(){var t=this.searchKeyframes(),e=this.searchExpressions();return this.kf=t||e,this.kf},TextProperty.prototype.searchExpressions=function(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}}function initialize(){addDecorator()}function SVGComposableEffect(){}function SVGTintFilter(t,e,r,i,n){this.filterManager=e;var s=createNS(\"feColorMatrix\");s.setAttribute(\"type\",\"matrix\"),s.setAttribute(\"color-interpolation-filters\",\"linearRGB\"),s.setAttribute(\"values\",\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"),s.setAttribute(\"result\",i+\"_tint_1\"),t.appendChild(s),(s=createNS(\"feColorMatrix\")).setAttribute(\"type\",\"matrix\"),s.setAttribute(\"color-interpolation-filters\",\"sRGB\"),s.setAttribute(\"values\",\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"),s.setAttribute(\"result\",i+\"_tint_2\"),t.appendChild(s),this.matrixFilter=s;var a=this.createMergeNode(i,[n,i+\"_tint_1\",i+\"_tint_2\"]);t.appendChild(a)}function SVGFillFilter(t,e,r,i){this.filterManager=e;var n=createNS(\"feColorMatrix\");n.setAttribute(\"type\",\"matrix\"),n.setAttribute(\"color-interpolation-filters\",\"sRGB\"),n.setAttribute(\"values\",\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"),n.setAttribute(\"result\",i),t.appendChild(n),this.matrixFilter=n}function SVGStrokeEffect(t,e,r){this.initialized=!1,this.filterManager=e,this.elem=r,this.paths=[]}function SVGTritoneFilter(t,e,r,i){this.filterManager=e;var n=createNS(\"feColorMatrix\");n.setAttribute(\"type\",\"matrix\"),n.setAttribute(\"color-interpolation-filters\",\"linearRGB\"),n.setAttribute(\"values\",\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"),t.appendChild(n);var s=createNS(\"feComponentTransfer\");s.setAttribute(\"color-interpolation-filters\",\"sRGB\"),s.setAttribute(\"result\",i),this.matrixFilter=s;var a=createNS(\"feFuncR\");a.setAttribute(\"type\",\"table\"),s.appendChild(a),this.feFuncR=a;var o=createNS(\"feFuncG\");o.setAttribute(\"type\",\"table\"),s.appendChild(o),this.feFuncG=o;var h=createNS(\"feFuncB\");h.setAttribute(\"type\",\"table\"),s.appendChild(h),this.feFuncB=h,t.appendChild(s)}function SVGProLevelsFilter(t,e,r,i){this.filterManager=e;var n=this.filterManager.effectElements,s=createNS(\"feComponentTransfer\");(n[10].p.k||0!==n[10].p.v||n[11].p.k||1!==n[11].p.v||n[12].p.k||1!==n[12].p.v||n[13].p.k||0!==n[13].p.v||n[14].p.k||1!==n[14].p.v)&&(this.feFuncR=this.createFeFunc(\"feFuncR\",s)),(n[17].p.k||0!==n[17].p.v||n[18].p.k||1!==n[18].p.v||n[19].p.k||1!==n[19].p.v||n[20].p.k||0!==n[20].p.v||n[21].p.k||1!==n[21].p.v)&&(this.feFuncG=this.createFeFunc(\"feFuncG\",s)),(n[24].p.k||0!==n[24].p.v||n[25].p.k||1!==n[25].p.v||n[26].p.k||1!==n[26].p.v||n[27].p.k||0!==n[27].p.v||n[28].p.k||1!==n[28].p.v)&&(this.feFuncB=this.createFeFunc(\"feFuncB\",s)),(n[31].p.k||0!==n[31].p.v||n[32].p.k||1!==n[32].p.v||n[33].p.k||1!==n[33].p.v||n[34].p.k||0!==n[34].p.v||n[35].p.k||1!==n[35].p.v)&&(this.feFuncA=this.createFeFunc(\"feFuncA\",s)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(s.setAttribute(\"color-interpolation-filters\",\"sRGB\"),t.appendChild(s)),(n[3].p.k||0!==n[3].p.v||n[4].p.k||1!==n[4].p.v||n[5].p.k||1!==n[5].p.v||n[6].p.k||0!==n[6].p.v||n[7].p.k||1!==n[7].p.v)&&((s=createNS(\"feComponentTransfer\")).setAttribute(\"color-interpolation-filters\",\"sRGB\"),s.setAttribute(\"result\",i),t.appendChild(s),this.feFuncRComposed=this.createFeFunc(\"feFuncR\",s),this.feFuncGComposed=this.createFeFunc(\"feFuncG\",s),this.feFuncBComposed=this.createFeFunc(\"feFuncB\",s))}function SVGDropShadowEffect(t,e,r,i,n){var s=e.container.globalData.renderConfig.filterSize,a=e.data.fs||s;t.setAttribute(\"x\",a.x||s.x),t.setAttribute(\"y\",a.y||s.y),t.setAttribute(\"width\",a.width||s.width),t.setAttribute(\"height\",a.height||s.height),this.filterManager=e;var o=createNS(\"feGaussianBlur\");o.setAttribute(\"in\",\"SourceAlpha\"),o.setAttribute(\"result\",i+\"_drop_shadow_1\"),o.setAttribute(\"stdDeviation\",\"0\"),this.feGaussianBlur=o,t.appendChild(o);var h=createNS(\"feOffset\");h.setAttribute(\"dx\",\"25\"),h.setAttribute(\"dy\",\"0\"),h.setAttribute(\"in\",i+\"_drop_shadow_1\"),h.setAttribute(\"result\",i+\"_drop_shadow_2\"),this.feOffset=h,t.appendChild(h);var l=createNS(\"feFlood\");l.setAttribute(\"flood-color\",\"#00ff00\"),l.setAttribute(\"flood-opacity\",\"1\"),l.setAttribute(\"result\",i+\"_drop_shadow_3\"),this.feFlood=l,t.appendChild(l);var p=createNS(\"feComposite\");p.setAttribute(\"in\",i+\"_drop_shadow_3\"),p.setAttribute(\"in2\",i+\"_drop_shadow_2\"),p.setAttribute(\"operator\",\"in\"),p.setAttribute(\"result\",i+\"_drop_shadow_4\"),t.appendChild(p);var c=this.createMergeNode(i,[i+\"_drop_shadow_4\",n]);t.appendChild(c)}SVGComposableEffect.prototype={createMergeNode:function(t,e){var r,i,n=createNS(\"feMerge\");for(n.setAttribute(\"result\",t),i=0;i<e.length;i+=1)(r=createNS(\"feMergeNode\")).setAttribute(\"in\",e[i]),n.appendChild(r),n.appendChild(r);return n}},extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v/100;this.matrixFilter.setAttribute(\"values\",r[0]-e[0]+\" 0 0 0 \"+e[0]+\" \"+(r[1]-e[1])+\" 0 0 0 \"+e[1]+\" \"+(r[2]-e[2])+\" 0 0 0 \"+e[2]+\" 0 0 0 \"+i+\" 0\")}},SVGFillFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[2].p.v,r=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute(\"values\",\"0 0 0 0 \"+e[0]+\" 0 0 0 0 \"+e[1]+\" 0 0 0 0 \"+e[2]+\" 0 0 0 \"+r+\" 0\")}},SVGStrokeEffect.prototype.initialize=function(){var t,e,r,i,n=this.elem.layerElement.children||this.elem.layerElement.childNodes;for(1===this.filterManager.effectElements[1].p.v?(i=this.elem.maskManager.masksProperties.length,r=0):i=(r=this.filterManager.effectElements[0].p.v-1)+1,(e=createNS(\"g\")).setAttribute(\"fill\",\"none\"),e.setAttribute(\"stroke-linecap\",\"round\"),e.setAttribute(\"stroke-dashoffset\",1);r<i;r+=1)t=createNS(\"path\"),e.appendChild(t),this.paths.push({p:t,m:r});if(3===this.filterManager.effectElements[10].p.v){var s=createNS(\"mask\"),a=createElementID();s.setAttribute(\"id\",a),s.setAttribute(\"mask-type\",\"alpha\"),s.appendChild(e),this.elem.globalData.defs.appendChild(s);var o=createNS(\"g\");for(o.setAttribute(\"mask\",\"url(\"+getLocationHref()+\"#\"+a+\")\");n[0];)o.appendChild(n[0]);this.elem.layerElement.appendChild(o),this.masker=s,e.setAttribute(\"stroke\",\"#fff\")}else if(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v){if(2===this.filterManager.effectElements[10].p.v)for(n=this.elem.layerElement.children||this.elem.layerElement.childNodes;n.length;)this.elem.layerElement.removeChild(n[0]);this.elem.layerElement.appendChild(e),this.elem.layerElement.removeAttribute(\"mask\"),e.setAttribute(\"stroke\",\"#fff\")}this.initialized=!0,this.pathMasker=e},SVGStrokeEffect.prototype.renderFrame=function(t){var e;this.initialized||this.initialize();var r,i,n=this.paths.length;for(e=0;e<n;e+=1)if(-1!==this.paths[e].m&&(r=this.elem.maskManager.viewData[this.paths[e].m],i=this.paths[e].p,(t||this.filterManager._mdf||r.prop._mdf)&&i.setAttribute(\"d\",r.lastPath),t||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||r.prop._mdf)){var s;if(0!==this.filterManager.effectElements[7].p.v||100!==this.filterManager.effectElements[8].p.v){var a=.01*Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),o=.01*Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),h=i.getTotalLength();s=\"0 0 0 \"+h*a+\" \";var l,p=h*(o-a),c=1+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01,f=Math.floor(p/c);for(l=0;l<f;l+=1)s+=\"1 \"+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01+\" \";s+=\"0 \"+10*h+\" 0 0\"}else s=\"1 \"+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01;i.setAttribute(\"stroke-dasharray\",s)}if((t||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute(\"stroke-width\",2*this.filterManager.effectElements[4].p.v),(t||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute(\"opacity\",this.filterManager.effectElements[6].p.v),(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v)&&(t||this.filterManager.effectElements[3].p._mdf)){var u=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute(\"stroke\",\"rgb(\"+bmFloor(255*u[0])+\",\"+bmFloor(255*u[1])+\",\"+bmFloor(255*u[2])+\")\")}},SVGTritoneFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v,n=i[0]+\" \"+r[0]+\" \"+e[0],s=i[1]+\" \"+r[1]+\" \"+e[1],a=i[2]+\" \"+r[2]+\" \"+e[2];this.feFuncR.setAttribute(\"tableValues\",n),this.feFuncG.setAttribute(\"tableValues\",s),this.feFuncB.setAttribute(\"tableValues\",a)}},SVGProLevelsFilter.prototype.createFeFunc=function(t,e){var r=createNS(t);return r.setAttribute(\"type\",\"table\"),e.appendChild(r),r},SVGProLevelsFilter.prototype.getTableValue=function(t,e,r,i,n){for(var s,a,o=0,h=Math.min(t,e),l=Math.max(t,e),p=Array.call(null,{length:256}),c=0,f=n-i,u=e-t;o<=256;)a=(s=o/256)<=h?u<0?n:i:s>=l?u<0?i:n:i+f*Math.pow((s-t)/u,1/r),p[c]=a,c+=1,o+=256/255;return p.join(\" \")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(t||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute(\"tableValues\",e),this.feFuncGComposed.setAttribute(\"tableValues\",e),this.feFuncBComposed.setAttribute(\"tableValues\",e)),this.feFuncR&&(t||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute(\"tableValues\",e)),this.feFuncG&&(t||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute(\"tableValues\",e)),this.feFuncB&&(t||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute(\"tableValues\",e)),this.feFuncA&&(t||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute(\"tableValues\",e))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute(\"stdDeviation\",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute(\"flood-color\",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute(\"flood-opacity\",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,n=r*Math.cos(i),s=r*Math.sin(i);this.feOffset.setAttribute(\"dx\",n),this.feOffset.setAttribute(\"dy\",s)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=r,r.matteElement=createNS(\"g\"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}function SVGGaussianBlurEffect(t,e,r,i){t.setAttribute(\"x\",\"-100%\"),t.setAttribute(\"y\",\"-100%\"),t.setAttribute(\"width\",\"300%\"),t.setAttribute(\"height\",\"300%\"),this.filterManager=e;var n=createNS(\"feGaussianBlur\");n.setAttribute(\"result\",i),t.appendChild(n),this.feGaussianBlur=n}return SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,r=_svgMatteSymbols.length;e<r;){if(_svgMatteSymbols[e]===t)return _svgMatteSymbols[e];e+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(t,e){var r=t.layerElement.parentNode;if(r){for(var i,n=r.children,s=0,a=n.length;s<a&&n[s]!==t.layerElement;)s+=1;s<=a-2&&(i=n[s+1]);var o=createNS(\"use\");o.setAttribute(\"href\",\"#\"+e),i?r.insertBefore(o,i):r.appendChild(o)}},SVGMatte3Effect.prototype.setElementAsMask=function(t,e){if(!this.findSymbol(e)){var r=createElementID(),i=createNS(\"mask\");i.setAttribute(\"id\",e.layerId),i.setAttribute(\"mask-type\",\"alpha\"),_svgMatteSymbols.push(e);var n=t.globalData.defs;n.appendChild(i);var s=createNS(\"symbol\");s.setAttribute(\"id\",r),this.replaceInParent(e,r),s.appendChild(e.layerElement),n.appendChild(s);var a=createNS(\"use\");a.setAttribute(\"href\",\"#\"+r),i.appendChild(a),e.data.hd=!1,e.show()}t.setMatte(e.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var t=this.filterManager.effectElements[0].p.v,e=this.elem.comp.elements,r=0,i=e.length;r<i;)e[r]&&e[r].data.ind===t&&this.setElementAsMask(this.elem,e[r]),r+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()},SVGGaussianBlurEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=.3*this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=3==r?0:e,n=2==r?0:e;this.feGaussianBlur.setAttribute(\"stdDeviation\",i+\" \"+n);var s=1==this.filterManager.effectElements[2].p.v?\"wrap\":\"duplicate\";this.feGaussianBlur.setAttribute(\"edgeMode\",s)}},setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect(20,SVGTintFilter,!0),registerEffect(21,SVGFillFilter,!0),registerEffect(22,SVGStrokeEffect,!1),registerEffect(23,SVGTritoneFilter,!0),registerEffect(24,SVGProLevelsFilter,!0),registerEffect(25,SVGDropShadowEffect,!0),registerEffect(28,SVGMatte3Effect,!1),registerEffect(29,SVGGaussianBlurEffect,!0),lottie}))})),jszip=createCommonjsModule((function(t,e){\n/*!\n\n  JSZip v3.6.0 - A JavaScript class for generating and reading zip files\n  <http://stuartk.com/jszip>\n\n  (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\n  Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\n  JSZip uses the library pako released under the MIT license :\n  https://github.com/nodeca/pako/blob/master/LICENSE\n  */\n!function(e){t.exports=e()}((function(){return function t(e,r,i){function n(a,o){if(!r[a]){if(!e[a]){var h=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!o&&h)return h(a,!0);if(s)return s(a,!0);var l=new Error(\"Cannot find module '\"+a+\"'\");throw l.code=\"MODULE_NOT_FOUND\",l}var p=r[a]={exports:{}};e[a][0].call(p.exports,(function(t){var r=e[a][1][t];return n(r||t)}),p,p.exports,t,e,r,i)}return r[a].exports}for(var s=\"function\"==typeof commonjsRequire&&commonjsRequire,a=0;a<i.length;a++)n(i[a]);return n}({1:[function(t,e,r){(function(i){\n/*!\n\n  JSZip v3.5.0 - A JavaScript class for generating and reading zip files\n  <http://stuartk.com/jszip>\n\n  (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\n  Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\n  JSZip uses the library pako released under the MIT license :\n  https://github.com/nodeca/pako/blob/master/LICENSE\n  */\n!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=t()}((function(){return function e(r,i,n){function s(o,h){if(!i[o]){if(!r[o]){var l=\"function\"==typeof t&&t;if(!h&&l)return l(o,!0);if(a)return a(o,!0);var p=new Error(\"Cannot find module '\"+o+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}var c=i[o]={exports:{}};r[o][0].call(c.exports,(function(t){return s(r[o][1][t]||t)}),c,c.exports,e,r,i,n)}return i[o].exports}for(var a=\"function\"==typeof t&&t,o=0;o<n.length;o++)s(n[o]);return s}({1:[function(t,e,r){(function(i){!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=t()}((function(){return function e(r,i,n){function s(o,h){if(!i[o]){if(!r[o]){var l=\"function\"==typeof t&&t;if(!h&&l)return l(o,!0);if(a)return a(o,!0);var p=new Error(\"Cannot find module '\"+o+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}var c=i[o]={exports:{}};r[o][0].call(c.exports,(function(t){return s(r[o][1][t]||t)}),c,c.exports,e,r,i,n)}return i[o].exports}for(var a=\"function\"==typeof t&&t,o=0;o<n.length;o++)s(n[o]);return s}({1:[function(t,e,r){(function(i){!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=t()}((function(){return function e(r,i,n){function s(o,h){if(!i[o]){if(!r[o]){var l=\"function\"==typeof t&&t;if(!h&&l)return l(o,!0);if(a)return a(o,!0);var p=new Error(\"Cannot find module '\"+o+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}var c=i[o]={exports:{}};r[o][0].call(c.exports,(function(t){return s(r[o][1][t]||t)}),c,c.exports,e,r,i,n)}return i[o].exports}for(var a=\"function\"==typeof t&&t,o=0;o<n.length;o++)s(n[o]);return s}({1:[function(t,e,r){(function(i){!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=t()}((function(){return function e(r,i,n){function s(o,h){if(!i[o]){if(!r[o]){var l=\"function\"==typeof t&&t;if(!h&&l)return l(o,!0);if(a)return a(o,!0);var p=new Error(\"Cannot find module '\"+o+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}var c=i[o]={exports:{}};r[o][0].call(c.exports,(function(t){return s(r[o][1][t]||t)}),c,c.exports,e,r,i,n)}return i[o].exports}for(var a=\"function\"==typeof t&&t,o=0;o<n.length;o++)s(n[o]);return s}({1:[function(t,e,r){(function(i){!function(t){\"object\"==typeof r&&void 0!==e?e.exports=t():(\"undefined\"!=typeof window?window:void 0!==i?i:\"undefined\"!=typeof self?self:this).JSZip=t()}((function(){return function e(r,i,n){function s(o,h){if(!i[o]){if(!r[o]){var l=\"function\"==typeof t&&t;if(!h&&l)return l(o,!0);if(a)return a(o,!0);var p=new Error(\"Cannot find module '\"+o+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}var c=i[o]={exports:{}};r[o][0].call(c.exports,(function(t){return s(r[o][1][t]||t)}),c,c.exports,e,r,i,n)}return i[o].exports}for(var a=\"function\"==typeof t&&t,o=0;o<n.length;o++)s(n[o]);return s}({1:[function(t,e,r){var i=t(\"./utils\"),n=t(\"./support\"),s=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(t){for(var e,r,n,a,o,h,l,p=[],c=0,f=t.length,u=f,d=\"string\"!==i.getTypeOf(t);c<t.length;)u=f-c,n=d?(e=t[c++],r=c<f?t[c++]:0,c<f?t[c++]:0):(e=t.charCodeAt(c++),r=c<f?t.charCodeAt(c++):0,c<f?t.charCodeAt(c++):0),a=e>>2,o=(3&e)<<4|r>>4,h=1<u?(15&r)<<2|n>>6:64,l=2<u?63&n:64,p.push(s.charAt(a)+s.charAt(o)+s.charAt(h)+s.charAt(l));return p.join(\"\")},r.decode=function(t){var e,r,i,a,o,h,l=0,p=0;if(\"data:\"===t.substr(0,\"data:\".length))throw new Error(\"Invalid base64 input, it looks like a data url.\");var c,f=3*(t=t.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\")).length/4;if(t.charAt(t.length-1)===s.charAt(64)&&f--,t.charAt(t.length-2)===s.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(c=n.uint8array?new Uint8Array(0|f):new Array(0|f);l<t.length;)e=s.indexOf(t.charAt(l++))<<2|(a=s.indexOf(t.charAt(l++)))>>4,r=(15&a)<<4|(o=s.indexOf(t.charAt(l++)))>>2,i=(3&o)<<6|(h=s.indexOf(t.charAt(l++))),c[p++]=e,64!==o&&(c[p++]=r),64!==h&&(c[p++]=i);return c}},{\"./support\":30,\"./utils\":32}],2:[function(t,e,r){var i=t(\"./external\"),n=t(\"./stream/DataWorker\"),s=t(\"./stream/Crc32Probe\"),a=t(\"./stream/DataLengthProbe\");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),e=this;return t.on(\"end\",(function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")})),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(e.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",e)},e.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(t,e,r){var i=t(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(t){return new i(\"STORE compression\")},uncompressWorker:function(){return new i(\"STORE decompression\")}},r.DEFLATE=t(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(t,e,r){var i=t(\"./utils\"),n=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?\"string\"!==i.getTypeOf(t)?function(t,e,r){var i=n,s=0+r;t^=-1;for(var a=0;a<s;a++)t=t>>>8^i[255&(t^e[a])];return-1^t}(0|e,t,t.length):function(t,e,r){var i=n,s=0+r;t^=-1;for(var a=0;a<s;a++)t=t>>>8^i[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length):0}},{\"./utils\":32}],5:[function(t,e,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){var i;i=\"undefined\"!=typeof Promise?Promise:t(\"lie\"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,n=t(\"pako\"),s=t(\"./utils\"),a=t(\"./stream/GenericWorker\"),o=i?\"uint8array\":\"array\";function h(t,e){a.call(this,\"FlateWorker/\"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(t){return new h(\"Deflate\",t)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(t,e,r){function i(t,e){var r,i=\"\";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function n(t,e,r,n,a,p){var c,f,u=t.file,d=t.compression,m=p!==o.utf8encode,y=s.transformTo(\"string\",p(u.name)),g=s.transformTo(\"string\",o.utf8encode(u.name)),v=u.comment,_=s.transformTo(\"string\",p(v)),b=s.transformTo(\"string\",o.utf8encode(v)),P=g.length!==u.name.length,S=b.length!==v.length,w=\"\",x=\"\",E=\"\",k=u.dir,A=u.date,T={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(T.crc32=t.crc32,T.compressedSize=t.compressedSize,T.uncompressedSize=t.uncompressedSize);var C=0;e&&(C|=8),m||!P&&!S||(C|=2048);var I,D=0,M=0;k&&(D|=16),\"UNIX\"===a?(M=798,D|=((I=u.unixPermissions)||(I=k?16893:33204),(65535&I)<<16)):(M=20,D|=63&(u.dosPermissions||0)),c=A.getUTCHours(),c<<=6,c|=A.getUTCMinutes(),c<<=5,c|=A.getUTCSeconds()/2,f=A.getUTCFullYear()-1980,f<<=4,f|=A.getUTCMonth()+1,f<<=5,f|=A.getUTCDate(),P&&(w+=\"up\"+i((x=i(1,1)+i(h(y),4)+g).length,2)+x),S&&(w+=\"uc\"+i((E=i(1,1)+i(h(_),4)+b).length,2)+E);var F=\"\";return F+=\"\\n\\0\",F+=i(C,2),F+=d.magic,F+=i(c,2),F+=i(f,2),F+=i(T.crc32,4),F+=i(T.compressedSize,4),F+=i(T.uncompressedSize,4),F+=i(y.length,2),F+=i(w.length,2),{fileRecord:l.LOCAL_FILE_HEADER+F+y+w,dirRecord:l.CENTRAL_FILE_HEADER+i(M,2)+F+i(_.length,2)+\"\\0\\0\\0\\0\"+i(D,4)+i(n,4)+y+w+_}}var s=t(\"../utils\"),a=t(\"../stream/GenericWorker\"),o=t(\"../utf8\"),h=t(\"../crc32\"),l=t(\"../signature\");function p(t,e,r,i){a.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}s.inherits(p,a),p.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,a.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},p.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=n(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},p.prototype.closedSource=function(t){this.accumulate=!1;var e,r=this.streamFiles&&!t.file.dir,s=n(t,r,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(s.dirRecord),r)this.push({data:(e=t,l.DATA_DESCRIPTOR+i(e.crc32,4)+i(e.compressedSize,4)+i(e.uncompressedSize,4)),meta:{percent:100}});else for(this.push({data:s.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},p.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r,n,a,o,h,p,c=this.bytesWritten-t,f=(r=this.dirRecords.length,n=c,a=t,o=this.zipComment,h=this.encodeFileName,p=s.transformTo(\"string\",h(o)),l.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+i(r,2)+i(r,2)+i(n,4)+i(a,4)+i(p.length,2)+p);this.push({data:f,meta:{percent:100}})},p.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},p.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on(\"data\",(function(t){e.processChunk(t)})),t.on(\"end\",(function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()})),t.on(\"error\",(function(t){e.error(t)})),this},p.prototype.resume=function(){return!!a.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},p.prototype.error=function(t){var e=this._sources;if(!a.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},p.prototype.lock=function(){a.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=p},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(t,e,r){var i=t(\"../compressions\"),n=t(\"./ZipFileWorker\");r.generateWorker=function(t,e,r){var s=new n(e.streamFiles,r,e.platform,e.encodeFileName),a=0;try{t.forEach((function(t,r){a++;var n=function(t,e){var r=t||e,n=i[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(r.options.compression,e.compression),o=r.options.compressionOptions||e.compressionOptions||{},h=r.dir,l=r.date;r._compressWorker(n,o).withStreamInfo(\"file\",{name:t,dir:h,date:l,comment:r.comment||\"\",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(s)})),s.entriesCount=a}catch(t){s.error(t)}return s}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(t,e,r){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files={},this.comment=null,this.root=\"\",this.clone=function(){var t=new i;for(var e in this)\"function\"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t(\"./object\")).loadAsync=t(\"./load\"),i.support=t(\"./support\"),i.defaults=t(\"./defaults\"),i.version=\"3.5.0\",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t(\"./external\"),e.exports=i},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(t,e,r){var i=t(\"./utils\"),n=t(\"./external\"),s=t(\"./utf8\"),a=t(\"./zipEntries\"),o=t(\"./stream/Crc32Probe\"),h=t(\"./nodejsUtils\");function l(t){return new n.Promise((function(e,r){var i=t.decompressed.getContentWorker().pipe(new o);i.on(\"error\",(function(t){r(t)})).on(\"end\",(function(){i.streamInfo.crc32!==t.decompressed.crc32?r(new Error(\"Corrupted zip : CRC32 mismatch\")):e()})).resume()}))}e.exports=function(t,e){var r=this;return e=i.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode}),h.isNode&&h.isStream(t)?n.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):i.prepareContent(\"the loaded zip file\",t,!0,e.optimizedBinaryString,e.base64).then((function(t){var r=new a(e);return r.load(t),r})).then((function(t){var r=[n.Promise.resolve(t)],i=t.files;if(e.checkCRC32)for(var s=0;s<i.length;s++)r.push(l(i[s]));return n.Promise.all(r)})).then((function(t){for(var i=t.shift(),n=i.files,s=0;s<n.length;s++){var a=n[s];r.file(a.fileNameStr,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:e.createFolders})}return i.zipComment.length&&(r.comment=i.zipComment),r}))}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(t,e,r){var i=t(\"../utils\"),n=t(\"../stream/GenericWorker\");function s(t,e){n.call(this,\"Nodejs stream input adapter for \"+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on(\"data\",(function(t){e.push({data:t,meta:{percent:0}})})).on(\"error\",(function(t){e.isPaused?this.generatedError=t:e.error(t)})).on(\"end\",(function(){e.isPaused?e._upstreamEnded=!0:e.end()}))},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(t,e,r){var i=t(\"readable-stream\").Readable;function n(t,e,r){i.call(this,e),this._helper=t;var n=this;t.on(\"data\",(function(t,e){n.push(t)||n._helper.pause(),r&&r(e)})).on(\"error\",(function(t){n.emit(\"error\",t)})).on(\"end\",(function(){n.push(null)}))}t(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},e.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(t,e,r){e.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if(\"number\"==typeof t)throw new Error('The \"data\" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&\"function\"==typeof t.on&&\"function\"==typeof t.pause&&\"function\"==typeof t.resume}}},{}],15:[function(t,e,r){function i(t,e,r){var i,s=a.getTypeOf(e),h=a.extend(r||{},l);h.date=h.date||new Date,null!==h.compression&&(h.compression=h.compression.toUpperCase()),\"string\"==typeof h.unixPermissions&&(h.unixPermissions=parseInt(h.unixPermissions,8)),h.unixPermissions&&16384&h.unixPermissions&&(h.dir=!0),h.dosPermissions&&16&h.dosPermissions&&(h.dir=!0),h.dir&&(t=n(t)),h.createFolders&&(i=function(t){\"/\"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf(\"/\");return 0<e?t.substring(0,e):\"\"}(t))&&m.call(this,i,!0);var f,y=\"string\"===s&&!1===h.binary&&!1===h.base64;r&&void 0!==r.binary||(h.binary=!y),(e instanceof p&&0===e.uncompressedSize||h.dir||!e||0===e.length)&&(h.base64=!1,h.binary=!0,e=\"\",h.compression=\"STORE\",s=\"string\"),f=e instanceof p||e instanceof o?e:u.isNode&&u.isStream(e)?new d(t,e):a.prepareContent(t,e,h.binary,h.optimizedBinaryString,h.base64);var g=new c(t,f,h);this.files[t]=g}function n(t){return\"/\"!==t.slice(-1)&&(t+=\"/\"),t}var s=t(\"./utf8\"),a=t(\"./utils\"),o=t(\"./stream/GenericWorker\"),h=t(\"./stream/StreamHelper\"),l=t(\"./defaults\"),p=t(\"./compressedObject\"),c=t(\"./zipObject\"),f=t(\"./generate\"),u=t(\"./nodejsUtils\"),d=t(\"./nodejs/NodejsStreamInputAdapter\"),m=function(t,e){return e=void 0!==e?e:l.createFolders,t=n(t),this.files[t]||i.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function y(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}var g={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(t){var e,r,i;for(e in this.files)this.files.hasOwnProperty(e)&&(i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i))},filter:function(t){var e=[];return this.forEach((function(r,i){t(r,i)&&e.push(i)})),e},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,i.call(this,t,e,r),this;if(y(t)){var n=t;return this.filter((function(t,e){return!e.dir&&n.test(t)}))}var s=this.files[this.root+t];return s&&!s.dir?s:null},folder:function(t){if(!t)return this;if(y(t))return this.filter((function(e,r){return r.dir&&t.test(e)}));var e=this.root+t,r=m.call(this,e),i=this.clone();return i.root=r.name,i},remove:function(t){t=this.root+t;var e=this.files[t];if(e||(\"/\"!==t.slice(-1)&&(t+=\"/\"),e=this.files[t]),e&&!e.dir)delete this.files[t];else for(var r=this.filter((function(e,r){return r.name.slice(0,t.length)===t})),i=0;i<r.length;i++)delete this.files[r[i].name];return this},generate:function(t){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(t){var e,r={};try{if((r=a.extend(t||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:s.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");a.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var i=r.comment||this.comment||\"\";e=f.generateWorker(this,r,i)}catch(t){(e=new o(\"error\")).error(t)}return new h(e,r.type||\"string\",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type=\"nodebuffer\"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=g},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(t,e,r){e.exports=t(\"stream\")},{stream:void 0}],17:[function(t,e,r){var i=t(\"./DataReader\");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],18:[function(t,e,r){var i=t(\"../utils\");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+t+\"). Corrupted zip ?\")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo(\"string\",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{\"../utils\":32}],19:[function(t,e,r){var i=t(\"./Uint8ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(t,e,r){var i=t(\"./DataReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],21:[function(t,e,r){var i=t(\"./ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(t,e,r){var i=t(\"../utils\"),n=t(\"../support\"),s=t(\"./ArrayReader\"),a=t(\"./StringReader\"),o=t(\"./NodeBufferReader\"),h=t(\"./Uint8ArrayReader\");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),\"string\"!==e||n.uint8array?\"nodebuffer\"===e?new o(t):n.uint8array?new h(i.transformTo(\"uint8array\",t)):new s(i.transformTo(\"array\",t)):new a(t)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(t,e,r){r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(t,e,r){var i=t(\"./GenericWorker\"),n=t(\"../utils\");function s(t){i.call(this,\"ConvertWorker to \"+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(t,e,r){var i=t(\"./GenericWorker\"),n=t(\"../crc32\");function s(){i.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}t(\"../utils\").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(t,e,r){var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataLengthProbe for \"+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(t,e,r){var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataWorker\");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,t.then((function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()}),(function(t){e.error(t)}))}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":t=this.data.substring(this.index,e);break;case\"uint8array\":t=this.data.subarray(this.index,e);break;case\"array\":case\"nodebuffer\":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(t,e,r){function i(t){this.name=t||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit(\"data\",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit(\"error\",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit(\"error\",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on(\"data\",(function(t){e.processChunk(t)})),t.on(\"end\",(function(){e.end()})),t.on(\"error\",(function(t){e.error(t)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+t:t}},e.exports=i},{}],29:[function(t,e,r){var i=t(\"../utils\"),n=t(\"./ConvertWorker\"),s=t(\"./GenericWorker\"),a=t(\"../base64\"),o=t(\"../support\"),h=t(\"../external\"),l=null;if(o.nodestream)try{l=t(\"../nodejs/NodejsStreamOutputAdapter\")}catch(t){}function p(t,e,r){var a=e;switch(e){case\"blob\":case\"arraybuffer\":a=\"uint8array\";break;case\"base64\":a=\"string\"}try{this._internalType=a,this._outputType=e,this._mimeType=r,i.checkSupport(a),this._worker=t.pipe(new n(a)),t.lock()}catch(t){this._worker=new s(\"error\"),this._worker.error(t)}}p.prototype={accumulate:function(t){return e=this,r=t,new h.Promise((function(t,n){var s=[],o=e._internalType,h=e._outputType,l=e._mimeType;e.on(\"data\",(function(t,e){s.push(t),r&&r(e)})).on(\"error\",(function(t){s=[],n(t)})).on(\"end\",(function(){try{var e=function(t,e,r){switch(t){case\"blob\":return i.newBlob(i.transformTo(\"arraybuffer\",e),r);case\"base64\":return a.encode(e);default:return i.transformTo(t,e)}}(h,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case\"string\":return e.join(\"\");case\"array\":return Array.prototype.concat.apply([],e);case\"uint8array\":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case\"nodebuffer\":return Buffer.concat(e);default:throw new Error(\"concat : unsupported type '\"+t+\"'\")}}(o,s),l);t(e)}catch(e){n(e)}s=[]})).resume()}));var e,r},on:function(t,e){var r=this;return\"data\"===t?this._worker.on(t,(function(t){e.call(r,t.data,t.meta)})):this._worker.on(t,(function(){i.delay(e,arguments,r)})),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(i.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new l(this,{objectMode:\"nodebuffer\"!==this._outputType},t)}},e.exports=p},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(t,e,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:\"application/zip\"}).size}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob(\"application/zip\").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t(\"readable-stream\").Readable}catch(t){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(t,e,r){for(var i=t(\"./utils\"),n=t(\"./support\"),s=t(\"./nodejsUtils\"),a=t(\"./stream/GenericWorker\"),o=new Array(256),h=0;h<256;h++)o[h]=252<=h?6:248<=h?5:240<=h?4:224<=h?3:192<=h?2:1;function l(){a.call(this,\"utf-8 decode\"),this.leftOver=null}function p(){a.call(this,\"utf-8 encode\")}o[254]=o[254]=1,r.utf8encode=function(t){return n.nodebuffer?s.newBufferFrom(t,\"utf-8\"):function(t){var e,r,i,s,a,o=t.length,h=0;for(s=0;s<o;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(i=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),h+=r<128?1:r<2048?2:r<65536?3:4;for(e=n.uint8array?new Uint8Array(h):new Array(h),s=a=0;a<h;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(i=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(i-56320),s++),r<128?e[a++]=r:(r<2048?e[a++]=192|r>>>6:(r<65536?e[a++]=224|r>>>12:(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63),e[a++]=128|r>>>6&63),e[a++]=128|63&r);return e}(t)},r.utf8decode=function(t){return n.nodebuffer?i.transformTo(\"nodebuffer\",t).toString(\"utf-8\"):function(t){var e,r,n,s,a=t.length,h=new Array(2*a);for(e=r=0;e<a;)if((n=t[e++])<128)h[r++]=n;else if(4<(s=o[n]))h[r++]=65533,e+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&e<a;)n=n<<6|63&t[e++],s--;1<s?h[r++]=65533:n<65536?h[r++]=n:(n-=65536,h[r++]=55296|n>>10&1023,h[r++]=56320|1023&n)}return h.length!==r&&(h.subarray?h=h.subarray(0,r):h.length=r),i.applyFromCharCode(h)}(t=i.transformTo(n.uint8array?\"uint8array\":\"array\",t))},i.inherits(l,a),l.prototype.processChunk=function(t){var e=i.transformTo(n.uint8array?\"uint8array\":\"array\",t.data);if(this.leftOver&&this.leftOver.length){if(n.uint8array){var s=e;(e=new Uint8Array(s.length+this.leftOver.length)).set(this.leftOver,0),e.set(s,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var a=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0||0===r?e:r+o[t[r]]>e?r:e}(e),h=e;a!==e.length&&(n.uint8array?(h=e.subarray(0,a),this.leftOver=e.subarray(a,e.length)):(h=e.slice(0,a),this.leftOver=e.slice(a,e.length))),this.push({data:r.utf8decode(h),meta:t.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=l,i.inherits(p,a),p.prototype.processChunk=function(t){this.push({data:r.utf8encode(t.data),meta:t.meta})},r.Utf8EncodeWorker=p},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(t,e,r){var i=t(\"./support\"),n=t(\"./base64\"),s=t(\"./nodejsUtils\"),a=t(\"set-immediate-shim\"),o=t(\"./external\");function h(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}r.newBlob=function(t,e){r.checkSupport(\"blob\");try{return new Blob([t],{type:e})}catch(r){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(t),i.getBlob(e)}catch(t){throw new Error(\"Bug : can't construct the Blob.\")}}};var p={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)\"array\"===e||\"nodebuffer\"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join(\"\")},stringifyByChar:function(t){for(var e=\"\",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,s.allocBuffer(1)).length}catch(t){return!1}}()}};function c(t){var e=65536,i=r.getTypeOf(t),n=!0;if(\"uint8array\"===i?n=p.applyCanBeUsed.uint8array:\"nodebuffer\"===i&&(n=p.applyCanBeUsed.nodebuffer),n)for(;1<e;)try{return p.stringifyByChunk(t,i,e)}catch(t){e=Math.floor(e/2)}return p.stringifyByChar(t)}function f(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}r.applyFromCharCode=c;var u={};u.string={string:h,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return u.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,s.allocBuffer(t.length))}},u.array={string:c,array:h,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return s.newBufferFrom(t)}},u.arraybuffer={string:function(t){return c(new Uint8Array(t))},array:function(t){return f(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:h,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return s.newBufferFrom(new Uint8Array(t))}},u.uint8array={string:c,array:function(t){return f(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:h,nodebuffer:function(t){return s.newBufferFrom(t)}},u.nodebuffer={string:c,array:function(t){return f(t,new Array(t.length))},arraybuffer:function(t){return u.nodebuffer.uint8array(t).buffer},uint8array:function(t){return f(t,new Uint8Array(t.length))},nodebuffer:h},r.transformTo=function(t,e){if(e=e||\"\",!t)return e;r.checkSupport(t);var i=r.getTypeOf(e);return u[i][t](e)},r.getTypeOf=function(t){return\"string\"==typeof t?\"string\":\"[object Array]\"===Object.prototype.toString.call(t)?\"array\":i.nodebuffer&&s.isBuffer(t)?\"nodebuffer\":i.uint8array&&t instanceof Uint8Array?\"uint8array\":i.arraybuffer&&t instanceof ArrayBuffer?\"arraybuffer\":void 0},r.checkSupport=function(t){if(!i[t.toLowerCase()])throw new Error(t+\" is not supported by this platform\")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(t){var e,r,i=\"\";for(r=0;r<(t||\"\").length;r++)i+=\"\\\\x\"+((e=t.charCodeAt(r))<16?\"0\":\"\")+e.toString(16).toUpperCase();return i},r.delay=function(t,e,r){a((function(){t.apply(r||null,e||[])}))},r.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},r.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},r.prepareContent=function(t,e,s,a,h){return o.Promise.resolve(e).then((function(t){return i.blob&&(t instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(t)))&&\"undefined\"!=typeof FileReader?new o.Promise((function(e,r){var i=new FileReader;i.onload=function(t){e(t.target.result)},i.onerror=function(t){r(t.target.error)},i.readAsArrayBuffer(t)})):t})).then((function(e){var p,c=r.getTypeOf(e);return c?(\"arraybuffer\"===c?e=r.transformTo(\"uint8array\",e):\"string\"===c&&(h?e=n.decode(e):s&&!0!==a&&(e=l(p=e,i.uint8array?new Uint8Array(p.length):new Array(p.length)))),e):o.Promise.reject(new Error(\"Can't read the data of '\"+t+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))}))}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,\"set-immediate-shim\":54}],33:[function(t,e,r){var i=t(\"./reader/readerFor\"),n=t(\"./utils\"),s=t(\"./signature\"),a=t(\"./zipEntry\"),o=(t(\"./utf8\"),t(\"./support\"));function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+n.pretty(e)+\", expected \"+n.pretty(t)+\")\")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?\"uint8array\":\"array\",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Corrupted zip: can't find end of central directory\"):new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(i)+\" bytes.\")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utf8\":31,\"./utils\":32,\"./zipEntry\":34}],34:[function(t,e,r){var i=t(\"./reader/readerFor\"),n=t(\"./utils\"),s=t(\"./compressedObject\"),a=t(\"./crc32\"),o=t(\"./utf8\"),h=t(\"./compressions\"),l=t(\"./support\");function p(t,e){this.options=t,this.loadOptions=e}p.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+n.pretty(this.compressionMethod)+\" unknown (inner file : \"+n.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new s(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===n.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===n.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===n.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===n.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n)},handleUTF8:function(){var t=l.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=n.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var s=n.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(s)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)||a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)||a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=p},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(t,e,r){function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var n=t(\"./stream/StreamHelper\"),s=t(\"./stream/DataWorker\"),a=t(\"./utf8\"),o=t(\"./compressedObject\"),h=t(\"./stream/GenericWorker\");i.prototype={internalStream:function(t){var e=null,r=\"string\";try{if(!t)throw new Error(\"No output type specified.\");var i=\"string\"===(r=t.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),e=this._decompressWorker();var s=!this._dataBinary;s&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!s&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h(\"error\")).error(t)}return new n(e,r,\"\")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||\"nodebuffer\").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new s(this._data)}};for(var l=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],p=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},c=0;c<l.length;c++)i.prototype[l[c]]=p;e.exports=i},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(t,e,r){(function(t){var r,i,n=t.MutationObserver||t.WebKitMutationObserver;if(n){var s=0,a=new n(p),o=t.document.createTextNode(\"\");a.observe(o,{characterData:!0}),r=function(){o.data=s=++s%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){p(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(p,0)};else{var h=new t.MessageChannel;h.port1.onmessage=p,r=function(){h.port2.postMessage(0)}}var l=[];function p(){var t,e;i=!0;for(var r=l.length;r;){for(e=l,l=[],t=-1;++t<r;)e[t]();r=l.length}i=!1}e.exports=function(t){1!==l.push(t)||i||r()}}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(t,e,r){var i=t(\"immediate\");function n(){}var s={},a=[\"REJECTED\"],o=[\"FULFILLED\"],h=[\"PENDING\"];function l(t){if(\"function\"!=typeof t)throw new TypeError(\"resolver must be a function\");this.state=h,this.queue=[],this.outcome=void 0,t!==n&&u(this,t)}function p(t,e,r){this.promise=t,\"function\"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function c(t,e,r){i((function(){var i;try{i=e(r)}catch(i){return s.reject(t,i)}i===t?s.reject(t,new TypeError(\"Cannot resolve promise with itself\")):s.resolve(t,i)}))}function f(t){var e=t&&t.then;if(t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof e)return function(){e.apply(t,arguments)}}function u(t,e){var r=!1;function i(e){r||(r=!0,s.reject(t,e))}function n(e){r||(r=!0,s.resolve(t,e))}var a=d((function(){e(n,i)}));\"error\"===a.status&&i(a.value)}function d(t,e){var r={};try{r.value=t(e),r.status=\"success\"}catch(t){r.status=\"error\",r.value=t}return r}(e.exports=l).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var e=this.constructor;return this.then((function(r){return e.resolve(t()).then((function(){return r}))}),(function(r){return e.resolve(t()).then((function(){throw r}))}))},l.prototype.catch=function(t){return this.then(null,t)},l.prototype.then=function(t,e){if(\"function\"!=typeof t&&this.state===o||\"function\"!=typeof e&&this.state===a)return this;var r=new this.constructor(n);return this.state!==h?c(r,this.state===o?t:e,this.outcome):this.queue.push(new p(r,t,e)),r},p.prototype.callFulfilled=function(t){s.resolve(this.promise,t)},p.prototype.otherCallFulfilled=function(t){c(this.promise,this.onFulfilled,t)},p.prototype.callRejected=function(t){s.reject(this.promise,t)},p.prototype.otherCallRejected=function(t){c(this.promise,this.onRejected,t)},s.resolve=function(t,e){var r=d(f,e);if(\"error\"===r.status)return s.reject(t,r.value);var i=r.value;if(i)u(t,i);else{t.state=o,t.outcome=e;for(var n=-1,a=t.queue.length;++n<a;)t.queue[n].callFulfilled(e)}return t},s.reject=function(t,e){t.state=a,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},l.resolve=function(t){return t instanceof this?t:s.resolve(new this(n),t)},l.reject=function(t){var e=new this(n);return s.reject(e,t)},l.all=function(t){var e=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var r=t.length,i=!1;if(!r)return this.resolve([]);for(var a=new Array(r),o=0,h=-1,l=new this(n);++h<r;)p(t[h],h);return l;function p(t,n){e.resolve(t).then((function(t){a[n]=t,++o!==r||i||(i=!0,s.resolve(l,a))}),(function(t){i||(i=!0,s.reject(l,t))}))}},l.race=function(t){if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var e=t.length,r=!1;if(!e)return this.resolve([]);for(var i,a=-1,o=new this(n);++a<e;)i=t[a],this.resolve(i).then((function(t){r||(r=!0,s.resolve(o,t))}),(function(t){r||(r=!0,s.reject(o,t))}));return o}},{immediate:36}],38:[function(t,e,r){var i={};(0,t(\"./lib/utils/common\").assign)(i,t(\"./lib/deflate\"),t(\"./lib/inflate\"),t(\"./lib/zlib/constants\")),e.exports=i},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(t,e,r){var i=t(\"./zlib/deflate\"),n=t(\"./utils/common\"),s=t(\"./utils/strings\"),a=t(\"./zlib/messages\"),o=t(\"./zlib/zstream\"),h=Object.prototype.toString;function l(t){if(!(this instanceof l))return new l(t);this.options=n.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:\"\"},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var r=i.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==r)throw new Error(a[r]);if(e.header&&i.deflateSetHeader(this.strm,e.header),e.dictionary){var p;if(p=\"string\"==typeof e.dictionary?s.string2buf(e.dictionary):\"[object ArrayBuffer]\"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(r=i.deflateSetDictionary(this.strm,p)))throw new Error(a[r]);this._dict_set=!0}}function p(t,e){var r=new l(e);if(r.push(t,!0),r.err)throw r.msg||a[r.err];return r.result}l.prototype.push=function(t,e){var r,a,o=this.strm,l=this.options.chunkSize;if(this.ended)return!1;a=e===~~e?e:!0===e?4:0,\"string\"==typeof t?o.input=s.string2buf(t):\"[object ArrayBuffer]\"===h.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(l),o.next_out=0,o.avail_out=l),1!==(r=i.deflate(o,a))&&0!==r)return this.onEnd(r),!(this.ended=!0);0!==o.avail_out&&(0!==o.avail_in||4!==a&&2!==a)||(\"string\"===this.options.to?this.onData(s.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((0<o.avail_in||0===o.avail_out)&&1!==r);return 4===a?(r=i.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==a||(this.onEnd(0),!(o.avail_out=0))},l.prototype.onData=function(t){this.chunks.push(t)},l.prototype.onEnd=function(t){0===t&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=l,r.deflate=p,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,p(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,p(t,e)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(t,e,r){var i=t(\"./zlib/inflate\"),n=t(\"./utils/common\"),s=t(\"./utils/strings\"),a=t(\"./zlib/constants\"),o=t(\"./zlib/messages\"),h=t(\"./zlib/zstream\"),l=t(\"./zlib/gzheader\"),p=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=n.assign({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var r=i.inflateInit2(this.strm,e.windowBits);if(r!==a.Z_OK)throw new Error(o[r]);this.header=new l,i.inflateGetHeader(this.strm,this.header)}function f(t,e){var r=new c(e);if(r.push(t,!0),r.err)throw r.msg||o[r.err];return r.result}c.prototype.push=function(t,e){var r,o,h,l,c,f,u=this.strm,d=this.options.chunkSize,m=this.options.dictionary,y=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?a.Z_FINISH:a.Z_NO_FLUSH,\"string\"==typeof t?u.input=s.binstring2buf(t):\"[object ArrayBuffer]\"===p.call(t)?u.input=new Uint8Array(t):u.input=t,u.next_in=0,u.avail_in=u.input.length;do{if(0===u.avail_out&&(u.output=new n.Buf8(d),u.next_out=0,u.avail_out=d),(r=i.inflate(u,a.Z_NO_FLUSH))===a.Z_NEED_DICT&&m&&(f=\"string\"==typeof m?s.string2buf(m):\"[object ArrayBuffer]\"===p.call(m)?new Uint8Array(m):m,r=i.inflateSetDictionary(this.strm,f)),r===a.Z_BUF_ERROR&&!0===y&&(r=a.Z_OK,y=!1),r!==a.Z_STREAM_END&&r!==a.Z_OK)return this.onEnd(r),!(this.ended=!0);u.next_out&&(0!==u.avail_out&&r!==a.Z_STREAM_END&&(0!==u.avail_in||o!==a.Z_FINISH&&o!==a.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(h=s.utf8border(u.output,u.next_out),l=u.next_out-h,c=s.buf2string(u.output,h),u.next_out=l,u.avail_out=d-l,l&&n.arraySet(u.output,u.output,h,l,0),this.onData(c)):this.onData(n.shrinkBuf(u.output,u.next_out)))),0===u.avail_in&&0===u.avail_out&&(y=!0)}while((0<u.avail_in||0===u.avail_out)&&r!==a.Z_STREAM_END);return r===a.Z_STREAM_END&&(o=a.Z_FINISH),o===a.Z_FINISH?(r=i.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===a.Z_OK):o!==a.Z_SYNC_FLUSH||(this.onEnd(a.Z_OK),!(u.avail_out=0))},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===a.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=c,r.inflate=f,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},r.ungzip=f},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(t,e,r){var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){var i=t(\"./common\"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var a=new i.Buf8(256),o=0;o<256;o++)a[o]=252<=o?6:248<=o?5:240<=o?4:224<=o?3:192<=o?2:1;function h(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var r=\"\",a=0;a<e;a++)r+=String.fromCharCode(t[a]);return r}a[254]=a[254]=1,r.string2buf=function(t){var e,r,n,s,a,o=t.length,h=0;for(s=0;s<o;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),h+=r<128?1:r<2048?2:r<65536?3:4;for(e=new i.Buf8(h),s=a=0;a<h;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<o&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),r<128?e[a++]=r:(r<2048?e[a++]=192|r>>>6:(r<65536?e[a++]=224|r>>>12:(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63),e[a++]=128|r>>>6&63),e[a++]=128|63&r);return e},r.buf2binstring=function(t){return h(t,t.length)},r.binstring2buf=function(t){for(var e=new i.Buf8(t.length),r=0,n=e.length;r<n;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,o=e||t.length,l=new Array(2*o);for(r=i=0;r<o;)if((n=t[r++])<128)l[i++]=n;else if(4<(s=a[n]))l[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<o;)n=n<<6|63&t[r++],s--;1<s?l[i++]=65533:n<65536?l[i++]=n:(n-=65536,l[i++]=55296|n>>10&1023,l[i++]=56320|1023&n)}return h(l,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0||0===r?e:r+a[t[r]]>e?r:e}},{\"./common\":41}],43:[function(t,e,r){e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){var i=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,n){var s=i,a=n+r;t^=-1;for(var o=n;o<a;o++)t=t>>>8^s[255&(t^e[o])];return-1^t}},{}],46:[function(t,e,r){var i,n=t(\"../utils/common\"),s=t(\"./trees\"),a=t(\"./adler32\"),o=t(\"./crc32\"),h=t(\"./messages\"),l=-2,p=258,c=262,f=113;function u(t,e){return t.msg=h[e],e}function d(t){return(t<<1)-(4<t?9:0)}function m(t){for(var e=t.length;0<=--e;)t[e]=0}function y(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(n.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function g(t,e){s._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,y(t.strm)}function v(t,e){t.pending_buf[t.pending++]=e}function _(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function b(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-c?t.strstart-(t.w_size-c):0,l=t.window,f=t.w_mask,u=t.prev,d=t.strstart+p,m=l[s+a-1],y=l[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(l[(r=e)+a]===y&&l[r+a-1]===m&&l[r]===l[s]&&l[++r]===l[s+1]){s+=2,r++;do{}while(l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&s<d);if(i=p-(d-s),s=d-p,a<i){if(t.match_start=e,o<=(a=i))break;m=l[s+a-1],y=l[s+a]}}}while((e=u[e&f])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function P(t){var e,r,i,s,h,l,p,f,u,d,m=t.w_size;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=m+(m-c)){for(n.arraySet(t.window,t.window,m,m,0),t.match_start-=m,t.strstart-=m,t.block_start-=m,e=r=t.hash_size;i=t.head[--e],t.head[e]=m<=i?i-m:0,--r;);for(e=r=m;i=t.prev[--e],t.prev[e]=m<=i?i-m:0,--r;);s+=m}if(0===t.strm.avail_in)break;if(l=t.strm,p=t.window,f=t.strstart+t.lookahead,d=void 0,(u=s)<(d=l.avail_in)&&(d=u),r=0===d?0:(l.avail_in-=d,n.arraySet(p,l.input,l.next_in,d,f),1===l.state.wrap?l.adler=a(l.adler,p,d,f):2===l.state.wrap&&(l.adler=o(l.adler,p,d,f)),l.next_in+=d,l.total_in+=d,d),t.lookahead+=r,t.lookahead+t.insert>=3)for(h=t.strstart-t.insert,t.ins_h=t.window[h],t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+3-1])&t.hash_mask,t.prev[h&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=h,h++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<c&&0!==t.strm.avail_in)}function S(t,e){for(var r,i;;){if(t.lookahead<c){if(P(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-c&&(t.match_length=b(t,r)),t.match_length>=3)if(i=s._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}function w(t,e){for(var r,i,n;;){if(t.lookahead<c){if(P(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-c&&(t.match_length=b(t,r),t.match_length<=5&&(1===t.strategy||3===t.match_length&&4096<t.strstart-t.match_start)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-3,i=s._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(g(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((i=s._tr_tally(t,0,t.window[t.strstart-1]))&&g(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=s._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}function x(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function E(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new n.Buf16(1146),this.dyn_dtree=new n.Buf16(122),this.bl_tree=new n.Buf16(78),m(this.dyn_ltree),m(this.dyn_dtree),m(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(16),this.heap=new n.Buf16(573),m(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(573),m(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:f,t.adler=2===e.wrap?0:1,e.last_flush=0,s._tr_init(e),0):u(t,l)}function A(t){var e,r=k(t);return 0===r&&((e=t.state).window_size=2*e.w_size,m(e.head),e.max_lazy_match=i[e.level].max_lazy,e.good_match=i[e.level].good_length,e.nice_match=i[e.level].nice_length,e.max_chain_length=i[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),r}function T(t,e,r,i,s,a){if(!t)return l;var o=1;if(-1===e&&(e=6),i<0?(o=0,i=-i):15<i&&(o=2,i-=16),s<1||9<s||8!==r||i<8||15<i||e<0||9<e||a<0||4<a)return u(t,l);8===i&&(i=9);var h=new E;return(t.state=h).strm=t,h.wrap=o,h.gzhead=null,h.w_bits=i,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=s+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new n.Buf8(2*h.w_size),h.head=new n.Buf16(h.hash_size),h.prev=new n.Buf16(h.w_size),h.lit_bufsize=1<<s+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new n.Buf8(h.pending_buf_size),h.d_buf=1*h.lit_bufsize,h.l_buf=3*h.lit_bufsize,h.level=e,h.strategy=a,h.method=r,A(t)}i=[new x(0,0,0,0,(function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(P(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,g(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-c&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(g(t,!1),t.strm.avail_out),1)})),new x(4,4,8,4,S),new x(4,5,16,8,S),new x(4,6,32,32,S),new x(4,4,16,16,w),new x(8,16,32,32,w),new x(8,16,128,128,w),new x(8,32,128,256,w),new x(32,128,258,1024,w),new x(32,258,258,4096,w)],r.deflateInit=function(t,e){return T(t,e,8,15,8,0)},r.deflateInit2=T,r.deflateReset=A,r.deflateResetKeep=k,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?l:(t.state.gzhead=e,0):l},r.deflate=function(t,e){var r,n,a,h;if(!t||!t.state||5<e||e<0)return t?u(t,l):l;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||666===n.status&&4!==e)return u(t,0===t.avail_out?-5:l);if(n.strm=t,r=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,v(n,31),v(n,139),v(n,8),n.gzhead?(v(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),v(n,255&n.gzhead.time),v(n,n.gzhead.time>>8&255),v(n,n.gzhead.time>>16&255),v(n,n.gzhead.time>>24&255),v(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),v(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(v(n,255&n.gzhead.extra.length),v(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=o(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(v(n,0),v(n,0),v(n,0),v(n,0),v(n,0),v(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),v(n,3),n.status=f);else{var c=8+(n.w_bits-8<<4)<<8;c|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(c|=32),c+=31-c%31,n.status=f,_(n,c),0!==n.strstart&&(_(n,t.adler>>>16),_(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(a=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),y(t),a=n.pending,n.pending!==n.pending_buf_size));)v(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),y(t),a=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,v(n,h)}while(0!==h);n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),0===h&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),y(t),a=n.pending,n.pending===n.pending_buf_size)){h=1;break}h=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,v(n,h)}while(0!==h);n.gzhead.hcrc&&n.pending>a&&(t.adler=o(t.adler,n.pending_buf,n.pending-a,a)),0===h&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&y(t),n.pending+2<=n.pending_buf_size&&(v(n,255&t.adler),v(n,t.adler>>8&255),t.adler=0,n.status=f)):n.status=f),0!==n.pending){if(y(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&d(e)<=d(r)&&4!==e)return u(t,-5);if(666===n.status&&0!==t.avail_in)return u(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&666!==n.status){var b=2===n.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(P(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}(n,e):3===n.strategy?function(t,e){for(var r,i,n,a,o=t.window;;){if(t.lookahead<=p){if(P(t),t.lookahead<=p&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&0<t.strstart&&(i=o[n=t.strstart-1])===o[++n]&&i===o[++n]&&i===o[++n]){a=t.strstart+p;do{}while(i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&i===o[++n]&&n<a);t.match_length=p-(a-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=s._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(g(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(g(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(g(t,!1),0===t.strm.avail_out)?1:2}(n,e):i[n.level].func(n,e);if(3!==b&&4!==b||(n.status=666),1===b||3===b)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===b&&(1===e?s._tr_align(n):5!==e&&(s._tr_stored_block(n,0,0,!1),3===e&&(m(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),y(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(v(n,255&t.adler),v(n,t.adler>>8&255),v(n,t.adler>>16&255),v(n,t.adler>>24&255),v(n,255&t.total_in),v(n,t.total_in>>8&255),v(n,t.total_in>>16&255),v(n,t.total_in>>24&255)):(_(n,t.adler>>>16),_(n,65535&t.adler)),y(t),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?0:1)},r.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&103!==e&&e!==f&&666!==e?u(t,l):(t.state=null,e===f?u(t,-3):0):l},r.deflateSetDictionary=function(t,e){var r,i,s,o,h,p,c,f,u=e.length;if(!t||!t.state)return l;if(2===(o=(r=t.state).wrap)||1===o&&42!==r.status||r.lookahead)return l;for(1===o&&(t.adler=a(t.adler,e,u,0)),r.wrap=0,u>=r.w_size&&(0===o&&(m(r.head),r.strstart=0,r.block_start=0,r.insert=0),f=new n.Buf8(r.w_size),n.arraySet(f,e,u-r.w_size,r.w_size,0),e=f,u=r.w_size),h=t.avail_in,p=t.next_in,c=t.input,t.avail_in=u,t.next_in=0,t.input=e,P(r);r.lookahead>=3;){for(i=r.strstart,s=r.lookahead-2;r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+3-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--s;);r.strstart=i,r.lookahead=2,P(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=p,t.input=c,t.avail_in=h,r.wrap=o,0},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(t,e,r){e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){e.exports=function(t,e){var r,i,n,s,a,o,h,l,p,c,f,u,d,m,y,g,v,_,b,P,S,w,x,E,k;r=t.state,i=t.next_in,E=t.input,n=i+(t.avail_in-5),s=t.next_out,k=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,l=r.wsize,p=r.whave,c=r.wnext,f=r.window,u=r.hold,d=r.bits,m=r.lencode,y=r.distcode,g=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;t:do{d<15&&(u+=E[i++]<<d,d+=8,u+=E[i++]<<d,d+=8),_=m[u&g];e:for(;;){if(u>>>=b=_>>>24,d-=b,0==(b=_>>>16&255))k[s++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(u&(1<<b)-1)];continue e}if(32&b){r.mode=12;break t}t.msg=\"invalid literal/length code\",r.mode=30;break t}P=65535&_,(b&=15)&&(d<b&&(u+=E[i++]<<d,d+=8),P+=u&(1<<b)-1,u>>>=b,d-=b),d<15&&(u+=E[i++]<<d,d+=8,u+=E[i++]<<d,d+=8),_=y[u&v];r:for(;;){if(u>>>=b=_>>>24,d-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=y[(65535&_)+(u&(1<<b)-1)];continue r}t.msg=\"invalid distance code\",r.mode=30;break t}if(S=65535&_,d<(b&=15)&&(u+=E[i++]<<d,(d+=8)<b&&(u+=E[i++]<<d,d+=8)),h<(S+=u&(1<<b)-1)){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(u>>>=b,d-=b,(b=s-a)<S){if(p<(b=S-b)&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(x=f,(w=0)===c){if(w+=l-b,b<P){for(P-=b;k[s++]=f[w++],--b;);w=s-S,x=k}}else if(c<b){if(w+=l+c-b,(b-=c)<P){for(P-=b;k[s++]=f[w++],--b;);if(w=0,c<P){for(P-=b=c;k[s++]=f[w++],--b;);w=s-S,x=k}}}else if(w+=c-b,b<P){for(P-=b;k[s++]=f[w++],--b;);w=s-S,x=k}for(;2<P;)k[s++]=x[w++],k[s++]=x[w++],k[s++]=x[w++],P-=3;P&&(k[s++]=x[w++],1<P&&(k[s++]=x[w++]))}else{for(w=s-S;k[s++]=k[w++],k[s++]=k[w++],k[s++]=k[w++],2<(P-=3););P&&(k[s++]=k[w++],1<P&&(k[s++]=k[w++]))}break}}break}}while(i<n&&s<o);i-=P=d>>3,u&=(1<<(d-=P<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=u,r.bits=d}},{}],49:[function(t,e,r){var i=t(\"../utils/common\"),n=t(\"./adler32\"),s=t(\"./crc32\"),a=t(\"./inffast\"),o=t(\"./inftrees\"),h=-2;function l(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function p(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function c(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new i.Buf32(852),e.distcode=e.distdyn=new i.Buf32(592),e.sane=1,e.back=-1,0):h}function f(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,c(t)):h}function u(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?h:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,f(t))):h}function d(t,e){var r,i;return t?(i=new p,(t.state=i).window=null,0!==(r=u(t,e))&&(t.state=null),r):h}var m,y,g=!0;function v(t){if(g){var e;for(m=new i.Buf32(512),y=new i.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(o(1,t.lens,0,288,m,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,y,0,t.work,{bits:5}),g=!1}t.lencode=m,t.lenbits=9,t.distcode=y,t.distbits=5}function _(t,e,r,n){var s,a=t.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new i.Buf8(a.wsize)),n>=a.wsize?(i.arraySet(a.window,e,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n<(s=a.wsize-a.wnext)&&(s=n),i.arraySet(a.window,e,r-n,s,a.wnext),(n-=s)?(i.arraySet(a.window,e,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=s))),0}r.inflateReset=f,r.inflateReset2=u,r.inflateResetKeep=c,r.inflateInit=function(t){return d(t,15)},r.inflateInit2=d,r.inflate=function(t,e){var r,p,c,f,u,d,m,y,g,b,P,S,w,x,E,k,A,T,C,I,D,M,F,O,R=0,z=new i.Buf8(4),L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return h;12===(r=t.state).mode&&(r.mode=13),u=t.next_out,c=t.output,m=t.avail_out,f=t.next_in,p=t.input,d=t.avail_in,y=r.hold,g=r.bits,b=d,P=m,M=0;t:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;g<16;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(2&r.wrap&&35615===y){z[r.check=0]=255&y,z[1]=y>>>8&255,r.check=s(r.check,z,2,0),g=y=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&y)<<8)+(y>>8))%31){t.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&y)){t.msg=\"unknown compression method\",r.mode=30;break}if(g-=4,D=8+(15&(y>>>=4)),0===r.wbits)r.wbits=D;else if(D>r.wbits){t.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<D,t.adler=r.check=1,r.mode=512&y?10:12,g=y=0;break;case 2:for(;g<16;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(r.flags=y,8!=(255&r.flags)){t.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){t.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=y>>8&1),512&r.flags&&(z[0]=255&y,z[1]=y>>>8&255,r.check=s(r.check,z,2,0)),g=y=0,r.mode=3;case 3:for(;g<32;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.head&&(r.head.time=y),512&r.flags&&(z[0]=255&y,z[1]=y>>>8&255,z[2]=y>>>16&255,z[3]=y>>>24&255,r.check=s(r.check,z,4,0)),g=y=0,r.mode=4;case 4:for(;g<16;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.head&&(r.head.xflags=255&y,r.head.os=y>>8),512&r.flags&&(z[0]=255&y,z[1]=y>>>8&255,r.check=s(r.check,z,2,0)),g=y=0,r.mode=5;case 5:if(1024&r.flags){for(;g<16;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.length=y,r.head&&(r.head.extra_len=y),512&r.flags&&(z[0]=255&y,z[1]=y>>>8&255,r.check=s(r.check,z,2,0)),g=y=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(d<(S=r.length)&&(S=d),S&&(r.head&&(D=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),i.arraySet(r.head.extra,p,f,S,D)),512&r.flags&&(r.check=s(r.check,p,S,f)),d-=S,f+=S,r.length-=S),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===d)break t;for(S=0;D=p[f+S++],r.head&&D&&r.length<65536&&(r.head.name+=String.fromCharCode(D)),D&&S<d;);if(512&r.flags&&(r.check=s(r.check,p,S,f)),d-=S,f+=S,D)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===d)break t;for(S=0;D=p[f+S++],r.head&&D&&r.length<65536&&(r.head.comment+=String.fromCharCode(D)),D&&S<d;);if(512&r.flags&&(r.check=s(r.check,p,S,f)),d-=S,f+=S,D)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;g<16;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(y!==(65535&r.check)){t.msg=\"header crc mismatch\",r.mode=30;break}g=y=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;g<32;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}t.adler=r.check=l(y),g=y=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=u,t.avail_out=m,t.next_in=f,t.avail_in=d,r.hold=y,r.bits=g,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){y>>>=7&g,g-=7&g,r.mode=27;break}for(;g<3;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}switch(r.last=1&y,g-=1,3&(y>>>=1)){case 0:r.mode=14;break;case 1:if(v(r),r.mode=20,6!==e)break;y>>>=2,g-=2;break t;case 2:r.mode=17;break;case 3:t.msg=\"invalid block type\",r.mode=30}y>>>=2,g-=2;break;case 14:for(y>>>=7&g,g-=7&g;g<32;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if((65535&y)!=(y>>>16^65535)){t.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&y,g=y=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(S=r.length){if(d<S&&(S=d),m<S&&(S=m),0===S)break t;i.arraySet(c,p,f,S,u),d-=S,f+=S,m-=S,u+=S,r.length-=S;break}r.mode=12;break;case 17:for(;g<14;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(r.nlen=257+(31&y),y>>>=5,g-=5,r.ndist=1+(31&y),y>>>=5,g-=5,r.ncode=4+(15&y),y>>>=4,g-=4,286<r.nlen||30<r.ndist){t.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;g<3;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.lens[L[r.have++]]=7&y,y>>>=3,g-=3}for(;r.have<19;)r.lens[L[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,F={bits:r.lenbits},M=o(0,r.lens,0,19,r.lencode,0,r.work,F),r.lenbits=F.bits,M){t.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;k=(R=r.lencode[y&(1<<r.lenbits)-1])>>>16&255,A=65535&R,!((E=R>>>24)<=g);){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(A<16)y>>>=E,g-=E,r.lens[r.have++]=A;else{if(16===A){for(O=E+2;g<O;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(y>>>=E,g-=E,0===r.have){t.msg=\"invalid bit length repeat\",r.mode=30;break}D=r.lens[r.have-1],S=3+(3&y),y>>>=2,g-=2}else if(17===A){for(O=E+3;g<O;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}g-=E,D=0,S=3+(7&(y>>>=E)),y>>>=3,g-=3}else{for(O=E+7;g<O;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}g-=E,D=0,S=11+(127&(y>>>=E)),y>>>=7,g-=7}if(r.have+S>r.nlen+r.ndist){t.msg=\"invalid bit length repeat\",r.mode=30;break}for(;S--;)r.lens[r.have++]=D}}if(30===r.mode)break;if(0===r.lens[256]){t.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,F={bits:r.lenbits},M=o(1,r.lens,0,r.nlen,r.lencode,0,r.work,F),r.lenbits=F.bits,M){t.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,F={bits:r.distbits},M=o(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,F),r.distbits=F.bits,M){t.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=d&&258<=m){t.next_out=u,t.avail_out=m,t.next_in=f,t.avail_in=d,r.hold=y,r.bits=g,a(t,P),u=t.next_out,c=t.output,m=t.avail_out,f=t.next_in,p=t.input,d=t.avail_in,y=r.hold,g=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;k=(R=r.lencode[y&(1<<r.lenbits)-1])>>>16&255,A=65535&R,!((E=R>>>24)<=g);){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(k&&0==(240&k)){for(T=E,C=k,I=A;k=(R=r.lencode[I+((y&(1<<T+C)-1)>>T)])>>>16&255,A=65535&R,!(T+(E=R>>>24)<=g);){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}y>>>=T,g-=T,r.back+=T}if(y>>>=E,g-=E,r.back+=E,r.length=A,0===k){r.mode=26;break}if(32&k){r.back=-1,r.mode=12;break}if(64&k){t.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&k,r.mode=22;case 22:if(r.extra){for(O=r.extra;g<O;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.length+=y&(1<<r.extra)-1,y>>>=r.extra,g-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;k=(R=r.distcode[y&(1<<r.distbits)-1])>>>16&255,A=65535&R,!((E=R>>>24)<=g);){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(0==(240&k)){for(T=E,C=k,I=A;k=(R=r.distcode[I+((y&(1<<T+C)-1)>>T)])>>>16&255,A=65535&R,!(T+(E=R>>>24)<=g);){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}y>>>=T,g-=T,r.back+=T}if(y>>>=E,g-=E,r.back+=E,64&k){t.msg=\"invalid distance code\",r.mode=30;break}r.offset=A,r.extra=15&k,r.mode=24;case 24:if(r.extra){for(O=r.extra;g<O;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}r.offset+=y&(1<<r.extra)-1,y>>>=r.extra,g-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===m)break t;if(S=P-m,r.offset>S){if((S=r.offset-S)>r.whave&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break}w=S>r.wnext?(S-=r.wnext,r.wsize-S):r.wnext-S,S>r.length&&(S=r.length),x=r.window}else x=c,w=u-r.offset,S=r.length;for(m<S&&(S=m),m-=S,r.length-=S;c[u++]=x[w++],--S;);0===r.length&&(r.mode=21);break;case 26:if(0===m)break t;c[u++]=r.length,m--,r.mode=21;break;case 27:if(r.wrap){for(;g<32;){if(0===d)break t;d--,y|=p[f++]<<g,g+=8}if(P-=m,t.total_out+=P,r.total+=P,P&&(t.adler=r.check=r.flags?s(r.check,c,P,u-P):n(r.check,c,P,u-P)),P=m,(r.flags?y:l(y))!==r.check){t.msg=\"incorrect data check\",r.mode=30;break}g=y=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;g<32;){if(0===d)break t;d--,y+=p[f++]<<g,g+=8}if(y!==(4294967295&r.total)){t.msg=\"incorrect length check\",r.mode=30;break}g=y=0}r.mode=29;case 29:M=1;break t;case 30:M=-3;break t;case 31:return-4;case 32:default:return h}return t.next_out=u,t.avail_out=m,t.next_in=f,t.avail_in=d,r.hold=y,r.bits=g,(r.wsize||P!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&_(t,t.output,t.next_out,P-t.avail_out)?(r.mode=31,-4):(b-=t.avail_in,P-=t.avail_out,t.total_in+=b,t.total_out+=P,r.total+=P,r.wrap&&P&&(t.adler=r.check=r.flags?s(r.check,c,P,t.next_out-P):n(r.check,c,P,t.next_out-P)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==b&&0===P||4===e)&&0===M&&(M=-5),M)},r.inflateEnd=function(t){if(!t||!t.state)return h;var e=t.state;return e.window&&(e.window=null),t.state=null,0},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?h:((r.head=e).done=!1,0):h},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?h:11===r.mode&&n(1,e,i,0)!==r.check?-3:_(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,0):h},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(t,e,r){var i=t(\"../utils/common\"),n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],o=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,h,l,p,c,f){var u,d,m,y,g,v,_,b,P,S=f.bits,w=0,x=0,E=0,k=0,A=0,T=0,C=0,I=0,D=0,M=0,F=null,O=0,R=new i.Buf16(16),z=new i.Buf16(16),L=null,B=0;for(w=0;w<=15;w++)R[w]=0;for(x=0;x<h;x++)R[e[r+x]]++;for(A=S,k=15;1<=k&&0===R[k];k--);if(k<A&&(A=k),0===k)return l[p++]=20971520,l[p++]=20971520,f.bits=1,0;for(E=1;E<k&&0===R[E];E++);for(A<E&&(A=E),w=I=1;w<=15;w++)if(I<<=1,(I-=R[w])<0)return-1;if(0<I&&(0===t||1!==k))return-1;for(z[1]=0,w=1;w<15;w++)z[w+1]=z[w]+R[w];for(x=0;x<h;x++)0!==e[r+x]&&(c[z[e[r+x]]++]=x);if(v=0===t?(F=L=c,19):1===t?(F=n,O-=257,L=s,B-=257,256):(F=a,L=o,-1),w=E,g=p,C=x=M=0,m=-1,y=(D=1<<(T=A))-1,1===t&&852<D||2===t&&592<D)return 1;for(;;){for(_=w-C,P=c[x]<v?(b=0,c[x]):c[x]>v?(b=L[B+c[x]],F[O+c[x]]):(b=96,0),u=1<<w-C,E=d=1<<T;l[g+(M>>C)+(d-=u)]=_<<24|b<<16|P|0,0!==d;);for(u=1<<w-1;M&u;)u>>=1;if(0!==u?(M&=u-1,M+=u):M=0,x++,0==--R[w]){if(w===k)break;w=e[r+c[x]]}if(A<w&&(M&y)!==m){for(0===C&&(C=A),g+=E,I=1<<(T=w-C);T+C<k&&!((I-=R[T+C])<=0);)T++,I<<=1;if(D+=1<<T,1===t&&852<D||2===t&&592<D)return 1;l[m=M&y]=A<<24|T<<16|g-p|0}}return 0!==M&&(l[g+M]=w-C<<24|64<<16|0),f.bits=A,0}},{\"../utils/common\":41}],51:[function(t,e,r){e.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(t,e,r){var i=t(\"../utils/common\");function n(t){for(var e=t.length;0<=--e;)t[e]=0}var s=15,a=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],o=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],p=new Array(576);n(p);var c=new Array(60);n(c);var f=new Array(512);n(f);var u=new Array(256);n(u);var d=new Array(29);n(d);var m,y,g,v=new Array(30);function _(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function b(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function P(t){return t<256?f[t]:f[256+(t>>>7)]}function S(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function w(t,e,r){t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,S(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function x(t,e,r){w(t,r[2*e],r[2*e+1])}function E(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function k(t,e,r){var i,n,a=new Array(16),o=0;for(i=1;i<=s;i++)a[i]=o=o+r[i-1]<<1;for(n=0;n<=e;n++){var h=t[2*n+1];0!==h&&(t[2*n]=E(a[h]++,h))}}function A(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function T(t){8<t.bi_valid?S(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function C(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function I(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&C(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!C(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function D(t,e,r){var i,n,s,h,l=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*l]<<8|t.pending_buf[t.d_buf+2*l+1],n=t.pending_buf[t.l_buf+l],l++,0===i?x(t,n,e):(x(t,(s=u[n])+256+1,e),0!==(h=a[s])&&w(t,n-=d[s],h),x(t,s=P(--i),r),0!==(h=o[s])&&w(t,i-=v[s],h)),l<t.last_lit;);x(t,256,e)}function M(t,e){var r,i,n,a=e.dyn_tree,o=e.stat_desc.static_tree,h=e.stat_desc.has_stree,l=e.stat_desc.elems,p=-1;for(t.heap_len=0,t.heap_max=573,r=0;r<l;r++)0!==a[2*r]?(t.heap[++t.heap_len]=p=r,t.depth[r]=0):a[2*r+1]=0;for(;t.heap_len<2;)a[2*(n=t.heap[++t.heap_len]=p<2?++p:0)]=1,t.depth[n]=0,t.opt_len--,h&&(t.static_len-=o[2*n+1]);for(e.max_code=p,r=t.heap_len>>1;1<=r;r--)I(t,a,r);for(n=l;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],I(t,a,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,a[2*n]=a[2*r]+a[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,a[2*r+1]=a[2*i+1]=n,t.heap[1]=n++,I(t,a,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,a,o,h,l=e.dyn_tree,p=e.max_code,c=e.stat_desc.static_tree,f=e.stat_desc.has_stree,u=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,m=e.stat_desc.max_length,y=0;for(a=0;a<=s;a++)t.bl_count[a]=0;for(l[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<573;r++)m<(a=l[2*l[2*(i=t.heap[r])+1]+1]+1)&&(a=m,y++),l[2*i+1]=a,p<i||(t.bl_count[a]++,o=0,d<=i&&(o=u[i-d]),h=l[2*i],t.opt_len+=h*(a+o),f&&(t.static_len+=h*(c[2*i+1]+o)));if(0!==y){do{for(a=m-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[m]--,y-=2}while(0<y);for(a=m;0!==a;a--)for(i=t.bl_count[a];0!==i;)p<(n=t.heap[--r])||(l[2*n+1]!==a&&(t.opt_len+=(a-l[2*n+1])*l[2*n],l[2*n+1]=a),i--)}}(t,e),k(a,p,t.bl_count)}function F(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,l=4;for(0===a&&(h=138,l=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<l?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,s=n,l=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function O(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,l=4;for(0===a&&(h=138,l=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<l)for(;x(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(x(t,n,t.bl_tree),o--),x(t,16,t.bl_tree),w(t,o-3,2)):o<=10?(x(t,17,t.bl_tree),w(t,o-3,3)):(x(t,18,t.bl_tree),w(t,o-11,7));s=n,l=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}n(v);var R=!1;function z(t,e,r,n){var s,a,o;w(t,0+(n?1:0),3),a=e,o=r,T(s=t),S(s,o),S(s,~o),i.arraySet(s.pending_buf,s.window,a,o,s.pending),s.pending+=o}r._tr_init=function(t){R||(function(){var t,e,r,i,n,l=new Array(16);for(i=r=0;i<28;i++)for(d[i]=r,t=0;t<1<<a[i];t++)u[r++]=i;for(u[r-1]=i,i=n=0;i<16;i++)for(v[i]=n,t=0;t<1<<o[i];t++)f[n++]=i;for(n>>=7;i<30;i++)for(v[i]=n<<7,t=0;t<1<<o[i]-7;t++)f[256+n++]=i;for(e=0;e<=s;e++)l[e]=0;for(t=0;t<=143;)p[2*t+1]=8,t++,l[8]++;for(;t<=255;)p[2*t+1]=9,t++,l[9]++;for(;t<=279;)p[2*t+1]=7,t++,l[7]++;for(;t<=287;)p[2*t+1]=8,t++,l[8]++;for(k(p,287,l),t=0;t<30;t++)c[2*t+1]=5,c[2*t]=E(t,5);m=new _(p,a,257,286,s),y=new _(c,o,0,30,s),g=new _(new Array(0),h,0,19,7)}(),R=!0),t.l_desc=new b(t.dyn_ltree,m),t.d_desc=new b(t.dyn_dtree,y),t.bl_desc=new b(t.bl_tree,g),t.bi_buf=0,t.bi_valid=0,A(t)},r._tr_stored_block=z,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),M(t,t.l_desc),M(t,t.d_desc),a=function(t){var e;for(F(t,t.dyn_ltree,t.l_desc.max_code),F(t,t.dyn_dtree,t.d_desc.max_code),M(t,t.bl_desc),e=18;3<=e&&0===t.bl_tree[2*l[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?z(t,e,r,i):4===t.strategy||s===n?(w(t,2+(i?1:0),3),D(t,p,c)):(w(t,4+(i?1:0),3),function(t,e,r,i){var n;for(w(t,e-257,5),w(t,r-1,5),w(t,i-4,4),n=0;n<i;n++)w(t,t.bl_tree[2*l[n]+1],3);O(t,t.dyn_ltree,e-1),O(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),D(t,t.dyn_ltree,t.dyn_dtree)),A(t),i&&T(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(u[r]+256+1)]++,t.dyn_dtree[2*P(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){var e;w(t,2,3),x(t,256,p),16===(e=t).bi_valid?(S(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},{\"../utils/common\":41}],53:[function(t,e,r){e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){e.exports=\"function\"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)}))}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}))}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}))}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}))}).call(this,void 0!==i?i:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}))}).call(this,void 0!==commonjsGlobal?commonjsGlobal:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[1])(1)}))}));const DOTLOTTIE_PLAYER_VERSION=\"1.3.2\",LOTTIE_WEB_VERSION=\"^5.10.0\";var _templateObject$1,styles=i$3(_templateObject$1||(_templateObject$1=_taggedTemplateLiteral([\"\\n  * {\\n    box-sizing: border-box;\\n  }\\n\\n  :host {\\n    --lottie-player-toolbar-height: 35px;\\n    --lottie-player-toolbar-background-color: transparent;\\n    --lottie-player-toolbar-icon-color: #999;\\n    --lottie-player-toolbar-icon-hover-color: #222;\\n    --lottie-player-toolbar-icon-active-color: #555;\\n    --lottie-player-seeker-track-color: #ccc;\\n    --lottie-player-seeker-thumb-color: rgba(0, 107, 120, 0.8);\\n    --lottie-player-seeker-display: block;\\n\\n    display: block;\\n    width: 100%;\\n    height: 100%;\\n  }\\n\\n  .main {\\n    display: flex;\\n    flex-direction: column;\\n    height: 100%;\\n    width: 100%;\\n  }\\n\\n  .animation {\\n    width: 100%;\\n    height: 100%;\\n    display: flex;\\n  }\\n  .animation.controls {\\n    height: calc(100% - 35px);\\n  }\\n\\n  .toolbar {\\n    display: flex;\\n    align-items: center;\\n    justify-items: center;\\n    background-color: var(--lottie-player-toolbar-background-color);\\n    margin: 0 5px;\\n    height: 35px;\\n  }\\n\\n  .toolbar button {\\n    cursor: pointer;\\n    fill: var(--lottie-player-toolbar-icon-color);\\n    display: flex;\\n    background: none;\\n    border: 0;\\n    padding: 0;\\n    outline: none;\\n    height: 100%;\\n  }\\n\\n  .toolbar button:hover {\\n    fill: var(--lottie-player-toolbar-icon-hover-color);\\n  }\\n\\n  .toolbar button.active {\\n    fill: var(--lottie-player-toolbar-icon-active-color);\\n  }\\n\\n  .toolbar button.active:hover {\\n    fill: var(--lottie-player-toolbar-icon-hover-color);\\n  }\\n\\n  .toolbar button:focus {\\n    outline: 1px dotted var(--lottie-player-toolbar-icon-active-color);\\n  }\\n\\n  .toolbar button svg {\\n  }\\n\\n  .toolbar button.disabled svg {\\n    display: none;\\n  }\\n\\n  .seeker {\\n    -webkit-appearance: none;\\n    width: 95%;\\n    outline: none;\\n    background-color: var(--lottie-player-toolbar-background-color);\\n    display: var(--lottie-player-seeker-display);\\n  }\\n\\n  .seeker::-webkit-slider-runnable-track {\\n    width: 100%;\\n    height: 5px;\\n    cursor: pointer;\\n    background: var(--lottie-player-seeker-track-color);\\n    border-radius: 3px;\\n  }\\n  .seeker::-webkit-slider-thumb {\\n    height: 15px;\\n    width: 15px;\\n    border-radius: 50%;\\n    background: var(--lottie-player-seeker-thumb-color);\\n    cursor: pointer;\\n    -webkit-appearance: none;\\n    margin-top: -5px;\\n  }\\n  .seeker:focus::-webkit-slider-runnable-track {\\n    background: #999;\\n  }\\n  .seeker::-moz-range-track {\\n    width: 100%;\\n    height: 5px;\\n    cursor: pointer;\\n    background: var(--lottie-player-seeker-track-color);\\n    border-radius: 3px;\\n  }\\n  .seeker::-moz-range-thumb {\\n    height: 15px;\\n    width: 15px;\\n    border-radius: 50%;\\n    background: var(--lottie-player-seeker-thumb-color);\\n    cursor: pointer;\\n  }\\n  .seeker::-ms-track {\\n    width: 100%;\\n    height: 5px;\\n    cursor: pointer;\\n    background: transparent;\\n    border-color: transparent;\\n    color: transparent;\\n  }\\n  .seeker::-ms-fill-lower {\\n    background: var(--lottie-player-seeker-track-color);\\n    border-radius: 3px;\\n  }\\n  .seeker::-ms-fill-upper {\\n    background: var(--lottie-player-seeker-track-color);\\n    border-radius: 3px;\\n  }\\n  .seeker::-ms-thumb {\\n    border: 0;\\n    height: 15px;\\n    width: 15px;\\n    border-radius: 50%;\\n    background: var(--lottie-player-seeker-thumb-color);\\n    cursor: pointer;\\n  }\\n  .seeker:focus::-ms-fill-lower {\\n    background: var(--lottie-player-seeker-track-color);\\n  }\\n  .seeker:focus::-ms-fill-upper {\\n    background: var(--lottie-player-seeker-track-color);\\n  }\\n\\n  .error {\\n    display: flex;\\n    margin: auto;\\n    justify-content: center;\\n    height: 100%;\\n    align-items: center;\\n  }\\n\"]))),_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,PlayerState,PlayMode,PlayerEvents;function fetchPath(t){var e;const r=null===(e=t.split(\".\").pop())||void 0===e?void 0:e.toLowerCase();let i=!1;return\"json\"===r&&(i=!0),new Promise((e,r)=>{const n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=i?\"json\":\"arraybuffer\",n.send(),n.onreadystatechange=function(){4==n.readyState&&200==n.status&&(i&&e(n.response),jszip.loadAsync(n.response).then(t=>{t.file(\"manifest.json\").async(\"string\").then(r=>{const i=JSON.parse(r);if(!(\"animations\"in i))throw new Error(\"Manifest not found\");if(0===i.animations.length)throw new Error(\"No animations listed in the manifest\");const n=i.animations[0];t.file(\"animations/\".concat(n.id,\".json\")).async(\"string\").then(r=>{const i=JSON.parse(r);\"assets\"in i&&Promise.all(i.assets.map(e=>{if(e.p&&null!=t.file(\"images/\".concat(e.p)))return new Promise(r=>{const i=e.p.split(\".\").pop();t.file(\"images/\".concat(e.p)).async(\"base64\").then(t=>{e.p=\"svg\"===i||\"svg+xml\"===i?\"data:image/svg+xml;base64,\"+t:\"data:;base64,\"+t,e.e=1,r()})})})).then(()=>{e(i)})})})}).catch(t=>{r(t)}))}})}exports.PlayerState=void 0,PlayerState=exports.PlayerState||(exports.PlayerState={}),PlayerState.Loading=\"loading\",PlayerState.Playing=\"playing\",PlayerState.Paused=\"paused\",PlayerState.Stopped=\"stopped\",PlayerState.Frozen=\"frozen\",PlayerState.Error=\"error\",exports.PlayMode=void 0,PlayMode=exports.PlayMode||(exports.PlayMode={}),PlayMode.Normal=\"normal\",PlayMode.Bounce=\"bounce\",exports.PlayerEvents=void 0,PlayerEvents=exports.PlayerEvents||(exports.PlayerEvents={}),PlayerEvents.Load=\"load\",PlayerEvents.Error=\"error\",PlayerEvents.Ready=\"ready\",PlayerEvents.Play=\"play\",PlayerEvents.Pause=\"pause\",PlayerEvents.Stop=\"stop\",PlayerEvents.Freeze=\"freeze\",PlayerEvents.Loop=\"loop\",PlayerEvents.Complete=\"complete\",PlayerEvents.Frame=\"frame\",exports.DotLottiePlayer=class extends s{constructor(){super(...arguments),this.mode=exports.PlayMode.Normal,this.autoplay=!1,this.background=\"transparent\",this.controls=!1,this.direction=1,this.hover=!1,this.loop=!1,this.renderer=\"svg\",this.speed=1,this.currentState=exports.PlayerState.Loading,this.intermission=1,this._counter=0}_onVisibilityChange(){document.hidden&&this.currentState===exports.PlayerState.Playing?this.freeze():this.currentState===exports.PlayerState.Frozen&&this.play()}_handleSeekChange(t){if(!this._lottie||isNaN(t.target.value))return;const e=t.target.value/100*this._lottie.totalFrames;this.seek(e)}isLottie(t){return[\"v\",\"ip\",\"op\",\"layers\",\"fr\",\"w\",\"h\"].every(e=>Object.prototype.hasOwnProperty.call(t,e))}parseSrc(t){if(\"object\"==typeof t)return t;try{return JSON.parse(t)}catch(e){return new URL(t,window.location.href).toString()}}async load(t,e){if(!this.shadowRoot)return;const r={container:this.container,loop:!1,autoplay:!1,renderer:this.renderer,rendererSettings:e||{scaleMode:\"noScale\",clearCanvas:!1,progressiveLoad:!0,hideOnTransparent:!0}};try{let e=this.parseSrc(t);if(\"string\"==typeof e&&(e=await fetchPath(e),void 0===e))throw new Error(\"[dotLottie] No animation to load!\");if(!this.isLottie(e))throw new Error(\"[dotLottie] Load method failing. Object is not a valid Lottie.\");this._lottie&&this._lottie.destroy(),this._lottie=lottie_svg.loadAnimation(Object.assign(Object.assign({},r),{animationData:e}))}catch(t){return this.currentState=exports.PlayerState.Error,void this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error))}this._lottie&&(this._lottie.addEventListener(\"enterFrame\",()=>{this.seeker=this._lottie.currentFrame/this._lottie.totalFrames*100,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Frame,{detail:{frame:this._lottie.currentFrame,seeker:this.seeker}}))}),this._lottie.addEventListener(\"complete\",()=>{if(this.currentState===exports.PlayerState.Playing){if(!this.loop||this.count&&this._counter>=this.count){if(this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete)),this.mode!==exports.PlayMode.Bounce)return;if(0===this._lottie.currentFrame)return}this.mode===exports.PlayMode.Bounce?(this.count&&(this._counter+=.5),setTimeout(()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),this.currentState===exports.PlayerState.Playing&&(this._lottie.setDirection(-1*this._lottie.playDirection),this._lottie.play())},this.intermission)):(this.count&&(this._counter+=1),window.setTimeout(()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),this.currentState===exports.PlayerState.Playing&&(-1===this.direction?(this.seek(\"99%\"),this.play()):(this._lottie.stop(),this._lottie.play()))},this.intermission))}else this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete))}),this._lottie.addEventListener(\"DOMLoaded\",()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Ready))}),this._lottie.addEventListener(\"data_ready\",()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Load))}),this._lottie.addEventListener(\"data_failed\",()=>{this.currentState=exports.PlayerState.Error,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error))}),this.container.addEventListener(\"mouseenter\",()=>{this.hover&&this.currentState!==exports.PlayerState.Playing&&this.play()}),this.container.addEventListener(\"mouseleave\",()=>{this.hover&&this.currentState===exports.PlayerState.Playing&&this.stop()}),this.setSpeed(this.speed),this.setDirection(this.direction),this.autoplay&&(-1===this.direction&&this.seek(\"100%\"),this.play()))}getLottie(){return this._lottie}getVersions(){return{lottieWebVersion:LOTTIE_WEB_VERSION,dotLottiePlayerVersion:DOTLOTTIE_PLAYER_VERSION}}play(){this._lottie&&(this._lottie.play(),this.currentState=exports.PlayerState.Playing,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Play)))}pause(){this._lottie&&(this._lottie.pause(),this.currentState=exports.PlayerState.Paused,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Pause)))}stop(){this._lottie&&(this._counter=0,this._lottie.stop(),this.currentState=exports.PlayerState.Stopped,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Stop)))}seek(t){if(!this._lottie)return;\"number\"==typeof t&&(t=Math.round(t));const e=t.toString().match(/^([0-9]+)(%?)$/);if(!e)return;const r=\"%\"===e[2]?this._lottie.totalFrames*Number(e[1])/100:e[1];this.seeker=r,this.currentState===exports.PlayerState.Playing?this._lottie.goToAndPlay(r,!0):(this._lottie.goToAndStop(r,!0),this._lottie.pause())}snapshot(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(\".animation svg\"),r=(new XMLSerializer).serializeToString(e);if(t){const t=document.createElement(\"a\");t.href=\"data:image/svg+xml;charset=utf-8,\"+encodeURIComponent(r),t.download=\"download_\"+this.seeker+\".svg\",document.body.appendChild(t),t.click(),document.body.removeChild(t)}return r}freeze(){this._lottie&&(this._lottie.pause(),this.currentState=exports.PlayerState.Frozen,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Freeze)))}setSpeed(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this._lottie&&this._lottie.setSpeed(t)}setDirection(t){this._lottie&&this._lottie.setDirection(t)}setLooping(t){this._lottie&&(this.loop=t,this._lottie.loop=t)}togglePlay(){return this.currentState===exports.PlayerState.Playing?this.pause():this.play()}toggleLooping(){this.setLooping(!this.loop)}static get styles(){return styles}async firstUpdated(){\"IntersectionObserver\"in window&&(this._io=new IntersectionObserver(t=>{t[0].isIntersecting?this.currentState===exports.PlayerState.Frozen&&this.play():this.currentState===exports.PlayerState.Playing&&this.freeze()}),this._io.observe(this.container)),void 0!==document.hidden&&document.addEventListener(\"visibilitychange\",()=>this._onVisibilityChange()),this.src&&await this.load(this.src)}disconnectedCallback(){this._io&&(this._io.disconnect(),this._io=void 0),this._lottie&&this._lottie.destroy(),document.removeEventListener(\"visibilitychange\",()=>this._onVisibilityChange())}renderControls(){const t=this.currentState===exports.PlayerState.Playing,e=this.currentState===exports.PlayerState.Paused,r=this.currentState===exports.PlayerState.Stopped;return y(_templateObject||(_templateObject=_taggedTemplateLiteral(['\\n      <div id=\"lottie-controls\" aria-label=\"lottie-animation-controls\" class=\"toolbar\">\\n        <button\\n          id=\"lottie-play-button\"\\n          @click=',\"\\n          class=\",'\\n          style=\"align-items:center;\"\\n          tabindex=\"0\"\\n          aria-label=\"play-pause\"\\n        >\\n          ','\\n        </button>\\n        <button\\n          id=\"lottie-stop-button\"\\n          @click=',\"\\n          class=\",'\\n          style=\"align-items:center;\"\\n          tabindex=\"0\"\\n          aria-label=\"stop\"\\n        >\\n          <svg width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\\n            <path d=\"M6 6h12v12H6V6z\" />\\n          </svg>\\n        </button>\\n        <input\\n          id=\"lottie-seeker-input\"\\n          class=\"seeker\"\\n          type=\"range\"\\n          min=\"0\"\\n          step=\"1\"\\n          max=\"100\"\\n          .value=',\"\\n          @input=\",\"\\n          @mousedown=\",\"\\n          @mouseup=\",'\\n          aria-valuemin=\"1\"\\n          aria-valuemax=\"100\"\\n          role=\"slider\"\\n          aria-valuenow=','\\n          tabindex=\"0\"\\n          aria-label=\"lottie-seek-input\"\\n        />\\n        <button\\n          id=\"lottie-loop-toggle\"\\n          @click=',\"\\n          class=\",'\\n          style=\"align-items:center;\"\\n          tabindex=\"0\"\\n          aria-label=\"loop-toggle\"\\n        >\\n          <svg width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\\n            <path\\n              d=\"M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031H5.015v-6h12v-3l3.984 3.984-3.984 3.984v-3H6.984z\"\\n            />\\n          </svg>\\n        </button>\\n      </div>\\n    '])),this.togglePlay,t||e?\"active\":\"\",y(t?_templateObject2||(_templateObject2=_taggedTemplateLiteral(['\\n                <svg width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\\n                  <path d=\"M14.016 5.016H18v13.969h-3.984V5.016zM6 18.984V5.015h3.984v13.969H6z\" />\\n                </svg>\\n              '])):_templateObject3||(_templateObject3=_taggedTemplateLiteral(['\\n                <svg width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\\n                  <path d=\"M8.016 5.016L18.985 12 8.016 18.984V5.015z\" />\\n                </svg>\\n              ']))),this.stop,r?\"active\":\"\",this.seeker,this._handleSeekChange,()=>{this._prevState=this.currentState,this.freeze()},()=>{this._prevState===exports.PlayerState.Playing&&this.play(),this.seek(this._lottie.currentFrame)},this.seeker,this.toggleLooping,this.loop?\"active\":\"\")}render(){const t=this.controls?\"main controls\":\"main\",e=this.controls?\"animation controls\":\"animation\";return y(_templateObject4||(_templateObject4=_taggedTemplateLiteral(['\\n      <div id=\"animation-container\" class=',' lang=\"en\" role=\"img\">\\n        <div id=\"animation\" class=',' style=\"background:',';\">\\n          ',\"\\n        </div>\\n        \",\"\\n      </div>\\n    \"])),t,e,this.background,this.currentState===exports.PlayerState.Error?y(_templateObject5||(_templateObject5=_taggedTemplateLiteral([' <div class=\"error\">⚠️</div> ']))):void 0,this.controls?this.renderControls():void 0)}},__decorate([i(\".animation\")],exports.DotLottiePlayer.prototype,\"container\",void 0),__decorate([e$5()],exports.DotLottiePlayer.prototype,\"mode\",void 0),__decorate([e$5({type:Boolean})],exports.DotLottiePlayer.prototype,\"autoplay\",void 0),__decorate([e$5({type:String,reflect:!0})],exports.DotLottiePlayer.prototype,\"background\",void 0),__decorate([e$5({type:Boolean})],exports.DotLottiePlayer.prototype,\"controls\",void 0),__decorate([e$5({type:Number})],exports.DotLottiePlayer.prototype,\"count\",void 0),__decorate([e$5({type:Number})],exports.DotLottiePlayer.prototype,\"direction\",void 0),__decorate([e$5({type:Boolean})],exports.DotLottiePlayer.prototype,\"hover\",void 0),__decorate([e$5({type:Boolean,reflect:!0})],exports.DotLottiePlayer.prototype,\"loop\",void 0),__decorate([e$5({type:String})],exports.DotLottiePlayer.prototype,\"renderer\",void 0),__decorate([e$5({type:Number})],exports.DotLottiePlayer.prototype,\"speed\",void 0),__decorate([e$5({type:String})],exports.DotLottiePlayer.prototype,\"src\",void 0),__decorate([e$5({type:String})],exports.DotLottiePlayer.prototype,\"currentState\",void 0),__decorate([e$5()],exports.DotLottiePlayer.prototype,\"seeker\",void 0),__decorate([e$5()],exports.DotLottiePlayer.prototype,\"intermission\",void 0),exports.DotLottiePlayer=__decorate([e$6(\"dotlottie-player\")],exports.DotLottiePlayer),exports.fetchPath=fetchPath,Object.defineProperty(exports,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=dotlottie-player.js.map\n"],"mappings":"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AAG,GAAK,IAAM,OACd,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,GAAK,IAAM,OACd,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,GAAK,IAAM,OACd,KAAG,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACtH,KAAG,KAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACvH,KAAG,KAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACvH,KAAG,IAAM,IAAM,OACf,KAAG,KAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KAAO,OACvH,KAAG,KAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,I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AAQ,CACvB,OAAO,KAAK,MAAM,OAAO,EAAG,CAAC,OAAO,EAAE,CAExC,SAAS,YAAY,OAAQ,CAC3B,OAAO,KAAK,MAAM,CAAC,OAAO,EAAG,KAAK,KAAK,OAAO,EAAI,OAAO,EAAI,OAAO,EAAI,OAAO,EAAE,CAAC,EAGtF,KAAK,OAAQ,CAGX,OAFA,MAAM,KAAK,OAAO,CAClB,KAAK,WAAa,OAAO,OAAO,EAAE,CAAE,OAAO,WAAW,CAC/C,KAET,OAAO,SAAS,KAAM,CACpB,OAAO,IAAI,oBAAoB,KAAK,SAAU,KAAK,QAAS,KAAK,OAAQ,KAAK,QAAQ,GAGtF,qBAAuB,MAAM,8BAA8B,kBAAmB,CAChF,YAAY,OAAS,EAAG,OAAS,EAAG,CAClC,IAAMN,KAAK,EAAI,KAAK,KAAK,EAAE,EAAI,EACzBS,IAAI,EAAIT,IACR,SAAW,CAEf,GACA,GACA,GACA,GACA,GACA,EACA,GACA,EACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,EACA,EAEA,EACA,CAACS,IACD,CAACT,IACD,EACA,CAACS,IACDT,IACA,EACAS,IACA,CAACT,IACD,EACAS,IACAT,IAEA,CAACS,IACD,CAACT,IACD,EACA,CAACS,IACDT,IACA,EACAS,IACA,CAACT,IACD,EACAS,IACAT,IACA,EAEA,CAACA,IACD,EACA,CAACS,IACDT,IACA,EACA,CAACS,IACD,CAACT,IACD,EACAS,IACAT,IACA,EACAS,IACD,CA+GD,MAAM,SA9GU,CACd,EACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,EACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,GACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,EACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,GACA,GAC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AS,EAAI,GAC5B,IAAM,SAAS,OAAS,EAAI,GAC5B,IAAM,SAAS,OAAS,GACxB,IAAM,SAAS,OAAS,EAAI,GAC5B,IAAM,SAAS,OAAS,EAAI,GAC5B,IAAM,SAAS,OAAS,GACxB,IAAM,SAAS,OAAS,EAAI,GAC5B,IAAM,SAAS,OAAS,EAAI,GAShC,OARE,KAAK,IAAI,IAAM,IAAI,CAAG,KAAK,IAAI,IAAM,IAAI,CACpC,CACL,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CAC1B,CAEM,CACL,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CACzB,IAAI,QAAQ,IAAK,EAAI,IAAI,CAC1B,EAGN,CAeG,oBAAsB,MAAM,6BAA6B,kBAAmB,CAC9E,YAAY,OAAS,EAAG,OAAS,EAAG,CAClC,IAAMR,KAAK,EAAI,KAAK,KAAK,EAAE,EAAI,EACzB,SAAW,CACf,GACAA,IACA,EACA,EACAA,IACA,EACA,GACA,CAACA,IACD,EACA,EACA,CAACA,IACD,EACA,EACA,GACAA,IACA,EACA,EACAA,IACA,EACA,GACA,CAACA,IACD,EACA,EACA,CAACA,IACDA,IACA,EACA,GACAA,IACA,EACA,EACA,CAACA,IACD,EACA,GACA,CAACA,IACD,EACA,EACD,CA+DD,MAAM,SA9DU,CACd,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,EACA,EACA,EACA,EACA,EACA,EACD,CACwB,OAAQ,OAAO,CACxC,KAAK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"}